/* \summary: Network File System (NFS) printer */
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
#include <stdio.h>
#include <string.h>
nfserr = 0; /* assume no error */
rp = (const struct sunrpc_msg *)bp;
- ND_TCHECK(rp->rm_xid);
+ ND_TCHECK_4(rp->rm_xid);
if (!ndo->ndo_nflag) {
strlcpy(srcid, "nfs", sizeof(srcid));
snprintf(dstid, sizeof(dstid), "%u",
- EXTRACT_BE_U_4(&rp->rm_xid));
+ EXTRACT_BE_U_4(rp->rm_xid));
} else {
snprintf(srcid, sizeof(srcid), "%u", NFS_PORT);
snprintf(dstid, sizeof(dstid), "%u",
- EXTRACT_BE_U_4(&rp->rm_xid));
+ EXTRACT_BE_U_4(rp->rm_xid));
}
print_nfsaddr(ndo, bp2, srcid, dstid);
nfserr = 0; /* assume no error */
rp = (const struct sunrpc_msg *)bp;
- ND_TCHECK(rp->rm_reply.rp_stat);
+ ND_TCHECK_4(rp->rm_reply.rp_stat);
reply_stat = EXTRACT_BE_U_4(&rp->rm_reply.rp_stat);
switch (reply_stat) {
case SUNRPC_MSG_DENIED:
ND_PRINT("reply ERR %u: ", length);
- ND_TCHECK(rp->rm_reply.rp_reject.rj_stat);
+ ND_TCHECK_4(rp->rm_reply.rp_reject.rj_stat);
rstat = EXTRACT_BE_U_4(&rp->rm_reply.rp_reject.rj_stat);
switch (rstat) {
case SUNRPC_RPC_MISMATCH:
- ND_TCHECK(rp->rm_reply.rp_reject.rj_vers.high);
+ ND_TCHECK_4(rp->rm_reply.rp_reject.rj_vers.high);
rlow = EXTRACT_BE_U_4(&rp->rm_reply.rp_reject.rj_vers.low);
rhigh = EXTRACT_BE_U_4(&rp->rm_reply.rp_reject.rj_vers.high);
ND_PRINT("RPC Version mismatch (%u-%u)", rlow, rhigh);
break;
case SUNRPC_AUTH_ERROR:
- ND_TCHECK(rp->rm_reply.rp_reject.rj_why);
+ ND_TCHECK_4(rp->rm_reply.rp_reject.rj_why);
rwhy = EXTRACT_BE_U_4(&rp->rm_reply.rp_reject.rj_why);
ND_PRINT("Auth %s", tok2str(sunrpc_auth_str, "Invalid failure code %u", rwhy));
break;
const struct ip6_hdr *ip6 = NULL;
struct xid_map_entry *xmep;
- if (!ND_TTEST(rp->rm_call.cb_proc))
+ if (!ND_TTEST_4(rp->rm_call.cb_proc))
return (0);
switch (IP_V((const struct ip *)bp)) {
case 4:
const struct nfs_fattr *fap;
fap = (const struct nfs_fattr *)dp;
- ND_TCHECK(fap->fa_gid);
+ ND_TCHECK_4(&fap->fa_gid);
if (verbose) {
/*
* XXX - UIDs and GIDs are unsigned in NFS and in
EXTRACT_BE_S_4(&fap->fa_uid),
EXTRACT_BE_S_4(&fap->fa_gid));
if (v3) {
- ND_TCHECK(fap->fa3_size);
+ ND_TCHECK_8(&fap->fa3_size);
ND_PRINT(" sz %" PRIu64,
EXTRACT_BE_U_8((const uint32_t *)&fap->fa3_size));
} else {
- ND_TCHECK(fap->fa2_size);
+ ND_TCHECK_4(&fap->fa2_size);
ND_PRINT(" sz %u", EXTRACT_BE_U_4(&fap->fa2_size));
}
}
/* print lots more stuff */
if (verbose > 1) {
if (v3) {
- ND_TCHECK(fap->fa3_ctime);
+ ND_TCHECK_8(&fap->fa3_ctime);
ND_PRINT(" nlink %u rdev %u/%u",
EXTRACT_BE_U_4(&fap->fa_nlink),
EXTRACT_BE_U_4(&fap->fa3_rdev.specdata1),
EXTRACT_BE_U_4(&fap->fa3_ctime.nfsv3_sec),
EXTRACT_BE_U_4(&fap->fa3_ctime.nfsv3_nsec));
} else {
- ND_TCHECK(fap->fa2_ctime);
+ ND_TCHECK_8(&fap->fa2_ctime);
ND_PRINT(" nlink %u rdev 0x%x fsid 0x%x nodeid 0x%x a/m/ctime",
EXTRACT_BE_U_4(&fap->fa_nlink),
EXTRACT_BE_U_4(&fap->fa2_rdev),