Commit Graph

702 Commits

Author SHA1 Message Date
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
Davide De Rosa
7723a7fe7d Move compression magic bytes back to PacketMacros 2018-08-30 19:33:23 +02:00
Davide De Rosa
4dd9bd1f25
Merge pull request #7 from keeshux/enhance-routing
Enhance routing
2018-08-30 18:13:02 +02:00
Davide De Rosa
b0758412a0 Add PUSH_REPLY unit tests 2018-08-30 18:04:12 +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
2f7d41a921
Merge pull request #6 from keeshux/block-based-payload-assembly
Block based payload assembly
2018-08-30 18:01:30 +02:00
Davide De Rosa
99068c0a2f Fix unit tests after refactoring 2018-08-30 17:52:54 +02:00