diff options
author | Francois-Xavier Le Bail <fx.lebail@yahoo.com> | 2016-08-18 11:45:29 +0200 |
---|---|---|
committer | Francois-Xavier Le Bail <fx.lebail@yahoo.com> | 2016-08-18 13:59:52 +0200 |
commit | 4e0187006366b895c525f88f205ae77b53722a7c (patch) | |
tree | 3535c0211cb4e0067e94f06acd0c5d2a31a6f3e9 | |
parent | 392cc92bcf0084025ebad0482c1951bee6e31550 (diff) | |
download | tcpdump-4e0187006366b895c525f88f205ae77b53722a7c.tar.gz |
RPKI-RTR: Remove printing when truncated condition already detected
Moreover:
Remove redundant 'truncated' messages.
Add and use tstr[].
Update output of some tests accordingly.
-rw-r--r-- | print-rpki-rtr.c | 21 | ||||
-rw-r--r-- | tests/kday2.out | 2 | ||||
-rw-r--r-- | tests/kday3.out | 10 | ||||
-rw-r--r-- | tests/kday4.out | 12 | ||||
-rw-r--r-- | tests/kday7.out | 13 | ||||
-rw-r--r-- | tests/kday8.out | 2 |
6 files changed, 22 insertions, 38 deletions
diff --git a/print-rpki-rtr.c b/print-rpki-rtr.c index 24ee3267..77e29c78 100644 --- a/print-rpki-rtr.c +++ b/print-rpki-rtr.c @@ -31,6 +31,8 @@ #include "extract.h" #include "addrtoname.h" +static const char tstr[] = "[|RPKI-RTR]"; + /* * RPKI/Router PDU header * @@ -169,7 +171,7 @@ indent_string (u_int indent) /* * Print a single PDU. */ -static void +static int rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) { const rpki_rtr_pdu *pdu_header; @@ -271,7 +273,8 @@ rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) if (encapsulated_pdu_length && (encapsulated_pdu_length <= tlen)) { ND_PRINT((ndo, "%s-----encapsulated PDU-----", indent_string(indent+4))); - rpki_rtr_pdu_print(ndo, tptr, indent+2); + if (rpki_rtr_pdu_print(ndo, tptr, indent+2)) + goto trunc; } tptr += encapsulated_pdu_length; @@ -307,11 +310,10 @@ rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) if (ndo->ndo_vflag > 1 || (ndo->ndo_vflag && hexdump)) { print_unknown_data(ndo,tptr,"\n\t ", pdu_len); } - return; + return 0; - trunc: - ND_PRINT((ndo, "|trunc")); - return; +trunc: + return 1; } void @@ -350,14 +352,15 @@ rpki_rtr_print(netdissect_options *ndo, register const u_char *pptr, register u_ /* * Print the PDU. */ - rpki_rtr_pdu_print(ndo, tptr, 8); + if (rpki_rtr_pdu_print(ndo, tptr, 8)) + goto trunc; tlen -= pdu_len; tptr += pdu_len; } return; - trunc: - ND_PRINT((ndo, "\n\t[|RPKI-RTR]")); +trunc: + ND_PRINT((ndo, "\n\t%s", tstr)); } /* diff --git a/tests/kday2.out b/tests/kday2.out index 770fc3b7..fbfc10e1 100644 --- a/tests/kday2.out +++ b/tests/kday2.out @@ -29,6 +29,6 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 21 - Error code: Unknown (66), Encapsulated PDU length: 37|trunc + Error code: Unknown (66), Encapsulated PDU length: 37 [|RPKI-RTR] EXIT CODE 00000100 diff --git a/tests/kday3.out b/tests/kday3.out index f6fd7284..61578d5f 100644 --- a/tests/kday3.out +++ b/tests/kday3.out @@ -13,10 +13,7 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0010: f857 ee68 4dfd 4d5f d9bd c709 30ac 8176 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 - RPKI-RTRv65, Error Report PDU (10), length: 66|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 12 - -----encapsulated PDU-----|trunc|trunc + RPKI-RTRv65, Error Report PDU (10), length: 66 [|RPKI-RTR] IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52) 204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 0, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0 @@ -33,9 +30,6 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 37 - -----encapsulated PDU-----|trunc|trunc - RPKI-RTRv9, Unknown PDU (51), length: 32 - 0x0000: 0933 84cc 0000 0020 9f00 1649 d1c8 546c - 0x0010: ff13 1980 100f fc85 8b00 0055 0000 0101 + -----encapsulated PDU----- [|RPKI-RTR] EXIT CODE 00000100 diff --git a/tests/kday4.out b/tests/kday4.out index 00836ee9..ccdebfc8 100644 --- a/tests/kday4.out +++ b/tests/kday4.out @@ -18,10 +18,7 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 37 - -----encapsulated PDU-----|trunc|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 12 - -----encapsulated PDU-----|trunc|trunc + -----encapsulated PDU----- [|RPKI-RTR] IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52) 204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 1819218606, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0 @@ -38,10 +35,7 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 37 - -----encapsulated PDU-----|trunc|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 12 - -----encapsulated PDU-----|trunc|trunc + -----encapsulated PDU----- [|RPKI-RTR] IP truncated-ip - 768 bytes missing! (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 820, bad cksum 3da6 (->3aa6)!) 204.9.51.132.50079 > 204.9.54.80.22: Flags [.], seq 0:768, ack 1, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 768 @@ -59,6 +53,6 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 100 Error text: ^@^@^@M-^?M-^?^_^[pM-xWM-nhMM-}M_M-YM-=M-G^I0M-,M-^AvM-3mM-L^Q:M-?^RM-^QM-q^FNM-^aM-tbM-^WM-/M-D9M-$^MM-9zM-%hs3M-hA^J^@B^@^@^@B^@^@^@%M-Dz^HM-i^RM-^DM-5M-^\M->0H^H^@E^P^@4M-}&@^@>^F - RPKI-RTRv115, Error Report PDU (10), length: 66|trunc + RPKI-RTRv115, Error Report PDU (10), length: 66 [|RPKI-RTR] EXIT CODE 00000100 diff --git a/tests/kday7.out b/tests/kday7.out index 5179a0f7..75e24caf 100644 --- a/tests/kday7.out +++ b/tests/kday7.out @@ -18,10 +18,7 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 37 - -----encapsulated PDU-----|trunc|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 12 - -----encapsulated PDU-----|trunc|trunc + -----encapsulated PDU----- [|RPKI-RTR] IP (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 52) 204.9.51.132.50079 > 204.9.54.80.22: Flags [.], cksum 0x8611 (incorrect -> 0xa678), ack 1819218606, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 0 @@ -38,10 +35,7 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 Error code: Unknown (66), Encapsulated PDU length: 37 - -----encapsulated PDU-----|trunc|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 12 - -----encapsulated PDU-----|trunc|trunc + -----encapsulated PDU----- [|RPKI-RTR] IP truncated-ip - 768 bytes missing! (tos 0x10, ttl 62, id 64806, offset 0, flags [DF], proto TCP (6), length 820, bad cksum 3da6 (->3aa6)!) 204.9.51.132.50079 > 204.9.54.80.22: Flags [.], seq 0:768, ack 1, win 4094, options [nop,nop,TS val 941371775 ecr 4294967242], length 768 @@ -57,7 +51,6 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 100|trunc - RPKI-RTRv115, Error Report PDU (10), length: 66|trunc + Error code: Unknown (66), Encapsulated PDU length: 100 [|RPKI-RTR] EXIT CODE 00000100 diff --git a/tests/kday8.out b/tests/kday8.out index 2d84b724..6446b7d3 100644 --- a/tests/kday8.out +++ b/tests/kday8.out @@ -29,6 +29,6 @@ IP (tos 0x0, ttl 64, id 36752, offset 0, flags [DF], proto TCP (6), length 399, 0x0020: b36d cc11 3abf 1291 f106 4ede 61f4 6297 0x0030: afc4 39a4 0db9 7aa5 6873 33e8 RPKI-RTRv65, Error Report PDU (10), length: 66 - Error code: Unknown (66), Encapsulated PDU length: 80|trunc + Error code: Unknown (66), Encapsulated PDU length: 80 [|RPKI-RTR] EXIT CODE 00000100 |