James Yonan
54fdda2ef4
URL::parm : added URL::ParmList::get_value_required()
...
method.
2016-08-17 11:34:45 -07:00
James Yonan
f3ed986525
URL::parm : trivial fix to return std::string instead of
...
const std::string.
2016-08-17 11:34:16 -07:00
James Yonan
b88fc41c7b
URL::encode : do a speculative reserve() on return string.
2016-08-17 11:33:19 -07:00
James Yonan
96586adff0
Cleanup template : general cleanup including added missing
...
"inline" and using "typename" instead of "class" in
templates.
2016-08-17 11:32:01 -07:00
James Yonan
a3ecdf3260
route : removed mark as a route-specific property.
2016-08-17 11:31:11 -07:00
James Yonan
f275c66654
OpenSSL : Added class TokenEncrypt for encrypting/decrypting
...
tokens.
2016-08-17 11:27:36 -07:00
James Yonan
60b734fc34
RemoteList : randomize the list of IP addresses returned by
...
a DNS lookup. This requires that RemoteList now owns a
RandomAPI::Ptr, which in turn simplifies the signature of
some other RemoteList methods such as randomize().
2016-08-07 09:31:28 -06:00
James Yonan
8ba7b47c43
RemoteList : removed some cases of address caching that
...
could occur even if tun_persist is disabled.
In particular, we now consider a set of multiple IP
addresses returned by a single DNS lookup to constitute a
kind of cache. This helps us to not get stuck on stale
addresses when transitioning between NAT64 and regular
networks.
2016-08-07 01:17:29 -06:00
James Yonan
7e4ce67c8b
iOS/Mac network reachability : Reachability and
...
ReachabilityTracker constructors now provide control over
which subobjects are enabled, i.e. internet and/or wifi.
2016-08-07 01:09:20 -06:00
James Yonan
e711fc70f5
iOS/Mac network reachability : don't contaminate
...
ReachableViaWiFi result by considering on-demand viability.
2016-08-06 21:12:43 -06:00
James Yonan
ea7cc9efd7
core version : incremented to 3.0.18
2016-08-05 10:57:36 -06:00
James Yonan
98a4643dc3
ovpn3 client : make sure to "touch" setenv directives when
...
iterating over them, so they don't show up as unused.
2016-08-05 10:11:25 -06:00
James Yonan
15cbd87b79
PolarSSL : for PolarSSL debug level, be sure to match on
...
USE_POLARSSL_APPLE_HYBRID as well as USE_POLARSSL and
include <polarssl/debug.h> for debug_set_threshold().
2016-08-05 00:57:21 -06:00
James Yonan
899fa6c4bc
ovpn3 client API : added sslDebugLevel parameter to control
...
the logging level of the underlying SSL library.
2016-08-04 20:43:43 -06:00
James Yonan
b6b1207eeb
C++11 : clang now complains about virtual methods that
...
override but don't include the "override" annotation,
so add the annotation as needed.
2016-08-03 13:01:44 -06:00
James Yonan
6e21fa4c58
RemoteList : added new public methods reset_cache()
...
and get_item().
2016-07-31 09:48:38 -07:00
James Yonan
d6acd6da66
OpenSSL : set maximum verify depth to 16.
2016-07-30 15:52:13 -07:00
James Yonan
fc249e6a46
OpenSSL, AuthCert : implemented DEFERRED_CERT_VERIFY SSL
...
flag, to allow server-side SSL users to get information
about client certificate validation errors without
immediately terminating the connection. This allows
certificate errors to be handled at a higher level, such
as by messaging error info to the peer over the TLS control
channel.
2016-07-30 15:17:57 -07:00
James Yonan
b4982d78a1
OpenSSL : added new OpenSSL signature verification methods
...
OpenSSLSign::verify() and OpenSSLSign::verify_pkcs7().
2016-07-27 22:18:03 -07:00
James Yonan
a533374b15
linux : added daemon_pid() method and refactored
...
is_daemon_alive() to be based on it.
2016-07-27 22:14:20 -07:00
James Yonan
41c9857fd2
core version : incremented to 3.0.17
2016-07-13 19:02:02 -07:00
James Yonan
c7da2620e5
keepalive : in disable_keepalive(), be sure to translate
...
keepalive values properly when converting between
Time::Duration and unsigned int values, in the sense that
a disabled Time::Duration value (0 or infinite) should
translate to a zero-valued unsigned int.
2016-07-12 22:16:29 -07:00
James Yonan
689bfd7e8f
keepalive : added is_keepalive_enabled() method.
2016-07-12 22:15:35 -07:00
James Yonan
d4b64f05fa
proto.hpp logging : include more info in verbose KeyContext
...
logging, including:
* log Key ID,
* log on KeyContext object creation, and
* indicate whether new KeyContext object creation
is local or remotely triggered.
2016-07-12 22:11:35 -07:00
James Yonan
cd66efb52b
ovpn3 client : added compile-time string
...
OPENVPN_UNUSED_OPTIONS to allow client builds to
change the wording of the unused options title.
2016-07-12 22:08:06 -07:00
James Yonan
e0a9e01cb2
linux tun : add code similar to OpenVPN 2.x code that cycles
...
through tun driver units to find a free unit.
2016-07-12 22:05:12 -07:00
James Yonan
0128b8a98e
linux tun : remove "no trunking support" error message.
2016-07-12 22:04:33 -07:00
James Yonan
93790ab02b
usergroup : minor changes:
...
* Added uid() method.
* Removed "explicit" qualifier from constructors since it
appears to be superfluous.
* Added "::" prefix to global libc functions.
* Added clarifying comment that SetUserGroup object does not
own passwd and group objects, therefore *pw and *gr can
change under us.
2016-07-12 22:02:37 -07:00
James Yonan
ecfc55f5cf
time : added Time::Duration::enabled() method.
2016-07-12 22:01:57 -07:00
James Yonan
28c6cc2a57
peercred : added match_uid() method.
2016-07-12 22:01:16 -07:00
James Yonan
8a3e809d76
hexstr : print NULL when passed data pointer is null.
2016-07-12 22:00:35 -07:00
James Yonan
fb4a31b9c1
file utilities : added write_binary_atomic() method.
2016-07-12 21:29:50 -07:00
James Yonan
b2576fd5c7
ovpn3 client API : added "Remote Override", where API users
...
can provide a callback to return "remote" directive data
that overrides the "remote" directives in the config
file.
// Remote override callback (disabled by default).
virtual bool remote_override_enabled();
virtual void remote_override(RemoteOverride&);
2016-07-02 01:00:09 -06:00
James Yonan
433ba64f59
stat.hpp : added file_mod_time() method.
2016-07-02 00:56:53 -06:00
James Yonan
0fb78ea766
RC : added use_count() method to RC bases to provide client
...
visibility of the object reference count.
2016-07-02 00:54:39 -06:00
James Yonan
ed6d523e2f
number : added parse_number_throw() overload that accepts
...
error parameter as a const std::string&
2016-07-02 00:53:17 -06:00
James Yonan
331dd001bf
IP::Addr : added validate() overload that accepts title as
...
a const std::string&
2016-07-02 00:51:25 -06:00
James Yonan
d0fee8db51
core version : incremented to 3.0.16.
2016-06-29 00:59:43 -06:00
James Yonan
7afbf4d3b3
autologin sessions : automatically retry connection on
...
expired session.
2016-06-29 00:57:24 -06:00
James Yonan
ca5205b4f3
random : consolidate random functionality in RandomAPI.
2016-06-28 22:31:17 -06:00
James Yonan
b614d5c3e1
random : extended RandomAPI with range methods.
2016-06-27 16:39:30 -06:00
James Yonan
13abf1cf5c
random : in MTRand, add clarifying comment on why gen_seed()
...
(and hence default constructor) is suboptimal.
2016-06-27 16:38:19 -06:00
James Yonan
eed7408a81
ovpn3 client API : significant reworking of
...
ClientAPI::Private::ClientState in ovpncli.cpp to enhance
thread-safety in corner cases.
An async stop object (Stop*) can now be used as a triggering
event for disconnect. Further, C++ API clients can now
overload OpenVPNClient::get_async_stop() to provide their
own Stop object.
2016-06-26 23:00:37 -06:00
James Yonan
48928cfd95
linux tun : better IPv6 support.
2016-06-26 22:50:20 -06:00
James Yonan
c847135870
ovpn3 client API : added VPN gateway (IPv4 and IPv6) to
...
ClientAPI::ConnectionInfo object returned by
ClientAPI::OpenVPNClient::connection_info()
2016-06-26 22:23:08 -06:00
James Yonan
e60c364326
inactive directive (client) : send explicit exit notify
...
prior to disconnect.
2016-06-26 22:10:16 -06:00
James Yonan
6ca19dcc52
DCO : pass async stop object (Stop*) to DCO config.
2016-06-26 22:08:39 -06:00
James Yonan
5777c6ea1b
ActionList : added ActionListReversed class to execute
...
actions in reverse. Useful for remove/destroy/unwind
command sets.
2016-06-26 22:01:36 -06:00
James Yonan
3eab705ad1
ActionList : added execute_log() method.
2016-06-26 22:00:48 -06:00
James Yonan
49ee97c999
IPv6Setting : when setting is unrecognized, show it
...
in error message.
2016-06-18 16:00:31 -06:00