X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/6c002d33c0be53140cf998d24413746979e14125..refs/pull/1034/head:/print-udp.c?ds=sidebyside diff --git a/print-udp.c b/print-udp.c index 4fb0a591..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; } @@ -669,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",