Commit Graph

179 Commits

Author SHA1 Message Date
Christian Ulrich b9dc7dabaf
remove unneeded imports 2020-10-25 10:54:45 +01:00
Christian Ulrich 4be3ffd207
need to include protocol here too 2020-10-25 10:50:21 +01:00
Christian Ulrich 5bdb69f214
store transport protocol in an Attempt; consider protocol when comparing attempts; puncher.getProtocol not needed anymore 2020-10-25 10:46:29 +01:00
Christian Ulrich 5c6050faaf
add FIXME 2020-10-25 10:34:25 +01:00
Christian Ulrich 735fd8aec4
use random ID in IP header 2020-10-24 19:15:46 +02:00
Christian Ulrich ca88330b4d
use SO_REUSEADDR in accept loop 2020-10-24 19:05:16 +02: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 a986bd52b8
firewall rules not needed for tcp-syni's respond 2020-10-24 18:51:13 +02:00
Christian Ulrich 0750af1a13
introduce new Puncher interface; implement puncher interface for tcp-syni and tcp-nutss 2020-10-24 18:44:37 +02:00
Christian Ulrich ff8fa732dc
rename Protocol type to avoid conflict with nativesockets.Protocol 2020-10-24 18:43:10 +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 70778f972e
use inheritance (Puncher <- Initiator/Responder <- puncher implementations) to simplify logic in punchd.nim 2020-10-23 01:15:37 +02:00
Christian Ulrich 2c5ce97fca
move injectTcpPacket to raw_socket module 2020-10-22 17:04:20 +02:00
Christian Ulrich 504ff6795a
fix indentation 2020-10-22 00:40:14 +02:00
Christian Ulrich c59d6e42f7
need to include empty extraArgs in tcp-nutss progress message 2020-10-22 00:30:39 +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 239ddd64b1
Also -> In addition 2020-10-21 00:54:52 +02:00
Christian Ulrich a66f1e2e51
clarify 'Receiving sockets' section 2020-10-21 00:50:34 +02:00
Christian Ulrich 038b6b3f2e
reformat comment 2020-10-21 00:33:25 +02:00
Christian Ulrich 1e99b50e68
markdown 2020-10-21 00:30:15 +02:00
Christian Ulrich 23272fda6c
hint at SCM_RIGHTS 2020-10-21 00:28:06 +02:00
Christian Ulrich fc2b0e9b63
add API section; markdown formatting 2020-10-21 00:23:34 +02:00
Christian Ulrich d04bbfa4b9
shorten rendezvous server section 2020-10-20 00:35:28 +02:00
Christian Ulrich 31f09a0a88
add section about rendezvous server 2020-10-20 00:28:31 +02:00
Christian Ulrich 5459cdee1b
make NUTSS reference more compact 2020-10-19 23:42:19 +02:00
Christian Ulrich bea82a1b7f
add README 2020-10-19 23:40:39 +02:00
Christian Ulrich 2b938f9278
check if the client is still there before sending a message (fix unhandled ValueError) 2020-10-16 00:18:11 +02:00
Christian Ulrich 91b7d14958
no firewall rules needed for tcp_nutss_responder; remove unneeded cleanup logic 2020-10-15 19:52:28 +02:00
Christian Ulrich 7c9940b3b9
add FIXME 2020-10-15 19:20:51 +02:00
Christian Ulrich a191de4452
use predicted port range 2020-10-15 19:20:44 +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 3f27102e20
first try implementing the NUTSS (b) approach 2020-10-14 20:52:20 +02:00
Christian Ulrich 9fac0cec0e
cosmetic changes; add FIXMEs 2020-10-14 20:51:32 +02:00
Christian Ulrich 38c935a573
Revert "allow empty seqs"
This reverts commit 06465c93cd.
2020-10-14 20:32:44 +02:00
Christian Ulrich 9147194427
move port prediction into dedicated module 2020-10-14 18:40:58 +02:00
Christian Ulrich a0125d7d80
fix renamed proc in rendezvous_server 2020-10-12 21:37:22 +02:00
Christian Ulrich 06465c93cd
allow empty seqs 2020-10-12 21:33:05 +02:00
Christian Ulrich 492e5ee72f
close socket if exception occurs too 2020-10-12 21:32:43 +02:00
Christian Ulrich fc9219ed80
introduce generic puncher; split tcp_syni into connect and accept modules 2020-10-12 21:31:55 +02:00
Christian Ulrich 1b47048aad
don't export ConnectAttempt and AcceptAttempt 2020-10-11 12:49:25 +02:00
Christian Ulrich 99912b4b69
rawFd -> injectFd 2020-10-10 12:35:36 +02:00
Christian Ulrich a646815e49
rename fromIpAddress -> getNetworkInterface 2020-10-10 12:31:18 +02:00
Christian Ulrich 1116d06e82
refactor: create raw sockets where they are used 2020-10-10 12:30:14 +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 a099907caa
fix imports 2020-10-10 11:57:52 +02:00
Christian Ulrich 60765f3c8a
fix file descriptor leak by using own implementation of getPrimaryIPAddr 2020-10-10 11:48:56 +02:00