mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2025-01-11 17:04:19 +01:00
Fix a bug in the TCP tracerouting which resulted in not accepting any
incoming packets. So all packets seemed to be lost. MFC after: 1 week
This commit is contained in:
parent
faf6e9484f
commit
7a7a6331a9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=234701
@ -1406,8 +1406,7 @@ tcp_prep(struct outdata *outdata)
|
||||
|
||||
tcp->th_sport = htons(ident);
|
||||
tcp->th_dport = htons(port + (fixedPort ? 0 : outdata->seq));
|
||||
tcp->th_seq = (tcp->th_sport << 16) | (tcp->th_dport +
|
||||
(fixedPort ? outdata->seq : 0));
|
||||
tcp->th_seq = (tcp->th_sport << 16) | tcp->th_dport;
|
||||
tcp->th_ack = 0;
|
||||
tcp->th_off = 5;
|
||||
tcp->th_flags = TH_SYN;
|
||||
@ -1425,8 +1424,8 @@ tcp_check(const u_char *data, int seq)
|
||||
struct tcphdr *const tcp = (struct tcphdr *) data;
|
||||
|
||||
return (ntohs(tcp->th_sport) == ident
|
||||
&& ntohs(tcp->th_dport) == port + (fixedPort ? 0 : seq))
|
||||
&& tcp->th_seq == (((tcp_seq)ident << 16) | (port + seq));
|
||||
&& ntohs(tcp->th_dport) == port + (fixedPort ? 0 : seq)
|
||||
&& tcp->th_seq == (tcp_seq)((tcp->th_sport << 16) | tcp->th_dport));
|
||||
}
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user