openwrtv4/package/network/utils/tcpdump/patches/100-tcpdump_mini.patch
Felix Fietkau b9ddf3098b tcpdump: reduce size of -mini by removing more infrequently used protocols
This removes:
- BGP
- CDP
- SCTP

MIPS binary .ipk size is reduced from ~150k to ~130k

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-12 10:22:20 +01:00

876 lines
24 KiB
Diff

--- a/Makefile.in
+++ b/Makefile.in
@@ -70,6 +70,82 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
@rm -f $@
$(CC) $(FULL_CFLAGS) -c $(srcdir)/$*.c
+ifdef TCPDUMP_MINI
+
+CSRC=\
+ tcpdump.c \
+ util.c \
+ setsignal.c \
+ addrtoname.c \
+ addrtostr.c \
+ af.c \
+ ascii_strcasecmp.c \
+ checksum.c \
+ cpack.c \
+ gmpls.c \
+ gmt2local.c \
+ in_cksum.c \
+ ipproto.c \
+ l2vpn.c \
+ machdep.c \
+ nlpid.c \
+ oui.c \
+ parsenfsfh.c \
+ print.c \
+ print-802_11.c \
+ print-aodv.c \
+ print-arp.c \
+ print-ascii.c \
+ print-bootp.c \
+ print-dhcp6.c \
+ print-domain.c \
+ print-eap.c \
+ print-ether.c \
+ print-ftp.c \
+ print-gre.c \
+ print-http.c \
+ print-icmp.c \
+ print-icmp6.c \
+ print-igmp.c \
+ print-ip.c \
+ print-ip6.c \
+ print-ip6opts.c \
+ print-ipnet.c \
+ print-l2tp.c \
+ print-llc.c \
+ print-lldp.c \
+ print-loopback.c \
+ print-nfs.c \
+ print-ntp.c \
+ print-null.c \
+ print-olsr.c \
+ print-ospf.c \
+ print-ospf6.c \
+ print-ppp.c \
+ print-pppoe.c \
+ print-pptp.c \
+ print-radius.c \
+ print-raw.c \
+ print-rsvp.c \
+ print-rt6.c \
+ print-rtsp.c \
+ print-sip.c \
+ print-sll.c \
+ print-smtp.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 \
+ signature.c \
+ strtoaddr.c \
+ util-print.c
+
+else
+
CSRC = setsignal.c tcpdump.c util.c
LIBNETDISSECT_SRC=\
@@ -236,12 +312,16 @@ LIBNETDISSECT_SRC=\
strtoaddr.c \
util-print.c
+endif
+
LOCALSRC = @LOCALSRC@
GENSRC = version.c
LIBOBJS = @LIBOBJS@
+ifndef TCPDUMP_MINI
LIBNETDISSECT_OBJ=$(LIBNETDISSECT_SRC:.c=.o) ${LOCALSRC:.c=.o} ${LIBOBJS}
LIBNETDISSECT=libnetdissect.a
+endif
SRC = $(CSRC) $(GENSRC) $(LOCALSRC) $(LIBNETDISSECT_SRC)
@@ -367,10 +447,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
@@ -564,8 +564,10 @@ linkaddr_string(netdissect_options *ndo,
if (type == LINKADDR_ETHER && len == ETHER_ADDR_LEN)
return (etheraddr_string(ndo, ep));
+#ifndef TCPDUMP_MINI
if (type == LINKADDR_FRELAY)
return (q922_string(ndo, ep, len));
+#endif
tp = lookup_bytestring(ndo, ep, len);
if (tp->e_name)
@@ -1200,6 +1202,7 @@ init_addrtoname(netdissect_options *ndo,
init_ipxsaparray(ndo);
}
+#ifndef TCPDUMP_MINI
const char *
dnaddr_string(netdissect_options *ndo, u_short dnaddr)
{
@@ -1219,6 +1222,7 @@ dnaddr_string(netdissect_options *ndo, u
return(tp->name);
}
+#endif
/* Return a zero'ed hnamemem struct and cuts down on calloc() overhead */
struct hnamemem *
--- a/print.c
+++ b/print.c
@@ -48,6 +48,7 @@ static const struct printer 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
@@ -57,12 +58,14 @@ static const struct printer 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
#if defined(DLT_NFLOG) && defined(HAVE_PCAP_NFLOG_H)
{ nflog_if_print, DLT_NFLOG},
#endif
@@ -75,10 +78,12 @@ static const struct printer printers[] =
#ifdef DLT_IP_OVER_FC
{ ipfc_if_print, DLT_IP_OVER_FC },
#endif
+#endif
{ null_if_print, DLT_NULL },
#ifdef DLT_LOOP
{ null_if_print, DLT_LOOP },
#endif
+#ifndef TCPDUMP_MINI
#ifdef DLT_APPLE_IP_OVER_IEEE1394
{ ap1394_if_print, DLT_APPLE_IP_OVER_IEEE1394 },
#endif
@@ -92,7 +97,9 @@ static const struct printer printers[] =
#ifdef DLT_ARCNET_LINUX
{ arcnet_linux_if_print, DLT_ARCNET_LINUX },
#endif
+#endif
{ raw_if_print, DLT_RAW },
+#ifndef TCPDUMP_MINI
#ifdef DLT_IPV4
{ raw_if_print, DLT_IPV4 },
#endif
@@ -116,17 +123,21 @@ static const struct printer printers[] =
#ifdef DLT_HDLC
{ chdlc_if_print, DLT_HDLC },
#endif
+#endif
#ifdef DLT_PPP_ETHER
{ pppoe_if_print, DLT_PPP_ETHER },
#endif
+#ifndef TCPDUMP_MINI
#if defined(DLT_PFLOG) && defined(HAVE_NET_IF_PFLOG_H)
{ pflog_if_print, DLT_PFLOG },
#endif
{ token_if_print, DLT_IEEE802 },
{ fddi_if_print, DLT_FDDI },
+#endif
#ifdef DLT_LINUX_SLL
{ sll_if_print, DLT_LINUX_SLL },
#endif
+#ifndef TCPDUMP_MINI
#ifdef DLT_FR
{ fr_if_print, DLT_FR },
#endif
@@ -198,6 +209,7 @@ static const struct printer printers[] =
#ifdef DLT_PKTAP
{ pktap_if_print, DLT_PKTAP },
#endif
+#endif
#ifdef DLT_IEEE802_11_RADIO
{ ieee802_11_radio_if_print, DLT_IEEE802_11_RADIO },
#endif
@@ -214,12 +226,14 @@ static const struct printer printers[] =
#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
#ifdef DLT_PPP_SERIAL
{ ppp_hdlc_if_print, DLT_PPP_SERIAL },
#endif
+#endif
{ NULL, 0 },
};
--- a/print-ether.c
+++ b/print-ether.c
@@ -332,6 +332,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);
@@ -354,6 +355,7 @@ ethertype_print(netdissect_options *ndo,
case ETHERTYPE_ISO:
isoclns_print(ndo, p + 1, length - 1, length - 1);
return(1);
+#endif
case ETHERTYPE_PPPOED:
case ETHERTYPE_PPPOES:
@@ -366,9 +368,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) {
@@ -377,6 +381,7 @@ ethertype_print(netdissect_options *ndo,
}
return (1);
+#ifndef TCPDUMP_MINI
case ETHERTYPE_MPCP:
mpcp_print(ndo, p, length);
return (1);
@@ -389,6 +394,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);
@@ -398,6 +404,7 @@ ethertype_print(netdissect_options *ndo,
loopback_print(ndo, p, length);
return (1);
+#ifndef TCPDUMP_MINI
case ETHERTYPE_MPLS:
case ETHERTYPE_MPLS_MULTI:
mpls_print(ndo, p, length);
@@ -427,6 +434,7 @@ ethertype_print(netdissect_options *ndo,
case ETHERTYPE_MEDSA:
medsa_print(ndo, p, length, caplen);
return (1);
+#endif
case ETHERTYPE_LAT:
case ETHERTYPE_SCA:
--- a/print-gre.c
+++ b/print-gre.c
@@ -203,6 +203,7 @@ gre_print_0(netdissect_options *ndo, con
case ETHERTYPE_IPV6:
ip6_print(ndo, bp, len);
break;
+#ifndef TCPDUMP_MINI
case ETHERTYPE_MPLS:
mpls_print(ndo, bp, len);
break;
@@ -218,6 +219,7 @@ gre_print_0(netdissect_options *ndo, con
case ETHERTYPE_TEB:
ether_print(ndo, bp, len, len, NULL, NULL);
break;
+#endif
default:
ND_PRINT((ndo, "gre-proto-0x%x", prot));
}
--- a/print-igmp.c
+++ b/print-igmp.c
@@ -304,6 +304,7 @@ igmp_print(netdissect_options *ndo,
ND_TCHECK2(bp[4], 4);
ND_PRINT((ndo, "igmp leave %s", ipaddr_string(ndo, &bp[4])));
break;
+#ifndef TCPDUMP_MINI
case 0x13:
ND_PRINT((ndo, "igmp dvmrp"));
if (len < 8)
@@ -315,6 +316,7 @@ igmp_print(netdissect_options *ndo,
ND_PRINT((ndo, "igmp pimv1"));
pimv1_print(ndo, bp, len);
break;
+#endif
case 0x1e:
print_mresp(ndo, bp, len);
break;
--- a/print-ip6.c
+++ b/print-ip6.c
@@ -297,6 +297,7 @@ ip6_print(netdissect_options *ndo, const
advance = dstopt_print(ndo, cp);
nh = *cp;
break;
+#ifndef TCPDUMP_MINI
case IPPROTO_FRAGMENT:
advance = frag6_print(ndo, cp, (const u_char *)ip6);
if (ndo->ndo_snapend <= cp + advance)
@@ -318,16 +319,19 @@ ip6_print(netdissect_options *ndo, const
advance = mobility_print(ndo, cp, (const u_char *)ip6);
nh = *cp;
return;
+#endif
case IPPROTO_ROUTING:
advance = rt6_print(ndo, cp, (const u_char *)ip6);
nh = *cp;
break;
+#ifndef TCPDUMP_MINI
case IPPROTO_SCTP:
sctp_print(ndo, cp, (const u_char *)ip6, len);
return;
case IPPROTO_DCCP:
dccp_print(ndo, cp, (const u_char *)ip6, len);
return;
+#endif
case IPPROTO_TCP:
tcp_print(ndo, cp, len, (const u_char *)ip6, fragmented);
return;
@@ -337,6 +341,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(ndo, cp);
nh = *cp;
@@ -360,6 +365,7 @@ ip6_print(netdissect_options *ndo, const
case IPPROTO_PIM:
pim_print(ndo, cp, len, (const u_char *)ip6);
return;
+#endif
case IPPROTO_OSPF:
ospf6_print(ndo, cp, len);
@@ -373,9 +379,11 @@ ip6_print(netdissect_options *ndo, const
ip_print(ndo, cp, len);
return;
+#ifndef TCPDUMP_MINI
case IPPROTO_PGM:
pgm_print(ndo, cp, len, (const u_char *)ip6);
return;
+#endif
case IPPROTO_GRE:
gre_print(ndo, cp, len);
--- a/print-ip.c
+++ b/print-ip.c
@@ -327,6 +327,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(ndo, ipds->cp);
@@ -361,7 +362,9 @@ again:
ipds->nh = enh & 0xff;
goto again;
}
+#endif
+#ifndef TCPDUMP_MINI
case IPPROTO_SCTP:
sctp_print(ndo, ipds->cp, (const u_char *)ipds->ip, ipds->len);
break;
@@ -369,6 +372,7 @@ again:
case IPPROTO_DCCP:
dccp_print(ndo, 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 */
@@ -388,6 +392,7 @@ again:
ipds->off & (IP_MF|IP_OFFMASK));
break;
+#ifndef TCPDUMP_MINI
case IPPROTO_PIGP:
/*
* XXX - the current IANA protocol number assignments
@@ -408,14 +413,17 @@ again:
case IPPROTO_EIGRP:
eigrp_print(ndo, 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(ndo, ipds->cp, ipds->len);
break;
+#endif
case IPPROTO_OSPF:
ospf_print(ndo, ipds->cp, ipds->len, (const u_char *)ipds->ip);
@@ -448,6 +456,7 @@ again:
gre_print(ndo, ipds->cp, ipds->len);
break;
+#ifndef TCPDUMP_MINI
case IPPROTO_MOBILE:
mobile_print(ndo, ipds->cp, ipds->len);
break;
@@ -476,6 +485,7 @@ again:
case IPPROTO_PGM:
pgm_print(ndo, ipds->cp, ipds->len, (const u_char *)ipds->ip);
break;
+#endif
default:
if (ndo->ndo_nflag==0 && (proto = getprotobynumber(ipds->nh)) != NULL)
--- a/print-llc.c
+++ b/print-llc.c
@@ -204,6 +204,7 @@ llc_print(netdissect_options *ndo, const
hdrlen = 4; /* DSAP, SSAP, 2-byte control field */
}
+#ifndef TCPDUMP_MINI
if (ssap_field == LLCSAP_GLOBAL && dsap_field == LLCSAP_GLOBAL) {
/*
* This is an Ethernet_802.3 IPX frame; it has an
@@ -226,6 +227,7 @@ llc_print(netdissect_options *ndo, const
ipx_print(ndo, p, length);
return (0); /* no LLC header */
}
+#endif
dsap = dsap_field & ~LLC_IG;
ssap = ssap_field & ~LLC_GSAP;
@@ -289,6 +291,7 @@ llc_print(netdissect_options *ndo, const
return (hdrlen);
}
+#ifndef TCPDUMP_MINI
if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX &&
control == LLC_UI) {
/*
@@ -302,6 +305,7 @@ llc_print(netdissect_options *ndo, const
ipx_print(ndo, p, length);
return (hdrlen);
}
+#endif
#ifdef ENABLE_SMB
if (ssap == LLCSAP_NETBEUI && dsap == LLCSAP_NETBEUI
@@ -320,11 +324,13 @@ llc_print(netdissect_options *ndo, const
return (hdrlen);
}
#endif
+#ifndef TCPDUMP_MINI
if (ssap == LLCSAP_ISONS && dsap == LLCSAP_ISONS
&& control == LLC_UI) {
isoclns_print(ndo, p, length, caplen);
return (hdrlen);
}
+#endif
if (!ndo->ndo_eflag) {
if (ssap == dsap) {
@@ -458,6 +464,7 @@ snap_print(netdissect_options *ndo, cons
case OUI_CISCO:
switch (et) {
+#ifndef TCPDUMP_MINI
case PID_CISCO_CDP:
cdp_print(ndo, p, length, caplen);
return (1);
@@ -470,6 +477,7 @@ snap_print(netdissect_options *ndo, cons
case PID_CISCO_VTP:
vtp_print(ndo, p, length);
return (1);
+#endif
case PID_CISCO_PVST:
case PID_CISCO_VLANBRIDGE:
stp_print(ndo, p, length);
@@ -482,6 +490,7 @@ snap_print(netdissect_options *ndo, cons
case OUI_RFC2684:
switch (et) {
+#ifndef TCPDUMP_MINI
case PID_RFC2684_ETH_FCS:
case PID_RFC2684_ETH_NOFCS:
/*
@@ -543,6 +552,7 @@ snap_print(netdissect_options *ndo, cons
*/
fddi_print(ndo, p, length, caplen);
return (1);
+#endif
case PID_RFC2684_BPDU:
stp_print(ndo, p, length);
--- a/print-null.c
+++ b/print-null.c
@@ -114,6 +114,7 @@ null_if_print(netdissect_options *ndo, c
ip6_print(ndo, p, length);
break;
+#ifndef TCPDUMP_MINI
case BSD_AFNUM_ISO:
isoclns_print(ndo, p, length, caplen);
break;
@@ -125,6 +126,7 @@ null_if_print(netdissect_options *ndo, c
case BSD_AFNUM_IPX:
ipx_print(ndo, p, length);
break;
+#endif
default:
/* unknown AF_ value */
--- a/print-ppp.c
+++ b/print-ppp.c
@@ -1346,6 +1346,7 @@ trunc:
return 0;
}
+#ifndef TCPDUMP_MINI
static void
ppp_hdlc(netdissect_options *ndo,
const u_char *p, int length)
@@ -1424,6 +1425,7 @@ trunc:
free(b);
ND_PRINT((ndo, "[|ppp]"));
}
+#endif
/* PPP */
@@ -1431,10 +1433,12 @@ static void
handle_ppp(netdissect_options *ndo,
u_int proto, const u_char *p, int length)
{
+#ifndef TCPDUMP_MINI
if ((proto & 0xff00) == 0x7e00) { /* is this an escape code ? */
ppp_hdlc(ndo, p - 1, length);
return;
}
+#endif
switch (proto) {
case PPP_LCP: /* fall through */
@@ -1467,6 +1471,7 @@ handle_ppp(netdissect_options *ndo,
case PPP_IPV6:
ip6_print(ndo, p, length);
break;
+#ifndef TCPDUMP_MINI
case ETHERTYPE_IPX: /*XXX*/
case PPP_IPX:
ipx_print(ndo, p, length);
@@ -1478,6 +1483,7 @@ handle_ppp(netdissect_options *ndo,
case PPP_MPLS_MCAST:
mpls_print(ndo, p, length);
break;
+#endif
case PPP_COMP:
ND_PRINT((ndo, "compressed PPP data"));
break;
@@ -1618,6 +1624,7 @@ ppp_if_print(netdissect_options *ndo,
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,
@@ -1840,6 +1847,7 @@ printx:
#endif /* __bsdi__ */
return (hdrlength);
}
+#endif
/*
--- a/print-sll.c
+++ b/print-sll.c
@@ -236,12 +236,14 @@ recurse:
*/
switch (ether_type) {
+#ifndef TCPDUMP_MINI
case LINUX_SLL_P_802_3:
/*
* Ethernet_802.3 IPX frame.
*/
ipx_print(ndo, p, length);
break;
+#endif
case LINUX_SLL_P_802_2:
/*
--- a/print-tcp.c
+++ b/print-tcp.c
@@ -565,12 +565,14 @@ tcp_print(netdissect_options *ndo,
ND_PRINT((ndo, " %u", utoval));
break;
+#ifndef TCPDUMP_MINI
case TCPOPT_MPTCP:
datalen = len - 2;
LENCHECK(datalen);
if (!mptcp_print(ndo, cp-2, len, flags))
goto bad;
break;
+#endif
case TCPOPT_FASTOPEN:
datalen = len - 2;
@@ -645,6 +647,7 @@ tcp_print(netdissect_options *ndo,
return;
}
+#ifndef TCPDUMP_MINI
if (ndo->ndo_packettype) {
switch (ndo->ndo_packettype) {
case PT_ZMTP1:
@@ -656,28 +659,36 @@ tcp_print(netdissect_options *ndo,
}
return;
}
+#endif
if (IS_SRC_OR_DST_PORT(TELNET_PORT)) {
telnet_print(ndo, bp, length);
} else if (IS_SRC_OR_DST_PORT(SMTP_PORT)) {
ND_PRINT((ndo, ": "));
smtp_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);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(REDIS_PORT))
resp_print(ndo, bp, length);
+#endif
#ifdef ENABLE_SMB
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);
+#endif
else if (IS_SRC_OR_DST_PORT(FTP_PORT)) {
ND_PRINT((ndo, ": "));
ftp_print(ndo, bp, length);
@@ -694,6 +705,7 @@ tcp_print(netdissect_options *ndo,
* XXX packet could be unaligned, it can go strange
*/
ns_print(ndo, bp + 2, length - 2, 0);
+#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)) {
@@ -701,6 +713,7 @@ tcp_print(netdissect_options *ndo,
}
else if (length > 0 && (IS_SRC_OR_DST_PORT(LDP_PORT))) {
ldp_print(ndo, bp, length);
+#endif
}
else if ((IS_SRC_OR_DST_PORT(NFS_PORT)) &&
length >= 4 && ND_TTEST2(*bp, 4)) {
--- a/print-udp.c
+++ b/print-udp.c
@@ -397,10 +397,12 @@ udp_print(netdissect_options *ndo, regis
vat_print(ndo, (const void *)(up + 1), up);
break;
+#ifndef TCPDUMP_MINI
case PT_WB:
udpipaddr_print(ndo, ip, sport, dport);
wb_print(ndo, (const void *)(up + 1), length);
break;
+#endif
case PT_RPC:
rp = (const struct sunrpc_msg *)(up + 1);
@@ -429,10 +431,12 @@ udp_print(netdissect_options *ndo, regis
snmp_print(ndo, (const u_char *)(up + 1), length);
break;
+#ifndef TCPDUMP_MINI
case PT_CNFP:
udpipaddr_print(ndo, ip, sport, dport);
cnfp_print(ndo, cp);
break;
+#endif
case PT_TFTP:
udpipaddr_print(ndo, ip, sport, dport);
@@ -450,6 +454,7 @@ udp_print(netdissect_options *ndo, regis
radius_print(ndo, cp, length);
break;
+#ifndef TCPDUMP_MINI
case PT_VXLAN:
udpipaddr_print(ndo, ip, sport, dport);
vxlan_print(ndo, (const u_char *)(up + 1), length);
@@ -464,6 +469,7 @@ udp_print(netdissect_options *ndo, regis
udpipaddr_print(ndo, ip, sport, dport);
lmp_print(ndo, cp, length);
break;
+#endif
}
return;
}
@@ -541,31 +547,40 @@ udp_print(netdissect_options *ndo, regis
ns_print(ndo, (const u_char *)(up + 1), length, 0);
else if (IS_SRC_OR_DST_PORT(MULTICASTDNS_PORT))
ns_print(ndo, (const u_char *)(up + 1), length, 1);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(TIMED_PORT))
timed_print(ndo, (const u_char *)(up + 1));
+#endif
else if (IS_SRC_OR_DST_PORT(TFTP_PORT))
tftp_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(BOOTPC_PORT) || IS_SRC_OR_DST_PORT(BOOTPS_PORT))
bootp_print(ndo, (const u_char *)(up + 1), length);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(RIP_PORT))
rip_print(ndo, (const u_char *)(up + 1), length);
+#endif
else if (IS_SRC_OR_DST_PORT(AODV_PORT))
aodv_print(ndo, (const u_char *)(up + 1), length,
ip6 != NULL);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT))
isakmp_print(ndo, (const u_char *)(up + 1), length, bp2);
+
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_NATT))
isakmp_rfc3948_print(ndo, (const u_char *)(up + 1), length, bp2);
#if 1 /*???*/
else if (IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER1) || IS_SRC_OR_DST_PORT(ISAKMP_PORT_USER2))
isakmp_print(ndo, (const u_char *)(up + 1), length, bp2);
#endif
+#endif
else if (IS_SRC_OR_DST_PORT(SNMP_PORT) || IS_SRC_OR_DST_PORT(SNMPTRAP_PORT))
snmp_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(NTP_PORT))
ntp_print(ndo, (const u_char *)(up + 1), 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 void *)(up + 1));
+#endif
else if (IS_SRC_OR_DST_PORT(L2TP_PORT))
l2tp_print(ndo, (const u_char *)(up + 1), length);
#ifdef ENABLE_SMB
@@ -576,6 +591,7 @@ udp_print(netdissect_options *ndo, regis
#endif
else if (dport == VAT_PORT)
vat_print(ndo, (const void *)(up + 1), up);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(ZEPHYR_SRV_PORT) || IS_SRC_OR_DST_PORT(ZEPHYR_CLT_PORT))
zephyr_print(ndo, (const void *)(up + 1), length);
/*
@@ -588,8 +604,11 @@ udp_print(netdissect_options *ndo, regis
(const u_char *) ip);
else if (IS_SRC_OR_DST_PORT(RIPNG_PORT))
ripng_print(ndo, (const u_char *)(up + 1), length);
+#endif
+
else if (IS_SRC_OR_DST_PORT(DHCP6_SERV_PORT) || IS_SRC_OR_DST_PORT(DHCP6_CLI_PORT))
dhcp6_print(ndo, (const u_char *)(up + 1), length);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(AHCP_PORT))
ahcp_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(BABEL_PORT) || IS_SRC_OR_DST_PORT(BABEL_PORT_OLD))
@@ -603,6 +622,7 @@ udp_print(netdissect_options *ndo, regis
wb_print(ndo, (const void *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(CISCO_AUTORP_PORT))
cisco_autorp_print(ndo, (const void *)(up + 1), 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) ||
@@ -610,15 +630,18 @@ udp_print(netdissect_options *ndo, regis
IS_SRC_OR_DST_PORT(RADIUS_CISCO_COA_PORT) ||
IS_SRC_OR_DST_PORT(RADIUS_COA_PORT) )
radius_print(ndo, (const u_char *)(up+1), length);
+#ifndef TCPDUMP_MINI
else if (dport == HSRP_PORT)
hsrp_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(LWRES_PORT))
lwres_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(LDP_PORT))
ldp_print(ndo, (const u_char *)(up + 1), length);
+#endif
else if (IS_SRC_OR_DST_PORT(OLSR_PORT))
olsr_print(ndo, (const u_char *)(up + 1), length,
(IP_V(ip) == 6) ? 1 : 0);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(MPLS_LSP_PING_PORT))
lspping_print(ndo, (const u_char *)(up + 1), length);
else if (dport == BFD_CONTROL_PORT ||
@@ -636,10 +659,12 @@ udp_print(netdissect_options *ndo, regis
lwapp_control_print(ndo, (const u_char *)(up + 1), length, 0);
else if (IS_SRC_OR_DST_PORT(LWAPP_DATA_PORT))
lwapp_data_print(ndo, (const u_char *)(up + 1), length);
+#endif
else if (IS_SRC_OR_DST_PORT(SIP_PORT))
sip_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(SYSLOG_PORT))
syslog_print(ndo, (const u_char *)(up + 1), length);
+#ifndef TCPDUMP_MINI
else if (IS_SRC_OR_DST_PORT(OTV_PORT))
otv_print(ndo, (const u_char *)(up + 1), length);
else if (IS_SRC_OR_DST_PORT(VXLAN_PORT))
@@ -656,7 +681,9 @@ udp_print(netdissect_options *ndo, regis
if (ndo->ndo_vflag)
ND_PRINT((ndo, "kip "));
llap_print(ndo, cp, length);
- } else {
+ }
+#endif
+ else {
if (ulen > length)
ND_PRINT((ndo, "UDP, bad length %u > %u",
ulen, length));