mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-03 21:18:59 +00:00
Restore the checksum received before processing the packet.
MFC after: 1 week
This commit is contained in:
parent
639c2d4fad
commit
f1150dc0a5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=203503
@ -5806,6 +5806,7 @@ sctp_input_with_port(struct mbuf *i_pak, int off, uint16_t port)
|
||||
}
|
||||
sh->checksum = 0; /* prepare for calc */
|
||||
calc_check = sctp_calculate_cksum(m, iphlen);
|
||||
sh->checksum = check;
|
||||
SCTP_STAT_INCR(sctps_recvswcrc);
|
||||
if (calc_check != check) {
|
||||
SCTPDBG(SCTP_DEBUG_INPUT1, "Bad CSUM on SCTP packet calc_check:%x check:%x m:%p mlen:%d iphlen:%d\n",
|
||||
@ -5831,7 +5832,6 @@ sctp_input_with_port(struct mbuf *i_pak, int off, uint16_t port)
|
||||
SCTP_STAT_INCR_COUNTER32(sctps_checksumerrors);
|
||||
goto bad;
|
||||
}
|
||||
sh->checksum = calc_check;
|
||||
sctp_skip_csum_4:
|
||||
/* destination port of 0 is illegal, based on RFC2960. */
|
||||
if (sh->dest_port == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user