It displays the reason for the "invalid" case.
Before:
1 2015-05-19 13:34:16.720640 (invalid)
After:
1 2015-05-19 13:34:16.720640 [cookie length 10 > 8] (invalid)
This is a follow-up to
8c7221d39b44502999c78200d544665f13b4e331.
Add the poc test file from GitHub issue #783 (first packet).
Moreover:
Remove some extra blank lines.
#ifdef DLT_JUNIPER_MFR
void
juniper_mfr_if_print(netdissect_options *ndo,
#ifdef DLT_JUNIPER_MFR
void
juniper_mfr_if_print(netdissect_options *ndo,
int tlv_value;
const u_char *tptr;
int tlv_value;
const u_char *tptr;
l2info->header_len = 0;
l2info->cookie_len = 0;
l2info->proto = 0;
l2info->header_len = 0;
l2info->cookie_len = 0;
l2info->proto = 0;
l2info->length = h->len;
l2info->caplen = h->caplen;
l2info->flags = GET_U_1(p + 3);
l2info->length = h->len;
l2info->caplen = h->caplen;
l2info->flags = GET_U_1(p + 3);
#ifdef DLT_JUNIPER_MFR
/* MFR child links don't carry cookies */
if (l2info->pictype == DLT_JUNIPER_MFR &&
#ifdef DLT_JUNIPER_MFR
/* MFR child links don't carry cookies */
if (l2info->pictype == DLT_JUNIPER_MFR &&
lp->s,
l2info->cookie_len);
lp->s,
l2info->cookie_len);
- if (l2info->cookie_len > 8) {
- nd_print_invalid(ndo);
- return 0;
- }
+ ND_ICHECKMSG_U("cookie length", l2info->cookie_len, >, 8);
if (l2info->cookie_len > 0) {
ND_TCHECK_LEN(p, l2info->cookie_len);
if (l2info->cookie_len > 0) {
ND_TCHECK_LEN(p, l2info->cookie_len);
if (ndo->ndo_eflag) ND_PRINT(": "); /* print demarc b/w L2/L3*/
if (ndo->ndo_eflag) ND_PRINT(": "); /* print demarc b/w L2/L3*/
l2info->proto = GET_BE_U_2(p + l2info->cookie_len);
}
p+=l2info->cookie_len;
l2info->proto = GET_BE_U_2(p + l2info->cookie_len);
}
p+=l2info->cookie_len;
# AccECN tests
accecn_handshake accecn_handshake.pcap accecn_handshake.out -v
# AccECN tests
accecn_handshake accecn_handshake.pcap accecn_handshake.out -v
+
+# Juniper tests
+juniper_monitor_invalid_cookie_length juniper_monitor_invalid_cookie_length.pcap juniper_monitor_invalid_cookie_length.out
--- /dev/null
+ 1 2015-05-19 13:34:16.720640 [cookie length 10 > 8] (invalid)