Commit Graph

147 Commits

Author SHA1 Message Date
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 3f9cb6a3b1
only accept once and only use one injection socket 2020-07-18 15:04:46 +02:00
Christian Ulrich ef68519eec
fix 'invalid argument' by using a separate socket for listening 2020-07-18 13:06:22 +02:00
Christian Ulrich 974f324aec
cosmetic 2020-07-18 12:42:49 +02:00
Christian Ulrich 10f9ca135a
fix direction again; make sure injection happens after low-ttl reponse was received 2020-07-18 12:41:07 +02:00
Christian Ulrich c2c36c3a1e
calculate TCP checksum 2020-07-18 12:38:21 +02:00
Christian Ulrich 4499c09e85
fix direction 2020-07-17 21:32:33 +02:00
Christian Ulrich c5f6348cf2
must use sendTo to inject ip packet 2020-07-17 20:06:52 +02:00
Christian Ulrich 32060fe9dc
remove wrong htonl; don't hard-code ip packet size 2020-07-17 20:04:45 +02:00
Christian Ulrich 95f074e202
first TCP packet always has only SYN flag 2020-07-17 10:37:33 +02:00
Christian Ulrich 9e969cb41a
injected packet needs SYN 2020-07-17 10:35:17 +02:00
Christian Ulrich bde56c80b0
parse TCP flags; consider TCP flags while capturing 2020-07-17 01:01:01 +02:00
Christian Ulrich 5cc152c039
nativesockets.IPPROTO_IP is wrong here; use setsockopt instead of setSockOptInt 2020-07-17 00:09:09 +02:00
Christian Ulrich 504445a118
fix byte order 2020-07-13 09:38:58 +02:00
Christian Ulrich c6d4fadd6e
unix socket needs to be marked as listening 2020-07-13 00:16:10 +02:00
Christian Ulrich 07716a3709
implement SYNI accept logic 2020-07-11 14:46:37 +02:00
Christian Ulrich d57f293efa
add fixme 2020-07-11 14:45:53 +02:00
Christian Ulrich 406bb02515
implement setupTcpInjectingSocket 2020-07-11 14:45:18 +02:00
Christian Ulrich 466d34963b
add proc for serializing IpPackets 2020-07-10 19:37:47 +02:00
Christian Ulrich 4e554b5a83
use IpAddress instead of strings 2020-07-10 19:36:41 +02:00
Christian Ulrich d97a0eaed7
adjust struct definitions to glibc headers 2020-07-10 00:28:17 +02:00
Christian Ulrich 17f8388d0d
fix import 2020-07-10 00:27:21 +02:00
Christian Ulrich ed18ece7ea
rename module packet_info to ip_packet 2020-07-09 21:24:09 +02:00
Christian Ulrich a415842398
more precise naming 2020-07-09 21:10:25 +02:00
Christian Ulrich 17c4fa47f2
syni_prototype module not needed anymore 2020-07-07 19:41:53 +02:00
Christian Ulrich f5e07b79f4
enter punchd 2020-07-07 19:39:33 +02:00
Christian Ulrich 9056b28627
NetworkInterfaceError is not about a wrong value 2020-07-07 19:37:40 +02:00
Christian Ulrich 629556ad30
add fromFd to asyncutils 2020-07-07 19:36:44 +02:00
Christian Ulrich b6f28037a0
remove unneeded procs 2020-07-07 19:36:17 +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
Christian Ulrich 38cb55f46d
add message parsing module 2020-07-06 15:09:21 +02:00
Christian Ulrich b566436ce5
remove unneeded imports; make ControlMessage's fields public 2020-06-19 15:21:42 +02:00
Christian Ulrich aca6888011
make asyncSendMsg and asyncRecvMsg generic 2020-06-15 22:30:30 +02:00
Christian Ulrich ccd0a9983e
remove wrong assumption based on misreading the man page 2020-06-14 22:42:04 +02:00
Christian Ulrich d1d4019af0
change formatting of long lines 2020-06-14 22:40:33 +02:00
Christian Ulrich fd1ec1aeaa
need to use return value of recvmsg for length of received data 2020-06-13 12:33:00 +02:00
Christian Ulrich 2f49216e15
implement asyncRecvMsg 2020-06-11 16:18:56 +02:00
Christian Ulrich 742c047480
only support sending one fd 2020-06-10 22:55:18 +02:00
Christian Ulrich 8a5b3d41b6
implement asyncSendMsg 2020-06-10 21:22:08 +02:00
Christian Ulrich ce782be7f1
reorganize punch module; add procs to add/remove firewall rules 2020-06-05 21:56:41 +02:00
Christian Ulrich 7341f61e48
capturing TCP packets working 2020-05-21 01:17:37 +02:00
Christian Ulrich 9aa7d66331
initial commit 2020-05-08 19:34:37 +02:00