Davide De Rosa
01554713b8
Move IP header logic to separate struct
2020-05-12 13:07:09 +02:00
Davide De Rosa
f1a28a8d32
Revert to more efficient ternary op in IP header
...
See #169 and 753927f36b
2020-05-12 12:59:33 +02:00
Davide De Rosa
60213bafb8
Fix and improve #169
...
- Use constants
- Check packet length for OOB read
- Replace assertion with logging
2020-05-08 21:01:36 +02:00
Roopesh Chander
753927f36b
Fix how NETunnelInterface handles IP protocol number
...
The IP protocol number passed to NEPacketTunnelFlow is determined per
packet based on the IP header, instead of determining it based on
whether IPv6 settings are available or not.
2020-05-06 09:37:24 +05:30
Johan Kool
78e332d48b
Force IPv4 on Mojave otherwise it breaks
2020-04-10 13:37:15 +02:00
Davide De Rosa
a7aa78141e
Update copyright clause
2020-01-11 09:26:41 +01:00
Davide De Rosa
21eee24e7c
Add missing documentation
2019-05-24 16:02:06 +02:00
Davide De Rosa
72ce14b676
Make AppExtension entities public
2019-05-24 16:02:06 +02:00
Davide De Rosa
9445b825d0
Make AppExtension generic
...
- Make AppExtension a standalone util subspec
- Move OpenVPN tunnel provider to OpenVPN subspec
- Move Utils to Core subspec
- Depend OpenVPN on Core + AppExtension
2019-05-24 10:41:26 +02:00
Davide De Rosa
930f05c984
Move OpenVPN timeouts out of Core
2019-05-19 12:39:51 +02:00
Davide De Rosa
9da7fa9667
Split Core into Core+OpenVPN
...
Two Obj-C modules:
- __TunnelKitCore
- __TunnelKitOpenVPN
Seems the only way to do it in multiple module maps.
Move OpenVPN specifics out of CoreConfiguration.
2019-05-19 12:22:32 +02:00
Davide De Rosa
491092f2a3
Drop extra header lines
2019-05-19 12:21:44 +02:00
Davide De Rosa
713a46d817
Update GitHub URL
...
Move to passepartoutvpn org.
2019-05-14 10:58:47 +02:00
Davide De Rosa
1b8647bcac
Convert PacketSteram to Obj-C
...
For better TCP efficiency.
2019-04-25 12:42:29 +02:00
Davide De Rosa
23b6e3b98e
Relax negotiation timeouts
2019-04-16 23:59:56 +02:00
Davide De Rosa
8dfd5f23c1
Handle unknown enum defaults
2019-03-30 23:18:45 +01:00
Davide De Rosa
7d69e09c53
Update copyright
2019-03-09 11:44:18 +01:00
Davide De Rosa
b32c1848be
Unmask harmless destination port
2018-11-05 15:48:34 +01:00
Davide De Rosa
ae85337e91
Mask log.debug
2018-10-24 18:47:41 +02:00
Davide De Rosa
033763f372
Mask log.info
2018-10-24 18:47:41 +02:00
Davide De Rosa
91349fd780
Take shouldChangeProtocol out of GenericSocket
...
Behavior is not exactly similar in UDP and TCP.
2018-10-24 09:42:03 +02:00
Davide De Rosa
f93634bd7a
Respect link MTU in TCP
...
Mitigates #39
2018-10-22 00:56:08 +02:00
Davide De Rosa
856fa9e12e
Take PacketStream out and make public
...
Useful for reuse in TCP streams.
2018-09-19 22:04:52 +02:00
Davide De Rosa
8adb9871c3
Dispose tunnel if can't try next protocol
...
Return boolean in socketShouldChangeProtocol indicating whether
another protocol is available.
2018-09-08 00:10:35 +02:00
Davide De Rosa
ec2950171b
Use AF_INET6 according to IPv6 availability
2018-08-31 01:59:08 +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
c4b0964c3c
Improve split naming
...
*Socket + *Link
2018-08-24 12:44:17 +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
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