fix syncookies in conjunction with tcp fast port reuse.
authorhenning <henning@openbsd.org>
Tue, 28 Jun 2022 13:48:06 +0000 (13:48 +0000)
committerhenning <henning@openbsd.org>
Tue, 28 Jun 2022 13:48:06 +0000 (13:48 +0000)
commit669e3a8026cf2c02884e167dc26b7fbe11f3def6
tree221ae01c0684448e4c62433d632e84663bdd13b1
parentbcd03ad34e3dc91eafc210201329d2102214ceea
fix syncookies in conjunction with tcp fast port reuse.
This really pointed out that the place syncookies were hooked in was almost,
but not completely right. The way it was the special case for tcp fast port
reuse in pf_test_state wasn't hit, because the first packet
hitting that was the ACK from the peer finishing the 3WHS, and the
reconstructed SYN came after. We're now doing pf_find_state (and *only* that)
first, then syncookies, then going on so that the old state is thrown away
properly and we get a new one with the sequence number modulator set up
correctly
Bonus: -11 lines of code
tracked down (that took a while) + fixed under contract with Hush
Communications Canada; special thanks to Lyndon
ok sashan
sys/net/pf.c