]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-lmp.c
Add CAP_FCNTL and use cap_fcntls_limit().
[tcpdump] / print-lmp.c
index d204887e1385699b4368dd3f59b98955b4b3b740..8d68e858fb7b56814caa4a82cf1af2778844470e 100644 (file)
  */
 
 struct lmp_common_header {
-    u_int8_t version_res[2];
-    u_int8_t flags;
-    u_int8_t msg_type;
-    u_int8_t length[2];
-    u_int8_t reserved[2];
+    uint8_t version_res[2];
+    uint8_t flags;
+    uint8_t msg_type;
+    uint8_t length[2];
+    uint8_t reserved[2];
 };
 
 #define LMP_VERSION            1
@@ -212,9 +212,9 @@ static const struct tok lmp_msg_type_values[] = {
  */
 
 struct lmp_object_header {
-    u_int8_t ctype;
-    u_int8_t class_num;
-    u_int8_t length[2];
+    uint8_t ctype;
+    uint8_t class_num;
+    uint8_t length[2];
 };
 
 #define        LMP_OBJ_CC_ID                 1
@@ -366,7 +366,7 @@ lmp_print(netdissect_options *ndo,
 
     union { /* int to float conversion buffer */
         float f;
-        u_int32_t i;
+        uint32_t i;
     } bw;
 
     tptr=pptr;
@@ -406,8 +406,7 @@ lmp_print(netdissect_options *ndo,
 
     while(tlen>0) {
         /* did we capture enough for fully decoding the object header ? */
-        if (!ND_TTEST2(*tptr, sizeof(struct lmp_object_header)))
-            goto trunc;
+        ND_TCHECK2(*tptr, sizeof(struct lmp_object_header));
 
         lmp_obj_header = (const struct lmp_object_header *)tptr;
         lmp_obj_len=EXTRACT_16BITS(lmp_obj_header->length);
@@ -432,8 +431,7 @@ lmp_print(netdissect_options *ndo,
         obj_tlen=lmp_obj_len-sizeof(struct lmp_object_header);
 
         /* did we capture enough for fully decoding the object ? */
-        if (!ND_TTEST2(*tptr, lmp_obj_len))
-            goto trunc;
+        ND_TCHECK2(*tptr, lmp_obj_len);
         hexdump=FALSE;
 
         switch(lmp_obj_header->class_num) {
@@ -458,14 +456,14 @@ lmp_print(netdissect_options *ndo,
             case LMP_CTYPE_IPV4_LOC:
             case LMP_CTYPE_IPV4_RMT:
                 ND_PRINT((ndo, "\n\t    IPv4 Link ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_32BITS(obj_tptr)));
                 break;
 #ifdef INET6
             case LMP_CTYPE_IPV6_LOC:
             case LMP_CTYPE_IPV6_RMT:
                 ND_PRINT((ndo, "\n\t    IPv6 Link ID: %s (0x%08x)",
-                       ip6addr_string(obj_tptr),
+                       ip6addr_string(ndo, obj_tptr),
                        EXTRACT_32BITS(obj_tptr)));
                 break;
 #endif
@@ -502,7 +500,7 @@ lmp_print(netdissect_options *ndo,
             case LMP_CTYPE_LOC:
             case LMP_CTYPE_RMT:
                 ND_PRINT((ndo, "\n\t    Node ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr),
+                       ipaddr_string(ndo, obj_tptr),
                        EXTRACT_32BITS(obj_tptr)));
                 break;
 
@@ -547,9 +545,9 @@ lmp_print(netdissect_options *ndo,
            case LMP_CTYPE_IPV4:
                ND_PRINT((ndo, "\n\t    Local Link-ID: %s (0x%08x)"
                       "\n\t    Remote Link-ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr+4),
+                       ipaddr_string(ndo, obj_tptr+4),
                        EXTRACT_32BITS(obj_tptr+4),
-                       ipaddr_string(obj_tptr+8),
+                       ipaddr_string(ndo, obj_tptr+8),
                        EXTRACT_32BITS(obj_tptr+8)));
                break;
 
@@ -573,9 +571,9 @@ lmp_print(netdissect_options *ndo,
            case LMP_CTYPE_UNMD:
                 ND_PRINT((ndo, "\n\t    Local Interface ID: %s (0x%08x)"
                        "\n\t    Remote Interface ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr+4),
+                       ipaddr_string(ndo, obj_tptr+4),
                        EXTRACT_32BITS(obj_tptr+4),
-                       ipaddr_string(obj_tptr+8),
+                       ipaddr_string(ndo, obj_tptr+8),
                        EXTRACT_32BITS(obj_tptr+8)));
 
                total_subobj_len = lmp_obj_len - 16;
@@ -692,7 +690,7 @@ lmp_print(netdissect_options *ndo,
                /* Decode pairs: <Interface_ID (4 bytes), Channel_status (4 bytes)> */
                while (offset < (lmp_obj_len-(int)sizeof(struct lmp_object_header)) ) {
                        ND_PRINT((ndo, "\n\t    Interface ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr+offset),
+                       ipaddr_string(ndo, obj_tptr+offset),
                        EXTRACT_32BITS(obj_tptr+offset)));
 
                        ND_PRINT((ndo, "\n\t\t    Active: %s (%u)",             (EXTRACT_32BITS(obj_tptr+offset+4)>>31) ?
@@ -726,7 +724,7 @@ lmp_print(netdissect_options *ndo,
                offset = 0;
                while (offset < (lmp_obj_len-(int)sizeof(struct lmp_object_header)) ) {
                        ND_PRINT((ndo, "\n\t    Interface ID: %s (0x%08x)",
-                       ipaddr_string(obj_tptr+offset),
+                       ipaddr_string(ndo, obj_tptr+offset),
                        EXTRACT_32BITS(obj_tptr+offset)));
                        offset+=4;
                }
@@ -821,7 +819,7 @@ lmp_print(netdissect_options *ndo,
                       EXTRACT_16BITS(obj_tptr+10)));
 
                ND_PRINT((ndo, "\n\t    Local Interface ID: %s (0x%08x)",
-                      ipaddr_string(obj_tptr+12),
+                      ipaddr_string(ndo, obj_tptr+12),
                       EXTRACT_32BITS(obj_tptr+12)));
 
                break;