From 6b9e008ab77ca8703d290b761df706202e7c23f4 Mon Sep 17 00:00:00 2001 From: Ivan Pavlov Date: Mon, 16 Sep 2024 07:49:40 +0300 Subject: [PATCH] tcpdump: update to 4.99.5 Changes: https://git.tcpdump.org/tcpdump/blob/4a789712f187e3ac7b2c0044c3a3f8c71b83646e:/CHANGES Signed-off-by: Ivan Pavlov Link: https://github.com/openwrt/openwrt/pull/16402 Signed-off-by: Hauke Mehrtens --- package/network/utils/tcpdump/Makefile | 4 +- .../patches/001-remove_pcap_debug.patch | 70 ++-- .../tcpdump/patches/100-tcpdump_mini.patch | 302 +++++++++--------- 3 files changed, 188 insertions(+), 188 deletions(-) diff --git a/package/network/utils/tcpdump/Makefile b/package/network/utils/tcpdump/Makefile index d2e933a1a1a4..bb428881d1be 100644 --- a/package/network/utils/tcpdump/Makefile +++ b/package/network/utils/tcpdump/Makefile @@ -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 PKG_LICENSE:=BSD-3-Clause diff --git a/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch b/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch index 1988587029b6..948e3b5f569b 100644 --- a/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch +++ b/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch @@ -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; @@ -39,33 +35,35 @@ - ; - 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; @@ -75,26 +73,28 @@ - ; - 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 : diff --git a/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch b/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch index 8a014cabf0b4..eeaa17c8b2fb 100644 --- a/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch +++ b/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch @@ -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)); @@ -109,7 +109,7 @@ 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); } @@ -117,7 +117,7 @@ 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); } @@ -127,7 +127,7 @@ 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); @@ -135,7 +135,7 @@ 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); @@ -143,7 +143,7 @@ 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); @@ -155,7 +155,7 @@ 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); @@ -163,7 +163,7 @@ 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); @@ -187,7 +187,7 @@ 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); @@ -197,7 +197,7 @@ 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; @@ -205,7 +205,7 @@ 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; @@ -215,7 +215,7 @@ 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; @@ -224,7 +224,7 @@ 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; @@ -235,7 +235,7 @@ 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; @@ -243,7 +243,7 @@ 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; @@ -253,7 +253,7 @@ 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) { @@ -261,7 +261,7 @@ case IPPROTO_AH: if (!ND_TTEST_1(bp)) { ndo->ndo_protocol = "ah"; -@@ -85,7 +86,9 @@ again: +@@ -83,7 +84,9 @@ again: */ break; } @@ -271,7 +271,7 @@ 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; @@ -280,7 +280,7 @@ case IPPROTO_TCP: tcp_print(ndo, bp, length, iph, fragmented); break; -@@ -122,6 +125,7 @@ again: +@@ -120,6 +123,7 @@ again: } break; @@ -288,7 +288,7 @@ 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; @@ -306,7 +306,7 @@ case IPPROTO_OSPF: if (ver == 6) -@@ -186,6 +193,7 @@ again: +@@ -184,6 +191,7 @@ again: gre_print(ndo, bp, length); break; @@ -314,7 +314,7 @@ 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; @@ -324,7 +324,7 @@ 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; @@ -337,7 +337,7 @@ 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; @@ -345,7 +345,7 @@ 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; @@ -356,7 +356,7 @@ 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 */ } @@ -364,7 +364,7 @@ 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 */ } @@ -372,7 +372,7 @@ 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); } @@ -380,7 +380,7 @@ 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); } @@ -388,7 +388,7 @@ #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 @@ -403,7 +403,7 @@ 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) { @@ -411,7 +411,7 @@ 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); @@ -419,7 +419,7 @@ 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) { @@ -427,7 +427,7 @@ 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); @@ -437,7 +437,7 @@ 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; @@ -445,7 +445,7 @@ 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; @@ -455,7 +455,7 @@ /* 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. */ @@ -464,7 +464,7 @@ 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); } - @@ -515,7 +515,7 @@ +#endif --- a/print-sll.c +++ b/print-sll.c -@@ -465,12 +465,14 @@ recurse: +@@ -463,12 +463,14 @@ recurse: */ switch (ether_type) { @@ -532,7 +532,7 @@ /* --- 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; @@ -540,7 +540,7 @@ 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; } @@ -549,7 +549,7 @@ 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; } @@ -557,65 +557,64 @@ 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; @@ -628,7 +627,7 @@ 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; @@ -641,7 +640,7 @@ 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; @@ -649,7 +648,7 @@ 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; @@ -657,115 +656,116 @@ 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[] = { @@ -773,7 +773,7 @@ #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 @@ -783,7 +783,7 @@ { 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 @@ -791,7 +791,7 @@ #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 @@ -799,7 +799,7 @@ #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 @@ -811,7 +811,7 @@ #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 @@ -835,7 +835,7 @@ #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 @@ -843,7 +843,7 @@ { 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 }, @@ -851,7 +851,7 @@ #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 -- 2.30.2