]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-decnet.c
Add CAP_FCNTL and use cap_fcntls_limit().
[tcpdump] / print-decnet.c
index e29691fb2054e9ce35c301ac8c03da83b594f277..5414ec20b5cdf486287f090ae4185a71c3144a7a 100644 (file)
@@ -44,7 +44,7 @@ struct rtentry;
 static const char tstr[] = "[|decnet]";
 
 #ifndef WIN32
-typedef u_int8_t byte[1];              /* single byte field */
+typedef uint8_t byte[1];               /* single byte field */
 #else
 /*
  * the keyword 'byte' generates conflicts in Windows
@@ -52,17 +52,17 @@ typedef u_int8_t byte[1];           /* single byte field */
 typedef unsigned char Byte[1];         /* single byte field */
 #define byte Byte
 #endif /* WIN32 */
-typedef u_int8_t word[2];              /* 2 byte field */
-typedef u_int8_t longword[4];          /* 4 bytes field */
+typedef uint8_t word[2];               /* 2 byte field */
+typedef uint8_t longword[4];           /* 4 bytes field */
 
 /*
  * Definitions for DECNET Phase IV protocol headers
  */
 union etheraddress {
-       u_int8_t   dne_addr[6];         /* full ethernet address */
+       uint8_t   dne_addr[6];          /* full ethernet address */
        struct {
-               u_int8_t dne_hiord[4];  /* DECnet HIORD prefix */
-               u_int8_t dne_nodeaddr[2]; /* DECnet node address */
+               uint8_t dne_hiord[4];   /* DECnet HIORD prefix */
+               uint8_t dne_nodeaddr[2]; /* DECnet node address */
        } dne_remote;
 };
 
@@ -76,8 +76,8 @@ typedef union etheraddress etheraddr; /* Ethernet address */
 
 #define DN_MAXADDL     20              /* max size of DECnet address */
 struct dn_naddr {
-       u_int16_t       a_len;          /* length of address */
-       u_int8_t a_addr[DN_MAXADDL]; /* address as bytes */
+       uint16_t        a_len;          /* length of address */
+       uint8_t a_addr[DN_MAXADDL]; /* address as bytes */
 };
 
 /*
@@ -271,7 +271,7 @@ union controlmsg
 /* Macros for decoding routing-info fields */
 #define        RI_COST(x)      ((x)&0777)
 #define        RI_HOPS(x)      (((x)>>10)&037)
-\f
+
 /*
  * NSP protocol fields and values.
  */
@@ -591,7 +591,7 @@ decnet_print(netdissect_options *ndo,
        }
 
        ND_PRINT((ndo, "%s > %s %d ",
-                       dnaddr_string(src), dnaddr_string(dst), pktlen));
+                       dnaddr_string(ndo, src), dnaddr_string(ndo, dst), pktlen));
        if (ndo->ndo_vflag) {
            if (mflags & RMF_RQR)
                ND_PRINT((ndo, "RQR "));
@@ -640,7 +640,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
            print_t_info(ndo, info);
            ND_PRINT((ndo,
                "src %sblksize %d vers %d eco %d ueco %d hello %d",
-                       dnaddr_string(src), blksize, vers, eco, ueco,
+                       dnaddr_string(ndo, src), blksize, vers, eco, ueco,
                        hello));
            ret = 1;
            break;
@@ -651,7 +651,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
            ND_TCHECK(cmp->cm_ver);
            src = EXTRACT_LE_16BITS(cmp->cm_ver.ve_src);
            other = EXTRACT_LE_8BITS(cmp->cm_ver.ve_fcnval);
-           ND_PRINT((ndo, "src %s fcnval %o", dnaddr_string(src), other));
+           ND_PRINT((ndo, "src %s fcnval %o", dnaddr_string(ndo, src), other));
            ret = 1;
            break;
        case RMF_TEST:
@@ -661,7 +661,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
            ND_TCHECK(cmp->cm_test);
            src = EXTRACT_LE_16BITS(cmp->cm_test.te_src);
            other = EXTRACT_LE_8BITS(cmp->cm_test.te_data);
-           ND_PRINT((ndo, "src %s data %o", dnaddr_string(src), other));
+           ND_PRINT((ndo, "src %s data %o", dnaddr_string(ndo, src), other));
            ret = 1;
            break;
        case RMF_L1ROUT:
@@ -670,7 +670,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
                goto trunc;
            ND_TCHECK(cmp->cm_l1rou);
            src = EXTRACT_LE_16BITS(cmp->cm_l1rou.r1_src);
-           ND_PRINT((ndo, "src %s ", dnaddr_string(src)));
+           ND_PRINT((ndo, "src %s ", dnaddr_string(ndo, src)));
            ret = print_l1_routes(ndo, &(rhpx[sizeof(struct l1rout)]),
                                length - sizeof(struct l1rout));
            break;
@@ -680,7 +680,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
                goto trunc;
            ND_TCHECK(cmp->cm_l2rout);
            src = EXTRACT_LE_16BITS(cmp->cm_l2rout.r2_src);
-           ND_PRINT((ndo, "src %s ", dnaddr_string(src)));
+           ND_PRINT((ndo, "src %s ", dnaddr_string(ndo, src)));
            ret = print_l2_routes(ndo, &(rhpx[sizeof(struct l2rout)]),
                                length - sizeof(struct l2rout));
            break;
@@ -702,7 +702,7 @@ print_decnet_ctlmsg(netdissect_options *ndo,
            print_i_info(ndo, info);
            ND_PRINT((ndo,
            "vers %d eco %d ueco %d src %s blksize %d pri %d hello %d",
-                       vers, eco, ueco, dnaddr_string(src),
+                       vers, eco, ueco, dnaddr_string(ndo, src),
                        blksize, priority, hello));
            ret = print_elist(&(rhpx[sizeof(struct rhellomsg)]),
                                length - sizeof(struct rhellomsg));
@@ -729,8 +729,8 @@ print_decnet_ctlmsg(netdissect_options *ndo,
            print_i_info(ndo, info);
            ND_PRINT((ndo,
        "vers %d eco %d ueco %d src %s blksize %d rtr %s hello %d data %o",
-                       vers, eco, ueco, dnaddr_string(src),
-                       blksize, dnaddr_string(dst), hello, other));
+                       vers, eco, ueco, dnaddr_string(ndo, src),
+                       blksize, dnaddr_string(ndo, dst), hello, other));
            ret = 1;
            break;
 
@@ -1315,10 +1315,15 @@ dnname_string(u_short dnaddr)
 {
 #ifdef HAVE_DNET_HTOA
        struct dn_naddr dna;
+       char *dnname;
 
        dna.a_len = sizeof(short);
        memcpy((char *)dna.a_addr, (char *)&dnaddr, sizeof(short));
-       return (strdup(dnet_htoa(&dna)));
+       dnname = dnet_htoa(&dna);
+       if(dnname != NULL)
+               return (strdup(dnname));
+       else
+               return(dnnum_string(dnaddr));
 #else
        return(dnnum_string(dnaddr));   /* punt */
 #endif