X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/7b2c5a11a7bc236d72b440c4db5263edb23b4880..0f328b4aa16b0b47f05a85c440ce1d07719e3cac:/print-timed.c diff --git a/print-timed.c b/print-timed.c index 1d8c5804..33397c0d 100644 --- a/print-timed.c +++ b/print-timed.c @@ -19,17 +19,21 @@ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ +/* \summary: BSD time daemon protocol printer */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif -#include +#include -#include "interface.h" +#include "netdissect.h" #include "extract.h" /* * Time Synchronization Protocol + * + * http://docs.freebsd.org/44doc/smm/12.timed/paper.pdf */ struct tsp_timeval { @@ -94,7 +98,7 @@ void timed_print(netdissect_options *ndo, register const u_char *bp) { - struct tsp *tsp = (struct tsp *)bp; + const struct tsp *tsp = (const struct tsp *)bp; long sec, usec; ND_TCHECK(tsp->tsp_type); @@ -119,11 +123,11 @@ timed_print(netdissect_options *ndo, case TSP_SETDATE: case TSP_SETDATEREQ: ND_TCHECK(tsp->tsp_time); - sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec); - usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec); + sec = EXTRACT_BE_U_4(&tsp->tsp_time.tv_sec); + usec = EXTRACT_BE_U_4(&tsp->tsp_time.tv_usec); /* XXX The comparison below is always false? */ if (usec < 0) - /* corrupt, skip the rest of the packet */ + /* invalid, skip the rest of the packet */ return; ND_PRINT((ndo, " time ")); if (sec < 0 && usec != 0) { @@ -137,7 +141,7 @@ timed_print(netdissect_options *ndo, } ND_TCHECK(tsp->tsp_name); ND_PRINT((ndo, " name ")); - if (fn_print(ndo, (u_char *)tsp->tsp_name, (u_char *)tsp->tsp_name + sizeof(tsp->tsp_name))) + if (fn_print(ndo, (const u_char *)tsp->tsp_name, (const u_char *)tsp->tsp_name + sizeof(tsp->tsp_name))) goto trunc; return;