Commit Graph

21 Commits

Author SHA1 Message Date
Davide De Rosa a430beb35f Improve Swift bridging of CryptoFlags 2018-10-19 16:56:20 +02:00
Davide De Rosa a85c4ea6da Rename packetId flag to more proper IV 2018-10-19 15:55:16 +02:00
Davide De Rosa bff9352c6e Handle encryption/peer-id in a stateless manner
Fixes #30
2018-10-19 15:54:55 +02:00
Davide De Rosa 70b50a7a2e Parse data opcode when decrypting
Assume it could be DATA_V1/V2 regardless of peer-id.
2018-10-19 11:33:12 +02:00
Davide De Rosa 600c93be55 Drop overheadLength, only used in one place 2018-09-20 09:03:33 +02:00
Davide De Rosa dd02c92aa5 Expose methods for capacity prediction
Encapsulate encrypt/decrypt buffer capacity calculation.
2018-09-20 09:03:33 +02:00
Davide De Rosa f6ee187db7 Use symbolic data header length 2018-09-20 09:03:33 +02:00
Davide De Rosa fe92fcd91c Remove NSData versions from Encrypter/Decrypter
Move to test target. Conversely, bring ZeroingData.data extension
into main targets.
2018-09-20 09:01:44 +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 aef7daec51 Fix and clean up redundant nullability specifiers 2018-09-12 15:38:52 +02:00
Davide De Rosa d53e7add10 Allow HMAC verify with nil cipher in CryptoCBC 2018-09-12 15:21:25 +02:00
Davide De Rosa 401d999b3d Expose HMAC digestLength where available 2018-09-12 15:21:25 +02:00
Davide De Rosa 3dabc254bc Improve naming in crypto classes
- Consistency in encryption/decryption flow
- Consistency in packet/payload
- DataPathChannel method names
2018-08-30 17:52:50 +02:00
Davide De Rosa 5166ac3813 Move compression framing to stateless blocks
Prepare payload blocks in DataPath.
2018-08-30 17:11:22 +02:00
Davide De Rosa 31924c6038 Make peerId stateless, imply from blocks
Will do the same with compressionFraming.
2018-08-30 14:56:03 +02:00
Davide De Rosa e57ef9fb86 Fix duplicate memcpy in AEAD crypto
Regression in #5
2018-08-30 14:55:26 +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 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 8836d2b175 Deprecate LZO compression framing
Prepend NO_COMPRESS if enabled, omit if not (default).
2018-08-24 00:18:42 +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