25466336 Update tcpdump to version 4.9.0 s11u3-sru
authorRich Burridge <rich.burridge@oracle.com>
Fri, 03 Mar 2017 15:29:05 -0800
branchs11u3-sru
changeset 7709 e38357099235
parent 7708 595edade5051
child 7711 48f87ff8204e
25466336 Update tcpdump to version 4.9.0 25466334 problem in UTILITY/TCPDUMP
components/tcpdump/Makefile
components/tcpdump/patches/10-arphrd-infiniband.patch
components/tcpdump/tcpdump.license
--- a/components/tcpdump/Makefile	Fri Mar 03 14:58:40 2017 -0800
+++ b/components/tcpdump/Makefile	Fri Mar 03 15:29:05 2017 -0800
@@ -18,23 +18,23 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		tcpdump
-COMPONENT_VERSION=	4.7.4
+COMPONENT_VERSION=	4.9.0
 COMPONENT_PROJECT_URL=	http://www.tcpdump.org/
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:5a321f0fb959b928f26112c9f49f81d754c23c1d8ffb0feb69304fee06b77e0a
+    sha256:eae98121cbb1c9adbedd9a777bf2eae9fa1c1c676424a54740311c8abcee5a5e
 COMPONENT_ARCHIVE_URL=	$(COMPONENT_PROJECT_URL)release/$(COMPONENT_ARCHIVE)
 COMPONENT_BUGDB=	utility/tcpdump
 
-TPNO=			22949
+TPNO=			33618
 
-# Prevent macro redefinition error 
+# Prevent macro redefinition error
 CFLAGS += -D _NETINET_IP_H
 
 include $(WS_MAKE_RULES)/prep.mk
@@ -55,19 +55,16 @@
 CONFIGURE_OPTIONS += --with-user=nobody
 CONFIGURE_OPTIONS += --without-crypto
 
-ASLR_MODE = $(ASLR_ENABLE)
-
-# common targets
-build:          $(BUILD_64)
-
-install:        $(INSTALL_64) 
-
 COMPONENT_PRE_TEST_ACTION = \
         ($(CP) -r $(SOURCE_DIR)/tests $(@D)/.)
 
-test:		$(TEST_64)
+ASLR_MODE = $(ASLR_ENABLE)
+
+build:          $(BUILD_64)
 
+install:        $(INSTALL_64)
 
+test:		$(TEST_64)
 
 REQUIRED_PACKAGES += system/library
 REQUIRED_PACKAGES += system/library/libpcap
--- a/components/tcpdump/patches/10-arphrd-infiniband.patch	Fri Mar 03 14:58:40 2017 -0800
+++ b/components/tcpdump/patches/10-arphrd-infiniband.patch	Fri Mar 03 15:29:05 2017 -0800
@@ -1,13 +1,10 @@
-InfiniBand support for tcpdump. 
-This is an in-house patch. Sent upstream for potential inclusion in future 
+InfiniBand support for tcpdump.
+This is an in-house patch. Sent upstream for potential inclusion in future
 versions of tcpdump.
 
-Using DLT value 162 is Solaris specific.
-
-diff -rupN tcpdump-4.7.4-orig/Makefile.in tcpdump-4.7.4/Makefile.in
---- tcpdump-4.7.4-orig/Makefile.in	2015-05-26 14:13:17.000000000 -0700
-+++ tcpdump-4.7.4/Makefile.in	2015-05-26 15:12:05.727800640 -0700
-@@ -138,6 +138,7 @@ LIBNETDISSECT_SRC=\
+--- tcpdump-4.9.0/Makefile.in.orig	2017-01-29 12:23:58.596267167 +0000
++++ tcpdump-4.9.0/Makefile.in	2017-01-29 12:49:27.808281048 +0000
+@@ -147,6 +147,7 @@
  	print-ipcomp.c \
  	print-ipfc.c \
  	print-ipnet.c \
@@ -15,30 +12,27 @@
  	print-ipx.c \
  	print-isakmp.c \
  	print-isoclns.c \
-diff -rupN tcpdump-4.7.4-orig/netdissect.h tcpdump-4.7.4/netdissect.h
---- tcpdump-4.7.4-orig/netdissect.h	2015-05-26 14:13:17.000000000 -0700
-+++ tcpdump-4.7.4/netdissect.h	2015-04-22 13:32:16.000000000 -0700
-@@ -395,6 +395,8 @@ extern void ether_print(netdissect_optio
- 
- extern u_int ether_if_print(netdissect_options *,
-                             const struct pcap_pkthdr *,const u_char *);
-+extern u_int ipoib_if_print(netdissect_options *,
-+                            const struct pcap_pkthdr *, const u_char *);
- extern u_int netanalyzer_if_print(netdissect_options *,
-                                   const struct pcap_pkthdr *,const u_char *);
- extern u_int netanalyzer_transparent_if_print(netdissect_options *,
-diff -rupN tcpdump-4.7.4-orig/print-arp.c tcpdump-4.7.4/print-arp.c
---- tcpdump-4.7.4-orig/print-arp.c	2015-05-26 14:13:17.000000000 -0700
-+++ tcpdump-4.7.4/print-arp.c	2015-03-09 12:07:00.000000000 -0700
-@@ -55,6 +55,7 @@ struct  arp_pkthdr {
+--- tcpdump-4.9.0/netdissect.h.orig	2017-01-29 12:25:29.886259423 +0000
++++ tcpdump-4.9.0/netdissect.h	2017-01-29 12:27:00.348907240 +0000
+@@ -410,6 +410,7 @@
+ extern u_int ieee802_11_radio_if_print IF_PRINTER_ARGS;
+ extern u_int ieee802_15_4_if_print IF_PRINTER_ARGS;
+ extern u_int ipfc_if_print IF_PRINTER_ARGS;
++extern u_int ipoib_if_print IF_PRINTER_ARGS;
+ extern u_int ipnet_if_print IF_PRINTER_ARGS;
+ extern u_int juniper_atm1_print IF_PRINTER_ARGS;
+ extern u_int juniper_atm2_print IF_PRINTER_ARGS;
+--- tcpdump-4.9.0/print-arp.c.orig	2017-01-29 12:27:35.797281364 +0000
++++ tcpdump-4.9.0/print-arp.c	2017-01-29 12:28:48.668009704 +0000
+@@ -56,6 +56,7 @@
  #define ARPHRD_ATM2225  19      /* ATM (RFC 2225) */
  #define ARPHRD_STRIP    23      /* Ricochet Starmode Radio hardware format */
  #define ARPHRD_IEEE1394 24      /* IEEE 1394 (FireWire) hardware format */
-+#define ARPHRD_INFINIBAND 32   /* InfiniBand RFC 4391 */
++#define ARPHRD_INFINIBAND 32    /* InfiniBand RFC 4391 */
          u_short ar_pro;         /* format of protocol address */
          u_char  ar_hln;         /* length of hardware address */
          u_char  ar_pln;         /* length of protocol address */
-@@ -115,6 +115,7 @@ static const struct tok arphrd_values[]
+@@ -116,6 +117,7 @@
      { ARPHRD_STRIP, "Strip" },
      { ARPHRD_IEEE1394, "IEEE 1394" },
      { ARPHRD_ATM2225, "ATM" },
@@ -46,10 +40,9 @@
      { 0, NULL }
  };
  
-diff -rupN tcpdump-4.7.4-orig/print-ipoib.c tcpdump-4.7.4/print-ipoib.c
---- tcpdump-4.7.4-orig/print-ipoib.c	1969-12-31 16:00:00.000000000 -0800
-+++ tcpdump-4.7.4/print-ipoib.c	2015-05-26 14:13:17.000000000 -0700
-@@ -0,0 +1,132 @@
+--- tcpdump-4.9.0/print-ipoib.c.orig	2017-01-29 12:30:15.468355816 +0000
++++ tcpdump-4.9.0/print-ipoib.c	2017-01-29 13:24:49.576498883 +0000
+@@ -0,0 +1,131 @@
 +/*
 + * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 
 + *	1997, 2000, 2011, 2012
@@ -83,29 +76,28 @@
 +#include "config.h"
 +#endif
 +
-+#include <tcpdump-stdinc.h>
++#include <netdissect-stdinc.h>
 +
 +#include <stdio.h>
 +#include <pcap.h>
 +
-+#include "interface.h"
++#include "netdissect.h"
 +#include "extract.h"
 +#include "addrtoname.h"
 +
 +
 +extern const struct tok ethertype_values[];
-+extern int ethertype_print(netdissect_options *, u_short, const u_char *, u_int, u_int );
 +
 +#define	IPOIB_HDRLEN	44
 +
 +static inline void
-+ipoib_hdr_print(register const u_char *bp, u_int length)
++ipoib_hdr_print(netdissect_options *ndo, const u_char *bp, u_int length)
 +{
 +	u_int16_t ether_type;
 +	char abuf[40];
 +
 +	ether_type = EXTRACT_16BITS(&bp[40]);
-+	if (!qflag) {
++	if (!ndo->ndo_qflag) {
 +		(void)printf(", ethertype %s (0x%04x)",
 +			     tok2str(ethertype_values,"Unknown", ether_type),
 +			     ether_type);
@@ -124,7 +116,7 @@
 + * frame's protocol, and an argument to pass to that function.
 + */
 +static void
-+ipoib_print(const u_char *p, u_int length, u_int caplen,
++ipoib_print(netdissect_options *ndo, const u_char *p, u_int length, u_int caplen,
 +    void (*print_encap_header)(const u_char *), const u_char *encap_header_arg)
 +{
 +	const u_char *orig_hdr = p;
@@ -137,10 +129,10 @@
 +		return;
 +	}
 +
-+	if (eflag) {
++	if (ndo->ndo_eflag) {
 +		if (print_encap_header != NULL)
 +			(*print_encap_header)(encap_header_arg);
-+		ipoib_hdr_print(p, length);
++		ipoib_hdr_print(ndo, p, length);
 +	}
 +	orig_length = length;
 +
@@ -149,16 +141,16 @@
 +	ether_type = EXTRACT_16BITS(&p[40]);
 +	p += IPOIB_HDRLEN;
 +
-+	if (ethertype_print(gndo, ether_type, p, length, caplen) == 0) {
++	if (ethertype_print(ndo, ether_type, p, length, caplen, NULL, NULL) == 0) {
 +		/* ether_type not known, print raw packet */
-+		if (!eflag) {
++		if (!ndo->ndo_eflag) {
 +			if (print_encap_header != NULL)
 +				(*print_encap_header)(encap_header_arg);
-+			ipoib_hdr_print(orig_hdr , orig_length);
++			ipoib_hdr_print(ndo, orig_hdr , orig_length);
 +		}
 +
-+		if (!suppress_default_print)
-+			default_print(p, caplen);
++		if (!ndo->ndo_suppress_default_print)
++			ND_DEFAULTPRINT(p, caplen);
 +	}
 +}
 +
@@ -171,7 +163,7 @@
 +u_int
 +ipoib_if_print(netdissect_options *ndo, const struct pcap_pkthdr *h, const u_char *p)
 +{
-+	ipoib_print(p, h->len, h->caplen, NULL, NULL);
++	ipoib_print(ndo, p, h->len, h->caplen, NULL, NULL);
 +
 +	return (IPOIB_HDRLEN);
 +}
@@ -182,19 +174,14 @@
 + * c-basic-offset: 8
 + * End:
 + */
-diff -rupN tcpdump-4.7.4-orig/tcpdump.c tcpdump-4.7.4/tcpdump.c
---- tcpdump-4.7.4-orig/tcpdump.c	2015-05-26 14:13:17.000000000 -0700
-+++ tcpdump-4.7.4/tcpdump.c	2015-05-26 15:17:43.298240116 -0700
-@@ -264,6 +264,13 @@ static const struct ndo_printer ndo_prin
+--- tcpdump-4.9.0/print.c.orig	2017-01-29 12:32:40.142061378 +0000
++++ tcpdump-4.9.0/print.c	2017-01-29 12:38:05.641526344 +0000
+@@ -99,6 +99,9 @@
  #ifdef DLT_IPV6
  	{ raw_if_print,		DLT_IPV6 },
  #endif
 +#ifdef DLT_IPOIB
-+	{ ipoib_if_print, 	DLT_IPOIB },
-+	/* Following record is temporary at least till following bug is fixed in
-+	   all relevant releases:
-+	   22741013 - wrong value for DLT_IPOIB in dlt.h as in ON */
-+	{ ipoib_if_print, 	162 },
++	{ ipoib_if_print,       DLT_IPOIB },
 +#endif
  #ifdef HAVE_PCAP_USB_H
  #ifdef DLT_USB_LINUX
--- a/components/tcpdump/tcpdump.license	Fri Mar 03 14:58:40 2017 -0800
+++ b/components/tcpdump/tcpdump.license	Fri Mar 03 15:29:05 2017 -0800
@@ -15,7 +15,7 @@
 Copyright (C) 2001 Fortress Technologies
 Copyright (C) 1991 Massachusetts Institute of Technology
 Copyright (C) 1990,1996 John Robert LoVersoi
-Copyright (C) 1999-2001 William C. Fenneri
+Copyright (C) 1999-2001 William C. Fenner
 Copyright (C) 1993 by Digital Equipment Corporation
 Copyright (C) 1998-2012  Michael Richardson <[email protected]>
 Copyright (C) 1993-1994 Jeffrey C. Mogul, Digital Equipment Corporation, Western Research Laboratory
@@ -56,6 +56,18 @@
 Copyright (c) 1999 Kungliga Tekniska Högskolan (Royal Institute of Technology, Stockholm, Sweden)
 Copyright (c) 2014 VMware, Inc.
 Copyright (c) 1986-2008 by Cisco Systems, Inc.
+Copyright (c) 1996-1999 by Internet Software Consortium.
+Copyright (c) 2004 Internet Systems Consortium, Inc. ("ISC")
+Copyright (c) 2007-2011 Grégoire Henry, Juliusz Chroboczeko
+Copyright (c) 2009 Florian Forster
+Copyright (c) 2009 Bert Vermeulen <[email protected]>
+Copyright (c) 2009 Mojatatu Networks, Inc
+Copyright (c) 2011 Advanced Computing Technologies
+Copyright (c) 2013 Petar Alilovic
+Copyright (c) 2013 Romain Francoise <[email protected]>
+Copyright (c) 2015 bugyo
+Copyright (c) 2015 Ritesh Ranjan ([email protected])
+Copyright (c) 2016 Antonin Décimo, Jean-Raphaël Gaglioneag