0
0
mirror of https://github.com/OpenVPN/openvpn3.git synced 2024-09-20 20:13:05 +02:00
Commit Graph

996 Commits

Author SHA1 Message Date
James Yonan
cfcef542d5 Added Time::Duration::milliseconds() static initializer. 2015-04-09 13:49:06 -06:00
James Yonan
9684fbddd7 Added HTTP ReplyType and RequestType typedef containers. 2015-04-09 00:22:27 -06:00
James Yonan
384445611e Core: in cliproto.hpp, don't set housekeeping timer
if object is halted.  This solves a disconnect delay
seen on Mac command-line client.
2015-04-06 23:00:48 -06:00
James Yonan
a57383a426 Removed unnecessary trailing ';' after namespace {} in logbase.hpp. 2015-04-06 14:55:06 -06:00
James Yonan
7c629d0793 Added statsrc.hpp, a general-purpose base class for stats output. 2015-04-02 13:23:05 -06:00
James Yonan
3b18c3959e Still having problem with SSL_pending() on SSLv23 raising an error
instead of doing the sane thing and just returning 0.

To fix this, we actually override some of the OpenSSL SSLv23 methods here,
in particular the ssl_pending method.  We want ssl_pending
to return 0 until the SSL negotiation establishes the
actual method.  The default OpenSSL SSLv23 ssl_pending method
(ssl_undefined_const_function) triggers an OpenSSL error condition
which is not what we want.
2015-04-01 11:34:44 -06:00
James Yonan
1d6096609b Added additional parse_user_pass() convenience method. 2015-03-27 01:20:30 -06:00
James Yonan
688588bd12 Added sockopt.hpp with common setsockopt functions
(reuseport, reuseaddr, tcp_nodelay).
2015-03-19 14:04:31 -06:00
James Yonan
73b2b41f75 Extended Listen::List/Item to support different "listen"
directives.
2015-03-19 14:02:34 -06:00
James Yonan
0648246385 Fixed bug/typo in HTTP::Request::to_string() where formatted
URI was wrong.  This code is normally only used for debugging.
2015-03-19 14:00:02 -06:00
James Yonan
f683eca1d7 Added SignalBlockerDefault to handle common usage case. 2015-03-19 13:58:31 -06:00
James Yonan
987867082c Use C++11 std::thread (instead of boost::thread) if USE_STD_THREAD
if defined.
2015-03-19 13:56:38 -06:00
James Yonan
a2b3a3a715 Updated OpenSSL to 1.0.2a. 2015-03-19 13:55:55 -06:00
James Yonan
8a983e730f When PRIVATE_TUNNEL_PROXY is enabled, append PT_PROXY
to the OpenVPNClient::platform() string.
2015-03-08 12:34:50 -07:00
James Yonan
0ce1e9c7ea OpenSSL: Set default cipher list to "DEFAULT:!EXP:!PSK:!SRP:!kRSA:!LOW". 2015-03-06 12:54:55 -08:00
James Yonan
b87872a0cb OpenSSL: Disable SSL compression (OpenVPN protocol doesn't need it). 2015-03-06 12:54:39 -08:00
James Yonan
7927982371 Added "Exclude Routes Emulation" feature for both IPv4 and IPv6.
This feature is needed by Android because it lacks a native
VPN API method for excluding routes.

If redirect-gateway is enabled and exclude routes are present,
such as:

  route 54.215.128.71 255.255.255.255 net_gateway

the client will emulate the excluded route(s) by adding routes
that encompass the entire IPv4/v6 address space EXCEPT for the
excluded route.  These routes will be used for redirect-gateway
instead of the standard 0.0.0.0/0 and ::0/0.
2015-02-28 15:09:53 -07:00
James Yonan
d442e777de Updated Android build system to support ARM64:
* Updated SDK and NDK to Android 5:
    android-sdk_r24.0.2-macosx.zip
    android-ndk-r10d-darwin-x86_64.bin

* Updated build-toolchain to build both ARM
  and ARM64 toolchains.

* Added ARMv8-a architecture (64-bit) to all
  core builds.

* Patched "Page Size" issue in boost_1_57_0.
2015-02-27 09:20:35 -07:00
James Yonan
13d0541bd0 Modified date_time() to print milliseconds as well. 2015-02-18 11:34:46 -07:00
James Yonan
ee3d7dbad6 In OpenSSL SSL driver, don't log negotiation details unless
SSLConst::LOG_VERIFY_STATUS flag is set.
2015-02-18 07:47:41 -07:00
James Yonan
0cb30aed01 Added BufferAllocated::realloc() method. 2015-02-18 07:45:29 -07:00
James Yonan
4aa3672196 Fixed memory leak in newly added ZLib::compress_gzip(). 2015-02-13 20:32:07 -07:00
James Yonan
7b6533484e Added gzip compression support to ovpn3 library. 2015-02-13 14:29:09 -07:00
James Yonan
d1072035b3 Added openvpn/common/inotify.hpp.
Created initial method INotify::mask_to_string() to convert
an inotify mask to a human-readable string for debugging.
2015-02-10 15:58:58 -07:00
James Yonan
659f876dba Terminate OPENVPN_LOG line with '\n' instead of
std::endl.  std::endl implies a flush which isn't
necessary because we are operating on a
ostringstream.
2015-02-10 15:58:08 -07:00
James Yonan
c8ffeea283 Added string::len_without_trailing_nulls method. 2015-02-10 15:57:42 -07:00
James Yonan
26b792436a Added ScopedFD::reset() method. 2015-02-10 15:57:09 -07:00
James Yonan
58031408d7 ScopedFD::close() should not be virtual. 2015-02-10 15:56:49 -07:00
James Yonan
01a381ef44 Added nondigit_term bool to parse_number() to allow parsing
of numbers that are terminated by non-number chars.  Previously
only '\0' could terminate a number.
2015-02-10 15:55:32 -07:00
James Yonan
2226a34850 In asiodispatch.hpp, added dispatcher for asio async_read
without argument: asio_dispatch_read_noarg().
2015-02-10 15:54:34 -07:00
James Yonan
53be529a70 In buffer.hpp, added max_size_tailroom(), inc_size(), and
mutable_buffers_1_append() methods that are useful when
appending to buffers.
2015-02-10 15:53:41 -07:00
James Yonan
ab558a2ba6 In buffer.hpp, modified mutable_buffers_1() to use
max_size_tailroom() instead of remaining(tailroom) to compute
remaining space.  This makes sense because max_size_tailroom()
doesn't consider the existing buffer length, just as data()
doesn't.
2015-02-10 15:52:56 -07:00
James Yonan
e42aa65c96 Added lflags parameter to SSLConfigAPI::load().
Added initial flag LF_PARSE_MODE indicating
whether "mode" directive should be parsed.
2015-02-10 15:50:25 -07:00
James Yonan
2856dc759a Build OpenSSL shared libraries on Linux. 2015-02-10 15:49:49 -07:00
James Yonan
0d7e9488cb Echo build commands in OpenSSL build script. 2015-02-10 15:49:12 -07:00
James Yonan
8f4b17ce6a Add extension parameter to ProfileMerge constructor to allow
parsing of files with non-ovpn extensions.
2015-02-10 15:48:08 -07:00
James Yonan
c1c6bdb639 Don't build or include minicrypto for Android. 2015-02-05 10:22:39 -07:00
James Yonan
c2e90a77cc Core: let's be conservative and lower control_channel_payload
from 1350 -> 1250 in case the higher value is triggering
MTU issues.
2015-02-04 21:27:19 -07:00
James Yonan
77e764720b Turned off PT Proxy by default in javacli/build-android.
To turn it back on, set PT_PROXY=1
2015-02-04 21:25:57 -07:00
James Yonan
5c31950852 Added TLS version min override parameter to ClientAPI::Config:
// Override the minimum TLS version:
  //   disabled -- don't specify a minimum, and disable any minimum
  //               specified in profile
  //   default or ""  -- use profile minimum
  //   tls_1_0  -- use TLS 1.0 minimum (overrides profile)
  //   tls_1_1  -- use TLS 1.1 minimum (overrides profile)
  //   tls_1_2  -- use TLS 1.2 minimum (overrides profile)
  std::string tlsVersionMinOverride;
2015-02-04 20:29:43 -07:00
James Yonan
a1a3b6f256 Added "--alt-proxy, -A" help message to test/ovpncli/cli.cpp. 2015-02-04 14:57:09 -07:00
James Yonan
b530349245 Added RemoteList::ConnBlock and RemoteList::ConnBlockFactory
to provide more flexible encapsulation of <connection> blocks.
2015-02-03 17:35:02 -07:00
James Yonan
90d98c8fac class OptionList now inherits from RCCopyable. 2015-02-03 17:34:13 -07:00
James Yonan
84e4b8878f Minor simplification to rand_type<> method to use the existing
RandomAPI::rand_fill method.
2015-02-03 17:33:09 -07:00
James Yonan
557df02296 Added AltProxy API that allows for alternative proxy implementations
to be developed outside the core.
2015-02-02 23:11:51 -07:00
James Yonan
d5f249b3a4 Added class RunContext for managing threads in a
multi-threaded server.
2015-02-01 01:48:18 -07:00
James Yonan
1d4cd0bd24 In PolarSSL and OpenSSL drivers, support tls_version_min
even when force_aes_cbc_ciphersuites is enabled.
2015-02-01 00:56:17 -07:00
James Yonan
73672d1884 Added SSLConfigAPI abstract base for configuring SSL properties
independently of SSL implementation.
2015-01-31 21:51:25 -07:00
James Yonan
a5650f5464 Fixed issue in OpenSSL driver where SSL_pending() can abort
with fatal error if called too soon in the TLS negotiation.
2015-01-31 21:50:00 -07:00
James Yonan
174fa2abd4 Reworked KUParse:
(a) to be configurable by direct parameter rather than solely
    by options, and
(b) to be idempotent with respect to ku/eku.
2015-01-30 13:23:47 -07:00