X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/1f056312b4b8164b490f6fa7b0ca20edefb7b15e..69ead2a09cf7d0666c6a7ac12e47fd9743242c61:/print-rx.c diff --git a/print-rx.c b/print-rx.c index db3ed4bc..ea3a5e67 100644 --- a/print-rx.c +++ b/print-rx.c @@ -20,6 +20,9 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ + +/* \summary: AFS RX printer */ + /* * This code unmangles RX packets. RX is the mutant form of RPC that AFS * uses to communicate between clients and servers. @@ -39,9 +42,9 @@ #include #include #include -#include +#include -#include "interface.h" +#include "netdissect.h" #include "addrtoname.h" #include "extract.h" @@ -688,8 +691,8 @@ rx_cache_insert(netdissect_options *ndo, rx_cache_next = 0; rxent->callnum = rxh->callNumber; - rxent->client = ip->ip_src; - rxent->server = ip->ip_dst; + UNALIGNED_MEMCPY(&rxent->client, &ip->ip_src, sizeof(uint32_t)); + UNALIGNED_MEMCPY(&rxent->server, &ip->ip_dst, sizeof(uint32_t)); rxent->dport = dport; rxent->serviceId = rxh->serviceId; rxent->opcode = EXTRACT_32BITS(bp + sizeof(struct rx_header)); @@ -708,8 +711,11 @@ rx_cache_find(const struct rx_header *rxh, const struct ip *ip, int sport, { int i; struct rx_cache_entry *rxent; - uint32_t clip = ip->ip_dst.s_addr; - uint32_t sip = ip->ip_src.s_addr; + uint32_t clip; + uint32_t sip; + + UNALIGNED_MEMCPY(&clip, &ip->ip_dst, sizeof(uint32_t)); + UNALIGNED_MEMCPY(&sip, &ip->ip_src, sizeof(uint32_t)); /* Start the search where we last left off */ @@ -790,7 +796,7 @@ rx_cache_find(const struct rx_header *rxh, const struct ip *ip, int sport, _t = (time_t) EXTRACT_32BITS(bp); \ bp += sizeof(int32_t); \ tm = localtime(&_t); \ - strftime(str, 256, "%Y/%m/%d %T", tm); \ + strftime(str, 256, "%Y/%m/%d %H:%M:%S", tm); \ ND_PRINT((ndo, " %s", str)); \ } @@ -1918,7 +1924,7 @@ kauth_print(netdissect_options *ndo, bp += sizeof(struct rx_header) + 4; switch (kauth_op) { - case 1: /* Authenticate old */; + case 1: /* Authenticate old */ case 21: /* Authenticate */ case 22: /* Authenticate-V2 */ case 2: /* Change PW */