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