]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-isakmp.c
Add the ndo parameter to some functions
[tcpdump] / print-isakmp.c
index de8bf2bd2e07ab35cad43f96a5dfec32b14160f9..3af263a817167bc87abc1f4f02e598d47c193f75 100644 (file)
@@ -766,7 +766,7 @@ cookie_find(const cookie_t *in)
 
 /* record initiator */
 static void
-cookie_record(const cookie_t *in, const u_char *bp2)
+cookie_record(netdissect_options *ndo, const cookie_t *in, const u_char *bp2)
 {
        int i;
        const struct ip *ip;
@@ -802,10 +802,10 @@ cookie_record(const cookie_t *in, const u_char *bp2)
        ninitiator = (ninitiator + 1) % MAXINITIATORS;
 }
 
-#define cookie_isinitiator(x, y)       cookie_sidecheck((x), (y), 1)
-#define cookie_isresponder(x, y)       cookie_sidecheck((x), (y), 0)
+#define cookie_isinitiator(ndo, x, y)  cookie_sidecheck(ndo, (x), (y), 1)
+#define cookie_isresponder(ndo, x, y)  cookie_sidecheck(ndo, (x), (y), 0)
 static int
-cookie_sidecheck(int i, const u_char *bp2, int initiator)
+cookie_sidecheck(netdissect_options *ndo, int i, const u_char *bp2, int initiator)
 {
        const struct ip *ip;
        const struct ip6_hdr *ip6;
@@ -1175,7 +1175,7 @@ static const struct attrmap ipsec_t_map[] = {
 };
 
 static const struct attrmap encr_t_map[] = {
-       { NULL, 0, { NULL } },  { NULL, 0, { NULL } },  /* 0, 1 */
+       { NULL, 0, { NULL } },  { NULL, 0, { NULL } },  /* 0, 1 */
        { NULL, 0, { NULL } },  { NULL, 0, { NULL } },  /* 2, 3 */
        { NULL, 0, { NULL } },  { NULL, 0, { NULL } },  /* 4, 5 */
        { NULL, 0, { NULL } },  { NULL, 0, { NULL } },  /* 6, 7 */
@@ -1188,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",
@@ -1398,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;
                    }
@@ -2650,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
@@ -2752,7 +2752,7 @@ ike_sub0_print(netdissect_options *ndo,
 
        return cp;
 trunc:
-       ND_PRINT(" [|isakmp]");
+       nd_print_trunc(ndo);
        return NULL;
 }
 
@@ -2831,13 +2831,13 @@ ikev1_print(netdissect_options *ndo,
                        /* the first packet */
                        ND_PRINT(" I");
                        if (bp2)
-                               cookie_record(&base->i_ck, bp2);
+                               cookie_record(ndo, &base->i_ck, bp2);
                } else
                        ND_PRINT(" ?");
        } else {
-               if (bp2 && cookie_isinitiator(i, bp2))
+               if (bp2 && cookie_isinitiator(ndo, i, bp2))
                        ND_PRINT(" I");
-               else if (bp2 && cookie_isresponder(i, bp2))
+               else if (bp2 && cookie_isresponder(ndo, i, bp2))
                        ND_PRINT(" R");
                else
                        ND_PRINT(" ?");
@@ -2920,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;
 }
 
@@ -3032,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) {
@@ -3044,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;
        }
 
@@ -3087,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");
@@ -3101,8 +3103,7 @@ isakmp_rfc3948_print(netdissect_options *ndo,
        /*
         * see if this is an IKE packet
         */
-       if (EXTRACT_U_1(bp) == 0 && EXTRACT_U_1(bp + 1) == 0 &&
-           EXTRACT_U_1(bp + 2) == 0 && EXTRACT_U_1(bp + 3) == 0) {
+       if (EXTRACT_BE_U_4(bp) == 0) {
                ND_PRINT("NONESP-encap: ");
                isakmp_print(ndo, bp+4, length-4, bp2);
                return;
@@ -3128,13 +3129,6 @@ isakmp_rfc3948_print(netdissect_options *ndo,
        }
 
 trunc:
-       ND_PRINT("[|isakmp]");
+       nd_print_trunc(ndo);
        return;
 }
-
-/*
- * Local Variables:
- * c-style: whitesmith
- * c-basic-offset: 8
- * End:
- */