]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-pptp.c
CMake: Fix the comment about versions. [skip ci]
[tcpdump] / print-pptp.c
index 4f3f8bad60f311c0f768c41fc0fb56bb0e0d3d78..8666e505bbc71ab97adda9ef22bab64e1a3ebcca 100644 (file)
@@ -25,9 +25,7 @@
 
 /* specification: RFC 2637 */
 
-#ifdef HAVE_CONFIG_H
 #include <config.h>
-#endif
 
 #include "netdissect-stdinc.h"
 
@@ -55,7 +53,7 @@
 #define PPTP_CTRL_MSG_TYPE_WEN         14
 #define PPTP_CTRL_MSG_TYPE_SLI         15
 
-#define PPTP_FRAMING_CAP_ASYNC_MASK    0x00000001      /* Aynchronous */
+#define PPTP_FRAMING_CAP_ASYNC_MASK    0x00000001      /* Asynchronous */
 #define PPTP_FRAMING_CAP_SYNC_MASK     0x00000002      /* Synchronous */
 
 #define PPTP_BEARER_CAP_ANALOG_MASK    0x00000001      /* Analog */
@@ -391,7 +389,9 @@ static void
 pptp_hostname_print(netdissect_options *ndo,
                     const u_char *hostname)
 {
-       ND_PRINT(" HOSTNAME(%.64s)", hostname);
+       ND_PRINT(" HOSTNAME(");
+       nd_printjnp(ndo, hostname, 64);
+       ND_PRINT(")");
 }
 
 static void
@@ -511,14 +511,18 @@ static void
 pptp_subaddr_print(netdissect_options *ndo,
                    const u_char *subaddr)
 {
-       ND_PRINT(" SUB_ADDR(%.64s)", subaddr);
+       ND_PRINT(" SUB_ADDR(");
+       nd_printjnp(ndo, subaddr, 64);
+       ND_PRINT(")");
 }
 
 static void
 pptp_vendor_print(netdissect_options *ndo,
                   const u_char *vendor)
 {
-       ND_PRINT(" VENDOR(%.64s)", vendor);
+       ND_PRINT(" VENDOR(");
+       nd_printjnp(ndo, vendor, 64);
+       ND_PRINT(")");
 }
 
 /************************************/
@@ -536,15 +540,8 @@ pptp_sccrq_print(netdissect_options *ndo,
        pptp_bearer_cap_print(ndo, ptr->bearer_cap);
        pptp_max_channel_print(ndo, ptr->max_channel);
        pptp_firm_rev_print(ndo, ptr->firm_rev);
-       ND_TCHECK_SIZE(&ptr->hostname);
-       pptp_hostname_print(ndo, &ptr->hostname[0]);
-       ND_TCHECK_SIZE(&ptr->vendor);
-       pptp_vendor_print(ndo, &ptr->vendor[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       pptp_hostname_print(ndo, ptr->hostname);
+       pptp_vendor_print(ndo, ptr->vendor);
 }
 
 static void
@@ -560,15 +557,8 @@ pptp_sccrp_print(netdissect_options *ndo,
        pptp_bearer_cap_print(ndo, ptr->bearer_cap);
        pptp_max_channel_print(ndo, ptr->max_channel);
        pptp_firm_rev_print(ndo, ptr->firm_rev);
-       ND_TCHECK_SIZE(&ptr->hostname);
-       pptp_hostname_print(ndo, &ptr->hostname[0]);
-       ND_TCHECK_SIZE(&ptr->vendor);
-       pptp_vendor_print(ndo, &ptr->vendor[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       pptp_hostname_print(ndo, ptr->hostname);
+       pptp_vendor_print(ndo, ptr->vendor);
 }
 
 static void
@@ -647,15 +637,11 @@ pptp_ocrq_print(netdissect_options *ndo,
        pptp_pkt_proc_delay_print(ndo, ptr->pkt_proc_delay);
        ND_PRINT(" PHONE_NO_LEN(%u)", GET_BE_U_2(ptr->phone_no_len));
        PRINT_RESERVED_IF_NOT_ZERO_2(ptr->reserved1);
-       ND_TCHECK_SIZE(&ptr->phone_no);
-       ND_PRINT(" PHONE_NO(%.64s)", ptr->phone_no);
-       ND_TCHECK_SIZE(&ptr->subaddr);
-       pptp_subaddr_print(ndo, &ptr->subaddr[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" PHONE_NO(");
+       nd_printjnp(ndo, ptr->phone_no,
+                   ND_MIN(64, GET_BE_U_2(ptr->phone_no_len)));
+       ND_PRINT(")");
+       pptp_subaddr_print(ndo, ptr->subaddr);
 }
 
 static void
@@ -687,17 +673,15 @@ pptp_icrq_print(netdissect_options *ndo,
        pptp_phy_chan_id_print(ndo, ptr->phy_chan_id);
        ND_PRINT(" DIALED_NO_LEN(%u)", GET_BE_U_2(ptr->dialed_no_len));
        ND_PRINT(" DIALING_NO_LEN(%u)", GET_BE_U_2(ptr->dialing_no_len));
-       ND_TCHECK_SIZE(&ptr->dialed_no);
-       ND_PRINT(" DIALED_NO(%.64s)", ptr->dialed_no);
-       ND_TCHECK_SIZE(&ptr->dialing_no);
-       ND_PRINT(" DIALING_NO(%.64s)", ptr->dialing_no);
-       ND_TCHECK_SIZE(&ptr->subaddr);
-       pptp_subaddr_print(ndo, &ptr->subaddr[0]);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" DIALED_NO(");
+       nd_printjnp(ndo, ptr->dialed_no,
+                   ND_MIN(64, GET_BE_U_2(ptr->dialed_no_len)));
+       ND_PRINT(")");
+       ND_PRINT(" DIALING_NO(");
+       nd_printjnp(ndo, ptr->dialing_no,
+                   ND_MIN(64, GET_BE_U_2(ptr->dialing_no_len)));
+       ND_PRINT(")");
+       pptp_subaddr_print(ndo, ptr->subaddr);
 }
 
 static void
@@ -750,13 +734,9 @@ pptp_cdn_print(netdissect_options *ndo,
        pptp_err_code_print(ndo, ptr->err_code);
        pptp_cause_code_print(ndo, ptr->cause_code);
        PRINT_RESERVED_IF_NOT_ZERO_2(ptr->reserved1);
-       ND_TCHECK_SIZE(&ptr->call_stats);
-       ND_PRINT(" CALL_STATS(%.128s)", ptr->call_stats);
-
-       return;
-
-trunc:
-       nd_print_trunc(ndo);
+       ND_PRINT(" CALL_STATS(");
+       nd_printjnp(ndo, ptr->call_stats, 128);
+       ND_PRINT(")");
 }
 
 static void
@@ -796,7 +776,8 @@ pptp_print(netdissect_options *ndo,
        uint16_t ctrl_msg_type;
 
        ndo->ndo_protocol = "pptp";
-       ND_PRINT(": pptp");
+       ND_PRINT(": ");
+       nd_print_protocol(ndo);
 
        hdr = (const struct pptp_hdr *)dat;