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
|
ca77858bf0
|
Move CryptoContainer to Core
|
2018-10-25 18:34:02 +02:00 |
|
Davide De Rosa
|
f1efac073c
|
Export and document log shortcuts in Configuration
|
2018-10-24 21:06:04 +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
|
8b59fe6f4c
|
Use RawRepresentable where adequate
|
2018-10-24 09:19:50 +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
|
7ffb997904
|
Add defaults key for last error
|
2018-10-22 01:04:36 +02:00 |
|
Davide De Rosa
|
4bf7f1a1fc
|
Bridge SessionError to public ProviderError
|
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
|
f93634bd7a
|
Respect link MTU in TCP
Mitigates #39
|
2018-10-22 00:56:08 +02:00 |
|
Davide De Rosa
|
8ccc4c08a5
|
Add auth strategy
|
2018-10-19 16:20:56 +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
|
7b96247c72
|
Fix interpretation of 0 seconds
0 keep-alive = never
0 reneg seconds = never
|
2018-09-28 08:39:57 +02:00 |
|
Davide De Rosa
|
58726a67d7
|
Update SwiftyBeaver for MemoryDestination
See for reference:
- https://github.com/pia-foss/tunnel-apple/pull/15
- https://github.com/SwiftyBeaver/SwiftyBeaver/pull/299
|
2018-09-23 14:14:25 +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
|
856fa9e12e
|
Take PacketStream out and make public
Useful for reuse in TCP streams.
|
2018-09-19 22:04:52 +02:00 |
|
Davide De Rosa
|
6ffdcec47b
|
Return optional from String/IPv4 conversion
|
2018-09-19 22:03:46 +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
|
02a20b5308
|
Indent TunnelKitProvider.Configuration log
Gives more context.
|
2018-09-12 15:49:41 +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
|
fcfe1f3f68
|
Add keepAliveSeconds field in AppExtension
|
2018-09-07 22:13:40 +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
|
802f7dc0f8
|
Fix debugLogFormat not copied to builder
|
2018-09-06 10:34:10 +02:00 |
|
Davide De Rosa
|
d6b80ea449
|
Implement Codable in public entities
Also rename CompressionFraming for being an extension of
SessionProxy.
|
2018-09-06 10:34:10 +02:00 |
|
Davide De Rosa
|
3aebedf5b8
|
Encapsulate complex serialization
|
2018-09-04 15:59:22 +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
|
b050110e60
|
Bridge CompressionFraming to Swift
Avoid exposing __TunnelKitNative module for using it.
|
2018-08-31 01:40:58 +02:00 |
|
Davide De Rosa
|
b81294f6e4
|
Parse IPv4 from String
|
2018-08-31 01:06:38 +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
|
dee2956406
|
Rename Certificate to CryptoContainer
Makes more sense as it holds certs and keys. Can be other formats
than PEM in the future.
|
2018-08-28 12:55:27 +02:00 |
|