X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/cfa9ab5f80dd9a1024e1a765bc0d24c57652b6bc..7be4868a41f8c511764584d7daffc6946b6e3ec8:/print-udp.c?ds=sidebyside diff --git a/print-udp.c b/print-udp.c index fc0710d6..aa132678 100644 --- a/print-udp.c +++ b/print-udp.c @@ -369,7 +369,7 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length, if (ndo->ndo_packettype != PT_RPC) udpipaddr_print(ndo, ip, sport, dport); - ND_LCHECKMSG_ZU(length, sizeof(struct udphdr), "undersized-udp"); + ND_ICHECKMSG_ZU("undersized-udp", length, <, sizeof(struct udphdr)); ulen = GET_BE_U_2(up->uh_ulen); udp_sum = GET_BE_U_2(up->uh_sum); /* @@ -379,7 +379,8 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length, */ if (ulen == 0 && length > 65535) ulen = length; - ND_LCHECKMSG_ZU(ulen, sizeof(struct udphdr), "undersized-udplength"); + ND_ICHECKMSG_ZU("undersized-udplength", ulen, <, + sizeof(struct udphdr)); ulen -= sizeof(struct udphdr); length -= sizeof(struct udphdr); if (ulen < length) @@ -463,6 +464,9 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length, /* over_tcp: FALSE, is_mdns: FALSE */ domain_print(ndo, cp, length, FALSE, FALSE); break; + case PT_QUIC: + quic_print(ndo, cp, length); + break; } return; } @@ -624,8 +628,11 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length, else if (dport == BFD_CONTROL_PORT || dport == BFD_MULTIHOP_PORT || dport == BFD_LAG_PORT || + dport == SBFD_PORT || dport == BFD_ECHO_PORT ) bfd_print(ndo, cp, length, dport); + else if (sport == SBFD_PORT) + bfd_print(ndo, cp, length, sport); else if (IS_SRC_OR_DST_PORT(LMP_PORT)) lmp_print(ndo, cp, length); else if (IS_SRC_OR_DST_PORT(VQP_PORT)) @@ -666,6 +673,9 @@ udp_print(netdissect_options *ndo, const u_char *bp, u_int length, ptp_print(ndo, cp, length); } else if (IS_SRC_OR_DST_PORT(SOMEIP_PORT)) someip_print(ndo, cp, length); + else if (IS_SRC_OR_DST_PORT(HTTPS_PORT) && + quic_detect(ndo, cp, length)) + quic_print(ndo, cp, length); else { if (ulen > length && !fragmented) ND_PRINT("UDP, bad length %u > %u",