X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/6b84c2ee90a5db6460f67b6bd00ac2ce09e7c6f7..b51a0dafc7861eb31d21524ec067d7c529a664b8:/print-pptp.c diff --git a/print-pptp.c b/print-pptp.c index 4f3f8bad..8e1b3038 100644 --- a/print-pptp.c +++ b/print-pptp.c @@ -391,7 +391,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 +513,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 +542,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 +559,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 +639,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 +675,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 +736,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 +778,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;