]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ntp.c
IP packet information printing from NFLOG packet
[tcpdump] / print-ntp.c
index 6fc1dd0dc0afe91306de3c6704039d50d98d251f..b814cb578f6fabf93086300f517257511b7f0c15 100644 (file)
@@ -117,7 +117,7 @@ ntp_print(register const u_char *cp, u_int length)
                tok2str(ntp_stratum_values, (bp->stratum >=2 && bp->stratum<=15) ? "secondary reference" : "reserved", bp->stratum));
 
        TCHECK(bp->ppoll);
-       printf(", poll %us", bp->ppoll);
+       printf(", poll %u (%us)", bp->ppoll, 1 << bp->ppoll);
 
        /* Can't TCHECK bp->precision bitfield so bp->distance + 0 instead */
        TCHECK2(bp->root_delay, 0);
@@ -183,9 +183,12 @@ ntp_print(register const u_char *cp, u_int length)
        p_ntp_delta(&(bp->org_timestamp), &(bp->xmt_timestamp));
 
        if ( (sizeof(struct ntpdata) - length) == 16) {         /* Optional: key-id */
+               TCHECK(bp->key_id);
                printf("\n\tKey id: %u", bp->key_id);
        } else if ( (sizeof(struct ntpdata) - length) == 0) {   /* Optional: key-id + authentication */
+               TCHECK(bp->key_id);
                printf("\n\tKey id: %u", bp->key_id);
+               TCHECK2(bp->message_digest, sizeof (bp->message_digest));
                 printf("\n\tAuthentication: %08x%08x%08x%08x",
                               EXTRACT_32BITS(bp->message_digest),
                               EXTRACT_32BITS(bp->message_digest + 4),