tcpdump: update to 4.99.5
authorIvan Pavlov <AuthorReflex@gmail.com>
Mon, 16 Sep 2024 04:49:40 +0000 (07:49 +0300)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Sep 2024 15:53:13 +0000 (17:53 +0200)
Changes: https://git.tcpdump.org/tcpdump/blob/4a789712f187e3ac7b2c0044c3a3f8c71b83646e:/CHANGES

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16402
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/network/utils/tcpdump/Makefile
package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch
package/network/utils/tcpdump/patches/100-tcpdump_mini.patch

index d2e933a1a1a4e11e8a2206d3b14c8dfbd0f9a928..bb428881d1be79648594d8cf2fd03fde93c64c3c 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tcpdump
-PKG_VERSION:=4.99.4
+PKG_VERSION:=4.99.5
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.tcpdump.org/release/
-PKG_HASH:=0232231bb2f29d6bf2426e70a08a7e0c63a0d59a9b44863b7f5e2357a6e49fea
+PKG_HASH:=8c75856e00addeeadf70dad67c9ff3dd368536b2b8563abf6854d7c764cd3adb
 
 PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 PKG_LICENSE:=BSD-3-Clause
index 1988587029b65ab8b39bc86ebcb831c7bbed8bdf..948e3b5f569b6c81be74a3e34a276104f71a3b5c 100644 (file)
@@ -1,35 +1,31 @@
 --- a/configure
 +++ b/configure
-@@ -6568,97 +6568,6 @@ fi
+@@ -7346,97 +7346,6 @@ esac
+ fi
  
  
 -#
 -# Check for special debugging functions
 -#
--for ac_func in pcap_set_parser_debug
--do :
--  ac_fn_c_check_func "$LINENO" "pcap_set_parser_debug" "ac_cv_func_pcap_set_parser_debug"
--if test "x$ac_cv_func_pcap_set_parser_debug" = xyes; then :
--  cat >>confdefs.h <<_ACEOF
--#define HAVE_PCAP_SET_PARSER_DEBUG 1
--_ACEOF
+-ac_fn_c_check_func "$LINENO" "pcap_set_parser_debug" "ac_cv_func_pcap_set_parser_debug"
+-if test "x$ac_cv_func_pcap_set_parser_debug" = xyes
+-then :
+-  printf "%s\n" "#define HAVE_PCAP_SET_PARSER_DEBUG 1" >>confdefs.h
 -
 -fi
--done
 -
 -if test "$ac_cv_func_pcap_set_parser_debug" = "no" ; then
 -      #
 -      # OK, we don't have pcap_set_parser_debug() to set the libpcap
 -      # filter expression parser debug flag; can we directly set the
 -      # flag?
--      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pcap_debug is defined by libpcap" >&5
--$as_echo_n "checking whether pcap_debug is defined by libpcap... " >&6; }
+-      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pcap_debug is defined by libpcap" >&5
+-printf %s "checking whether pcap_debug is defined by libpcap... " >&6; }
 -      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 -/* end confdefs.h.  */
 -
 -int
--main ()
+-main (void)
 -{
 -
 -              extern int pcap_debug;
 -  ;
 -  return 0;
 -}
+-
 -_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
+-if ac_fn_c_try_link "$LINENO"
+-then :
 -  ac_lbl_cv_pcap_debug_defined=yes
--else
+-else $as_nop
 -  ac_lbl_cv_pcap_debug_defined=no
 -fi
--rm -f core conftest.err conftest.$ac_objext \
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
 -    conftest$ac_exeext conftest.$ac_ext
 -      if test "$ac_lbl_cv_pcap_debug_defined" = yes ; then
--              { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }
+-              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-printf "%s\n" "yes" >&6; }
 -
--$as_echo "#define HAVE_PCAP_DEBUG 1" >>confdefs.h
+-printf "%s\n" "#define HAVE_PCAP_DEBUG 1" >>confdefs.h
 -
 -      else
--              { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
+-              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-printf "%s\n" "no" >&6; }
 -              #
 -              # OK, what about "yydebug"?
 -              #
--              { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yydebug is defined by libpcap" >&5
--$as_echo_n "checking whether yydebug is defined by libpcap... " >&6; }
+-              { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether yydebug is defined by libpcap" >&5
+-printf %s "checking whether yydebug is defined by libpcap... " >&6; }
 -              cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 -/* end confdefs.h.  */
 -
 -int
--main ()
+-main (void)
 -{
 -
 -                      extern int yydebug;
 -  ;
 -  return 0;
 -}
+-
 -_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
+-if ac_fn_c_try_link "$LINENO"
+-then :
 -  ac_lbl_cv_yydebug_defined=yes
--else
+-else $as_nop
 -  ac_lbl_cv_yydebug_defined=no
 -fi
--rm -f core conftest.err conftest.$ac_objext \
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
 -    conftest$ac_exeext conftest.$ac_ext
 -              if test "$ac_lbl_cv_yydebug_defined" = yes ; then
--                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
--$as_echo "yes" >&6; }
+-                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+-printf "%s\n" "yes" >&6; }
 -
--$as_echo "#define HAVE_YYDEBUG 1" >>confdefs.h
+-printf "%s\n" "#define HAVE_YYDEBUG 1" >>confdefs.h
 -
 -              else
--                      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
--$as_echo "no" >&6; }
+-                      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+-printf "%s\n" "no" >&6; }
 -              fi
 -      fi
 -fi
- for ac_func in pcap_set_optimizer_debug
- do :
-   ac_fn_c_check_func "$LINENO" "pcap_set_optimizer_debug" "ac_cv_func_pcap_set_optimizer_debug"
+ ac_fn_c_check_func "$LINENO" "pcap_set_optimizer_debug" "ac_cv_func_pcap_set_optimizer_debug"
+ if test "x$ac_cv_func_pcap_set_optimizer_debug" = xyes
+ then :
index 8a014cabf0b4ec6943f7a8f277edd7e3782697c0..eeaa17c8b2fbbae389faac8673e1d88fb6db9499 100644 (file)
@@ -98,7 +98,7 @@
  
 --- a/addrtoname.c
 +++ b/addrtoname.c
-@@ -680,8 +680,10 @@ linkaddr_string(netdissect_options *ndo,
+@@ -677,8 +677,10 @@ linkaddr_string(netdissect_options *ndo,
        if (type == LINKADDR_ETHER && len == MAC_ADDR_LEN)
                return (etheraddr_string(ndo, ep));
  
  
        tp = lookup_bytestring(ndo, ep, len);
        if (tp->bs_name)
-@@ -1260,6 +1262,7 @@ init_addrtoname(netdissect_options *ndo,
+@@ -1257,6 +1259,7 @@ init_addrtoname(netdissect_options *ndo,
        init_ipxsaparray(ndo);
  }
  
  const char *
  dnaddr_string(netdissect_options *ndo, u_short dnaddr)
  {
-@@ -1276,6 +1279,7 @@ dnaddr_string(netdissect_options *ndo, u
+@@ -1273,6 +1276,7 @@ dnaddr_string(netdissect_options *ndo, u
  
        return(tp->name);
  }
  struct hnamemem *
 --- a/print-ether.c
 +++ b/print-ether.c
-@@ -545,6 +545,7 @@ ethertype_print(netdissect_options *ndo,
+@@ -543,6 +543,7 @@ ethertype_print(netdissect_options *ndo,
                arp_print(ndo, p, length, caplen);
                return (1);
  
        case ETHERTYPE_DN:
                decnet_print(ndo, p, length, caplen);
                return (1);
-@@ -575,6 +576,7 @@ ethertype_print(netdissect_options *ndo,
+@@ -573,6 +574,7 @@ ethertype_print(netdissect_options *ndo,
                ND_TCHECK_LEN(p, 1);
                isoclns_print(ndo, p + 1, length - 1);
                return(1);
  
        case ETHERTYPE_PPPOED:
        case ETHERTYPE_PPPOES:
-@@ -587,9 +589,11 @@ ethertype_print(netdissect_options *ndo,
+@@ -585,9 +587,11 @@ ethertype_print(netdissect_options *ndo,
                eapol_print(ndo, p);
                return (1);
  
  
        case ETHERTYPE_PPP:
                if (length) {
-@@ -598,6 +602,7 @@ ethertype_print(netdissect_options *ndo,
+@@ -596,6 +600,7 @@ ethertype_print(netdissect_options *ndo,
                }
                return (1);
  
        case ETHERTYPE_MPCP:
                mpcp_print(ndo, p, length);
                return (1);
-@@ -610,19 +615,23 @@ ethertype_print(netdissect_options *ndo,
+@@ -608,19 +613,23 @@ ethertype_print(netdissect_options *ndo,
        case ETHERTYPE_CFM_OLD:
                cfm_print(ndo, p, length);
                return (1);
        case ETHERTYPE_MPLS:
        case ETHERTYPE_MPLS_MULTI:
                mpls_print(ndo, p, length);
-@@ -652,6 +661,7 @@ ethertype_print(netdissect_options *ndo,
+@@ -650,6 +659,7 @@ ethertype_print(netdissect_options *ndo,
        case ETHERTYPE_PTP:
                ptp_print(ndo, p, length);
                return (1);
        case ETHERTYPE_SCA:
 --- a/print-gre.c
 +++ b/print-gre.c
-@@ -207,6 +207,7 @@ gre_print_0(netdissect_options *ndo, con
+@@ -205,6 +205,7 @@ gre_print_0(netdissect_options *ndo, con
        case ETHERTYPE_IPV6:
                ip6_print(ndo, bp, len);
                break;
        case ETHERTYPE_MPLS:
                mpls_print(ndo, bp, len);
                break;
-@@ -219,6 +220,7 @@ gre_print_0(netdissect_options *ndo, con
+@@ -217,6 +218,7 @@ gre_print_0(netdissect_options *ndo, con
        case ETHERTYPE_GRE_ISO:
                isoclns_print(ndo, bp, len);
                break;
                break;
 --- a/print-icmp6.c
 +++ b/print-icmp6.c
-@@ -1371,7 +1371,7 @@ get_upperlayer(netdissect_options *ndo,
+@@ -1369,7 +1369,7 @@ get_upperlayer(netdissect_options *ndo,
                        nh = GET_U_1(fragh->ip6f_nxt);
                        hlen = sizeof(struct ip6_frag);
                        break;
                case IPPROTO_AH:
                        ah = (const struct ah *)bp;
                        if (!ND_TTEST_1(ah->ah_len))
-@@ -1379,7 +1379,7 @@ get_upperlayer(netdissect_options *ndo,
+@@ -1377,7 +1377,7 @@ get_upperlayer(netdissect_options *ndo,
                        nh = GET_U_1(ah->ah_nxt);
                        hlen = (GET_U_1(ah->ah_len) + 2) << 2;
                        break;
                        return(NULL);
 --- a/print-igmp.c
 +++ b/print-igmp.c
-@@ -269,6 +269,7 @@ igmp_print(netdissect_options *ndo,
+@@ -267,6 +267,7 @@ igmp_print(netdissect_options *ndo,
      case 0x17:
          ND_PRINT("igmp leave %s", GET_IPADDR_STRING(bp + 4));
          break;
      case 0x13:
          ND_PRINT("igmp dvmrp");
          if (len < 8)
-@@ -280,6 +281,7 @@ igmp_print(netdissect_options *ndo,
+@@ -278,6 +279,7 @@ igmp_print(netdissect_options *ndo,
          ND_PRINT("igmp pimv1");
          pimv1_print(ndo, bp, len);
          break;
          break;
 --- a/print-ip-demux.c
 +++ b/print-ip-demux.c
-@@ -48,6 +48,7 @@ ip_demux_print(netdissect_options *ndo,
+@@ -46,6 +46,7 @@ ip_demux_print(netdissect_options *ndo,
  again:
        switch (nh) {
  
        case IPPROTO_AH:
                if (!ND_TTEST_1(bp)) {
                        ndo->ndo_protocol = "ah";
-@@ -85,7 +86,9 @@ again:
+@@ -83,7 +84,9 @@ again:
                 */
                break;
        }
        case IPPROTO_SCTP:
                sctp_print(ndo, bp, iph, length);
                break;
-@@ -93,7 +96,7 @@ again:
+@@ -91,7 +94,7 @@ again:
        case IPPROTO_DCCP:
                dccp_print(ndo, bp, iph, length);
                break;
        case IPPROTO_TCP:
                tcp_print(ndo, bp, length, iph, fragmented);
                break;
-@@ -122,6 +125,7 @@ again:
+@@ -120,6 +123,7 @@ again:
                }
                break;
  
        case IPPROTO_PIGP:
                /*
                 * XXX - the current IANA protocol number assignments
-@@ -142,14 +146,17 @@ again:
+@@ -140,14 +144,17 @@ again:
        case IPPROTO_EIGRP:
                eigrp_print(ndo, bp, length);
                break;
  
        case IPPROTO_OSPF:
                if (ver == 6)
-@@ -186,6 +193,7 @@ again:
+@@ -184,6 +191,7 @@ again:
                gre_print(ndo, bp, length);
                break;
  
        case IPPROTO_MOBILE:
                mobile_print(ndo, bp, length);
                break;
-@@ -205,6 +213,7 @@ again:
+@@ -203,6 +211,7 @@ again:
        case IPPROTO_PGM:
                pgm_print(ndo, bp, length, iph);
                break;
                if (ver == 6)
 --- a/print-ip6.c
 +++ b/print-ip6.c
-@@ -135,10 +135,11 @@ ip6_finddst(netdissect_options *ndo, nd_
+@@ -133,10 +133,11 @@ ip6_finddst(netdissect_options *ndo, nd_
                         * Only one routing header to a customer.
                         */
                        goto done;
                default:
                        /*
                         * AH and ESP are, in the RFCs that describe them,
-@@ -375,6 +376,7 @@ ip6_print(netdissect_options *ndo, const
+@@ -371,6 +372,7 @@ ip6_print(netdissect_options *ndo, const
                        nh = GET_U_1(cp);
                        break;
  
                case IPPROTO_FRAGMENT:
                        advance = frag6_print(ndo, cp, (const u_char *)ip6);
                        if (advance < 0 || ndo->ndo_snapend <= cp + advance) {
-@@ -405,7 +407,7 @@ ip6_print(netdissect_options *ndo, const
+@@ -401,7 +403,7 @@ ip6_print(netdissect_options *ndo, const
                        nh = GET_U_1(cp);
                        nd_pop_packet_info(ndo);
                        return;
                        advance = rt6_print(ndo, cp, (const u_char *)ip6);
 --- a/print-llc.c
 +++ b/print-llc.c
-@@ -207,6 +207,7 @@ llc_print(netdissect_options *ndo, const
+@@ -205,6 +205,7 @@ llc_print(netdissect_options *ndo, const
                hdrlen = 4;     /* DSAP, SSAP, 2-byte control field */
        }
  
        if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) {
                /*
                 * This is an Ethernet_802.3 IPX frame; it has an
-@@ -229,6 +230,7 @@ llc_print(netdissect_options *ndo, const
+@@ -227,6 +228,7 @@ llc_print(netdissect_options *ndo, const
              ipx_print(ndo, p, length);
              return (0);               /* no LLC header */
        }
  
        dsap = dsap_field & ~LLC_IG;
        ssap = ssap_field & ~LLC_GSAP;
-@@ -292,6 +294,7 @@ llc_print(netdissect_options *ndo, const
+@@ -290,6 +292,7 @@ llc_print(netdissect_options *ndo, const
                return (hdrlen);
        }
  
        if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX &&
            control == LLC_UI) {
                /*
-@@ -305,6 +308,7 @@ llc_print(netdissect_options *ndo, const
+@@ -303,6 +306,7 @@ llc_print(netdissect_options *ndo, const
                ipx_print(ndo, p, length);
                return (hdrlen);
        }
  
  #ifdef ENABLE_SMB
        if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI
-@@ -323,12 +327,13 @@ llc_print(netdissect_options *ndo, const
+@@ -321,12 +325,13 @@ llc_print(netdissect_options *ndo, const
                return (hdrlen);
        }
  #endif
        if (!ndo->ndo_eflag) {
                if (ssap == dsap) {
                        if (src == NULL || dst == NULL)
-@@ -484,6 +489,7 @@ snap_print(netdissect_options *ndo, cons
+@@ -482,6 +487,7 @@ snap_print(netdissect_options *ndo, cons
  
        case OUI_CISCO:
                  switch (et) {
                  case PID_CISCO_CDP:
                          cdp_print(ndo, p, length);
                          return (1);
-@@ -496,6 +502,7 @@ snap_print(netdissect_options *ndo, cons
+@@ -494,6 +500,7 @@ snap_print(netdissect_options *ndo, cons
                  case PID_CISCO_VTP:
                          vtp_print(ndo, p, length);
                          return (1);
                  case PID_CISCO_PVST:
                  case PID_CISCO_VLANBRIDGE:
                          stp_print(ndo, p, length);
-@@ -508,6 +515,7 @@ snap_print(netdissect_options *ndo, cons
+@@ -506,6 +513,7 @@ snap_print(netdissect_options *ndo, cons
        case OUI_RFC2684:
                switch (et) {
  
                case PID_RFC2684_ETH_FCS:
                case PID_RFC2684_ETH_NOFCS:
                        /*
-@@ -569,6 +577,7 @@ snap_print(netdissect_options *ndo, cons
+@@ -567,6 +575,7 @@ snap_print(netdissect_options *ndo, cons
                         */
                        fddi_print(ndo, p, length, caplen);
                        return (1);
                        stp_print(ndo, p, length);
 --- a/print-null.c
 +++ b/print-null.c
-@@ -116,6 +116,7 @@ null_if_print(netdissect_options *ndo, c
+@@ -114,6 +114,7 @@ null_if_print(netdissect_options *ndo, c
                ip6_print(ndo, p, length);
                break;
  
        case BSD_AFNUM_ISO:
                isoclns_print(ndo, p, length);
                break;
-@@ -127,6 +128,7 @@ null_if_print(netdissect_options *ndo, c
+@@ -125,6 +126,7 @@ null_if_print(netdissect_options *ndo, c
        case BSD_AFNUM_IPX:
                ipx_print(ndo, p, length);
                break;
                /* unknown AF_ value */
 --- a/print-ppp.c
 +++ b/print-ppp.c
-@@ -1355,6 +1355,7 @@ trunc:
+@@ -1354,6 +1354,7 @@ trunc:
   * The length argument is the on-the-wire length, not the captured
   * length; we can only un-escape the captured part.
   */
  ppp_hdlc(netdissect_options *ndo,
           const u_char *p, u_int length)
 @@ -1451,17 +1452,19 @@ trunc:
-       ndo->ndo_snapend = se;
+       nd_pop_packet_info(ndo);
        nd_print_trunc(ndo);
  }
 -
 +#endif
 --- a/print-sll.c
 +++ b/print-sll.c
-@@ -465,12 +465,14 @@ recurse:
+@@ -463,12 +463,14 @@ recurse:
                 */
                switch (ether_type) {
  
                        /*
 --- a/print-tcp.c
 +++ b/print-tcp.c
-@@ -614,6 +614,7 @@ tcp_print(netdissect_options *ndo,
+@@ -612,6 +612,7 @@ tcp_print(netdissect_options *ndo,
                                  ND_PRINT(" %u", utoval);
                                  break;
  
                          case TCPOPT_MPTCP:
                              {
                                  const u_char *snapend_save;
-@@ -637,7 +638,7 @@ tcp_print(netdissect_options *ndo,
+@@ -635,7 +636,7 @@ tcp_print(netdissect_options *ndo,
                                          goto bad;
                                  break;
                              }
                          case TCPOPT_FASTOPEN:
                                  datalen = len - 2;
                                  LENCHECK(datalen);
-@@ -722,6 +723,7 @@ tcp_print(netdissect_options *ndo,
+@@ -720,6 +721,7 @@ tcp_print(netdissect_options *ndo,
                  return;
          }
  
          if (ndo->ndo_packettype) {
                  switch (ndo->ndo_packettype) {
                  case PT_ZMTP1:
-@@ -737,6 +739,7 @@ tcp_print(netdissect_options *ndo,
+@@ -735,12 +737,15 @@ tcp_print(netdissect_options *ndo,
                  }
                  return;
          }
 +#endif
  
-         if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
-                 telnet_print(ndo, bp, length);
-@@ -746,24 +749,31 @@ tcp_print(netdissect_options *ndo,
-         } else if (IS_SRC_OR_DST_PORT(WHOIS_PORT)) {
+         if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
                  ND_PRINT(": ");
-                 whois_print(ndo, bp, length);
--        } else if (IS_SRC_OR_DST_PORT(BGP_PORT))
-+        }
-+#ifndef TCPDUMP_MINI
-+        else if (IS_SRC_OR_DST_PORT(BGP_PORT))
-                 bgp_print(ndo, bp, length);
-+#endif
-         else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
-                 pptp_print(ndo, bp);
+                 ftp_print(ndo, bp, length);
 +#ifndef TCPDUMP_MINI
-         else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
-                 resp_print(ndo, bp, length);
-         else if (IS_SRC_OR_DST_PORT(SSH_PORT))
+         } else if (IS_SRC_OR_DST_PORT(SSH_PORT)) {
                  ssh_print(ndo, bp, length);
 +#endif
- #ifdef ENABLE_SMB
-         else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT))
+         } else if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
+                 telnet_print(ndo, bp, length);
+         } else if (IS_SRC_OR_DST_PORT(SMTP_PORT)) {
+@@ -759,10 +764,12 @@ tcp_print(netdissect_options *ndo,
+         } else if (IS_SRC_OR_DST_PORT(NETBIOS_SSN_PORT)) {
                  nbt_tcp_print(ndo, bp, length);
-         else if (IS_SRC_OR_DST_PORT(SMB_PORT))
-                 smb_tcp_print(ndo, bp, length);
  #endif
 +#ifndef TCPDUMP_MINI
-         else if (IS_SRC_OR_DST_PORT(BEEP_PORT))
-                 beep_print(ndo, bp, length);
-         else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA))
-                 openflow_print(ndo, bp, length);
+         } else if (IS_SRC_OR_DST_PORT(BGP_PORT)) {
+-                bgp_print(ndo, bp, length);
++                 bgp_print(ndo, bp, length);
+         } else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
+                 rpki_rtr_print(ndo, bp, length);
 +#endif
-         else if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
+ #ifdef ENABLE_SMB
+         } else if (IS_SRC_OR_DST_PORT(SMB_PORT)) {
+                 smb_tcp_print(ndo, bp, length);
+@@ -770,18 +777,22 @@ tcp_print(netdissect_options *ndo,
+         } else if (IS_SRC_OR_DST_PORT(RTSP_PORT)) {
                  ND_PRINT(": ");
-                 ftp_print(ndo, bp, length);
-@@ -776,12 +786,14 @@ tcp_print(netdissect_options *ndo,
-         } else if (IS_SRC_OR_DST_PORT(NAMESERVER_PORT)) {
-                 /* over_tcp: TRUE, is_mdns: FALSE */
-                 domain_print(ndo, bp, length, TRUE, FALSE);
+                 rtsp_print(ndo, bp, length);
 +#ifndef TCPDUMP_MINI
          } else if (IS_SRC_OR_DST_PORT(MSDP_PORT)) {
                  msdp_print(ndo, bp, length);
-         } else if (IS_SRC_OR_DST_PORT(RPKI_RTR_PORT)) {
-                 rpki_rtr_print(ndo, bp, length);
          } else if (IS_SRC_OR_DST_PORT(LDP_PORT)) {
                  ldp_print(ndo, bp, length);
+-        } else if (IS_SRC_OR_DST_PORT(PPTP_PORT))
++#endif
++        } else if (IS_SRC_OR_DST_PORT(PPTP_PORT)) {
+                 pptp_print(ndo, bp);
+-        else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
++#ifndef TCPDUMP_MINI
++        } else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
+                 resp_print(ndo, bp, length);
+         else if (IS_SRC_OR_DST_PORT(BEEP_PORT))
+                 beep_print(ndo, bp, length);
+         else if (IS_SRC_OR_DST_PORT(OPENFLOW_PORT_OLD) || IS_SRC_OR_DST_PORT(OPENFLOW_PORT_IANA)) {
+                 openflow_print(ndo, bp, length);
 +#endif
-         } else if ((IS_SRC_OR_DST_PORT(NFS_PORT)) &&
-                  length >= 4 && ND_TTEST_4(bp)) {
-                 /*
+         } else if (IS_SRC_OR_DST_PORT(HTTP_PORT_ALT)) {
+                 ND_PRINT(": ");
+                 http_print(ndo, bp, length);
 --- a/print-udp.c
 +++ b/print-udp.c
-@@ -435,10 +435,12 @@ udp_print(netdissect_options *ndo, const
+@@ -433,10 +433,12 @@ udp_print(netdissect_options *ndo, const
                        vat_print(ndo, cp, length);
                        break;
  
  
                case PT_RPC:
                        rp = (const struct sunrpc_msg *)cp;
-@@ -467,10 +469,12 @@ udp_print(netdissect_options *ndo, const
+@@ -465,10 +467,12 @@ udp_print(netdissect_options *ndo, const
                        snmp_print(ndo, cp, length);
                        break;
  
  
                case PT_TFTP:
                        udpipaddr_print(ndo, ip, sport, dport);
-@@ -488,6 +492,7 @@ udp_print(netdissect_options *ndo, const
+@@ -485,6 +489,7 @@ udp_print(netdissect_options *ndo, const
                        radius_print(ndo, cp, length);
                        break;
  
                case PT_VXLAN:
                        udpipaddr_print(ndo, ip, sport, dport);
                        vxlan_print(ndo, cp, length);
-@@ -510,6 +515,7 @@ udp_print(netdissect_options *ndo, const
+@@ -507,6 +512,7 @@ udp_print(netdissect_options *ndo, const
                        udpipaddr_print(ndo, ip, sport, dport);
                        someip_print(ndo, cp, length);
                        break;
                case PT_DOMAIN:
                        udpipaddr_print(ndo, ip, sport, dport);
                        /* over_tcp: FALSE, is_mdns: FALSE */
-@@ -596,29 +602,37 @@ udp_print(netdissect_options *ndo, const
-               else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
-                       /* over_tcp: FALSE, is_mdns: TRUE */
-                       domain_print(ndo, cp, length, FALSE, TRUE);
-+#ifndef TCPDUMP_MINI
-               else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
-                       timed_print(ndo, (const u_char *)cp);
-+#endif
+@@ -594,8 +600,12 @@ udp_print(netdissect_options *ndo, const
+                       bootp_print(ndo, cp, length);
                else if (IS_SRC_OR_DST_PORT(TFTP_PORT))
                        tftp_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) || IS_SRC_OR_DST_PORT(BOOTPS_PORT))
-                       bootp_print(ndo, cp, length);
++#ifndef TCPDUMP_MINI
++#ifdef ENABLE_SMB
+               else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT))
+                       krb_print(ndo, (const u_char *)cp);
++#endif
++#endif
+               else if (IS_SRC_OR_DST_PORT(NTP_PORT))
+                       ntp_print(ndo, cp, length);
+ #ifdef ENABLE_SMB
+@@ -607,6 +617,7 @@ udp_print(netdissect_options *ndo, const
+               else if (IS_SRC_OR_DST_PORT(SNMP_PORT) ||
+                        IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
+                       snmp_print(ndo, cp, length);
++#ifndef TCPDUMP_MINI
+               else if (IS_SRC_OR_DST_PORT(PTP_EVENT_PORT) ||
+                        IS_SRC_OR_DST_PORT(PTP_GENERAL_PORT))
+                       ptp_print(ndo, cp, length);
+@@ -614,38 +625,50 @@ udp_print(netdissect_options *ndo, const
+                       cisco_autorp_print(ndo, cp, length);
+               else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
+                        isakmp_print(ndo, cp, length, bp2);
++#endif
+               else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
+                       syslog_print(ndo, cp, length);
 +#ifndef TCPDUMP_MINI
                else if (IS_SRC_OR_DST_PORT(RIP_PORT))
                        rip_print(ndo, cp, length);
+               else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
+                       ripng_print(ndo, cp, length);
+               else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
+                       timed_print(ndo, (const u_char *)cp);
 +#endif
+               else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) ||
+                        IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
+                       dhcp6_print(ndo, cp, length);
++#ifndef TCPDUMP_MINI
+               else if (IS_SRC_OR_DST_PORT(LDP_PORT))
+                       ldp_print(ndo, cp, length);
                else if (IS_SRC_OR_DST_PORT(AODV_PORT))
-                       aodv_print(ndo, cp, length,
-                           ip6 != NULL);
+                       aodv_print(ndo, cp, length, IP_V(ip) == 6);
++#endif
+               else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
+                       olsr_print(ndo, cp, length, IP_V(ip) == 6);
 +#ifndef TCPDUMP_MINI
-               else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
-                        isakmp_print(ndo, cp, length, bp2);
+               else if (IS_SRC_OR_DST_PORT(LMP_PORT))
+                       lmp_print(ndo, cp, length);
++#ifdef ENABLE_SMB
+               else if (IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
+                       krb_print(ndo, (const u_char *)cp);
++#endif
+               else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
+                       lwres_print(ndo, cp, length);
+               else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
+                       /* over_tcp: FALSE, is_mdns: TRUE */
+                       domain_print(ndo, cp, length, FALSE, TRUE);
++#ifdef ENABLE_SMB
                else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_NATT))
                         isakmp_rfc3948_print(ndo, cp, length, bp2, IP_V(ip), fragmented, ttl_hl);
                else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER1) || IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER2))
                        isakmp_print(ndo, cp, length, bp2);
 +#endif
-               else if (IS_SRC_OR_DST_PORT(SNMP_PORT) || IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
-                       snmp_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(NTP_PORT))
-                       ntp_print(ndo, cp, length);
-+#ifndef TCPDUMP_MINI
-               else if (IS_SRC_OR_DST_PORT(KERBEROS_PORT) || IS_SRC_OR_DST_PORT(KERBEROS_SEC_PORT))
-                       krb_print(ndo, (const u_char *)cp);
 +#endif
                else if (IS_SRC_OR_DST_PORT(L2TP_PORT))
                        l2tp_print(ndo, cp, length);
- #ifdef ENABLE_SMB
-@@ -629,6 +643,7 @@ udp_print(netdissect_options *ndo, const
- #endif
++#ifndef TCPDUMP_MINI
                else if (dport == VAT_PORT)
                        vat_print(ndo, cp, length);
-+#ifndef TCPDUMP_MINI
                else if (IS_SRC_OR_DST_PORT(ZEPHYR_SRV_PORT) || IS_SRC_OR_DST_PORT(ZEPHYR_CLT_PORT))
-                       zephyr_print(ndo, cp, length);
-               /*
-@@ -641,8 +656,11 @@ udp_print(netdissect_options *ndo, const
-                                (const u_char *) ip);
-               else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
-                       ripng_print(ndo, cp, length);
-+#endif
-+
-               else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) || IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
-                       dhcp6_print(ndo, cp, length);
-+#ifndef TCPDUMP_MINI
-               else if (IS_SRC_OR_DST_PORT(AHCP_PORT))
-                       ahcp_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(BABEL_PORT) || IS_SRC_OR_DST_PORT(BABEL_PORT_OLD))
-@@ -656,6 +674,7 @@ udp_print(netdissect_options *ndo, const
+@@ -669,6 +692,7 @@ udp_print(netdissect_options *ndo, const
+                */
+               else if (dport == WB_PORT)
                        wb_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT))
-                       cisco_autorp_print(ndo, cp, length);
 +#endif
                else if (IS_SRC_OR_DST_PORT(RADIUS_PORT) ||
                         IS_SRC_OR_DST_PORT(RADIUS_NEW_PORT) ||
                         IS_SRC_OR_DST_PORT(RADIUS_ACCOUNTING_PORT) ||
-@@ -663,15 +682,18 @@ udp_print(netdissect_options *ndo, const
+@@ -676,6 +700,7 @@ udp_print(netdissect_options *ndo, const
                         IS_SRC_OR_DST_PORT(RADIUS_CISCO_COA_PORT) ||
                         IS_SRC_OR_DST_PORT(RADIUS_COA_PORT) )
                        radius_print(ndo, cp, length);
 +#ifndef TCPDUMP_MINI
                else if (dport == HSRP_PORT)
                        hsrp_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
-                       lwres_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(LDP_PORT))
-                       ldp_print(ndo, cp, length);
-+#endif
-               else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
-                       olsr_print(ndo, cp, length,
-                                       (IP_V(ip) == 6) ? 1 : 0);
-+#ifndef TCPDUMP_MINI
                else if (IS_SRC_OR_DST_PORT(MPLS_LSP_PING_PORT))
-                       lspping_print(ndo, cp, length);
-               else if (sport == BCM_LI_PORT)
-@@ -693,10 +715,12 @@ udp_print(netdissect_options *ndo, const
+@@ -695,8 +720,10 @@ udp_print(netdissect_options *ndo, const
                        lwapp_control_print(ndo, cp, length, 0);
                else if (IS_SRC_OR_DST_PORT(LWAPP_DATA_PORT))
                        lwapp_data_print(ndo, cp, length);
 +#endif
                else if (IS_SRC_OR_DST_PORT(SIP_PORT))
                        sip_print(ndo, cp, length);
-               else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
-                       syslog_print(ndo, cp, length);
 +#ifndef TCPDUMP_MINI
                else if (IS_SRC_OR_DST_PORT(OTV_PORT))
                        otv_print(ndo, cp, length);
                else if (IS_SRC_OR_DST_PORT(VXLAN_PORT))
-@@ -722,6 +746,7 @@ udp_print(netdissect_options *ndo, const
-                       ptp_print(ndo, cp, length);
-               } else if (IS_SRC_OR_DST_PORT(SOMEIP_PORT))
+@@ -721,6 +748,7 @@ udp_print(netdissect_options *ndo, const
                        someip_print(ndo, cp, length);
+               else if (sport == BCM_LI_PORT)
+                       bcm_li_print(ndo, cp, length);
 +#endif
                else {
                        if (ulen > length && !fragmented)
                                ND_PRINT("UDP, bad length %u > %u",
 --- a/print.c
 +++ b/print.c
-@@ -48,6 +48,7 @@ struct printer {
+@@ -46,6 +46,7 @@ struct printer {
  };
  
  static const struct printer printers[] = {
  #ifdef DLT_APPLE_IP_OVER_IEEE1394
        { ap1394_if_print,      DLT_APPLE_IP_OVER_IEEE1394 },
  #endif
-@@ -86,7 +87,9 @@ static const struct printer printers[] =
+@@ -84,7 +85,9 @@ static const struct printer printers[] =
  #ifdef DLT_ENC
        { enc_if_print,         DLT_ENC },
  #endif
        { fddi_if_print,        DLT_FDDI },
  #ifdef DLT_FR
        { fr_if_print,          DLT_FR },
-@@ -94,6 +97,7 @@ static const struct printer printers[] =
+@@ -92,6 +95,7 @@ static const struct printer printers[] =
  #ifdef DLT_FRELAY
        { fr_if_print,          DLT_FRELAY },
  #endif
  #ifdef DLT_IEEE802_11
        { ieee802_11_if_print,  DLT_IEEE802_11},
  #endif
-@@ -103,6 +107,7 @@ static const struct printer printers[] =
+@@ -101,6 +105,7 @@ static const struct printer printers[] =
  #ifdef DLT_IEEE802_11_RADIO
        { ieee802_11_radio_if_print,    DLT_IEEE802_11_RADIO },
  #endif
  #ifdef DLT_IEEE802_15_4
        { ieee802_15_4_if_print, DLT_IEEE802_15_4 },
  #endif
-@@ -115,9 +120,11 @@ static const struct printer printers[] =
+@@ -113,9 +118,11 @@ static const struct printer printers[] =
  #ifdef DLT_IP_OVER_FC
        { ipfc_if_print,        DLT_IP_OVER_FC },
  #endif
  #ifdef DLT_IPOIB
        { ipoib_if_print,       DLT_IPOIB },
  #endif
-@@ -172,19 +179,23 @@ static const struct printer printers[] =
+@@ -170,19 +177,23 @@ static const struct printer printers[] =
  #ifdef DLT_MFR
        { mfr_if_print,         DLT_MFR },
  #endif
  #ifdef DLT_PFLOG
        { pflog_if_print,       DLT_PFLOG },
  #endif
-@@ -200,6 +211,7 @@ static const struct printer printers[] =
+@@ -198,6 +209,7 @@ static const struct printer printers[] =
  #ifdef DLT_PPP_SERIAL
        { ppp_hdlc_if_print,    DLT_PPP_SERIAL },
  #endif
        { ppp_if_print,         DLT_PPP },
  #ifdef DLT_PPP_PPPD
        { ppp_if_print,         DLT_PPP_PPPD },
-@@ -211,6 +223,7 @@ static const struct printer printers[] =
+@@ -209,6 +221,7 @@ static const struct printer printers[] =
        { prism_if_print,       DLT_PRISM_HEADER },
  #endif
        { raw_if_print,         DLT_RAW },
  #ifdef DLT_IPV4
        { raw_if_print,         DLT_IPV4 },
  #endif
-@@ -243,6 +256,7 @@ static const struct printer printers[] =
+@@ -241,6 +254,7 @@ static const struct printer printers[] =
  #ifdef DLT_VSOCK
        { vsock_if_print,       DLT_VSOCK },
  #endif