Commit Graph

111 Commits

Author SHA1 Message Date
Davide De Rosa 22f80735ca Strip certificate preamble
Fixes #78
2019-04-02 00:55:58 +02:00
Davide De Rosa 670c4c31ba Bump version 2019-04-02 00:40:50 +02:00
Davide De Rosa 559bb6607c Add and test PKCS#8 decryption
Fixes #80
2019-04-02 00:34:23 +02:00
Davide De Rosa 47b80d5361 Refactor to decrypt generic key 2019-04-02 00:31:54 +02:00
Davide De Rosa 5120bcae0a Migrate to Swift 5 2019-03-30 23:18:45 +01:00
Davide De Rosa 182a5fa02f Bump version 2019-03-26 00:37:35 +01:00
Davide De Rosa e5393f81b8 Test decrypt .pem with encrypted private key 2019-03-25 18:45:01 +01:00
Davide De Rosa 6245b5d28d Bump version 2019-03-20 17:57:48 +01:00
Davide De Rosa 0eb0e3e478 Parse compression from several places
- PUSH_REPLY
- .ovpn configuration
- TunnelKitProvider
2019-03-19 15:14:29 +01:00
Davide De Rosa 5cc32b1060 Wrap minilzo into dynamic Obj-C plugin
Handle library errors to some extent.
2019-03-19 15:12:46 +01:00
Davide De Rosa 3621b5dab2 Bump minor version 2019-03-18 22:51:20 +01:00
Davide De Rosa 147cbb8376 Bump version and update CHANGELOG 2019-03-08 13:37:09 +01:00
Davide De Rosa c05a4798ce Bump version 2019-02-28 17:20:13 +01:00
Davide De Rosa e4dc6ea2ea Bump version 2019-02-25 11:16:27 +01:00
Davide De Rosa 0e891a1029 Fix OpenSSL version in pod and podspec
And bump spec to 1.4.1
2019-02-23 23:19:06 +01:00
Davide De Rosa 0302803d3e Test configuration parser 2018-11-10 10:58:06 +01:00
Davide De Rosa 40fd2c7ede Parse configuration from .ovpn file 2018-11-10 10:58:06 +01:00
Davide De Rosa f91db4cbf1 Move EndpointProtocol/SocketType to Core 2018-11-10 10:48:17 +01:00
Davide De Rosa 0800c943a8 Add shortcut extension for creating regexes
Also expose enumeration methods for internal reuse.
2018-11-10 10:47:58 +01:00
Davide De Rosa a6bd33ae83 Bump minor version 2018-11-10 10:41:42 +01:00
Davide De Rosa 3a6efaecc6 Reuse tests for macOS target 2018-11-05 18:37:15 +01:00
Davide De Rosa d5b292c61d Bump version 2018-11-05 15:48:27 +01:00
Davide De Rosa ca77858bf0 Move CryptoContainer to Core 2018-10-25 18:34:02 +02:00
Davide De Rosa 60ac9fc672 Bump minor version 2018-10-25 18:33:44 +02:00
Davide De Rosa 617a72fbea Bump version and fix latest CHANGELOG 2018-10-24 21:06:04 +02:00
Davide De Rosa bbaa60c3bd Bump version and update CHANGELOG 2018-10-22 15:47:36 +02:00
Davide De Rosa 29ec39f151 Bump minor version 2018-10-19 17:25:11 +02:00
Davide De Rosa fbd3f977d5 Parse static key from file 2018-10-19 17:22:26 +02:00
Davide De Rosa 55e0aa5c5a Implement and test crypt serializer 2018-10-19 17:06:26 +02:00
Davide De Rosa 3ec4a7d292 Implement AES-CTR encryption 2018-10-19 16:56:20 +02:00
Davide De Rosa 66735ec118 Prepare API to enable TLS wrapping
Extensible TLSWrap parameter.
2018-10-19 16:11:35 +02:00
Davide De Rosa 5c8c361fce Add StaticKey class for static OpenVPN keys 2018-10-19 16:11:35 +02:00
Davide De Rosa eb8a8b38c2 Restore PIA HARD_RESET code 2018-10-18 12:45:32 +02:00
Davide De Rosa 872e20a95a Add function to compute MD5 from certificate 2018-10-18 12:32:22 +02:00
Davide De Rosa 11e9160acb Bump version again 2018-10-10 22:23:26 +02:00
Davide De Rosa 20d6d6747e Bump version
Take from command line, not file (unused after `1d3071b`).
2018-10-10 18:59:50 +02:00
Davide De Rosa ab050c6c00 Upgrade/fix demo project
- Target
- Pods
- Entitlements
- Swift 4.2
- License headers
2018-10-06 16:22:02 +02:00
Davide De Rosa b0ff73df59 Add Gemfile to lock CocoaPods
Skip 1.5, has a few issues.
2018-09-26 11:52:39 +02:00
Davide De Rosa b348e456a5 Upgrade OpenSSL-Apple to raise iOS target to 11 2018-09-26 11:30:04 +02:00
Davide De Rosa 657cb566cd Automate version/build numbers 2018-09-24 10:26:43 +02:00
Davide De Rosa b2dba4822a Upgrade to Swift 4.2 (Xcode 10) 2018-09-22 10:11:19 +02:00
Davide De Rosa 44fc38e8ef Rename encryption headers for consistency
The shared prefix makes it easier to associate them with
implementation files.
2018-09-20 09:03:33 +02:00
Davide De Rosa 595cae3563 Add strategy for control channel serialization 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 7aa4a0cc04 Fix a few annoyances with C headers
Do not compile headers, FFS.
2018-09-07 00:30:53 +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 b050110e60 Bridge CompressionFraming to Swift
Avoid exposing __TunnelKitNative module for using it.
2018-08-31 01:40:58 +02:00
Davide De Rosa de6b22349e Test IPv4 <-> String conversions 2018-08-31 01:06:38 +02:00
Davide De Rosa b0758412a0 Add PUSH_REPLY unit tests 2018-08-30 18:04:12 +02:00
Davide De Rosa 68810d9497 Add description to framing enum 2018-08-30 13:59:47 +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 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 8e70567c83 Remove forgotten stale certificates 2018-08-28 12:53:14 +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 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