CVSROOT:        /cvs
Module name:    src
Changes by:     bl...@cvs.openbsd.org   2016/10/18 05:20:42

Modified files:
        sys/net        : pf.c 

Log message:
The checksum of a ICMP "need to frag" packet for TCP was wrong when
created from a ICMP6 "too big" packet.  The function pf_change_icmp_af()
has code to adjust the pseudo-header checksum in the ICMP6 case,
but pf_test_state_icmp() changed the proto before the case was
entered.
So call pf_change_icmp_af() before the pd->proto is converted in
the TCP and UDP payload case like it was already done for ICMP and
ICMP6 payload.
Found by sys/net/pf_forward regress test; OK henning@

Reply via email to