Commit Graph

38 Commits

Author SHA1 Message Date
Jeff Becker
622ed8d12e
fix crash on premature close of event loop (also make format) 2018-12-02 13:07:07 -05:00
Jeff Becker
79cffacafd
new exit packet buffer format 2018-11-29 16:19:20 -05:00
Michael
1c0cf72c02
Rename endian.h 2018-11-20 00:52:19 +00:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
cathugger
73e6141023
ip: endianess swaps aren't needed, a bit of renaming and tweaking
Also `make format`.
2018-11-02 11:00:05 -04:00
cathugger
ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering 2018-10-15 00:56:14 +03:00
cathugger
d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating 2018-10-13 21:57:31 +03:00
cathugger
360ccc33de
ip: more one's complement math improvements 2018-10-13 21:31:50 +03:00
cathugger
4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
one's complement math is pretty fun
2018-10-13 18:42:47 +03:00
cathugger
18c20396b6
add {h,n}uint16_t types, optimize TCP/UDP checksuming
use static functions + switch instead of lambda functions + map.
2018-10-12 04:38:16 +00:00
cathugger
71c9965471
ip: code cleanups and compatibility improvements
do not assume that packets come with address zero-ed, older clients don't do that.
they don't modify checksum either, therefore we should be able to get correct checksum if we use deltachksum with old and new addresses.
2018-10-10 21:41:53 +00:00
cathugger
257ce99f43
ip: fix UDP checksum offset 2018-10-10 17:51:37 +00:00
cathugger
4971fae171 uint32_t byte ordering type safety 2018-10-10 15:16:10 +00:00
cathugger
05e6c31238 ip: some fixes and tweaks 2018-10-10 12:06:28 +00:00
cathugger
5169df546c ip: UDP checksum recalculation support 2018-10-10 05:38:59 +03:00
cathugger
7fd501e528 ip: use deltachksum for IPv4 headers aswell 2018-10-10 04:59:52 +03:00
cathugger
36ea776d07 ip: try to fix deltachksum 2018-10-10 04:29:44 +03:00
cathugger
ed39cb98e1 ip: (try to) fix deltachksum 2018-10-10 00:56:20 +03:00
cathugger
c515e4a248 ip: avoid pointless length checks 2018-10-10 00:09:16 +03:00
cathugger
a92e7c2104 ip: fix stupid MIN thing 2018-10-09 20:49:20 +03:00
cathugger
b5392c5679 make format 2018-10-09 20:09:45 +03:00
cathugger
2f4b0fbda6 ip: use delta TCP checksum calculation, don't recalculate ICMP checksum 2018-10-09 20:02:49 +03:00
cathugger
4cba59f3c4 tun+ip: clarify what happens where 2018-10-09 17:09:03 +03:00
despair86
4afa358c49 fix win32 build 2018-09-19 20:41:47 -05:00
Jeff Becker
095170d11e
fix windows build 2018-09-19 07:53:16 -04:00
Jeff Becker
efc6e23c6f
fix tcp checksum calc 2018-09-18 18:53:48 -04:00
Jeff Becker
0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
2018-09-18 07:08:47 -04:00
Jeff
689668d892 fix osx build 2018-09-17 14:59:12 -04:00
Jeff Becker
9f9f9d9bb1
correct tcp checksum recalc (probably) 2018-09-16 09:13:52 -04:00
Jeff Becker
4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
2018-09-16 08:06:19 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
d3eef5c8b7
more netns code 2018-08-26 08:51:22 -04:00
despair86
e71c00f736 header fix 2018-08-23 13:48:41 -05:00
Ricardo Villegas
3cca107041 more header fixes
-despair86
2018-08-23 13:44:43 -05:00
Jeff
367258551b fix osx build 2018-08-23 14:02:02 -04:00
Jeff Becker
b7039f6e5c
more tun stuff 2018-08-22 11:52:10 -04:00
Jeff Becker
4aebbda640
more tun stuff 2018-08-20 15:12:12 -04:00
Jeff Becker
1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
2018-08-17 15:49:58 -04:00