diff options
Diffstat (limited to 'net-analyzer/tcpdump')
-rw-r--r-- | net-analyzer/tcpdump/ChangeLog | 8 | ||||
-rw-r--r-- | net-analyzer/tcpdump/Manifest | 13 | ||||
-rw-r--r-- | net-analyzer/tcpdump/files/digest-tcpdump-3.8.3-r2 | 1 | ||||
-rw-r--r-- | net-analyzer/tcpdump/files/tcpdump-3.8.3-gentoo.patch | 95 | ||||
-rw-r--r-- | net-analyzer/tcpdump/tcpdump-3.8.3-r2.ebuild | 44 |
5 files changed, 150 insertions, 11 deletions
diff --git a/net-analyzer/tcpdump/ChangeLog b/net-analyzer/tcpdump/ChangeLog index 989f093803d7..ef2a01052e8d 100644 --- a/net-analyzer/tcpdump/ChangeLog +++ b/net-analyzer/tcpdump/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-analyzer/tcpdump # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-analyzer/tcpdump/ChangeLog,v 1.34 2005/01/31 14:18:01 dragonheart Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/tcpdump/ChangeLog,v 1.35 2005/05/06 22:16:12 vanquirius Exp $ + +*tcpdump-3.8.3-r2 (06 May 2005) + + 06 May 2005; Marcelo Goes <vanquirius@gentoo.org> + +files/tcpdump-3.8.3-gentoo.patch, +tcpdump-3.8.3-r2.ebuild: + Adding security patch. 31 Jan 2005; Daniel Black <dragonheart@gentoo.org> tcpdump-3.8.3-r1.ebuild: virtual/libpcap transition diff --git a/net-analyzer/tcpdump/Manifest b/net-analyzer/tcpdump/Manifest index cb640a64f2bd..b77553833df9 100644 --- a/net-analyzer/tcpdump/Manifest +++ b/net-analyzer/tcpdump/Manifest @@ -1,14 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - MD5 8c5b3bdacca3d85a1d84a55f3db230c5 tcpdump-3.8.3-r1.ebuild 1092 MD5 0f61b66cd56e867c1e3e3414f347759c ChangeLog 4616 MD5 1465cdeb961745379a8ae1402b3e51ab metadata.xml 268 +MD5 5a315f0a27e3d4ae6e9d1bdff6120afe tcpdump-3.8.3-r2.ebuild 1168 MD5 d285bb203f9e48fc23492e4c72d61a94 files/digest-tcpdump-3.8.3-r1 65 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.0 (GNU/Linux) - -iD8DBQFCDJHfEZCkKN40op4RAhgsAKCaoDE2r46BDeh5dL6cZdkF30NOlwCcC+SN -Y0pLR77mZk4F3LDOXH+n8Yo= -=nE3b ------END PGP SIGNATURE----- +MD5 d285bb203f9e48fc23492e4c72d61a94 files/digest-tcpdump-3.8.3-r2 65 +MD5 4d0df7aa1535098ccef25ba7e86e5e95 files/tcpdump-3.8.3-gentoo.patch 4002 diff --git a/net-analyzer/tcpdump/files/digest-tcpdump-3.8.3-r2 b/net-analyzer/tcpdump/files/digest-tcpdump-3.8.3-r2 new file mode 100644 index 000000000000..3fe68092ba2f --- /dev/null +++ b/net-analyzer/tcpdump/files/digest-tcpdump-3.8.3-r2 @@ -0,0 +1 @@ +MD5 30645001f4b97019677cad88d3811904 tcpdump-3.8.3.tar.gz 567116 diff --git a/net-analyzer/tcpdump/files/tcpdump-3.8.3-gentoo.patch b/net-analyzer/tcpdump/files/tcpdump-3.8.3-gentoo.patch new file mode 100644 index 000000000000..d18d66ebfb9c --- /dev/null +++ b/net-analyzer/tcpdump/files/tcpdump-3.8.3-gentoo.patch @@ -0,0 +1,95 @@ +diff --exclude='*~' -Naur tcpdump-3.8.3.orig/print-bgp.c tcpdump-3.8.3/print-bgp.c +--- tcpdump-3.8.3.orig/print-bgp.c 2005-05-06 17:41:55.000000000 -0300 ++++ tcpdump-3.8.3/print-bgp.c 2005-05-06 17:45:08.000000000 -0300 +@@ -1216,6 +1216,8 @@ + tptr = pptr + len; + break; + } ++ if (advance < 0) /* infinite loop protection */ ++ break; + tptr += advance; + } + break; +diff --exclude='*~' -Naur tcpdump-3.8.3.orig/print-isoclns.c tcpdump-3.8.3/print-isoclns.c +--- tcpdump-3.8.3.orig/print-isoclns.c 2005-05-06 17:41:55.000000000 -0300 ++++ tcpdump-3.8.3/print-isoclns.c 2005-05-06 17:53:57.000000000 -0300 +@@ -1250,11 +1250,11 @@ + break; + case L1_CSNP: + case L2_CSNP: +- printf(", src-id %s", isis_print_id(header_csnp->source_id,SYSTEM_ID_LEN)); ++ printf(", src-id %s", isis_print_id(header_csnp->source_id,NODE_ID_LEN)); + break; + case L1_PSNP: + case L2_PSNP: +- printf(", src-id %s", isis_print_id(header_psnp->source_id,SYSTEM_ID_LEN)); ++ printf(", src-id %s", isis_print_id(header_psnp->source_id,NODE_ID_LEN)); + break; + + } +@@ -1506,6 +1506,9 @@ + tlv_type, + tlv_len); + ++ if (tlv_len == 0) /* something is malformed */ ++ break; ++ + /* now check if we have a decoder otherwise do a hexdump at the end*/ + switch (tlv_type) { + case TLV_AREA_ADDR: +@@ -1536,7 +1539,7 @@ + break; + + case TLV_ISNEIGH_VARLEN: +- if (!TTEST2(*tptr, 1)) ++ if (!TTEST2(*tptr, 1) || tmp < 3) /* min. TLV length */ + goto trunctlv; + lan_alen = *tptr++; /* LAN adress length */ + tmp --; +diff --exclude='*~' -Naur tcpdump-3.8.3.orig/print-ldp.c tcpdump-3.8.3/print-ldp.c +--- tcpdump-3.8.3.orig/print-ldp.c 2005-05-06 17:41:55.000000000 -0300 ++++ tcpdump-3.8.3/print-ldp.c 2005-05-06 17:49:09.000000000 -0300 +@@ -326,6 +326,9 @@ + EXTRACT_32BITS(&ldp_msg_header->id), + LDP_MASK_U_BIT(EXTRACT_16BITS(&ldp_msg_header->type)) ? "continue processing" : "ignore"); + ++ if (msg_len == 0) /* infinite loop protection */ ++ break; ++ + msg_tptr=tptr+sizeof(struct ldp_msg_header); + msg_tlen=msg_len-sizeof(struct ldp_msg_header)+4; /* Type & Length fields not included */ + +diff --exclude='*~' -Naur tcpdump-3.8.3.orig/print-rsvp.c tcpdump-3.8.3/print-rsvp.c +--- tcpdump-3.8.3.orig/print-rsvp.c 2005-05-06 17:41:55.000000000 -0300 ++++ tcpdump-3.8.3/print-rsvp.c 2005-05-06 17:51:12.000000000 -0300 +@@ -875,10 +875,17 @@ + switch(rsvp_obj_ctype) { + case RSVP_CTYPE_IPV4: + while(obj_tlen >= 4 ) { +- printf("\n\t Subobject Type: %s", ++ printf("\n\t Subobject Type: %s, length %u", + tok2str(rsvp_obj_xro_values, + "Unknown %u", +- RSVP_OBJ_XRO_MASK_SUBOBJ(*obj_tptr))); ++ RSVP_OBJ_XRO_MASK_SUBOBJ(*obj_tptr)), ++ *(obj_tptr+1)); ++ ++ if (*(obj_tptr+1) == 0) { /* prevent infinite loops */ ++ printf("\n\t ERROR: zero length ERO subtype"); ++ break; ++ } ++ + switch(RSVP_OBJ_XRO_MASK_SUBOBJ(*obj_tptr)) { + case RSVP_OBJ_XRO_IPV4: + printf(", %s, %s/%u, Flags: [%s]", +@@ -921,8 +928,8 @@ + if (obj_tlen < 8) + return; + printf("\n\t Restart Time: %ums, Recovery Time: %ums", +- EXTRACT_16BITS(obj_tptr), +- EXTRACT_16BITS(obj_tptr+4)); ++ EXTRACT_32BITS(obj_tptr), ++ EXTRACT_32BITS(obj_tptr+4)); + obj_tlen-=8; + obj_tptr+=8; + break; diff --git a/net-analyzer/tcpdump/tcpdump-3.8.3-r2.ebuild b/net-analyzer/tcpdump/tcpdump-3.8.3-r2.ebuild new file mode 100644 index 000000000000..5a175e3a9bba --- /dev/null +++ b/net-analyzer/tcpdump/tcpdump-3.8.3-r2.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/tcpdump/tcpdump-3.8.3-r2.ebuild,v 1.1 2005/05/06 22:16:12 vanquirius Exp $ + +inherit flag-o-matic gcc + +DESCRIPTION="A Tool for network monitoring and data acquisition" +HOMEPAGE="http://www.tcpdump.org/" +SRC_URI="mirror://sourceforge/tcpdump/${P}.tar.gz + http://www.tcpdump.org/release/${P}.tar.gz + http://www.jp.tcpdump.org/release/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~ia64 ~amd64 ~ppc64" +IUSE="ssl ipv6" + +DEPEND="virtual/libpcap + ssl? ( >=dev-libs/openssl-0.9.6m )" + +src_unpack() { + unpack ${A} + epatch ${FILESDIR}/${PN}-3.8.3-gentoo.patch +} + +src_compile() { + replace-flags -O[3-9] -O2 + filter-flags -finline-functions + + if [ "`gcc-major-version`" -ge "3" -a "`gcc-minor-version`" -ge "4" ]; then + filter-flags -funit-at-a-time + append-flags -fno-unit-at-a-time #48747 + fi + + econf `use_with ssl crypto` `use_enable ipv6` || die + make CCOPT="$CFLAGS" || die +} + +src_install() { + dosbin tcpdump || die + doman tcpdump.1 + dodoc *.awk + dodoc README FILES VERSION CHANGES +} |