Commit Graph

1348 Commits

Author SHA1 Message Date
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -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
Jeff Becker
bf9512dfaf
Merge remote-tracking branch 'ryan/master' 2018-10-12 08:05:03 -04:00
Jeff Becker
8bf28940d1
Merge remote-tracking branch 'cathugger/master' 2018-10-12 08:02:37 -04:00
despair86
7f226d7734 revert merge
(i can put these in the dev branch for now)
2018-10-12 06:48:53 -05:00
cathugger
fdc54a4cce
ip: insignificant change of arguments case 2018-10-12 04:53:18 +00: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
despair86
5576254c2e make it compile on nt 2018-10-11 19:22:11 -05:00
despair86
88854f558e Revert "return the correct address family?"
not really needed....looks safe so long as the bytes are in network order (hence, the inet4 link will only grab the top 32 bits of the whole inet6 address field.)
This reverts commit 56e41ebda0c29bb2a85dd3f8dbbfba30da8c0a2c.
2018-10-11 19:22:11 -05:00
despair86
7d30d9ee38 return the correct address family? 2018-10-11 19:22:11 -05:00
despair86
e08dedf7a2 really fix endianness 2018-10-11 19:22:10 -05:00
despair86
630cf99bae fix inet4 to inet6 transition bug 2018-10-11 19:22:10 -05:00
Ryan Tharp
fd41f7b3db just make sure everything is initialized, fix typo in testing debug 2018-10-11 12:22:29 +00:00
Ryan Tharp
316df4703a merge 2018-10-11 12:21:30 +00:00
Ryan Tharp
14ccb2f81e Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-11 12:21:16 +00:00
Ryan Tharp
da9850f0e3 start of dns unit tests 2018-10-11 04:51:13 -07:00
Jeff Becker
252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset 2018-10-11 07:41:10 -04: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
Jeff
e0c6404830 fix previous commit 2018-10-10 17:37:45 -04:00
Jeff
0023c15d0f fix introset expiration 2018-10-10 17:31:03 -04:00
Jeff
fd37100ac8 typofix 2018-10-10 15:24:04 -04:00
cathugger
257ce99f43
ip: fix UDP checksum offset 2018-10-10 17:51:37 +00:00
cathugger
e1c7d8a696 some tweaks and fixups 2018-10-10 15:50:52 +00:00
cathugger
4971fae171 uint32_t byte ordering type safety 2018-10-10 15:16:10 +00:00
Ryan Tharp
47a67cdefb restructure casting to avoid crash 2018-10-10 06:33:25 -07:00
Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master' 2018-10-10 08:10:04 -04:00
cathugger
05e6c31238 ip: some fixes and tweaks 2018-10-10 12:06:28 +00:00
Jeff Becker
1d7b0d77a9
Revert "make it compile :DDDD"
This breaks the build and reverts commit 6732cbf54f.
2018-10-10 07:58:04 -04:00
Jeff Becker
6732cbf54f
make it compile :DDDD 2018-10-10 07:51:11 -04:00
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master' 2018-10-10 07:48:44 -04:00
Jeff Becker
6f781def8d
update logger to do less allocations 2018-10-10 07:47:59 -04:00
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place 2018-10-10 07:47:30 -04: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
0f8e0e9d58 tun: fix "fix "clear src/dst addresses and checksum before sending""
correct dst address is required for FlushSend to work, so do IP address and checksum null'ing there.
dang myself.
2018-10-10 03:28:53 +03:00
cathugger
4f7ae52cad tun: fix "clear src/dst addresses and checksum before sending"
clearing of addresses and checksum was put in wrong place, so it null'd everything before writing to tun interface.
damnit jeff.
2018-10-10 03:00:48 +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
Ryan Tharp
e0ecb468b6 make sure everything is exposed, improve comments 2018-10-09 05:42:21 -07:00
Ryan Tharp
529cd4e6a3 expose dns_query and build_dns_packet() 2018-10-09 05:41:33 -07:00
Ryan Tharp
c8c4a0da10 don't risk any SOA crashes, fix language types 2018-10-09 05:40:53 -07:00
Ryan Tharp
3f8dbeca49 expose internal functions, fix language scoping 2018-10-09 05:40:24 -07:00