diff options
author | delphij <delphij@FreeBSD.org> | 2015-01-07 19:55:18 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2015-01-07 19:55:18 +0000 |
commit | f49c5d523af9076a4a59e8dd664f9a897108432e (patch) | |
tree | e268839e08c106e178b33bd461d8d0a9c6fb5ad9 /contrib/tcpdump/print-rpki-rtr.c | |
parent | c371846049d370ab78d943e60e789cdffe0aad3d (diff) | |
parent | 08263d19579d35a7a65e0c8bcb768504ce76d04e (diff) | |
download | FreeBSD-src-f49c5d523af9076a4a59e8dd664f9a897108432e.zip FreeBSD-src-f49c5d523af9076a4a59e8dd664f9a897108432e.tar.gz |
MFV r276761: tcpdump 4.6.2.
MFC after: 1 month
Diffstat (limited to 'contrib/tcpdump/print-rpki-rtr.c')
-rw-r--r-- | contrib/tcpdump/print-rpki-rtr.c | 68 |
1 files changed, 31 insertions, 37 deletions
diff --git a/contrib/tcpdump/print-rpki-rtr.c b/contrib/tcpdump/print-rpki-rtr.c index c705c05..5bb5df7 100644 --- a/contrib/tcpdump/print-rpki-rtr.c +++ b/contrib/tcpdump/print-rpki-rtr.c @@ -17,19 +17,13 @@ * Original code by Hannes Gredler (hannes@juniper.net) */ -#ifndef lint -static const char rcsid[] _U_ = -"@(#) $Header: /tcpdump/master/tcpdump/print-rpki_rtr.c,v 1.10 2008-03-20 09:30:56 hannes Exp $"; -#endif - +#define NETDISSECT_REWORKED #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <tcpdump-stdinc.h> -#include <stdio.h> -#include <stdlib.h> #include <string.h> #include "interface.h" @@ -175,7 +169,7 @@ indent_string (u_int indent) * Print a single PDU. */ static void -rpki_rtr_pdu_print (const u_char *tptr, u_int indent) +rpki_rtr_pdu_print (netdissect_options *ndo, const u_char *tptr, u_int indent) { const rpki_rtr_pdu *pdu_header; u_int pdu_type, pdu_len, hexdump; @@ -186,11 +180,11 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) pdu_len = EXTRACT_32BITS(pdu_header->length); hexdump = FALSE; - printf("%sRPKI-RTRv%u, %s PDU (%u), length: %u", + ND_PRINT((ndo, "%sRPKI-RTRv%u, %s PDU (%u), length: %u", indent_string(8), pdu_header->version, tok2str(rpki_rtr_pdu_values, "Unknown", pdu_type), - pdu_type, pdu_len); + pdu_type, pdu_len)); switch (pdu_type) { @@ -201,10 +195,10 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) case RPKI_RTR_SERIAL_QUERY_PDU: case RPKI_RTR_END_OF_DATA_PDU: msg = (const u_char *)(pdu_header + 1); - printf("%sSession ID: 0x%04x, Serial: %u", + ND_PRINT((ndo, "%sSession ID: 0x%04x, Serial: %u", indent_string(indent+2), EXTRACT_16BITS(pdu_header->u.session_id), - EXTRACT_32BITS(msg)); + EXTRACT_32BITS(msg))); break; /* @@ -219,9 +213,9 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) break; case RPKI_RTR_CACHE_RESPONSE_PDU: - printf("%sSession ID: 0x%04x", + ND_PRINT((ndo, "%sSession ID: 0x%04x", indent_string(indent+2), - EXTRACT_16BITS(pdu_header->u.session_id)); + EXTRACT_16BITS(pdu_header->u.session_id))); break; case RPKI_RTR_IPV4_PREFIX_PDU: @@ -229,11 +223,11 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) rpki_rtr_pdu_ipv4_prefix *pdu; pdu = (rpki_rtr_pdu_ipv4_prefix *)tptr; - printf("%sIPv4 Prefix %s/%u-%u, origin-as %u, flags 0x%02x", + ND_PRINT((ndo, "%sIPv4 Prefix %s/%u-%u, origin-as %u, flags 0x%02x", indent_string(indent+2), - ipaddr_string(pdu->prefix), + ipaddr_string(ndo, pdu->prefix), pdu->prefix_length, pdu->max_length, - EXTRACT_32BITS(pdu->as), pdu->flags); + EXTRACT_32BITS(pdu->as), pdu->flags)); } break; @@ -243,11 +237,11 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) rpki_rtr_pdu_ipv6_prefix *pdu; pdu = (rpki_rtr_pdu_ipv6_prefix *)tptr; - printf("%sIPv6 Prefix %s/%u-%u, origin-as %u, flags 0x%02x", + ND_PRINT((ndo, "%sIPv6 Prefix %s/%u-%u, origin-as %u, flags 0x%02x", indent_string(indent+2), - ip6addr_string(pdu->prefix), + ip6addr_string(ndo, pdu->prefix), pdu->prefix_length, pdu->max_length, - EXTRACT_32BITS(pdu->as), pdu->flags); + EXTRACT_32BITS(pdu->as), pdu->flags)); } break; #endif @@ -263,10 +257,10 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) tlen = pdu_len; error_code = EXTRACT_16BITS(pdu->pdu_header.u.error_code); - printf("%sError code: %s (%u), Encapsulated PDU length: %u", + ND_PRINT((ndo, "%sError code: %s (%u), Encapsulated PDU length: %u", indent_string(indent+2), tok2str(rpki_rtr_error_codes, "Unknown", error_code), - error_code, encapsulated_pdu_length); + error_code, encapsulated_pdu_length)); tptr += sizeof(*pdu); tlen -= sizeof(*pdu); @@ -276,8 +270,8 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) */ if (encapsulated_pdu_length && (encapsulated_pdu_length <= tlen)) { - printf("%s-----encapsulated PDU-----", indent_string(indent+4)); - rpki_rtr_pdu_print(tptr, indent+2); + ND_PRINT((ndo, "%s-----encapsulated PDU-----", indent_string(indent+4))); + rpki_rtr_pdu_print(ndo, tptr, indent+2); } tptr += encapsulated_pdu_length; @@ -285,7 +279,7 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) /* * Extract, trail-zero and print the Error message. - */ + */ text_length = 0; if (tlen > 4) { text_length = EXTRACT_32BITS(tptr); @@ -293,9 +287,9 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) tlen -= 4; } if (text_length && (text_length <= tlen )) { - memcpy(buf, tptr, MIN(sizeof(buf)-1, text_length)); + memcpy(buf, tptr, min(sizeof(buf)-1, text_length)); buf[text_length] = '\0'; - printf("%sError text: %s", indent_string(indent+2), buf); + ND_PRINT((ndo, "%sError text: %s", indent_string(indent+2), buf)); } } break; @@ -304,18 +298,18 @@ rpki_rtr_pdu_print (const u_char *tptr, u_int indent) /* * Unknown data, please hexdump. - */ + */ hexdump = TRUE; } /* do we also want to see a hex dump ? */ - if (vflag > 1 || (vflag && hexdump)) { - print_unknown_data(tptr,"\n\t ", pdu_len); + if (ndo->ndo_vflag > 1 || (ndo->ndo_vflag && hexdump)) { + print_unknown_data(ndo,tptr,"\n\t ", pdu_len); } } void -rpki_rtr_print(register const u_char *pptr, register u_int len) { +rpki_rtr_print(netdissect_options *ndo, register const u_char *pptr, register u_int len) { u_int tlen, pdu_type, pdu_len; const u_char *tptr; @@ -324,14 +318,14 @@ rpki_rtr_print(register const u_char *pptr, register u_int len) { tptr = pptr; tlen = len; - if (!vflag) { - printf(", RPKI-RTR"); + if (!ndo->ndo_vflag) { + ND_PRINT((ndo, ", RPKI-RTR")); return; } while (tlen >= sizeof(rpki_rtr_pdu)) { - TCHECK2(*tptr, sizeof(rpki_rtr_pdu)); + ND_TCHECK2(*tptr, sizeof(rpki_rtr_pdu)); pdu_header = (rpki_rtr_pdu *)tptr; pdu_type = pdu_header->pdu_type; @@ -342,7 +336,7 @@ rpki_rtr_print(register const u_char *pptr, register u_int len) { break; } - TCHECK2(*tptr, pdu_len); + ND_TCHECK2(*tptr, pdu_len); if (tlen < pdu_len) { goto trunc; } @@ -350,14 +344,14 @@ rpki_rtr_print(register const u_char *pptr, register u_int len) { /* * Print the PDU. */ - rpki_rtr_pdu_print(tptr, 8); + rpki_rtr_pdu_print(ndo, tptr, 8); tlen -= pdu_len; tptr += pdu_len; } return; trunc: - printf("\n\t[|RPKI-RTR]"); + ND_PRINT((ndo, "\n\t[|RPKI-RTR]")); } /* |