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

1156 Commits

Author SHA1 Message Date
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