]> The Tcpdump Group git mirrors - tcpdump/commitdiff
fixed up auth payload printing code.
authormcr <mcr>
Tue, 27 Nov 2007 03:57:20 +0000 (03:57 +0000)
committermcr <mcr>
Tue, 27 Nov 2007 03:57:20 +0000 (03:57 +0000)
print-isakmp.c
tests/ikev2pI2.out
tests/ikev2pI2.puu

index 2a4c56fe56708602c27094f9b7cf167ee0654189..2206d83450b983eb77065b02a29de43d10e7221e 100644 (file)
@@ -30,7 +30,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-isakmp.c,v 1.58 2007-11-24 18:13:33 mcr Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-isakmp.c,v 1.59 2007-11-27 03:57:20 mcr Exp $ (LBL)";
 #endif
 
 #define NETDISSECT_REWORKED
@@ -1663,7 +1663,7 @@ ikev2_ID_print(netdissect_options *ndo, u_char tpay,
                }
        }
        if(dumphex) {
-               if (!rawprint(ndo, typedata, idtype_len))
+               if (!rawprint(ndo, (caddr_t)typedata, idtype_len))
                        goto trunc;
        }
 
@@ -1700,27 +1700,30 @@ ikev2_auth_print(netdissect_options *ndo, u_char tpay,
                u_int32_t phase _U_, u_int32_t doi _U_,
                u_int32_t proto _U_, int depth _U_)
 {
-       struct ikev2_auth e;
+       struct ikev2_auth a;
        const char *v2_auth[]={ "invalid", "rsasig",
                                "shared-secret", "dsssig" };
+       u_char *authdata = (u_char*)ext + sizeof(a);
+       unsigned int len;
 
        ND_TCHECK(*ext);
-       safememcpy(&e, ext, sizeof(e));
-       ikev2_pay_print(ndo, NPSTR(tpay), e.h.critical);
+       safememcpy(&a, ext, sizeof(a));
+       ikev2_pay_print(ndo, NPSTR(tpay), a.h.critical);
+       len = ntohs(a.h.len);
 
-       ND_PRINT((ndo," len=%d method=%s", ntohs(e.h.len) - 4, 
-                 STR_OR_ID(e.auth_method, v2_auth)));
+       ND_PRINT((ndo," len=%d method=%s", len-4, 
+                 STR_OR_ID(a.auth_method, v2_auth)));
 
-       if (1 < ndo->ndo_vflag && 4 < ntohs(e.h.len)) {
+       if (1 < ndo->ndo_vflag && 4 < len) {
                ND_PRINT((ndo," authdata=("));
-               if (!rawprint(ndo, (caddr_t)(ext + 1), ntohs(e.h.len) - 4))
+               if (!rawprint(ndo, (caddr_t)authdata, len - sizeof(a)))
                        goto trunc;
                ND_PRINT((ndo,") "));
-       } else if(ndo->ndo_vflag && 4 < ntohs(e.h.len)) {
-               if(!ike_show_somedata(ndo, (const u_char *)(ext+1), ep)) goto trunc;
+       } else if(ndo->ndo_vflag && 4 < len) {
+               if(!ike_show_somedata(ndo, authdata, ep)) goto trunc;
        }
 
-       return (u_char *)ext + ntohs(e.h.len);
+       return (u_char *)ext + len;
 trunc:
        ND_PRINT((ndo," [|%s]", NPSTR(tpay)));
        return NULL;
index 68fdc3bc22a7bf03cf89ee63d3f9cd2c0a64e08b..7940e8cd038248b8fe6030c6acb60bb5797c2cfa 100644 (file)
@@ -34,7 +34,8 @@ IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 536, b
     (v2ke: len=192 group=modp1536 ffbc6a92a6b9559b05fa96a7a43507b4c1e1c0861a5871d9ba73a163113788c0debb3979e7ff0c52b4ce6050eb05369ea4300d2bff3b1b299f3b802ccb13318c2ab9e3b5627cb4b35eb939982076b57c050d7b35c3c5c7cc8c0feab7b64a7d7b6b8f6b4dabf4ac406dd20126b90a98ac766efa37a7890c4394ff9a77615b58f52d651bbfa58d2a549af8b01aa4bca3d762426663b155d4ebda9f60a6a13573e6a888135cdc673dd483029903f3a90eca23e1ec1e270331b2d050f4f758f49927)
     (nonce[C]: len=16 nonce=(b5ce8419095c6e2b6b62d3055305b3c4) )
     (v2vid: len=12 vid=OErlA\nQukSR 4f45726c415c6e51756b5352)
-IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 104, bad cksum 0 (->f63e)!)
+IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 312, bad cksum 0 (->f56e)!)
     192.1.2.45.500 > 192.1.2.23.500: [no cksum] isakmp 2.0 msgid 00000000 cookie 0001020304050607->c02e7a3031a03188: parent_sa ikev2_auth[I]:
-    (v2e[C]: len=44 000102030405060708090a0b0c0d0e0fd8f2296434ebccbe2f8bd583e6fb5d70f1d49a6664082da3e2585249
-            (v2IDi: len=8 0200000077657374 fqdn:west))
+    (v2e[C]: len=252 000102030405060708090a0b0c0d0e0f4bcf2da20444caca5fb591c1ab4b9b4d4f22ac7cb49e6b08d2738884fb3efd8eebc607accc1f80f890e24df65e53d61e899f1d319d89c033524d036fd4ea7e0345def93356e2865e5481a6a20a7604083de04595e1071a2e98179eefb4e6ae4708e6875ae297b4dc5b2602d971e36f66cef12303946eea897d86bbb5903115281a266f4dcb627e146972ff2f7102931df82f24a2e40df594afc11e0a85eb1c56b9eddb7e2de52fa95cf51f4b4c9b5d53237ae39f64519413d201374a987fa8d1ce460fa2d67c417462203f2948c0b9ed8b734a69a015ff63bde767f44f83c3cfe5119d72d74e695b1032b957
+            (v2IDi: len=8 0200000077657374 fqdn:west)
+            (v2auth: len=196 method=rsasig authdata=(000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000) ))
index c4f5846174759532e01d4fb2da0487aca61d160e..314188e0175b226d552999f7cd96f7b326bd3765 100644 (file)
@@ -12,8 +12,13 @@ M.QLIGSN`+,L3,8PJN>.U8GRTLUZY.9@@=K5\!0U[-</%Q\R,#^JWMDI]>VN/
 M:TVK]*Q`;=(!)KD*F*QV;OHWIXD,0Y3_FG=A6UCU+64;OZ6-*E2:^+`:I+RC
 MUV)"9F.Q5=3KVI]@IJ$U<^:HB!-<W&<]U(,"F0/SJ0[*(^'L'B<#,;+04/3W
 M6/29)RN``!2USH09"5QN*VMBTP53!;/$````$$]%<FQ!7&Y1=6M34@"C`@``
-M````;````&P````"````10``:`````!`$0``P`$"+<`!`A<!]`'T`%0````!
-M`@,$!08'P"YZ,#&@,8@N(",(`````````$PC@``P``$"`P0%!@<("0H+#`T.
-=#]CR*60TZ\R^+XO5@^;[77#QU)IF9`@MH^)84DD`
+M````/`$``#P!```"````10`!.`````!`$0``P`$"+<`!`A<!]`'T`20````!
+M`@,$!08'P"YZ,#&@,8@N(",(`````````1PC@`$```$"`P0%!@<("0H+#`T.
+M#TO/+:($1,K*7[61P:M+FTU/(JQ\M)YK"-)SB(3[/OV.Z\8'K,P?@/B0XDWV
+M7E/6'HF?'3&=B<`S4DT#;]3J?@-%WODS5N*&7E2!IJ(*=@0(/>!%E>$'&BZ8
+M%Y[OM.:N1PCFAUKBE[3<6R8"V7'C;V;.\2,#E&[JB7V&N[60,14H&B9O3<MB
+M?A1I<O\O<0*3'?@O)*+D#?64K\$>"H7K'%:Y[=M^+>4OJ5SU'TM,FUU3(WKC
+MGV11E!/2`3=*F'^HT<Y&#Z+6?$%T8B`_*4C`N>V+<TIIH!7_8[WG9_1/@\//
+,Y1&=<M=.:5L0,KE7
 `
 end