Davide De Rosa
1573b2070a
Move control queue management
...
- Out packets
- In packets
- Acks
2018-09-19 22:04:52 +02:00
Davide De Rosa
e6dd4de472
Move control data parsing
2018-09-19 22:04:52 +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
2bd9484a43
Move ControlPacket serialization to Obj-C
...
Additionally, make sessionId non-optional in control packets. They
must have it, therefore treat a missing sessionId as a programming
error instead.
Reuse routines for acks to make PacketMacros the only point of
packets serialization.
2018-09-19 22:04:52 +02:00
Davide De Rosa
92dbb57666
Revert CommonPacket name to ControlPacket
2018-09-19 22:04:52 +02:00
Davide De Rosa
915638b163
Log negotiated parms at info level
...
Useful when debug disabled.
2018-09-12 15:48:47 +02:00
Davide De Rosa
4af0ce8739
Refactor duplicate keep-alive code
2018-09-09 00:52:16 +02:00
Davide De Rosa
3a02557b5e
Override keep-alive with pushed interval
2018-09-09 00:52:16 +02:00
Davide De Rosa
01f65b2a7e
Always shut down on known tunnel error
...
Not recoverable by default (e.g algorithm mismatch).
2018-09-08 00:10:35 +02:00
Davide De Rosa
ecbad85b4a
Discard 0 keep-alive interval
2018-09-08 00:06:19 +02:00
Davide De Rosa
e5918d1b05
Override framing with pushed if available
2018-09-07 15:11:44 +02:00
Davide De Rosa
55cdd6227c
Interpret 0 reneg seconds as never
2018-09-07 14:58:56 +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
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
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
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
a4c109a916
Bridge client cert from SessionProxy to TLSBox
2018-08-28 12:55:27 +02:00
Davide De Rosa
b7a48d4f4f
Support client certificate in TLSBox
2018-08-28 12:55:27 +02:00
Davide De Rosa
b172f79719
Re-license with proper per-file notices
...
Clarify explicitly the author/extent of the fork, with proper
credit to the original project's license and copyright holder.
2018-08-28 12:53:14 +02:00
Davide De Rosa
9f54e624ee
Expose LZO framing option
2018-08-24 00:27:45 +02:00
Davide De Rosa
fe7a2c6941
Drop a few old commented lines
2018-08-23 18:51:36 +02:00
Davide De Rosa
2459fe1bfd
Move a few classes inside SessionProxy
...
- Authenticator
- EncryptionBridge (formerly EncryptionProxy)
- PushReply
- SessionKey
They only make sense there. Content unchanged.
2018-08-23 18:51:36 +02:00
Davide De Rosa
6d5e9f68a9
Move cipher/digest enums to Core
...
Restrict choice to supported OpenSSL algorithms.
2018-08-23 18:51:36 +02:00
Davide De Rosa
8a9e99e6a9
Wrap SessionProxy configuration in a builder
2018-08-23 18:51:36 +02:00
Davide De Rosa
897e824340
Enforce use of non-preset CA certificates
2018-08-23 12:11:55 +02:00
Davide De Rosa
dfac465c1d
Drop support for PIA HARD_RESET patch
2018-08-23 12:11:55 +02:00
Davide De Rosa
4d03df7066
Finish up renaming in headers and prefixes
2018-08-23 12:10:56 +02:00
Davide De Rosa
fe665e8ad5
Rename library to TunnelKit
2018-08-23 12:10:41 +02:00