]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-isakmp.c
Update .gitignore for other configurations
[tcpdump] / print-isakmp.c
index ba12f912d0998205b8cb578f2f84d9887d1c10f4..ba2a4dd1af51b07b481b8cff081bb06b3640585b 100644 (file)
@@ -741,9 +741,11 @@ static const char *etypestr[] = {
 static int
 iszero(const u_char *p, size_t l)
 {
-       while (l--) {
-               if (*p++)
+       while (l != 0) {
+               if (*p)
                        return 0;
+               p++;
+               l--;
        }
        return 1;
 }
@@ -1186,7 +1188,7 @@ static const struct attrmap encr_t_map[] = {
 static const struct attrmap oakley_t_map[] = {
        { NULL, 0, { NULL } },
        { "enc", 8,     { NULL, "1des", "idea", "blowfish", "rc5",
-                         "3des", "cast", "aes", }, },
+                         "3des", "cast", "aes", }, },
        { "hash", 7,    { NULL, "md5", "sha1", "tiger",
                          "sha2-256", "sha2-384", "sha2-512", }, },
        { "auth", 6,    { NULL, "preshared", "dss", "rsa sig", "rsa enc",
@@ -1396,7 +1398,7 @@ ikev1_id_print(netdissect_options *ndo, u_char tpay _U_,
                        u_int i;
                        ND_PRINT(" len=%u ", len);
                        for (i = 0; i < len; i++)
-                               safeputchar(ndo, EXTRACT_U_1(data + i));
+                               fn_print_char(ndo, EXTRACT_U_1(data + i));
                        len = 0;
                        break;
                    }
@@ -2648,7 +2650,7 @@ ikev2_e_print(netdissect_options *ndo,
              int depth)
 {
        const u_char *dat;
-       volatile u_int dlen;
+       u_int dlen;
 #ifdef HAVE_LIBCRYPTO
        uint8_t np;
 #endif
@@ -2750,7 +2752,7 @@ ike_sub0_print(netdissect_options *ndo,
 
        return cp;
 trunc:
-       ND_PRINT(" [|isakmp]");
+       nd_print_trunc(ndo);
        return NULL;
 }
 
@@ -2918,7 +2920,7 @@ ikev2_sub0_print(netdissect_options *ndo, const struct isakmp *base,
 
        return cp;
 trunc:
-       ND_PRINT(" [|isakmp]");
+       nd_print_trunc(ndo);
        return NULL;
 }
 
@@ -3030,6 +3032,7 @@ isakmp_print(netdissect_options *ndo,
        const u_char *ep;
        u_int major, minor;
 
+       ndo->ndo_protocol = "isakmp";
 #ifdef HAVE_LIBCRYPTO
        /* initialize SAs */
        if (ndo->ndo_sa_list_head == NULL) {
@@ -3042,7 +3045,7 @@ isakmp_print(netdissect_options *ndo,
        ep = ndo->ndo_snapend;
 
        if ((const struct isakmp *)ep < p + 1) {
-               ND_PRINT("[|isakmp]");
+               nd_print_trunc(ndo);
                return;
        }
 
@@ -3085,6 +3088,7 @@ isakmp_rfc3948_print(netdissect_options *ndo,
                     const u_char *bp, u_int length,
                     const u_char *bp2)
 {
+       ndo->ndo_protocol = "isakmp_rfc3948";
        ND_TCHECK_1(bp);
        if(length == 1 && EXTRACT_U_1(bp)==0xff) {
                ND_PRINT("isakmp-nat-keep-alive");
@@ -3121,18 +3125,11 @@ isakmp_rfc3948_print(netdissect_options *ndo,
                length -= advance + padlen;
                nh = enh & 0xff;
 
-               ip_print_inner(ndo, bp, length, nh, bp2);
+               ip_inner_print(ndo, bp, length, nh, bp2);
                return;
        }
 
 trunc:
-       ND_PRINT("[|isakmp]");
+       nd_print_trunc(ndo);
        return;
 }
-
-/*
- * Local Variables:
- * c-style: whitesmith
- * c-basic-offset: 8
- * End:
- */