X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/01107d420e32bfa6b4120564aa6eb6799c07ecb9..HEAD:/print-pptp.c diff --git a/print-pptp.c b/print-pptp.c index 548a295e..8666e505 100644 --- a/print-pptp.c +++ b/print-pptp.c @@ -25,9 +25,7 @@ /* specification: RFC 2637 */ -#ifdef HAVE_CONFIG_H #include -#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