};
static const struct double_tok {
- int flag; /* Rx flag */
- int packetType; /* Packet type */
+ uint32_t flag; /* Rx flag */
+ uint32_t packetType; /* Packet type */
const char *s; /* Flag string */
} rx_flags[] = {
{ RX_CLIENT_INITIATED, 0, "client-init" },
uint32_t callnum; /* Call number (net order) */
struct in_addr client; /* client IP address (net order) */
struct in_addr server; /* server IP address (net order) */
- int dport; /* server port (host order) */
- u_short serviceId; /* Service identifier (net order) */
+ u_int dport; /* server port (host order) */
+ uint16_t serviceId; /* Service identifier (net order) */
uint32_t opcode; /* RX opcode (host order) */
};
static struct rx_cache_entry rx_cache[RX_CACHE_SIZE];
-static int rx_cache_next = 0;
-static int rx_cache_hint = 0;
-static void rx_cache_insert(netdissect_options *, const u_char *, const struct ip *, int);
+static uint32_t rx_cache_next = 0;
+static uint32_t rx_cache_hint = 0;
+static void rx_cache_insert(netdissect_options *, const u_char *, const struct ip *, u_int);
static int rx_cache_find(const struct rx_header *, const struct ip *,
- int, int32_t *);
+ uint32_t, uint32_t *);
-static void fs_print(netdissect_options *, const u_char *, int);
-static void fs_reply_print(netdissect_options *, const u_char *, int, int32_t);
+static void fs_print(netdissect_options *, const u_char *, u_int);
+static void fs_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
static void acl_print(netdissect_options *, u_char *, int, u_char *);
-static void cb_print(netdissect_options *, const u_char *, int);
-static void cb_reply_print(netdissect_options *, const u_char *, int, int32_t);
-static void prot_print(netdissect_options *, const u_char *, int);
-static void prot_reply_print(netdissect_options *, const u_char *, int, int32_t);
-static void vldb_print(netdissect_options *, const u_char *, int);
-static void vldb_reply_print(netdissect_options *, const u_char *, int, int32_t);
-static void kauth_print(netdissect_options *, const u_char *, int);
-static void kauth_reply_print(netdissect_options *, const u_char *, int, int32_t);
-static void vol_print(netdissect_options *, const u_char *, int);
-static void vol_reply_print(netdissect_options *, const u_char *, int, int32_t);
-static void bos_print(netdissect_options *, const u_char *, int);
-static void bos_reply_print(netdissect_options *, const u_char *, int, int32_t);
+static void cb_print(netdissect_options *, const u_char *, u_int);
+static void cb_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
+static void prot_print(netdissect_options *, const u_char *, u_int);
+static void prot_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
+static void vldb_print(netdissect_options *, const u_char *, u_int);
+static void vldb_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
+static void kauth_print(netdissect_options *, const u_char *, u_int);
+static void kauth_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
+static void vol_print(netdissect_options *, const u_char *, u_int);
+static void vol_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
+static void bos_print(netdissect_options *, const u_char *, u_int);
+static void bos_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
static void ubik_print(netdissect_options *, const u_char *);
-static void ubik_reply_print(netdissect_options *, const u_char *, int, int32_t);
+static void ubik_reply_print(netdissect_options *, const u_char *, u_int, uint32_t);
-static void rx_ack_print(netdissect_options *, const u_char *, int);
+static void rx_ack_print(netdissect_options *, const u_char *, u_int);
static int is_ubik(uint32_t);
void
rx_print(netdissect_options *ndo,
- register const u_char *bp, int length, int sport, int dport,
+ register const u_char *bp, u_int length, u_int sport, u_int dport,
const u_char *bp2)
{
register const struct rx_header *rxh;
- int i;
- int32_t opcode;
+ uint32_t i;
+ uint32_t opcode;
- if (ndo->ndo_snapend - bp < (int)sizeof (struct rx_header)) {
- ND_PRINT((ndo, " [|rx] (%d)", length));
+ if (!ND_TTEST2(*bp, sizeof (struct rx_header))) {
+ ND_PRINT((ndo, " [|rx] (%u)", length));
return;
}
rxh = (const struct rx_header *) bp;
- ND_PRINT((ndo, " rx %s", tok2str(rx_types, "type %d", rxh->type)));
+ ND_PRINT((ndo, " rx %s", tok2str(rx_types, "type %u", rxh->type)));
if (ndo->ndo_vflag) {
int firstflag = 0;
if (ndo->ndo_vflag > 1)
- ND_PRINT((ndo, " cid %08x call# %d",
- (int) EXTRACT_BE_32BITS(&rxh->cid),
- (int) EXTRACT_BE_32BITS(&rxh->callNumber)));
+ ND_PRINT((ndo, " cid %08x call# %u",
+ EXTRACT_BE_32BITS(&rxh->cid),
+ EXTRACT_BE_32BITS(&rxh->callNumber)));
- ND_PRINT((ndo, " seq %d ser %d",
- (int) EXTRACT_BE_32BITS(&rxh->seq),
- (int) EXTRACT_BE_32BITS(&rxh->serial)));
+ ND_PRINT((ndo, " seq %u ser %u",
+ EXTRACT_BE_32BITS(&rxh->seq),
+ EXTRACT_BE_32BITS(&rxh->serial)));
if (ndo->ndo_vflag > 2)
- ND_PRINT((ndo, " secindex %d serviceid %hu",
- (int) rxh->securityIndex,
+ ND_PRINT((ndo, " secindex %u serviceid %hu",
+ rxh->securityIndex,
EXTRACT_BE_16BITS(&rxh->serviceId)));
if (ndo->ndo_vflag > 1)
rx_ack_print(ndo, bp, length);
- ND_PRINT((ndo, " (%d)", length));
+ ND_PRINT((ndo, " (%u)", length));
}
/*
static void
rx_cache_insert(netdissect_options *ndo,
- const u_char *bp, const struct ip *ip, int dport)
+ const u_char *bp, const struct ip *ip, u_int dport)
{
struct rx_cache_entry *rxent;
const struct rx_header *rxh = (const struct rx_header *) bp;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t)))
+ if (!ND_TTEST_32BITS(bp + sizeof(struct rx_header)))
return;
rxent = &rx_cache[rx_cache_next];
*/
static int
-rx_cache_find(const struct rx_header *rxh, const struct ip *ip, int sport,
- int32_t *opcode)
+rx_cache_find(const struct rx_header *rxh, const struct ip *ip, u_int sport,
+ uint32_t *opcode)
{
- int i;
+ uint32_t i;
struct rx_cache_entry *rxent;
uint32_t clip;
uint32_t sip;
* These extrememly grody macros handle the printing of various AFS stuff.
*/
-#define FIDOUT() { unsigned long n1, n2, n3; \
- ND_TCHECK2(bp[0], sizeof(int32_t) * 3); \
+#define FIDOUT() { uint32_t n1, n2, n3; \
+ ND_TCHECK2(bp[0], sizeof(uint32_t) * 3); \
n1 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
n2 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
n3 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
- ND_PRINT((ndo, " fid %d/%d/%d", (int) n1, (int) n2, (int) n3)); \
+ bp += sizeof(uint32_t); \
+ ND_PRINT((ndo, " fid %u/%u/%u", n1, n2, n3)); \
}
-#define STROUT(MAX) { unsigned int _i; \
- ND_TCHECK2(bp[0], sizeof(int32_t)); \
+#define STROUT(MAX) { uint32_t _i; \
+ ND_TCHECK2(bp[0], sizeof(uint32_t)); \
_i = EXTRACT_BE_32BITS(bp); \
if (_i > (MAX)) \
goto trunc; \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
ND_PRINT((ndo, " \"")); \
if (fn_printn(ndo, bp, _i, ndo->ndo_snapend)) \
goto trunc; \
ND_PRINT((ndo, "\"")); \
- bp += ((_i + sizeof(int32_t) - 1) / sizeof(int32_t)) * sizeof(int32_t); \
+ bp += ((_i + sizeof(uint32_t) - 1) / sizeof(uint32_t)) * sizeof(uint32_t); \
}
-#define INTOUT() { int _i; \
- ND_TCHECK2(bp[0], sizeof(int32_t)); \
- _i = (int) EXTRACT_BE_32BITS(bp); \
+#define INTOUT() { int32_t _i; \
+ ND_TCHECK_32BITS(bp); \
+ _i = EXTRACT_BE_INT32(bp); \
bp += sizeof(int32_t); \
ND_PRINT((ndo, " %d", _i)); \
}
-#define UINTOUT() { unsigned long _i; \
- ND_TCHECK2(bp[0], sizeof(int32_t)); \
+#define UINTOUT() { uint32_t _i; \
+ ND_TCHECK_32BITS(bp); \
_i = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
- ND_PRINT((ndo, " %lu", _i)); \
+ bp += sizeof(uint32_t); \
+ ND_PRINT((ndo, " %u", _i)); \
}
#define UINT64OUT() { uint64_t _i; \
}
#define DATEOUT() { time_t _t; struct tm *tm; char str[256]; \
- ND_TCHECK2(bp[0], sizeof(int32_t)); \
- _t = (time_t) EXTRACT_BE_32BITS(bp); \
+ ND_TCHECK_32BITS(bp); \
+ _t = (time_t) EXTRACT_BE_INT32(bp); \
bp += sizeof(int32_t); \
tm = localtime(&_t); \
strftime(str, 256, "%Y/%m/%d %H:%M:%S", tm); \
ND_PRINT((ndo, " %s", str)); \
}
-#define STOREATTROUT() { unsigned long mask, _i; \
- ND_TCHECK2(bp[0], (sizeof(int32_t)*6)); \
- mask = EXTRACT_BE_32BITS(bp); bp += sizeof(int32_t); \
+#define STOREATTROUT() { uint32_t mask, _i; \
+ ND_TCHECK2(bp[0], (sizeof(uint32_t)*6)); \
+ mask = EXTRACT_BE_32BITS(bp); bp += sizeof(uint32_t); \
if (mask) ND_PRINT((ndo, " StoreStatus")); \
if (mask & 1) { ND_PRINT((ndo, " date")); DATEOUT(); } \
- else bp += sizeof(int32_t); \
- _i = EXTRACT_BE_32BITS(bp); bp += sizeof(int32_t); \
- if (mask & 2) ND_PRINT((ndo, " owner %lu", _i)); \
- _i = EXTRACT_BE_32BITS(bp); bp += sizeof(int32_t); \
- if (mask & 4) ND_PRINT((ndo, " group %lu", _i)); \
- _i = EXTRACT_BE_32BITS(bp); bp += sizeof(int32_t); \
- if (mask & 8) ND_PRINT((ndo, " mode %lo", _i & 07777)); \
- _i = EXTRACT_BE_32BITS(bp); bp += sizeof(int32_t); \
- if (mask & 16) ND_PRINT((ndo, " segsize %lu", _i)); \
+ else bp += sizeof(uint32_t); \
+ _i = EXTRACT_BE_32BITS(bp); bp += sizeof(uint32_t); \
+ if (mask & 2) ND_PRINT((ndo, " owner %u", _i)); \
+ _i = EXTRACT_BE_32BITS(bp); bp += sizeof(uint32_t); \
+ if (mask & 4) ND_PRINT((ndo, " group %u", _i)); \
+ _i = EXTRACT_BE_32BITS(bp); bp += sizeof(uint32_t); \
+ if (mask & 8) ND_PRINT((ndo, " mode %o", _i & 07777)); \
+ _i = EXTRACT_BE_32BITS(bp); bp += sizeof(uint32_t); \
+ if (mask & 16) ND_PRINT((ndo, " segsize %u", _i)); \
/* undocumented in 3.3 docu */ \
if (mask & 1024) ND_PRINT((ndo, " fsync")); \
}
-#define UBIK_VERSIONOUT() {int32_t epoch; int32_t counter; \
- ND_TCHECK2(bp[0], sizeof(int32_t) * 2); \
+#define UBIK_VERSIONOUT() {uint32_t epoch; uint32_t counter; \
+ ND_TCHECK2(bp[0], sizeof(uint32_t) * 2); \
epoch = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
counter = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
- ND_PRINT((ndo, " %d.%d", epoch, counter)); \
+ bp += sizeof(uint32_t); \
+ ND_PRINT((ndo, " %u.%u", epoch, counter)); \
}
#define AFSUUIDOUT() {uint32_t temp; int _i; \
#define VECOUT(MAX) { u_char *sp; \
u_char s[AFSNAMEMAX]; \
- int k; \
+ uint32_t k; \
if ((MAX) + 1 > sizeof(s)) \
goto trunc; \
- ND_TCHECK2(bp[0], (MAX) * sizeof(int32_t)); \
+ ND_TCHECK2(bp[0], (MAX) * sizeof(uint32_t)); \
sp = s; \
for (k = 0; k < (MAX); k++) { \
*sp++ = (u_char) EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
} \
s[(MAX)] = '\0'; \
ND_PRINT((ndo, " \"")); \
ND_PRINT((ndo, "\"")); \
}
-#define DESTSERVEROUT() { unsigned long n1, n2, n3; \
- ND_TCHECK2(bp[0], sizeof(int32_t) * 3); \
+#define DESTSERVEROUT() { uint32_t n1, n2, n3; \
+ ND_TCHECK2(bp[0], sizeof(uint32_t) * 3); \
n1 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
n2 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
+ bp += sizeof(uint32_t); \
n3 = EXTRACT_BE_32BITS(bp); \
- bp += sizeof(int32_t); \
- ND_PRINT((ndo, " server %d:%d:%d", (int) n1, (int) n2, (int) n3)); \
+ bp += sizeof(uint32_t); \
+ ND_PRINT((ndo, " server %u:%u:%u", n1, n2, n3)); \
}
/*
static void
fs_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int fs_op;
- unsigned long i;
+ uint32_t fs_op;
+ uint32_t i;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from fsint/afsint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
fs_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
- ND_PRINT((ndo, " fs call %s", tok2str(fs_req, "op#%d", fs_op)));
+ ND_PRINT((ndo, " fs call %s", tok2str(fs_req, "op#%u", fs_op)));
/*
* Print out arguments to some of the AFS calls. This stuff is
FIDOUT();
ND_TCHECK2(bp[0], 4);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
ND_TCHECK2(bp[0], i);
i = min(AFSOPAQUEMAX, i);
strncpy(a, (const char *) bp, i);
case 155: /* Bulk stat */
case 65536: /* Inline bulk stat */
{
- unsigned long j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (i = 0; i < j; i++) {
FIDOUT();
static void
fs_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
- unsigned long i;
+ uint32_t i;
const struct rx_header *rxh;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
* gleaned from fsint/afsint.xg
*/
- ND_PRINT((ndo, " fs reply %s", tok2str(fs_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " fs reply %s", tok2str(fs_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
case 131: /* Fetch ACL */
{
char a[AFSOPAQUEMAX+1];
- ND_TCHECK2(bp[0], 4);
+ ND_TCHECK_32BITS(bp);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
ND_TCHECK2(bp[0], i);
i = min(AFSOPAQUEMAX, i);
strncpy(a, (const char *) bp, i);
/*
* Otherwise, just print out the return code
*/
- ND_TCHECK2(bp[0], sizeof(int32_t));
- i = (int) EXTRACT_BE_32BITS(bp);
+ int32_t errcode;
+
+ ND_TCHECK_32BITS(bp);
+ errcode = EXTRACT_BE_INT32(bp);
bp += sizeof(int32_t);
- ND_PRINT((ndo, " error %s", tok2str(afs_fs_errors, "#%d", i)));
+ ND_PRINT((ndo, " error %s", tok2str(afs_fs_errors, "#%d", errcode)));
} else {
- ND_PRINT((ndo, " strange fs reply of type %d", rxh->type));
+ ND_PRINT((ndo, " strange fs reply of type %u", rxh->type));
}
return;
static void
cb_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int cb_op;
- unsigned long i;
+ uint32_t cb_op;
+ uint32_t i;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from fsint/afscbint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
cb_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
- ND_PRINT((ndo, " cb call %s", tok2str(cb_req, "op#%d", cb_op)));
+ ND_PRINT((ndo, " cb call %s", tok2str(cb_req, "op#%u", cb_op)));
bp += sizeof(struct rx_header) + 4;
switch (cb_op) {
case 204: /* Callback */
{
- unsigned long j, t;
- ND_TCHECK2(bp[0], 4);
+ uint32_t j, t;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (i = 0; i < j; i++) {
FIDOUT();
ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
if (j != 0)
ND_PRINT((ndo, ";"));
INTOUT();
ND_PRINT((ndo, " expires"));
DATEOUT();
- ND_TCHECK2(bp[0], 4);
+ ND_TCHECK_32BITS(bp);
t = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
- tok2str(cb_types, "type %d", t);
+ bp += sizeof(uint32_t);
+ tok2str(cb_types, "type %u", t);
}
}
case 214: {
static void
cb_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
* gleaned from fsint/afscbint.xg
*/
- ND_PRINT((ndo, " cb reply %s", tok2str(cb_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " cb reply %s", tok2str(cb_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
static void
prot_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- unsigned long i;
- int pt_op;
+ uint32_t i;
+ uint32_t pt_op;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from ptserver/ptint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
pt_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
ND_PRINT((ndo, " pt"));
return;
}
- ND_PRINT((ndo, " call %s", tok2str(pt_req, "op#%d", pt_op)));
+ ND_PRINT((ndo, " call %s", tok2str(pt_req, "op#%u", pt_op)));
/*
* Decode some of the arguments to the PT calls
break;
case 504: /* Name to ID */
{
- unsigned long j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
/*
* Who designed this chicken-shit protocol?
break;
case 505: /* Id to name */
{
- unsigned long j;
+ uint32_t j;
ND_PRINT((ndo, " ids:"));
- ND_TCHECK2(bp[0], 4);
+ ND_TCHECK_32BITS(bp);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (j = 0; j < i; j++)
INTOUT();
if (j == 0)
static void
prot_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- unsigned long i;
+ uint32_t i;
- if (length < (int)sizeof(struct rx_header))
+ if (length < sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
return;
}
- ND_PRINT((ndo, " reply %s", tok2str(pt_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " reply %s", tok2str(pt_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
switch (opcode) {
case 504: /* Name to ID */
{
- unsigned long j;
+ uint32_t j;
ND_PRINT((ndo, " ids:"));
- ND_TCHECK2(bp[0], 4);
+ ND_TCHECK_32BITS(bp);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (j = 0; j < i; j++)
INTOUT();
if (j == 0)
break;
case 505: /* ID to name */
{
- unsigned long j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
/*
* Who designed this chicken-shit protocol?
case 518: /* Get CPS2 */
case 519: /* Get host CPS */
{
- unsigned long j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (i = 0; i < j; i++) {
INTOUT();
}
static void
vldb_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int vldb_op;
- unsigned long i;
+ uint32_t vldb_op;
+ uint32_t i;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from vlserver/vldbint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
vldb_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
ND_PRINT((ndo, " vldb"));
ubik_print(ndo, bp);
return;
}
- ND_PRINT((ndo, " call %s", tok2str(vldb_req, "op#%d", vldb_op)));
+ ND_PRINT((ndo, " call %s", tok2str(vldb_req, "op#%u", vldb_op)));
/*
* Decode some of the arguments to the VLDB calls
case 518: /* Get entry by ID N */
ND_PRINT((ndo, " volid"));
INTOUT();
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
if (i <= 2)
ND_PRINT((ndo, " type %s", voltype[i]));
break;
case 520: /* Replace entry N */
ND_PRINT((ndo, " volid"));
INTOUT();
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
i = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
if (i <= 2)
ND_PRINT((ndo, " type %s", voltype[i]));
VECOUT(VLNAMEMAX);
static void
vldb_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- unsigned long i;
+ uint32_t i;
- if (length < (int)sizeof(struct rx_header))
+ if (length < sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
return;
}
- ND_PRINT((ndo, " reply %s", tok2str(vldb_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " reply %s", tok2str(vldb_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
INTOUT();
case 503: /* Get entry by id */
case 504: /* Get entry by name */
- { unsigned long nservers, j;
+ { uint32_t nservers, j;
VECOUT(VLNAMEMAX);
- ND_TCHECK2(bp[0], sizeof(int32_t));
- bp += sizeof(int32_t);
+ ND_TCHECK_32BITS(bp);
+ bp += sizeof(uint32_t);
ND_PRINT((ndo, " numservers"));
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
nservers = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
- ND_PRINT((ndo, " %lu", nservers));
+ bp += sizeof(uint32_t);
+ ND_PRINT((ndo, " %u", nservers));
ND_PRINT((ndo, " servers"));
for (i = 0; i < 8; i++) {
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
if (i < nservers)
ND_PRINT((ndo, " %s",
intoa(((const struct in_addr *) bp)->s_addr)));
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
}
ND_PRINT((ndo, " partitions"));
for (i = 0; i < 8; i++) {
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
if (i < nservers && j <= 26)
- ND_PRINT((ndo, " %c", 'a' + (int)j));
+ ND_PRINT((ndo, " %c", 'a' + j));
else if (i < nservers)
- ND_PRINT((ndo, " %lu", j));
- bp += sizeof(int32_t);
+ ND_PRINT((ndo, " %u", j));
+ bp += sizeof(uint32_t);
}
- ND_TCHECK2(bp[0], 8 * sizeof(int32_t));
- bp += 8 * sizeof(int32_t);
+ ND_TCHECK2(bp[0], 8 * sizeof(uint32_t));
+ bp += 8 * sizeof(uint32_t);
ND_PRINT((ndo, " rwvol"));
UINTOUT();
ND_PRINT((ndo, " rovol"));
INTOUT();
case 518: /* Get entry by ID N */
case 519: /* Get entry by name N */
- { unsigned long nservers, j;
+ { uint32_t nservers, j;
VECOUT(VLNAMEMAX);
ND_PRINT((ndo, " numservers"));
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
nservers = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
- ND_PRINT((ndo, " %lu", nservers));
+ bp += sizeof(uint32_t);
+ ND_PRINT((ndo, " %u", nservers));
ND_PRINT((ndo, " servers"));
for (i = 0; i < 13; i++) {
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
if (i < nservers)
ND_PRINT((ndo, " %s",
intoa(((const struct in_addr *) bp)->s_addr)));
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
}
ND_PRINT((ndo, " partitions"));
for (i = 0; i < 13; i++) {
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
if (i < nservers && j <= 26)
- ND_PRINT((ndo, " %c", 'a' + (int)j));
+ ND_PRINT((ndo, " %c", 'a' + j));
else if (i < nservers)
- ND_PRINT((ndo, " %lu", j));
- bp += sizeof(int32_t);
+ ND_PRINT((ndo, " %u", j));
+ bp += sizeof(uint32_t);
}
- ND_TCHECK2(bp[0], 13 * sizeof(int32_t));
- bp += 13 * sizeof(int32_t);
+ ND_TCHECK2(bp[0], 13 * sizeof(uint32_t));
+ bp += 13 * sizeof(uint32_t);
ND_PRINT((ndo, " rwvol"));
UINTOUT();
ND_PRINT((ndo, " rovol"));
break;
case 526: /* Get entry by ID U */
case 527: /* Get entry by name U */
- { unsigned long nservers, j;
+ { uint32_t nservers, j;
VECOUT(VLNAMEMAX);
ND_PRINT((ndo, " numservers"));
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
nservers = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
- ND_PRINT((ndo, " %lu", nservers));
+ bp += sizeof(uint32_t);
+ ND_PRINT((ndo, " %u", nservers));
ND_PRINT((ndo, " servers"));
for (i = 0; i < 13; i++) {
if (i < nservers) {
bp += 4 * 13;
ND_PRINT((ndo, " partitions"));
for (i = 0; i < 13; i++) {
- ND_TCHECK2(bp[0], sizeof(int32_t));
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
if (i < nservers && j <= 26)
- ND_PRINT((ndo, " %c", 'a' + (int)j));
+ ND_PRINT((ndo, " %c", 'a' + j));
else if (i < nservers)
- ND_PRINT((ndo, " %lu", j));
- bp += sizeof(int32_t);
+ ND_PRINT((ndo, " %u", j));
+ bp += sizeof(uint32_t);
}
- ND_TCHECK2(bp[0], 13 * sizeof(int32_t));
- bp += 13 * sizeof(int32_t);
+ ND_TCHECK2(bp[0], 13 * sizeof(uint32_t));
+ bp += 13 * sizeof(uint32_t);
ND_PRINT((ndo, " rwvol"));
UINTOUT();
ND_PRINT((ndo, " rovol"));
static void
kauth_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int kauth_op;
+ uint32_t kauth_op;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from kauth/kauth.rg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
kauth_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
ND_PRINT((ndo, " kauth"));
}
- ND_PRINT((ndo, " call %s", tok2str(kauth_req, "op#%d", kauth_op)));
+ ND_PRINT((ndo, " call %s", tok2str(kauth_req, "op#%u", kauth_op)));
/*
* Decode some of the arguments to the KA calls
case 3: /* GetTicket-old */
case 23: /* GetTicket */
{
- int i;
+ uint32_t i;
ND_PRINT((ndo, " kvno"));
INTOUT();
ND_PRINT((ndo, " domain"));
STROUT(KANAMEMAX);
- ND_TCHECK2(bp[0], sizeof(int32_t));
- i = (int) EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ ND_TCHECK_32BITS(bp);
+ i = EXTRACT_BE_32BITS(bp);
+ bp += sizeof(uint32_t);
ND_TCHECK2(bp[0], i);
bp += i;
ND_PRINT((ndo, " principal"));
static void
kauth_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
return;
}
- ND_PRINT((ndo, " reply %s", tok2str(kauth_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " reply %s", tok2str(kauth_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
static void
vol_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int vol_op;
+ uint32_t vol_op;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from volser/volint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
vol_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
- ND_PRINT((ndo, " vol call %s", tok2str(vol_req, "op#%d", vol_op)));
+ ND_PRINT((ndo, " vol call %s", tok2str(vol_req, "op#%u", vol_op)));
bp += sizeof(struct rx_header) + 4;
ND_PRINT((ndo, " fromdate"));
DATEOUT();
{
- unsigned long i, j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t i, j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (i = 0; i < j; i++) {
DESTSERVEROUT();
if (i != j - 1)
static void
vol_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
* gleaned from volser/volint.xg
*/
- ND_PRINT((ndo, " vol reply %s", tok2str(vol_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " vol reply %s", tok2str(vol_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
case 116: /* List volumes */
case 121: /* List one volume */
{
- unsigned long i, j;
- ND_TCHECK2(bp[0], 4);
+ uint32_t i, j;
+ ND_TCHECK_32BITS(bp);
j = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
for (i = 0; i < j; i++) {
ND_PRINT((ndo, " name"));
VECOUT(32);
ND_PRINT((ndo, " volid"));
UINTOUT();
ND_PRINT((ndo, " type"));
- bp += sizeof(int32_t) * 21;
+ bp += sizeof(uint32_t) * 21;
if (i != j - 1)
ND_PRINT((ndo, ","));
}
static void
bos_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
- int bos_op;
+ uint32_t bos_op;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
- if (ndo->ndo_snapend - bp + 1 <= (int)(sizeof(struct rx_header) + sizeof(int32_t))) {
- goto trunc;
- }
-
/*
* Print out the afs call we're invoking. The table used here was
* gleaned from bozo/bosint.xg
*/
+ ND_TCHECK_32BITS(bp + sizeof(struct rx_header));
bos_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
- ND_PRINT((ndo, " bos call %s", tok2str(bos_req, "op#%d", bos_op)));
+ ND_PRINT((ndo, " bos call %s", tok2str(bos_req, "op#%u", bos_op)));
/*
* Decode some of the arguments to the BOS calls
static void
bos_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- if (length <= (int)sizeof(struct rx_header))
+ if (length <= sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
* gleaned from volser/volint.xg
*/
- ND_PRINT((ndo, " bos reply %s", tok2str(bos_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " bos reply %s", tok2str(bos_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
ubik_print(netdissect_options *ndo,
register const u_char *bp)
{
- int ubik_op;
- int32_t temp;
+ uint32_t ubik_op;
+ uint32_t temp;
/*
* Print out the afs call we're invoking. The table used here was
*/
ubik_op = EXTRACT_BE_32BITS(bp + sizeof(struct rx_header));
- ND_PRINT((ndo, " ubik call %s", tok2str(ubik_req, "op#%d", ubik_op)));
+ ND_PRINT((ndo, " ubik call %s", tok2str(ubik_req, "op#%u", ubik_op)));
/*
* Decode some of the arguments to the Ubik calls
switch (ubik_op) {
case 10000: /* Beacon */
- ND_TCHECK2(bp[0], 4);
+ ND_TCHECK_32BITS(bp);
temp = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
+ bp += sizeof(uint32_t);
ND_PRINT((ndo, " syncsite %s", temp ? "yes" : "no"));
ND_PRINT((ndo, " votestart"));
DATEOUT();
INTOUT();
ND_TCHECK_32BITS(bp);
temp = EXTRACT_BE_32BITS(bp);
- bp += sizeof(int32_t);
- tok2str(ubik_lock_types, "type %d", temp);
+ bp += sizeof(uint32_t);
+ tok2str(ubik_lock_types, "type %u", temp);
break;
case 20003: /* Write */
ND_PRINT((ndo, " tid"));
static void
ubik_reply_print(netdissect_options *ndo,
- register const u_char *bp, int length, int32_t opcode)
+ register const u_char *bp, u_int length, uint32_t opcode)
{
const struct rx_header *rxh;
- if (length < (int)sizeof(struct rx_header))
+ if (length < sizeof(struct rx_header))
return;
rxh = (const struct rx_header *) bp;
* from ubik/ubik_int.xg
*/
- ND_PRINT((ndo, " ubik reply %s", tok2str(ubik_req, "op#%d", opcode)));
+ ND_PRINT((ndo, " ubik reply %s", tok2str(ubik_req, "op#%u", opcode)));
bp += sizeof(struct rx_header);
static void
rx_ack_print(netdissect_options *ndo,
- register const u_char *bp, int length)
+ register const u_char *bp, u_int length)
{
const struct rx_ackPacket *rxa;
int i, start, last;
uint32_t firstPacket;
- if (length < (int)sizeof(struct rx_header))
+ if (length < sizeof(struct rx_header))
return;
bp += sizeof(struct rx_header);
*/
if (ndo->ndo_vflag > 2)
- ND_PRINT((ndo, " bufspace %d maxskew %d",
- (int) EXTRACT_BE_16BITS(&rxa->bufferSpace),
- (int) EXTRACT_BE_16BITS(&rxa->maxSkew)));
+ ND_PRINT((ndo, " bufspace %u maxskew %d",
+ EXTRACT_BE_16BITS(&rxa->bufferSpace),
+ EXTRACT_BE_16BITS(&rxa->maxSkew)));
firstPacket = EXTRACT_BE_32BITS(&rxa->firstPacket);
- ND_PRINT((ndo, " first %d serial %d reason %s",
+ ND_PRINT((ndo, " first %u serial %u reason %s",
firstPacket, EXTRACT_BE_32BITS(&rxa->serial),
- tok2str(rx_ack_reasons, "#%d", (int) rxa->reason)));
+ tok2str(rx_ack_reasons, "#%u", rxa->reason)));
/*
* Okay, now we print out the ack array. The way _this_ works
*/
if (last == -2) {
- ND_PRINT((ndo, " acked %d", firstPacket + i));
+ ND_PRINT((ndo, " acked %u", firstPacket + i));
start = i;
}
*/
else if (last != i - 1) {
- ND_PRINT((ndo, ",%d", firstPacket + i));
+ ND_PRINT((ndo, ",%u", firstPacket + i));
start = i;
}
* range.
*/
} else if (last == i - 1 && start != last)
- ND_PRINT((ndo, "-%d", firstPacket + i - 1));
+ ND_PRINT((ndo, "-%u", firstPacket + i - 1));
/*
* So, what's going on here? We ran off the end of the
*/
if (last == i - 1 && start != last)
- ND_PRINT((ndo, "-%d", firstPacket + i - 1));
+ ND_PRINT((ndo, "-%u", firstPacket + i - 1));
/*
* Same as above, just without comments
for (i = 0, start = last = -2; i < rxa->nAcks; i++)
if (rxa->acks[i] == RX_ACK_TYPE_NACK) {
if (last == -2) {
- ND_PRINT((ndo, " nacked %d", firstPacket + i));
+ ND_PRINT((ndo, " nacked %u", firstPacket + i));
start = i;
} else if (last != i - 1) {
- ND_PRINT((ndo, ",%d", firstPacket + i));
+ ND_PRINT((ndo, ",%u", firstPacket + i));
start = i;
}
last = i;
} else if (last == i - 1 && start != last)
- ND_PRINT((ndo, "-%d", firstPacket + i - 1));
+ ND_PRINT((ndo, "-%u", firstPacket + i - 1));
if (last == i - 1 && start != last)
- ND_PRINT((ndo, "-%d", firstPacket + i - 1));
+ ND_PRINT((ndo, "-%u", firstPacket + i - 1));
bp += rxa->nAcks;
}