* Postpone setting route gateway
Resolve in NetworkSettingsBuilder.
* Store routes separately from IP*Settings
Parse as optionals to avoid empty arrays.
* Deprecate routes stored in IP*Settings
* Apply routes from new fields
* Update CHANGELOG
* Delegate network settings to ad-hoc builder
- Assert network settings nil or non-empty, NOT precondition
- Fix log about local DNS, only if not gateway
- Remove non-working block-local code
Fixes#289, fixes#290
* Unmask safe and helpful network settings
* Parse --route-no-pull
When provided, pull everything except:
- Routes
- DNS
- Proxy
Implement with higher granularity compared to OpenVPN.
* Apply no-pull mask in tunnel settings
Pull server settings by default to match standard OpenVPN
behavior. Library was prioritizing client over server.
* Add link in CHANGELOG
- Treat empty passphrase as no passphrase
- Parse authentication requirement from --auth-user-pass
- Overload ConfigurationParser with String parameter
- Move OpenVPN fallbacks inline with builder
Give a withFallbacks: option to initialize basic fields rather
than leaving them nil.
Minimize target dependency on OpenSSL (easier to drop later).
Outside of OpenVPN tunnel extension, OpenSSL is only used to
decrypt encrypted private keys in CryptoContainer (found in
TunnelKitOpenVPNCore, therefore "temporarily" dependent on
CTunnelKitOpenVPNAppExtension for TLSBox/CryptoBox).