aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/tcpdump/patches
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/utils/tcpdump/patches')
-rw-r--r--package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch23
-rw-r--r--package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch73
-rw-r--r--package/network/utils/tcpdump/patches/100-tcpdump_mini.patch844
3 files changed, 940 insertions, 0 deletions
diff --git a/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch b/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch
new file mode 100644
index 0000000..d2c724d
--- /dev/null
+++ b/package/network/utils/tcpdump/patches/001-remove_pcap_debug.patch
@@ -0,0 +1,23 @@
+--- a/tcpdump.c
++++ b/tcpdump.c
+@@ -1095,20 +1095,6 @@ main(int argc, char **argv)
+ error("invalid data link type %s", gndo->ndo_dltname);
+ break;
+
+-#if defined(HAVE_PCAP_DEBUG) || defined(HAVE_YYDEBUG)
+- case 'Y':
+- {
+- /* Undocumented flag */
+-#ifdef HAVE_PCAP_DEBUG
+- extern int pcap_debug;
+- pcap_debug = 1;
+-#else
+- extern int yydebug;
+- yydebug = 1;
+-#endif
+- }
+- break;
+-#endif
+ case 'z':
+ if (optarg) {
+ zflag = strdup(optarg);
diff --git a/package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch b/package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch
new file mode 100644
index 0000000..c8bdf14
--- /dev/null
+++ b/package/network/utils/tcpdump/patches/002-remove_static_libpcap_check.patch
@@ -0,0 +1,73 @@
+--- a/configure
++++ b/configure
+@@ -5813,28 +5813,6 @@ $as_echo "Using $pfopen" >&6; }
+ LIBS="$LIBS $pfopen"
+ fi
+ fi
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for local pcap library" >&5
+-$as_echo_n "checking for local pcap library... " >&6; }
+- libpcap=FAIL
+- lastdir=FAIL
+- places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \
+- egrep '/libpcap-[0-9]+\.[0-9]+(\.[0-9]*)?([ab][0-9]*|-PRE-GIT)?$'`
+- for dir in $places $srcdir/../libpcap $srcdir/libpcap ; do
+- basedir=`echo $dir | sed -e 's/[ab][0-9]*$//' | \
+- sed -e 's/-PRE-GIT$//' `
+- if test $lastdir = $basedir ; then
+- continue;
+- fi
+- lastdir=$dir
+- if test -r $dir/libpcap.a ; then
+- libpcap=$dir/libpcap.a
+- d=$dir
+- fi
+- done
+- if test $libpcap = FAIL ; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+-$as_echo "not found" >&6; }
+-
+ #
+ # Look for pcap-config.
+ #
+@@ -5989,41 +5967,6 @@ if test "x$ac_cv_lib_pcap_main" = xyes;
+ libpcap="-lpcap"
+ fi
+
+- if test $libpcap = FAIL ; then
+- as_fn_error $? "see the INSTALL doc for more info" "$LINENO" 5
+- fi
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extraneous pcap header directories" >&5
+-$as_echo_n "checking for extraneous pcap header directories... " >&6; }
+- if test \( ! -r /usr/local/include/pcap.h \) -a \
+- \( ! -r /usr/include/pcap.h \); then
+- if test -r /usr/local/include/pcap/pcap.h; then
+- d="/usr/local/include/pcap"
+- elif test -r /usr/include/pcap/pcap.h; then
+- d="/usr/include/pcap"
+- fi
+- fi
+- if test -z "$d" ; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+-$as_echo "not found" >&6; }
+- else
+- V_INCLS="-I$d $V_INCLS"
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: found -- -I$d added" >&5
+-$as_echo "found -- -I$d added" >&6; }
+- fi
+- fi
+- else
+- V_PCAPDEP=$libpcap
+- places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \
+- egrep '/libpcap-[0-9]*.[0-9]*(.[0-9]*)?([ab][0-9]*)?$'`
+- if test -r $d/pcap.h; then
+- V_INCLS="-I$d $V_INCLS"
+- elif test -r $places/pcap.h; then
+- V_INCLS="-I$places $V_INCLS"
+- else
+- as_fn_error see INSTALL "cannot find pcap.h" "$LINENO" 5
+- fi
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libpcap" >&5
+-$as_echo "$libpcap" >&6; }
+ # Extract the first word of "pcap-config", so it can be a program name with args.
+ set dummy pcap-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
diff --git a/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch b/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch
new file mode 100644
index 0000000..8d07be6
--- /dev/null
+++ b/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch
@@ -0,0 +1,844 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -71,6 +71,22 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
+ @rm -f $@
+ $(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
+
++ifdef TCPDUMP_MINI
++
++CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \
++ nlpid.c l2vpn.c machdep.c parsenfsfh.c in_cksum.c \
++ print-802_11.c print-aodv.c print-arp.c print-ascii.c \
++ print-bgp.c print-bootp.c print-cdp.c print-domain.c print-eap.c print-ether.c \
++ print-gre.c print-icmp.c print-igmp.c print-ip.c \
++ print-l2tp.c print-lldp.c print-llc.c \
++ print-nfs.c print-ntp.c print-null.c print-olsr.c print-ospf.c \
++ print-ppp.c print-pppoe.c print-pptp.c print-radius.c print-raw.c print-rsvp.c \
++ print-sctp.c print-sip.c print-sll.c print-snmp.c print-stp.c print-sunrpc.c \
++ print-syslog.c print-tcp.c print-telnet.c print-tftp.c print-udp.c \
++ setsignal.c tcpdump.c util.c signature.c print-ipnet.c print-forces.c
++
++else
++
+ CSRC = addrtoname.c af.c checksum.c cpack.c gmpls.c oui.c gmt2local.c ipproto.c \
+ nlpid.c l2vpn.c machdep.c parsenfsfh.c in_cksum.c \
+ print-802_11.c print-802_15_4.c print-ap1394.c print-ah.c \
+@@ -103,6 +119,8 @@ LIBNETDISSECT_SRC=print-isakmp.c
+ LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o)
+ LIBNETDISSECT=libnetdissect.a
+
++endif
++
+ LOCALSRC = @LOCALSRC@
+ GENSRC = version.c
+ LIBOBJS = @LIBOBJS@
+@@ -286,10 +304,12 @@ $(PROG): $(OBJ) @V_PCAPDEP@
+ @rm -f $@
+ $(CC) $(FULL_CFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
+
++ifndef TCPDUMP_MINI
+ $(LIBNETDISSECT): $(LIBNETDISSECT_OBJ)
+ @rm -f $@
+ $(AR) cr $@ $(LIBNETDISSECT_OBJ)
+ $(RANLIB) $@
++endif
+
+ datalinks.o: $(srcdir)/missing/datalinks.c
+ $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/datalinks.c
+--- a/addrtoname.c
++++ b/addrtoname.c
+@@ -556,10 +556,10 @@ linkaddr_string(const u_char *ep, const
+
+ if (type == LINKADDR_ETHER && len == ETHER_ADDR_LEN)
+ return (etheraddr_string(ep));
+-
++#ifndef TCPDUMP_MINI
+ if (type == LINKADDR_FRELAY)
+ return (q922_string(ep));
+-
++#endif
+ tp = lookup_bytestring(ep, len);
+ if (tp->e_name)
+ return (tp->e_name);
+@@ -1159,6 +1159,7 @@ init_addrtoname(u_int32_t localnet, u_in
+ init_ipxsaparray();
+ }
+
++#ifndef TCPDUMP_MINI
+ const char *
+ dnaddr_string(u_short dnaddr)
+ {
+@@ -1178,6 +1179,7 @@ dnaddr_string(u_short dnaddr)
+
+ return(tp->name);
+ }
++#endif
+
+ /* Return a zero'ed hnamemem struct and cuts down on calloc() overhead */
+ struct hnamemem *
+--- a/print-ether.c
++++ b/print-ether.c
+@@ -342,6 +342,7 @@ ethertype_print(netdissect_options *ndo,
+ arp_print(ndo, p, length, caplen);
+ return (1);
+
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_DN:
+ decnet_print(/*ndo,*/p, length, caplen);
+ return (1);
+@@ -360,10 +361,13 @@ ethertype_print(netdissect_options *ndo,
+ ND_PRINT((ndo, "(NOV-ETHII) "));
+ ipx_print(/*ndo,*/p, length);
+ return (1);
++#endif
+
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_ISO:
+ isoclns_print(/*ndo,*/p+1, length-1, length-1);
+ return(1);
++#endif
+
+ case ETHERTYPE_PPPOED:
+ case ETHERTYPE_PPPOES:
+@@ -376,9 +380,11 @@ ethertype_print(netdissect_options *ndo,
+ eap_print(ndo, p, length);
+ return (1);
+
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_RRCP:
+ rrcp_print(ndo, p - 14 , length + 14);
+ return (1);
++#endif
+
+ case ETHERTYPE_PPP:
+ if (length) {
+@@ -387,6 +393,7 @@ ethertype_print(netdissect_options *ndo,
+ }
+ return (1);
+
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_MPCP:
+ mpcp_print(/*ndo,*/p, length);
+ return (1);
+@@ -399,7 +406,7 @@ ethertype_print(netdissect_options *ndo,
+ case ETHERTYPE_CFM_OLD:
+ cfm_print(/*ndo,*/p, length);
+ return (1);
+-
++#endif
+ case ETHERTYPE_LLDP:
+ lldp_print(/*ndo,*/p, length);
+ return (1);
+@@ -407,6 +414,7 @@ ethertype_print(netdissect_options *ndo,
+ case ETHERTYPE_LOOPBACK:
+ return (1);
+
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_MPLS:
+ case ETHERTYPE_MPLS_MULTI:
+ mpls_print(/*ndo,*/p, length);
+@@ -428,6 +436,7 @@ ethertype_print(netdissect_options *ndo,
+ case ETHERTYPE_CALM_FAST:
+ calm_fast_print(ndo, p-14, p, length);
+ return (1);
++#endif
+
+ case ETHERTYPE_LAT:
+ case ETHERTYPE_SCA:
+--- a/print-gre.c
++++ b/print-gre.c
+@@ -213,6 +213,7 @@ gre_print_0(const u_char *bp, u_int leng
+ ip6_print(gndo, bp, len);
+ break;
+ #endif
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_MPLS:
+ mpls_print(bp, len);
+ break;
+@@ -228,6 +229,7 @@ gre_print_0(const u_char *bp, u_int leng
+ case ETHERTYPE_TEB:
+ ether_print(gndo, bp, len, len, NULL, NULL);
+ break;
++#endif
+ default:
+ printf("gre-proto-0x%x", prot);
+ }
+--- a/print-igmp.c
++++ b/print-igmp.c
+@@ -309,6 +309,7 @@ igmp_print(register const u_char *bp, re
+ TCHECK2(bp[4], 4);
+ (void)printf("igmp leave %s", ipaddr_string(&bp[4]));
+ break;
++#ifndef TCPDUMP_MINI
+ case 0x13:
+ (void)printf("igmp dvmrp");
+ if (len < 8)
+@@ -320,6 +321,7 @@ igmp_print(register const u_char *bp, re
+ (void)printf("igmp pimv1");
+ pimv1_print(bp, len);
+ break;
++#endif
+ case 0x1e:
+ print_mresp(bp, len);
+ break;
+--- a/print-ip.c
++++ b/print-ip.c
+@@ -328,6 +328,7 @@ ip_print_demux(netdissect_options *ndo,
+ again:
+ switch (ipds->nh) {
+
++#ifndef TCPDUMP_MINI
+ case IPPROTO_AH:
+ ipds->nh = *ipds->cp;
+ ipds->advance = ah_print(ipds->cp);
+@@ -362,15 +363,15 @@ again:
+ ipds->nh = enh & 0xff;
+ goto again;
+ }
+-
++#endif
+ case IPPROTO_SCTP:
+ sctp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len);
+ break;
+-
++#ifndef TCPDUMP_MINI
+ case IPPROTO_DCCP:
+ dccp_print(ipds->cp, (const u_char *)ipds->ip, ipds->len);
+ break;
+-
++#endif
+ case IPPROTO_TCP:
+ /* pass on the MF bit plus the offset to detect fragments */
+ tcp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip,
+@@ -388,7 +389,7 @@ again:
+ icmp_print(ipds->cp, ipds->len, (const u_char *)ipds->ip,
+ ipds->off & (IP_MF|IP_OFFMASK));
+ break;
+-
++#ifndef TCPDUMP_MINI
+ case IPPROTO_PIGP:
+ /*
+ * XXX - the current IANA protocol number assignments
+@@ -409,15 +410,15 @@ again:
+ case IPPROTO_EIGRP:
+ eigrp_print(ipds->cp, ipds->len);
+ break;
+-
++#endif
+ case IPPROTO_ND:
+ ND_PRINT((ndo, " nd %d", ipds->len));
+ break;
+-
++#ifndef TCPDUMP_MINI
+ case IPPROTO_EGP:
+ egp_print(ipds->cp, ipds->len);
+ break;
+-
++#endif
+ case IPPROTO_OSPF:
+ ospf_print(ipds->cp, ipds->len, (const u_char *)ipds->ip);
+ break;
+@@ -451,10 +452,10 @@ again:
+ gre_print(ipds->cp, ipds->len);
+ break;
+
++#ifndef TCPDUMP_MINI
+ case IPPROTO_MOBILE:
+ mobile_print(ipds->cp, ipds->len);
+ break;
+-
+ case IPPROTO_PIM:
+ vec[0].ptr = ipds->cp;
+ vec[0].len = ipds->len;
+@@ -480,7 +481,7 @@ again:
+ case IPPROTO_PGM:
+ pgm_print(ipds->cp, ipds->len, (const u_char *)ipds->ip);
+ break;
+-
++#endif
+ default:
+ if (ndo->ndo_nflag==0 && (proto = getprotobynumber(ipds->nh)) != NULL)
+ ND_PRINT((ndo, " %s", proto->p_name));
+--- a/print-ip6.c
++++ b/print-ip6.c
+@@ -192,9 +192,11 @@ ip6_print(netdissect_options *ndo, const
+ case IPPROTO_SCTP:
+ sctp_print(cp, (const u_char *)ip6, len);
+ return;
++#ifndef TCPDUMP_MINI
+ case IPPROTO_DCCP:
+ dccp_print(cp, (const u_char *)ip6, len);
+ return;
++#endif
+ case IPPROTO_TCP:
+ tcp_print(cp, len, (const u_char *)ip6, fragmented);
+ return;
+@@ -204,6 +206,7 @@ ip6_print(netdissect_options *ndo, const
+ case IPPROTO_ICMPV6:
+ icmp6_print(ndo, cp, len, (const u_char *)ip6, fragmented);
+ return;
++#ifndef TCPDUMP_MINI
+ case IPPROTO_AH:
+ advance = ah_print(cp);
+ nh = *cp;
+@@ -228,7 +231,7 @@ ip6_print(netdissect_options *ndo, const
+ pim_print(cp, len, nextproto6_cksum(ip6, cp, len,
+ IPPROTO_PIM));
+ return;
+-
++#endif
+ case IPPROTO_OSPF:
+ ospf6_print(cp, len);
+ return;
+@@ -240,11 +243,11 @@ ip6_print(netdissect_options *ndo, const
+ case IPPROTO_IPV4:
+ ip_print(ndo, cp, len);
+ return;
+-
++#ifndef TCPDUMP_MINI
+ case IPPROTO_PGM:
+ pgm_print(cp, len, (const u_char *)ip6);
+ return;
+-
++#endif
+ case IPPROTO_GRE:
+ gre_print(cp, len);
+ return;
+--- a/print-llc.c
++++ b/print-llc.c
+@@ -196,7 +196,7 @@ llc_print(const u_char *p, u_int length,
+ control = EXTRACT_LE_16BITS(p + 2);
+ is_u = 0;
+ }
+-
++#ifndef TCPDUMP_MINI
+ if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) {
+ /*
+ * This is an Ethernet_802.3 IPX frame; it has an
+@@ -219,6 +219,7 @@ llc_print(const u_char *p, u_int length,
+ ipx_print(p, length);
+ return (1);
+ }
++#endif
+
+ dsap = dsap_field & ~LLC_IG;
+ ssap = ssap_field & ~LLC_GSAP;
+@@ -251,6 +252,7 @@ llc_print(const u_char *p, u_int length,
+ return (1);
+ }
+
++#ifndef TCPDUMP_MINI
+ if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX &&
+ control == LLC_UI) {
+ /*
+@@ -266,6 +268,7 @@ llc_print(const u_char *p, u_int length,
+ ipx_print(p+3, length-3);
+ return (1);
+ }
++#endif
+
+ #ifdef TCPDUMP_DO_SMB
+ if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI
+@@ -297,11 +300,13 @@ llc_print(const u_char *p, u_int length,
+ return (1);
+ }
+ #endif
++#ifndef TCPDUMP_MINI
+ if (ssap == LLCSAP_ISONS && dsap == LLCSAP_ISONS
+ && control == LLC_UI) {
+ isoclns_print(p + 3, length - 3, caplen - 3);
+ return (1);
+ }
++#endif
+
+ if (ssap == LLCSAP_SNAP && dsap == LLCSAP_SNAP
+ && control == LLC_UI) {
+@@ -444,6 +449,7 @@ snap_print(const u_char *p, u_int length
+ case PID_CISCO_CDP:
+ cdp_print(p, length, caplen);
+ return (1);
++#ifndef TCPDUMP_MINI
+ case PID_CISCO_DTP:
+ dtp_print(p, length);
+ return (1);
+@@ -453,6 +459,7 @@ snap_print(const u_char *p, u_int length
+ case PID_CISCO_VTP:
+ vtp_print(p, length);
+ return (1);
++#endif
+ case PID_CISCO_PVST:
+ case PID_CISCO_VLANBRIDGE:
+ stp_print(p, length);
+@@ -484,6 +491,7 @@ snap_print(const u_char *p, u_int length
+ ether_print(gndo, p, length, caplen, NULL, NULL);
+ return (1);
+
++#ifndef TCPDUMP_MINI
+ case PID_RFC2684_802_5_FCS:
+ case PID_RFC2684_802_5_NOFCS:
+ /*
+@@ -525,6 +533,7 @@ snap_print(const u_char *p, u_int length
+ */
+ fddi_print(p, length, caplen);
+ return (1);
++#endif
+
+ case PID_RFC2684_BPDU:
+ stp_print(p, length);
+--- a/print-null.c
++++ b/print-null.c
+@@ -128,7 +128,7 @@ null_if_print(const struct pcap_pkthdr *
+ ip6_print(gndo, p, length);
+ break;
+ #endif
+-
++#ifndef TCPDUMP_MINI
+ case BSD_AFNUM_ISO:
+ isoclns_print(p, length, caplen);
+ break;
+@@ -140,7 +140,7 @@ null_if_print(const struct pcap_pkthdr *
+ case BSD_AFNUM_IPX:
+ ipx_print(p, length);
+ break;
+-
++#endif
+ default:
+ /* unknown AF_ value */
+ if (!eflag)
+--- a/print-ppp.c
++++ b/print-ppp.c
+@@ -1262,7 +1262,7 @@ trunc:
+ return 0;
+ }
+
+-
++#ifndef TCPDUMP_MINI
+ static void
+ ppp_hdlc(const u_char *p, int length)
+ {
+@@ -1327,17 +1327,19 @@ cleanup:
+ free(b);
+ return;
+ }
++#endif
+
+
+ /* PPP */
+ static void
+ handle_ppp(u_int proto, const u_char *p, int length)
+ {
++#ifndef TCPDUMP_MINI
+ if ((proto & 0xff00) == 0x7e00) {/* is this an escape code ? */
+ ppp_hdlc(p-1, length);
+ return;
+ }
+-
++#endif
+ switch (proto) {
+ case PPP_LCP: /* fall through */
+ case PPP_IPCP:
+@@ -1371,6 +1373,7 @@ handle_ppp(u_int proto, const u_char *p,
+ ip6_print(gndo, p, length);
+ break;
+ #endif
++#ifndef TCPDUMP_MINI
+ case ETHERTYPE_IPX: /*XXX*/
+ case PPP_IPX:
+ ipx_print(p, length);
+@@ -1382,6 +1385,7 @@ handle_ppp(u_int proto, const u_char *p,
+ case PPP_MPLS_MCAST:
+ mpls_print(p, length);
+ break;
++#endif
+ case PPP_COMP:
+ printf("compressed PPP data");
+ break;
+@@ -1520,6 +1524,7 @@ ppp_if_print(const struct pcap_pkthdr *h
+ return (0);
+ }
+
++#ifndef TCPDUMP_MINI
+ /*
+ * PPP I/F printer to use if we know that RFC 1662-style PPP in HDLC-like
+ * framing, or Cisco PPP with HDLC framing as per section 4.3.1 of RFC 1547,
+@@ -1747,7 +1752,7 @@ printx:
+ #endif /* __bsdi__ */
+ return (hdrlength);
+ }
+-
++#endif
+
+ /*
+ * Local Variables:
+--- a/print-tcp.c
++++ b/print-tcp.c
+@@ -573,14 +573,14 @@ tcp_print(register const u_char *bp, reg
+ utoval >>= 1;
+ (void)printf(" %u", utoval);
+ break;
+-
++#ifndef TCPDUMP_MINI
+ case TCPOPT_MPTCP:
+ datalen = len - 2;
+ LENCHECK(datalen);
+ if (!mptcp_print(cp-2, len, flags))
+ goto bad;
+ break;
+-
++#endif
+ case TCPOPT_EXPERIMENT2:
+ datalen = len - 2;
+ LENCHECK(datalen);
+@@ -659,8 +659,8 @@ tcp_print(register const u_char *bp, reg
+ if ((flags & TH_RST) && vflag) {
+ print_tcp_rst_data(bp, length);
+ return;
+- }
+-
++ }
++#ifndef TCPDUMP_MINI
+ if (packettype) {
+ switch (packettype) {
+ case PT_ZMTP1:
+@@ -669,7 +669,7 @@ tcp_print(register const u_char *bp, reg
+ }
+ return;
+ }
+-
++#endif
+ if (sport == TELNET_PORT || dport == TELNET_PORT) {
+ if (!qflag && vflag)
+ telnet_print(bp, length);
+@@ -683,10 +683,12 @@ tcp_print(register const u_char *bp, reg
+ else if (sport == SMB_PORT || dport == SMB_PORT)
+ smb_tcp_print(bp, length);
+ #endif
++#ifndef TCPDUMP_MINI
+ else if (sport == BEEP_PORT || dport == BEEP_PORT)
+ beep_print(bp, length);
+ else if (sport == OPENFLOW_PORT || dport == OPENFLOW_PORT)
+ openflow_print(bp, length);
++#endif
+ else if (length > 2 &&
+ (sport == NAMESERVER_PORT || dport == NAMESERVER_PORT ||
+ sport == MULTICASTDNS_PORT || dport == MULTICASTDNS_PORT)) {
+@@ -695,6 +697,7 @@ tcp_print(register const u_char *bp, reg
+ * XXX packet could be unaligned, it can go strange
+ */
+ ns_print(bp + 2, length - 2, 0);
++#ifndef TCPDUMP_MINI
+ } else if (sport == MSDP_PORT || dport == MSDP_PORT) {
+ msdp_print(bp, length);
+ } else if (sport == RPKI_RTR_PORT || dport == RPKI_RTR_PORT) {
+@@ -702,6 +705,7 @@ tcp_print(register const u_char *bp, reg
+ }
+ else if (length > 0 && (sport == LDP_PORT || dport == LDP_PORT)) {
+ ldp_print(bp, length);
++#endif
+ }
+ else if ((sport == NFS_PORT || dport == NFS_PORT) &&
+ length >= 4 && TTEST2(*bp, 4)) {
+--- a/print-udp.c
++++ b/print-udp.c
+@@ -418,11 +418,12 @@ udp_print(register const u_char *bp, u_i
+ vat_print((void *)(up + 1), up);
+ break;
+
++#ifndef TCPDUMP_MINI
+ case PT_WB:
+ udpipaddr_print(ip, sport, dport);
+ wb_print((void *)(up + 1), length);
+ break;
+-
++#endif
+ case PT_RPC:
+ rp = (struct sunrpc_msg *)(up + 1);
+ direction = (enum sunrpc_msg_type)EXTRACT_32BITS(&rp->rm_direction);
+@@ -450,11 +451,12 @@ udp_print(register const u_char *bp, u_i
+ snmp_print((const u_char *)(up + 1), length);
+ break;
+
++#ifndef TCPDUMP_MINI
+ case PT_CNFP:
+ udpipaddr_print(ip, sport, dport);
+ cnfp_print(cp, (const u_char *)ip);
+ break;
+-
++#endif
+ case PT_TFTP:
+ udpipaddr_print(ip, sport, dport);
+ tftp_print(cp, length);
+@@ -475,6 +477,7 @@ udp_print(register const u_char *bp, u_i
+ radius_print(cp, length);
+ break;
+
++#ifndef TCPDUMP_MINI
+ case PT_VXLAN:
+ udpipaddr_print(ip, sport, dport);
+ vxlan_print((const u_char *)(up + 1), length);
+@@ -489,6 +492,7 @@ udp_print(register const u_char *bp, u_i
+ udpipaddr_print(ip, sport, dport);
+ lmp_print(cp, length);
+ break;
++#endif
+ }
+ return;
+ }
+@@ -517,6 +521,7 @@ udp_print(register const u_char *bp, u_i
+ }
+ #endif
+ }
++#ifndef TCPDUMP_MINI
+ if (TTEST(((struct LAP *)cp)->type) &&
+ ((struct LAP *)cp)->type == lapDDP &&
+ (atalk_port(sport) || atalk_port(dport))) {
+@@ -525,6 +530,7 @@ udp_print(register const u_char *bp, u_i
+ llap_print(cp, length);
+ return;
+ }
++#endif
+ }
+ udpipaddr_print(ip, sport, dport);
+
+@@ -575,14 +581,18 @@ udp_print(register const u_char *bp, u_i
+ ns_print((const u_char *)(up + 1), length, 0);
+ else if (ISPORT(MULTICASTDNS_PORT))
+ ns_print((const u_char *)(up + 1), length, 1);
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(TIMED_PORT))
+ timed_print((const u_char *)(up + 1));
++#endif
+ else if (ISPORT(TFTP_PORT))
+ tftp_print((const u_char *)(up + 1), length);
+ else if (ISPORT(IPPORT_BOOTPC) || ISPORT(IPPORT_BOOTPS))
+ bootp_print((const u_char *)(up + 1), length);
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(RIP_PORT))
+ rip_print((const u_char *)(up + 1), length);
++#endif
+ else if (ISPORT(AODV_PORT))
+ aodv_print((const u_char *)(up + 1), length,
+ #ifdef INET6
+@@ -590,6 +600,7 @@ udp_print(register const u_char *bp, u_i
+ #else
+ 0);
+ #endif
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(ISAKMP_PORT))
+ isakmp_print(gndo, (const u_char *)(up + 1), length, bp2);
+ else if (ISPORT(ISAKMP_PORT_NATT))
+@@ -598,12 +609,15 @@ udp_print(register const u_char *bp, u_i
+ else if (ISPORT(ISAKMP_PORT_USER1) || ISPORT(ISAKMP_PORT_USER2))
+ isakmp_print(gndo, (const u_char *)(up + 1), length, bp2);
+ #endif
++#endif
+ else if (ISPORT(SNMP_PORT) || ISPORT(SNMPTRAP_PORT))
+ snmp_print((const u_char *)(up + 1), length);
+ else if (ISPORT(NTP_PORT))
+ ntp_print((const u_char *)(up + 1), length);
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(KERBEROS_PORT) || ISPORT(KERBEROS_SEC_PORT))
+ krb_print((const void *)(up + 1));
++#endif
+ else if (ISPORT(L2TP_PORT))
+ l2tp_print((const u_char *)(up + 1), length);
+ #ifdef TCPDUMP_DO_SMB
+@@ -614,6 +628,7 @@ udp_print(register const u_char *bp, u_i
+ #endif
+ else if (dport == VAT_PORT)
+ vat_print((const void *)(up + 1), up);
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(ZEPHYR_SRV_PORT) || ISPORT(ZEPHYR_CLT_PORT))
+ zephyr_print((const void *)(up + 1), length);
+ /*
+@@ -624,6 +639,7 @@ udp_print(register const u_char *bp, u_i
+ (dport >= RX_PORT_LOW && dport <= RX_PORT_HIGH))
+ rx_print((const void *)(up + 1), length, sport, dport,
+ (u_char *) ip);
++#endif
+ #ifdef INET6
+ else if (ISPORT(RIPNG_PORT))
+ ripng_print((const u_char *)(up + 1), length);
+@@ -635,21 +651,25 @@ udp_print(register const u_char *bp, u_i
+ /*
+ * Kludge in test for whiteboard packets.
+ */
++#ifndef TCPDUMP_MINI
+ else if (dport == WB_PORT)
+ wb_print((const void *)(up + 1), length);
+ else if (ISPORT(CISCO_AUTORP_PORT))
+ cisco_autorp_print((const void *)(up + 1), length);
++#endif
+ else if (ISPORT(RADIUS_PORT) ||
+ ISPORT(RADIUS_NEW_PORT) ||
+ ISPORT(RADIUS_ACCOUNTING_PORT) ||
+ ISPORT(RADIUS_NEW_ACCOUNTING_PORT) )
+ radius_print((const u_char *)(up+1), length);
++#ifndef TCPDUMP_MINI
+ else if (dport == HSRP_PORT)
+ hsrp_print((const u_char *)(up + 1), length);
+ else if (ISPORT(LWRES_PORT))
+ lwres_print((const u_char *)(up + 1), length);
+ else if (ISPORT(LDP_PORT))
+ ldp_print((const u_char *)(up + 1), length);
++#endif
+ else if (ISPORT(OLSR_PORT))
+ olsr_print((const u_char *)(up + 1), length,
+ #if INET6
+@@ -657,6 +677,7 @@ udp_print(register const u_char *bp, u_i
+ #else
+ 0);
+ #endif
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(MPLS_LSP_PING_PORT))
+ lspping_print((const u_char *)(up + 1), length);
+ else if (dport == BFD_CONTROL_PORT ||
+@@ -674,14 +695,17 @@ udp_print(register const u_char *bp, u_i
+ lwapp_control_print((const u_char *)(up + 1), length, 0);
+ else if (ISPORT(LWAPP_DATA_PORT))
+ lwapp_data_print((const u_char *)(up + 1), length);
++#endif
+ else if (ISPORT(SIP_PORT))
+ sip_print((const u_char *)(up + 1), length);
+ else if (ISPORT(SYSLOG_PORT))
+ syslog_print((const u_char *)(up + 1), length);
++#ifndef TCPDUMP_MINI
+ else if (ISPORT(OTV_PORT))
+ otv_print((const u_char *)(up + 1), length);
+ else if (ISPORT(VXLAN_PORT))
+ vxlan_print((const u_char *)(up + 1), length);
++#endif
+ else
+ (void)printf("UDP, length %u",
+ (u_int32_t)(ulen - sizeof(*up)));
+--- a/tcpdump.c
++++ b/tcpdump.c
+@@ -161,6 +161,7 @@ struct ndo_printer {
+
+
+ static struct printer printers[] = {
++#ifndef TCPDUMP_MINI
+ { arcnet_if_print, DLT_ARCNET },
+ #ifdef DLT_ARCNET_LINUX
+ { arcnet_linux_if_print, DLT_ARCNET_LINUX },
+@@ -179,19 +180,23 @@ static struct printer printers[] = {
+ #ifdef DLT_SLIP_BSDOS
+ { sl_bsdos_if_print, DLT_SLIP_BSDOS },
+ #endif
++#endif
+ { ppp_if_print, DLT_PPP },
+ #ifdef DLT_PPP_WITHDIRECTION
+ { ppp_if_print, DLT_PPP_WITHDIRECTION },
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_PPP_BSDOS
+ { ppp_bsdos_if_print, DLT_PPP_BSDOS },
+ #endif
+ { fddi_if_print, DLT_FDDI },
++#endif
+ { null_if_print, DLT_NULL },
+ #ifdef DLT_LOOP
+ { null_if_print, DLT_LOOP },
+ #endif
+ { raw_if_print, DLT_RAW },
++#ifndef TCPDUMP_MINI
+ { atm_if_print, DLT_ATM_RFC1483 },
+ #ifdef DLT_C_HDLC
+ { chdlc_if_print, DLT_C_HDLC },
+@@ -202,6 +207,7 @@ static struct printer printers[] = {
+ #ifdef DLT_PPP_SERIAL
+ { ppp_hdlc_if_print, DLT_PPP_SERIAL },
+ #endif
++#endif
+ #ifdef DLT_PPP_ETHER
+ { pppoe_if_print, DLT_PPP_ETHER },
+ #endif
+@@ -211,6 +217,7 @@ static struct printer printers[] = {
+ #ifdef DLT_IEEE802_11
+ { ieee802_11_if_print, DLT_IEEE802_11},
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_LTALK
+ { ltalk_if_print, DLT_LTALK },
+ #endif
+@@ -229,12 +236,14 @@ static struct printer printers[] = {
+ #ifdef DLT_IP_OVER_FC
+ { ipfc_if_print, DLT_IP_OVER_FC },
+ #endif
++#endif
+ #ifdef DLT_PRISM_HEADER
+ { prism_if_print, DLT_PRISM_HEADER },
+ #endif
+ #ifdef DLT_IEEE802_11_RADIO
+ { ieee802_11_radio_if_print, DLT_IEEE802_11_RADIO },
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_ENC
+ { enc_if_print, DLT_ENC },
+ #endif
+@@ -244,9 +253,11 @@ static struct printer printers[] = {
+ #ifdef DLT_APPLE_IP_OVER_IEEE1394
+ { ap1394_if_print, DLT_APPLE_IP_OVER_IEEE1394 },
+ #endif
++#endif
+ #ifdef DLT_IEEE802_11_RADIO_AVS
+ { ieee802_11_radio_avs_if_print, DLT_IEEE802_11_RADIO_AVS },
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_JUNIPER_ATM1
+ { juniper_atm1_print, DLT_JUNIPER_ATM1 },
+ #endif
+@@ -312,6 +323,7 @@ static struct printer printers[] = {
+ #ifdef DLT_IPV6
+ { raw_if_print, DLT_IPV6 },
+ #endif
++#endif
+ { NULL, 0 },
+ };
+
+@@ -320,6 +332,7 @@ static struct ndo_printer ndo_printers[]
+ #ifdef DLT_IPNET
+ { ipnet_if_print, DLT_IPNET },
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_IEEE802_15_4
+ { ieee802_15_4_if_print, DLT_IEEE802_15_4 },
+ #endif
+@@ -329,15 +342,18 @@ static struct ndo_printer ndo_printers[]
+ #ifdef DLT_PPI
+ { ppi_if_print, DLT_PPI },
+ #endif
++#endif
+ #ifdef DLT_NETANALYZER
+ { netanalyzer_if_print, DLT_NETANALYZER },
+ #endif
+ #ifdef DLT_NETANALYZER_TRANSPARENT
+ { netanalyzer_transparent_if_print, DLT_NETANALYZER_TRANSPARENT },
+ #endif
++#ifndef TCPDUMP_MINI
+ #ifdef DLT_NFLOG
+ { nflog_if_print, DLT_NFLOG},
+ #endif
++#endif
+ { NULL, 0 },
+ };
+
+--- a/print-sll.c
++++ b/print-sll.c
+@@ -154,14 +154,14 @@ recurse:
+ * Yes - what type is it?
+ */
+ switch (ether_type) {
+-
++#ifndef TCPDUMP_MINI
+ case LINUX_SLL_P_802_3:
+ /*
+ * Ethernet_802.3 IPX frame.
+ */
+ ipx_print(p, length);
+ break;
+-
++#endif
+ case LINUX_SLL_P_802_2:
+ /*
+ * 802.2.