Commit Graph

2185 Commits

Author SHA1 Message Date
Christopher Kohlhoff
ac89cf0ba2 Enable newer language features for recent MSVC versions. 2017-07-15 19:43:35 +10:00
Christopher Kohlhoff
64ae9bcaee Add alias templates for associators. 2017-07-15 19:10:30 +10:00
Christopher Kohlhoff
e502a6b364 Use shorter enum name resolver_errc::try_again. 2017-07-15 18:46:59 +10:00
Christopher Kohlhoff
b3ebdd8f6d Use ADL for calls to buffer_size. 2017-07-15 18:30:29 +10:00
Iwa13
c516cd591d Fix non-dereferencing pointer overflow in basic_streambuf::commit. 2017-07-15 16:31:11 +10:00
Christopher Kohlhoff
b8a34a1dc0 Fix work counting issue in asynchronous resolver implementation. 2017-07-15 16:27:46 +10:00
Arun M
48e7ef864f is_continuation misplaced in reactive socket service 2017-07-15 16:09:28 +10:00
Christopher Kohlhoff
5adce6e267 Use poll.h rather than sys/poll.h if possible. 2017-07-15 16:08:08 +10:00
Bence SZIGETI
ddef4994f4 Avoid exception throwing from make_network_v{4,6}(str, ec) 2017-07-15 16:01:53 +10:00
Christopher Kohlhoff
0442bc922f Disable Boost.Chrono's dependency on Boost.System. 2017-07-15 15:41:40 +10:00
Christopher Kohlhoff
6c5b04eff1 Conditionally enable iostream move constructor and assignment. 2017-07-15 15:17:45 +10:00
Christopher Kohlhoff
a3bba3394d Fix version check for string_view. 2017-07-15 13:43:14 +10:00
Christopher Kohlhoff
246f387e74 Fix compile error on gcc 4.8. 2017-07-15 13:33:24 +10:00
Christopher Kohlhoff
fd024792c1 Add -lrt when linking on linux. 2017-07-15 13:33:24 +10:00
Christopher Kohlhoff
0921ab3db6 Simplify automatic detection of boost source distributions. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
6b34f88a5d Make SSL/TLS version handling more consistent across OpenSSL versions.
This adds new enums context_base::tls, context_base::tls_client and
context_base::tls_server. These allow connections to use any supported
TLS version. (N.B. the deprecated version SSLv3 is explicitly disabled
if you use these values.)
2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
1517bd1a1d Add travis and appveyor configuration. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
70249b7969 Use GetModuleHandleA rather than GetModuleHandle. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
582ed12f7c Update copyright notices. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
b6ac42dde0 Remove unused error code variable. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
d52f28a097 Add missing rvalue cast in use_future implementation. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
b33b3ae011 Unlocked reactor I/O implies a concurrency hint of 1. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
cf351c44a4 Don't use non-portable sockaddr_storage member ss_len. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
bbe092b3d7 Simplify and improve performance of executor operations. 2017-07-15 13:33:23 +10:00
Christopher Kohlhoff
e5acea17d7 Add shallow-constness to strands. 2017-03-31 07:25:12 +11:00
Christopher Kohlhoff
00a85845ec Eliminate redundant copy as executors are now shallow-const. 2017-03-31 07:25:12 +11:00
Christopher Kohlhoff
524288cb4f Use separate concurrency locking hint for reactor I/O vs registration. 2017-03-13 08:36:45 +11:00
Christopher Kohlhoff
ca6aa0cd38 Android API level 21 or later is required for pthread_condattr_setclock. 2017-03-13 07:38:37 +11:00
Christopher Kohlhoff
ba2c3e140e Ensure winsock2.h is included before windows.h. 2017-03-05 22:15:42 +11:00
Christopher Kohlhoff
1a259ece1a LibreSSL doesn't provide SSL_CTX_clear_chain_certs. 2017-03-05 22:07:25 +11:00
Christopher Kohlhoff
3d5367da14 Cast the result of GetProcAddress. 2017-03-05 21:58:10 +11:00
Ryan Pavlik
13aff85067 Fix configure.ac to support mingw64 2017-03-05 21:51:52 +11:00
ala
b4149d5aa7 Replace commas by semicolons
clang 3.9.0 has a new warning:

  possible misuse of comma operator here [-Wcomma]
2017-03-05 21:46:43 +11:00
Christopher Kohlhoff
ced6124d2c Fix mutex initialisation for Windows 8.1 store apps. 2017-03-05 20:10:34 +11:00
Christopher Kohlhoff
1ea732c562 Make sure asio/ssl/error.hpp is self-contained. 2017-03-05 19:46:10 +11:00
Christopher Kohlhoff
cc1bd58f9e Avoid double construction in converting move-constructors. 2017-02-28 07:31:15 +11:00
Christopher Kohlhoff
2cd93bd194 Macro-protect use of 'max'. 2017-02-27 23:25:33 +11:00
Christopher Kohlhoff
d3ca90a05c Add ability to release ownership of the underlying native socket.
This commit adds release() member functions to basic_socket and
basic_socket_acceptor.

Note: When using I/O completion ports on Windows, these functions fail
with error::operation_not_supported for versions of Windows prior to
Windows 8.1.
2017-02-24 21:53:29 +11:00
Christopher Kohlhoff
d28ec54750 A short read does not always mean the socket is exhausted, as an EOF could follow. 2017-01-25 08:39:26 +11:00
Marcel Raad
dc2b5b9ac0 Fix compilation with OpenSSL 1.1 API
With OPENSSL_API_COMPAT=0x10100000L, SSL_library_init, SSL_load_error_strings, and OpenSSL_add_all_algorithms are removed.
With OPENSSL_API_COMPAT=0x10000000L, these are function-style macros mapping to OPENSSL_init_ssl, which is called automatically anyway.

References:
https://www.openssl.org/docs/man1.1.0/ssl/OPENSSL_init_ssl.html
https://www.openssl.org/docs/man1.1.0/crypto/OPENSSL_init_crypto.html
2017-01-19 08:03:16 +11:00
Christopher Kohlhoff
76fe1c8aba Suppress some spurious unused variable warnings. 2017-01-18 08:32:59 +11:00
Christopher Kohlhoff
f3f324cbe9 Include socket_types.hpp before OpenSSL headers. 2017-01-18 08:00:22 +11:00
Christopher Kohlhoff
647d2dc956 In c++11 or later, use allocator_traits to rebind allocators. 2017-01-17 09:47:12 +11:00
Christopher Kohlhoff
22924d3a0f Fix up some comments on #endif preprocessor directives. 2017-01-17 08:07:54 +11:00
Nicholas Fish
bc87d093d1 Re-enable building against LibreSSL 2017-01-16 10:33:42 +11:00
Christopher Kohlhoff
ffc9dd443f Implement fenced_block using std::atomic_thread_fence, when available. 2017-01-16 10:33:42 +11:00
Christopher Kohlhoff
595ff85c33 Add workaround for broken getaddrinfo in Apple's NAT64 environment. 2017-01-14 12:28:00 +11:00
Christopher Kohlhoff
bc6e494d2d Fix composed read/write operations when multiple buffers are supplied. 2017-01-13 09:42:23 +11:00
Christopher Kohlhoff
14db6371b3 Regenerate documentation. 2016-09-24 10:43:48 +10:00
Christopher Kohlhoff
b9d2d3ef0d Fix some long lines. 2016-09-24 10:43:48 +10:00