Commit Graph

167 Commits

Author SHA1 Message Date
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
Christian Ulrich 1b7cc621db
close punchd connection when app is about to quit 2020-10-10 11:40:12 +02:00
Christian Ulrich d9ff4d40cc
close raw sockets on error 2020-10-10 11:38:53 +02:00
Christian Ulrich 6dff0847b3
close socket if client has hung up 2020-10-10 11:14:31 +02:00
Christian Ulrich f50dada999
raise exception on OSError during accept 2020-10-08 19:49:18 +02:00
Christian Ulrich 8bff4c79d9
debug messages for both incoming and outgoing SYNs 2020-10-08 18:13:30 +02:00
Christian Ulrich b0032c534c
use random sequence number for outgoing low-TTL SYN 2020-10-08 18:12:59 +02:00
Christian Ulrich 37f02bc2ba
predict dst ports while accepting too; inject low-TTL SYN instead of using connect 2020-10-08 00:20:54 +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 282c0ea6ab
close accepted socket if no attempt was found 2020-10-07 09:36:15 +02:00
Christian Ulrich 4d96a58e87
delete attempts in proc cleanup 2020-10-07 09:23:24 +02:00