Commit Graph

69 Commits

Author SHA1 Message Date
Christian Ulrich bdeb00d71c
let puncher additional sockets; implement initiating from behind SymmetricRandom NAT using 1000 sockets (untested) 2020-11-22 12:57:46 +01:00
Christian Ulrich bf9569098f
let peer behind SymmetricRandom NAT use 70 sockets; punch 1000 holes on the other side 2020-11-21 23:00:15 +01:00
Christian Ulrich d92e8be393
let peer behind SymmetricRandom NAT use 30 sockets; punch 3000 holes on the other side 2020-11-20 23:40:18 +01:00
Christian Ulrich de26d60617
punch 20 holes to help the peer traverse our SymmetricRandom NAT 2020-11-20 22:47:18 +01:00
Christian Ulrich 25acfc9518
try without rate limit, but more holes 2020-11-20 22:39:50 +01:00
Christian Ulrich 9445029b0d
introduce rate limit again 2020-11-20 22:20:58 +01:00
Christian Ulrich e47a9d0191
include srcPorts in the debug message 2020-11-20 22:15:53 +01:00
Christian Ulrich 6e331e9631
go with 1000 ports for now 2020-11-20 22:14:27 +01:00
Christian Ulrich 18ee5e4919
use multiple sockets for punching multiple holes if behind a SymmetricRandom NAT 2020-11-20 22:04:35 +01:00
Christian Ulrich 45cc3e0e34
mapping -> allocation 2020-11-20 19:28:53 +01:00
Christian Ulrich cb9a43ea65
change port prediction API: allow puncher to retrieve NAT properties 2020-11-19 18:22:59 +01:00
Christian Ulrich 3f9d7a7671
balance predicted ports around the center between maxPort and minPort 2020-11-18 23:04:17 +01:00
Christian Ulrich 81a39f32c1
move Port -> uint16 conversions to a wrapper proc 2020-11-18 19:32:31 +01:00
Christian Ulrich e814df7a67
increase to 10000 ports 2020-11-18 18:28:40 +01:00
Christian Ulrich debd8247b8
more debug output 2020-11-18 18:24:19 +01:00
Christian Ulrich b91f8ab2e5
remove rate limiting 2020-11-18 18:23:00 +01:00
Christian Ulrich 490d34bd79
try continuous port range 2020-11-18 18:22:47 +01:00
Christian Ulrich 769621f4b9
use wider port range 2020-11-18 17:52:22 +01:00
Christian Ulrich 9b3196d8a0
try random ports for randokm port mapping 2020-11-18 17:47:15 +01:00
Christian Ulrich ee3ab4564d
better debug output 2020-11-18 17:12:18 +01:00
Christian Ulrich abbeaa61d8
try out rate limit 2020-11-18 16:34:33 +01:00
Christian Ulrich 7d31594054
change puncher API so we can notify the peer after sending out the SYN packets 2020-11-18 16:34:14 +01:00
Christian Ulrich 2b1cd9eeca
try IP_TTL = 2 for ACK packets 2020-11-18 09:31:09 +01:00
Christian Ulrich 49bebb5520
sends -> replies 2020-11-18 00:12:33 +01:00
Christian Ulrich 35e47e0d3e
remove some debug output 2020-11-18 00:10:46 +01:00
Christian Ulrich a04254b07e
only ignore SYN packet because it can be the start of a QUIC handshake too 2020-11-18 00:10:36 +01:00
Christian Ulrich 5f03151f81
make debug output less noisy 2020-11-18 00:01:00 +01:00
Christian Ulrich e20a4b223d
let puncher handle message whenever a message is received for a non-existing connection 2020-11-17 23:58:38 +01:00
Christian Ulrich dc7c94ed0d
only handle ACK messages, not SYN (we expect them to be filtered by our NAT) 2020-11-17 23:44:13 +01:00
Christian Ulrich 06d7d29dc0
need to inform the puncher if quicly_receive fails too 2020-11-17 23:41:20 +01:00
Christian Ulrich 314e1a63fc
more debug output 2020-11-17 23:24:22 +01:00
Christian Ulrich 154f5ec77b
only let the puncher handle the packet if accept was not successful; add more debug output 2020-11-17 23:17:19 +01:00
Christian Ulrich b4bc750e99
we are the responder if no peerId is given 2020-11-17 22:56:19 +01:00
Christian Ulrich 23c2f3221e
we have to respond to the srcIp / srcPorts 2020-11-17 22:52:46 +01:00
Christian Ulrich c8a9a32a3f
add debug output 2020-11-17 22:50:00 +01:00
Christian Ulrich 87f1ed89fb
remove obsolete fields from NotifyPeer 2020-11-17 22:42:57 +01:00
Christian Ulrich 5b79592a62
fix segfault 2020-11-17 22:39:33 +01:00
Christian Ulrich 6edf6b7e23
add UDP hole punching (untested) 2020-11-17 20:40:30 +01:00
Christian Ulrich 6aa2f46b08
introduce base32 peer IDs 2020-11-15 17:18:45 +01:00
Christian Ulrich 1840908ba5
set empty server name to skip server name verification 2020-11-09 15:39:49 +01:00
Christian Ulrich 3f13c06a9f
introduce Connection type to store the peer's certchain; move openssl wrappers to dedicated module; add certificate utils 2020-11-09 15:04:35 +01:00
Christian Ulrich 8441c02a57
ptls_t is an incomplete struct; add ptls_get_data and quicly_get_data 2020-11-09 09:58:17 +01:00
Christian Ulrich de780656f0
make client authentication mandatory; verify cert chain using highest cert as CA cert 2020-11-08 19:12:42 +01:00
Christian Ulrich f7feb4283f
fix typo; add ptls_openssl_dispose_verify_certificate 2020-11-08 19:10:40 +01:00
Christian Ulrich c6a0127244
make cb fields visible; add some constants 2020-11-08 19:09:45 +01:00
Christian Ulrich 490664b1f5
cosmetic: move proc handleMsg 2020-11-08 13:16:03 +01:00
Christian Ulrich c39ecc55ac
remove debug output; add less noisy output on server side 2020-11-08 13:05:59 +01:00
Christian Ulrich b65c4f4373
consistenly use snake case for wrapper symbols 2020-11-08 12:49:32 +01:00
Christian Ulrich d5c74f5ce2
need deepCopy; don't do anything if no connections exist 2020-11-08 01:53:30 +01:00
Christian Ulrich 272cb2f497
fix 'seq changed while iterating' bug 2020-11-08 01:36:03 +01:00