Commit Graph

566 Commits

Author SHA1 Message Date
Davide De Rosa 596ec00943 Fix a wrong compression test
--compress lzo is indeed supported.
2019-03-30 23:18:45 +01:00
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 182a5fa02f Bump version 2019-03-26 00:37:35 +01:00
Davide De Rosa 39a4c33f43 Set release date 2019-03-25 21:20:04 +01:00
Davide De Rosa 01ac29391b Merge branch 'encrypted-cert-key' 2019-03-25 20:43:40 +01:00
Davide De Rosa b5b68474af Update CHANGELOG and README
Fixes #72
2019-03-25 20:30:32 +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 e5393f81b8 Test decrypt .pem with encrypted private key 2019-03-25 18:45:01 +01:00
Davide De Rosa f37bfb3579 Implement RSA privkey decryption via OpenSSL 2019-03-25 18:45:00 +01:00
Davide De Rosa 3e2c9ad7ba Update CHANGELOG 2019-03-25 15:53:26 +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 17b7aee110 Merge branch 'randomize-endpoints' 2019-03-25 10:33:06 +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 f8a1ec0a5b Update Demo project 2019-03-21 18:31:21 +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 6ac9d61827 Merge branch 'udp-exit-notify' 2019-03-20 17:58:02 +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 6245b5d28d Bump version 2019-03-20 17:57:48 +01:00
Davide De Rosa 7c458f8426 Add convenient scripts for pod management 2019-03-20 17:28:20 +01:00
Davide De Rosa a31ad09711 Set release date 2019-03-20 16:47:09 +01:00
Davide De Rosa 76631a00fc
Merge pull request #70 from keeshux/support-compress-lzo
Support --compress lzo
2019-03-20 16:45:21 +01:00
Davide De Rosa 0cd5b2f6af Update README with full LZO support 2019-03-20 16:44:36 +01:00
Davide De Rosa 2f17e30fb9 Exclude testmini.c from LZO spec 2019-03-20 09:13:01 +01:00
Davide De Rosa 40458ebf5f Update CHANGELOG 2019-03-20 09:08:35 +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 a06a4fef9b
Merge pull request #69 from keeshux/support-legacy-lzo
Support legacy LZO compression
2019-03-20 09:04:03 +01:00
Davide De Rosa a238c2c806 Update CHANGELOG 2019-03-19 16:19:01 +01:00
Davide De Rosa 8e99c91e72 Adjust README to LZO addition
Add Part III about LZO licensing.
2019-03-19 15:20:47 +01:00
Davide De Rosa 0b20faed27 Provide LZO as an optional subspec 2019-03-19 15:14:29 +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