]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-udp.c
Makefile.in: don't remove configure and config.h.in in make distclean.
[tcpdump] / print-udp.c
index 4fb0a59170e95e3b8040163d29c46a1619b82732..aa132678c6371d5676e2394aa7234d9ffbf1c77a 100644 (file)
@@ -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",