cthuang
eacc8c648d
TUN-6812: Drop IP packets if ICMP proxy is not initialized
2022-09-30 14:10:32 +00:00
cthuang
cbf8c71fab
TUN-6716: Document limitation of Windows ICMP proxy
2022-09-29 14:51:53 +01:00
cthuang
be0305ec58
TUN-6741: ICMP proxy tries to listen on specific IPv4 & IPv6 when possible
...
If it cannot determine the correct interface IP, it will fallback to all interfaces.
This commit also introduces the icmpv4-src and icmpv6-src flags
2022-09-26 11:37:08 +01:00
cthuang
3449ea35f2
TUN-6791: Calculate ICMPv6 checksum
2022-09-22 15:18:53 +00:00
cthuang
b639b6627a
TUN-6744: On posix platforms, assign unique echo ID per (src, dst, echo ID)
...
This also refactor FunnelTracker to provide a GetOrRegister method to prevent race condition
2022-09-19 14:39:47 +01:00
cthuang
8a53c1aa1d
TUN-6592: Decrement TTL and return ICMP time exceed if it's 0
2022-09-15 17:53:26 +01:00
cthuang
2ffff0687b
TUN-6696: Refactor flow into funnel and close idle funnels
...
A funnel is an abstraction for 1 source to many destinations.
As part of this refactoring, shared logic between Darwin and Linux are moved into icmp_posix
2022-09-09 13:06:00 +01:00
cthuang
7e760f9fcc
TUN-6586: Change ICMP proxy to only build for Darwin and use echo ID to track flows
2022-08-27 22:37:08 +01:00
cthuang
efb99d90d7
TUN-6708: Fix replace flow logic
2022-08-26 17:52:06 +01:00
cthuang
59f5b0df83
TUN-6530: Implement ICMPv4 proxy
...
This proxy uses unprivileged datagram-oriented endpoint and is shared by all quic connections
2022-08-24 17:33:03 +01:00
cthuang
bad2e8e812
TUN-6666: Define packet package
...
This package defines IP and ICMP packet, decoders, encoder and flow
2022-08-24 11:36:57 +01:00