Davide De Rosa
5120bcae0a
Migrate to Swift 5
2019-03-30 23:18:45 +01:00
Davide De Rosa
f686a0aee4
Fix Xcode warnings
2019-03-30 20:16:04 +01:00
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
d03f1bd9af
Fix checksEKU not propagated to TunnelKitProvider
2019-03-26 00:37:35 +01:00
Davide De Rosa
00c76f707f
Throw specific error if unable to decrypt
...
Normally a bad passphrase.
2019-03-25 19:24:35 +01:00
Davide De Rosa
ffcccb5420
Throw specific error on missing passphrase
...
So that client can retry with a passphrase.
2019-03-25 18:49:53 +01:00
Davide De Rosa
b07ec88ff2
Add passphrase parameter to ConfigurationParser
...
Use it to decrypt encrypted PEMs.
2019-03-25 18:48:59 +01:00
Davide De Rosa
f37bfb3579
Implement RSA privkey decryption via OpenSSL
2019-03-25 18:45:00 +01:00
Davide De Rosa
53f3048674
Add missing documentation
2019-03-25 15:46:15 +01:00
Davide De Rosa
9c4d491a3b
Make floating XXX a FIXME
2019-03-25 10:37:15 +01:00
Davide De Rosa
54a477ce67
Randomize endpoints in ConnectionStrategy
...
Fixes #76
2019-03-25 10:32:23 +01:00
Davide De Rosa
7ce31c3184
Parse randomize endpoints from --remote-random
2019-03-25 10:32:08 +01:00
Davide De Rosa
42227fcc00
Add SessionProxy.Configuration.randomizeEndpoint
2019-03-25 10:32:08 +01:00
Davide De Rosa
9c0205614b
Disable rebind-on-float until a solid fix
...
Mitigates #75
2019-03-25 10:10:08 +01:00
Davide De Rosa
71d54e2dc3
Send IV_LZO only if supported
2019-03-25 10:07:57 +01:00
Davide De Rosa
04fbbb1fe1
XXX: Fix log glitch
2019-03-21 19:40:42 +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
f32c231b90
Remove deprecated API
...
Should have done so in 1.5.0
2019-03-21 18:30:40 +01:00
Davide De Rosa
79509a1ea1
Fix execution queue in network handler
2019-03-20 18:01:57 +01:00
Davide De Rosa
a5b8907918
Postpone shutdown until notification is written
...
Otherwise socket might be force-closed while sending the packet.
2019-03-20 17:57:56 +01:00
Davide De Rosa
c93461b153
Send explicit exit notification if UDP
...
Implement --explicit-exit-notify by default.
Fixes #29
2019-03-20 17:57:56 +01:00
Davide De Rosa
c6ab3b57db
Fix a few return in wrong scope
2019-03-20 17:57:56 +01:00
Davide De Rosa
9d479a9aba
Handle LZO compression in --compress framing
...
Share parse block between comp-lzo and compress.
It seems that --compress sends NO_COMPRESS w/o swapping.
Also suppress redundant LZOIsSupported(), implied by non-nil value
of self.lzo.
2019-03-20 09:04:27 +01:00
Davide De Rosa
4b9ffcfb4e
Accept LZO regardless of framing
2019-03-20 09:04:27 +01:00
Davide De Rosa
9a6f3d638c
Recognize "--compress lzo" option as legal
2019-03-20 09:04:27 +01:00
Davide De Rosa
7a449f90ee
Advertise LZO support
2019-03-19 15:14:29 +01:00
Davide De Rosa
0eb0e3e478
Parse compression from several places
...
- PUSH_REPLY
- .ovpn configuration
- TunnelKitProvider
2019-03-19 15:14:29 +01:00
Davide De Rosa
4d6d51818d
Compress/decompress LZO data packets
...
Return compressionHeader from parse blocks.
2019-03-19 15:14:27 +01:00
Davide De Rosa
197679057d
Return NSData from parsePayloadWithBlock
...
More friendly to (de)compression stage.
2019-03-19 15:12:56 +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
08b04c8e02
Fix not propagated checksEKU flag
2019-03-18 17:27:48 +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
e3b8a6b16b
Shut down on link error
...
Because it doesn't seem to recover until the tunnel dies.
2019-03-08 13:08:54 +01:00
Davide De Rosa
e849e6c0da
Reject <connection> blocks in .ovpn
...
- Use enumerateComponents for boolean test.
- Fix a test compile error on the way.
2019-03-04 17:39:37 +01:00
Davide De Rosa
1c1547fc8f
Fix DNS servers not serialized to AppExtension
2019-03-03 10:51:36 +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
0f2a5e1e14
Check NULL when verifying EKU
2019-02-25 23:33:31 +01:00
Davide De Rosa
8fe43269ab
Catch errors on CA MD5 calculation (PIA only)
2019-02-25 23:33:26 +01:00
Davide De Rosa
d1b5c94be9
Fix potential overflow in AEAD IV length
2019-02-25 23:23:43 +01:00
Davide De Rosa
06a872c448
Add ProviderError.serverCompression mapping
2019-02-25 23:09:06 +01:00
Davide De Rosa
3aadaf0186
Shut down when server pushes compression enabled
2019-02-25 23:01:21 +01:00
Davide De Rosa
367e8b7e08
Track whether server pushed a compression option
2019-02-25 23:01:21 +01:00
Davide De Rosa
8c1b95eaa7
Group PushReply regexes
2019-02-25 23:01:21 +01:00
Davide De Rosa
d6076b045a
Make checksEKU optional to fall back on decoding
2019-02-25 11:16:26 +01:00
Davide De Rosa
010da904fa
Parse EKU choice in .ovpn from remote-cert-tls
...
Fix unhandled extra spaces in dhcp-option DNS regex.
2019-02-25 11:16:26 +01:00
Davide De Rosa
265aca0829
Make EKU verification optional in TLSBox
2019-02-25 11:16:26 +01:00
Davide De Rosa
c244b29a8f
Parse DNS servers from configuration
2019-01-05 22:29:16 +01:00