Christian Ulrich
|
7bc90f02b8
|
need a second socket for injecting
|
2020-08-23 15:52:50 +02:00 |
Christian Ulrich
|
e745141b51
|
have to resend ACK, not SYN+ACK
|
2020-08-23 15:17:19 +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
|
acfcb79108
|
resend SYN+ACK with normal TTL
|
2020-08-23 14:36:19 +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
|
e23457a647
|
cleanup on SIGINT
|
2020-08-22 12:34:12 +02:00 |
Christian Ulrich
|
1dc7cf6676
|
try to implement clean firewall rule creation / destruction
|
2020-08-21 23:12:45 +02:00 |
Christian Ulrich
|
f9f18ec3a4
|
remove debug output
|
2020-08-21 23:10:55 +02:00 |
Christian Ulrich
|
f5d36f82d5
|
fix firewall logic
|
2020-08-18 00:34:21 +02:00 |
Christian Ulrich
|
a1fbc27c54
|
fix compilation on arm64
|
2020-08-17 20:26:12 +02:00 |
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 |