mirror of
https://github.com/the-tcpdump-group/tcpdump.git
synced 2024-11-26 19:44:27 +08:00
TCP: Fix Reset segment processing
When a received RST segment contains data, this is diagnostic data that explains the cause of the RST. So we have to stop processing, even if we don't print the data (no "-v"). Rename two test outputs, with "-v" in the names. Add two test cases (existing pcap printed without "-v").
This commit is contained in:
parent
803b7028e0
commit
7eb03bc0da
@ -729,8 +729,11 @@ tcp_print(netdissect_options *ndo,
|
||||
nd_trunc_longjmp(ndo);
|
||||
}
|
||||
bp += header_len;
|
||||
if ((flags & TH_RST) && ndo->ndo_vflag) {
|
||||
print_tcp_rst_data(ndo, bp, length);
|
||||
if (flags & TH_RST) {
|
||||
if(ndo->ndo_vflag)
|
||||
print_tcp_rst_data(ndo, bp, length);
|
||||
else
|
||||
ND_TCHECK_LEN(bp, length);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -39,9 +39,11 @@ tcp-handshake-nano-tttt tcp-handshake-nano.pcap tcp-handshake-nano-tttt.out -ttt
|
||||
tcp-handshake-nano-ttttt tcp-handshake-nano.pcap tcp-handshake-nano-ttttt.out -ttttt -q --nano SPECIAL_t
|
||||
|
||||
# TCP with data in the RST segment
|
||||
tcp_rst_data tcp_rst_data.pcap tcp_rst_data.out -v
|
||||
tcp_rst_data tcp_rst_data.pcap tcp_rst_data-v.out -v
|
||||
tcp_rst_data tcp_rst_data.pcap tcp_rst_data.out
|
||||
# TCP with data in the RST segment, truncated example
|
||||
tcp_rst_data-trunc tcp_rst_data-trunc.pcap tcp_rst_data-trunc.out -v
|
||||
tcp_rst_data-trunc tcp_rst_data-trunc.pcap tcp_rst_data-trunc-v.out -v
|
||||
tcp_rst_data-trunc tcp_rst_data-trunc.pcap tcp_rst_data-trunc.out
|
||||
|
||||
# TCP
|
||||
tcp_eight_lowest_weight_flags_set tcp_eight_lowest_weight_flags_set.pcap tcp_eight_lowest_weight_flags_set.out
|
||||
|
2
tests/tcp_rst_data-trunc-v.out
Normal file
2
tests/tcp_rst_data-trunc-v.out
Normal file
@ -0,0 +1,2 @@
|
||||
1 2013-02-26 22:03:19.190965 IP (tos 0x20, ttl 243, id 8243, offset 0, flags [DF], proto TCP (6), length 98)
|
||||
199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], seq 1617159969:1617160027, ack 1936660873, win 5785, length 58 [!RST+ BIG-IP: [0x11c5672:3045] {peer]
|
@ -1,2 +1 @@
|
||||
1 2013-02-26 22:03:19.190965 IP (tos 0x20, ttl 243, id 8243, offset 0, flags [DF], proto TCP (6), length 98)
|
||||
199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], seq 1617159969:1617160027, ack 1936660873, win 5785, length 58 [!RST+ BIG-IP: [0x11c5672:3045] {peer]
|
||||
1 2013-02-26 22:03:19.190965 IP 199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], seq 1617159969:1617160027, ack 1936660873, win 5785, length 58 [|tcp]
|
||||
|
2
tests/tcp_rst_data-v.out
Normal file
2
tests/tcp_rst_data-v.out
Normal file
@ -0,0 +1,2 @@
|
||||
1 2013-02-26 22:03:19.190965 IP (tos 0x20, ttl 243, id 8243, offset 0, flags [DF], proto TCP (6), length 98)
|
||||
199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], cksum 0x8471 (correct), seq 1617159969:1617160027, ack 1936660873, win 5785, length 58 [RST+ BIG-IP: [0x11c5672:3045] {peer]
|
@ -1,2 +1 @@
|
||||
1 2013-02-26 22:03:19.190965 IP (tos 0x20, ttl 243, id 8243, offset 0, flags [DF], proto TCP (6), length 98)
|
||||
199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], cksum 0x8471 (correct), seq 1617159969:1617160027, ack 1936660873, win 5785, length 58 [RST+ BIG-IP: [0x11c5672:3045] {peer]
|
||||
1 2013-02-26 22:03:19.190965 IP 199.204.31.89.80 > 172.16.133.41.52875: Flags [R.], seq 1617159969:1617160027, ack 1936660873, win 5785, length 58
|
||||
|
Loading…
Reference in New Issue
Block a user