mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-26 03:24:26 -04:00 
			
		
		
		
	Fixed CVEs: CVE-2017-16808 CVE-2018-10103 CVE-2018-10105 CVE-2018-14461 CVE-2018-14462 CVE-2018-14463 CVE-2018-14464 CVE-2018-14465 CVE-2018-14466 CVE-2018-14467 CVE-2018-14468 CVE-2018-14469 CVE-2018-14470 CVE-2018-14879 CVE-2018-14880 CVE-2018-14881 CVE-2018-14882 CVE-2018-16227 CVE-2018-16228 CVE-2018-16229 CVE-2018-16230 CVE-2018-16300 CVE-2018-16301 CVE-2018-16451 CVE-2018-16452 CVE-2019-15166 CVE-2019-15167 Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
		
			
				
	
	
		
			858 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			858 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/Makefile.in
 | |
| +++ b/Makefile.in
 | |
| @@ -72,6 +72,80 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
 | |
|  
 | |
|  CSRC =	setsignal.c tcpdump.c
 | |
|  
 | |
| +ifdef TCPDUMP_MINI
 | |
| +
 | |
| +LIBNETDISSECT_SRC=\
 | |
| +	netdissect.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
 | |
| +
 | |
|  LIBNETDISSECT_SRC=\
 | |
|  	addrtoname.c \
 | |
|  	addrtostr.c \
 | |
| @@ -237,6 +311,8 @@ LIBNETDISSECT_SRC=\
 | |
|  	strtoaddr.c \
 | |
|  	util-print.c
 | |
|  
 | |
| +endif
 | |
| +
 | |
|  LOCALSRC = @LOCALSRC@
 | |
|  GENSRC = version.c
 | |
|  LIBOBJS = @LIBOBJS@
 | |
| --- a/addrtoname.c
 | |
| +++ b/addrtoname.c
 | |
| @@ -578,8 +578,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->bs_name)
 | |
| @@ -1214,6 +1216,7 @@ init_addrtoname(netdissect_options *ndo,
 | |
|  	init_ipxsaparray(ndo);
 | |
|  }
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  const char *
 | |
|  dnaddr_string(netdissect_options *ndo, u_short dnaddr)
 | |
|  {
 | |
| @@ -1230,6 +1233,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
 | |
| @@ -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);
 | |
| @@ -368,6 +369,7 @@ ethertype_print(netdissect_options *ndo,
 | |
|  		}
 | |
|  		isoclns_print(ndo, p + 1, length - 1);
 | |
|  		return(1);
 | |
| +#endif
 | |
|  
 | |
|  	case ETHERTYPE_PPPOED:
 | |
|  	case ETHERTYPE_PPPOES:
 | |
| @@ -380,9 +382,11 @@ ethertype_print(netdissect_options *ndo,
 | |
|  	        eap_print(ndo, p, length);
 | |
|  		return (1);
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case ETHERTYPE_RRCP:
 | |
|  	        rrcp_print(ndo, p, length, src, dst);
 | |
|  		return (1);
 | |
| +#endif
 | |
|  
 | |
|  	case ETHERTYPE_PPP:
 | |
|  		if (length) {
 | |
| @@ -391,6 +395,7 @@ ethertype_print(netdissect_options *ndo,
 | |
|  		}
 | |
|  		return (1);
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case ETHERTYPE_MPCP:
 | |
|  	        mpcp_print(ndo, p, length);
 | |
|  		return (1);
 | |
| @@ -403,6 +408,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);
 | |
| @@ -412,6 +418,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);
 | |
| @@ -441,6 +448,7 @@ ethertype_print(netdissect_options *ndo,
 | |
|  	case ETHERTYPE_MEDSA:
 | |
|  		medsa_print(ndo, p, length, caplen, src, dst);
 | |
|  		return (1);
 | |
| +#endif
 | |
|  
 | |
|  	case ETHERTYPE_LAT:
 | |
|  	case ETHERTYPE_SCA:
 | |
| --- a/print-gre.c
 | |
| +++ b/print-gre.c
 | |
| @@ -216,6 +216,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;
 | |
| @@ -231,6 +232,7 @@ gre_print_0(netdissect_options *ndo, con
 | |
|  	case ETHERTYPE_TEB:
 | |
|  		ether_print(ndo, bp, len, ndo->ndo_snapend - bp, NULL, NULL);
 | |
|  		break;
 | |
| +#endif
 | |
|  	default:
 | |
|  		ND_PRINT((ndo, "gre-proto-0x%x", prot));
 | |
|  	}
 | |
| --- a/print-igmp.c
 | |
| +++ b/print-igmp.c
 | |
| @@ -306,6 +306,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)
 | |
| @@ -317,6 +318,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
 | |
| @@ -305,6 +305,7 @@ ip6_print(netdissect_options *ndo, const
 | |
|  				return;
 | |
|  			nh = *cp;
 | |
|  			break;
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  		case IPPROTO_FRAGMENT:
 | |
|  			advance = frag6_print(ndo, cp, (const u_char *)ip6);
 | |
|  			if (advance < 0 || ndo->ndo_snapend <= cp + advance)
 | |
| @@ -328,6 +329,7 @@ ip6_print(netdissect_options *ndo, const
 | |
|  				return;
 | |
|  			nh = *cp;
 | |
|  			return;
 | |
| +#endif
 | |
|  		case IPPROTO_ROUTING:
 | |
|  			ND_TCHECK(*cp);
 | |
|  			advance = rt6_print(ndo, cp, (const u_char *)ip6);
 | |
| @@ -335,12 +337,14 @@ ip6_print(netdissect_options *ndo, const
 | |
|  				return;
 | |
|  			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;
 | |
| @@ -350,6 +354,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);
 | |
|  			if (advance < 0)
 | |
| @@ -382,6 +387,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);
 | |
| @@ -395,9 +401,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
 | |
| @@ -344,6 +344,7 @@ ip_print_demux(netdissect_options *ndo,
 | |
|  again:
 | |
|  	switch (ipds->nh) {
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case IPPROTO_AH:
 | |
|  		if (!ND_TTEST(*ipds->cp)) {
 | |
|  			ND_PRINT((ndo, "[|AH]"));
 | |
| @@ -382,7 +383,9 @@ again:
 | |
|  		 */
 | |
|  		break;
 | |
|  	}
 | |
| +#endif
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case IPPROTO_SCTP:
 | |
|  		sctp_print(ndo, ipds->cp, (const u_char *)ipds->ip, ipds->len);
 | |
|  		break;
 | |
| @@ -390,6 +393,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 */
 | |
| @@ -409,6 +413,7 @@ again:
 | |
|  			   ipds->off & (IP_MF|IP_OFFMASK));
 | |
|  		break;
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case IPPROTO_PIGP:
 | |
|  		/*
 | |
|  		 * XXX - the current IANA protocol number assignments
 | |
| @@ -429,14 +434,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);
 | |
| @@ -469,6 +477,7 @@ again:
 | |
|  		gre_print(ndo, ipds->cp, ipds->len);
 | |
|  		break;
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	case IPPROTO_MOBILE:
 | |
|  		mobile_print(ndo, ipds->cp, ipds->len);
 | |
|  		break;
 | |
| @@ -497,6 +506,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 && (p_name = netdb_protoname(ipds->nh)) != NULL)
 | |
| --- a/print-llc.c
 | |
| +++ b/print-llc.c
 | |
| @@ -206,6 +206,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
 | |
| @@ -228,6 +229,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;
 | |
| @@ -291,6 +293,7 @@ llc_print(netdissect_options *ndo, const
 | |
|  		return (hdrlen);
 | |
|  	}
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  	if (ssap == LLCSAP_IPX && dsap == LLCSAP_IPX &&
 | |
|  	    control == LLC_UI) {
 | |
|  		/*
 | |
| @@ -304,6 +307,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
 | |
| @@ -322,12 +326,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);
 | |
|  		return (hdrlen);
 | |
|  	}
 | |
| -
 | |
| +#endif
 | |
|  	if (!ndo->ndo_eflag) {
 | |
|  		if (ssap == dsap) {
 | |
|  			if (src == NULL || dst == NULL)
 | |
| @@ -480,6 +485,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);
 | |
| @@ -492,6 +498,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);
 | |
| @@ -504,6 +511,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:
 | |
|  			/*
 | |
| @@ -565,6 +573,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
 | |
| @@ -116,6 +116,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);
 | |
|  		break;
 | |
| @@ -127,6 +128,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
 | |
| @@ -1367,6 +1367,7 @@ trunc:
 | |
|  	return 0;
 | |
|  }
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|  static void
 | |
|  ppp_hdlc(netdissect_options *ndo,
 | |
|           const u_char *p, int length)
 | |
| @@ -1445,6 +1446,7 @@ trunc:
 | |
|  	free(b);
 | |
|  	ND_PRINT((ndo, "[|ppp]"));
 | |
|  }
 | |
| +#endif
 | |
|  
 | |
|  
 | |
|  /* PPP */
 | |
| @@ -1452,10 +1454,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 */
 | |
| @@ -1488,6 +1492,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);
 | |
| @@ -1499,6 +1504,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;
 | |
| @@ -1639,6 +1645,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,
 | |
| @@ -1866,6 +1873,7 @@ printx:
 | |
|  #endif /* __bsdi__ */
 | |
|  	return (hdrlength);
 | |
|  }
 | |
| +#endif
 | |
|  
 | |
|  
 | |
|  /*
 | |
| --- a/print-sll.c
 | |
| +++ b/print-sll.c
 | |
| @@ -249,12 +249,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
 | |
| @@ -589,12 +589,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;
 | |
| @@ -670,6 +672,7 @@ tcp_print(netdissect_options *ndo,
 | |
|                  return;
 | |
|          }
 | |
|  
 | |
| +#ifndef TCPDUMP_MINI
 | |
|          if (ndo->ndo_packettype) {
 | |
|                  switch (ndo->ndo_packettype) {
 | |
|                  case PT_ZMTP1:
 | |
| @@ -681,28 +684,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);
 | |
| @@ -725,6 +736,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)) {
 | |
| @@ -732,6 +744,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
 | |
| @@ -430,10 +430,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);
 | |
| @@ -462,10 +464,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);
 | |
| @@ -483,6 +487,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);
 | |
| @@ -497,6 +502,7 @@ udp_print(netdissect_options *ndo, regis
 | |
|  			udpipaddr_print(ndo, ip, sport, dport);
 | |
|  			lmp_print(ndo, cp, length);
 | |
|  			break;
 | |
| +#endif
 | |
|  		}
 | |
|  		return;
 | |
|  	}
 | |
| @@ -574,31 +580,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
 | |
| @@ -609,6 +624,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);
 | |
|  		/*
 | |
| @@ -621,8 +637,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))
 | |
| @@ -636,6 +655,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) ||
 | |
| @@ -643,15 +663,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 ||
 | |
| @@ -669,10 +692,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))
 | |
| @@ -689,7 +714,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));
 |