Commit Graph

115 Commits

Author SHA1 Message Date
Christian Ulrich a6d14a3b06
insert firewall rule at the head of the chain instead of appending 2020-08-16 15:45:18 +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 2e09016b9c
add FIXME 2020-08-16 12:40:28 +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 d1b104c666
set punchd socket file permissions to 0666 2020-07-28 00:18:27 +02:00
Christian Ulrich e8d06b5982
delete punchd socket on SIGINT 2020-07-28 00:17:45 +02:00
Christian Ulrich 5d08473d86
userSock may be closed in handleRequest, so check before recvLine 2020-07-27 23:51:16 +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 73a22c0816
actually store netmask 2020-07-25 12:00:21 +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 32ecd8074c
calling close causes AssertionError 2020-07-22 01:32:04 +02:00
Christian Ulrich 12ef92dfe9
use IpAddress instead of string 2020-07-22 01:28:55 +02:00
Christian Ulrich 44cc3955b5
provide netmask in NetworkInterface 2020-07-21 23:53:28 +02:00
Christian Ulrich 02a96ac412
make asyncExecCmd return the console output and raise an exception if exitcode != 0 2020-07-21 22:56:06 +02:00
Christian Ulrich 9ad26a76d9
fix compile error 2020-07-21 22:54:34 +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 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