Commit Graph

50 Commits (master)

Author SHA1 Message Date
Christian Ulrich 22950304fe
fix syntax error 2020-11-15 14:11:31 +01:00
Christian Ulrich 9e87c777c7
add second rendezvous server 2020-11-15 14:10:48 +01:00
Christian Ulrich b7236bfe45
adapt rendezvous server protocol to multi-server probing 2020-11-14 14:33:42 +01:00
Christian Ulrich 278f066797
fix infinite loop 2020-11-14 14:33:00 +01:00
Christian Ulrich 7831d2a6ed
prepare to use multiple servers for probing endpoints; use hardcoded list of rendezvous servers for now 2020-11-14 14:18:55 +01:00
Christian Ulrich 383260c95e
first implementation of UdpPuncher (untested) 2020-10-25 21:57:09 +01:00
Christian Ulrich 1b315f0eee
Revert "use SO_REUSEADDR in accept loop"
This reverts commit b0398adc12.
2020-10-24 19:04:24 +02:00
Christian Ulrich b0398adc12
use SO_REUSEADDR in accept loop 2020-10-24 19:00:49 +02:00
Christian Ulrich 5debee2521
tcp-syni -> tcp-nutss (undo accidental change) 2020-10-24 00:35:39 +02:00
Christian Ulrich 287e344779
use & instead of fmt 2020-10-23 01:21:19 +02:00
Christian Ulrich 7691b984a8
fix field names in example app 2020-10-22 00:27:36 +02:00
Christian Ulrich 0f21a63a81
adapt punchd messages to README 2020-10-22 00:22:11 +02:00
Christian Ulrich 7c9940b3b9
add FIXME 2020-10-15 19:20:51 +02:00
Christian Ulrich 9e96dd5c78
Nutss does not use sequence numbers 2020-10-15 10:06:39 +02:00
Christian Ulrich b7837c43e6
try out NUTSS 2020-10-15 09:56:29 +02:00
Christian Ulrich a0125d7d80
fix renamed proc in rendezvous_server 2020-10-12 21:37:22 +02:00
Christian Ulrich 9caca83dd6
Revert "close punchd connection when app is about to quit"
This reverts commit 1b7cc621db.
2020-10-10 12:01:20 +02:00
Christian Ulrich 1b7cc621db
close punchd connection when app is about to quit 2020-10-10 11:40:12 +02:00
Christian Ulrich 4cf608459f
close sockets in example app 2020-10-07 09:42:40 +02:00
Christian Ulrich 83c0fb0fc8
Revert "close sockets in example app"
This reverts commit 399ad33c99.
2020-10-07 09:42:25 +02:00
Christian Ulrich 399ad33c99
close sockets in example app 2020-10-07 09:40:51 +02:00
Christian Ulrich 679541877a
add FIXME 2020-10-07 00:07:45 +02:00
Christian Ulrich 8f378794d5
use correct data length (fixes segfault) 2020-10-05 17:24:10 +02:00
Christian Ulrich dce5115c5c
don't hard-code port; rename probed -> public 2020-09-25 22:59:53 +02:00
Christian Ulrich 53a9d0fc24
use random source port for initiating connection too 2020-09-25 21:05:57 +02:00
Christian Ulrich bf2fcc1602
use random source port to work around 'address in use' error 2020-09-25 20:58:04 +02:00
Christian Ulrich 9b2e72d7dc
raise PunchdError for errors from punchd 2020-08-27 00:06:51 +02:00
Christian Ulrich 39921daf83
adapt examples to 7d2a92346d 2020-08-26 21:39:17 +02:00
Christian Ulrich 255366c337
let initiator send ping 2020-08-23 16:28:38 +02:00
Christian Ulrich af9dedf75a
pass exact size to recv 2020-08-23 16:11:53 +02:00
Christian Ulrich ee2f95b72f
try other direction 2020-08-23 14:48:43 +02:00
Christian Ulrich 6836c54737
improve debug output 2020-08-23 14:41:38 +02:00
Christian Ulrich 0f622c0953
remove debug output 2020-08-23 12:49:06 +02:00
Christian Ulrich 80c2c50d26
fix buffer size for control messages 2020-08-23 12:45:05 +02:00
Christian Ulrich 6f75ffb35c
workaround segfault (need to investigate later) 2020-08-22 13:11:55 +02:00
Christian Ulrich a1fbc27c54
fix compilation on arm64 2020-08-17 20:26:12 +02:00
Christian Ulrich d02c0ddd82
decrease delay after failed connection 2020-08-16 12:42:04 +02:00
Christian Ulrich dcd2c03d45
introduce AcceptPort constant; add debug output 2020-08-16 12:41:07 +02:00
Christian Ulrich 7f40ab0082
source port may take a bit to become available again, so retry binding three times 2020-07-29 20:15:01 +02:00
Christian Ulrich 7c010f9303
get-info -> get-peerinfo 2020-07-26 17:48:47 +02:00
Christian Ulrich 3d40ddec85
introduce get-endpoint: server sends endpoint info and closes connection (allows subsequent connections to the same server) 2020-07-26 17:46:17 +02:00
Christian Ulrich f23093fd69
cosmetic 2020-07-25 12:00:45 +02:00
Christian Ulrich 4f64b7be53
implement primitive probing of the rendezvous server's public IP and provide it to LAN clients 2020-07-22 02:04:02 +02:00
Christian Ulrich 6e36b5addd
probe ports and use results to register and notify peer 2020-07-21 19:53:21 +02:00
Christian Ulrich 187b232162
use dynamic length of destination ports and captured sequence numbers (3 for now) 2020-07-21 11:10:56 +02:00
Christian Ulrich 301ca6c81d
sometimes recvLine returns "\r\n" when the peer disconnects (not documented). Handle that as a disconnect. 2020-07-21 10:17:36 +02:00
Christian Ulrich 41048dd8cd
must strip newline from punchd message 2020-07-20 10:08:28 +02:00
Christian Ulrich ebcab0fd74
change type order (cosmetic) 2020-07-07 19:34:34 +02:00
Christian Ulrich f22bd5eacc
use more readable substr call 2020-07-06 15:25:10 +02:00
Christian Ulrich aa5f437093
add example apps 2020-07-06 15:10:10 +02:00