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