summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-04-14 05:07:39 +0000
committerMike Frysinger <vapier@gentoo.org>2008-04-14 05:07:39 +0000
commit9b6f04aa31624f5192c11cc96b4a6d32c55cb1b7 (patch)
treebaa5d1d5157bb7d1e98a941c4d1d2752d2850cf3 /sys-apps/net-tools
parentNew version based on current cvs. (diff)
downloadgentoo-2-9b6f04aa31624f5192c11cc96b4a6d32c55cb1b7.tar.gz
gentoo-2-9b6f04aa31624f5192c11cc96b4a6d32c55cb1b7.tar.bz2
gentoo-2-9b6f04aa31624f5192c11cc96b4a6d32c55cb1b7.zip
New version based on current cvs.
(Portage version: 2.2_pre5) (Signed Manifest commit)
Diffstat (limited to 'sys-apps/net-tools')
-rw-r--r--sys-apps/net-tools/Manifest21
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0001-git-ignores.patch41
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0002-respect-normal-toolchain-envvars.patch66
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0003-libdir-needs-version.h.patch25
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0004-document-the-e-option.patch57
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0005-all-of-the-8-man-pages-are-administrator-not-pr.patch127
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0006-handle-just-raw-IP-info.patch27
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0007-prevent-overflows-in-interface-buffers.patch76
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0008-Mads-Martin-Joergensen-writes.patch67
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0009-Patch-by-pasi.valminen-hut.fi-to-fix-FQDN-handling-w.patch124
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch228
-rw-r--r--sys-apps/net-tools/files/1.60_p20071202044231/0011-comabug-gmail.com-writes.patch140
12 files changed, 995 insertions, 4 deletions
diff --git a/sys-apps/net-tools/Manifest b/sys-apps/net-tools/Manifest
index 1f09f1380456..10258e225a6b 100644
--- a/sys-apps/net-tools/Manifest
+++ b/sys-apps/net-tools/Manifest
@@ -1,15 +1,28 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+AUX 1.60_p20071202044231/0001-git-ignores.patch 654 RMD160 244cdb40c5969f29a9690ad1781142e6c5b91442 SHA1 a06a5ff44bea3d34f124ea52ff94226a7fb50966 SHA256 377a46a5ab37a654c5bf58fa42adccb1ceee11a8c083e6000a3df4dc958e1811
+AUX 1.60_p20071202044231/0002-respect-normal-toolchain-envvars.patch 1704 RMD160 5dd0f00322fb58944d8d462f7738ca7250531d72 SHA1 611a52dc05671716a6b6cbb19136cc23c0d31883 SHA256 ecc53f99547031dc33bc587af260fc797f4bc2696b55bbeba98bc321744479a2
+AUX 1.60_p20071202044231/0003-libdir-needs-version.h.patch 529 RMD160 c9391036b30265231e572eababae568ecbf520aa SHA1 a89fdcc1244892985e29f26557b68b021f053948 SHA256 89bb41bbb361466d2e75d054b302c5d09668710b1bb2c558f3053fa8ae34c447
+AUX 1.60_p20071202044231/0004-document-the-e-option.patch 1962 RMD160 db3b81c09b52a4d8e69aceae0f4e879a6b80e6c1 SHA1 da952486ca943a1809f8a2d9f25e11180262bb35 SHA256 35aa9d70234eaf37c90edecf17eb012b83a089ec4ffd14ebec1509ecc6aa8290
+AUX 1.60_p20071202044231/0005-all-of-the-8-man-pages-are-administrator-not-pr.patch 4356 RMD160 17013266d3f27c9ffc09e0eb2acb41cbbb581d9a SHA1 9e4a07a63df7426e9b0eacc0e3452f539c5a6f91 SHA256 32d5c56630ef8724f33399ffe93eb07cfec6aee3f33479708c4529a6913f8ec6
+AUX 1.60_p20071202044231/0006-handle-just-raw-IP-info.patch 772 RMD160 633072ac3734ef8088e59302b1692a641ef05c16 SHA1 eb1964e5ae8335625278ca36005a82e50a7a21fb SHA256 d480f847de0cefd1e5975036819c3c91b96062063fd9b5da5cea4dd2e7d6c179
+AUX 1.60_p20071202044231/0007-prevent-overflows-in-interface-buffers.patch 2595 RMD160 e716cb5360615025cf75b212043817c7b9bf2fe7 SHA1 b9a88062886220d350d94174e49649d169d9b11e SHA256 4993b256988ed1f59f52b2a83132989a57f04c0f1def0174f06e73cb7b3ee386
+AUX 1.60_p20071202044231/0008-Mads-Martin-Joergensen-writes.patch 3003 RMD160 5cefe53621b9e109e93f9e107f65861bca3f6d08 SHA1 733cec0414c4a5b93db64dbe2e6d8c7d8ccb9580 SHA256 331c61893aafddd785d811439681c1a9c84363e8134044bd9658c2a2627c73d4
+AUX 1.60_p20071202044231/0009-Patch-by-pasi.valminen-hut.fi-to-fix-FQDN-handling-w.patch 3934 RMD160 1e3534f3d3e95d2f9b7bc1a64d131e8c4e88087d SHA1 7a7d74a12b6d78de1262594e9e3827b425cbcda4 SHA256 f49a10c20559dacdaef5028856215bf12cf2bdaf3ae652578c7708e560867c37
+AUX 1.60_p20071202044231/0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch 5932 RMD160 41f28282d64323539467c31b28a58b8fa426b47c SHA1 c7b33ea9197284980b820ed88a2d32af33682c06 SHA256 c40470b249f162faec7d0eaf7be7bccab5b3dd1a3e1264439afaa782b0d5824f
+AUX 1.60_p20071202044231/0011-comabug-gmail.com-writes.patch 5578 RMD160 78caed73438814e10864f5462f7e15486b5b97a0 SHA1 79fae683bb9494fbecc221c69c26b134af8c6378 SHA256 38faa2d667f5c275dedea383bb4b2a99fc2b2fd08224ac669284ad6d1ff1533c
DIST net-tools-1.60-patches-1.6.tar.bz2 106557 RMD160 1dce9fecbbab849bfdb8b832ee4baf5cead983d9 SHA1 709d1c8f611225f851ec6227b4928ae9f97edbb5 SHA256 61df3fca2bd30a752231285bd714edcadc0c5206a09954eb1861a68a0ef4bba9
DIST net-tools-1.60.tar.bz2 198520 RMD160 58376371a9383842640d2c4215cf771d522ee43e SHA1 944fb70641505d5d1139dba3aeb81ba124574b83 SHA256 7ae4dd6d44d6715f18e10559ffd270511b6e55a8900ca54fbebafe0ae6cf7d7b
+DIST net-tools-1.60_p20071202044231.tar.lzma 183956 RMD160 c3a836b865333326cb868da1d586383d30b3d153 SHA1 0b34c293ae3fde2ac2ec1c416e71478d242c1002 SHA256 381bce364d144b140d2e44b4a9430cd292d8410185099b5cc45502a5e6111de8
EBUILD net-tools-1.60-r13.ebuild 2267 RMD160 6fed42c892dbfa5fd13daba8ebd8b6c8d63365c8 SHA1 a26ad4ec81a9003a586eb58f87248e9e006db6ba SHA256 22f1c4ab8848ae781813e89701eaff9147f68a6534c39831dd9aa1ff0dac70d5
-MISC ChangeLog 11136 RMD160 21e32e2fbadc0a0aa660546d48b3c8a11934a7b5 SHA1 c6eb74df1d812f3dd237fb4a13017f8683be66ce SHA256 e0656b0a77208080b54a31ff59ccc37b1358c5bc8793be316172c919ac6bc6f4
+EBUILD net-tools-1.60_p20071202044231.ebuild 1506 RMD160 a15424ddfbbc56f0ed3770ac37d10b0fcc7be1de SHA1 f060e2b3b886d606c297c9b1571d284b7a846b02 SHA256 1469ca3bdefe99cbea87e9c65dca77e160c055bfa84e572d6f9b43599647184a
+MISC ChangeLog 12144 RMD160 68e017bad5ceaf8660e4d348f22a5be7f867a3eb SHA1 e2c6150c5c729ba8a539f085c58eb48aff80ba85 SHA256 cd6940de2e6b912f8bd2bebaa42d9253e705560405dc43309f8d93b27d805307
MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.7 (GNU/Linux)
-iD8DBQFH/oMNj9hvisErhMIRAiWPAJ0cEv/E1Pkppn84Yx+lQddXlLO71gCg160O
-gvmqJKwg4SBomH/OwAXw9i8=
-=mGIl
+iD8DBQFIAuaZj9hvisErhMIRAqEGAJ9YPSiRjLJI3+MgbBE0fgexCVyupwCfYy+s
+CflyUQaeMRIrZmCIccJxmJ4=
+=eddm
-----END PGP SIGNATURE-----
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0001-git-ignores.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0001-git-ignores.patch
new file mode 100644
index 000000000000..314bcf1604f8
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0001-git-ignores.patch
@@ -0,0 +1,41 @@
+From cc21d43a5991764a2dc2bfc5b22a19cec2f62180 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 13 Apr 2008 23:57:55 -0400
+Subject: [PATCH] git ignores
+
+---
+ .gitignore | 22 ++++++++++++++++++++++
+ 1 files changed, 22 insertions(+), 0 deletions(-)
+ create mode 100644 .gitignore
+
+diff --git a/.gitignore b/.gitignore
+new file mode 100644
+index 0000000..f011661
+--- /dev/null
++++ b/.gitignore
+@@ -0,0 +1,22 @@
++*.o
++
++/config.h
++/config.make
++/config.status
++
++/lib/libnet-tools.a
++
++/version.h
++
++/arp
++/hostname
++/ifconfig
++/ipmaddr
++/iptunnel
++/mii-tool
++/nameif
++/netstat
++/plipconfig
++/rarp
++/route
++/slattach
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0002-respect-normal-toolchain-envvars.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0002-respect-normal-toolchain-envvars.patch
new file mode 100644
index 000000000000..3bfbfc032144
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0002-respect-normal-toolchain-envvars.patch
@@ -0,0 +1,66 @@
+From 8903f55c34c4f7a4bed25b7961717fdf4652704b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 13 Apr 2008 23:58:07 -0400
+Subject: [PATCH] respect normal toolchain envvars
+
+---
+ Makefile | 17 +++++++----------
+ 1 files changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 8fcc55c..a2f0c77 100644
+--- a/Makefile
++++ b/Makefile
+@@ -88,10 +88,9 @@ endif
+
+ # Compiler and Linker Options
+ # You may need to uncomment and edit these if you are using libc5 and IPv6.
+-COPTS = -D_GNU_SOURCE -O2 -Wall -g # -I/usr/inet6/include
+-ifeq ($(origin LOPTS), undefined)
+-LOPTS =
+-endif
++CFLAGS ?= -O2 -g
++CFLAGS += -Wall
++CPPFLAGS += -D_GNU_SOURCE
+ RESLIB = # -L/usr/inet6/lib -linet6
+
+ ifeq ($(HAVE_AFDECnet),1)
+@@ -113,8 +112,8 @@ endif
+
+ NET_LIB = $(NET_LIB_PATH)/lib$(NET_LIB_NAME).a
+
+-CFLAGS = $(COPTS) -I. -idirafter ./include/ -I$(NET_LIB_PATH)
+-LDFLAGS = $(LOPTS) -L$(NET_LIB_PATH)
++CPPFLAGS += -I. -idirafter ./include/ -I$(NET_LIB_PATH)
++LDFLAGS += -L$(NET_LIB_PATH)
+
+ SUBDIRS = man/ $(NET_LIB_PATH)/
+
+@@ -125,8 +124,6 @@ LD = $(CC)
+
+ NLIB = -l$(NET_LIB_NAME)
+
+-MDEFINES = COPTS='$(COPTS)' LOPTS='$(LOPTS)' TOPDIR='$(TOPDIR)'
+-
+ %.o: %.c config.h version.h intl.h net-features.h $<
+ $(CC) $(CFLAGS) -c $<
+
+@@ -176,13 +173,13 @@ $(NET_LIB): config.h version.h intl.h libdir
+ i18n.h: i18ndir
+
+ libdir:
+- @$(MAKE) -C $(NET_LIB_PATH) $(MDEFINES)
++ @$(MAKE) -C $(NET_LIB_PATH)
+
+ i18ndir:
+ @$(MAKE) -C po
+
+ subdirs:
+- @for i in $(SUBDIRS); do $(MAKE) -C $$i $(MDEFINES) ; done
++ @for i in $(SUBDIRS); do $(MAKE) -C $$i ; done
+
+ ifconfig: $(NET_LIB) ifconfig.o
+ $(CC) $(LDFLAGS) -o ifconfig ifconfig.o $(NLIB) $(RESLIB)
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0003-libdir-needs-version.h.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0003-libdir-needs-version.h.patch
new file mode 100644
index 000000000000..7e36cbff78fc
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0003-libdir-needs-version.h.patch
@@ -0,0 +1,25 @@
+From 396d2d99db901296449663782a7ea13b1d0d6b51 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:17:39 -0400
+Subject: [PATCH] libdir needs version.h
+
+---
+ Makefile | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index a2f0c77..382cbf2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -172,7 +172,7 @@ $(NET_LIB): config.h version.h intl.h libdir
+
+ i18n.h: i18ndir
+
+-libdir:
++libdir: version.h
+ @$(MAKE) -C $(NET_LIB_PATH)
+
+ i18ndir:
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0004-document-the-e-option.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0004-document-the-e-option.patch
new file mode 100644
index 000000000000..8f03e1e6a19b
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0004-document-the-e-option.patch
@@ -0,0 +1,57 @@
+From ea596e184e45d3cb08fbb0f4269f9bcbf3256ed3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:32:40 -0400
+Subject: [PATCH] document the -e option
+
+---
+ arp.c | 1 +
+ man/en_US/arp.8 | 7 +++++--
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/arp.c b/arp.c
+index 4ee5c58..26ab326 100644
+--- a/arp.c
++++ b/arp.c
+@@ -630,6 +630,7 @@ static void usage(void)
+ fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub <-''-\n\n"));
+
+ fprintf(stderr, _(" -a display (all) hosts in alternative (BSD) style\n"));
++ fprintf(stderr, _(" -e display (all) hosts in default (Linux) style\n"));
+ fprintf(stderr, _(" -s, --set set a new ARP entry\n"));
+ fprintf(stderr, _(" -d, --delete delete a specified entry\n"));
+ fprintf(stderr, _(" -v, --verbose be verbose\n"));
+diff --git a/man/en_US/arp.8 b/man/en_US/arp.8
+index 4d20ed3..281047d 100644
+--- a/man/en_US/arp.8
++++ b/man/en_US/arp.8
+@@ -8,7 +8,7 @@ arp \- manipulate the system ARP cache
+ .IR type ]
+ .RB [ \-i
+ .IR if ]
+-.RB [ \-a ]
++.RB [ \-ae ]
+ .RI [ hostname ]
+ .PP
+ .B arp
+@@ -115,7 +115,7 @@ Tell the user what is going on by being verbose.
+ shows numerical addresses instead of trying to determine symbolic host, port
+ or user names.
+ .TP
+-.B "\-H type, \-\-hw-type type"
++.B "\-H type, \-\-hw-type type, \-t type"
+ When setting or reading the ARP cache, this optional parameter tells
+ .B arp
+ which class of entries it should check for. The default value of
+@@ -134,6 +134,9 @@ and
+ .B \-a
+ Use alternate BSD style output format (with no fixed columns).
+ .TP
++.B \-e
++Use default Linux style output format (with fixed columns).
++.TP
+ .B "\-D, \-\-use-device"
+ Instead of a hw_addr, the given argument is the name of an interface.
+ .B arp
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0005-all-of-the-8-man-pages-are-administrator-not-pr.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0005-all-of-the-8-man-pages-are-administrator-not-pr.patch
new file mode 100644
index 000000000000..a2d65893f1e3
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0005-all-of-the-8-man-pages-are-administrator-not-pr.patch
@@ -0,0 +1,127 @@
+From fbb893d0d1655fd514a55da22dccd28693e63031 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:35:00 -0400
+Subject: [PATCH] all of the (8) man pages are "administrator" not "programmer" manpages
+
+---
+ man/en_US/arp.8 | 2 +-
+ man/en_US/ifconfig.8 | 2 +-
+ man/en_US/netstat.8 | 2 +-
+ man/en_US/rarp.8 | 2 +-
+ man/en_US/route.8 | 2 +-
+ man/fr_FR/arp.8 | 2 +-
+ man/fr_FR/ifconfig.8 | 2 +-
+ man/fr_FR/netstat.8 | 2 +-
+ man/fr_FR/rarp.8 | 2 +-
+ man/fr_FR/route.8 | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/man/en_US/arp.8 b/man/en_US/arp.8
+index 281047d..93feb04 100644
+--- a/man/en_US/arp.8
++++ b/man/en_US/arp.8
+@@ -1,4 +1,4 @@
+-.TH ARP 8 "2007-12-01" "net-tools" "Linux Programmer's Manual"
++.TH ARP 8 "2007-12-01" "net-tools" "Linux Administrator's Manual"
+ .SH NAME
+ arp \- manipulate the system ARP cache
+ .SH SYNOPSIS
+diff --git a/man/en_US/ifconfig.8 b/man/en_US/ifconfig.8
+index 410677e..ac5c829 100644
+--- a/man/en_US/ifconfig.8
++++ b/man/en_US/ifconfig.8
+@@ -1,4 +1,4 @@
+-.TH IFCONFIG 8 "2007-11-07" "net-tools" "Linux Programmer's Manual"
++.TH IFCONFIG 8 "2007-11-07" "net-tools" "Linux Administrator's Manual"
+ .SH NAME
+ ifconfig \- configure a network interface
+ .SH SYNOPSIS
+diff --git a/man/en_US/netstat.8 b/man/en_US/netstat.8
+index 7a8a42c..e6be46b 100644
+--- a/man/en_US/netstat.8
++++ b/man/en_US/netstat.8
+@@ -8,7 +8,7 @@
+ .\" Modified: Tuan Hoang tqhoang@bigfoot.com
+ .\"
+ .\"
+-.TH NETSTAT 8 "2007-12-02" "net-tools" "Linux Programmer's Manual"
++.TH NETSTAT 8 "2007-12-02" "net-tools" "Linux Administrator's Manual"
+
+ .SH NAME
+ netstat \- Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
+diff --git a/man/en_US/rarp.8 b/man/en_US/rarp.8
+index 1186aa8..c450f13 100644
+--- a/man/en_US/rarp.8
++++ b/man/en_US/rarp.8
+@@ -1,4 +1,4 @@
+-.TH RARP 8 "4 August 1997" "net-tools" "Linux Programmer's Manual"
++.TH RARP 8 "4 August 1997" "net-tools" "Linux Administrator's Manual"
+ .SH NAME
+ rarp \- manipulate the system RARP table
+ .SH SYNOPSIS
+diff --git a/man/en_US/route.8 b/man/en_US/route.8
+index 6c06017..9aa4ff1 100644
+--- a/man/en_US/route.8
++++ b/man/en_US/route.8
+@@ -1,4 +1,4 @@
+-.TH ROUTE 8 "02 October 2003" "net-tools" "Linux Programmer's Manual"
++.TH ROUTE 8 "02 October 2003" "net-tools" "Linux Administrator's Manual"
+ .SH NAME
+ route \- show / manipulate the IP routing table
+ .SH SYNOPSIS
+diff --git a/man/fr_FR/arp.8 b/man/fr_FR/arp.8
+index b658aa5..50dbc99 100644
+--- a/man/fr_FR/arp.8
++++ b/man/fr_FR/arp.8
+@@ -1,4 +1,4 @@
+-.TH ARP 8 "5 Jan 1999" "net-tools" "Linux Programmer's Manual"
++.TH ARP 8 "5 Jan 1999" "net-tools" "Linux Administrator's Manual"
+ .SH NOM
+ arp \- manipule la table ARP du système
+ .SH SYNOPSIS
+diff --git a/man/fr_FR/ifconfig.8 b/man/fr_FR/ifconfig.8
+index af58e56..afed13a 100644
+--- a/man/fr_FR/ifconfig.8
++++ b/man/fr_FR/ifconfig.8
+@@ -1,4 +1,4 @@
+-.TH IFCONFIG 8 "4 August 1997" "net-tools" "Linux Programmer's Manual"
++.TH IFCONFIG 8 "4 August 1997" "net-tools" "Linux Administrator's Manual"
+ .SH NOM
+ ifconfig \- configure une interface réseau
+ .SH SYNOPSIS
+diff --git a/man/fr_FR/netstat.8 b/man/fr_FR/netstat.8
+index 5ec3721..d92fbcb 100644
+--- a/man/fr_FR/netstat.8
++++ b/man/fr_FR/netstat.8
+@@ -8,7 +8,7 @@
+ .\" Modified: Tuan Hoang tuan@optimus.mitre.org
+ .\"
+ .\"
+-.TH NETSTAT 8 "2007-12-02" "net-tools" "Linux Programmer's Manual"
++.TH NETSTAT 8 "2007-12-02" "net-tools" "Linux Administrator's Manual"
+
+ .SH NAME
+ netstat \- Affiche les connexions réseau, les tables de routage, les
+diff --git a/man/fr_FR/rarp.8 b/man/fr_FR/rarp.8
+index 57a2281..1098c63 100644
+--- a/man/fr_FR/rarp.8
++++ b/man/fr_FR/rarp.8
+@@ -1,4 +1,4 @@
+-.TH RARP 8 "4 Août 1997" "net-tools" "Linux Programmer's Manual"
++.TH RARP 8 "4 Août 1997" "net-tools" "Linux Administrator's Manual"
+ .SH NOM
+ rarp \- manipule la table système RARP
+ .SH SYNOPSIS
+diff --git a/man/fr_FR/route.8 b/man/fr_FR/route.8
+index 9109e8d..bf9863c 100644
+--- a/man/fr_FR/route.8
++++ b/man/fr_FR/route.8
+@@ -1,4 +1,4 @@
+-.TH ROUTE 8 "8 Août 1997" "net-tools" "Linux Programmer's Manual"
++.TH ROUTE 8 "8 Août 1997" "net-tools" "Linux Administrator's Manual"
+ .SH NAME
+ route \- affiche / manipule la table de routage IP
+ .SH SYNOPSIS
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0006-handle-just-raw-IP-info.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0006-handle-just-raw-IP-info.patch
new file mode 100644
index 000000000000..b742ada02eea
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0006-handle-just-raw-IP-info.patch
@@ -0,0 +1,27 @@
+From b7171f3e8a16766e1543e3e3ca797371466cbf87 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:35:59 -0400
+Subject: [PATCH] handle just raw "IP" info
+
+---
+ lib/masq_info.c | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/lib/masq_info.c b/lib/masq_info.c
+index 45ca689..93eb04f 100644
+--- a/lib/masq_info.c
++++ b/lib/masq_info.c
+@@ -119,7 +119,9 @@ static int read_masqinfo(FILE * f, struct masq *mslist, int nmslist)
+ ms->src.sin_family = AF_INET;
+ ms->dst.sin_family = AF_INET;
+
+- if (strcmp("TCP", buf) == 0)
++ if (strcmp("IP", buf) == 0)
++ ms->proto = "ip";
++ else if (strcmp("TCP", buf) == 0)
+ ms->proto = "tcp";
+ else if (strcmp("UDP", buf) == 0)
+ ms->proto = "udp";
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0007-prevent-overflows-in-interface-buffers.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0007-prevent-overflows-in-interface-buffers.patch
new file mode 100644
index 000000000000..110fc06aa0ba
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0007-prevent-overflows-in-interface-buffers.patch
@@ -0,0 +1,76 @@
+From bef310c8274c7df6e004ae0e927e0d757a85c586 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:39:09 -0400
+Subject: [PATCH] prevent overflows in interface buffers
+
+---
+ netstat.c | 18 ++++++++++++------
+ 1 files changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/netstat.c b/netstat.c
+index dcd1f8a..8057d78 100644
+--- a/netstat.c
++++ b/netstat.c
+@@ -784,7 +784,8 @@ static void tcp_do_one(int lnr, const char *line)
+ local_addr[22 - strlen(buffer)] = '\0';
+
+ strcat(local_addr, ":");
+- strcat(local_addr, buffer);
++ strncat(local_addr, buffer, sizeof(local_addr));
++ local_addr[sizeof(local_addr)-1] = 0;
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "tcp", flag_not & FLAG_NUM_PORT));
+
+@@ -792,7 +793,8 @@ static void tcp_do_one(int lnr, const char *line)
+ rem_addr[22 - strlen(buffer)] = '\0';
+
+ strcat(rem_addr, ":");
+- strcat(rem_addr, buffer);
++ strncat(rem_addr, buffer, sizeof(rem_addr));
++ rem_addr[sizeof(rem_addr)-1] = 0;
+ timers[0] = '\0';
+
+ if (flag_opt)
+@@ -936,7 +938,8 @@ static void udp_do_one(int lnr, const char *line)
+ if ((strlen(local_addr) + strlen(buffer)) > 22)
+ local_addr[22 - strlen(buffer)] = '\0';
+ strcat(local_addr, ":");
+- strcat(local_addr, buffer);
++ strncat(local_addr, buffer, sizeof(local_addr));
++ local_addr[sizeof(local_addr)-1] = 0;
+
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "udp", flag_not & FLAG_NUM_PORT));
+@@ -945,7 +948,8 @@ static void udp_do_one(int lnr, const char *line)
+ if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+- strcat(rem_addr, buffer);
++ strncat(rem_addr, buffer, sizeof(rem_addr));
++ rem_addr[sizeof(rem_addr)-1] = 0;
+
+ timers[0] = '\0';
+ if (flag_opt)
+@@ -1058,7 +1062,8 @@ static void raw_do_one(int lnr, const char *line)
+ if ((strlen(local_addr) + strlen(buffer)) > 22)
+ local_addr[22 - strlen(buffer)] = '\0';
+ strcat(local_addr, ":");
+- strcat(local_addr, buffer);
++ strncat(local_addr, buffer, sizeof(local_addr));
++ local_addr[sizeof(local_addr)-1] = 0;
+
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "raw", flag_not & FLAG_NUM_PORT));
+@@ -1067,7 +1072,8 @@ static void raw_do_one(int lnr, const char *line)
+ if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+- strcat(rem_addr, buffer);
++ strncat(rem_addr, buffer, sizeof(rem_addr));
++ rem_addr[sizeof(rem_addr)-1] = 0;
+
+ timers[0] = '\0';
+ if (flag_opt)
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0008-Mads-Martin-Joergensen-writes.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0008-Mads-Martin-Joergensen-writes.patch
new file mode 100644
index 000000000000..aceebf48b1ca
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0008-Mads-Martin-Joergensen-writes.patch
@@ -0,0 +1,67 @@
+From fcfb7fa902fcfc23e9fe78bb57748c110b972029 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:39:50 -0400
+Subject: [PATCH] Mads Martin Joergensen writes:
+ According to the manual the option "--numeric-ports" should not
+ affect host resolution, but it does. All connected hosts are displayed
+ with numeric values instead of their FQDN.
+
+http://bugs.gentoo.org/76756
+---
+ netstat.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/netstat.c b/netstat.c
+index 8057d78..843c06b 100644
+--- a/netstat.c
++++ b/netstat.c
+@@ -772,8 +772,8 @@ static void tcp_do_one(int lnr, const char *line)
+ txq = 0L;
+ }
+ safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
+- flag_not), sizeof(local_addr));
+- safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr, flag_not),
++ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
++ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr, flag_not & FLAG_NUM_HOST),
+ sizeof(rem_addr));
+ if (flag_all || (flag_lst && !rem_port) || (!flag_lst && rem_port)) {
+ snprintf(buffer, sizeof(buffer), "%s",
+@@ -931,7 +931,7 @@ static void udp_do_one(int lnr, const char *line)
+ if (flag_all || (notnull(remaddr) && !flag_lst) || (!notnull(remaddr) && flag_lst))
+ {
+ safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
+- flag_not), sizeof(local_addr));
++ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(local_port), "udp",
+ flag_not & FLAG_NUM_PORT));
+@@ -944,7 +944,7 @@ static void udp_do_one(int lnr, const char *line)
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "udp", flag_not & FLAG_NUM_PORT));
+ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
+- flag_not), sizeof(rem_addr));
++ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+ if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+@@ -1058,7 +1058,7 @@ static void raw_do_one(int lnr, const char *line)
+ get_sname(htons(local_port), "raw",
+ flag_not & FLAG_NUM_PORT));
+ safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
+- flag_not), sizeof(local_addr));
++ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
+ if ((strlen(local_addr) + strlen(buffer)) > 22)
+ local_addr[22 - strlen(buffer)] = '\0';
+ strcat(local_addr, ":");
+@@ -1068,7 +1068,7 @@ static void raw_do_one(int lnr, const char *line)
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "raw", flag_not & FLAG_NUM_PORT));
+ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
+- flag_not), sizeof(rem_addr));
++ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+ if ((strlen(rem_addr) + strlen(buffer)) > 22)
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0009-Patch-by-pasi.valminen-hut.fi-to-fix-FQDN-handling-w.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0009-Patch-by-pasi.valminen-hut.fi-to-fix-FQDN-handling-w.patch
new file mode 100644
index 000000000000..abc85659df02
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0009-Patch-by-pasi.valminen-hut.fi-to-fix-FQDN-handling-w.patch
@@ -0,0 +1,124 @@
+From d894c8c42415fb8e5148dc0ba073078acb99a607 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:40:29 -0400
+Subject: [PATCH] Patch by pasi.valminen@hut.fi to fix FQDN handling with AAAA records
+
+http://bugs.gentoo.org/42650
+---
+ hostname.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 files changed, 61 insertions(+), 10 deletions(-)
+
+diff --git a/hostname.c b/hostname.c
+index c4c5aa0..e8ed156 100644
+--- a/hostname.c
++++ b/hostname.c
+@@ -36,6 +36,10 @@
+ #include <getopt.h>
+ #include <string.h>
+ #include <netdb.h>
++#ifdef IPV6
++#include <sys/socket.h> /* for PF_INET6 */
++#include <sys/types.h> /* for inet_ntop */
++#endif /* IPV6 */
+ #include <errno.h>
+ #include <sys/param.h>
+ #include <netinet/in.h>
+@@ -125,15 +129,23 @@ static void setdname(char *dname)
+ static void showhname(char *hname, int c)
+ {
+ struct hostent *hp;
++#ifdef IPV6
++ struct in6_addr **ip6;
++#endif /* IPV6 */
+ register char *p, **alias;
+ struct in_addr **ip;
+
+ if (opt_v)
+ fprintf(stderr, _("Resolving `%s' ...\n"), hname);
+- if (!(hp = gethostbyname(hname))) {
++ if (
++#ifdef IPV6
++ !(hp = gethostbyname2(hname, PF_INET6)) &&
++#endif /* IPV6 */
++ !(hp = gethostbyname(hname))) {
+ herror(program_name);
+ exit(1);
+ }
++
+ if (opt_v) {
+ fprintf(stderr, _("Result: h_name=`%s'\n"),
+ hp->h_name);
+@@ -142,11 +154,28 @@ static void showhname(char *hname, int c)
+ while (alias[0])
+ fprintf(stderr, _("Result: h_aliases=`%s'\n"),
+ *alias++);
+-
+- ip = (struct in_addr **) hp->h_addr_list;
+- while (ip[0])
+- fprintf(stderr, _("Result: h_addr_list=`%s'\n"),
+- inet_ntoa(**ip++));
++#ifdef IPV6
++ if(hp->h_addrtype == PF_INET6) {
++ char addr[INET6_ADDRSTRLEN + 1];
++ addr[INET6_ADDRSTRLEN] = '\0';
++ ip6 = (struct in6_addr **) hp->h_addr_list;
++ while(ip6[0]) {
++ if(inet_ntop(PF_INET6, *ip6++, addr, INET6_ADDRSTRLEN))
++ fprintf(stderr, _("Result: h_addr_list=`%s'\n"), addr);
++ else if(errno == EAFNOSUPPORT)
++ fprintf(stderr, _("%s: protocol family not supported\n"),
++ program_name);
++ else if(errno == ENOSPC)
++ fprintf(stderr, _("%s: name too long\n"), program_name);
++ }
++ } else
++#endif /* IPV6 */
++ {
++ ip = (struct in_addr **) hp->h_addr_list;
++ while (ip[0])
++ fprintf(stderr, _("Result: h_addr_list=`%s'\n"),
++ inet_ntoa(**ip++));
++ }
+ }
+ if (!(p = strchr(hp->h_name, '.')) && (c == 'd'))
+ return;
+@@ -158,10 +187,32 @@ static void showhname(char *hname, int c)
+ printf("\n");
+ break;
+ case 'i':
+- while (hp->h_addr_list[0])
+- printf("%s ", inet_ntoa(*(struct in_addr *) *hp->h_addr_list++));
+- printf("\n");
+- break;
++#ifdef IPV6
++ if(hp->h_addrtype == PF_INET6) {
++ char addr[INET6_ADDRSTRLEN + 1];
++ addr[INET6_ADDRSTRLEN] = '\0';
++ while(hp->h_addr_list[0]) {
++ if(inet_ntop(PF_INET6, (struct in6_addr *)*hp->h_addr_list++,
++ addr, INET6_ADDRSTRLEN))
++ printf("%s ", addr);
++ else if(errno == EAFNOSUPPORT) {
++ fprintf(stderr, _("\n%s: protocol family not supported\n"),
++ program_name);
++ exit(1);
++ } else if(errno == ENOSPC) {
++ fprintf(stderr, _("\n%s: name too long\n"), program_name);
++ exit(1);
++ }
++ printf("\n");
++ }
++ } else
++#endif /* IPV6 */
++ {
++ while (hp->h_addr_list[0])
++ printf("%s ", inet_ntoa(*(struct in_addr *)*hp->h_addr_list++));
++ printf("\n");
++ }
++ break;
+ case 'd':
+ printf("%s\n", ++p);
+ break;
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch
new file mode 100644
index 000000000000..6dd07472ac98
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch
@@ -0,0 +1,228 @@
+From 9fb2c65b56df96c7bc9538c2b40028df0a1a3255 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:42:18 -0400
+Subject: [PATCH] Patch by Tom Duffy <tduffy@sun.com> to teach ifconfig about infiniband
+
+http://bugs.gentoo.org/81180
+---
+ config.in | 1 +
+ lib/Makefile | 2 +-
+ lib/hw.c | 8 +++
+ lib/ib.c | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 157 insertions(+), 1 deletions(-)
+ create mode 100644 lib/ib.c
+
+diff --git a/config.in b/config.in
+index 2999cd1..da09827 100644
+--- a/config.in
++++ b/config.in
+@@ -83,6 +83,7 @@ bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB y
+ bool 'IrDA support' HAVE_HWIRDA y
+ bool 'Econet hardware support' HAVE_HWEC y
+ bool 'Generic EUI-64 hardware support' HAVE_HWEUI64 y
++bool 'InfiniBand hardware support' HAVE_HWIB y
+
+ *
+ *
+diff --git a/lib/Makefile b/lib/Makefile
+index f4b5cbd..976ebb8 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -16,7 +16,7 @@
+ #
+
+
+-HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o strip.o irda.o ec_hw.o x25.o eui64.o
++HWOBJS = hw.o loopback.o slip.o ether.o ax25.o ppp.o arcnet.o tr.o tunnel.o frame.o sit.o rose.o ash.o fddi.o hippi.o hdlclapb.o strip.o irda.o ec_hw.o x25.o eui64.o ib.o
+ AFOBJS = unix.o inet.o inet6.o ax25.o ipx.o ddp.o ipx.o netrom.o af.o rose.o econet.o x25.o
+ AFGROBJS = inet_gr.o inet6_gr.o ipx_gr.o ddp_gr.o netrom_gr.o ax25_gr.o rose_gr.o getroute.o x25_gr.o
+ AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o setroute.o x25_sr.o
+diff --git a/lib/hw.c b/lib/hw.c
+index c714313..fd6ea76 100644
+--- a/lib/hw.c
++++ b/lib/hw.c
+@@ -75,6 +75,8 @@ extern struct hwtype ec_hwtype;
+
+ extern struct hwtype eui64_hwtype;
+
++extern struct hwtype ib_hwtype;
++
+ static struct hwtype *hwtypes[] =
+ {
+
+@@ -149,6 +151,9 @@ static struct hwtype *hwtypes[] =
+ #if HAVE_HWEUI64
+ &eui64_hwtype,
+ #endif
++#if HAVE_HWIB
++ &ib_hwtype,
++#endif
+ &unspec_hwtype,
+ NULL
+ };
+@@ -225,6 +230,9 @@ void hwinit()
+ #if HAVE_HWEUI64
+ eui64_hwtype.title = _("Generic EUI-64");
+ #endif
++#if HAVE_HWIB
++ ib_hwtype.title = _("InfiniBand");
++#endif
+ sVhwinit = 1;
+ }
+
+diff --git a/lib/ib.c b/lib/ib.c
+new file mode 100644
+index 0000000..aa3d8f9
+--- /dev/null
++++ b/lib/ib.c
+@@ -0,0 +1,147 @@
++/*
++ * lib/ib.c This file contains an implementation of the "Infiniband"
++ * support functions.
++ *
++ * Version: $Id: 0010-Patch-by-Tom-Duffy-tduffy-sun.com-to-teach-ifconfi.patch,v 1.1 2008/04/14 05:07:39 vapier Exp $
++ *
++ * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
++ * Copyright 1993 MicroWalt Corporation
++ * Tom Duffy <tduffy@sun.com>
++ *
++ * This program is free software; you can redistribute it
++ * and/or modify it under the terms of the GNU General
++ * Public License as published by the Free Software
++ * Foundation; either version 2 of the License, or (at
++ * your option) any later version.
++ */
++#include "config.h"
++
++#if HAVE_HWIB
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <net/if_arp.h>
++#include <linux/if_infiniband.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <errno.h>
++#include <ctype.h>
++#include <string.h>
++#include <unistd.h>
++#include "net-support.h"
++#include "pathnames.h"
++#include "intl.h"
++#include "util.h"
++
++extern struct hwtype ib_hwtype;
++
++
++/* Display an InfiniBand address in readable format. */
++static char *pr_ib(unsigned char *ptr)
++{
++ static char buff[128];
++ char *pos;
++ unsigned int i;
++
++ pos = buff;
++ for (i = 0; i < INFINIBAND_ALEN; i++) {
++ pos += sprintf(pos, "%02X:", (*ptr++ & 0377));
++ }
++ buff[strlen(buff) - 1] = '\0';
++
++ /* snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X",
++ (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377),
++ (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
++ );
++ */
++ return (buff);
++}
++
++
++/* Input an Infiniband address and convert to binary. */
++static int in_ib(char *bufp, struct sockaddr *sap)
++{
++ unsigned char *ptr;
++ char c, *orig;
++ int i;
++ unsigned val;
++
++ sap->sa_family = ib_hwtype.type;
++ ptr = sap->sa_data;
++
++ i = 0;
++ orig = bufp;
++ while ((*bufp != '\0') && (i < INFINIBAND_ALEN)) {
++ val = 0;
++ c = *bufp++;
++ if (isdigit(c))
++ val = c - '0';
++ else if (c >= 'a' && c <= 'f')
++ val = c - 'a' + 10;
++ else if (c >= 'A' && c <= 'F')
++ val = c - 'A' + 10;
++ else {
++#ifdef DEBUG
++ fprintf(stderr, _("in_ib(%s): invalid infiniband address!\n"), orig);
++#endif
++ errno = EINVAL;
++ return (-1);
++ }
++ val <<= 4;
++ c = *bufp;
++ if (isdigit(c))
++ val |= c - '0';
++ else if (c >= 'a' && c <= 'f')
++ val |= c - 'a' + 10;
++ else if (c >= 'A' && c <= 'F')
++ val |= c - 'A' + 10;
++ else if (c == ':' || c == 0)
++ val >>= 4;
++ else {
++#ifdef DEBUG
++ fprintf(stderr, _("in_ib(%s): invalid infiniband address!\n"), orig);
++#endif
++ errno = EINVAL;
++ return (-1);
++ }
++ if (c != 0)
++ bufp++;
++ *ptr++ = (unsigned char) (val & 0377);
++ i++;
++
++ /* We might get a semicolon here - not required. */
++ if (*bufp == ':') {
++ if (i == INFINIBAND_ALEN) {
++#ifdef DEBUG
++ fprintf(stderr, _("in_ib(%s): trailing : ignored!\n"),
++ orig)
++#endif
++ ; /* nothing */
++ }
++ bufp++;
++ }
++ }
++
++ /* That's it. Any trailing junk? */
++ if ((i == INFINIBAND_ALEN) && (*bufp != '\0')) {
++#ifdef DEBUG
++ fprintf(stderr, _("in_ib(%s): trailing junk!\n"), orig);
++ errno = EINVAL;
++ return (-1);
++#endif
++ }
++#ifdef DEBUG
++ fprintf(stderr, "in_ib(%s): %s\n", orig, pr_ib(sap->sa_data));
++#endif
++
++ return (0);
++}
++
++
++struct hwtype ib_hwtype =
++{
++ "infiniband", NULL, ARPHRD_INFINIBAND, INFINIBAND_ALEN,
++ pr_ib, in_ib, NULL
++};
++
++
++#endif /* HAVE_HWETHER */
+--
+1.5.5
+
diff --git a/sys-apps/net-tools/files/1.60_p20071202044231/0011-comabug-gmail.com-writes.patch b/sys-apps/net-tools/files/1.60_p20071202044231/0011-comabug-gmail.com-writes.patch
new file mode 100644
index 000000000000..bb751de22ec1
--- /dev/null
+++ b/sys-apps/net-tools/files/1.60_p20071202044231/0011-comabug-gmail.com-writes.patch
@@ -0,0 +1,140 @@
+From b1c72a13d07b59fc67a7b338fa3969b96af7e67d Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 14 Apr 2008 00:47:37 -0400
+Subject: [PATCH] comabug@gmail.com writes:
+
+net-tools' netstat should have a -W flag like FreeBSD.
+There is currently no way to get the full hostname from netstat
+for local/remote hostnames.
+
+http://bugs.gentoo.org/53731
+---
+ man/en_US/netstat.8 | 3 +++
+ netstat.c | 20 +++++++++++++-------
+ 2 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/man/en_US/netstat.8 b/man/en_US/netstat.8
+index e6be46b..9a3ff44 100644
+--- a/man/en_US/netstat.8
++++ b/man/en_US/netstat.8
+@@ -24,6 +24,7 @@ netstat \- Print network connections, routing tables, interface statistics, masq
+ .RB [ \-\-all | \-a ]
+ .RB [ \-\-numeric | \-n ]
+ .RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
++.RB [ \-\-wide | \-W]
+ .RB [ \-\-symbolic | \-N ]
+ .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
+ .RB [ \-\-timers | \-o ]
+@@ -130,6 +131,8 @@ host or user names.
+ .SS "\-\-numeric-users"
+ shows numerical user IDs but does not affect the resolution of host or
+ port names.
++.SS "\-\-wide , \-W"
++Don't truncate host names.
+
+ .SS "\-\-protocol=\fIfamily \fR, \fB\-A"
+ Specifies the address families (perhaps better described as low level
+diff --git a/netstat.c b/netstat.c
+index 843c06b..78bf551 100644
+--- a/netstat.c
++++ b/netstat.c
+@@ -150,6 +150,7 @@ int flag_exp = 1;
+ int flag_prg = 0;
+ int flag_arg = 0;
+ int flag_ver = 0;
++int flag_wid = 0;
+
+ FILE *procinfo;
+
+@@ -780,7 +781,7 @@ static void tcp_do_one(int lnr, const char *line)
+ get_sname(htons(local_port), "tcp",
+ flag_not & FLAG_NUM_PORT));
+
+- if ((strlen(local_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(local_addr) + strlen(buffer)) > 22))
+ local_addr[22 - strlen(buffer)] = '\0';
+
+ strcat(local_addr, ":");
+@@ -789,7 +790,7 @@ static void tcp_do_one(int lnr, const char *line)
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(rem_port), "tcp", flag_not & FLAG_NUM_PORT));
+
+- if ((strlen(rem_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(rem_addr) + strlen(buffer)) > 22))
+ rem_addr[22 - strlen(buffer)] = '\0';
+
+ strcat(rem_addr, ":");
+@@ -935,7 +936,7 @@ static void udp_do_one(int lnr, const char *line)
+ snprintf(buffer, sizeof(buffer), "%s",
+ get_sname(htons(local_port), "udp",
+ flag_not & FLAG_NUM_PORT));
+- if ((strlen(local_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(local_addr) + strlen(buffer)) > 22))
+ local_addr[22 - strlen(buffer)] = '\0';
+ strcat(local_addr, ":");
+ strncat(local_addr, buffer, sizeof(local_addr));
+@@ -945,7 +946,7 @@ static void udp_do_one(int lnr, const char *line)
+ get_sname(htons(rem_port), "udp", flag_not & FLAG_NUM_PORT));
+ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+- if ((strlen(rem_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(rem_addr) + strlen(buffer)) > 22))
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+ strncat(rem_addr, buffer, sizeof(rem_addr));
+@@ -1059,7 +1060,7 @@ static void raw_do_one(int lnr, const char *line)
+ flag_not & FLAG_NUM_PORT));
+ safe_strncpy(local_addr, ap->sprint((struct sockaddr *) &localaddr,
+ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
+- if ((strlen(local_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(local_addr) + strlen(buffer)) > 22))
+ local_addr[22 - strlen(buffer)] = '\0';
+ strcat(local_addr, ":");
+ strncat(local_addr, buffer, sizeof(local_addr));
+@@ -1069,7 +1070,7 @@ static void raw_do_one(int lnr, const char *line)
+ get_sname(htons(rem_port), "raw", flag_not & FLAG_NUM_PORT));
+ safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr,
+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
+- if ((strlen(rem_addr) + strlen(buffer)) > 22)
++ if (!flag_wid && ((strlen(rem_addr) + strlen(buffer)) > 22))
+ rem_addr[22 - strlen(buffer)] = '\0';
+ strcat(rem_addr, ":");
+ strncat(rem_addr, buffer, sizeof(rem_addr));
+@@ -1531,6 +1532,7 @@ static void usage(void)
+ fprintf(stderr, _(" --numeric-hosts don't resolve host names\n"));
+ fprintf(stderr, _(" --numeric-ports don't resolve port names\n"));
+ fprintf(stderr, _(" --numeric-users don't resolve user names\n"));
++ fprintf(stderr, _(" -W, --wide don't truncate host names\n"));
+ fprintf(stderr, _(" -N, --symbolic resolve hardware names\n"));
+ fprintf(stderr, _(" -e, --extend display other/more information\n"));
+ fprintf(stderr, _(" -p, --programs display PID/Program name for sockets\n"));
+@@ -1580,6 +1582,7 @@ int main
+ {"numeric-hosts", 0, 0, '!'},
+ {"numeric-ports", 0, 0, '@'},
+ {"numeric-users", 0, 0, '#'},
++ {"wide", 0, 0, 'W'},
+ {"symbolic", 0, 0, 'N'},
+ {"cache", 0, 0, 'C'},
+ {"fib", 0, 0, 'F'},
+@@ -1595,7 +1598,7 @@ int main
+ getroute_init(); /* Set up AF routing support */
+
+ afname[0] = '\0';
+- while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuVv?wxl64", longopts, &lop)) != EOF)
++ while ((i = getopt_long(argc, argv, "MCFA:acdegphinWNorstuVv?wxl64", longopts, &lop)) != EOF)
+ switch (i) {
+ case -1:
+ break;
+@@ -1651,6 +1654,9 @@ int main
+ case '#':
+ flag_not |= FLAG_NUM_USER;
+ break;
++ case 'W':
++ flag_wid++;
++ break;
+ case 'N':
+ flag_not |= FLAG_SYM;
+ break;
+--
+1.5.5
+