Commit Graph

539 Commits

Author SHA1 Message Date
Sergey Abramchuk
76e5488aa1 Fix get/set settings test 2019-11-03 11:13:43 +03:00
Sergey Abramchuk
c3ed67b67d Reset tun without any conditions and drop idea to override remote server 2019-11-03 11:05:14 +03:00
Sergey Abramchuk
f9d506ffca Reset packet flow within resetTun method 2019-11-03 11:04:12 +03:00
Sergey Abramchuk
ef93e5adc9 Fix missing symbols for arm archs 2019-11-02 13:13:31 +03:00
Sergey Abramchuk
3db23628cb Disable Catalyst support 2019-11-02 11:26:59 +03:00
Sergey Abramchuk
7331ae5fad Add new properties to the OpenVPNCOnfiguration 2019-11-02 10:29:21 +03:00
Sergey Abramchuk
aa396dad2d Add new OpenVPN events and errors 2019-10-26 10:20:37 +03:00
Sergey Abramchuk
29bd59f78f Merge commit 'f44694ce5f781924b6094c4c18f8bf83a3da7857' into feature/update-dependencies 2019-10-25 20:20:11 +03:00
Sergey Abramchuk
f44694ce5f Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/asio/' changes from 90f32660cd..8d4c8c3ce4
8d4c8c3ce4 asio version 1.14.0 released
30336a0873 Revision history.
2a1f68845a On Windows, ensure global object destructors are run.
6f55aeecd0 Fix move-based async_accept between sockets with different executor types.
c1c068c6ad The executor is copied, not moved, when the I/O object moves.
37c8d91d21 Add runtime detection of native I/O executors when using polymorphic wrapper.

git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/asio
git-subtree-split: 8d4c8c3ce43c866f609d2eda9a43fe5b334620be
2019-10-25 20:20:10 +03:00
Sergey Abramchuk
238abab032 Merge commit '688ce110819545502762729feaa505b67e2fe58e' into feature/update-dependencies 2019-10-25 20:14:12 +03:00
Sergey Abramchuk
688ce11081 Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/openvpn/' changes from 7db7a009b0..29e060ffb3
29e060ffb3 CryptoAlgs: Don't report any digests for ciphers not using them
87d40ed8da ovpncli.cpp: socket_protect implementation for agent-enabled builds
12763bbbb8 win/client/tunsetup.hpp: implement add_bypass_route() method
c445361969 vcxprox: add missing file
0d7143c4bf transport: enable socket_protect call for all platforms
a6cae41285 cliopt.hpp: disable remote list bypass for agent-enabled build
3166957e2e add error codes for better error management at profile parsing time

git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/openvpn
git-subtree-split: 29e060ffb34b8a4067d8d01f6506bdb2d220df02
2019-10-25 20:14:12 +03:00
Sergey Abramchuk
3980fb9be5 Merge commit '8e87aecebf66f50957e35966c547d77a6fb526ab' into feature/update-dependencies 2019-10-12 15:50:03 +03:00
Sergey Abramchuk
8e87aecebf Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/openvpn/' changes from 275cf80efb..7db7a009b0
7db7a009b0 proto: Client complains about stub compressors
390154d0e4 Update Build instructions for OSX
1b92069834 deps: Update to mbedtls-2.7.12
8cab79540d compression: Extend compression alert to include server pushes
67b4641a99 CompressContext: Add is_any_stub() method
cdf9e7bece compression: Issue an Event if compression is activated
fa38064403 build script: added a new PROF type "auto" that tries to automatically determine the local platform
7ce7b52b7c MTRand: added OPENVPN_INSECURE_RANDOM compile flag that allows MTRand to masquerade as a secure RNG
85e7e49f72 MTRand: added constructor accepting an initialization seed
1fa3229a10 IPv4, IPv6: added #include <openvpn/common/hash.hpp>
48e9217d26 vcxproj: add missing header file
d2a2601b2f Wintun: unmap ring buffers
e320bc63ff openssl: Improve OpenSSLContext fencing against multiple declarations
2f8fe2d318 openssl: Missing inline keyword in a couple of compat functions
32b984c0ff enum_dir: use a function template
725ee04593 VPNServerNetblock::Netblock::to_string(): show prefix_len
409d1c52b8 ManClientInstance::Send::describe_user(): added bool show_userprop parameter
e05fc16b20 string::indent(): try to fix all the corner cases
4e1645ea80 RunContext: mark virtual Stop* async_stop() with override attribute
e8b31c5454 cli: advertise "openurl" as supported SSO method
80b45731eb ICMPv6: added DEST_UNREACH code
679003094d AsioTimerSafe: refactor to allow as drop-in replacement for AsioTimer
f7845578f1 RunContext: check for halt in timer closure
84483eda25 AsioPolySock: add support for socket shutdown
1b3402aec3 tcplinkcommon.hpp: added missing include
2e26c7565c time: added nanotime_t typedef
c3c8ab7f6b string: added additional detail to split() comment
95ce4f22c8 string: added to_delim() method then redefined first_line() method to use it
448218b1e1 string: added add_leading() method
e3b0bf4f5c MSF iterator: allow conversion from ordinary iterator and added exists() method
11412ac50a AsioPolySock: in remote_endpoint_str() method, test for alt_routing_enabled()
9fb4e705f9 Added TimeSkew to skew a time duration by a random flux
7496383002 write_binary_atomic: reduce the length of the temporary filename
b31d9c0191 auth-token-user: increase size limit to 340 chars
c82644c03a Added BufferLineIterator
115cb656b6 RandomAPI: added randbyte() and randbool() methods
4fa8348689 RunContext: ASIO SIGNAL message now shows signal name rather than number
ebfce58513 Added StaticBuffer, a constant-length Buffer for writing that cannot be extended
c8f9cb88a4 string::split(): call reserve() on return vector
f15e566065 read_binary_unix_fast: should return an int (i.e. errno), not a bool
60501b4513 random: factor out rand32_distribute() from RandomAPI::randrange32()
90123495a5 wintun: get device interfaces list only once
ec790df73b wintun: read packets in bulk
0f85d3f729 wintun: use correct io_context when performing initial read
a6151cdeab wintun: use auto-reset events
29acfd95f3 libs: update ASIO to 1.14.0
438a0ef287 Remove outdated and unused android build files
e9df57969f Merge remote-tracking branch 'origin/released'
44725ad094 ssl: Fix building with OpenSSL 1.0.2
efe3f1f635 version: Reset version reference for git master
8c79c06d94 Make tls-crypt/tls-cryptv2 compile with multiple compilation units
4d18aaeb88 Fix LLVM warnings reported during OS X build
8c9496bb4d Use const_cast for SSL_session_reused
33be562a39 Add missing override keywords to openssl/sslctx.hpp
2c5435a000 dcocli: use compile time define for Tun methods instead of hardcoded iproute
7c39088f00 Allow overriding reported HW_ADDR and support IV_PLAT_VER
7bb1ea19ee Move sending IV_UI_VER and IV_SSO to build_peer_info
23959fa705 Add reporting of IV_SSL_VER
63ab5b5e46 Only initialise static member in OpenSSLContext once
ecebb40304 Merge remote-tracking branch 'origin/qa'
52c9702502 wintun: replace volatiles with atomics
d720c7104c appveyor: install Strawberry perl
60a253a7ef appveyor: update to VS2019
48f2b5100b wintun: support for privilege separation
6f266be3d8 wintun: ring buffers support
baa1ce2ccf vcxproj: bump VS version to 2019
98bfd037e3 tun/win: factor out ClientConfig into separate header
aeb5ce0ad7 wintun: open device with SetupAPI
3998d303ce Finalizing the OpenVPN 3 Core library 3.3 release
728733aee7 deps/mbedtls: rebase "enable unsupported critical extensions" patch
43e36ca45a lib-version: update to mbedtls-2.7.11
4dbcd85e50 openssl/cipher.hpp: add missing include <compat.hpp>
69d72ed64f DCOTransport: Fix server side specific trunk handling
ff732e3b5d Fix OpenVPN Core build with OpenSSL 1.1.0
0da42f393f Do not use deprecated OpenSSL 1.1.0 methods
35062c0b60 travis.yml: update environment
47046cf6d2 Merge branch 'qa'
6933c395a4 [OVPN3-423] cliconnect.hpp: fix reconnect on Windows after sleep
462c36c813 random_subnet(): added comment
ac1d447156 IP::Addr::from_byte_string(): fixed bug for IPv6 case
d6eaea3468 string::split(): minor implementation tweaks
ca15b7cdf4 hexstr: added dump_hex() variant accepting void *
0e61a2afd7 SessionIDType::find_weak: added conflict parameter
089aec00b1 DCOTransport: new routing code for trunk links
5befbd430f build: added CAP=1 -- build with libcap
eb85ada21e signals: added trivial signal_name() function
f89013ef92 RunContext: don't try to catch SIGQUIT by default
e0ee540135 SessionIDType: added hash() method
f0e1f8aa42 logging: added basic components for logrotate
fbb0c81f29 UMask: added UMaskDaemon, a umask context object appropriate for daemons
1c7bac90d9 build script: when building with DEBUG=1 on Linux, use -ggdb instead of -g
73cce80e43 OpenSSL: added openssl_reseed_rng() function
25780cf798 OpenSSL: fixed some memory leaks in CipherContextGCM and TokenEncrypt
168dba95f5 OpenSSL: define OPENSSL_SERVER_SNI when OpenSSL version is at least 1.1
84e78d8fed SNI: added OpenVPN client support for SNI (currently OpenSSL only)
310766b270 build: added MTLS_DIST setting
4eaa46a879 MbedTLS: added MBEDTLS_DISABLE_NAME_CONSTRAINTS preprocessor flag
16226d1b05 OpenSSLSign: updated for OpenSSL 1.1
aed0678c96 SSL: added SNI::Metadata, an abstract base class for packaging app-specific SNI metadata in AuthCert
001b731fe2 SNI: create SNI namespace and rename SNIHandlerBase -> SNI::HandlerBase
4bd5869305 README.rst: Make Windows-specific build steps up to date.
ac365ee977 wintun: support for 0.4
9245056a2a wintun: support for 0.3
b73d484950 mbedtls: throw exception on unsupported SSL:Const::PEER_CERT_OPTIONAL option
1d6bae4b5b tcplinkcommon: bubble up real exception error
c18c8bd156 tcpcli: ensure SSL Factory survives as long as TLS link
4192193087 tls: parse and load TLS specific CA
2a19b7fcff win/tuncli.hpp: fix Wintun padding calculation
44cb9f44da appveyor: make ReleaseOpenSSL default configuration
5485de19a2 win/impersonate: refactor impersonate logic
29a655147b win/tunsetup.hpp: remove unneeded parameter
61794b0efd win: link OpenSSL dynamically
e569b84465 win/tuncli.hpp: fix indentation
374c57e708 frame_init.hpp: tweak wintun read buf size
c3c45c9b38 tun: added Error::TUN_HALT for tun_error() signaling
acd7af5e9a RandomAPI: added randrange32() method
c1a7f8cc68 std::clamp() is useful but only available in C++17 and up, so we add our own clamp()
f8c71ef1ce Minor change to Error::INACTIVE_TIMEOUT handler
3202ab5fce OpenSSLSign: renamed OpenSSLPKI::X509Base to OpenSSLPKI::X509 to conform to changes in OpenSSLPKI
8d767febb5 ReachabilityBase: added virtual destructor
6a4826965f MbedTLS: update json_override() prototype
bee0d8d187 SSL: added SSLConst::SEND_CLIENT_CA_LIST server-side flag and implemented for OpenSSL
5eb39c1dea AuthCert: save the SNI name
3b34449d0e SSLAPI: auth_cert() can now be const
a672e91631 SNI server-side: support additional JSON configuration settings
95e761f3cc OpenSSL PKI cleanup
d5eb77c53c AuthCert::Fail cleanup
6e98b9aadc SSLAPI: move PKType from SSLConfigAPI into standalone header to avoid dependency inversion
bbae814864 OpenSSL: added SNI implementation
5def1d23ab OpenSSLContext: in constructor, removed redundant if statement
1a0747e783 OpenSSLContext: in constructor, consolidate sslopt fixed flags
eef9868816 OpenSSLContext::SSL::ssl_handshake_details(): include leaf-cert CN in details
f9631cd90f AuthCert::Fail: use std::string for the reason string (instead of const char *)
a17b77641f OpenSSLPKI::X509: copy constructor doesn't need erase() and define X509::Ptr
78cae5bb52 OpenSSLPKI::DH: copy constructor doesn't need erase()
c0d43a4153 RCPtr: added static_pointer_cast() method
34a3f264f5 [OVPN-314] Add support for signalling SSO support via IV_SSO
7d112eb3e5 cli: enable utf8 console output
980ef1eff8 win/call.hpp: re-encode command output to utf8
fddb440e99 unicode.hpp: customize utf16 conversion routine
4d7c12ac4d [OVPN3-405] Support for non-ASCII profile path on Windows

git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/openvpn
git-subtree-split: 7db7a009b0b4eca0fc3733c99c50aff7f7c2556f
2019-10-12 15:50:02 +03:00
Sergey Abramchuk
828011bbd3 Update mbedTLS library 2019-10-12 15:24:52 +03:00
Sergey Abramchuk
a6e3758c68 Add macOS generated items to the gitignore 2019-10-12 13:00:26 +03:00
Sergey Abramchuk
fb23b2a92e Define TUNNEL_CONFIGURATION_TIMEOUT macro 2019-09-26 13:21:24 +03:00
Sergey Abramchuk
7faa96b809 OpenVPNClient should be responsible for copying of config 2019-09-26 13:17:06 +03:00
Sergey Abramchuk
8d167952b1 Reset tunnel depending on tunPersist settings 2019-09-26 13:01:20 +03:00
Sergey Abramchuk
d1f794ae57 Expose tunPersist setting 2019-09-26 10:35:53 +03:00
Sergey Abramchuk
96cf2d1804 Merge tag '0.3.0' into develop
no message
2019-06-29 10:39:58 +03:00
Sergey Abramchuk
79eca6ca5f Merge branch 'release/0.3.0' 2019-06-29 10:39:56 +03:00
Sergey Abramchuk
37dc5e024e Update readme file 2019-06-29 10:39:09 +03:00
Sergey Abramchuk
1f03a43003 Update podspec 2019-06-29 10:38:03 +03:00
Sergey Abramchuk
0b94df103a Update version number 2019-06-29 10:34:49 +03:00
Sergey Abramchuk
d950779014 Merge branch 'feature/update-dependencies' into develop 2019-06-17 10:49:45 +03:00
Sergey Abramchuk
7d2bd2a1cf Apply asio patch 2019-06-17 10:17:40 +03:00
Sergey Abramchuk
a76165a23e Merge commit '9ec9e579e9efef1fa749d215ed103eab824b5901' into feature/update-dependencies
# Conflicts:
#	Sources/OpenVPNAdapter/Libraries/Vendors/asio/asio/include/asio/basic_socket.hpp
2019-06-17 09:52:27 +03:00
Sergey Abramchuk
9ec9e579e9 Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/asio/' changes from b3d2ab7255..90f32660cd
90f32660cd asio version 1.13.0 released
eb99518b32 Remove ASIO_ENABLE_OLD_SERVICES from documentation.
a8d0c39c92 Revision history.
efac12f649 Change default _WIN32_WINNT value to 0x0601 (Windows 7).
5bb3cf5c61 Bump minimum MSVC version for ASIO_HAS_DECLTYPE.
233254304b Add more missing entries to quick reference.
b439f14af8 Default to standalone build unless boost is explicitly specified.
0b5f03b4b7 Suppress various unused variable warnings.
ab174ab000 Don't overwrite a failure error code from the SSL engine when doing sync I/O.
45abc54125 Fix up dispatch() documentation. Clarify distinction between post() and defer().
c7d4557434 Add new cpp14 examples to doc.
b53662939f Fix template argument list bracketing.
c47c05ad31 Regenerate documentation.
265e75cdbb Define ASIO_STANDALONE automatically if C++11 or later is detected.
189a5b1453 Update composed operations examples to use async_initiate and a new helper function async_compose.
296216a122 Fix handler tracking arguments in io_context implementation.
b823ee0954 Only enable <atomic> for the most recent Xcode clang version.
54c93f73e7 Fix cross references.
32c9da2551 Fix typo in basic_stream_socket documentation.
66095aa1f2 Add new DynamicBuffer_v2 which is CopyConstructible.
d1a23c75b7 Use <atomic> when targeting apple/clang/libc++, even for C++03.
c585bdf3c9 Reduce number of copies of I/O executor.
5d9d01729d Move rather than copy buffers when moving a composed operation implementation.
2c7d26454b Completion conditions now require move rather than copy.
93337cba7b Add a fallback error code for when we get SSL_ERROR_SYSCALL without an associated error.
760e12ae22 Exclude implementation details from documentation.
0557b6ddf0 Fix parameter documentation in basic_object_handle constructor.
dc477ae51a Add ip::resolver_base to quick reference and cross reference it from ip::basic_resolver.
0a6bcd89bb Suppress eof on shutdown as it actually indicates success.
57b2ef19b0 Ensure SSL handshake errors are propagated to the peer.
93104538f6 Add noexcept to buffer_sequence_begin/end.
7c7a2555b0 Prevent implicit conversion with buffer_sequence_begin/end.
fff63d15a7 Add a make_strand function.
52eef463ef Remove experimental directory from documentation processing.
2b18f00f48 Fix long line.
536df5fd74 Deduce EndpointSequence iterator type.
bc7e0f38cf Fix calculation of absolute timeout when using pthread_cond_timedwait.
30e38527a4 Capture port by value to prevent dangling reference.
2ee7a65253 Add network_v[46].hpp headers to top-level convenience header.
1c9a4ac338 Allow visibility pragmas to be disabled by defining ASIO_DISABLE_VISIBILITY.
38d3fc09ab Add -lnetwork to LDFLAGS when building for Haiku OS.
0616f498bf Include unistd.h when targeting Haiku OS.
a10d3595eb Also set SO_REUSEPORT on QNX to correctly enable multicast.
555ed6c993 Return correct number of bytes transferred when datagram truncation occurs.
3b0daafa0b Make the executor_work_guard move constructor noexcept.
1a7b0c7220 Don't allow thread_pool locking to be set by ASIO_CONCURRENCY_HINT_ macros.
51274de46a Update list of unit tests in MSVC makefile.
4e49b8c3e5 Disambiguate enable_if and native_handle_type.
ea67e69e3a Repeat typedefs in derived class templates to fix gcc compile error on Windows.
490743a662 Promote coroutines TS support classes to asio namespace.
171a02ed0d Added constructor for local::basic_endpoint from string_view
6f40eb3155 Add noexcept qualifier to ip::basic_endpoint class.
3b4bf13bd1 Add noexcept qualifier to ip::address_v6 class.
b5b9717ed6 Add noexcept qualifier to ip::address_v4 class.
39993b3ec2 Add noexcept qualifier to ip::address class.
e7b397142a Update windows::overlapped_ptr to support custom I/O executors.
84e9a48ae6 Fix completion signatures used for ssl::stream's async_handshake and async_shutdown.
24e92ea209 Change archetype completion token's handler to require exact signature.
498dab4662 Fix compile error in serialization example.
62c4488abc New async_result form with initiate() static member function.
fc05ce407c Remove deprecated handler_type and single-argument async_result.
f9e4489b57 Update copyright notices.
cbe1c5e13d Add custom I/O executor support to I/O objects.
2c689adc90 Remove deprecated get_io_context and get_io_service functions.
9801132ea0 Remove deprecated services support.
531475f46c Use separate recycled memory slot for polymorphic executor.
22afb86087 asio version 1.12.2 released
7a566ad1e5 Ensure socks4 example header file is included in release tarball.
9d54ba058e Revision history.
b3a3961047 Fix example links.
765f197ed6 Add examples showing how to write composed operations.
11fe8b7c7e Add documentation for change in concurrency_hint type.
fd5a89b004 Regenerate documentation.
d6209b6c73 Add C++11 version of SOCKS4 example.
e7dbfcecb8 Fix long lines.
a452dfd43b Add C++11 version of SSL example.
dd006b867e Add C++11 version of timers example.
caa9450231 Add C++11 versions of timeouts examples.
019449fb0f Use new form of async_accept where socket is moved into the completion handler.
a432abc27e Execution contexts must be publicly derived from asio::execution_context.
4d7d624970 Make distinction between overloads clearer.
8c5004b100 Indicate replacements for deprecated overloads.
f03803ea8b Fix brief description of buffer() overload for non-const std::string.
eed287d46c Fix detection of std::future with libstdc++.
e0daf291bc Fix compile error in regex overload of read_until.
ff28c6f777 Clear the heap index for removed timers.
68df16d560 Fix detection of std::experimental::string_view and std::string_view with newer clang/libc++.
c7d2467be2 Add compile-time test for TLSv1 presence.
2c6b6db640 Fix macro used to test for TLS v1.2 support.
14c0108b2c Fix typo in ssl::stream::async_write_some documentation.
ed775a2ef1 Fix incorrect reference to 'io_context' in thread_pool documentation.
f5440aa76e Fix MSVC version number for availability of std::invoke_result.
b397659ded Test language version using _MSVC_LANG rather than _HAS_CXX17.
2e30e9d327 Update buffer sequence traits to test new requirements, if decltype is available.
a591f818f2 Define buffer sequence traits after buffer_sequence_begin/end has been defined.
6d2b56aafa Fix MSVC issue when building with exceptions disabled.
42a94f7cb4 Add options for TLS v1.3.
91b2dcf43d Fix typo in 'Streams, Short Reads and Short Writes' documentation section.
5cb855d024 Prevent global objects from being created once per thread on Windows.
414cdf4f83 Use heading elements to keep asynchronous requirements on one page.
a3f713e393 Fix crash when using size(), max_size() or empty() on default-constructed resolver results.
912d0d67f9 Move the return value in basic_resolver_results::begin() to avoid copying.
83e24fa04f Don't use BOOST_VERSION macro in standalone mode.
98e0bf115a ASIO_HAS_DECL_TYPE should be ASIO_HAS_DECLTYPE in is_buffer_sequence.hpp.
6554073823 Fix bug in deregister_handler in actor example.
547f06a1e4 Enable move support for the Intel Compiler.
0f9b727e9f Do not double define has_string_view with clang-cl
39a9be7786 Fix handler tracking operation name for io_context::executor_type::dispatch.
eed73f024d Fix buffer overflow when parsing an address string with a 64-bit scope id.
b73dc1d2c0 asio version 1.12.1 released
3d3bbae1b6 Add cpp17 examples to distribution.
157bdf2a87 Revision history.
5736e51cf5 Add Coroutines TS overview and examples to documentation.
b0926b61b0 Regenerate documentation.
5318eaafd6 Check for gthreads before enabling std::future with g++.
bf69d3f390 Need namespace cstd for sprintf.
a2992ace2c Remove accidentally added file.
5ddede1e25 Fix storage of decayed function and handler in spawn()-ed coroutine.
173871f855 Fixed compilation on Android NDK15+
450e65093b Fix basic_yield_context support for completion signatures with reference parameters.
bf70ad6062 Explicitly ignore result of iterator dereference.
479a0c51f4 Distinguish legacy completion handlers (which must be CopyConstructible).
d47931da7b Decay the DynamicBuffer type used in enable_if tests.
3c7bbe42ea Use std::string_view for C++17 or later, and std::experimental::string_view for C++14.
b4245aac24 Use std::invoke_result with recent MSVC.
1156fad4f0 Make add_certificate_authority process multiple certificates in a bundle
9a7ccb9bf3 Don't call SSL_COMP_free_compression_methods if SSL_OP_NO_COMPRESSION is defined.
129c654e3c Fix typo in detail::consuming_buffers specialisation.
37e32598cb Fix basic_resolver_results::value_type typedef.
5fdb48bd34 Add missing move in ssl asynchronous operation.
d31062f3fc Fix includes in some cpp11 and cpp14 examples
21e86ec26d Fix async_result when used with handler_type
68180a19ff Correct prepare_memfn_helper test
08c1955017 Detect C++11 and C++14 and automatically enable corresponding examples.
bca41a6b19 Regenerate list of installed header files.
6711b85da8 Update examples to use chrono rather than Boost.Date_Time.
d8387c93b3 Change socket iostreams to use chrono by default.
a918966260 Fix unit tests to compile when ASIO_NO_DEPRECATED is defined.
b9855c9fdb Update timeout examples to use latest features.
501dfc424a Ignore operations posted to a strand during shutdown.
7a39d8a7d9 Fix redirect_error to work with non-const error_codes.
25b8ff168a Add missing include of <sys/timerfd.h>.
2acd085dc4 Clean up some experimental::co_spawn examples.
8f39bf249f Ensure all coroutine layers are correctly attached to the 'stack'.
83c28c582f Add some more experimental::co_spawn examples.
af776b1522 Fix spurious resumption.
9a0585b63d Restrict the types that may be awaited.
daf25a7f4f Fix MSVC compile error.
5680bbb24b Fix namespace qualification issues.
d4848c3cc4 Allow the awaitable to be stored and co_await applied to it later.
4cdff8b803 Use memory recycling for awaitees.
ad1751063a Regenerate documentation.
1728c8fa42 Add experimental features to documentation.
51dcdb7d93 Fix up make_work_guard ambiguity.
80c6f596c8 Add experimental::co_spawn examples.
4e58a1b8ad Add new experimental directory to boostify script.
32cd6fdfa7 Add convenience header for experimental features.
ea40e78451 Add new experimental::co_spawn function.
be369c9789 Add new experimental::redirect_error completion token type.
15ae0bb7a6 Add new experimental::detached_t completion token type.
7b2d186ced Add missing const qualification to acceptor's get_option members.
66a1943c55 Work around a mysterious parsing error that occurs with some versions of gcc.
4ebd33ce55 Update copyright notices.

git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/asio
git-subtree-split: 90f32660cd503494b3707840cfbd5434d8e9dabe
2019-06-17 09:46:13 +03:00
Sergey Abramchuk
5edb23a7ab Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/openvpn/' changes from daf575ff50..275cf80efb
275cf80efb mac/tuncli: Don't take address of temporary error.
1406187bfc tun/win/tunutil: Don't auto& a temporary iterator.
fe7f984c5d ip/ping6: Use _WIN32, not _MSC_VER (to fix MinGW).
03a906771e win: add OpenSSL as solution configuration
89cc11b300 win: enable building Windows client with OpenSSL
febb24e7d9 openssl/compat.hpp: remove functions already defined in OpenSSL
0833eb1f76 linux/tunsetup: Fix missing asio/errinfo declaration
d54b742910 linux: Improve cpu_time() using glibc/kernel methods
a55fe2b554 tests: Added unit test for linux/cputime.hpp
e33a00e6de [OVPN3-431] agent: Wintun support for agent
42592eb1b1 appveyor: initial commit
3e3f2078e6 win: rename env var in project file
a2496a3616 Wintun: experimental support
58a7866b45 build script: added OPENSSL_DIST parameter to specify a custom OpenSSL build
288ea0277e OpenSSLContext: SSL_CTX_set_ecdh_auto() becomes a no-op in OpenSSL 1.1, so #ifdef out to avoid compiler warnings
3ef5059fa6 TLSSessionTicketBase: removed the ERROR symbol from a local enum in case it conflicts with a global preprocessor symbol
3364ed76b8 TLSSessionTicketBase: removed trailing comma from Status enum
025c7bad88 mbedtls/sslctx: Fix missing override in virtual methods
6cb3243681 mbedTLS: ssl() method accepting hostname should check if it is null
ca31da7d28 bio_memq_stream.hpp: fixed multi-thread race (introduced with OpenSSL 1.1 support) using init_static() approach
2deb402223 OpenSSLContext::tls_ticket_key_callback: get self with SSL_get_ex_data instead of ssl->ctx->app_verify_arg
eec139a100 MSF::find: renamed template type names to avoid conflict with preprocessor symbol (ITER) in test/ssl/proto.cpp
1024d37f33 str_neq: fixed bug where neq was not initialized
c00b6f6302 Listen::List: refactored and extended expand_ports()
448c549a0b cpu_time(): added bool thread parameter to return CPU time of current thread (instead of process)
868801d7d9 Linux library: added cpu_time() method to return the CPU time of the current process
964d2cd428 SSL layer: added did_full_handshake() method and implemented for OpenSSL
dd18d6c806 crypto::str_neq: use atomic_thread_fence(std::memory_order_acq_rel) instead of OPENVPN_COMPILER_FENCE
6a30af9528 OpenSSLSessionCache: use map instead of unordered_map
3ecbcbc81b OptionList: fixed compile errors that occur when get_num<T>() is used with a const type
72e9f858e4 SSL: added SSLConst::PEER_CERT_OPTIONAL flag and implemented for OpenSSL
33f15c8840 OpenSSL: use OPENSSL_VERSION_NUMBER instead of SSLEAY_VERSION_NUMBER
cadb712ea9 ProfileMerge: added "static-key" to is_fileref_directive()
85befa316a TLS session tickets: work around an issue in OpenSSL session ticket keying callback
f43c4c1440 TLSSessionTicketBase: misc fixes/enhancements
c5f4d59d39 OpenSSLContext: added missing X509_free() to rebuild_authcert()
658fcc50eb OptionList: added get_num methods with min/max but no default
162eeaa485 SSL layer: added RFC 5077 TLS session resumption ticket support
e0a821ddd6 OpenSSLContext: use C++11 member initializers
1ea5acce3c OpenSSLContext: minor changes to handshake_details()
74c0a4f995 string: added copy_fill() method
3e5921c06d AuthCert: added is_uninitialized() method
3d6b6b2319 library: added convenience method MSF::find() for maps/sets
18f5f4d1b5 SSLConfigAPI: remove set_enable_renegotiation()
18dcfd616c Added crypto::str_neq() function for securely comparing variable-length strings
4fc5725b9e RunContext: added get_servers() method
ae22f155fd server: determine when server-side session ID should be preserved on soon-to-be-closed connections
5e34759d50 client: HALT/RESTART message was not properly purging the Session ID when required
e1647eb407 Fix builds with GCC 4.8 compilers
b55f78dd1d test_sitnl.cpp: account for old iptools output
236d39258b Allow overriding DEP_DIR by environment variable
d56e049ea4 Refactor dependencies to be in a cmake script
e9dc75ec90 sitnl: add unit tests
faad8454be sitnl: pick the best gw by longest prefix and lowest metric
dfcc4bc437 [OVPN3-354] cli.cpp: support for round-robin DNS and redirect gw
8a502f3b61 [OVPN3-354] tun linux: support for round-robin DNS and redirect gw
c9315c7dc1 gwnetlink.hpp: specify destination when looking for gateway
89f091daf0 sitnl: implement interface filtering when looking for gateway
220de072a2 sitnl: support for multipart messages
5771dfc0ee transport: remove ip_hole_punch API
d448b4a7db tun/builder/client.hpp: use "override" method specifier
d85e92621d Make reproducible builds possible
7150f72e09 tun: remove code duplications in Linux tun implementations
8112f0cd7c [OVPN3-378] cli: support for TunBuilder API
6f0e9f6388 Fix Asio 0003 patch.
964662bacb Add /bigobj to build.py
74e40a8907 Upgrade ASIO to 0.13.0
a2713ce1f6 PureTLS: enable SNI by default when configuring client
19a44dbdda Merge branch 'qa'
a5fdf43726 InitProcess: comment clarification that crypto_init declaration causes SSL library init when instantiated
dec3bc140e OpenSSL: Revert a commit that breaks OpenSSL initialization
16a4e3d4a7 [OVPN3-405] asio: A quick fix for incorrect error message encoding
aa785c30c1 Fix Base64::UCharWrap compiler warnings
51a1469e6b Merge various fixes
218cfa39cb Explicitly disable TAP support when parsing configurations
3a0e768ecd Explicitly disable any potential TAP support
aba98471fc Fix base64 unit test with mbedtls and windows
9f84174f0b Add unit tests for Base64
017bc545ce Add base64 decode for void* data
452a353b2d Fix lzo build script to use it as dependency for the unit tests
dfdd528dc1 Convert unit test to Googletest
bd9ee482e6 Add copyright header to test_comp
059f20f2b2 Move compression unit test from common to core repository
5a024cde5c Added Snappy corpus for testing compression/decompression.
ec4d400933 Add compatibility functions for OpenSSL 1.1.0
9768562a01 OpenSSL 1.1: Add argument to external sign to specify algorithm
1bbd2cc78c OpenSSL 1.1: Replace RSA_F_RSA_EAY_PRIVATE_ENCRYPT with Openssl variant
c959a3cff0 OpenSSL 1.1: Replace remaining direct access to members
4307f024ca OpenSSL 1.1: And missing remaining compat implementations
3385c45151 OpenSSL 1.1: Use opaque pointer for HMAC_CTX
f29453f4ca OpenSSL 1.1: Add compat includes for HMAC
c107a1f6ab OpenSSL 1.1: Remove support for OpenSSL older than 1.0.0
024a10adc2 OpenSSL 1.1: Use EVP_MD_ctx as opaque pointer
35d82906c4 OpenSSL 1.1: Change EVP_CIPHER ctx field to pointer
ebf4b7e87d OpenSSL 1.1: Use X509_digest to get certificate digest
7d3e5d02f2 OpenSSL 1.1: Use SSL_get_ex_data instead of direct access
8717f822ca OpenSSL 1.1: Replace ctx->current with X509_STORE_CTX_get_current_cert
67fbe1ab3f OpenSSL 1.1: Use X509_check_purpose to check certificate types
7b5a92d58e OpenSSL 1.1: Change OpenSSL TLS version logic to match mbed TLS
c28b7d1893 OpenSSL 1.1: Adjust default OpenSSL cipher suites
f108044a09 OpenSSL 1.1: Add defines for TLS 1.3 in tlsver.hpp
ee1308b505 OpenSSL 1.1: Replace initialisation of RSA_meth with access method
905d681af1 OpenSSL 1.1: Use standard tls methods
cf28e4600c OpenSSL 1.1: Change BIO wrappers around to use access methods
5e6571163d OpenSSL 1.1: Implement compat methods for new BIO methods in 1.0.2
8837539a73 Use std::nothrow as argument for new
e6ec025932 Merge branch 'qa'
752a38c067 [OVPN3-397] size.hpp: wrap typedef in guards
d4e50f8c54 Merge branch 'qa'
d8d14e1991 [UCONNECT-1027] implement ResolveThread and ensure it is properly detachable
525a9a88a6 Merge branch qa
30ea53cb92 Replace custom memcpy implementation
de7c672ee7 Workaround for compiler bug in memneq
84fcecd5e7 Fix missing override annotation in udp/tcp/httpcli
1a3a69a496 [UCONNECT-1027] use one AsioWork object for the whole pre-resolve opertation
c4cbf93f9b Revert "[UCONNECT-1027] remotelist: create standalone object for resolve thread"
6ef089164e Allow unit tests to be also compiled with mbed TLS and on Windows
7c67bf7f50 Add unit tests for route emulation and establish common test suite
64a7b2f124 Add build file for core unit tests
0a0d080a49 Implement allowing local LAN access
2105b4b7c0 Fix Android route exclusion emulation

git-subtree-dir: Sources/OpenVPNAdapter/Libraries/Vendors/openvpn
git-subtree-split: 275cf80efb7a08adc920f7ca49075c776e596b08
2019-06-17 09:44:01 +03:00
Sergey Abramchuk
1c8f34560f Merge commit '5edb23a7abbffb2ec7874d0352b993e1b4193374' into feature/update-dependencies 2019-06-17 09:44:01 +03:00
Sergey Abramchuk
61c9e8f6dc Merge branch 'feature/fat-libraries' into develop 2019-06-17 09:26:47 +03:00
Sergey Abramchuk
206ce5eeb9 Update library search paths 2019-04-25 10:11:00 +03:00
Sergey Abramchuk
e77c8a7994 Create fat iOS library for mbedtls 2019-04-25 10:07:31 +03:00
Sergey Abramchuk
838184dcae Create fat iOS library for lz4 2019-04-25 10:01:22 +03:00
Sergey Abramchuk
36de2fc09c Merge branch 'release/0.2.0' 2019-04-10 12:21:10 +03:00
Sergey Abramchuk
90fbbbea65 Merge tag '0.2.0' into develop
no message
2019-04-10 12:21:10 +03:00
Sergey Abramchuk
45723d7ee1 Delete outdated revisions 2019-04-10 12:18:05 +03:00
Sergey Abramchuk
f3caddf509 Update Acknowledgments section 2019-04-10 12:16:40 +03:00
Sergey Abramchuk
f0844e998f Update Usage section 2019-04-10 12:14:04 +03:00
Sergey Abramchuk
208d87f258 Fix typos 2019-04-10 12:02:56 +03:00
Sergey Abramchuk
b38a8050e0 Update version in Cocoapods section 2019-04-10 12:02:42 +03:00
Sergey Abramchuk
7b2320fbe3 Update podspec 2019-04-10 11:59:05 +03:00
Sergey Abramchuk
9eac433665 Bump version number 2019-04-10 11:53:08 +03:00
Sergey Abramchuk
b00951ceae Update project settings 2019-04-10 11:50:13 +03:00
Sergey Abramchuk
bd98a18fb3 Merge branch 'feature/reset-tunnel' into develop 2019-03-18 13:16:17 +03:00
Sergey Abramchuk
4e2bb966c2 Merge branch 'develop' into feature/reset-tunnel
* develop:
  Fix incorrect architecture of libraries
2019-03-18 11:21:31 +03:00
Sergey Abramchuk
6766fb52f9 Fix incorrect architecture of libraries 2019-03-18 11:21:23 +03:00
Sergey Abramchuk
74f56bf680 Merge branch 'develop' into feature/reset-tunnel
* develop:
  Explicitly set the define to use <string_view>
  Apply asio patches
  Squashed 'Sources/OpenVPNAdapter/Libraries/Vendors/openvpn/' changes from 934f4e741f..daf575ff50
2019-03-15 12:54:45 +03:00
Sergey Abramchuk
aa67ea253f Merge branch 'feature/update-dependencies' into develop 2019-03-15 12:53:18 +03:00
Sergey Abramchuk
9686d3295a Explicitly set the define to use <string_view> 2019-03-15 12:23:15 +03:00