Davide De Rosa
|
44fb5a5b48
|
Track data count in shared UserDefaults
Default disabled (dataCountInterval = 0).
|
2019-03-30 19:56:26 +01:00 |
Davide De Rosa
|
ac418f414a
|
Make masksPrivateData optional
Do not break Codable compatibility.
|
2019-03-21 19:32:06 +01:00 |
Davide De Rosa
|
fad20668b0
|
Override masksPrivateData via AppExtension
Unmask in demo.
Fixes #62
|
2019-03-21 19:19:22 +01:00 |
Davide De Rosa
|
5cc32b1060
|
Wrap minilzo into dynamic Obj-C plugin
Handle library errors to some extent.
|
2019-03-19 15:12:46 +01:00 |
Davide De Rosa
|
7d69e09c53
|
Update copyright
|
2019-03-09 11:44:18 +01:00 |
Davide De Rosa
|
6b29c9e06c
|
Double check reasserting during reconnection
A forced shutdown might happen during the recovery interval (1s).
|
2019-03-08 13:19:52 +01:00 |
Davide De Rosa
|
70ed2a4d83
|
Reset reasserting flag on plain shutdown
|
2019-03-08 13:16:03 +01:00 |
Davide De Rosa
|
86420ba8ea
|
Shut down on compressed data packet
Re-inforce #65 at the data path level. Should now cover all
compression scenarios.
|
2019-02-28 17:16:14 +01:00 |
Davide De Rosa
|
06a872c448
|
Add ProviderError.serverCompression mapping
|
2019-02-25 23:09:06 +01:00 |
Davide De Rosa
|
13c41d80e7
|
Allow overriding DNS servers
Fall back to those in PUSH_REPLY.
|
2019-01-05 22:25:58 +01:00 |
Davide De Rosa
|
84e216f56d
|
Deprecate lastErrorKey, encapsulate access
|
2018-10-25 22:36:31 +02:00 |
Davide De Rosa
|
8f328709c8
|
Wrap TKP.Configuration fields in SP.Configuration
Take credentials out of SP.Configuration. Makes sense as they
never appear in e.g. an .ovpn file.
|
2018-10-25 18:34:03 +02:00 |
Davide De Rosa
|
197d29042c
|
Take a cache URL in SessionProxy to store PEMs
|
2018-10-25 18:34:03 +02:00 |
Davide De Rosa
|
3fd0329736
|
Use CryptoContainer in SessionConfiguration
Instead of paths.
|
2018-10-25 18:34:02 +02:00 |
Davide De Rosa
|
f5d12300f9
|
Save debug log to file in app group container
Don't bog UserDefaults. Reuse debugLogKey for the log filename.
|
2018-10-24 21:06:04 +02:00 |
Davide De Rosa
|
ae85337e91
|
Mask log.debug
|
2018-10-24 18:47:41 +02:00 |
Davide De Rosa
|
033763f372
|
Mask log.info
|
2018-10-24 18:47:41 +02:00 |
Davide De Rosa
|
b1a79d6451
|
Shut down on server-initiated HARD_RESET
Session is stale and not recoverable (lame duck).
|
2018-10-24 12:31:37 +02:00 |
Davide De Rosa
|
d829247e6e
|
Simplify socket shutdown code
Drop weird (old?) linkFailures check.
|
2018-10-24 09:42:18 +02:00 |
Davide De Rosa
|
91349fd780
|
Take shouldChangeProtocol out of GenericSocket
Behavior is not exactly similar in UDP and TCP.
|
2018-10-24 09:42:03 +02:00 |
Davide De Rosa
|
c32185b524
|
Review/complete mapping to ProviderError
Errors from TunnelKitNative were not mapped. Also, move TLS CA
verification error to TLSBox domain.
|
2018-10-23 23:44:25 +02:00 |
Davide De Rosa
|
1ad4a62593
|
Report error status to shared defaults
Retain after disposal, unless manually stopped.
|
2018-10-22 01:04:36 +02:00 |
Davide De Rosa
|
6200a0bc1c
|
Split configuration and session errors
|
2018-10-22 01:04:36 +02:00 |
Davide De Rosa
|
66735ec118
|
Prepare API to enable TLS wrapping
Extensible TLSWrap parameter.
|
2018-10-19 16:11:35 +02:00 |
Davide De Rosa
|
9b785084e2
|
Customize HARD_RESET payload when PIA-patched
|
2018-10-18 13:31:11 +02:00 |
Davide De Rosa
|
98c5a015f3
|
Split endpoint and credentials
Basically drop AuthenticatedEndpoint.
|
2018-10-06 16:22:02 +02:00 |
Davide De Rosa
|
40b733db57
|
Make credentials optional
|
2018-10-06 16:21:59 +02:00 |
Davide De Rosa
|
093774535d
|
Make CA non-optional
Fix up nullability qualifiers in TLSBox.
Fixes #26
|
2018-10-06 15:53:22 +02:00 |
Davide De Rosa
|
19ce7de819
|
Encapsulate control state into ControlChannel
First step: variables + mutating funcs.
|
2018-09-19 22:04:52 +02:00 |
Davide De Rosa
|
d80c0b5460
|
Move in/out states to a generic struct
|
2018-09-19 22:04:52 +02:00 |
Davide De Rosa
|
da2727b003
|
Apply both IPv4 and IPv6 settings
Best choice to cope with "hybrid" environments.
|
2018-09-15 19:42:43 +02:00 |
Davide De Rosa
|
891c72caa1
|
Rearrange shutdown code rationally
|
2018-09-08 00:10:35 +02:00 |
Davide De Rosa
|
8adb9871c3
|
Dispose tunnel if can't try next protocol
Return boolean in socketShouldChangeProtocol indicating whether
another protocol is available.
|
2018-09-08 00:10:35 +02:00 |
Davide De Rosa
|
de09d0b5da
|
Only try upgrade socket on network error
|
2018-09-08 00:10:35 +02:00 |
Davide De Rosa
|
582ef4875d
|
Move default pingInterval to constructor
Use CoreConfiguration only within Core.
|
2018-09-08 00:00:07 +02:00 |
Davide De Rosa
|
65468207cb
|
Transfer keep-alive to SessionProxy
|
2018-09-07 22:14:57 +02:00 |
Davide De Rosa
|
14f5a68c12
|
Move appGroup out of Configuration
Decouple VPN parameters.
|
2018-09-07 00:25:21 +02:00 |
Davide De Rosa
|
ec2950171b
|
Use AF_INET6 according to IPv6 availability
|
2018-08-31 01:59:08 +02:00 |
Davide De Rosa
|
373a36b9c1
|
Parse and apply IPv6 settings when available
IPv4 currently mandatory in PushReply (exception otherwise).
|
2018-08-31 01:59:08 +02:00 |
Davide De Rosa
|
b0d264889c
|
Extend PUSH_REPLY parsing
- Topology
- Routes
Use the less confusing defaultGateway vs gatewayAddress.
|
2018-08-30 18:02:12 +02:00 |
Davide De Rosa
|
5bf7813d56
|
Forward compound SessionReply to delegate
Improves extensibility.
|
2018-08-30 18:02:12 +02:00 |
Davide De Rosa
|
209889b9d2
|
Make compression framing an enum option
- Disabled: no framing (default)
- CompLZO: NO_COMPRESS
- Compress: NO_COMPRESS_SWAP
|
2018-08-30 12:43:36 +02:00 |
Davide De Rosa
|
e6f509a26c
|
Add client certificate to TunnelKitProvider
Refactor composition of temporary file URL.
Also fix missing LZOFraming from Configuration.builder().
|
2018-08-28 12:55:27 +02:00 |
Davide De Rosa
|
b172f79719
|
Re-license with proper per-file notices
Clarify explicitly the author/extent of the fork, with proper
credit to the original project's license and copyright holder.
|
2018-08-28 12:53:14 +02:00 |
Davide De Rosa
|
54cc811e47
|
Use MTU configuration for the link instead
Raise default link MTU from 1000 to 1250. Keep default for
tunnel MTU.
|
2018-08-24 12:37:09 +02:00 |
Davide De Rosa
|
6208fe8e21
|
Split GenericSocket and LinkInterface
Keep socket and link logic separated. Allows for setting MTU
specifically for the link.
- UDP: hardcoded 1000
- TCP: ignored (.max)
|
2018-08-24 12:36:35 +02:00 |
Davide De Rosa
|
9f54e624ee
|
Expose LZO framing option
|
2018-08-24 00:27:45 +02:00 |
Davide De Rosa
|
2459fe1bfd
|
Move a few classes inside SessionProxy
- Authenticator
- EncryptionBridge (formerly EncryptionProxy)
- PushReply
- SessionKey
They only make sense there. Content unchanged.
|
2018-08-23 18:51:36 +02:00 |
Davide De Rosa
|
6d5e9f68a9
|
Move cipher/digest enums to Core
Restrict choice to supported OpenSSL algorithms.
|
2018-08-23 18:51:36 +02:00 |
Davide De Rosa
|
8a9e99e6a9
|
Wrap SessionProxy configuration in a builder
|
2018-08-23 18:51:36 +02:00 |