Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v9_beta protected
    OpenVPN 3 Linux v9 (beta)
    
    The highlights of this release are:
    
    * Feature: New AWS VPC add-on service (openvpn3-service-aws) which
      can be configured on EC2 Linux hosts deployed inside an AWS Virtual
      Private Cloud (VPC).  This allows the host running an OpenVPN 3 Linux
      client with this service configured to act as a proper VPN gateway
      for hosts inside the VPC.  The AWS service will update the VPC
      configuration dynamically, adding and removing routes pushed to the
      VPN client.
    
    * Bugfix: openvpn3 session-manage --restart and --resume
      modes would not respond to re-authentication requests required by the
      VPN server
    
    * Bugfix: openvpn3 session-start and openvpn3 session-manage
      commands would not handle CTRL-C (SIGINT) situations properly during
      the connect phase to the remote server or when asking for user input.
      Prior releases would just leave the VPN session running in the
      background.  To get rid of these background sessions the user had
      to also use openvpn3 session-manage --disconnect to really stop
      these lingering sessions.  With this update, interrupting the
      openvpn3 session-start and openvpn3 session-manage operations
      during the connect phase or when acquiring user input, will result
      in the running VPN session will be properly shutdown.
    
    * Bugfix: openvpn2 will now properly ignore the --dev-node
      option.  This option has not functionality on OpenVPN running on
      Linux and can be safely ignored.
    
    * Documentation: The openvpn2(1) man page now renders properly.  The
      D-Bus service documentation for net.openvpn.v3.netcfg has also
      been improved.
    
    * SELinux: The policy file needed on hosts with SELinux enabled has
      been relocated to a more proper location for such extensions, moving
      it out of /etc/openvpn3/selinux.  A slightly modified version
      of this SELinux policy has also been accepted for inclusion in the
      upstream SELinux reference policy project.  Packagers needs to
      ensure this policy is not shipped on distributions with a recent
      enough reference policy.  See the GitHub pull-request #209 [1] in
      the SELinux referenece policy project for details.
    
    The complete overview of all changes:
    
    David Sommerseth (13):
          selinux: Clean up SELinux policy
          selinux: Compress the policy and move install dir
          build: Rework SELinux logic with --disable-selinux-build
          addons/aws: Implement proper option parser
          log/core: Extend CoreDBusLogBase to also set LogGroup
          docs: Update D-Bus service doc for net.openvpn.v3.netcfg
          selinux: Further minor improvement to policy module
          python: Add --dev-node to the list of ignored options
          docs/man: More rendering improvements to openvpn2(1)
          vendor: Update to asio-1.14.0
          ovpn3cli/session: Handle re-authentication for --resume/--restart
          ovpn3cli/sessions: Improve SIGINT handling when starting/resuming sessions
          ovpn3cli/session: Improve user input of credentials
    
    Lev Stipakov (5):
          netcfg/cli.cpp: add missing #ifdef guard
          Add missing override declaration
          Update to latest openvpn3-core library
          addons: Add Amazon Web Service VPC support
          man: Add conditional man page for openvpn3-service-aws
    
    [1] <https://github.com/SELinuxProject/refpolicy/pull/209>
    
  • v8_beta protected
    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
    
  • v7_beta protected
    OpenVPN 3 Linux v7 (beta)
    
    The highlights of this release are:
    
    * Bugfix: openvpn3 log --session-path was misbehaving and returned a very
      little helpful error message.
    * Bugfix: Logging integration could crash due to a strict D-Bus policy for
      the OpenVPN 3 log service.
    * Bugfix: The VPN backend process cold crash if it lost contact with the
      OpenVPN 3 Network Configuration service.
    * Bugfix: The port-override setting in configuration profiles, available
      via the OpenVPN 3 Configuration Manager service was not working.
    * Bugfix: Improve validation of the D-Bus paths which can be given to
      the various openvpn3 commands, which results in better error messages
      when an incorrect path is given.
    * Bugfix: Improved operational stability if a depending OpenVPN 3 D-Bus
      service is interrupted or stops running, by ensuring the caller of the
      D-Bus service has a valid connection to the D-Bus daemon and that the
      needed service is available before accessing it.
    * Enhancement: If compression is enabled on the VPN tunnel, either by
      the local configuration profile or being pushed by the server, this is
      now logged as a critical event in the log files.
    * Enhancement: Provide the session name set inside the OpenVPN 3 Core
      library by the library itself to the OpenVPN 3 Session Manager.  This
      information is exposed via the openvpn3 sessions-list command.
    * Enhancement: Provide the virtual interface name used by the running
      VPN sessions via the OpenVPN 3 Session Manager.  This information is
      exposed via the openvpn3 sessions-list command.
    * Enhancement: Several openvpn3 commands can now take the --interface
      option as an alternative to --path or --config.  The command will now
      lookup the interface name and find the appropriate D-Bus path for the
      session this interface is tied to.  Bash shell completion for --interface
      has also been added.
    * Enhancement: The output provided by openvpn3 sessions-list has been
      reorganized and clean-up a little bit.
    * Enhancement: A lot of the low level technical D-Bus related information
      is now stripped from most of the error messages in the user front-end
      applications (openvpn2, openvpn3, openvpn3-admin)
    * Enhancement: Added support for --verify-x509-name
    * Enhancement: The unified policy for all OpenVPN 3 D-Bus services has now
      been split up into separate policy files per service.
    * Enhancement: New command line utility, openvpn3-as.  This can import
      a configuration profile from an OpenVPN Access Server by just providing
      the URL to the Access Server.
    * Extended openvpn3-admin version with --services, to list version
      information of all related D-Bus services
    * Enhancement: The OpenVPN 3 Logger service has been extended to provide
      a list of all services it has attached itself to for retrieving Log
      events.
    * Enhancement: Extended the Python openvpn3 module with methods to retrieve
      information and lightly manage interfaces handled by the OpenVPN 3
      Network Configuration service.
    
    The complete overview of all changes:
    
    David Sommerseth (72):
          docs: Updated README file
          python: Give better information when starting background VPN sessions
          build: Ensure we really use the system liblz4 library
          docs: Update the pre-built section in README
          ovpn3cli: Fix misbehaving log --session-path
          core: Update to latest OpenVPN 3 Core Library
          tests: Adding unit-test framework
          tests: Port a few simple unit tests
          tests: Ported NetCfgChangeEvent unit test
          tests: Ported StatusEvent selftest to unit test
          tests: Ported LogEvent selftest to unit test
          common/cmdargparser: Slight minor improvements
          common: Make cmdargparser.hpp a separate compilation unit
          client: Tackle better if NetCfgProxy object is lost
          netcfg: Add version property to main service object
          netcfg: Make proxy-netcfg a separate compilation unit
          dbus/proxy: Ensure access denials exceptions are handled explicitly
          log: Don't throw access denied exception during init
          ovpn3cli/admin: Add --service argument to openvpn3-admin version
          tests: Make Jenkins run unit tests and collect results
          client: Expose session name via D-Bus
          sessionmgr: Expose session name
          ovpn3cli/session: Display session name
          python: Add OpenVPN 3 version to Python constants
          python: Add openvpn3-as - Access Server support utility
          python/openvpn3-as: Fix trailing slashes in URLs
          python/openvpn3-as: Extend with challenge/response auth support
          tests: Fix failing unittest with --enable-debug-core-events
          proxy: Add input validation on D-Bus paths
          client: Proxy warning from Core when compression has been enabled
          proxy: Provide method extracting proxy object path
          client: Provide methods retrieving netcfg device path and name
          client: Expose netcfg device path and name via D-Bus
          sessionmgr: Expose NetCfg device path and name for VPN sessions
          cli/session: Expose device name used by session in sessions-list
          session/proxy: Fix memory leaks in GetConnectionStats()
          sessionmgr: Add two new main manager methods
          sessionmgr/proxy: Add proxy methods for interface lookups
          ovpn3cli: Add argument helper for retrieving interface names
          ovpn3cli/session: Add --interface option to some session commands
          tests: Fix lookup unit-test with SUSE docker containers
          log/proxy: Fix -Wcatch-value compiler warnings
          core-ext: Replace hacky option string export
          client: Fix incorrect processing of port override
          netcfg: Fix inconsistent glib2 behaviour on Ubuntu
          sessionmgr: Handle missing backend gracefully for device_name
          tests: Add test program quering version property in services
          Fix incorrect spelling of 'retrieving'
          dbus/proxy: Strip "remote" part of GDBus errors
          core: Update to latest OpenVPN 3 Core library
          python: Add support for --verify-x509-name
          proxy: Don't throw access denials in GetServiceVersion()
          man: Update openvpn2
          proxy: Fix incorrect error in DBusProxy::GetServiceVersion()
          netcfg: Reorganize netcfg-changeevent.{cpp,hpp}
          policy: Split up the D-Bus policy per service
          proxy: Move the GDBus error message strip after AccessDenied check
          dbus: Ensure the D-Bus connection still valid
          sessionmgr/proxy: Verify session objects availability before calling it
          dbus/idlecheck: Consider last_operation when executing idle exit
          tests: Add simple connect/disconnect stress test
          dbus/signals: Add getter methods for interface and object path
          dbus/proxy: Ensure we have a valid D-Bus connection before proxy calls
          log: Add new admin method retrieving attached subscriptions
          log/proxy: Add C++ method for accessing GetSubscriberLog
          ovpn3cli/log-service: Add --list-subscriptions mode
          ovpn3cli/session: Minor overhaul of sessions-list
          sessionmgr: Grant access to the device_path in a session
          python/SessionManager: Add Introspection() and GetObjectPath() methods
          python: Add NetCfgChangeType constants
          python/NetCfgManager: New openvpn3 module for the netcfg service
          build: Clean up *~ files in a few forgotten places
    
  • v6_beta protected
    OpenVPN 3 Linux v6 (beta)
    
    The highlights of this release are:
    
    * Support for OpenSSL 1.1.0/1.1.1
    * Proper --persist-tun support, which will ensure routing
      table is up-to-date with the server it tries to connect
      to.  This will ensure tunnels are able to recover if the
      client tries to connect to a different IP address.
    * openvpn3 session-manage got extended with a --cleanup mode,
      which removes stale sessions where the backend VPN process is
      no longer available.
    * bugfix: On slower systems the Session manager could fail to
      confirm the registration request from the backend VPN client process,
      due to the backend VPN client process not being ready to respond to
      the confirmation.
    * OpenVPN 3 D-Bus services will now start the process shutdown
      instantly and not wait for the internal --idle-exit timers to
      complete.
    * When being built without --enable-debug-options, the build should
      result in a reproducible build with the proper compiler setup.
    
    The complete set of changes can be found here:
    
    David Sommerseth (12):
          build: Add sitnl debug messages compile time switch
          ovpn3cli/sessions: Add --cleanup to session-manage
          sessionmgr: Improve backend Ping() error handling when registering
          dbus: Improve IdleCheck documentation
          dbus: Revamp IdleCheck to use std::condition_variable
          dbus/services: Clean up after IdleCheck signal handling changes
          dbus/services: Remove NOP SetPollTime()
          log: Make the log tag mechanism more generic
          Update Core library to latest upstream
          build: Strip out build date/time stamp by default
          docs: Update README.md
          client/netcfg: Add proper support for persist-tun
    
    Lev Stipakov (3):
          netcfg: adapt to refactored TunLinuxSetup
          netcfg: implement addBypassRoute method
          client: take addBypassRoute into use
    
  • v5_beta protected
    OpenVPN 3 Linux v5 (beta)
    
    The highlights of this release are:
    
    * Switched to build against OpenSSL by default
    * Configuration profiles without client certificates does not require
      additional configuration via openvpn3 config-manage any more.
    * The ConfigurationManager and SessionManager classes in the OpenVPN 3
      Python package is extended with LookupConfigName() methods.
    * Bug in openvpn3-service-netcfg restoring /etc/resolv.conf too early
      has been fixed
    * Incorrect log error from openvpn3-service-netcfg when trying to
      restoring resolv.conf has been fixed
    * Fixed inaccurate OpenVPN 3 Core Library version reference
    * Improved several areas of the build process, removing irrelevant warnings
    
    The complete set of changes can be found here.
    
    Arne Schwabe (2):
          Rename bash completion script
          build: Allow configure.ac also to work with submodules and out of dir git repos
    
    David Sommerseth (22):
          build: Provide an accurate OpenVPN 3 Core Library version
          build: Fix make VPATH builds
          build: Clean up autoconf warnings
          docs: Update openvpn3-config-import man page
          docs: Fix incorrect indenting on command lines
          docs: Add man page and D-Bus API references to README.md
          docs: Rearranged README.md, moving front-ends higher up
          docs: Add missing single-quotes on some binaries
          build: Switch to build with OpenSSL by default
          dbus/proxy: Treat internal ACL denials similar to D-Bus denials
          python: Add LookupConfigName method to SessionManager
          python: Extended ConfigurationManager with LookupConfigName method
          python: Added simple unit test for watching StatusChange signals
          python: Add more OpenVPN 2 options to the ignore list
          client: Auto-detect if client certificate is present
          netcfg: Fix unexpected DNS resolver setup restore
          netcfg: Don't try to restore DNS without active backup
          vendor: Update ASIO to 1.13.0
          Update OpenVPN 3 Core Library
          client: Remove unused private variable
          client: Fix missing override tags to some Log methods
          tests: Fix incorrecty variable type in syslog-facility-mapping test
    
  • v4_beta protected
    OpenVPN 3 Linux v4 (beta)
    
    The highlights of this release are:
    
    * Persistent configuration storage
      Configuration files can now be imported with the --persistent
      argument, which saves the configuration profile to disk under
      the management of configuration manager.  Any modifications
      done via config-acl or config-manage will also be preserved.
    
    * Build against OpenSSL
      By providing --with-crypto-library=openssl to ./configure,
      OpenVPN 3 Linux can now be built against OpenSSL instead of
      mbed TLS.  At the moment OpenSSL 1.1 is NOT supported.  The
      default is still to build against mbed TLS.
    
    * All openvpn3 config-* and session-* commands also provides
      --config-path or --session-path as an alias to --path
    
    * Most openvpn3 config-* commands do now support --config
      as an alternative to --path/--config-path, where the
      configuration profile name is given instead.
    
    And lots of bug fixes and other improvements have been
    included as well.
    
    Arne Schwabe (2):
          build: Allow GIT_CHECKOUT also to work with submodules and out of dir git repos
          contrib: Add Jenkins build file
    
    David Sommerseth (49):
          exceptions: Clean up, simplify and unify
          python: Fix missing return in autoload_main()
          python: Fix PEP-8 complains in openvpn2
          log: Extend LogConsumerProxy::InterceptLogEvent() with error handling
          sessionmgr: Filter out LogEvents not related to its own session
          sessionmgr: Add filtering on StatusChange when proxying
          client: Enable compile time session manager check disabling
          client: Fix crash when dynamic challenge auth is required
          build: Enforce wiping config-version.h when updating version.m4
          configmgr: Remove support for aliases
          dbus: Make GetObjectId() and GetObjectPath() methods const
          dbus: Make GetPublicAccess() and GetAccessList() return native C++ types
          dbus/proxy: Declare proxy methods not changing the object const
          dbus/connection: Make truly const methods const
          dbus/creds: Make getter methods const
          configmgr/json: Clean up OptionListJSON class
          configmgr: Implement infrastructure for --state-dir
          configmgr: Save persistent configurations to state directory
          configmgr: Fix issue when sender UID cannot be retrieved in Fetch()
          configmgr: Split out the ConfigurationObject init
          configmgr: Split up set_override() to take native C++ types
          configmgr: Split out the config object registration
          configmgr: Add ConfigurationObject ctor for saved profiles
          configmgr: Rework ProfileMergeJSON to use Json::Value
          configmgr: Add private method for importing persistent configs
          configmgr: Load all persistent configurations when setting state dir
          python: Implement support for overrides
          dbus/proxy: Add retry logic in DBusProxy::CheckObjectExists()
          ovpn3cli: Be graceful to configmgr if it needs to start
          ovpn3cli/session: Fix missing spaces
          configmgr/docs: Misc updates to the service documentation
          dbus/proxy: Fix incorrect retry-loop check
          build: Implement possibility to support builds against different SSL/TLS libraries
          build: Enable building against OpenSSL
          build: Be stricter about what a version tag is
          Update to latest OpenVPN 3 Core library
          common: Prepare SingleCommandOption to handle alias arguments
          common: Extend SingleCommandOption with alias support
          common: Provide access to SingleCommandOptions via SingleCommand::AddOption()
          ovpn3cli: Add config/session path alias options
          ovpn3cli: Move config path from config name retrieval
          ovpn3cli/config: Extend with support for --config
          ovpn3cli/log: Add support for --config
          dbus: Extended GLibUtils with ExtractValue()
          configmgr: Replace g_variant_get() in ConfiguruationObject contructor
          core: Fix OptionListJSON::json_export() option truncation
          policy: Grant all users Ping priviege to netcfg service
          docs: Update README
          docs: man page maintenance
    
    Lev Stipakov (3):
          python: Fix several PEP-8 related coding style issues
          common: fix incorrect iterator type in ProfileMergeJSON
          contrib: update CMakeLists.txt
    
  • v3_beta protected
    OpenVPN 3 Linux v3 (beta)
    
    This is essentially a quick fix for a bug which had not been detected after
    the v2_beta tag, which broke openvpn2 console logging.
    
    David Sommerseth (5):
          log: Make LogSender::ProxyLog() use LogEvent objects directly
          sessionmgr: Make SessionLogEvent::GetLastLogEntry() reuse code
          sessionmgr: Don't preseve the session token
          sessionmgr/log: Allow sessionmgr to intercept and manipulate proxied LogEvents
          ovpn3cli: Make the version command use the argv[0]
    
    Lev Stipakov (1):
          log: Add log group for external log event senders
    
  • v2_beta protected
    bb2e96a3 · docs: Remove TODO.md ·
    OpenVPN 3 Linux v2 (beta)
    
    Arne Schwabe (1):
          tests: Add clinetcfg - simple test client using netcfg
    
    David Sommerseth (80):
          core: Rebase to latest upstream openvpn3 core library
          configmgr: Add LookupConfigName method
          configmgr/proxy: Implement C++ interface for LookupConfigName()
          cli/session: Allow session-start --config to use profile names
          python: Add support for changing profile names in autoloader
          shell: Extend auto-completion for openvpn3 session-start --config
          shell: Improve auto-completion with subdirs
          build: Fix 'make distcheck' again, clinetcfg needs config-version.h
          shell: Fix mixed whitespace
          sessionmgr: Implement LookupConfigName() method
          sessionmgr/proxy: Implement LookupConfigName() for sessions
          ovpn3cli: Extend session commands with --config
          shell: Improve --config completion further
          docs: Add man pages for openvpn3 config* commands
          configmgr: Remove support for 'insecure' tls-cert-profile
          docs: Add man pages for openvpn3 session* commands
          docs: Add man pages related to logging
          docs: Add missing man page sections to SEE ALSO segments
          docs: Add man pages for the missing openvpn3-service-* services
          docs: Add a generic openvpn3-linux.7 man page
          Add missing test programs to .gitignore
          netcfg: Add str() method to class Network
          netcfg: Extend NetCfgDevice with methods setting/getting device name
          netcfg: Fix incorect const flags for sending StateChange signals
          dbus/signals: Declare Send() methods const
          netcfg: Save the real tun interface name
          netcfg: Send signals on changes
          netcfg: Rename NetCfgStateEvent to NetCfgChangeEvent
          netcfg: Implement GVariant parsing of NetworkChange events
          netcfg: Add operator== methods in NetCfgChangeEvent
          netcfg: Extend NetCfgChangeEvent unit test
          netcfg: Implement NetCfgChangeEvent for excluded routes
          netcfg: Implement NetCfgChangeEvent for DNS changes
          netcfg: The main netcfg manager object do not send NetworkChange signals
          netcfg: Make NetCfgChangeType bit oriented
          netcfg: Extend output possibilities in NetCfgChangeEvent::TypeStr()
          netcfg: Extend NetCfgEvent with FilterMaskList()
          netcfg: Extend NetCfgChangeEvent with FilterMaskStr()
          dbus/signal: Extend DBusSignalProducer::Send() to support std::vector
          dbus/signal: Extend DBusSignalProducer with new protected methods
          netcfg: Move signal_broadcast option into NetCfgOptions
          netcfg: Implement basic subscription management for signals
          netcfg: Implement support for subscriptions in NetCfgSignals
          netcfg: Implement NetworkChange subscription management
          docs: Extend documentation to cover netcfg NetworkChange subscription methods
          docs: Fix lots of typing errors in netcfg interface references
          dbus: Fix some minor disorganized errors in the policy
          client/dbus: Tighten D-Bus policy for net.openvpn.v3.be* services
          log/dbus: Make the main LogSender::Log() method virtual
          client: Add session token to all Log events
          netcfg: Remove netcfg's own PID from from network device paths
          client: Use more unique device name than 'o3tun'
          netcfg: Add empty objects constructors on VPNAddress and Network classes
          netcfg: Extend NetworkChange signals with more structured details
          netcfg: Merge IPv4 and IPv6 NetCfgChangeType flags
          docs: Update the netcfg D-Bus service documentation
          openvpn3: Revamp the code preparing the available commands
          configmgr: Make overrides.hpp an independent compile unit
          ovpn3cli: Make arghelpers.hpp an independent compile unit
          openvpn3: Split up commands into independent compilation units
          openvpn3: Move the 'version' command to its own commands file
          ovpn3cli: Generalize the command line program implementation
          ovpn3cli: Split out log-service from log.cpp
          openvpn3: Move the log-service command over to openvpn3-admin
          openvpn3-admin: Add netcfg-service command
          man: Move user commands to man section 1
          build: Ensure config-version.h is built early
          shell: Extend bash auto-completion to support openvpn3-admin
          openvpn3: Improve config-import --help
          openvpn3-core: Update to latest upstream master
          docs: Correct missing change in dbus-service-net.openvpn.v3.client.md
          log: Make LogEvent::Parse() private
          log: Extend LogEvent to be more self-contained
          log: Make use of LogEvent parsing capabilities
          log: Extend LogEvent to support session-tokens
          log: Allow LogSender::GetLogIntrospection() to be overridden
          client: Extend Log signal from backend client with session token
          log: Log session token information as meta-data if present
          docs: Update README.md
          docs: Remove TODO.md
    
    Lev Stipakov (11):
          Refactor request-queue tests
          requiresqueue.hpp: change instance method to static
          Replace throw() with noexcept
          Fix incorrect return statement
          Fix undefined behavior in method return
          netcfg/proxy: Implement proxy interface for subscription management API
          netcfg: Enable using NetCfgChangeType as bit flags
          dbus: enable introspection for netcfg
          cosmetics: Fix usage of uni/multi-cast terminology
          contrib: Add experimental CMake support for IDEs
          build: Fix the incorrect value of systemd_unitdir
    
  • v1_beta protected
    OpenVPN 3 Linux v1 (beta)