]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-rsvp.c
Don't do IPv6 stuff if INET6 isn't defined.
[tcpdump] / print-rsvp.c
index e869b970875917fe2157fdfcb1d5c04bf311745a..263ef3d4656ac1f3d5d036ed36f930c36822ef68 100644 (file)
  */
 
 struct rsvp_common_header {
-    u_int8_t version_flags;
-    u_int8_t msg_type;
-    u_int8_t checksum[2];
-    u_int8_t ttl;
-    u_int8_t reserved;
-    u_int8_t length[2];
+    uint8_t version_flags;
+    uint8_t msg_type;
+    uint8_t checksum[2];
+    uint8_t ttl;
+    uint8_t reserved;
+    uint8_t length[2];
 };
 
 /*
@@ -66,9 +66,9 @@ struct rsvp_common_header {
  */
 
 struct rsvp_object_header {
-    u_int8_t length[2];
-    u_int8_t class_num;
-    u_int8_t ctype;
+    uint8_t length[2];
+    uint8_t class_num;
+    uint8_t ctype;
 };
 
 #define RSVP_VERSION            1
@@ -292,11 +292,11 @@ static const struct tok rsvp_ctype_values[] = {
 };
 
 struct rsvp_obj_integrity_t {
-    u_int8_t flags;
-    u_int8_t res;
-    u_int8_t key_id[6];
-    u_int8_t sequence[8];
-    u_int8_t digest[16];
+    uint8_t flags;
+    uint8_t res;
+    uint8_t key_id[6];
+    uint8_t sequence[8];
+    uint8_t digest[16];
 };
 
 static const struct tok rsvp_obj_integrity_flag_values[] = {
@@ -305,14 +305,14 @@ static const struct tok rsvp_obj_integrity_flag_values[] = {
 };
 
 struct rsvp_obj_frr_t {
-    u_int8_t setup_prio;
-    u_int8_t hold_prio;
-    u_int8_t hop_limit;
-    u_int8_t flags;
-    u_int8_t bandwidth[4];
-    u_int8_t include_any[4];
-    u_int8_t exclude_any[4];
-    u_int8_t include_all[4];
+    uint8_t setup_prio;
+    uint8_t hold_prio;
+    uint8_t hop_limit;
+    uint8_t flags;
+    uint8_t bandwidth[4];
+    uint8_t include_any[4];
+    uint8_t exclude_any[4];
+    uint8_t include_all[4];
 };
 
 
@@ -486,12 +486,12 @@ static const struct tok rsvp_obj_generalized_uni_values[] = {
  */
 static int
 rsvp_intserv_print(netdissect_options *ndo,
-                   const u_char *tptr, u_short obj_tlen) {
-
+                   const u_char *tptr, u_short obj_tlen)
+{
     int parameter_id,parameter_length;
     union {
        float f;
-       u_int32_t i;
+       uint32_t i;
     } bw;
 
     if (obj_tlen < 4)
@@ -637,8 +637,8 @@ _U_
 _U_
 #endif
 , const u_char *tptr,
-                const char *ident, u_int tlen) {
-
+                const char *ident, u_int tlen)
+{
     const struct rsvp_object_header *rsvp_obj_header;
     const u_char *obj_tptr;
     union {
@@ -650,16 +650,15 @@ _U_
     int hexdump,processed,padbytes,error_code,error_value,i,sigcheck;
     union {
        float f;
-       u_int32_t i;
+       uint32_t i;
     } bw;
-    u_int8_t namelen;
+    uint8_t namelen;
 
     u_int action, subchannel;
 
     while(tlen>=sizeof(struct rsvp_object_header)) {
         /* did we capture enough for fully decoding the object header ? */
-        if (!ND_TTEST2(*tptr, sizeof(struct rsvp_object_header)))
-            goto trunc;
+        ND_TCHECK2(*tptr, sizeof(struct rsvp_object_header));
 
         rsvp_obj_header = (const struct rsvp_object_header *)tptr;
         rsvp_obj_len=EXTRACT_16BITS(rsvp_obj_header->length);
@@ -715,7 +714,7 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv4 DestAddress: %s, Protocol ID: 0x%02x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        *(obj_tptr + sizeof(struct in_addr))));
                 ND_PRINT((ndo, "%s  Flags: [0x%02x], DestPort %u",
                        ident,
@@ -730,7 +729,7 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv6 DestAddress: %s, Protocol ID: 0x%02x",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        *(obj_tptr + sizeof(struct in6_addr))));
                 ND_PRINT((ndo, "%s  Flags: [0x%02x], DestPort %u",
                        ident,
@@ -745,9 +744,9 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv6 Tunnel EndPoint: %s, Tunnel ID: 0x%04x, Extended Tunnel ID: %s",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+18),
-                       ip6addr_string(obj_tptr + 20)));
+                       ip6addr_string(ndo, obj_tptr + 20)));
                 obj_tlen-=36;
                 obj_tptr+=36;
                 break;
@@ -759,7 +758,7 @@ _U_
                        ident,
                        EXTRACT_32BITS(obj_tptr),
                        EXTRACT_16BITS(obj_tptr+6),
-                       ip6addr_string(obj_tptr + 8)));
+                       ip6addr_string(ndo, obj_tptr + 8)));
                 obj_tlen-=26;
                 obj_tptr+=26;
                 break;
@@ -769,9 +768,9 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv4 P2MP LSP ID: %s, Tunnel ID: 0x%04x, Extended Tunnel ID: %s",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+6),
-                       ipaddr_string(obj_tptr + 8)));
+                       ipaddr_string(ndo, obj_tptr + 8)));
                 obj_tlen-=12;
                 obj_tptr+=12;
                 break;
@@ -781,9 +780,9 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv4 Tunnel EndPoint: %s, Tunnel ID: 0x%04x, Extended Tunnel ID: %s",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+6),
-                       ipaddr_string(obj_tptr + 8)));
+                       ipaddr_string(ndo, obj_tptr + 8)));
                 obj_tlen-=12;
                 obj_tptr+=12;
                 break;
@@ -799,7 +798,7 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv4 Receiver Address: %s",
                        ident,
-                       ipaddr_string(obj_tptr)));
+                       ipaddr_string(ndo, obj_tptr)));
                 obj_tlen-=sizeof(struct in_addr);
                 obj_tptr+=sizeof(struct in_addr);
                 break;
@@ -809,7 +808,7 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv6 Receiver Address: %s",
                        ident,
-                       ip6addr_string(obj_tptr)));
+                       ip6addr_string(ndo, obj_tptr)));
                 obj_tlen-=sizeof(struct in6_addr);
                 obj_tptr+=sizeof(struct in6_addr);
                 break;
@@ -826,7 +825,7 @@ _U_
                     return -1;
                 ND_PRINT((ndo, "%s  IPv4 Notify Node Address: %s",
                        ident,
-                       ipaddr_string(obj_tptr)));
+                       ipaddr_string(ndo, obj_tptr)));
                 obj_tlen-=sizeof(struct in_addr);
                 obj_tptr+=sizeof(struct in_addr);
                 break;
@@ -836,7 +835,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  IPv6 Notify Node Address: %s",
                        ident,
-                       ip6addr_string(obj_tptr)));
+                       ip6addr_string(ndo, obj_tptr)));
                 obj_tlen-=sizeof(struct in6_addr);
                 obj_tptr+=sizeof(struct in6_addr);
                 break;
@@ -910,7 +909,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, Source Port: %u",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 6)));
                 obj_tlen-=8;
                 obj_tptr+=8;
@@ -921,7 +920,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, Source Port: %u",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 18)));
                 obj_tlen-=20;
                 obj_tptr+=20;
@@ -932,10 +931,10 @@ _U_
                 ND_PRINT((ndo, "%s  IPv6 Tunnel Sender Address: %s, LSP ID: 0x%04x"
                        "%s  Sub-Group Originator ID: %s, Sub-Group ID: 0x%04x",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+18),
                        ident,
-                       ip6addr_string(obj_tptr+20),
+                       ip6addr_string(ndo, obj_tptr+20),
                        EXTRACT_16BITS(obj_tptr + 38)));
                 obj_tlen-=40;
                 obj_tptr+=40;
@@ -946,7 +945,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  IPv4 Tunnel Sender Address: %s, LSP-ID: 0x%04x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 6)));
                 obj_tlen-=8;
                 obj_tptr+=8;
@@ -957,10 +956,10 @@ _U_
                 ND_PRINT((ndo, "%s  IPv4 Tunnel Sender Address: %s, LSP ID: 0x%04x"
                        "%s  Sub-Group Originator ID: %s, Sub-Group ID: 0x%04x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+6),
                        ident,
-                       ipaddr_string(obj_tptr+8),
+                       ipaddr_string(ndo, obj_tptr+8),
                        EXTRACT_16BITS(obj_tptr + 12)));
                 obj_tlen-=16;
                 obj_tptr+=16;
@@ -1068,7 +1067,7 @@ _U_
                     case RSVP_OBJ_XRO_IPV4:
                         ND_PRINT((ndo, ", %s, %s/%u, Flags: [%s]",
                                RSVP_OBJ_XRO_MASK_LOOSE(*obj_tptr) ? "Loose" : "Strict",
-                               ipaddr_string(obj_tptr+2),
+                               ipaddr_string(ndo, obj_tptr+2),
                                *(obj_tptr+6),
                                bittok2str(rsvp_obj_rro_flag_values,
                                    "none",
@@ -1189,14 +1188,14 @@ _U_
                             if (subobj_len < 8)
                                 return -1;
                             ND_PRINT((ndo, "%s    UNI IPv4 TNA address: %s",
-                                   ident, ipaddr_string(obj_tptr + 4)));
+                                   ident, ipaddr_string(ndo, obj_tptr + 4)));
                             break;
 #ifdef INET6
                         case AFNUM_INET6:
                             if (subobj_len < 20)
                                 return -1;
                             ND_PRINT((ndo, "%s    UNI IPv6 TNA address: %s",
-                                   ident, ip6addr_string(obj_tptr + 4)));
+                                   ident, ip6addr_string(ndo, obj_tptr + 4)));
                             break;
 #endif
                         case AFNUM_NSAP:
@@ -1265,7 +1264,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Previous/Next Interface: %s, Logical Interface Handle: 0x%08x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_32BITS(obj_tptr + 4)));
                 obj_tlen-=8;
                 obj_tptr+=8;
@@ -1279,7 +1278,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Previous/Next Interface: %s, Logical Interface Handle: 0x%08x",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_32BITS(obj_tptr + 16)));
                 obj_tlen-=20;
                 obj_tptr+=20;
@@ -1356,7 +1355,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, Source Port: %u",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 6)));
                 obj_tlen-=8;
                 obj_tptr+=8;
@@ -1367,7 +1366,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, Source Port: %u",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 18)));
                 obj_tlen-=20;
                 obj_tptr+=20;
@@ -1377,7 +1376,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, Flow Label: %u",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_24BITS(obj_tptr + 17)));
                 obj_tlen-=20;
                 obj_tptr+=20;
@@ -1387,7 +1386,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, LSP-ID: 0x%04x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 18)));
                 obj_tlen-=20;
                 obj_tptr+=20;
@@ -1398,10 +1397,10 @@ _U_
                 ND_PRINT((ndo, "%s  IPv6 Tunnel Sender Address: %s, LSP ID: 0x%04x"
                        "%s  Sub-Group Originator ID: %s, Sub-Group ID: 0x%04x",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+18),
                        ident,
-                       ip6addr_string(obj_tptr+20),
+                       ip6addr_string(ndo, obj_tptr+20),
                        EXTRACT_16BITS(obj_tptr + 38)));
                 obj_tlen-=40;
                 obj_tptr+=40;
@@ -1412,7 +1411,7 @@ _U_
                     return-1;
                 ND_PRINT((ndo, "%s  Source Address: %s, LSP-ID: 0x%04x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr + 6)));
                 obj_tlen-=8;
                 obj_tptr+=8;
@@ -1423,10 +1422,10 @@ _U_
                 ND_PRINT((ndo, "%s  IPv4 Tunnel Sender Address: %s, LSP ID: 0x%04x"
                        "%s  Sub-Group Originator ID: %s, Sub-Group ID: 0x%04x",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_16BITS(obj_tptr+6),
                        ident,
-                       ipaddr_string(obj_tptr+8),
+                       ipaddr_string(ndo, obj_tptr+8),
                        EXTRACT_16BITS(obj_tptr + 12)));
                 obj_tlen-=16;
                 obj_tptr+=16;
@@ -1488,8 +1487,8 @@ _U_
                 while(obj_tlen >= 8) {
                     ND_PRINT((ndo, "%s  PLR-ID: %s, Avoid-Node-ID: %s",
                            ident,
-                           ipaddr_string(obj_tptr),
-                           ipaddr_string(obj_tptr + 4)));
+                           ipaddr_string(ndo, obj_tptr),
+                           ipaddr_string(ndo, obj_tptr + 4)));
                     obj_tlen-=8;
                     obj_tptr+=8;
                 }
@@ -1524,7 +1523,7 @@ _U_
                 error_value=EXTRACT_16BITS(obj_tptr+6);
                 ND_PRINT((ndo, "%s  Error Node Address: %s, Flags: [0x%02x]%s  Error Code: %s (%u)",
                        ident,
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        *(obj_tptr+4),
                        ident,
                        tok2str(rsvp_obj_error_code_values,"unknown",error_code),
@@ -1557,7 +1556,7 @@ _U_
                 error_value=EXTRACT_16BITS(obj_tptr+18);
                 ND_PRINT((ndo, "%s  Error Node Address: %s, Flags: [0x%02x]%s  Error Code: %s (%u)",
                        ident,
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        *(obj_tptr+16),
                        ident,
                        tok2str(rsvp_obj_error_code_values,"unknown",error_code),
@@ -1666,7 +1665,7 @@ _U_
                        EXTRACT_32BITS(obj_ptr.rsvp_obj_integrity->digest + 12)));
 
 #ifdef HAVE_LIBCRYPTO
-                sigcheck = signature_verify(pptr, plen, (unsigned char *)obj_ptr.\
+                sigcheck = signature_verify(ndo, pptr, plen, (unsigned char *)obj_ptr.\
                                              rsvp_obj_integrity->digest);
 #else
                 sigcheck = CANT_CHECK_SIGNATURE;
@@ -1746,7 +1745,7 @@ _U_
                 if (obj_tlen < 4)
                     return-1;
                 ND_PRINT((ndo, "%s  Sub-LSP destination address: %s",
-                       ident, ipaddr_string(obj_tptr)));
+                       ident, ipaddr_string(ndo, obj_tptr)));
 
                 obj_tlen-=4;
                 obj_tptr+=4;
@@ -1756,7 +1755,7 @@ _U_
                 if (obj_tlen < 16)
                     return-1;
                 ND_PRINT((ndo, "%s  Sub-LSP destination address: %s",
-                       ident, ip6addr_string(obj_tptr)));
+                       ident, ip6addr_string(ndo, obj_tptr)));
 
                 obj_tlen-=16;
                 obj_tptr+=16;
@@ -1796,8 +1795,8 @@ trunc:
 
 void
 rsvp_print(netdissect_options *ndo,
-           register const u_char *pptr, register u_int len) {
-
+           register const u_char *pptr, register u_int len)
+{
     struct rsvp_common_header *rsvp_com_header;
     const u_char *tptr,*subtptr;
     u_short plen, tlen, subtlen;