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

14 Commits

Author SHA1 Message Date
David Sommerseth
22d0f2bf28 dcocli: Do not use KoTun with ENABLE_PG and USE_TUN_BUILDER
Signed-off-by: David Sommerseth <davids@openvpn.net>
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2019-11-27 17:11:50 +01:00
Arne Schwabe
d1fd4ef1f1 Minor code style clean up
- use explicit for non copy single argument constructor
- add override where applicable

Signed-off-by: Arne Schwabe <arne@openvpn.net>
Signed-off-by: David Sommerseth <davids@openvpn.net>
2019-11-27 17:11:50 +01:00
Arne Schwabe
e7799e32ee Fix missing parameter introduce by add_bypass_routes commit
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2019-11-27 17:11:50 +01:00
Arne Schwabe
3817b8072e Refactor selecting tun methods into a common header file
This fixes DCO client only including iproute and using methods of
TUN_LINUX

Signed-off-by: Arne Schwabe <arne@openvpn.net>
2019-11-27 17:11:50 +01:00
Arne Schwabe
6228165f37 Implement configuring DCO dev via tun builder
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2019-11-27 17:11:50 +01:00
Arne Schwabe
1e2d7b1c81 Implement opening /dev/net/ovpn via tun builder interface
Signed-off-by: Arne Schwabe <arne@openvpn.net>
2019-11-27 17:11:50 +01:00
Antonio Quartulli
2c5435a000
dcocli: use compile time define for Tun methods instead of hardcoded iproute
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2019-08-29 16:38:53 +02:00
David Sommerseth
69d72ed64f
DCOTransport: Fix server side specific trunk handling
Commit 089aec00b pulled in a dependency for a very server specific
feature not normally needed in more basic implementations.  This
resulted in the code not being able to compile unless the advanced
implementation would be available.  This only happens when ENABLE_DCO is
enabled.

Signed-off-by: David Sommerseth <davids@openvpn.net>
2019-08-07 17:10:23 +02:00
James Yonan
089aec00b1 DCOTransport: new routing code for trunk links
Also:

* removed IPCollisionDetectBase
* added ping-restart-override

Signed-off-by: James Yonan <james@openvpn.net>
2019-07-17 10:53:46 -06:00
Lev Stipakov
5771dfc0ee transport: remove ip_hole_punch API
That API was introduced in commit 5c00943
to implement persistence for macOS. That functionality
was refactored in 0609c76, but framework was left intact.

Since socket_protect() is called almost at the
same time as ip_hole_punch() and also receives
remote address, there is no need in this unused
API anymore.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2019-05-09 16:40:24 +03:00
Lev Stipakov
7150f72e09 tun: remove code duplications in Linux tun implementations
There are two ways how Linux tun can be manipulated -
by using iproute2 or netlink. Both implementations have
defined identical Setup class implementation.

This commit factors out Setup class from tun implementations
and templatizes it, which removes need in duplicated code.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
2019-05-02 21:34:20 +03:00
Antonio Quartulli
8c87c76969
[UCONNECT-1027] use proper io_context when initializing AsyncResolve class 2019-02-07 18:23:12 +10:00
Antonio Quartulli
f33fe76658
[UCONNECT-1027] perform async DNS resolution in a detached thread
When ASIO performs an async DNS resolution, it relies on the
getaddrinfo() syscall in order to obtain a result.

This syscall is non-interruptible by design, which means that, in case
of sudden stop command received by the user, the core will not be able
to terminate all its threads until the getaddrinfo() has returned
(either by timeout or with a result).

If the the external core user is synchronously waiting for it to
terminate (i.e. like a UI), this behaviour will lead to the entire
client hanging.

To avoid this issue, this commit converts each asynchronous DNS
resolution to a synchrnous one performed in a detached thread.

This way, if the core wants to stop, it can do so without waiting for
the DNS thread to join. Otherwise, this change should not lead to any
functional difference.

Signed-off-by: Yuriy Barnovych <yuriy@openvpn.net>
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2019-02-07 09:07:00 +10:00
Lev Stipakov
643ada4395 [OVPN3-230] Add client-side dco code
Signed-off-by: Lev Stipakov <lev@openvpn.net>
2018-05-31 16:27:50 +03:00