Commit Graph

212 Commits

Author SHA1 Message Date
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
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 cdcbfdbbe4
Merge pull request #5 from keeshux/support-newer-compression-framing
Support newer compression framing
2018-08-30 14:46:28 +02:00
Davide De Rosa 68810d9497 Add description to framing enum 2018-08-30 13:59:47 +02:00
Davide De Rosa f2c892eb68 Fix Jazzy YAML after renamings 2018-08-30 12:44:06 +02:00
Davide De Rosa 34b3bcb509 Update README about compression framing 2018-08-30 12:43:36 +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 b2d4530f19
Merge pull request #3 from keeshux/client-certificate
Client certificate
2018-08-28 13:09:57 +02:00
Davide De Rosa 184b9987de Discourage CA trust in Demo 2018-08-28 12:55:27 +02:00
Davide De Rosa 48098486bf Rearrange feature list 2018-08-28 12:55:27 +02:00
Davide De Rosa ffddb682f7 Add client cert feature to README 2018-08-28 12:55:27 +02:00
Davide De Rosa dee2956406 Rename Certificate to CryptoContainer
Makes more sense as it holds certs and keys. Can be other formats
than PEM in the future.
2018-08-28 12:55:27 +02:00
Davide De Rosa e6f509a26c Add client certificate to TunnelKitProvider
Refactor composition of temporary file URL.

Also fix missing LZOFraming from Configuration.builder().
2018-08-28 12:55:27 +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 6a71ada1c8 Drop support for redundant EC curves 2018-08-28 12:55:27 +02:00
Davide De Rosa 8c3c7b614c Merge branch 'relicense-properly' 2018-08-28 12:54:05 +02:00
Davide De Rosa e2ede9485a Add bit about additional licenses 2018-08-28 12:53:14 +02:00
Davide De Rosa 8e70567c83 Remove forgotten stale certificates 2018-08-28 12:53:14 +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 fabd59f9e3 Add basic CLA 2018-08-28 12:53:12 +02:00
Davide De Rosa acc129bf3b
Merge pull request #4 from keeshux/split-socket-link
Split socket and link implementations
2018-08-24 12:00:07 +01:00
Davide De Rosa c4b0964c3c Improve split naming
*Socket + *Link
2018-08-24 12:44:17 +02:00
Davide De Rosa 54cc811e47 Use MTU configuration for the link instead
Raise default link MTU from 1000 to 1250. Keep default for
tunnel MTU.
2018-08-24 12:37:09 +02:00
Davide De Rosa 6208fe8e21 Split GenericSocket and LinkInterface
Keep socket and link logic separated. Allows for setting MTU
specifically for the link.

- UDP: hardcoded 1000
- TCP: ignored (.max)
2018-08-24 12:36:35 +02:00
Davide De Rosa 684b3b6c3d
Merge pull request #2 from keeshux/remove-deprecated-lzo-framing
Deprecate LZO framing
2018-08-23 23:49:29 +01:00
Davide De Rosa 94890c08cf Do not deprecate until replacement
Implement new compression framing later.
2018-08-24 00:48:17 +02:00
Davide De Rosa 4bb9eaeddc Comment on compression framing support 2018-08-24 00:29:34 +02:00
Davide De Rosa 25aa05498d Enable LZO framing for the sake of Demo 2018-08-24 00:27:45 +02:00
Davide De Rosa 9f54e624ee Expose LZO framing option 2018-08-24 00:27:45 +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 1e7d1beefe Bump minor version 2018-08-23 18:55:46 +02:00
Davide De Rosa b4589ab262
Merge pull request #1 from keeshux/refactor-session-proxy
Refactor SessionProxy
2018-08-23 17:53:56 +01:00
Davide De Rosa 5a46dd7608 Update Demo to new refactoring 2018-08-23 18:51:36 +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