OpenVPN 3 Linux v8 (beta)
The highlights of this release are:
* Improvement: Brand new DNS resolver settings handling. This is expected
to avoid several bugs found in the prior releases, all from not cleaning
up correctly to adding duplicated entries for pushed DNS settings.
* Improvement: Refactored the code tied to setting up the direct route for
the VPN server.
* Improvement: openvpn3-admin log-service --list-subscriptions now adds the
PID of the process the log subscription is tied to.
* Bugfix: The openvpn3 Python module broke in v7_beta for Ubuntu 16.04 and
other distributions shipping with Python 3.5 or older. This has now been
fixed but it will be required to install the aenum Python module via
pip3. This is not needed on distributions with Python 3.6 or newer.
* Bugfix: The openvpn2 interface would not work if the --verb option was
missing.
* Bugfix: The D-Bus policy was incorrect for the net.openvpn.v3.netcfg
service, related to the org.freedesktop.DBus.Ping method.
* Bugfix: Corrected a typo in Python constants related to DNS_SERVER_ADDED
* Bugfix: openvpn2 will now warn about ignoring --up and --down options,
and will silently ignore --down-pre and --script-security. These are not
relevant or supported in OpenVPN 3 Linux. Prior versions did not work.
* Build: It now builds with GCC 10
* Build: It should be possible to build openvpn3-linux with no warnings on
most platforms (gcc-4.8.5 requires -std=c++1y)
* OpenVPN 3 Core: Upgraded to the latest development version, with lots of
bugfixes and improvements.
The complete overview of all changes:
Arne Schwabe (14):
contrib: Add cli-netcfg as a CMake build target
netcfg: Move D-Bus logic returning fd in method call
netcfg: Use C++ default copy constructor in NetCfgOptions
Code style fixes
ovpn3cli: Compile config command with USE_TUN_BUILDER
netcfg: Declare ~NetCfgProxyException() as an override properly
netcfg: Move device object creation into a separate method
netcfg: Factor out notification signals in core-tunbuilder
netcfg: Implement honouring remove_cmds in core tunbuilder
contrib: Update CMake file to add missing files
netcfg/client: Replace add_bypass_route with socket_protect
netcfg/client: Cleanup tun devices and protected sockets on exit
build: Update cmake files to include DNS related changes
netcfg/client: Fix NetCfg::Cleanup() not called from openvpn-service-client
David Sommerseth (48):
netcfg: NetCfgChangeEvent could incorrectly parse GVariant data
client: Allow non-session manager access to log_level and device_path
client: Provide more information on non-sessionmgr rejections
client: Fix incorrect return in the Ready D-Bus method
docs: Improve documentation
dbus: Add missing glib2 include file in dbus/exceptions.hpp
sessionmgr: Don't panic when device_path or device_name is unavailable
common: Fix lookup functions returning uid/gid -1
common/lookup: Update callers of lookup functions to handle exceptions
core: Update to latest OpenVPN 3 Core library git master
Replace empty destructors with default
common/lookup: Add missing include file
common/lookup: Fix memory leaks in lookup_{gid,uid}()
build: Updating default C++ compiler flags
contrib: Update Jenkins build slave tag
python: Set a default verb level when --verb option is missing
Update .gitignore
policy: Fix incorrect org.freedesktop.DBus.Peer.Ping access on netcfg
python: Fix incorrect NetCfgChangeType constant for DNS_SERVER_ADDED
ovpn3cli/netcfg: Add presenting PID of subcribers in --list-subscribers
python: Extend the IgnoreArg handler to issue warnings
python: Add 4 script related options to the ignore list
man: Add information about script execution in OpenVPN 3
python: Extend ConfigParser to support embedding --auth-user-pass file
netcfg: Make the NetCfgEvent const in NetCfgSignals::NetworkChange()
netcfg/signals: Add support for providing device name with Debug logging
netcfg: Add a new DNS settings framework
netcfg: Implement new resolv.conf backend processor
netcfg: Use the new DNS resolver settings framework
netcfg: Do not apply DNS changes to backend with no registered changes
netcfg: Explicitly restore the backup resolv.conf at exit
netcfg: Add a mutex lock for changes to the resolv.conf file
netcfg: Pass NetCfgSignals object to SettingsManager::ApplySettings()
netcfg: Rework removal of DNS resolver settings
netcfg/dns: Send NetworkChange signals on DNS resolver settings changes
build: Fix GCC 10 build issues - missing includes
build: Fix GCC 10 build issues - uint*_fast_t
contrib/jenkins: Run make distcheck with proper parallelism
netcfg: Do not add duplicated DNS resolver settings
netcfg/test: Fix memory leaks from GLibUtils::wrapInTuple()
netcfg: Clear the memory buffered resolv.conf properly
core: Update to latest OpenVPN 3 Core
client: Don't provide statistics if vpnclient object is unavailable
dbus: SetDBusError() does not change the exception object
sessionmgr: Need to also tackle DBusException with CheckACL()
build: Upgrade to Python 3.5 as the minimum version
python/build: Add enum workaround for older Python versions
core: Update to latest OpenVPN 3 Core
Lev Stipakov (1):
contrib: add missing sources to CMake alternative