Commit Graph

2218 Commits

Author SHA1 Message Date
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
Christopher Kohlhoff
0fe8f4ded4 A smart pointer is not required to hold the work. 2016-09-24 10:43:48 +10:00
Christopher Kohlhoff
8737ab0f2f Update template parameter names in forward declaration to match implementation. 2016-09-24 10:43:48 +10:00
Christopher Kohlhoff
cb22512a90 Use string_view in basic_resolver and basic_resolver_entry. 2016-09-23 10:05:04 +10:00
Christopher Kohlhoff
6c97b611fd Add tests for network_v* iostream output. 2016-09-23 10:04:33 +10:00
Christopher Kohlhoff
0090e946ee Add string_view overloads for the make_network*() functions. 2016-09-23 10:04:33 +10:00
Christopher Kohlhoff
6503b3f33a Fix description of make_network_*() functions. 2016-09-23 10:04:33 +10:00
Christopher Kohlhoff
41cf38be81 Add string_view overloads for the make_address*() functions. 2016-09-23 10:04:32 +10:00
Christopher Kohlhoff
9c3c09ab68 Add string_view support to read_until and async_read_until. 2016-09-23 10:04:32 +10:00
Christopher Kohlhoff
0d7abb65fe Add buffer() overloads for basic_string_view. 2016-09-23 10:04:32 +10:00
Christopher Kohlhoff
69a03d7b6b Rename DynamicBufferSequence to DynamicBuffer, is_dynamic_buffer_sequence to is_dynamic_buffer. 2016-09-21 18:21:55 +10:00
Christopher Kohlhoff
7b0a61e300 Defer assigning accepted socket until immediately before handler.
Fixes a problem in the reactor-based async_accept, if the
basic_socket::assign() operation throws due to an out-of-memory
condition.
2016-09-16 07:57:56 +10:00
Christopher Kohlhoff
a2e070a79e Fix exception safety issue in hash_map. 2016-09-13 22:51:28 +10:00
Christopher Kohlhoff
b1b9e5c4a6 Add workaround for move-detection issue on MSVC 2015 Update 2. 2016-09-13 22:46:39 +10:00
Christopher Kohlhoff
2cde22623c Call SSL_COMP_free_compression_methods() on ssl cleanup.
This call is needed for OpenSSL >=1.0.2 and <1.1.0.
2016-09-13 21:59:03 +10:00
Christopher Kohlhoff
41cb2faa19 Additional libraries required to link Boost.Coroutine. 2016-09-11 12:51:04 +10:00
Christopher Kohlhoff
af9770ac49 Use new TLS methods on OpenSSL 1.1.0. 2016-09-11 12:49:17 +10:00
Christopher Kohlhoff
7249bcc143 Backward compatibility for code using OpenSSL < 1.1.0.
Some application code using asio::ssl::stream<> explicitly tests for the
SSL_R_SHORT_READ error. For compatibility, when using older versions of
OpenSSL we will define the ssl::error::stream_truncated to use this
value.
2016-09-11 12:49:09 +10:00