-
v9_beta protected4e251217 · ·
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 protectedee9ae866 · ·
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 protected9478329e · ·
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 protectede6c66892 · ·
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 protected16dd2acd · ·
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 protectedd2fef7e8 · ·
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 protectedbcc8e481 · ·
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 protectedbb2e96a3 · ·
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