Commit Graph

159 Commits

Author SHA1 Message Date
Davide De Rosa
e9032e5490 Leave nil if push option parsed but unrecognized
For whatever reason. Do not override with .disabled when not
necessarily intended.
2018-09-07 15:22:03 +02:00
Davide De Rosa
828d32beb8 Add unit test 2018-09-07 15:14:13 +02:00
Davide De Rosa
e5918d1b05 Override framing with pushed if available 2018-09-07 15:11:44 +02:00
Davide De Rosa
0304c4a5eb Parse compression framing from PUSH_REPLY 2018-09-07 15:10:19 +02:00
Davide De Rosa
7898b940a1
Merge pull request #18 from keeshux/interpret-zero-reneg-seconds
Interpret 0 reneg seconds as never
2018-09-07 15:00:12 +02:00
Davide De Rosa
55cdd6227c Interpret 0 reneg seconds as never 2018-09-07 14:58:56 +02:00
Davide De Rosa
0b124af8fc
Merge pull request #17 from keeshux/decouple-provider-configuration
Decouple provider configuration
2018-09-07 14:58:40 +02:00
Davide De Rosa
a1cd6de860 Update demo accordingly 2018-09-07 00:32:16 +02:00
Davide De Rosa
7aa4a0cc04 Fix a few annoyances with C headers
Do not compile headers, FFS.
2018-09-07 00:30:53 +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
a54c767f57
Merge pull request #16 from keeshux/add-more-crypto-algorithms
Add more crypto algorithms
2018-09-06 12:18:39 +02:00
Davide De Rosa
1fbfe5b844 Document genericName method 2018-09-06 11:16:48 +02:00
Davide De Rosa
5b638ea5f6 Use different genericName for CBC/GCM 2018-09-06 11:16:14 +02:00
Davide De Rosa
0b28eacf0d Add more metadata to Cipher/Digest
- Ciphers are AES.
- Digests are HMAC.
2018-09-06 10:55:56 +02:00
Davide De Rosa
ce6a41a218 Add more ciphers/digests
No-brainer, OpenSSL EVP supports them.
2018-09-06 10:38:18 +02:00
Davide De Rosa
3c3efd9a78
Merge pull request #15 from keeshux/implement-codable-serialization
Implement Codable serialization
2018-09-06 10:35:31 +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
43a5972737 Fix cipher regex in PUSH_REPLY
Breaks with NCP enabled when cipher is not last. Trailing comma
was erroneously included in parsed cipher name.

Fixes #11
2018-09-05 03:54:40 +02:00
Davide De Rosa
d6ed402b19
Merge pull request #14 from keeshux/encapsulate-serialization
Encapsulate complex serialization
2018-09-04 16:06:43 +02:00
Davide De Rosa
3aebedf5b8 Encapsulate complex serialization 2018-09-04 15:59:22 +02:00
Davide De Rosa
bae51c735e
Merge pull request #13 from keeshux/signal-digest-embedding
Signal digest embedding
2018-09-04 15:58:55 +02:00
Davide De Rosa
e121555f82 Add Cipher.embedsDigest to signal digest embedding
Currently GCM ciphers do.
2018-09-04 15:57:07 +02:00
Davide De Rosa
be97972f18
Merge pull request #12 from keeshux/omit-sensitive-push-reply
Omit sensitive data from PUSH_REPLY log
2018-09-02 12:51:11 +02:00
Davide De Rosa
3543f7aab3 Omit sensitive data from PUSH_REPLY log
Namely auth-token.
2018-09-02 12:48:45 +02:00
Davide De Rosa
7df229c115
Merge pull request #11 from keeshux/add-ncp-support
Add initial NCP support
2018-09-02 02:24:34 +02:00
Davide De Rosa
e7e0e95892 Update README with NCP 2018-09-02 02:19:49 +02:00
Davide De Rosa
57b7457ad1 Fix DataPath unit tests 2018-09-02 02:09:20 +02:00
Davide De Rosa
201da9b69b Bump IV_VER to 2.4
Enough to claim.
2018-09-02 02:09:20 +02:00
Davide De Rosa
bcc95ad510 Send NCP in peer-info 2018-09-02 02:09:20 +02:00
Davide De Rosa
81eb18619d Pick cipher from PUSH_REPLY if present 2018-09-02 02:09:20 +02:00
Davide De Rosa
31e694859f Cache aggregated PushReply object
- authToken
- peerId
- cipher

Retain across soft resets.
2018-09-02 02:09:20 +02:00
Davide De Rosa
cff359fceb Parse pushed cipher if any 2018-09-02 02:09:20 +02:00
Davide De Rosa
e900454504 Share connection completion code
Across hard and soft reset.
2018-09-02 02:09:20 +02:00
Davide De Rosa
c930cda065 Consolidate DataPath with new flow 2018-09-02 02:09:20 +02:00
Davide De Rosa
c01ac7e1e3 Postpone keys setup until after PUSH_REPLY
And rename to setupEncryption() for ambiguity with SessionKey.
2018-09-02 02:09:20 +02:00
Davide De Rosa
0360a32d33
Merge pull request #8 from keeshux/ipv6-support
IPv6 support
2018-09-02 02:08:52 +02:00
Davide De Rosa
474e633e48 Parse arguments from regexp extension
Further code simplification.
2018-09-02 01:14:37 +02:00
Davide De Rosa
208fc48dd7 Drop unused DataPath protocols array 2018-08-31 01:59:08 +02:00
Davide De Rosa
ec2950171b Use AF_INET6 according to IPv6 availability 2018-08-31 01:59:08 +02:00
Davide De Rosa
235c485cae Simplify regex matching with private extension 2018-08-31 01:59:08 +02:00
Davide De Rosa
e6036095c9 Describe routes in IPv*Settings 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
ac0e7713d6 Parse IPv6 DNS servers
dhcp-option can be DN6 (older) or DNS (newer).
2018-08-31 01:59:08 +02:00
Davide De Rosa
97866e6f23 Set compression framing enum value by appearance
0 = none (oldest)
1 = comp-lzo
2 = compress (newest)
2018-08-31 01:58:18 +02:00
Davide De Rosa
a4375ba08a
Merge pull request #10 from keeshux/bridge-compression-framing
Bridge CompressionFraming to Swift
2018-08-31 01:46:41 +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
e8b59fe05b
Merge pull request #9 from keeshux/complete-ipv4-string-conversion
Complete IPv4/String conversion
2018-08-31 01:07:25 +02:00
Davide De Rosa
de6b22349e Test IPv4 <-> String conversions 2018-08-31 01:06:38 +02:00
Davide De Rosa
b81294f6e4 Parse IPv4 from String 2018-08-31 01:06:38 +02:00