Use more the EXTRACT_U_1() macro (28/n)

In ND_PRINT() macro call(s) (step 7).

p[n] ...
This commit is contained in:
Francois-Xavier Le Bail 2017-11-26 13:02:48 +01:00
parent 575188b5bf
commit 1a90fd99d2
26 changed files with 136 additions and 124 deletions

View File

@ -1590,9 +1590,9 @@ handle_action(netdissect_options *ndo,
ND_PRINT((ndo, " (%s): ", etheraddr_string(ndo, src)));
}
switch (p[0]) {
case 0: ND_PRINT((ndo, "Spectrum Management Act#%d", p[1])); break;
case 1: ND_PRINT((ndo, "QoS Act#%d", p[1])); break;
case 2: ND_PRINT((ndo, "DLS Act#%d", p[1])); break;
case 0: ND_PRINT((ndo, "Spectrum Management Act#%d", EXTRACT_U_1(p + 1))); break;
case 1: ND_PRINT((ndo, "QoS Act#%d", EXTRACT_U_1(p + 1))); break;
case 2: ND_PRINT((ndo, "DLS Act#%d", EXTRACT_U_1(p + 1))); break;
case 3: ND_PRINT((ndo, "BA ")); PRINT_BA_ACTION(p[1]); break;
case 7: ND_PRINT((ndo, "HT ")); PRINT_HT_ACTION(p[1]); break;
case 13: ND_PRINT((ndo, "MeshAction ")); PRINT_MESH_ACTION(p[1]); break;
@ -1602,9 +1602,9 @@ handle_action(netdissect_options *ndo,
case 15:
ND_PRINT((ndo, "SelfprotectAction "));
PRINT_SELFPROT_ACTION(p[1]); break;
case 127: ND_PRINT((ndo, "Vendor Act#%d", p[1])); break;
case 127: ND_PRINT((ndo, "Vendor Act#%d", EXTRACT_U_1(p + 1))); break;
default:
ND_PRINT((ndo, "Reserved(%d) Act#%d", p[0], p[1]));
ND_PRINT((ndo, "Reserved(%d) Act#%d", EXTRACT_U_1(p), EXTRACT_U_1(p + 1)));
break;
}
return 1;

View File

@ -370,7 +370,7 @@ sig_print(netdissect_options *ndo,
ND_PRINT((ndo, "CALL_REF:0x%06x", call_ref));
} else {
/* SSCOP with some unknown protocol atop it */
ND_PRINT((ndo, "SSCOP, proto %d ", p[PROTO_POS]));
ND_PRINT((ndo, "SSCOP, proto %d ", EXTRACT_U_1(p + PROTO_POS)));
}
return;

View File

@ -57,7 +57,7 @@ babel_print(netdissect_options *ndo,
ND_PRINT((ndo, " invalid header"));
return;
} else {
ND_PRINT((ndo, " %d", cp[1]));
ND_PRINT((ndo, " %d", EXTRACT_U_1(cp + 1)));
}
switch(cp[1]) {
@ -487,9 +487,9 @@ babel_print_v2(netdissect_options *ndo,
ND_PRINT((ndo, "/truncated"));
else
ND_PRINT((ndo, "%s%s%s",
(message[3] & 0x80) ? "/prefix": "",
(message[3] & 0x40) ? "/id" : "",
(message[3] & 0x3f) ? "/unknown" : ""));
(EXTRACT_U_1(message + 3) & 0x80) ? "/prefix": "",
(EXTRACT_U_1(message + 3) & 0x40) ? "/id" : "",
(EXTRACT_U_1(message + 3) & 0x3f) ? "/unknown" : ""));
} else {
u_short interval, seqno, metric;
u_char plen;
@ -507,9 +507,9 @@ babel_print_v2(netdissect_options *ndo,
seqno = EXTRACT_BE_U_2(message + 8);
metric = EXTRACT_BE_U_2(message + 10);
ND_PRINT((ndo, "%s%s%s %s metric %u seqno %u interval %s",
(message[3] & 0x80) ? "/prefix": "",
(message[3] & 0x40) ? "/id" : "",
(message[3] & 0x3f) ? "/unknown" : "",
(EXTRACT_U_1(message + 3) & 0x80) ? "/prefix": "",
(EXTRACT_U_1(message + 3) & 0x40) ? "/id" : "",
(EXTRACT_U_1(message + 3) & 0x3f) ? "/unknown" : "",
format_prefix(ndo, prefix, plen),
metric, seqno, format_interval_update(interval)));
if(message[3] & 0x80) {
@ -538,7 +538,7 @@ babel_print_v2(netdissect_options *ndo,
message + 4, NULL, len - 2, prefix);
if(rc < 0) goto invalid;
ND_PRINT((ndo, "for %s",
message[2] == 0 ? "any" : format_prefix(ndo, prefix, plen)));
EXTRACT_U_1(message + 2) == 0 ? "any" : format_prefix(ndo, prefix, plen)));
}
}
break;
@ -558,7 +558,7 @@ babel_print_v2(netdissect_options *ndo,
if(rc < 0) goto invalid;
plen = message[3] + (message[2] == 1 ? 96 : 0);
ND_PRINT((ndo, "(%u hops) for %s seqno %u id %s",
message[6], format_prefix(ndo, prefix, plen),
EXTRACT_U_1(message + 6), format_prefix(ndo, prefix, plen),
seqno, format_id(message + 8)));
}
}
@ -582,7 +582,7 @@ babel_print_v2(netdissect_options *ndo,
if(len < 18) goto invalid;
ND_PRINT((ndo, "key-id %u digest-%u ", EXTRACT_BE_U_2(message + 2), len - 2));
for (j = 0; j < len - 2; j++)
ND_PRINT((ndo, "%02X", message[4 + j]));
ND_PRINT((ndo, "%02X", EXTRACT_U_1(message + j + 4)));
}
}
break;

View File

@ -248,7 +248,7 @@ auth_print(netdissect_options *ndo, register const u_char *pptr)
ND_TCHECK2(*pptr, AUTH_MD5_HASH_LEN);
ND_PRINT((ndo, "\n\t Digest: "));
for(i = 0; i < AUTH_MD5_HASH_LEN; i++)
ND_PRINT((ndo, "%02x", pptr[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(pptr + i)));
break;
case AUTH_SHA1:
case AUTH_MET_SHA1:
@ -279,7 +279,7 @@ auth_print(netdissect_options *ndo, register const u_char *pptr)
ND_TCHECK2(*pptr, AUTH_SHA1_HASH_LEN);
ND_PRINT((ndo, "\n\t Hash: "));
for(i = 0; i < AUTH_SHA1_HASH_LEN; i++)
ND_PRINT((ndo, "%02x", pptr[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(pptr + i)));
break;
}
return 0;

View File

@ -1743,7 +1743,7 @@ bgp_attr_print(netdissect_options *ndo,
ND_PRINT((ndo, "\n\t %u SNPA", snpa));
for (/*nothing*/; snpa > 0; snpa--) {
ND_TCHECK(tptr[0]);
ND_PRINT((ndo, "\n\t %d bytes", tptr[0]));
ND_PRINT((ndo, "\n\t %d bytes", EXTRACT_U_1(tptr)));
tptr += tptr[0] + 1;
}
} else {
@ -2361,11 +2361,11 @@ bgp_capabilities_print(netdissect_options *ndo,
EXTRACT_BE_U_2(opt + i + 2),
tok2str(bgp_safi_values, "Unknown",
EXTRACT_U_1(opt + i + 5)),
opt[i+5]));
EXTRACT_U_1(opt + i + 5)));
break;
case BGP_CAPCODE_RESTART:
ND_PRINT((ndo, "\n\t\tRestart Flags: [%s], Restart Time %us",
((opt[i+2])&0x80) ? "R" : "none",
((EXTRACT_U_1(opt + i + 2))&0x80) ? "R" : "none",
EXTRACT_BE_U_2(opt + i + 2)&0xfff));
tcap_len-=2;
cap_offset=4;
@ -2376,8 +2376,8 @@ bgp_capabilities_print(netdissect_options *ndo,
EXTRACT_BE_U_2(opt + i + cap_offset),
tok2str(bgp_safi_values,"Unknown",
EXTRACT_U_1(opt + i + cap_offset + 2)),
opt[i+cap_offset+2],
((opt[i+cap_offset+3])&0x80) ? "yes" : "no" ));
EXTRACT_U_1(opt + (i + cap_offset + 2)),
((EXTRACT_U_1(opt + (i + cap_offset + 3)))&0x80) ? "yes" : "no" ));
tcap_len-=4;
cap_offset+=4;
}
@ -2411,7 +2411,7 @@ bgp_capabilities_print(netdissect_options *ndo,
tok2str(af_values,"Unknown",EXTRACT_BE_U_2(opt + i + cap_offset)),
EXTRACT_BE_U_2(opt + i + cap_offset),
tok2str(bgp_safi_values,"Unknown",EXTRACT_U_1(opt + i + cap_offset + 2)),
opt[i+cap_offset+2],
EXTRACT_U_1(opt + (i + cap_offset + 2)),
tok2str(bgp_add_path_recvsend,"Bogus (0x%02x)",EXTRACT_U_1(opt + i + cap_offset + 3))
));
tcap_len-=4;

View File

@ -66,7 +66,7 @@ carp_print(netdissect_options *ndo, register const u_char *bp, register u_int le
ND_TCHECK(bp[2]);
ND_TCHECK(bp[5]);
ND_PRINT((ndo, "vhid=%d advbase=%d advskew=%d authlen=%d ",
bp[1], bp[5], bp[2], bp[3]));
EXTRACT_U_1(bp + 1), EXTRACT_U_1(bp + 5), EXTRACT_U_1(bp + 2), EXTRACT_U_1(bp + 3)));
if (ndo->ndo_vflag) {
struct cksum_vec vec[1];
vec[0].ptr = (const uint8_t *)bp;

View File

@ -381,7 +381,9 @@ cdp_print_prefixes(netdissect_options *ndo,
ND_PRINT((ndo, " IPv4 Prefixes (%d):", l / 5));
while (l > 0) {
ND_PRINT((ndo, " %u.%u.%u.%u/%u", p[0], p[1], p[2], p[3], p[4]));
ND_PRINT((ndo, " %u.%u.%u.%u/%u",
EXTRACT_U_1(p), EXTRACT_U_1(p + 1), EXTRACT_U_1(p + 2),
EXTRACT_U_1(p + 3), EXTRACT_U_1(p + 4)));
l -= 5;
p += 5;
}

View File

@ -325,7 +325,7 @@ dhcp6opt_print(netdissect_options *ndo,
EXTRACT_BE_U_2(tp + 2),
EXTRACT_BE_U_4(tp + 4)));
for (i = 8; i < optlen; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
/*(*/
ND_PRINT((ndo, ")"));
} else {
@ -337,7 +337,7 @@ dhcp6opt_print(netdissect_options *ndo,
if (optlen >= 2 + 8) {
ND_PRINT((ndo, " vid "));
for (i = 2; i < 2 + 8; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
/*(*/
ND_PRINT((ndo, ")"));
} else {
@ -350,7 +350,7 @@ dhcp6opt_print(netdissect_options *ndo,
ND_PRINT((ndo, " hwaddr type %u ",
EXTRACT_BE_U_2(tp + 2)));
for (i = 4; i < optlen; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
/*(*/
ND_PRINT((ndo, ")"));
} else {
@ -521,7 +521,7 @@ dhcp6opt_print(netdissect_options *ndo,
tp = (const u_char *)(dh6o + 1);
ND_PRINT((ndo, " "));
for (i = 0; i < optlen && i < 10; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
ND_PRINT((ndo, "...)"));
break;
case DH6OPT_RECONF_MSG:
@ -617,7 +617,7 @@ dhcp6opt_print(netdissect_options *ndo,
break;
}
tp = (const u_char *)(dh6o + 1);
ND_PRINT((ndo, " %s/%d", ip6addr_string(ndo, tp + 9), tp[8]));
ND_PRINT((ndo, " %s/%d", ip6addr_string(ndo, tp + 9), EXTRACT_U_1(tp + 8)));
ND_PRINT((ndo, " pltime:%u vltime:%u",
EXTRACT_BE_U_4(tp),
EXTRACT_BE_U_4(tp + 4)));
@ -647,7 +647,7 @@ dhcp6opt_print(netdissect_options *ndo,
* Print hex dump first 10 characters.
*/
for (i = 4; i < optlen && i < 14; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
ND_PRINT((ndo, "...)"));
break;
case DH6OPT_LQ_QUERY:
@ -694,7 +694,7 @@ dhcp6opt_print(netdissect_options *ndo,
* Print hex dump first 10 characters.
*/
for (i = 16; i < optlen && i < 26; i++)
ND_PRINT((ndo, "%02x", tp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(tp + i)));
ND_PRINT((ndo, "...)"));
break;
case DH6OPT_NTP_SERVER:

View File

@ -774,9 +774,9 @@ hncp_print_rec(netdissect_options *ndo,
ip_address = format_ip6addr(ndo, value);
ND_PRINT((ndo, " IP-Address: %s %c%c%c ",
ip_address,
(value[16] & 4) ? 'l' : '-',
(value[16] & 2) ? 'b' : '-',
(value[16] & 1) ? 's' : '-'
(EXTRACT_U_1(value + 16) & 4) ? 'l' : '-',
(EXTRACT_U_1(value + 16) & 2) ? 'b' : '-',
(EXTRACT_U_1(value + 16) & 1) ? 's' : '-'
));
len = print_dns_label(ndo, value+17, bodylen-17, 1);
if (len < 0) {

View File

@ -1495,7 +1495,7 @@ mldv2_query_print(netdissect_options *ndo, const u_char *bp, u_int len)
ND_PRINT((ndo," sflag"));
}
if (bp[24] & 0x07) {
ND_PRINT((ndo," robustness=%d", bp[24] & 0x07));
ND_PRINT((ndo," robustness=%d", EXTRACT_U_1(bp + 24) & 0x07));
}
if (bp[25] < 128) {
qqi = bp[25];

View File

@ -70,7 +70,7 @@ ip_printroute(netdissect_options *ndo,
ND_TCHECK(cp[2]);
ptr = cp[2] - 1;
if (ptr < 3 || ((ptr + 1) & 3) || ptr > length + 1)
ND_PRINT((ndo, " [bad ptr %u]", cp[2]));
ND_PRINT((ndo, " [bad ptr %u]", EXTRACT_U_1(cp + 2)));
for (len = 3; len < length; len += 4) {
ND_TCHECK_4(cp + len);
@ -189,7 +189,7 @@ ip_printts(netdissect_options *ndo,
ptr = cp[2] - 1;
len = 0;
if (ptr < 4 || ((ptr - 4) & (hoplen-1)) || ptr > length + 1)
ND_PRINT((ndo, "[bad ptr %u]", cp[2]));
ND_PRINT((ndo, "[bad ptr %u]", EXTRACT_U_1(cp + 2)));
ND_TCHECK(cp[3]);
switch (cp[3]&0xF) {
case IPOPT_TS_TSONLY:
@ -211,7 +211,7 @@ ip_printts(netdissect_options *ndo,
ND_PRINT((ndo, "PRESPEC"));
break;
default:
ND_PRINT((ndo, "[bad ts type %d]", cp[3]&0xF));
ND_PRINT((ndo, "[bad ts type %d]", EXTRACT_U_1(cp + 3)&0xF));
goto done;
}
@ -229,7 +229,7 @@ done:
ND_PRINT((ndo, "%s", ptr == len ? " ^ " : ""));
if (cp[3]>>4)
ND_PRINT((ndo, " [%d hops not recorded]} ", cp[3]>>4));
ND_PRINT((ndo, " [%d hops not recorded]} ", EXTRACT_U_1(cp + 3)>>4));
else
ND_PRINT((ndo, "}"));
return (0);

View File

@ -72,10 +72,10 @@ ip6_sopt_print(netdissect_options *ndo, const u_char *bp, int len)
break;
default:
if (len - i < IP6OPT_MINLEN) {
ND_PRINT((ndo, ", sopt_type %d: trunc)", bp[i]));
ND_PRINT((ndo, ", sopt_type %d: trunc)", EXTRACT_U_1(bp + i)));
goto trunc;
}
ND_PRINT((ndo, ", sopt_type 0x%02x: len=%d", bp[i], bp[i + 1]));
ND_PRINT((ndo, ", sopt_type 0x%02x: len=%d", EXTRACT_U_1(bp + i), EXTRACT_U_1(bp + i + 1)));
break;
}
}
@ -122,7 +122,7 @@ ip6_opt_print(netdissect_options *ndo, const u_char *bp, int len)
goto trunc;
}
if (bp[i + 1] != IP6OPT_RTALERT_LEN - 2) {
ND_PRINT((ndo, "(rtalert: invalid len %d)", bp[i + 1]));
ND_PRINT((ndo, "(rtalert: invalid len %d)", EXTRACT_U_1(bp + i + 1)));
goto trunc;
}
ND_PRINT((ndo, "(rtalert: 0x%04x) ", EXTRACT_BE_U_2(bp + i + 2)));
@ -133,7 +133,7 @@ ip6_opt_print(netdissect_options *ndo, const u_char *bp, int len)
goto trunc;
}
if (bp[i + 1] != IP6OPT_JUMBO_LEN - 2) {
ND_PRINT((ndo, "(jumbo: invalid len %d)", bp[i + 1]));
ND_PRINT((ndo, "(jumbo: invalid len %d)", EXTRACT_U_1(bp + i + 1)));
goto trunc;
}
ND_PRINT((ndo, "(jumbo: %u) ", EXTRACT_BE_U_4(bp + i + 2)));
@ -144,7 +144,7 @@ ip6_opt_print(netdissect_options *ndo, const u_char *bp, int len)
goto trunc;
}
if (bp[i + 1] < IP6OPT_HOMEADDR_MINLEN - 2) {
ND_PRINT((ndo, "(homeaddr: invalid len %d)", bp[i + 1]));
ND_PRINT((ndo, "(homeaddr: invalid len %d)", EXTRACT_U_1(bp + i + 1)));
goto trunc;
}
ND_PRINT((ndo, "(homeaddr: %s", ip6addr_string(ndo, bp + i + 2)));
@ -156,10 +156,10 @@ ip6_opt_print(netdissect_options *ndo, const u_char *bp, int len)
break;
default:
if (len - i < IP6OPT_MINLEN) {
ND_PRINT((ndo, "(type %d: trunc)", bp[i]));
ND_PRINT((ndo, "(type %d: trunc)", EXTRACT_U_1(bp + i)));
goto trunc;
}
ND_PRINT((ndo, "(opt_type 0x%02x: len=%d)", bp[i], bp[i + 1]));
ND_PRINT((ndo, "(opt_type 0x%02x: len=%d)", EXTRACT_U_1(bp + i), EXTRACT_U_1(bp + i + 1)));
break;
}
}

View File

@ -1421,7 +1421,8 @@ ikev1_id_print(netdissect_options *ndo, u_char tpay _U_,
mask = data + sizeof(struct in_addr);
ND_PRINT((ndo," len=%d %s/%u.%u.%u.%u", len,
ipaddr_string(ndo, data),
mask[0], mask[1], mask[2], mask[3]));
EXTRACT_U_1(mask), EXTRACT_U_1(mask + 1),
EXTRACT_U_1(mask + 2), EXTRACT_U_1(mask + 3)));
}
len = 0;
break;
@ -1443,10 +1444,10 @@ ikev1_id_print(netdissect_options *ndo, u_char tpay _U_,
/*XXX*/
ND_PRINT((ndo," len=%d %s/0x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", len,
ip6addr_string(ndo, data),
mask[0], mask[1], mask[2], mask[3],
mask[4], mask[5], mask[6], mask[7],
mask[8], mask[9], mask[10], mask[11],
mask[12], mask[13], mask[14], mask[15]));
EXTRACT_U_1(mask), EXTRACT_U_1(mask + 1), EXTRACT_U_1(mask + 2), EXTRACT_U_1(mask + 3),
EXTRACT_U_1(mask + 4), EXTRACT_U_1(mask + 5), EXTRACT_U_1(mask + 6), EXTRACT_U_1(mask + 7),
EXTRACT_U_1(mask + 8), EXTRACT_U_1(mask + 9), EXTRACT_U_1(mask + 10), EXTRACT_U_1(mask + 11),
EXTRACT_U_1(mask + 12), EXTRACT_U_1(mask + 13), EXTRACT_U_1(mask + 14), EXTRACT_U_1(mask + 15)));
}
len = 0;
break;
@ -2603,7 +2604,7 @@ ikev2_vid_print(netdissect_options *ndo, u_char tpay,
len = ntohs(e.len) - 4;
ND_TCHECK2(*vid, len);
for(i=0; i<len; i++) {
if(ND_ISPRINT(vid[i])) ND_PRINT((ndo, "%c", vid[i]));
if(ND_ISPRINT(vid[i])) ND_PRINT((ndo, "%c", EXTRACT_U_1(vid + i)));
else ND_PRINT((ndo, "."));
}
if (2 < ndo->ndo_vflag && 4 < len) {

View File

@ -1362,7 +1362,7 @@ juniper_parse_header(netdissect_options *ndo,
ND_PRINT((ndo, ", cookie 0x"));
for (idx = 0; idx < l2info->cookie_len; idx++) {
l2info->cookie[idx] = p[idx]; /* copy cookie data */
if (ndo->ndo_eflag) ND_PRINT((ndo, "%02x", p[idx]));
if (ndo->ndo_eflag) ND_PRINT((ndo, "%02x", EXTRACT_U_1(p + idx)));
}
}

View File

@ -396,7 +396,7 @@ l2tp_q931_cc_print(netdissect_options *ndo, const u_char *dat, u_int length)
return;
}
print_16bits_val(ndo, (const uint16_t *)dat);
ND_PRINT((ndo, ", %02x", dat[2]));
ND_PRINT((ndo, ", %02x", EXTRACT_U_1(dat + 2)));
dat += 3;
length -= 3;
if (length != 0) {

View File

@ -378,7 +378,9 @@ llc_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen,
if (caplen > 0)
ND_DEFAULTPRINT((const u_char *)p, caplen);
} else
ND_PRINT((ndo, ": %02x %02x", p[1], p[2]));
ND_PRINT((ndo, ": %02x %02x",
EXTRACT_U_1(p + 1),
EXTRACT_U_1(p + 2)));
return (hdrlen);
}
}

View File

@ -617,8 +617,10 @@ print_ets_priority_assignment_table(netdissect_options *ndo,
ND_PRINT((ndo, "\n\t Priority Assignment Table"));
ND_PRINT((ndo, "\n\t Priority : 0 1 2 3 4 5 6 7"));
ND_PRINT((ndo, "\n\t Value : %-3d %-3d %-3d %-3d %-3d %-3d %-3d %-3d",
ptr[0]>>4,ptr[0]&0x0f,ptr[1]>>4,ptr[1]&0x0f,ptr[2]>>4,
ptr[2] & 0x0f, ptr[3] >> 4, ptr[3] & 0x0f));
EXTRACT_U_1(ptr) >> 4, EXTRACT_U_1(ptr) & 0x0f,
EXTRACT_U_1(ptr + 1) >> 4, EXTRACT_U_1(ptr + 1) & 0x0f,
EXTRACT_U_1(ptr + 2) >> 4, EXTRACT_U_1(ptr + 2) & 0x0f,
EXTRACT_U_1(ptr + 3) >> 4, EXTRACT_U_1(ptr + 3) & 0x0f));
}
static void
@ -628,7 +630,9 @@ print_tc_bandwidth_table(netdissect_options *ndo,
ND_PRINT((ndo, "\n\t TC Bandwidth Table"));
ND_PRINT((ndo, "\n\t TC%% : 0 1 2 3 4 5 6 7"));
ND_PRINT((ndo, "\n\t Value : %-3d %-3d %-3d %-3d %-3d %-3d %-3d %-3d",
ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5], ptr[6], ptr[7]));
EXTRACT_U_1(ptr), EXTRACT_U_1(ptr + 1), EXTRACT_U_1(ptr + 2),
EXTRACT_U_1(ptr + 3), EXTRACT_U_1(ptr + 4), EXTRACT_U_1(ptr + 5),
EXTRACT_U_1(ptr + 6), EXTRACT_U_1(ptr + 7)));
}
static void
@ -638,7 +642,9 @@ print_tsa_assignment_table(netdissect_options *ndo,
ND_PRINT((ndo, "\n\t TSA Assignment Table"));
ND_PRINT((ndo, "\n\t Traffic Class: 0 1 2 3 4 5 6 7"));
ND_PRINT((ndo, "\n\t Value : %-3d %-3d %-3d %-3d %-3d %-3d %-3d %-3d",
ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5], ptr[6], ptr[7]));
EXTRACT_U_1(ptr), EXTRACT_U_1(ptr + 1), EXTRACT_U_1(ptr + 2),
EXTRACT_U_1(ptr + 3), EXTRACT_U_1(ptr + 4), EXTRACT_U_1(ptr + 5),
EXTRACT_U_1(ptr + 6), EXTRACT_U_1(ptr + 7)));
}
/*

View File

@ -182,10 +182,10 @@ mobility_opt_print(netdissect_options *ndo,
break;
default:
if (len - i < IP6MOPT_MINLEN) {
ND_PRINT((ndo, "(sopt_type %u: trunc)", bp[i]));
ND_PRINT((ndo, "(sopt_type %u: trunc)", EXTRACT_U_1(bp + i)));
goto trunc;
}
ND_PRINT((ndo, "(type-0x%02x: len=%u)", bp[i], bp[i + 1]));
ND_PRINT((ndo, "(type-0x%02x: len=%u)", EXTRACT_U_1(bp + i), EXTRACT_U_1(bp + i + 1)));
break;
}
}

View File

@ -158,14 +158,14 @@ pimv1_join_prune_print(netdissect_options *ndo,
unsigned_relts_print(ndo, hold);
}
ND_PRINT((ndo, "%s (%s/%d, %s", njoin ? "Join" : "Prune",
ipaddr_string(ndo, bp + 26), bp[25] & 0x3f,
ipaddr_string(ndo, bp + 26), EXTRACT_U_1(bp + 25) & 0x3f,
ipaddr_string(ndo, bp + 12)));
if (EXTRACT_BE_U_4(bp + 16) != 0xffffffff)
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, bp + 16)));
ND_PRINT((ndo, ") %s%s %s",
(bp[24] & 0x01) ? "Sparse" : "Dense",
(bp[25] & 0x80) ? " WC" : "",
(bp[25] & 0x40) ? "RP" : "SPT"));
(EXTRACT_U_1(bp + 24) & 0x01) ? "Sparse" : "Dense",
(EXTRACT_U_1(bp + 25) & 0x80) ? " WC" : "",
(EXTRACT_U_1(bp + 25) & 0x40) ? "RP" : "SPT"));
return;
}
@ -232,11 +232,11 @@ pimv1_join_prune_print(netdissect_options *ndo,
goto trunc;
ND_TCHECK_6(bp);
ND_PRINT((ndo, "\n\t%s %s%s%s%s/%d", type,
(bp[0] & 0x01) ? "Sparse " : "Dense ",
(bp[1] & 0x80) ? "WC " : "",
(bp[1] & 0x40) ? "RP " : "SPT ",
(EXTRACT_U_1(bp) & 0x01) ? "Sparse " : "Dense ",
(EXTRACT_U_1(bp + 1) & 0x80) ? "WC " : "",
(EXTRACT_U_1(bp + 1) & 0x40) ? "RP " : "SPT ",
ipaddr_string(ndo, bp + 2),
bp[1] & 0x3f));
EXTRACT_U_1(bp + 1) & 0x3f));
bp += 6;
len -= 6;
}
@ -271,7 +271,7 @@ pimv1_print(netdissect_options *ndo,
ND_PRINT((ndo, " Sparse-Dense-mode"));
break;
default:
ND_PRINT((ndo, " mode-%d", bp[8] >> 4));
ND_PRINT((ndo, " mode-%d", EXTRACT_U_1(bp + 8) >> 4));
break;
}
}
@ -311,9 +311,9 @@ pimv1_print(netdissect_options *ndo,
ND_PRINT((ndo, "/%s", ipaddr_string(ndo, bp + 12)));
ND_TCHECK_4(bp + 24);
ND_PRINT((ndo, " %s pref %d metric %d",
(bp[20] & 0x80) ? "RP-tree" : "SPT",
EXTRACT_BE_U_4(bp + 20) & 0x7fffffff,
EXTRACT_BE_U_4(bp + 24)));
(EXTRACT_U_1(bp + 20) & 0x80) ? "RP-tree" : "SPT",
EXTRACT_BE_U_4(bp + 20) & 0x7fffffff,
EXTRACT_BE_U_4(bp + 24)));
break;
case PIMV1_TYPE_JOIN_PRUNE:
case PIMV1_TYPE_GRAFT:
@ -327,7 +327,7 @@ pimv1_print(netdissect_options *ndo,
}
ND_TCHECK(bp[4]);
if ((bp[4] >> 4) != 1)
ND_PRINT((ndo, " [v%d]", bp[4] >> 4));
ND_PRINT((ndo, " [v%d]", EXTRACT_U_1(bp + 4) >> 4));
return;
trunc:
@ -418,7 +418,7 @@ cisco_autorp_print(netdissect_options *ndo,
break;
}
if (bp[0] & 0xfc)
ND_PRINT((ndo, " [rsvd=0x%02x]", bp[0] & 0xfc));
ND_PRINT((ndo, " [rsvd=0x%02x]", EXTRACT_U_1(bp) & 0xfc));
bp += 1;
len -= 1;
if (len < 1)
@ -432,13 +432,13 @@ cisco_autorp_print(netdissect_options *ndo,
if (len < 6)
goto trunc;
ND_TCHECK_6(bp);
ND_PRINT((ndo, "%c%s%s/%d", s, bp[0] & 1 ? "!" : "",
ipaddr_string(ndo, bp + 2), bp[1]));
ND_PRINT((ndo, "%c%s%s/%d", s, EXTRACT_U_1(bp) & 1 ? "!" : "",
ipaddr_string(ndo, bp + 2), EXTRACT_U_1(bp + 1)));
if (bp[0] & 0x02) {
ND_PRINT((ndo, " bidir"));
}
if (bp[0] & 0xfc) {
ND_PRINT((ndo, "[rsvd=0x%02x]", bp[0] & 0xfc));
ND_PRINT((ndo, "[rsvd=0x%02x]", EXTRACT_U_1(bp) & 0xfc));
}
s = ',';
bp += 6; len -= 6;
@ -622,26 +622,26 @@ pimv2_addr_print(netdissect_options *ndo,
if (!silent) {
ND_PRINT((ndo, "%s", ipaddr_string(ndo, bp + 2)));
if (bp[1] != 32)
ND_PRINT((ndo, "/%u", bp[1]));
ND_PRINT((ndo, "/%u", EXTRACT_U_1(bp + 1)));
}
}
else if (af == AF_INET6) {
if (!silent) {
ND_PRINT((ndo, "%s", ip6addr_string(ndo, bp + 2)));
if (bp[1] != 128)
ND_PRINT((ndo, "/%u", bp[1]));
ND_PRINT((ndo, "/%u", EXTRACT_U_1(bp + 1)));
}
}
if (bp[0] && !silent) {
if (at == pimv2_group) {
ND_PRINT((ndo, "(0x%02x)", bp[0]));
ND_PRINT((ndo, "(0x%02x)", EXTRACT_U_1(bp)));
} else {
ND_PRINT((ndo, "(%s%s%s",
bp[0] & 0x04 ? "S" : "",
bp[0] & 0x02 ? "W" : "",
bp[0] & 0x01 ? "R" : ""));
EXTRACT_U_1(bp) & 0x04 ? "S" : "",
EXTRACT_U_1(bp) & 0x02 ? "W" : "",
EXTRACT_U_1(bp) & 0x01 ? "R" : ""));
if (bp[0] & 0xf8) {
ND_PRINT((ndo, "+0x%02x", bp[0] & 0xf8));
ND_PRINT((ndo, "+0x%02x", EXTRACT_U_1(bp) & 0xf8));
}
ND_PRINT((ndo, ")"));
}
@ -1029,11 +1029,11 @@ pimv2_print(netdissect_options *ndo,
if (len < 1)
goto trunc;
ND_TCHECK(bp[0]);
ND_PRINT((ndo, " hashmlen=%d", bp[0]));
ND_PRINT((ndo, " hashmlen=%d", EXTRACT_U_1(bp)));
if (len < 2)
goto trunc;
ND_TCHECK(bp[2]);
ND_PRINT((ndo, " BSRprio=%d", bp[1]));
ND_PRINT((ndo, " BSRprio=%d", EXTRACT_U_1(bp + 1)));
bp += 2;
len -= 2;
@ -1056,11 +1056,11 @@ pimv2_print(netdissect_options *ndo,
if (len < 1)
goto trunc;
ND_TCHECK(bp[0]);
ND_PRINT((ndo, " RPcnt=%d", bp[0]));
ND_PRINT((ndo, " RPcnt=%d", EXTRACT_U_1(bp)));
if (len < 2)
goto trunc;
ND_TCHECK(bp[1]);
ND_PRINT((ndo, " FRPcnt=%d", frpcnt = bp[1]));
ND_PRINT((ndo, " FRPcnt=%d", frpcnt = EXTRACT_U_1(bp + 1)));
if (len < 4)
goto trunc;
bp += 4;
@ -1086,7 +1086,7 @@ pimv2_print(netdissect_options *ndo,
if (len < 3)
goto trunc;
ND_TCHECK(bp[2]);
ND_PRINT((ndo, ",prio=%d", bp[2]));
ND_PRINT((ndo, ",prio=%d", EXTRACT_U_1(bp + 2)));
if (len < 4)
goto trunc;
bp += 4;
@ -1122,12 +1122,12 @@ pimv2_print(netdissect_options *ndo,
if (len < 1)
goto trunc;
ND_TCHECK(bp[0]);
ND_PRINT((ndo, " prefix-cnt=%d", bp[0]));
ND_PRINT((ndo, " prefix-cnt=%d", EXTRACT_U_1(bp)));
pfxcnt = bp[0];
if (len < 2)
goto trunc;
ND_TCHECK(bp[1]);
ND_PRINT((ndo, " prio=%d", bp[1]));
ND_PRINT((ndo, " prio=%d", EXTRACT_U_1(bp + 1)));
if (len < 4)
goto trunc;
ND_TCHECK_2(bp + 2);

View File

@ -909,7 +909,7 @@ print_attr_netmask6(netdissect_options *ndo,
ND_TCHECK2(data[0], length);
if (data[1] > 128)
{
ND_PRINT((ndo, "ERROR: netmask %u not in range (0..128)", data[1]));
ND_PRINT((ndo, "ERROR: netmask %u not in range (0..128)", EXTRACT_U_1(data + 1)));
return;
}
@ -917,7 +917,7 @@ print_attr_netmask6(netdissect_options *ndo,
if (length > 2)
memcpy(data2, data+2, length-2);
ND_PRINT((ndo, "%s/%u", ip6addr_string(ndo, data2), data[1]));
ND_PRINT((ndo, "%s/%u", ip6addr_string(ndo, data2), EXTRACT_U_1(data + 1)));
if (data[1] > 8 * (length - 2))
ND_PRINT((ndo, " (inconsistent prefix length)"));

View File

@ -151,8 +151,8 @@ sliplink_print(netdissect_options *ndo,
register int i;
for (i = SLX_CHDR; i < SLX_CHDR + CHDR_LEN - 1; ++i)
ND_PRINT((ndo, "%02x.", p[i]));
ND_PRINT((ndo, "%02x: ", p[SLX_CHDR + CHDR_LEN - 1]));
ND_PRINT((ndo, "%02x.", EXTRACT_U_1(p + i)));
ND_PRINT((ndo, "%02x: ", EXTRACT_U_1(p + SLX_CHDR + CHDR_LEN - 1)));
return;
}
switch (p[SLX_CHDR] & 0xf0) {
@ -188,7 +188,7 @@ sliplink_print(netdissect_options *ndo,
length, dir);
ND_PRINT((ndo, ": "));
} else
ND_PRINT((ndo, "slip-%d!: ", p[SLX_CHDR]));
ND_PRINT((ndo, "slip-%d!: ", EXTRACT_U_1(p + SLX_CHDR)));
}
}

View File

@ -837,7 +837,8 @@ print_smb(netdissect_options *ndo,
ND_PRINT((ndo, "NTError = %s\n", nt_errstr(nterror)));
} else {
if (buf[5])
ND_PRINT((ndo, "SMBError = %s\n", smb_errstr(buf[5], EXTRACT_LE_U_2(buf + 7))));
ND_PRINT((ndo, "SMBError = %s\n", smb_errstr(EXTRACT_U_1(buf + 5),
EXTRACT_LE_U_2(buf + 7))));
}
smboffset = 32;

View File

@ -304,7 +304,7 @@ stp_print_mstp_bpdu(netdissect_options *ndo, const struct stp_bpdu_ *stp_bpdu,
stp_print_bridge_id(ptr + MST_BPDU_CIST_BRIDGE_ID_OFFSET)));
ND_TCHECK(ptr[MST_BPDU_CIST_REMAIN_HOPS_OFFSET]);
ND_PRINT((ndo, "CIST remaining-hops %d", ptr[MST_BPDU_CIST_REMAIN_HOPS_OFFSET]));
ND_PRINT((ndo, "CIST remaining-hops %d", EXTRACT_U_1(ptr + MST_BPDU_CIST_REMAIN_HOPS_OFFSET)));
/* Dump all MSTI's */
ND_TCHECK_2(ptr + MST_BPDU_VER3_LEN_OFFSET);
@ -321,15 +321,15 @@ stp_print_mstp_bpdu(netdissect_options *ndo, const struct stp_bpdu_ *stp_bpdu,
ND_PRINT((ndo, "\n\tMSTI %d, Flags [%s], port-role %s",
msti, bittok2str(stp_bpdu_flag_values, "none", EXTRACT_U_1(ptr + offset)),
tok2str(rstp_obj_port_role_values, "Unknown",
RSTP_EXTRACT_PORT_ROLE(ptr[offset]))));
RSTP_EXTRACT_PORT_ROLE(EXTRACT_U_1(ptr + offset)))));
ND_PRINT((ndo, "\n\t\tMSTI regional-root-id %s, pathcost %u",
stp_print_bridge_id(ptr + offset +
MST_BPDU_MSTI_ROOT_PRIO_OFFSET),
EXTRACT_BE_U_4(ptr + offset + MST_BPDU_MSTI_ROOT_PATH_COST_OFFSET)));
ND_PRINT((ndo, "\n\t\tMSTI bridge-prio %d, port-prio %d, hops %d",
ptr[offset + MST_BPDU_MSTI_BRIDGE_PRIO_OFFSET] >> 4,
ptr[offset + MST_BPDU_MSTI_PORT_PRIO_OFFSET] >> 4,
ptr[offset + MST_BPDU_MSTI_REMAIN_HOPS_OFFSET]));
EXTRACT_U_1(ptr + offset + MST_BPDU_MSTI_BRIDGE_PRIO_OFFSET) >> 4,
EXTRACT_U_1(ptr + offset + MST_BPDU_MSTI_PORT_PRIO_OFFSET) >> 4,
EXTRACT_U_1(ptr + offset + MST_BPDU_MSTI_REMAIN_HOPS_OFFSET)));
len -= MST_BPDU_MSTI_LENGTH;
offset += MST_BPDU_MSTI_LENGTH;
@ -373,14 +373,14 @@ stp_print_spb_bpdu(netdissect_options *ndo, const struct stp_bpdu_ *stp_bpdu,
"flag %d,\n\tRestricted role-flag: %d, Format id %d cap %d, "
"Convention id %d cap %d,\n\tEdge count %d, "
"Agreement digest %08x%08x%08x%08x%08x\n",
ptr[offset + SPB_BPDU_AGREEMENT_OFFSET]>>6,
ptr[offset + SPB_BPDU_AGREEMENT_OFFSET]>>4 & 0x3,
ptr[offset + SPB_BPDU_AGREEMENT_OFFSET]>>3 & 0x1,
ptr[offset + SPB_BPDU_AGREEMENT_OFFSET]>>2 & 0x1,
ptr[offset + SPB_BPDU_AGREEMENT_FORMAT_OFFSET]>>4,
ptr[offset + SPB_BPDU_AGREEMENT_FORMAT_OFFSET]&0x00ff,
ptr[offset + SPB_BPDU_AGREEMENT_CON_OFFSET]>>4,
ptr[offset + SPB_BPDU_AGREEMENT_CON_OFFSET]&0x00ff,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_OFFSET)>>6,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_OFFSET)>>4 & 0x3,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_OFFSET)>>3 & 0x1,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_OFFSET)>>2 & 0x1,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_FORMAT_OFFSET)>>4,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_FORMAT_OFFSET)&0x00ff,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_CON_OFFSET)>>4,
EXTRACT_U_1(ptr + offset + SPB_BPDU_AGREEMENT_CON_OFFSET)&0x00ff,
EXTRACT_BE_U_2(ptr + offset + SPB_BPDU_AGREEMENT_EDGE_OFFSET),
EXTRACT_BE_U_4(ptr + offset + SPB_BPDU_AGREEMENT_DIGEST_OFFSET),
EXTRACT_BE_U_4(ptr + offset + SPB_BPDU_AGREEMENT_DIGEST_OFFSET + 4),

View File

@ -78,7 +78,7 @@ sunatm_if_print(netdissect_options *ndo,
}
if (ndo->ndo_eflag) {
ND_PRINT((ndo, p[DIR_POS] & 0x80 ? "Tx: " : "Rx: "));
ND_PRINT((ndo, EXTRACT_U_1(p + DIR_POS) & 0x80 ? "Tx: " : "Rx: "));
}
switch (p[DIR_POS] & 0x0f) {

View File

@ -531,19 +531,19 @@ tcp_print(netdissect_options *ndo,
case CANT_CHECK_SIGNATURE:
ND_PRINT((ndo, "can't check - "));
for (i = 0; i < TCP_SIGLEN; ++i)
ND_PRINT((ndo, "%02x", cp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(cp + i)));
break;
}
#else
for (i = 0; i < TCP_SIGLEN; ++i)
ND_PRINT((ndo, "%02x", cp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(cp + i)));
#endif
break;
case TCPOPT_SCPS:
datalen = 2;
LENCHECK(datalen);
ND_PRINT((ndo, " cap %02x id %u", cp[0], cp[1]));
ND_PRINT((ndo, " cap %02x id %u", EXTRACT_U_1(cp), EXTRACT_U_1(cp + 1)));
break;
case TCPOPT_TCPAO:
@ -557,14 +557,14 @@ tcp_print(netdissect_options *ndo,
ND_PRINT((ndo, " invalid"));
} else {
LENCHECK(1);
ND_PRINT((ndo, " keyid %u", cp[0]));
ND_PRINT((ndo, " keyid %u", EXTRACT_U_1(cp)));
LENCHECK(2);
ND_PRINT((ndo, " rnextkeyid %u", cp[1]));
ND_PRINT((ndo, " rnextkeyid %u", EXTRACT_U_1(cp + 1)));
if (datalen > 2) {
ND_PRINT((ndo, " mac 0x"));
for (i = 2; i < datalen; i++) {
LENCHECK(i + 1);
ND_PRINT((ndo, "%02x", cp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(cp + i)));
}
}
}
@ -633,7 +633,7 @@ tcp_print(netdissect_options *ndo,
ND_PRINT((ndo, " 0x"));
for (i = 0; i < datalen; ++i) {
LENCHECK(i + 1);
ND_PRINT((ndo, "%02x", cp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(cp + i)));
}
break;
}
@ -829,7 +829,7 @@ print_tcp_fastopen_option(netdissect_options *ndo, register const u_char *cp,
} else {
ND_PRINT((ndo, " cookie "));
for (i = 0; i < datalen; ++i)
ND_PRINT((ndo, "%02x", cp[i]));
ND_PRINT((ndo, "%02x", EXTRACT_U_1(cp + i)));
}
}
}

View File

@ -120,13 +120,13 @@ vrrp_print(netdissect_options *ndo,
if (version < 2 || version > 3 || type != VRRP_TYPE_ADVERTISEMENT)
return;
ND_TCHECK(bp[2]);
ND_PRINT((ndo, ", vrid %u, prio %u", bp[1], bp[2]));
ND_PRINT((ndo, ", vrid %u, prio %u", EXTRACT_U_1(bp + 1), EXTRACT_U_1(bp + 2)));
ND_TCHECK(bp[5]);
if (version == 2) {
auth_type = bp[4];
ND_PRINT((ndo, ", authtype %s", tok2str(auth2str, NULL, auth_type)));
ND_PRINT((ndo, ", intvl %us, length %u", bp[5], len));
ND_PRINT((ndo, ", intvl %us, length %u", EXTRACT_U_1(bp + 5), len));
} else { /* version == 3 */
uint16_t intvl = (bp[4] & 0x0f) << 8 | bp[5];
ND_PRINT((ndo, ", intvl %ucs, length %u", intvl, len));