X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/f085c93f59fb2332e09f3da20eef5fb2bbd04431..4ef2f8ba3a27d5b0e30c7e60cc4aed7721adaac0:/print-radius.c diff --git a/print-radius.c b/print-radius.c index 63d66242..9047cd14 100644 --- a/print-radius.c +++ b/print-radius.c @@ -191,14 +191,14 @@ static const struct tok rfc4675_tagged[] = { }; -static void print_attr_string(netdissect_options *, register const u_char *, u_int, u_short ); -static void print_attr_num(netdissect_options *, register const u_char *, u_int, u_short ); -static void print_vendor_attr(netdissect_options *, register const u_char *, u_int, u_short ); -static void print_attr_address(netdissect_options *, register const u_char *, u_int, u_short); -static void print_attr_address6(netdissect_options *, register const u_char *, u_int, u_short); -static void print_attr_netmask6(netdissect_options *, register const u_char *, u_int, u_short); -static void print_attr_time(netdissect_options *, register const u_char *, u_int, u_short); -static void print_attr_strange(netdissect_options *, register const u_char *, u_int, u_short); +static void print_attr_string(netdissect_options *, const u_char *, u_int, u_short ); +static void print_attr_num(netdissect_options *, const u_char *, u_int, u_short ); +static void print_vendor_attr(netdissect_options *, const u_char *, u_int, u_short ); +static void print_attr_address(netdissect_options *, const u_char *, u_int, u_short); +static void print_attr_address6(netdissect_options *, const u_char *, u_int, u_short); +static void print_attr_netmask6(netdissect_options *, const u_char *, u_int, u_short); +static void print_attr_time(netdissect_options *, const u_char *, u_int, u_short); +static void print_attr_strange(netdissect_options *, const u_char *, u_int, u_short); struct radius_hdr { uint8_t code; /* Radius packet code */ @@ -443,7 +443,7 @@ static struct attrtype { const char **subtypes; /* Standard Values (if any) */ u_char siz_subtypes; /* Size of total standard values */ u_char first_subtype; /* First standard value is 0 or 1 */ - void (*print_func)(netdissect_options *, register const u_char *, u_int, u_short); + void (*print_func)(netdissect_options *, const u_char *, u_int, u_short); } attr_type[]= { { NULL, NULL, 0, 0, NULL }, @@ -582,18 +582,18 @@ static struct attrtype { /*****************************/ static void print_attr_string(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code) + const u_char *data, u_int length, u_short attr_code) { - register u_int i; + u_int i; - ND_TCHECK2(data[0],length); + ND_TCHECK_LEN(data, length); switch(attr_code) { case TUNNEL_PASS: if (length < 3) goto trunc; - if (*data && (*data <=0x1F) ) + if (EXTRACT_U_1(data) && (EXTRACT_U_1(data) <= 0x1F)) ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data))); else ND_PRINT((ndo, "Tag[Unused] ")); @@ -609,11 +609,11 @@ print_attr_string(netdissect_options *ndo, case TUNNEL_ASSIGN_ID: case TUNNEL_CLIENT_AUTH: case TUNNEL_SERVER_AUTH: - if (*data <= 0x1F) + if (EXTRACT_U_1(data) <= 0x1F) { if (length < 1) goto trunc; - if (*data) + if (EXTRACT_U_1(data)) ND_PRINT((ndo, "Tag[%u] ", EXTRACT_U_1(data))); else ND_PRINT((ndo, "Tag[Unused] ")); @@ -633,7 +633,7 @@ print_attr_string(netdissect_options *ndo, } for (i=0; i < length && EXTRACT_U_1(data); i++, data++) - ND_PRINT((ndo, "%c", (EXTRACT_U_1(data) < 32 || EXTRACT_U_1(data) > 126) ? '.' : EXTRACT_U_1(data))); + ND_PRINT((ndo, "%c", ND_ISPRINT(EXTRACT_U_1(data)) ? EXTRACT_U_1(data) : '.')); return; @@ -646,7 +646,7 @@ print_attr_string(netdissect_options *ndo, */ static void print_vendor_attr(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code _U_) + const u_char *data, u_int length, u_short attr_code _U_) { u_int idx; u_int vendor_id; @@ -667,7 +667,7 @@ print_vendor_attr(netdissect_options *ndo, while (length >= 2) { ND_TCHECK_2(data); - vendor_type = *(data); + vendor_type = EXTRACT_U_1(data); vendor_length = EXTRACT_U_1(data + 1); if (vendor_length < 2) @@ -687,13 +687,13 @@ print_vendor_attr(netdissect_options *ndo, data+=2; vendor_length-=2; length-=2; - ND_TCHECK2(*data, vendor_length); + ND_TCHECK_LEN(data, vendor_length); ND_PRINT((ndo, "\n\t Vendor Attribute: %u, Length: %u, Value: ", vendor_type, vendor_length)); for (idx = 0; idx < vendor_length ; idx++, data++) - ND_PRINT((ndo, "%c", (EXTRACT_U_1(data) < 32 || EXTRACT_U_1(data) > 126) ? '.' : EXTRACT_U_1(data))); + ND_PRINT((ndo, "%c", ND_ISPRINT(EXTRACT_U_1(data)) ? EXTRACT_U_1(data) : '.')); length-=vendor_length; } return; @@ -711,7 +711,7 @@ print_vendor_attr(netdissect_options *ndo, /******************************/ static void print_attr_num(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code) + const u_char *data, u_int length, u_short attr_code) { uint32_t timeout; @@ -731,7 +731,7 @@ print_attr_num(netdissect_options *ndo, if ( (attr_code == TUNNEL_TYPE) || (attr_code == TUNNEL_MEDIUM) ) { - if (!*data) + if (!EXTRACT_U_1(data)) ND_PRINT((ndo, "Tag[Unused] ")); else ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data))); @@ -795,7 +795,7 @@ print_attr_num(netdissect_options *ndo, break; case TUNNEL_PREFERENCE: - if (*data) + if (EXTRACT_U_1(data)) ND_PRINT((ndo, "Tag[%d] ", EXTRACT_U_1(data))); else ND_PRINT((ndo, "Tag[Unused] ")); @@ -834,7 +834,7 @@ print_attr_num(netdissect_options *ndo, /*****************************/ static void print_attr_address(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code) + const u_char *data, u_int length, u_short attr_code) { if (length != 4) { @@ -877,7 +877,7 @@ print_attr_address(netdissect_options *ndo, /*****************************/ static void print_attr_address6(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code _U_) + const u_char *data, u_int length, u_short attr_code _U_) { if (length != 16) { @@ -897,7 +897,7 @@ print_attr_address6(netdissect_options *ndo, static void print_attr_netmask6(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code _U_) + const u_char *data, u_int length, u_short attr_code _U_) { u_char data2[16]; @@ -906,8 +906,8 @@ print_attr_netmask6(netdissect_options *ndo, ND_PRINT((ndo, "ERROR: length %u not in range (2..18)", length)); return; } - ND_TCHECK2(data[0], length); - if (data[1] > 128) + ND_TCHECK_LEN(data, length); + if (EXTRACT_U_1(data + 1) > 128) { ND_PRINT((ndo, "ERROR: netmask %u not in range (0..128)", EXTRACT_U_1(data + 1))); return; @@ -919,7 +919,7 @@ print_attr_netmask6(netdissect_options *ndo, ND_PRINT((ndo, "%s/%u", ip6addr_string(ndo, data2), EXTRACT_U_1(data + 1))); - if (data[1] > 8 * (length - 2)) + if (EXTRACT_U_1(data + 1) > 8 * (length - 2)) ND_PRINT((ndo, " (inconsistent prefix length)")); return; @@ -938,7 +938,7 @@ print_attr_netmask6(netdissect_options *ndo, /*************************************/ static void print_attr_time(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code _U_) + const u_char *data, u_int length, u_short attr_code _U_) { time_t attr_time; char string[26]; @@ -971,7 +971,7 @@ print_attr_time(netdissect_options *ndo, /***********************************/ static void print_attr_strange(netdissect_options *ndo, - register const u_char *data, u_int length, u_short attr_code) + const u_char *data, u_int length, u_short attr_code) { u_short len_data; u_int error_cause_value; @@ -1002,7 +1002,7 @@ print_attr_strange(netdissect_options *ndo, return; } ND_TCHECK_1(data); - if (*data) + if (EXTRACT_U_1(data)) ND_PRINT((ndo, "User can change password")); else ND_PRINT((ndo, "User cannot change password")); @@ -1055,9 +1055,9 @@ print_attr_strange(netdissect_options *ndo, static void radius_attrs_print(netdissect_options *ndo, - register const u_char *attr, u_int length) + const u_char *attr, u_int length) { - register const struct radius_attr *rad_attr = (const struct radius_attr *)attr; + const struct radius_attr *rad_attr = (const struct radius_attr *)attr; const char *attr_string; while (length > 0) @@ -1118,10 +1118,10 @@ void radius_print(netdissect_options *ndo, const u_char *dat, u_int length) { - register const struct radius_hdr *rad; + const struct radius_hdr *rad; u_int len, auth_idx; - ND_TCHECK2(*dat, MIN_RADIUS_LEN); + ND_TCHECK_LEN(dat, MIN_RADIUS_LEN); rad = (const struct radius_hdr *)dat; len = EXTRACT_BE_U_2(&rad->len);