X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/57b20fbcc919621c4da974a21fee3b090d699f5b..1afd3f308e25f7bf070f3932a28ed6b2be8173f6:/print-babel.c diff --git a/print-babel.c b/print-babel.c index e787f8b2..5fd7c21f 100644 --- a/print-babel.c +++ b/print-babel.c @@ -81,6 +81,8 @@ babel_print(const u_char *cp, u_int length) { #define MESSAGE_UPDATE 8 #define MESSAGE_REQUEST 9 #define MESSAGE_MH_REQUEST 10 +#define MESSAGE_TSPC 11 +#define MESSAGE_HMAC 12 static const char * format_id(const u_char *id) @@ -199,7 +201,7 @@ babel_print_v2(const u_char *cp, u_int length) { i = 0; while(i < bodylen) { const u_char *message; - u_char type, len; + u_int type, len; message = cp + 4 + i; TCHECK2(*message, 2); @@ -394,6 +396,29 @@ babel_print_v2(const u_char *cp, u_int length) { } } break; + case MESSAGE_TSPC : + if(!vflag) + printf(" tspc"); + else { + printf("\n\tTS/PC "); + if(len < 6) goto corrupt; + printf("timestamp %u packetcounter %u", EXTRACT_32BITS (message + 4), + EXTRACT_16BITS(message + 2)); + } + break; + case MESSAGE_HMAC : { + if(!vflag) + printf(" hmac"); + else { + unsigned j; + printf("\n\tHMAC "); + if(len < 18) goto corrupt; + printf("key-id %u digest-%u ", EXTRACT_16BITS(message + 2), len - 2); + for (j = 0; j < len - 2; j++) + printf ("%02X", message[4 + j]); + } + } + break; default: if(!vflag) printf(" unknown");