summaryrefslogtreecommitdiff
path: root/packages/net-tools/files
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/net-tools/files
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/net-tools/files')
-rw-r--r--packages/net-tools/files/README1
-rw-r--r--packages/net-tools/files/ether-wake.881
-rw-r--r--packages/net-tools/files/ether-wake.c392
-rw-r--r--packages/net-tools/files/mii-diag.8160
-rw-r--r--packages/net-tools/files/mii-diag.c650
-rw-r--r--packages/net-tools/files/net-tools-1.57-bug22040.patch50
-rw-r--r--packages/net-tools/files/net-tools-1.60-arp_overflow.patch11
-rw-r--r--packages/net-tools/files/net-tools-1.60-bcast.patch99
-rw-r--r--packages/net-tools/files/net-tools-1.60-bitkeeper.patch17
-rw-r--r--packages/net-tools/files/net-tools-1.60-config.h75
-rw-r--r--packages/net-tools/files/net-tools-1.60-config.make36
-rw-r--r--packages/net-tools/files/net-tools-1.60-cycle.patch311
-rw-r--r--packages/net-tools/files/net-tools-1.60-de.patch11
-rw-r--r--packages/net-tools/files/net-tools-1.60-duplicate-tcp.patch194
-rw-r--r--packages/net-tools/files/net-tools-1.60-gcc33.patch31
-rw-r--r--packages/net-tools/files/net-tools-1.60-gcc34.patch36
-rw-r--r--packages/net-tools/files/net-tools-1.60-hostname_man.patch35
-rw-r--r--packages/net-tools/files/net-tools-1.60-ifaceopt.patch52
-rw-r--r--packages/net-tools/files/net-tools-1.60-ifconfig.patch107
-rw-r--r--packages/net-tools/files/net-tools-1.60-ifconfig_ib.patch202
-rw-r--r--packages/net-tools/files/net-tools-1.60-inet6-lookup.patch81
-rw-r--r--packages/net-tools/files/net-tools-1.60-interface.patch110
-rw-r--r--packages/net-tools/files/net-tools-1.60-interface_stack.patch115
-rw-r--r--packages/net-tools/files/net-tools-1.60-ipx.patch36
-rw-r--r--packages/net-tools/files/net-tools-1.60-isofix.patch33
-rw-r--r--packages/net-tools/files/net-tools-1.60-man.patch132
-rw-r--r--packages/net-tools/files/net-tools-1.60-manydevs.patch13
-rw-r--r--packages/net-tools/files/net-tools-1.60-mii-tool-obsolete.patch25
-rw-r--r--packages/net-tools/files/net-tools-1.60-miiioctl.patch17
-rw-r--r--packages/net-tools/files/net-tools-1.60-nameif.patch67
-rw-r--r--packages/net-tools/files/net-tools-1.60-netmask.patch61
-rw-r--r--packages/net-tools/files/net-tools-1.60-netstat_stop_trim.patch80
-rw-r--r--packages/net-tools/files/net-tools-1.60-netstat_ulong.patch11
-rw-r--r--packages/net-tools/files/net-tools-1.60-note.patch13
-rw-r--r--packages/net-tools/files/net-tools-1.60-num-ports.patch78
-rw-r--r--packages/net-tools/files/net-tools-1.60-overflow.patch63
-rw-r--r--packages/net-tools/files/net-tools-1.60-parse.patch70
-rw-r--r--packages/net-tools/files/net-tools-1.60-pie.patch13
-rw-r--r--packages/net-tools/files/net-tools-1.60-return.patch28
-rw-r--r--packages/net-tools/files/net-tools-1.60-selinux.patch205
-rw-r--r--packages/net-tools/files/net-tools-1.60-siunits.patch80
-rw-r--r--packages/net-tools/files/net-tools-1.60-statalias.patch15
-rw-r--r--packages/net-tools/files/net-tools-1.60-statistics.patch65
-rw-r--r--packages/net-tools/files/net-tools-1.60-stdo.patch11
-rw-r--r--packages/net-tools/files/net-tools-1.60-trailingblank.patch26
-rw-r--r--packages/net-tools/files/net-tools-1.60-trim_iface.patch31
-rw-r--r--packages/net-tools/files/net-tools-1.60-trunc.patch42
-rw-r--r--packages/net-tools/files/net-tools-1.60-ulong.patch215
-rw-r--r--packages/net-tools/files/net-tools-1.60-virtualname.patch36
49 files changed, 0 insertions, 4323 deletions
diff --git a/packages/net-tools/files/README b/packages/net-tools/files/README
deleted file mode 100644
index 76e14a2341..0000000000
--- a/packages/net-tools/files/README
+++ /dev/null
@@ -1 +0,0 @@
-Patches were downloaded from http://ftp.uni-koeln.de/mirrors/fedora/linux/core/5/source/SRPMS/net-tools-1.60-62.1.src.rpm
diff --git a/packages/net-tools/files/ether-wake.8 b/packages/net-tools/files/ether-wake.8
deleted file mode 100644
index 26b4f85a8a..0000000000
--- a/packages/net-tools/files/ether-wake.8
+++ /dev/null
@@ -1,81 +0,0 @@
-.\" Hey, EMACS: -*- nroff -*-
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH ETHER-WAKE 8 "March 31, 2003" "Scyld"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-ether-wake \- A tool to send a Wake-On-LAN "Magic Packet"
-.SH SYNOPSIS
-.B ether-wake
-.RI [ options ] " Host-ID"
-.SH DESCRIPTION
-This manual page documents the usage of the
-.B ether-wake
-command.
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
-.\" respectively.
-\fBether-wake\fP is a program that generates and transmits a Wake-On-LAN
-(WOL) "Magic Packet", used for restarting machines that have been
-soft-powered-down (ACPI D3-warm state). It generates the standard
-AMD Magic Packet format, optionally with a password included. The
-single required parameter is a station (MAC) address or a host ID that can
-be translated to a MAC address by an
-.BR ethers (5)
-database specified in
-.BR nsswitch.conf (5)
-.
-.SH OPTIONS
-\fBether-wake\fP needs a single dash (´-´) in front of options.
-A summary of options is included below.
-.TP
-.B \-b
-Send the wake-up packet to the broadcast address.
-.TP
-.B \-D
-Increase the Debug Level.
-.TP
-.B \-i ifname
-Use interface ifname instead of the default "eth0".
-.TP
-.B \-p passwd
-Append a four or six byte password to the packet. Only a few adapters
-need or support this. A six byte password may be specified in Ethernet hex
-format (00:22:44:66:88:aa) or four byte dotted decimal (192.168.1.1) format.
-A four byte password must use the dotted decimal format.
-
-.TP
-.B \-V
-Show the program version information.
-
-.SH EXIT STATUS
-This program returns 0 on success.
-A permission failures (e.g. run as a non-root user) results in an exit
-status of 2. Unrecognized or invalid parameters result in an exit
-status of 3. Failure to retrieve network interface information or send
-a packet will result in an exit status of 1.
-
-.SH SEE ALSO
-.BR arp (8).
-.br
-.SH SECURITY
-On some non-Linux systems dropping root capability allows the process to be
-dumped, traced or debugged.
-If someone traces this program, they get control of a raw socket.
-Linux handles this safely, but beware when porting this program.
-.SH AUTHOR
-The etherwake program was written by Donald Becker at Scyld Computing
-Corporation for use with the Scyld(\*(Tm) Beowulf System.
diff --git a/packages/net-tools/files/ether-wake.c b/packages/net-tools/files/ether-wake.c
deleted file mode 100644
index eef22a7ab2..0000000000
--- a/packages/net-tools/files/ether-wake.c
+++ /dev/null
@@ -1,392 +0,0 @@
-/* ether-wake.c: Send a magic packet to wake up sleeping machines. */
-
-static char version_msg[] =
-"ether-wake.c: v1.09 11/12/2003 Donald Becker, http://www.scyld.com/";
-static char brief_usage_msg[] =
-"usage: ether-wake [-i <ifname>] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n"
-" Use '-u' to see the complete set of options.\n";
-static char usage_msg[] =
-"usage: ether-wake [-i <ifname>] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n"
-"\n"
-" This program generates and transmits a Wake-On-LAN (WOL)\n"
-" \"Magic Packet\", used for restarting machines that have been\n"
-" soft-powered-down (ACPI D3-warm state).\n"
-" It currently generates the standard AMD Magic Packet format, with\n"
-" an optional password appended.\n"
-"\n"
-" The single required parameter is the Ethernet MAC (station) address\n"
-" of the machine to wake or a host ID with known NSS 'ethers' entry.\n"
-" The MAC address may be found with the 'arp' program while the target\n"
-" machine is awake.\n"
-"\n"
-" Options:\n"
-" -b Send wake-up packet to the broadcast address.\n"
-" -D Increase the debug level.\n"
-" -i ifname Use interface IFNAME instead of the default 'eth0'.\n"
-" -p <pw> Append the four or six byte password PW to the packet.\n"
-" A password is only required for a few adapter types.\n"
-" The password may be specified in ethernet hex format\n"
-" or dotted decimal (Internet address)\n"
-" -p 00:22:44:66:88:aa\n"
-" -p 192.168.1.1\n";
-
-/*
- This program generates and transmits a Wake-On-LAN (WOL) "Magic Packet",
- used for restarting machines that have been soft-powered-down
- (ACPI D3-warm state). It currently generates the standard AMD Magic Packet
- format, with an optional password appended.
-
- This software may be used and distributed according to the terms
- of the GNU Public License, incorporated herein by reference.
- Contact the author for use under other terms.
-
- This source file was originally part of the network tricks package, and
- is now distributed to support the Scyld Beowulf system.
- Copyright 1999-2003 Donald Becker and Scyld Computing Corporation.
-
- The author may be reached as becker@scyld, or C/O
- Scyld Computing Corporation
- 914 Bay Ridge Road, Suite 220
- Annapolis MD 21403
-
- Notes:
- On some systems dropping root capability allows the process to be
- dumped, traced or debugged.
- If someone traces this program, they get control of a raw socket.
- Linux handles this safely, but beware when porting this program.
-
- An alternative to needing 'root' is using a UDP broadcast socket, however
- doing so only works with adapters configured for unicast+broadcast Rx
- filter. That configuration consumes more power.
-*/
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <errno.h>
-#include <ctype.h>
-#include <string.h>
-
-#if 0 /* Only exists on some versions. */
-#include <ioctls.h>
-#endif
-
-#include <sys/socket.h>
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <linux/if.h>
-
-#include <features.h>
-#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
-#include <netpacket/packet.h>
-#include <net/ethernet.h>
-#else
-#include <asm/types.h>
-#include <linux/if_packet.h>
-#include <linux/if_ether.h>
-#endif
-#include <netdb.h>
-#include <netinet/ether.h>
-
-/* Grrr, no consistency between include versions.
- Enable this if setsockopt() isn't declared with your library. */
-#if 0
-extern int setsockopt __P ((int __fd, int __level, int __optname,
- __ptr_t __optval, int __optlen));
-#else /* New, correct head files. */
-#include <sys/socket.h>
-#endif
-
-u_char outpack[1000];
-int outpack_sz = 0;
-int debug = 0;
-u_char wol_passwd[6];
-int wol_passwd_sz = 0;
-
-static int opt_no_src_addr = 0, opt_broadcast = 0;
-
-static int get_dest_addr(const char *arg, struct ether_addr *eaddr);
-static int get_fill(unsigned char *pkt, struct ether_addr *eaddr);
-static int get_wol_pw(const char *optarg);
-
-int main(int argc, char *argv[])
-{
- char *ifname = "eth0";
- int one = 1; /* True, for socket options. */
- int s; /* Raw socket */
- int errflag = 0, verbose = 0, do_version = 0;
- int perm_failure = 0;
- int i, c, pktsize;
-#if defined(PF_PACKET)
- struct sockaddr_ll whereto;
-#else
- struct sockaddr whereto; /* who to wake up */
-#endif
- struct ether_addr eaddr;
-
- while ((c = getopt(argc, argv, "bDi:p:uvV")) != -1)
- switch (c) {
- case 'b': opt_broadcast++; break;
- case 'D': debug++; break;
- case 'i': ifname = optarg; break;
- case 'p': get_wol_pw(optarg); break;
- case 'u': printf(usage_msg); return 0;
- case 'v': verbose++; break;
- case 'V': do_version++; break;
- case '?':
- errflag++;
- }
- if (verbose || do_version)
- printf("%s\n", version_msg);
- if (errflag) {
- fprintf(stderr, brief_usage_msg);
- return 3;
- }
-
- if (optind == argc) {
- fprintf(stderr, "Specify the Ethernet address as 00:11:22:33:44:55.\n");
- return 3;
- }
-
- /* Note: PF_INET, SOCK_DGRAM, IPPROTO_UDP would allow SIOCGIFHWADDR to
- work as non-root, but we need SOCK_PACKET to specify the Ethernet
- destination address. */
-#if defined(PF_PACKET)
- s = socket(PF_PACKET, SOCK_RAW, 0);
-#else
- s = socket(AF_INET, SOCK_PACKET, SOCK_PACKET);
-#endif
- if (s < 0) {
- if (errno == EPERM)
- fprintf(stderr, "ether-wake: This program must be run as root.\n");
- else
- perror("ether-wake: socket");
- perm_failure++;
- }
- /* Don't revert if debugging allows a normal user to get the raw socket. */
- setuid(getuid());
-
- /* We look up the station address before reporting failure so that
- errors may be reported even when run as a normal user.
- */
- if (get_dest_addr(argv[optind], &eaddr) != 0)
- return 3;
- if (perm_failure && ! debug)
- return 2;
-
- pktsize = get_fill(outpack, &eaddr);
-
- /* Fill in the source address, if possible.
- The code to retrieve the local station address is Linux specific. */
- if (! opt_no_src_addr) {
- struct ifreq if_hwaddr;
- unsigned char *hwaddr = if_hwaddr.ifr_hwaddr.sa_data;
-
- strcpy(if_hwaddr.ifr_name, ifname);
- if (ioctl(s, SIOCGIFHWADDR, &if_hwaddr) < 0) {
- fprintf(stderr, "SIOCGIFHWADDR on %s failed: %s\n", ifname,
- strerror(errno));
- /* Magic packets still work if our source address is bogus, but
- we fail just to be anal. */
- return 1;
- }
- memcpy(outpack+6, if_hwaddr.ifr_hwaddr.sa_data, 6);
-
- if (verbose) {
- printf("The hardware address (SIOCGIFHWADDR) of %s is type %d "
- "%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x.\n", ifname,
- if_hwaddr.ifr_hwaddr.sa_family, hwaddr[0], hwaddr[1],
- hwaddr[2], hwaddr[3], hwaddr[4], hwaddr[5]);
- }
- }
-
- if (wol_passwd_sz > 0) {
- memcpy(outpack+pktsize, wol_passwd, wol_passwd_sz);
- pktsize += wol_passwd_sz;
- }
-
- if (verbose > 1) {
- printf("The final packet is: ");
- for (i = 0; i < pktsize; i++)
- printf(" %2.2x", outpack[i]);
- printf(".\n");
- }
-
- /* This is necessary for broadcasts to work */
- if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char *)&one, sizeof(one)) < 0)
- perror("setsockopt: SO_BROADCAST");
-
-#if defined(PF_PACKET)
- {
- struct ifreq ifr;
- strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));
- if (ioctl(s, SIOCGIFINDEX, &ifr) == -1) {
- fprintf(stderr, "SIOCGIFINDEX on %s failed: %s\n", ifname,
- strerror(errno));
- return 1;
- }
- memset(&whereto, 0, sizeof(whereto));
- whereto.sll_family = AF_PACKET;
- whereto.sll_ifindex = ifr.ifr_ifindex;
- /* The manual page incorrectly claims the address must be filled.
- We do so because the code may change to match the docs. */
- whereto.sll_halen = ETH_ALEN;
- memcpy(whereto.sll_addr, outpack, ETH_ALEN);
-
- }
-#else
- whereto.sa_family = 0;
- strcpy(whereto.sa_data, ifname);
-#endif
-
- if ((i = sendto(s, outpack, pktsize, 0, (struct sockaddr *)&whereto,
- sizeof(whereto))) < 0)
- perror("sendto");
- else if (debug)
- printf("Sendto worked ! %d.\n", i);
-
-#ifdef USE_SEND
- if (bind(s, (struct sockaddr *)&whereto, sizeof(whereto)) < 0)
- perror("bind");
- else if (send(s, outpack, 100, 0) < 0)
- perror("send");
-#endif
-#ifdef USE_SENDMSG
- {
- struct msghdr msghdr = { 0,};
- struct iovec iovector[1];
- msghdr.msg_name = &whereto;
- msghdr.msg_namelen = sizeof(whereto);
- msghdr.msg_iov = iovector;
- msghdr.msg_iovlen = 1;
- iovector[0].iov_base = outpack;
- iovector[0].iov_len = pktsize;
- if ((i = sendmsg(s, &msghdr, 0)) < 0)
- perror("sendmsg");
- else if (debug)
- printf("sendmsg worked, %d (%d).\n", i, errno);
- }
-#endif
-
- return 0;
-}
-
-/* Convert the host ID string to a MAC address.
- The string may be a
- Host name
- IP address string
- MAC address string
-*/
-
-static int get_dest_addr(const char *hostid, struct ether_addr *eaddr)
-{
- struct ether_addr *eap;
-
- eap = ether_aton(hostid);
- if (eap) {
- *eaddr = *eap;
- if (debug)
- fprintf(stderr, "The target station address is %s.\n",
- ether_ntoa(eaddr));
- } else if (ether_hostton(hostid, eaddr) == 0) {
- if (debug)
- fprintf(stderr, "Station address for hostname %s is %s.\n",
- hostid, ether_ntoa(eaddr));
- } else {
- (void)fprintf(stderr,
- "ether-wake: The Magic Packet host address must be "
- "specified as\n"
- " - a station address, 00:11:22:33:44:55, or\n"
- " - a hostname with a known 'ethers' entry.\n");
- return -1;
- }
- return 0;
-}
-
-
-static int get_fill(unsigned char *pkt, struct ether_addr *eaddr)
-{
- int offset, i;
- unsigned char *station_addr = eaddr->ether_addr_octet;
-
- if (opt_broadcast)
- memset(pkt+0, 0xff, 6);
- else
- memcpy(pkt, station_addr, 6);
- memcpy(pkt+6, station_addr, 6);
- pkt[12] = 0x08; /* Or 0x0806 for ARP, 0x8035 for RARP */
- pkt[13] = 0x42;
- offset = 14;
-
- memset(pkt+offset, 0xff, 6);
- offset += 6;
-
- for (i = 0; i < 16; i++) {
- memcpy(pkt+offset, station_addr, 6);
- offset += 6;
- }
- if (debug) {
- fprintf(stderr, "Packet is ");
- for (i = 0; i < offset; i++)
- fprintf(stderr, " %2.2x", pkt[i]);
- fprintf(stderr, ".\n");
- }
- return offset;
-}
-
-static int get_wol_pw(const char *optarg)
-{
- int passwd[6];
- int byte_cnt;
- int i;
-
- byte_cnt = sscanf(optarg, "%2x:%2x:%2x:%2x:%2x:%2x",
- &passwd[0], &passwd[1], &passwd[2],
- &passwd[3], &passwd[4], &passwd[5]);
- if (byte_cnt < 4)
- byte_cnt = sscanf(optarg, "%d.%d.%d.%d",
- &passwd[0], &passwd[1], &passwd[2], &passwd[3]);
- if (byte_cnt < 4) {
- fprintf(stderr, "Unable to read the Wake-On-LAN password.\n");
- return 0;
- }
- printf(" The Magic packet password is %2.2x %2.2x %2.2x %2.2x (%d).\n",
- passwd[0], passwd[1], passwd[2], passwd[3], byte_cnt);
- for (i = 0; i < byte_cnt; i++)
- wol_passwd[i] = passwd[i];
- return wol_passwd_sz = byte_cnt;
-}
-
-#if 0
-{
- to = (struct sockaddr_in *)&whereto;
- to->sin_family = AF_INET;
- if (inet_aton(target, &to->sin_addr)) {
- hostname = target;
- }
- memset (&sa, 0, sizeof sa);
- sa.sa_family = AF_INET;
- strncpy (sa.sa_data, interface, sizeof sa.sa_data);
- sendto (sock, buf, bufix + len, 0, &sa, sizeof sa);
- strncpy (sa.sa_data, interface, sizeof sa.sa_data);
-#if 1
- sendto (sock, buf, bufix + len, 0, &sa, sizeof sa);
-#else
- bind (sock, &sa, sizeof sa);
- connect();
- send (sock, buf, bufix + len, 0);
-#endif
-}
-#endif
-
-
-/*
- * Local variables:
- * compile-command: "gcc -O -Wall -o ether-wake ether-wake.c"
- * c-indent-level: 4
- * c-basic-offset: 4
- * c-indent-level: 4
- * tab-width: 4
- * End:
- */
diff --git a/packages/net-tools/files/mii-diag.8 b/packages/net-tools/files/mii-diag.8
deleted file mode 100644
index aa0dc0be15..0000000000
--- a/packages/net-tools/files/mii-diag.8
+++ /dev/null
@@ -1,160 +0,0 @@
-.\" Hey, EMACS: -*- nroff -*-
-.\" $Revision: 1.1 $ $Date: 2003/09/06 17:20:17 $
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH MII-DIAG 8 "September 9, 2003" "Scyld Beowulf\*(Tm"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-mii-diag \- Network adapter control and monitoring
-.SH SYNOPSIS
-.B mii-diag
-.RI [ options ] <interface>
-.SH DESCRIPTION
-This manual page documents briefly the
-.B mii-diag
-network adapter control and monitoring command.
-Addition documentation is available from http://scyld.com/diag/index.html.
-
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invoke bold face and italics,
-.\" respectively.
-.PP
-This \fBmii-diag\fP command configures, controls and monitors the
-transceiver management registers for network interfaces, and configures
-driver operational parameters. For transceiver control \fBmii-diag\fP
-uses the Media Independent Interface (MII) standard (thus the command name).
-It also has additional Linux-specific controls to communicate parameters
-such as message enable settings and buffer sizes to the underlying device
-driver.
-.PP
-The MII standard defines registers that control and report network
-transceiver capabilities, link settings and errors. Examples are link
-speed, duplex, capabilities advertised to the link partner, status LED
-indications and link error counters.
-
-.SH OPTIONS
-The \fBmii-diag\fP command supports both single character and long
-option names. Short options use a single dash (´-´) in front of the option
-character. For options without parameters, multiple options may be
-concatenated after a single dash. Long options are prefixed by two
-dashes (´--´), and may be abbreviated with a unique prefix.
-A long option may take a parameter of the form --arg=param or --arg param.
-
-.PP
-A summary of options is as follows.
-
-.TP
-.B \-A, --advertise <speed|setting>
-.BR
-.B \-F, --fixed-speed <speed|setting>
-
-Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD, 10baseT,
-10baseT-FD, 10baseT-HD. For more precise control an explict numeric
-register setting is also allowed.
-
-
-.TP
-.B \-a, \--all-interfaces
-Show the status of all interfaces. This option is not recommended with
-any other option, especially ones that change settings.
-
-.TP
-.B \-s,\--status
-Return exit status 2 if there is no link beat.
-
-.TP
-.B \-D
-Increase the debugging level. This may be used to understand the
-actions the command is taking.
-
-.TP
-.B \-g, \--read-parameters
-Show driver-specific parameters.
-
-.TP
-.B \-G, \--set-parameters value[,value...]
-Set driver-specific parameters.
-Set a adapter-specific parameters.
-Parameters are comma separated, with missing elements retaining the
-existing value.
-
-.TP
-.B \-v
-Increase the verbosity level. Additional "-v" options increase the
-level further.
-
-.TP
-.B \-V
-Show the program version information.
-
-.TP
-.B \-w, \--watch
-Continuously monitor the transceiver and report changes.
-
-.TP
-.B \-?
-Emit usage information.
-
-.SH DESCRIPTION
-
-.PP
-Calling the command with just the interface name (which defaults to
-'eth0' if missing) produces extensive output describing the transceiver
-capabilities, configuration and current status.
-
-.PP
-The '--monitor' option allows scripting link beat changes.
-.PP
-This option is similar to --watch, but with lower overhead and simplifed
-output. It polls the interface only once a second and the output format
-is a single line per link change with three fixed words
- <unknown|down||negotiating|up> <STATUS> <PARTNER-CAP>
-.PP
-Example output: mii-diag --monitor eth0
- down 0x7809 0x0000
- negotiating 0x7829 0x45e1
- up 0x782d 0x45e1
- down 0x7809 0x0000
-
-.PP
-This may be used as
- mii-diag --monitor eth0 |
- while read linkstatus bmsr linkpar; do
- case $linkstatus in
- up) ifup eth0 ;;
- down) ifdown eth0 ;;
- esac
- done
-
-.PP
-It may be useful to shorten the DHCP client daemon timeout if it does
-not receive an address by adding the following setting to
-/etc/sysconfig/network:
-DHCPCDARGS="-t 3"
-
-.SH SEE ALSO
-.BR ether-wake (8), net-diag (8), mii-tool (8).
-.br
-Addition documentation is available from http://scyld.com/diag/index.html.
-
-.SH KNOWN BUGS
-The --all-interfaces option is quirky. There are very few settings that
-are usefully applied to all interfaces.
-
-.SH AUTHOR
-The manual pages, diagnostic commands, and many of the underlying Linux
-network drivers were written by Donald Becker for the Scyld
-Beowulf(\*(Tm) cluster system.
-
diff --git a/packages/net-tools/files/mii-diag.c b/packages/net-tools/files/mii-diag.c
deleted file mode 100644
index 17d8bef63b..0000000000
--- a/packages/net-tools/files/mii-diag.c
+++ /dev/null
@@ -1,650 +0,0 @@
-/* Mode: C;
- * mii-diag.c: Examine and set the MII registers of a network interfaces.
-
- Usage: mii-diag [-vw] interface.
-
- This program reads and writes the Media Independent Interface (MII)
- management registers on network transceivers. The registers control
- and report network link settings and errors. Examples are link speed,
- duplex, capabilities advertised to the link partner, status LED
- indications and link error counters.
-
- Notes:
- The compile-command is at the end of this source file.
- This program works with drivers that implement MII ioctl() calls.
-
- Written/copyright 1997-2003 by Donald Becker <becker@scyld.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.
-
- The author may be reached as becker@scyld.com, or C/O
- Scyld Computing Corporation
- 914 Bay Ridge Road, Suite 220
- Annapolis MD 21403
-
- References
- http://scyld.com/expert/mii-status.html
- http://scyld.com/expert/NWay.html
- http://www.national.com/pf/DP/DP83840.html
-*/
-
-static char version[] =
-"mii-diag.c:v2.11 3/21/2005 Donald Becker (becker@scyld.com)\n"
-" http://www.scyld.com/diag/index.html\n";
-
-static const char usage_msg[] =
-"Usage: %s [--help] [-aDfrRvVw] [-AF <speed+duplex>] [--watch] <interface>.\n";
-static const char long_usage_msg[] =
-"Usage: %s [-aDfrRvVw] [-AF <speed+duplex>] [--watch] <interface>.\n\
-\n\
- This program configures and monitors the transceiver management registers\n\
- for network interfaces. It uses the Media Independent Interface (MII)\n\
- standard with additional Linux-specific controls to communicate with the\n\
- underlying device driver. The MII registers control and report network\n\
- link settings and errors. Examples are link speed, duplex, capabilities\n\
- advertised to the link partner, status LED indications and link error\n\
- counters.\n\
-\n\
- The common usage is\n\
- mii-diag eth0\n\
-\n\
- The default interface is \"eth0\".\n\
- Frequently used options are\n\
- -A --advertise <speed|setting>\n\
- -F --fixed-speed <speed>\n\
- Speed is one of: 100baseT4, 100baseTx, 100baseTx-FD, 100baseTx-HD,\n\
- 10baseT, 10baseT-FD, 10baseT-HD\n\
- -s --status Return exit status 2 if there is no link beat.\n\
-\n\
- Less frequently used options are\n\
- -a --all-interfaces Show the status all interfaces\n\
- (Not recommended with options that change settings.)\n\
- -D --debug\n\
- -g --read-parameters Get driver-specific parameters.\n\
- -G --set-parameters PARMS Set driver-specific parameters.\n\
- Parameters are comma separated, missing parameters retain\n\
- their previous values.\n\
- -M --msg-level LEVEL Set the driver message bit map.\n\
- -p --phy ADDR Set the PHY (MII address) to report.\n\
- -r --restart Restart the link autonegotiation.\n\
- -R --reset Reset the transceiver.\n\
- -v --verbose Report each action taken.\n\
- -V --version Emit version information.\n\
- -w --watch Continuously monitor the transceiver and report changes.\n\
-\n\
- This command returns success (zero) if the interface information can be\n\
- read. If the --status option is passed, a zero return means that the\n\
- interface has link beat.\n\
-";
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <getopt.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#ifdef use_linux_libc5
-#include <linux/if_arp.h>
-#include <linux/if_ether.h>
-#endif
-
-typedef u_int32_t u32;
-typedef u_int16_t u16;
-typedef u_int8_t u8;
-
-#if defined(SIOCGPARAMS) && SIOCGPARAMS != SIOCDEVPRIVATE+3
-#error Changed definition for SIOCGPARAMS
-#else
-#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters. */
-#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters. */
-#endif
-
-const char shortopts[] = "aA:C:DfF:gG:hmM:p:rRsvVw?";
-struct option longopts[] = {
- /* { name has_arg *flag val } */
- {"all-interfaces", 0, 0, 'a'}, /* Show all interfaces. */
- {"advertise", 1, 0, 'A'}, /* Change the capabilities advertised. */
- {"BMCR", 1, 0, 'C'}, /* Set the control register. */
- {"debug", 0, 0, 'D'}, /* Increase the debug level. */
- {"force", 0, 0, 'f'}, /* Force the operation. */
- {"fixed-speed", 1, 0, 'F'}, /* Fixed speed name. */
- {"read-parameters", 0, 0, 'g'}, /* Show general settings values. */
- {"set-parameters", 1, 0, 'G'}, /* Write general settings values. */
- {"help", 0, 0, 'h'}, /* Print a long usage message. */
- {"monitor", 0, 0, 'm'}, /* Monitor status register. */
- {"msg-level", 1, 0, 'M'}, /* Set the driver message level. */
- {"phy", 1, 0, 'p'}, /* Set the PHY (MII address) to report. */
- {"restart", 0, 0, 'r'}, /* Restart the link negotiation */
- {"reset", 0, 0, 'R'}, /* Reset the transceiver. */
- {"status", 0, 0, 's'}, /* Non-zero exit status w/ no link beat. */
- {"verbose", 0, 0, 'v'}, /* Report each action taken. */
- {"version", 0, 0, 'V'}, /* Emit version information. */
- {"watch", 0, 0, 'w'}, /* Constantly monitor the port. */
- {"error", 0, 0, '?'}, /* Return the error message. */
- { 0, 0, 0, 0 }
-};
-
-/* Usually in libmii.c, but trivial substitions are below. */
-extern int show_mii_details(long ioaddr, int phy_id);
-extern void monitor_mii(long ioaddr, int phy_id);
-int show_mii_details(long ioaddr, int phy_id) __attribute__((weak));
-void monitor_mii(long ioaddr, int phy_id) __attribute__((weak));
-
-
-/* Command-line flags. */
-unsigned int opt_a = 0, /* Show-all-interfaces flag. */
- opt_f = 0, /* Force the operation. */
- opt_g = 0,
- opt_G = 0,
- verbose = 0, /* Verbose flag. */
- debug = 0,
- opt_version = 0,
- opt_restart = 0,
- opt_reset = 0,
- opt_status = 0,
- opt_watch = 0;
-static int msg_level = -1;
-static int set_BMCR = -1;
-static int nway_advertise = 0;
-static int fixed_speed = -1;
-static int override_phy = -1;
-char *opt_G_string = NULL;
-
-/* Internal values. */
-int new_ioctl_nums;
-int skfd = -1; /* AF_INET socket for ioctl() calls. */
-struct ifreq ifr;
-
-int do_one_xcvr(int skfd);
-int show_basic_mii(long ioaddr, int phy_id);
-int mdio_read(int skfd, int phy_id, int location);
-void mdio_write(int skfd, int phy_id, int location, int value);
-static int parse_advertise(const char *capabilities);
-static void monitor_status(long ioaddr, int phy_id);
-
-
-int
-main(int argc, char **argv)
-{
- int c, errflag = 0;
- char **spp, *ifname;
- char *progname = rindex(argv[0], '/') ? rindex(argv[0], '/')+1 : argv[0];
-
- while ((c = getopt_long(argc, argv, shortopts, longopts, 0)) != EOF)
- switch (c) {
- case 'a': opt_a++; break;
- case 'A': nway_advertise |= parse_advertise(optarg);
- if (nway_advertise == -1) errflag++;
- break;
- case 'C': set_BMCR = strtoul(optarg, NULL, 16); break;
- case 'D': debug++; break;
- case 'f': opt_f++; break;
- case 'F': fixed_speed = parse_advertise(optarg);
- if (fixed_speed == -1) errflag++;
- break;
- case 'g': opt_g++; break;
- case 'G': opt_G++; opt_G_string = strdup(optarg); break;
- case 'm': opt_watch++; opt_status++; break;
- case 'M': msg_level = strtoul(optarg, NULL, 0); break;
- case 'h': fprintf(stderr, long_usage_msg, progname); return 0;
- case 'p': override_phy = atoi(optarg); break;
- case 'r': opt_restart++; break;
- case 'R': opt_reset++; break;
- case 's': opt_status++; break;
- case 'v': verbose++; break;
- case 'V': opt_version++; break;
- case 'w': opt_watch++; break;
- case '?': errflag++; break;
- }
- if (errflag) {
- fprintf(stderr, usage_msg, progname);
- return 2;
- }
-
- if (verbose || opt_version)
- printf(version);
-
- /* Open a basic socket. */
- if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0) {
- perror("socket");
- return 1;
- }
-
- if (debug)
- fprintf(stderr, "DEBUG: argc=%d, optind=%d and argv[optind] is %s.\n",
- argc, optind, argv[optind]);
-
- /* No remaining args means show all interfaces. */
- if (optind == argc) {
- ifname = "eth0";
- fprintf(stderr, "Using the default interface 'eth0'.\n");
- } else {
- /* Copy the interface name. */
- spp = argv + optind;
- ifname = *spp++;
- }
-
- if (ifname == NULL) {
- ifname = "eth0";
- fprintf(stderr, "Using the default interface 'eth0'.\n");
- }
-
- /* Verify that the interface supports the ioctl(), and if
- it is using the new or old SIOCGMIIPHY value (grrr...).
- */
- {
- u16 *data = (u16 *)(&ifr.ifr_data);
-
- strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
- data[0] = 0;
-
- if (ioctl(skfd, 0x8947, &ifr) >= 0) {
- new_ioctl_nums = 1;
- } else if (ioctl(skfd, SIOCDEVPRIVATE, &ifr) >= 0) {
- new_ioctl_nums = 0;
- } else {
- fprintf(stderr, "SIOCGMIIPHY on %s failed: %s\n", ifname,
- strerror(errno));
- (void) close(skfd);
- return 1;
- }
- if (verbose)
- printf(" Using the %s SIOCGMIIPHY value on PHY %d "
- "(BMCR 0x%4.4x).\n",
- new_ioctl_nums ? "new" : "old", data[0], data[3]);
- }
-
- do_one_xcvr(skfd);
-
- (void) close(skfd);
- return 0;
-}
-
-int do_one_xcvr(int skfd)
-{
- u16 *data = (u16 *)(&ifr.ifr_data);
- u32 *data32 = (u32 *)(&ifr.ifr_data);
- unsigned phy_id = data[0];
-
- if (override_phy >= 0) {
- printf("Using the specified MII PHY index %d.\n", override_phy);
- phy_id = override_phy;
- }
-
- if (opt_g || opt_G || msg_level >= 0) {
- if (ioctl(skfd, SIOCGPARAMS, &ifr) < 0) {
- fprintf(stderr, "SIOCGPARAMS on %s failed: %s\n", ifr.ifr_name,
- strerror(errno));
- return -1;
- }
- }
- if (opt_g) {
- int i;
- printf("Driver general parameter settings:");
- for (i = 0; i*sizeof(u32) < sizeof(ifr.ifr_ifru); i++) {
- printf(" %d", data32[i]);
- }
- printf(".\n");
- }
- if (opt_G) {
- /* Set up to four arbitrary driver parameters from the -G parameter.
- The format is comma separated integers, with a missing element
- retaining the previous value.
- */
- char *str = opt_G_string;
- int i;
- for (i = 0; str && i < 4; i++) {
- char *endstr;
- u32 newval = strtol(str, &endstr, 0);
- if (debug)
- printf(" parse string '%s' value %d end '%s'.\n",
- str, newval, endstr);
- if (str == endstr) {
- if (endstr[0] == ',') /* No parameter */
- str = endstr+1;
- else {
- fprintf(stderr, "Invalid driver parameter '%s'.\n", str);
- str = index(str, ',');
- }
- } else if (endstr[0] == ',') {
- data32[i] = newval;
- str = endstr + 1;
- } else if (endstr[0] == 0) {
- data32[i] = newval;
- break;
- }
- }
- printf("Setting new driver general parameters:");
- for (i = 0; i*sizeof(u32) < sizeof(ifr.ifr_ifru); i++) {
- printf(" %d", data32[i]);
- }
- printf(".\n");
- if (ioctl(skfd, SIOCSPARAMS, &ifr) < 0) {
- fprintf(stderr, "SIOCSPARAMS on %s failed: %s\n", ifr.ifr_name,
- strerror(errno));
- return -1;
- }
- }
- if (msg_level >= 0) {
- data32[0] = msg_level;
- if (ioctl(skfd, SIOCSPARAMS, &ifr) < 0) {
- fprintf(stderr, "SIOCSPARAMS on %s failed: %s\n", ifr.ifr_name,
- strerror(errno));
- return -1;
- }
- }
-
- if (opt_reset) {
- printf("Resetting the transceiver...\n");
- mdio_write(skfd, phy_id, 0, 0x8000);
- }
- /* Note: PHY addresses > 32 are pseudo-MII devices, usually built-in. */
- if (phy_id < 64 && nway_advertise > 0) {
- printf(" Setting the media capability advertisement register of "
- "PHY #%d to 0x%4.4x.\n", phy_id, nway_advertise | 1);
- mdio_write(skfd, phy_id, 4, nway_advertise | 1);
- mdio_write(skfd, phy_id, 0, 0x1000);
- }
-
- if (opt_restart) {
- printf("Restarting negotiation...\n");
- mdio_write(skfd, phy_id, 0, 0x0000);
- mdio_write(skfd, phy_id, 0, 0x1200);
- }
- /* To force 100baseTx-HD do mdio_write(skfd, phy_id, 0, 0x2000); */
- if (fixed_speed >= 0) {
- int reg0_val = 0;
- if (fixed_speed & 0x0180) /* 100mpbs */
- reg0_val |= 0x2000;
- if ((fixed_speed & 0x0140) && /* A full duplex type and */
- ! (fixed_speed & 0x0820)) /* no half duplex types. */
- reg0_val |= 0x0100;
- printf("Setting the speed to \"fixed\", Control register %4.4x.\n",
- reg0_val);
- mdio_write(skfd, phy_id, 0, reg0_val);
- }
- if (set_BMCR >= 0) {
- printf("Setting the Basic Mode Control Register to 0x%4.4x.\n",
- set_BMCR);
- mdio_write(skfd, phy_id, 0, set_BMCR);
- }
-
- if (opt_watch && opt_status)
- monitor_status(skfd, phy_id);
-
- show_basic_mii(skfd, phy_id);
-#ifdef LIBMII
- if (verbose)
- show_mii_details(skfd, phy_id);
-#else
- if (verbose || debug) {
- int mii_reg, mii_val;
- printf(" MII PHY #%d transceiver registers:", phy_id);
- for (mii_reg = 0; mii_reg < 32; mii_reg++) {
- mii_val = mdio_read(skfd, phy_id, mii_reg);
- printf("%s %4.4x", (mii_reg % 8) == 0 ? "\n " : "",
- mii_val);
- }
- printf("\n");
- }
-#endif
-
- if (opt_watch)
- monitor_mii(skfd, phy_id);
- if (opt_status &&
- (mdio_read(skfd, phy_id, 1) & 0x0004) == 0)
- exit(2);
- return 0;
-}
-
-int mdio_read(int skfd, int phy_id, int location)
-{
- u16 *data = (u16 *)(&ifr.ifr_data);
-
- data[0] = phy_id;
- data[1] = location;
-
- if (ioctl(skfd, new_ioctl_nums ? 0x8948 : SIOCDEVPRIVATE+1, &ifr) < 0) {
- fprintf(stderr, "SIOCGMIIREG on %s failed: %s\n", ifr.ifr_name,
- strerror(errno));
- return -1;
- }
- return data[3];
-}
-
-void mdio_write(int skfd, int phy_id, int location, int value)
-{
- u16 *data = (u16 *)(&ifr.ifr_data);
-
- data[0] = phy_id;
- data[1] = location;
- data[2] = value;
-
- if (ioctl(skfd, new_ioctl_nums ? 0x8949 : SIOCDEVPRIVATE+2, &ifr) < 0) {
- fprintf(stderr, "SIOCSMIIREG on %s failed: %s\n", ifr.ifr_name,
- strerror(errno));
- }
-}
-
-/* Parse the command line argument for advertised capabilities. */
-static int parse_advertise(const char *capabilities)
-{
- const char *mtypes[] = {
- "100baseT4", "100baseTx", "100baseTx-FD", "100baseTx-HD",
- "10baseT", "10baseT-FD", "10baseT-HD", 0,
- };
- char *endptr;
- int cap_map[] = { 0x0200, 0x0180, 0x0100, 0x0080, 0x0060, 0x0040, 0x0020,};
- int i;
- if ( ! capabilities) {
- fprintf(stderr, "You passed -A 'NULL'. You must provide a media"
- " list to advertise!\n");
- return -1;
- }
- if (debug)
- fprintf(stderr, "Advertise string is '%s'.\n", capabilities);
- for (i = 0; mtypes[i]; i++)
- if (strcasecmp(mtypes[i], capabilities) == 0)
- return cap_map[i];
- if ((i = strtol(capabilities, &endptr, 16)) <= 0xffff && endptr[0] == 0)
- return i;
- fprintf(stderr, "Invalid media advertisement value '%s'.\n"
- " Either pass a numeric value or one of the following names:\n",
- capabilities);
- for (i = 0; mtypes[i]; i++)
- fprintf(stderr, " %-14s %3.3x\n", mtypes[i], cap_map[i]);
- return -1;
-}
-
-/* Trivial versions if we don't link against libmii.c */
-static const char *media_names[] = {
- "10baseT", "10baseT-FD", "100baseTx", "100baseTx-FD", "100baseT4",
- "Flow-control", 0,
-};
-/* Various non-good bits in the command register. */
-static const char *bmcr_bits[] = {
- " Internal Collision-Test enabled!\n", "", /* 0x0080,0x0100 */
- " Restarted auto-negotiation in progress!\n",
- " Transceiver isolated from the MII!\n",
- " Transceiver powered down!\n", "", "",
- " Transceiver in loopback mode!\n",
- " Transceiver currently being reset!\n",
-};
-
-int show_basic_mii(long ioaddr, int phy_id)
-{
- int mii_reg, i;
- u16 mii_val[32];
- u16 bmcr, bmsr, new_bmsr, nway_advert, lkpar;
-
- for (mii_reg = 0; mii_reg < 8; mii_reg++)
- mii_val[mii_reg] = mdio_read(ioaddr, phy_id, mii_reg);
- if ( ! verbose) {
- printf("Basic registers of MII PHY #%d: ", phy_id);
- for (mii_reg = 0; mii_reg < 8; mii_reg++)
- printf(" %4.4x", mii_val[mii_reg]);
- printf(".\n");
- }
-
- if (mii_val[0] == 0xffff || mii_val[1] == 0x0000) {
- printf(" No MII transceiver present!.\n");
- if (! opt_f) {
- printf(" Use '--force' to view the information anyway.\n");
- return -1;
- }
- }
- /* Descriptive rename. */
- bmcr = mii_val[0];
- bmsr = mii_val[1];
- nway_advert = mii_val[4];
- lkpar = mii_val[5];
-
- if (lkpar & 0x4000) {
- int negotiated = nway_advert & lkpar & 0x3e0;
- int max_capability = 0;
- /* Scan for the highest negotiated capability, highest priority
- (100baseTx-FDX) to lowest (10baseT-HDX). */
- int media_priority[] = {8, 9, 7, 6, 5}; /* media_names[i-5] */
- printf(" The autonegotiated capability is %4.4x.\n", negotiated);
- for (i = 0; media_priority[i]; i++)
- if (negotiated & (1 << media_priority[i])) {
- max_capability = media_priority[i];
- break;
- }
- if (max_capability)
- printf("The autonegotiated media type is %s.\n",
- media_names[max_capability - 5]);
- else
- printf("No common media type was autonegotiated!\n"
- "This is extremely unusual and typically indicates a "
- "configuration error.\n" "Perhaps the advertised "
- "capability set was intentionally limited.\n");
- }
- printf(" Basic mode control register 0x%4.4x:", bmcr);
- if (bmcr & 0x1000)
- printf(" Auto-negotiation enabled.\n");
- else
- printf(" Auto-negotiation disabled, with\n"
- " Speed fixed at 10%s mbps, %s-duplex.\n",
- bmcr & 0x2000 ? "0" : "",
- bmcr & 0x0100 ? "full":"half");
- for (i = 0; i < 9; i++)
- if (bmcr & (0x0080<<i))
- printf(bmcr_bits[i]);
-
- new_bmsr = mdio_read(ioaddr, phy_id, 1);
- if ((bmsr & 0x0016) == 0x0004)
- printf( " You have link beat, and everything is working OK.\n");
- else
- printf(" Basic mode status register 0x%4.4x ... %4.4x.\n"
- " Link status: %sestablished.\n",
- bmsr, new_bmsr,
- bmsr & 0x0004 ? "" :
- (new_bmsr & 0x0004) ? "previously broken, but now re" : "not ");
- if (verbose) {
- printf(" This transceiver is capable of ");
- if (bmsr & 0xF800) {
- for (i = 15; i >= 11; i--)
- if (bmsr & (1<<i))
- printf(" %s", media_names[i-11]);
- } else
- printf("<Warning! No media capabilities>");
- printf(".\n");
- printf(" %s to perform Auto-negotiation, negotiation %scomplete.\n",
- bmsr & 0x0008 ? "Able" : "Unable",
- bmsr & 0x0020 ? "" : "not ");
- }
-
- if (bmsr & 0x0010)
- printf(" Remote fault detected!\n");
- if (bmsr & 0x0002)
- printf(" *** Link Jabber! ***\n");
-
- if (lkpar & 0x4000) {
- printf(" Your link partner advertised %4.4x:",
- lkpar);
- for (i = 5; i >= 0; i--)
- if (lkpar & (0x20<<i))
- printf(" %s", media_names[i]);
- printf("%s.\n", lkpar & 0x0400 ? ", w/ 802.3X flow control" : "");
- } else if (lkpar & 0x00A0)
- printf(" Your link partner is generating %s link beat (no"
- " autonegotiation).\n",
- lkpar & 0x0080 ? "100baseTx" : "10baseT");
- else if ( ! (bmcr & 0x1000))
- printf(" Link partner information is not exchanged when in"
- " fixed speed mode.\n");
- else if ( ! (new_bmsr & 0x004))
- ; /* If no partner, do not report status. */
- else if (lkpar == 0x0001 || lkpar == 0x0000) {
- printf(" Your link partner does not do autonegotiation, and this "
- "transceiver type\n does not report the sensed link "
- "speed.\n");
- } else
- printf(" Your link partner is strange, status %4.4x.\n", lkpar);
-
- printf(" End of basic transceiver information.\n\n");
- return 0;
-}
-
-static void monitor_status(long ioaddr, int phy_id)
-{
- unsigned int baseline_1 = 0x55555555; /* Always show initial status. */
-
- while (1) {
- unsigned int new_1 = mdio_read(ioaddr, phy_id, 1);
- if (new_1 != baseline_1) {
- printf("%-12s 0x%4.4x 0x%4.4x\n",
- new_1 & 0x04 ? (new_1==0xffff ? "unknown" : "up") :
- new_1 & 0x20 ? "negotiating" : "down",
- new_1, mdio_read(ioaddr, phy_id, 5));
- fflush(stdout);
- baseline_1 = new_1;
- }
- sleep(1);
- }
-}
-
-int show_mii_details(long ioaddr, int phy_id)
-{
- int mii_reg, mii_val;
- printf(" MII PHY #%d transceiver registers:", phy_id);
- for (mii_reg = 0; mii_reg < 32; mii_reg++) {
- mii_val = mdio_read(skfd, phy_id, mii_reg);
- printf("%s %4.4x", (mii_reg % 8) == 0 ? "\n " : "",
- mii_val);
- }
- printf("\nThis version of 'mii-diag' has not been linked with "
- "the libmii.c library.\n"
- " That library provides extended transceiver status reports.\n");
- return 0;
-}
-
-void monitor_mii(long ioaddr, int phy_id)
-{
- fprintf(stderr, "\nThis version of 'mii-diag' has not been linked with "
- "the libmii.c library \n"
- " required for the media monitor option.\n");
-}
-
-
-
-/*
- * Local variables:
- * version-control: t
- * kept-new-versions: 5
- * c-indent-level: 4
- * c-basic-offset: 4
- * tab-width: 4
- * compile-command: "gcc -Wall -Wstrict-prototypes -O mii-diag.c -DLIBMII libmii.c -o mii-diag"
- * simple-compile-command: "gcc mii-diag.c -o mii-diag"
- * End:
- */
diff --git a/packages/net-tools/files/net-tools-1.57-bug22040.patch b/packages/net-tools/files/net-tools-1.57-bug22040.patch
deleted file mode 100644
index 76f04d5421..0000000000
--- a/packages/net-tools/files/net-tools-1.57-bug22040.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- net-tools-1.57/arp.c.orig Sun May 14 17:57:41 2000
-+++ net-tools-1.57/arp.c Sat Nov 25 15:05:27 2000
-@@ -618,6 +618,7 @@
- fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <hostname> <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"));
---- net-tools-1.57/man/en_US/arp.8.orig Sat Nov 25 15:13:26 2000
-+++ net-tools-1.57/man/en_US/arp.8 Sat Nov 25 15:15:12 2000
-@@ -3,7 +3,7 @@
- arp \- manipulate the system ARP cache
- .SH SYNOPSIS
- .B arp
--.RB [ \-vn ]
-+.RB [ \-evn ]
- .RB [ "\-H type" ]
- .RB [ "-i if" ]
- .B -a
-@@ -60,7 +60,7 @@
- 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
-@@ -81,7 +81,8 @@
- .B hostname
- parameter is not used,
- .B all
--entries will be displayed.
-+entries will be displayed.
-+The entries will be displayed in alternate (BSD) style.
- .TP
- .B "\-d hostname, \-\-delete hostname"
- Remove any entry for the specified host. This can be used if the
-@@ -91,6 +92,9 @@
- Use the interface
- .BR ifa "'s"
- hardware address.
-+.TP
-+.B "\-e"
-+Shows the entries in default (Linux) style.
- .TP
- .B "\-i If, \-\-device If"
- Select an interface. When dumping the ARP cache only entries matching
diff --git a/packages/net-tools/files/net-tools-1.60-arp_overflow.patch b/packages/net-tools/files/net-tools-1.60-arp_overflow.patch
deleted file mode 100644
index 4679a51675..0000000000
--- a/packages/net-tools/files/net-tools-1.60-arp_overflow.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- net-tools-1.60/arp.c.old 2005-08-03 08:23:46.000000000 +0200
-+++ net-tools-1.60/arp.c 2005-08-03 11:02:10.000000000 +0200
-@@ -235,7 +235,7 @@
- struct ifreq ifr;
- struct hwtype *xhw;
-
-- strcpy(ifr.ifr_name, ifname);
-+ strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
- if (ioctl(sockfd, SIOCGIFHWADDR, &ifr) < 0) {
- fprintf(stderr, _("arp: cant get HW-Address for `%s': %s.\n"), ifname, strerror(errno));
- return (-1);
diff --git a/packages/net-tools/files/net-tools-1.60-bcast.patch b/packages/net-tools/files/net-tools-1.60-bcast.patch
deleted file mode 100644
index 9489e26352..0000000000
--- a/packages/net-tools/files/net-tools-1.60-bcast.patch
+++ /dev/null
@@ -1,99 +0,0 @@
---- net-tools-1.60/ifconfig.c.broadcast 2004-11-03 12:05:30.000000000 +0100
-+++ net-tools-1.60/ifconfig.c 2004-11-04 15:39:32.817077232 +0100
-@@ -36,6 +36,7 @@
- #include <sys/ioctl.h>
- #include <netinet/in.h>
- #include <net/if.h>
-+#include <netinet/ip.h>
- #include <net/if_arp.h>
- #include <stdio.h>
- #include <errno.h>
-@@ -138,6 +139,7 @@
- perror("SIOCSIFFLAGS");
- return -1;
- }
-+
- return (0);
- }
-
-@@ -212,17 +214,41 @@
- exit(0);
- }
-
--static int set_netmask(int skfd, struct ifreq *ifr, struct sockaddr *sa)
-+static int set_netmask(int skfd, struct ifreq *ifr, struct sockaddr *sa, int new_bcast)
- {
- int err = 0;
--
-- memcpy((char *) &ifr->ifr_netmask, (char *) sa,
-- sizeof(struct sockaddr));
-+ struct sockaddr_in * ip_addr, * netmask, *bcast;
-+ struct ifreq ifraddr;
-+ struct ifreq ifrbcast;
-+
-+ memcpy((char *) &ifr->ifr_netmask, (char *) sa,
-+ sizeof(struct sockaddr));
- if (ioctl(skfd, SIOCSIFNETMASK, ifr) < 0) {
- fprintf(stderr, "SIOCSIFNETMASK: %s\n",
- strerror(errno));
- err = 1;
- }
-+
-+ if (new_bcast) {
-+ memcpy(&ifraddr,ifr,sizeof(struct ifreq));
-+ memcpy(&ifrbcast,ifr,sizeof(struct ifreq));
-+
-+ if (ioctl(skfd, SIOCGIFADDR, &ifraddr) < 0) {
-+ fprintf(stderr, "SIOCGIFADDR: %s\n", strerror(errno));
-+ err = 1;
-+ }
-+
-+ ip_addr = (struct sockaddr_in *)&ifraddr.ifr_addr;
-+ netmask = (struct sockaddr_in *)&ifr->ifr_netmask;
-+ bcast = (struct sockaddr_in *)&ifrbcast.ifr_broadaddr;
-+ /* calculate new broadcast adress */
-+ bcast->sin_addr.s_addr = ip_addr->sin_addr.s_addr | ~netmask->sin_addr.s_addr;
-+ /* set new broadcast adress */
-+ if (ioctl(skfd, SIOCSIFBRDADDR, &ifrbcast) < 0) {
-+ fprintf(stderr, "SIOCSIFBROADCAST: %s\n", strerror(errno));
-+ err = 1;
-+ }
-+ }
- return 0;
- }
-
-@@ -234,7 +260,7 @@
- struct aftype *ap;
- struct hwtype *hw;
- struct ifreq ifr;
-- int goterr = 0, didnetmask = 0, donetmask = 0;
-+ int goterr = 0, didnetmask = 0, donetmask = 0, dobcast = 1;
- char **spp;
- int fd;
- #if HAVE_AFINET6
-@@ -506,6 +532,7 @@
- strerror(errno));
- goterr = 1;
- }
-+ dobcast = 0;
- spp++;
- }
- goterr |= set_flag(ifr.ifr_name, IFF_BROADCAST);
-@@ -542,7 +569,7 @@
- continue;
- }
- didnetmask++;
-- goterr = set_netmask(ap->fd, &ifr, &sa);
-+ goterr = set_netmask(ap->fd, &ifr, &sa, dobcast);
- spp++;
- continue;
- }
-@@ -964,7 +991,7 @@
- /* set CIDR netmask */
- if (donetmask) {
- donetmask = 0;
-- goterr = set_netmask(skfd, &ifr, &sa_netmask);
-+ goterr = set_netmask(skfd, &ifr, &sa_netmask, dobcast);
- didnetmask++;
- }
-
diff --git a/packages/net-tools/files/net-tools-1.60-bitkeeper.patch b/packages/net-tools/files/net-tools-1.60-bitkeeper.patch
deleted file mode 100644
index 6871304d3b..0000000000
--- a/packages/net-tools/files/net-tools-1.60-bitkeeper.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- net-tools-1.60/netplug-1.2.9/Makefile.kill_bitkeeper 2005-01-10 11:36:32.000000000 +0100
-+++ net-tools-1.60/netplug-1.2.9/Makefile 2005-01-10 11:38:01.796744224 +0100
-@@ -24,10 +24,12 @@
- install $(install_opts) -m 755 scripts/rc.netplugd $(initdir)/netplugd
- install -C $(install_opts) -m 444 man/man8/netplugd.8 $(mandir)/man8
-
--bk_root := $(shell bk root)
-+#bk_root := $(shell bk root)
-+bk_root := $(shell)
- tar_root := netplug-$(version)
- tar_file := $(bk_root)/$(tar_root).tar.bz2
--files := $(shell bk sfiles -Ug)
-+#files := $(shell bk sfiles -Ug)
-+file := $(shell)
-
- tarball: $(tar_file)
-
diff --git a/packages/net-tools/files/net-tools-1.60-config.h b/packages/net-tools/files/net-tools-1.60-config.h
deleted file mode 100644
index b01fd72bfe..0000000000
--- a/packages/net-tools/files/net-tools-1.60-config.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-* config.h Automatically generated configuration includefile
-*
-* NET-TOOLS A collection of programs that form the base set of the
-* NET-3 Networking Distribution for the LINUX operating
-* system.
-*
-* DO NOT EDIT DIRECTLY
-*
-*/
-
-/*
- *
- * Internationalization
- *
- * The net-tools package has currently been translated to French,
- * German and Brazilian Portugese. Other translations are, of
- * course, welcome. Answer `n' here if you have no support for
- * internationalization on your system.
- *
- */
-#define I18N 0
-
-/*
- *
- * Protocol Families.
- *
- */
-#define HAVE_AFUNIX 1
-#define HAVE_AFINET 1
-#define HAVE_AFINET6 1
-#define HAVE_AFIPX 0
-#define HAVE_AFATALK 0
-#define HAVE_AFAX25 0
-#define HAVE_AFNETROM 1
-#define HAVE_AFROSE 0
-#define HAVE_AFX25 0
-#define HAVE_AFECONET 0
-#define HAVE_AFDECnet 0
-#define HAVE_AFASH 0
-
-/*
- *
- * Device Hardware types.
- *
- */
-#define HAVE_HWETHER 1
-#define HAVE_HWARC 1
-#define HAVE_HWSLIP 1
-#define HAVE_HWPPP 1
-#define HAVE_HWTUNNEL 1
-#define HAVE_HWSTRIP 1
-#define HAVE_HWTR 1
-#define HAVE_HWAX25 0
-#define HAVE_HWROSE 0
-#define HAVE_HWNETROM 1
-#define HAVE_HWX25 0
-#define HAVE_HWFR 1
-#define HAVE_HWSIT 0
-#define HAVE_HWFDDI 0
-#define HAVE_HWHIPPI 0
-#define HAVE_HWASH 0
-#define HAVE_HWHDLCLAPB 0
-#define HAVE_HWIRDA 1
-#define HAVE_HWEC 0
-#define HAVE_HWIB 0
-
-/*
- *
- * Other Features.
- *
- */
-#define HAVE_FW_MASQUERADE 1
-#define HAVE_IP_TOOLS 1
-#define HAVE_MII 1
diff --git a/packages/net-tools/files/net-tools-1.60-config.make b/packages/net-tools/files/net-tools-1.60-config.make
deleted file mode 100644
index 11082004cd..0000000000
--- a/packages/net-tools/files/net-tools-1.60-config.make
+++ /dev/null
@@ -1,36 +0,0 @@
-# I18N=0
-HAVE_AFUNIX=1
-HAVE_AFINET=1
-HAVE_AFINET6=1
-# HAVE_AFIPX=0
-# HAVE_AFATALK=0
-# HAVE_AFAX25=0
-HAVE_AFNETROM=1
-# HAVE_AFROSE=0
-# HAVE_AFX25=0
-# HAVE_AFECONET=0
-# HAVE_AFDECnet=0
-# HAVE_AFASH=0
-HAVE_HWETHER=1
-HAVE_HWARC=1
-HAVE_HWSLIP=1
-HAVE_HWPPP=1
-HAVE_HWTUNNEL=1
-HAVE_HWSTRIP=1
-HAVE_HWTR=1
-# HAVE_HWAX25=0
-# HAVE_HWROSE=0
-HAVE_HWNETROM=1
-# HAVE_HWX25=0
-HAVE_HWFR=1
-# HAVE_HWSIT=0
-# HAVE_HWFDDI=0
-# HAVE_HWHIPPI=0
-# HAVE_HWASH=0
-# HAVE_HWHDLCLAPB=0
-HAVE_HWIRDA=1
-# HAVE_HWEC=0
-# HAVE_HWIB=0
-HAVE_FW_MASQUERADE=1
-HAVE_IP_TOOLS=1
-HAVE_MII=1
diff --git a/packages/net-tools/files/net-tools-1.60-cycle.patch b/packages/net-tools/files/net-tools-1.60-cycle.patch
deleted file mode 100644
index ce659ec5ad..0000000000
--- a/packages/net-tools/files/net-tools-1.60-cycle.patch
+++ /dev/null
@@ -1,311 +0,0 @@
---- net-tools-1.60/lib/interface.c.cycle 2003-02-11 14:29:29.000000000 +0100
-+++ net-tools-1.60/lib/interface.c 2003-02-11 14:29:29.000000000 +0100
-@@ -90,6 +90,7 @@
- static struct interface *int_list, *int_last;
-
- static int if_readlist_proc(char *);
-+static int if_readlist_rep(char *, struct interface *);
-
- static struct interface *add_interface(char *name)
- {
-@@ -128,11 +129,13 @@
- int for_all_interfaces(int (*doit) (struct interface *, void *), void *cookie)
- {
- struct interface *ife;
-+ int err;
-
- if (!int_list && (if_readlist() < 0))
- return -1;
- for (ife = int_list; ife; ife = ife->next) {
-- int err = doit(ife, cookie);
-+ if_readlist_rep(ife->name, ife);
-+ err = doit(ife, cookie);
- if (err)
- return err;
- }
-@@ -369,6 +372,42 @@
- return err;
- }
-
-+
-+static int if_readlist_rep(char *target, struct interface *ife)
-+{
-+ FILE *fh;
-+ char buf[512];
-+ int err;
-+
-+ fh = fopen(_PATH_PROCNET_DEV, "r");
-+ if (!fh) {
-+ fprintf(stderr, _("Warning: cannot open %s (%s). Limited output.\n"),
-+ _PATH_PROCNET_DEV, strerror(errno));
-+ return if_readconf();
-+ }
-+ fgets(buf, sizeof buf, fh); /* eat line */
-+ fgets(buf, sizeof buf, fh);
-+
-+ procnetdev_vsn = procnetdev_version(buf);
-+
-+ err = 0;
-+ while (fgets(buf, sizeof buf, fh)) {
-+ char *s, name[IFNAMSIZ];
-+ s = get_name(name, buf);
-+ get_dev_fields(s, ife);
-+ ife->statistics_valid = 1;
-+ if (target && !strcmp(target,name))
-+ break;
-+ }
-+ if (ferror(fh)) {
-+ perror(_PATH_PROCNET_DEV);
-+ err = -1;
-+ }
-+
-+ fclose(fh);
-+ return err;
-+}
-+
- int if_readlist(void)
- {
- int err = if_readlist_proc(NULL);
---- net-tools-1.60/man/en_US/netstat.8.cycle 2001-01-07 13:43:57.000000000 +0100
-+++ net-tools-1.60/man/en_US/netstat.8 2003-02-11 14:29:29.000000000 +0100
-@@ -30,6 +30,7 @@
- .RB [ \-\-program | \-p ]
- .RB [ \-\-verbose | \-v ]
- .RB [ \-\-continuous | \-c]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-route | \-r }
-@@ -39,6 +40,7 @@
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
- .RB [ \-\-continuous | \-c]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-interfaces | \-i }
-@@ -50,12 +52,14 @@
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
- .RB [ \-\-continuous | \-c]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-groups | \-g }
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
- .RB [ \-\-continuous | \-c]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-masquerade | \-M }
-@@ -63,12 +67,14 @@
- .RB [ \-\-numeric | \-n ]
- .RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
- .RB [ \-\-continuous | \-c]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-statistics | -s }
- .RB [ \-\-tcp | \-t ]
- .RB [ \-\-udp | \-u ]
- .RB [ \-\-raw | \-w ]
-+.RB [delay]
- .P
- .B netstat
- .RB { \-\-version | \-V }
-@@ -170,6 +176,10 @@
- Print routing information from the FIB. (This is the default.)
- .SS "\-C"
- Print routing information from the route cache.
-+.SS delay
-+Netstat will cycle printing through statistics every
-+.B delay
-+seconds.
- .IR UP .
- .P
- .SH OUTPUT
---- net-tools-1.60/netstat.c.cycle 2003-02-11 14:29:29.000000000 +0100
-+++ net-tools-1.60/netstat.c 2003-02-11 15:07:26.000000000 +0100
-@@ -102,7 +102,7 @@
- #endif
-
- /* prototypes for statistics.c */
--void parsesnmp(int, int, int);
-+int parsesnmp(int, int, int);
- void inittab(void);
-
- typedef enum {
-@@ -1440,6 +1440,8 @@
-
- static int iface_info(void)
- {
-+ static int count=0;
-+
- if (skfd < 0) {
- if ((skfd = sockets_open(0)) < 0) {
- perror("socket");
-@@ -1449,20 +1451,21 @@
- }
- if (flag_exp < 2) {
- ife_short = 1;
-- printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
-+ if(!(count % 8))
-+ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
- }
-
- if (for_all_interfaces(do_if_print, &flag_all) < 0) {
- perror(_("missing interface information"));
- exit(1);
- }
-- if (flag_cnt)
-+ if (!flag_cnt) {
- free_interface_list();
-- else {
- close(skfd);
- skfd = -1;
- }
-
-+ count++;
- return 0;
- }
-
-@@ -1478,7 +1481,7 @@
- {
- fprintf(stderr, _("usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}\n"));
- fprintf(stderr, _(" netstat [-vnNcaeol] [<Socket> ...]\n"));
-- fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s }\n\n"));
-+ fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s } [delay]\n\n"));
-
- fprintf(stderr, _(" -r, --route display routing table\n"));
- fprintf(stderr, _(" -i, --interfaces display interface table\n"));
-@@ -1514,6 +1517,7 @@
- (int argc, char *argv[]) {
- int i;
- int lop;
-+ int reptimer = 1;
- struct option longopts[] =
- {
- AFTRANS_OPTS,
-@@ -1655,6 +1659,12 @@
- flag_sta++;
- }
-
-+ if(argc == optind + 1) {
-+ if((reptimer = atoi(argv[optind])) <= 0)
-+ usage();
-+ flag_cnt++;
-+ }
-+
- if (flag_int + flag_rou + flag_mas + flag_sta > 1)
- usage();
-
-@@ -1666,7 +1676,7 @@
-
- flag_arg = flag_tcp + flag_udp + flag_raw + flag_unx + flag_ipx
- + flag_ax25 + flag_netrom + flag_igmp + flag_x25;
--
-+
- if (flag_mas) {
- #if HAVE_FW_MASQUERADE && HAVE_AFINET
- #if MORE_THAN_ONE_MASQ_AF
-@@ -1678,7 +1688,7 @@
- flag_not & FLAG_NUM_PORT, flag_exp);
- if (i || !flag_cnt)
- break;
-- sleep(1);
-+ sleep(reptimer);
- }
- #else
- ENOSUPP("netstat.c", "FW_MASQUERADE");
-@@ -1688,9 +1698,15 @@
- }
-
- if (flag_sta) {
-+ for(;;) {
- inittab();
-- parsesnmp(flag_raw, flag_tcp, flag_udp);
-- exit(0);
-+ i = parsesnmp(flag_raw, flag_tcp, flag_udp);
-+
-+ if(i || !flag_cnt)
-+ break;
-+ sleep(reptimer);
-+ }
-+ return(i);
- }
-
- if (flag_rou) {
-@@ -1712,7 +1728,7 @@
- i = route_info(afname, options);
- if (i || !flag_cnt)
- break;
-- sleep(1);
-+ sleep(reptimer);
- }
- return (i);
- }
-@@ -1721,7 +1737,7 @@
- i = iface_info();
- if (!flag_cnt || i)
- break;
-- sleep(1);
-+ sleep(reptimer);
- }
- return (i);
- }
-@@ -1847,7 +1863,7 @@
- }
- if (!flag_cnt || i)
- break;
-- sleep(1);
-+ sleep(reptimer);
- prg_cache_clear();
- }
- return (i);
---- net-tools-1.60/statistics.c.cycle 2001-02-02 19:01:23.000000000 +0100
-+++ net-tools-1.60/statistics.c 2003-02-11 14:29:29.000000000 +0100
-@@ -338,7 +338,7 @@
- }
-
-
--void parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
-+int parsesnmp(int flag_raw, int flag_tcp, int flag_udp)
- {
- FILE *f;
-
-@@ -347,12 +347,14 @@
- f = fopen("/proc/net/snmp", "r");
- if (!f) {
- perror(_("cannot open /proc/net/snmp"));
-- return;
-+ return(1);
- }
- process_fd(f);
-
-- if (ferror(f))
-+ if (ferror(f)) {
- perror("/proc/net/snmp");
-+ return(1);
-+ }
-
- fclose(f);
-
-@@ -361,12 +363,14 @@
- if (f) {
- process_fd(f);
-
-- if (ferror(f))
-- perror("/proc/net/netstat");
-+ if (ferror(f)) {
-+ perror("/proc/net/netstat");
-+ return(1);
-+ }
-
- fclose(f);
- }
-- return;
-+ return(0);
- }
-
-
diff --git a/packages/net-tools/files/net-tools-1.60-de.patch b/packages/net-tools/files/net-tools-1.60-de.patch
deleted file mode 100644
index f015f13d24..0000000000
--- a/packages/net-tools/files/net-tools-1.60-de.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- net-tools-1.60/po/de.po.old 2005-02-16 16:46:02.000000000 +0100
-+++ net-tools-1.60/po/de.po 2005-02-16 16:54:07.886323928 +0100
-@@ -64,7 +64,7 @@
-
- #: ../arp.c:467
- msgid "(incomplete)"
--msgstr "(unvollsändig)"
-+msgstr "(unvollständig)"
-
- #: ../arp.c:484
- #, c-format
diff --git a/packages/net-tools/files/net-tools-1.60-duplicate-tcp.patch b/packages/net-tools/files/net-tools-1.60-duplicate-tcp.patch
deleted file mode 100644
index 316ac65a5b..0000000000
--- a/packages/net-tools/files/net-tools-1.60-duplicate-tcp.patch
+++ /dev/null
@@ -1,194 +0,0 @@
---- net-tools-1.60/netstat.c.foo Mon Apr 22 14:25:20 2002
-+++ net-tools-1.60/netstat.c Mon Apr 22 14:25:22 2002
-@@ -435,6 +435,162 @@
- " will not be shown, you would have to be root to see it all.)\n"));
- }
-
-+#define TCP_HASH_SIZE 1009
-+
-+static struct tcp_node {
-+ struct tcp_node *next;
-+ char *socket_pair;
-+} *tcp_node_hash[TCP_HASH_SIZE];
-+
-+static unsigned int tcp_node_compute_string_hash(const char *p)
-+{
-+ unsigned int h = *p;
-+
-+ if (h)
-+ for (p += 1; *p != '\0'; p++)
-+ h = (h << 5) - h + *p;
-+
-+ return h;
-+}
-+
-+#define TCP_NODE_HASH_STRING(x) \
-+ (tcp_node_compute_string_hash(x) % TCP_HASH_SIZE)
-+
-+static void tcp_node_hash_clear(void)
-+{
-+ int i;
-+ struct tcp_node *next_node;
-+ struct tcp_node *tmp_node;
-+ for (i=0; i < TCP_HASH_SIZE; i++) {
-+ if (tcp_node_hash[i]) {
-+ /* free the children of this hash bucket */
-+ next_node = tcp_node_hash[i]->next;
-+ while (next_node) {
-+ tmp_node = next_node;
-+ next_node = next_node->next;
-+ free(tmp_node->socket_pair);
-+ free(tmp_node);
-+ }
-+
-+ /* free the bucket itself */
-+ free(tcp_node_hash[i]);
-+ tcp_node_hash[i] = NULL;
-+ }
-+ }
-+}
-+
-+/* This function takes a socket pair string. If it already exists in
-+ the hash it returns -1, otherwise it returns 0. */
-+
-+static int tcp_node_hash_check_and_append(const char *local_addr,
-+ int local_port,
-+ const char *rem_addr,
-+ int rem_port)
-+{
-+ unsigned int hash_val;
-+ struct tcp_node *tmp_node;
-+ int tmp_string_len;
-+ char *tmp_string;;
-+
-+ /* Size of the string is the size of the two lengths of the address
-+ strings plus enough sizes for the colons and the ports. */
-+ tmp_string_len = strlen(local_addr) + strlen(rem_addr) + 32;
-+ tmp_string = malloc(tmp_string_len);
-+ if (!tmp_string)
-+ return 0;
-+
-+ if (snprintf(tmp_string, tmp_string_len - 1, "%s:%d:%s:%d",
-+ local_addr, local_port, rem_addr, rem_port) < 0) {
-+ free(tmp_string);
-+ return 0;
-+ }
-+
-+ hash_val = TCP_NODE_HASH_STRING(tmp_string);
-+
-+ /* See if we have to allocate this node */
-+ if (!tcp_node_hash[hash_val]) {
-+ tcp_node_hash[hash_val] = malloc(sizeof(struct tcp_node));
-+ if (!tcp_node_hash[hash_val]) {
-+ free(tmp_string);
-+ return 0;
-+ }
-+
-+ memset(tcp_node_hash[hash_val], 0, sizeof(struct tcp_node));
-+
-+ /* Stuff this new value into the hash bucket and return early */
-+ tcp_node_hash[hash_val]->socket_pair = tmp_string;
-+ return 0;
-+ }
-+
-+ /* Try to find the value in the hash bucket. */
-+ tmp_node = tcp_node_hash[hash_val];
-+ while (tmp_node) {
-+ if (!strcmp(tmp_node->socket_pair, tmp_string)) {
-+ free(tmp_string);
-+ return -1;
-+ }
-+ tmp_node = tmp_node->next;
-+ }
-+
-+ /* If we got this far it means that it isn't in the hash bucket.
-+ Add it to the front since it's faster that way. */
-+ tmp_node = tcp_node_hash[hash_val];
-+
-+ tcp_node_hash[hash_val] = malloc(sizeof(struct tcp_node));
-+ if (!tcp_node_hash[hash_val]) {
-+ free(tmp_string);
-+ tcp_node_hash[hash_val] = tmp_node;
-+ return 0;
-+ }
-+
-+ tcp_node_hash[hash_val]->socket_pair = tmp_string;
-+ tcp_node_hash[hash_val]->next = tmp_node;
-+
-+ return 0;
-+}
-+
-+#if 0
-+static void tcp_node_hash_report_bucket_size(void)
-+{
-+ int max = 0;
-+ int min = 0;
-+ int num = 0;
-+ int total = 0;
-+ struct tcp_node *tmp_node;
-+ int tmp, i;
-+ float avg;
-+
-+ for (i=0; i < TCP_HASH_SIZE; i++) {
-+ tmp_node = tcp_node_hash[i];
-+ if (!tmp_node)
-+ continue;
-+
-+ tmp = 0;
-+
-+ num++;
-+ tmp = 1;
-+
-+ while (tmp_node) {
-+ tmp++;
-+ tmp_node = tmp_node->next;
-+ }
-+
-+ total += tmp;
-+ if (tmp > max)
-+ max = tmp;
-+
-+ if (min == 0 || tmp < min)
-+ min = tmp;
-+ }
-+
-+ avg = (float)total/(float)num;
-+
-+ printf("%d nodes in %d buckets min/max/avg %d/%d/%.2f\n",
-+ total, num, min, max, avg);
-+
-+}
-+#endif
-+
- #if HAVE_AFNETROM
- static const char *netrom_state[] =
- {
-@@ -752,11 +908,20 @@
- fprintf(stderr, _("warning, got bogus tcp line.\n"));
- return;
- }
-+
- if ((ap = get_afntype(((struct sockaddr *) &localaddr)->sa_family)) == NULL) {
- fprintf(stderr, _("netstat: unsupported address family %d !\n"),
- ((struct sockaddr *) &localaddr)->sa_family);
- return;
- }
-+
-+ /* make sure that we haven't seen this socket pair before */
-+ if (tcp_node_hash_check_and_append(local_addr, local_port,
-+ rem_addr, rem_port) < 0) {
-+ /* fprintf(stderr, _("warning, got duplicate tcp line.\n")); */
-+ return;
-+ }
-+
- if (state == TCP_LISTEN) {
- time_len = 0;
- retr = 0L;
-@@ -1849,6 +2014,7 @@
- break;
- sleep(1);
- prg_cache_clear();
-+ tcp_node_hash_clear();
- }
- return (i);
- }
diff --git a/packages/net-tools/files/net-tools-1.60-gcc33.patch b/packages/net-tools/files/net-tools-1.60-gcc33.patch
deleted file mode 100644
index a6ae422a72..0000000000
--- a/packages/net-tools/files/net-tools-1.60-gcc33.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- net-tools-1.60/mii-tool.c.gcc33 2003-05-22 23:34:06.000000000 -0400
-+++ net-tools-1.60/mii-tool.c 2003-05-22 23:34:57.000000000 -0400
-@@ -378,17 +378,17 @@
-
- /*--------------------------------------------------------------------*/
-
--const char *usage =
--"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
-- -V, --version display version information
-- -v, --verbose more verbose output
-- -R, --reset reset MII to poweron state
-- -r, --restart restart autonegotiation
-- -w, --watch monitor for link status changes
-- -l, --log with -w, write events to syslog
-- -A, --advertise=media,... advertise only specified media
-- -F, --force=media force specified media technology
--media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
-+const char *usage = "\
-+usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\
-+ -V, --version display version information\n\
-+ -v, --verbose more verbose output\n\
-+ -R, --reset reset MII to poweron state\n\
-+ -r, --restart restart autonegotiation\n\
-+ -w, --watch monitor for link status changes\n\
-+ -l, --log with -w, write events to syslog\n\
-+ -A, --advertise=media,... advertise only specified media\n\
-+ -F, --force=media force specified media technology\n\
-+media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\
- (to advertise both HD and FD) 100baseTx, 10baseT\n";
-
- int main(int argc, char **argv)
diff --git a/packages/net-tools/files/net-tools-1.60-gcc34.patch b/packages/net-tools/files/net-tools-1.60-gcc34.patch
deleted file mode 100644
index 5f700c128e..0000000000
--- a/packages/net-tools/files/net-tools-1.60-gcc34.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- net-tools-1.60/lib/inet_sr.c.gcc34 2000-02-20 22:46:45.000000000 +0100
-+++ net-tools-1.60/lib/inet_sr.c 2004-03-30 15:57:25.276049571 +0200
-@@ -105,6 +105,7 @@
- case 2:
- isnet = 0; break;
- default:
-+ ;
- }
-
- /* Fill in the other fields. */
---- net-tools-1.60/hostname.c.gcc34 2004-03-30 15:58:12.979830341 +0200
-+++ net-tools-1.60/hostname.c 2004-03-30 15:58:47.110380585 +0200
-@@ -98,6 +98,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ ;
- }
- exit(1);
- };
-@@ -117,6 +118,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ ;
- }
- exit(1);
- };
-@@ -180,6 +182,7 @@
- printf("%s\n", hp->h_name);
- break;
- default:
-+ ;
- }
- }
-
diff --git a/packages/net-tools/files/net-tools-1.60-hostname_man.patch b/packages/net-tools/files/net-tools-1.60-hostname_man.patch
deleted file mode 100644
index 84a4051cdf..0000000000
--- a/packages/net-tools/files/net-tools-1.60-hostname_man.patch
+++ /dev/null
@@ -1,35 +0,0 @@
---- net-tools-1.60/man/en_US/hostname.1.gethostbyname 2005-10-14 11:33:41.000000000 +0200
-+++ net-tools-1.60/man/en_US/hostname.1 2005-10-15 11:46:14.646697600 +0200
-@@ -99,6 +99,32 @@
- complete FQDN of the system is returned with
- .BR "hostname \-\-fqdn" .
-
-+.LP
-+The function
-+.BR gethostname(2)
-+is used to get the hostname. Only when the
-+.BR "hostname \-s"
-+is called will
-+.BR gethostbyname(3)
-+be called. The difference in
-+.BR gethostname(2)
-+and
-+.BR gethostbyname(3)
-+is that
-+.BR gethostbyname(3)
-+is network aware, so it consults
-+.IR /etc/nsswitch.conf
-+and
-+.IR /etc/host.conf
-+to decide whether to read information in
-+.IR /etc/sysconfig/network
-+or
-+.IR /etc/hosts
-+. To add another dimension to this,
-+the
-+.B hostname
-+is also set when the network interface is brought up.
-+
- .SS "SET NAME"
- When called with one argument or with the
- .B \-\-file
diff --git a/packages/net-tools/files/net-tools-1.60-ifaceopt.patch b/packages/net-tools/files/net-tools-1.60-ifaceopt.patch
deleted file mode 100644
index a561d07986..0000000000
--- a/packages/net-tools/files/net-tools-1.60-ifaceopt.patch
+++ /dev/null
@@ -1,52 +0,0 @@
---- net-tools-1.60/netstat.c.ifaceopt 2005-03-01 12:11:43.695661632 +0100
-+++ net-tools-1.60/netstat.c 2005-03-01 12:16:37.601981080 +0100
-@@ -1658,10 +1658,11 @@
- {
- fprintf(stderr, _("usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}\n"));
- fprintf(stderr, _(" netstat [-vnNcaeol] [<Socket> ...]\n"));
-- fprintf(stderr, _(" netstat { [-veenNac] -i[<Iface>] | [-cnNe] -M | -s } [delay]\n\n"));
-+ fprintf(stderr, _(" netstat { [-veenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s } [delay]\n\n"));
-
- fprintf(stderr, _(" -r, --route display routing table\n"));
-- fprintf(stderr, _(" -i, --interfaces=[<Iface>] display interface table\n"));
-+ fprintf(stderr, _(" -I, --interfaces=[<Iface>] display interface table for <Iface>\n"));
-+ fprintf(stderr, _(" -i, --interfaces display interface table\n"));
- fprintf(stderr, _(" -g, --groups display multicast group memberships\n"));
- fprintf(stderr, _(" -s, --statistics display networking statistics (like SNMP)\n"));
- #if HAVE_FW_MASQUERADE
-@@ -1700,7 +1701,8 @@
- {
- AFTRANS_OPTS,
- {"version", 0, 0, 'V'},
-- {"interfaces", 2, 0, 'i'},
-+ {"interfaces", 2, 0, 'I'},
-+ {"interfaces", 0, 0, 'i'},
- {"help", 0, 0, 'h'},
- {"route", 0, 0, 'r'},
- #if HAVE_FW_MASQUERADE
-@@ -1738,7 +1740,8 @@
- getroute_init(); /* Set up AF routing support */
-
- afname[0] = '\0';
-- while ((i = getopt_long(argc, argv, "MCFA:acdegphi::nNorstuVv?wxl", longopts, &lop)) != EOF)
-+
-+ while ((i = getopt_long(argc, argv, "MCFA:acdegphiI::nNorstuVv?wxl", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1779,11 +1782,14 @@
- case 'p':
- flag_prg++;
- break;
-- case 'i':
-+ case 'I':
- if (optarg && strcmp(optarg, "(null)"))
- flag_int_name = strdup(optarg);
- flag_int++;
- break;
-+ case 'i':
-+ flag_int++;
-+ break;
- case 'n':
- flag_not |= FLAG_NUM;
- break;
diff --git a/packages/net-tools/files/net-tools-1.60-ifconfig.patch b/packages/net-tools/files/net-tools-1.60-ifconfig.patch
deleted file mode 100644
index a209bd4197..0000000000
--- a/packages/net-tools/files/net-tools-1.60-ifconfig.patch
+++ /dev/null
@@ -1,107 +0,0 @@
---- net-tools-1.60/ifconfig.c.new 2005-07-20 12:47:29.000000000 +0200
-+++ net-tools-1.60/ifconfig.c 2005-07-20 12:54:57.000000000 +0200
-@@ -175,6 +175,32 @@
- return (0);
- }
-
-+/** test is a specified flag is set */
-+static int test_flag(char *ifname, short flags)
-+{
-+ struct ifreq ifr;
-+ int fd;
-+
-+ if (strchr(ifname, ':')) {
-+ /* This is a v4 alias interface. Downing it via a socket for
-+ another AF may have bad consequences. */
-+ fd = get_socket_for_af(AF_INET);
-+ if (fd < 0) {
-+ fprintf(stderr, _("No support for INET on this system.\n"));
-+ return -1;
-+ }
-+ } else
-+ fd = skfd;
-+
-+ safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
-+ if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
-+ fprintf(stderr, _("%s: ERROR while testing interface flags: %s\n"),
-+ ifname, strerror(errno));
-+ return -1;
-+ }
-+ return (ifr.ifr_flags & flags);
-+}
-+
- static void usage(void)
- {
- fprintf(stderr, _("Usage:\n ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"));
-@@ -249,7 +275,7 @@
- err = 1;
- }
- }
-- return 0;
-+ return err;
- }
-
- int main(int argc, char **argv)
-@@ -415,6 +441,8 @@
- }
- if (!strcmp(*spp, "-promisc")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_PROMISC);
-+ if (test_flag(ifr.ifr_name, IFF_PROMISC) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in promisc mode... maybe other application is running?\n"), ifr.ifr_name);
- spp++;
- continue;
- }
-@@ -425,6 +453,8 @@
- }
- if (!strcmp(*spp, "-multicast")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_MULTICAST);
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in MULTICAST mode.\n"), ifr.ifr_name);
- spp++;
- continue;
- }
-@@ -435,6 +465,8 @@
- }
- if (!strcmp(*spp, "-allmulti")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_ALLMULTI);
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in ALLMULTI mode.\n"), ifr.ifr_name);
- spp++;
- continue;
- }
-@@ -456,6 +488,8 @@
- }
- if (!strcmp(*spp, "-dynamic")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_DYNAMIC);
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in DYNAMIC mode.\n"), ifr.ifr_name);
- spp++;
- continue;
- }
-@@ -513,6 +547,8 @@
-
- if (!strcmp(*spp, "-broadcast")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_BROADCAST);
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in BROADCAST mode.\n"), ifr.ifr_name);
- spp++;
- continue;
- }
-@@ -569,7 +605,7 @@
- continue;
- }
- didnetmask++;
-- goterr = set_netmask(ap->fd, &ifr, &sa, dobcast);
-+ goterr |= set_netmask(ap->fd, &ifr, &sa, dobcast);
- spp++;
- continue;
- }
-@@ -640,6 +676,8 @@
- }
- if (!strcmp(*spp, "-pointopoint")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_POINTOPOINT);
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in POINTOPOINT mode.\n"), ifr.ifr_name);
- spp++;
- continue;
- }
diff --git a/packages/net-tools/files/net-tools-1.60-ifconfig_ib.patch b/packages/net-tools/files/net-tools-1.60-ifconfig_ib.patch
deleted file mode 100644
index b5a234f25d..0000000000
--- a/packages/net-tools/files/net-tools-1.60-ifconfig_ib.patch
+++ /dev/null
@@ -1,202 +0,0 @@
---- net-tools-1.60/config.in.ifconfig_ib 2000-05-21 16:32:12.000000000 +0200
-+++ net-tools-1.60/config.in 2005-02-09 10:36:26.000000000 +0100
-@@ -82,6 +82,7 @@
- bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB n
- bool 'IrDA support' HAVE_HWIRDA y
- bool 'Econet hardware support' HAVE_HWEC n
-+bool 'InfiniBand hardware support' HAVE_HWIB y
- *
- *
- * Other Features.
---- net-tools-1.60/lib/hw.c.ifconfig_ib 2000-05-20 20:27:25.000000000 +0200
-+++ net-tools-1.60/lib/hw.c 2005-02-09 10:36:26.000000000 +0100
-@@ -73,6 +73,8 @@
-
- extern struct hwtype ec_hwtype;
-
-+extern struct hwtype ib_hwtype;
-+
- static struct hwtype *hwtypes[] =
- {
-
-@@ -144,6 +146,9 @@
- #if HAVE_HWX25
- &x25_hwtype,
- #endif
-+#if HAVE_HWIB
-+ &ib_hwtype,
-+#endif
- &unspec_hwtype,
- NULL
- };
-@@ -217,6 +222,9 @@
- #if HAVE_HWEC
- ec_hwtype.title = _("Econet");
- #endif
-+#if HAVE_HWIB
-+ ib_hwtype.title = _("InfiniBand");
-+#endif
- sVhwinit = 1;
- }
-
---- net-tools-1.60/lib/ib.c.ifconfig_ib 2005-02-09 10:36:26.000000000 +0100
-+++ net-tools-1.60/lib/ib.c 2005-02-09 10:42:21.000000000 +0100
-@@ -0,0 +1,147 @@
-+/*
-+ * lib/ib.c This file contains an implementation of the "Infiniband"
-+ * support functions.
-+ *
-+ * Version: $Id: ib.c,v 1.1 2005/02/06 11:00:47 tduffy 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> - not in gcc-kernheaders*/
-+#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;
-+
-+#define INFINIBAND_ALEN 20
-+
-+/* 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_HWIB */
---- net-tools-1.60/lib/Makefile.ifconfig_ib 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools-1.60/lib/Makefile 2005-02-09 10:36:26.000000000 +0100
-@@ -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
-+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 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/packages/net-tools/files/net-tools-1.60-inet6-lookup.patch b/packages/net-tools/files/net-tools-1.60-inet6-lookup.patch
deleted file mode 100644
index 3d4854a6fb..0000000000
--- a/packages/net-tools/files/net-tools-1.60-inet6-lookup.patch
+++ /dev/null
@@ -1,81 +0,0 @@
---- net-tools-1.60/lib/inet6.c.inet6-lookup 2000-10-28 13:04:00.000000000 +0200
-+++ net-tools-1.60/lib/inet6.c 2003-05-21 15:28:50.000000000 +0200
-@@ -133,28 +133,9 @@
- }
-
-
--static int INET6_getsock(char *bufp, struct sockaddr *sap)
--{
-- struct sockaddr_in6 *sin6;
--
-- sin6 = (struct sockaddr_in6 *) sap;
-- sin6->sin6_family = AF_INET6;
-- sin6->sin6_port = 0;
--
-- if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
-- return (-1);
--
-- return 16; /* ?;) */
--}
--
- static int INET6_input(int type, char *bufp, struct sockaddr *sap)
- {
-- switch (type) {
-- case 1:
-- return (INET6_getsock(bufp, sap));
-- default:
-- return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
-- }
-+ return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap));
- }
-
-
---- net-tools-1.60/lib/inet6_gr.c.inet6-lookup 2001-04-01 16:48:06.000000000 +0200
-+++ net-tools-1.60/lib/inet6_gr.c 2003-05-21 15:28:50.000000000 +0200
-@@ -100,7 +100,7 @@
- addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
- inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6);
- snprintf(addr6, sizeof(addr6), "%s/%d",
-- inet6_aftype.sprint((struct sockaddr *) &saddr6, 1),
-+ inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric),
- prefix_len);
-
- /* Fetch and resolve the nexthop address. */
-@@ -109,7 +109,7 @@
- naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]);
- inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6);
- snprintf(naddr6, sizeof(naddr6), "%s",
-- inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
-+ inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric));
-
- /* Decode the flags. */
- strcpy(flags, "U");
---- net-tools-1.60/lib/inet6_sr.c.inet6-lookup 2000-05-22 23:18:37.000000000 +0200
-+++ net-tools-1.60/lib/inet6_sr.c 2003-05-21 15:28:50.000000000 +0200
-@@ -63,7 +63,7 @@
- if (*args == NULL)
- return (usage());
-
-- strcpy(target, *args++);
-+ safe_strncpy(target, *args++, sizeof(target));
- if (!strcmp(target, "default")) {
- prefix_len = 0;
- memset(&sa6, 0, sizeof(sa6));
-@@ -112,7 +112,7 @@
- return (usage());
- if (rt.rtmsg_flags & RTF_GATEWAY)
- return (usage());
-- strcpy(gateway, *args);
-+ safe_strncpy(gateway, *args, sizeof(gateway));
- if (inet6_aftype.input(1, gateway,
- (struct sockaddr *) &sa6) < 0) {
- inet6_aftype.herror(gateway);
-@@ -152,7 +152,7 @@
- }
- if (devname) {
- memset(&ifr, 0, sizeof(ifr));
-- strcpy(ifr.ifr_name, devname);
-+ safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name));
-
- if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) {
- perror("SIOGIFINDEX");
diff --git a/packages/net-tools/files/net-tools-1.60-interface.patch b/packages/net-tools/files/net-tools-1.60-interface.patch
deleted file mode 100644
index 3a1bc910aa..0000000000
--- a/packages/net-tools/files/net-tools-1.60-interface.patch
+++ /dev/null
@@ -1,110 +0,0 @@
---- net-tools-1.60/netstat.c.interface 2003-08-25 17:06:30.000000000 +0200
-+++ net-tools-1.60/netstat.c 2003-08-25 17:08:41.000000000 +0200
-@@ -129,6 +129,7 @@
- #define E_IOCTL -3
-
- int flag_int = 0;
-+char *flag_int_name = NULL;
- int flag_rou = 0;
- int flag_mas = 0;
- int flag_sta = 0;
-@@ -1441,6 +1442,7 @@
- static int iface_info(void)
- {
- static int count=0;
-+ struct interface *ife = NULL;
-
- if (skfd < 0) {
- if ((skfd = sockets_open(0)) < 0) {
-@@ -1455,7 +1457,11 @@
- printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
- }
-
-- if (for_all_interfaces(do_if_print, &flag_all) < 0) {
-+ if (flag_int_name) {
-+ ife = lookup_interface(flag_int_name);
-+ do_if_print(ife, &flag_all);
-+ }
-+ else if (for_all_interfaces(do_if_print, &flag_all) < 0) {
- perror(_("missing interface information"));
- exit(1);
- }
-@@ -1481,30 +1487,31 @@
- {
- fprintf(stderr, _("usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help}\n"));
- fprintf(stderr, _(" netstat [-vnNcaeol] [<Socket> ...]\n"));
-- fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s } [delay]\n\n"));
-+ fprintf(stderr, _(" netstat { [-veenNac] -i[<Iface>] | [-cnNe] -M | -s } [delay]\n\n"));
-
-- fprintf(stderr, _(" -r, --route display routing table\n"));
-- fprintf(stderr, _(" -i, --interfaces display interface table\n"));
-- fprintf(stderr, _(" -g, --groups display multicast group memberships\n"));
-- fprintf(stderr, _(" -s, --statistics display networking statistics (like SNMP)\n"));
-+ fprintf(stderr, _(" -r, --route display routing table\n"));
-+ fprintf(stderr, _(" -i, --interfaces=[<Iface>] display interface table\n"));
-+ fprintf(stderr, _(" -g, --groups display multicast group memberships\n"));
-+ fprintf(stderr, _(" -s, --statistics display networking statistics (like SNMP)\n"));
- #if HAVE_FW_MASQUERADE
-- fprintf(stderr, _(" -M, --masquerade display masqueraded connections\n\n"));
-+ fprintf(stderr, _(" -M, --masquerade display masqueraded connections\n\n"));
- #endif
-- fprintf(stderr, _(" -v, --verbose be verbose\n"));
-- fprintf(stderr, _(" -n, --numeric don't resolve names\n"));
-- 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, _(" -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"));
-- fprintf(stderr, _(" -c, --continuous continuous listing\n\n"));
-- fprintf(stderr, _(" -l, --listening display listening server sockets\n"));
-- fprintf(stderr, _(" -a, --all, --listening display all sockets (default: connected)\n"));
-- fprintf(stderr, _(" -o, --timers display timers\n"));
-- fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n"));
-- fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n"));
-+ fprintf(stderr, _(" -v, --verbose be verbose\n"));
-+ fprintf(stderr, _(" -n, --numeric don't resolve names\n"));
-+ 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, _(" -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"));
-+ fprintf(stderr, _(" -c, --continuous continuous listing\n\n"));
-+ fprintf(stderr, _(" -l, --listening display listening server sockets\n"));
-+ fprintf(stderr, _(" -a, --all, --listening display all sockets (default: connected)\n"));
-+ fprintf(stderr, _(" -o, --timers display timers\n"));
-+ fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n"));
-+ fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n"));
-
-+ fprintf(stderr, _(" <Iface>: Name of interface to monitor/list.\n"));
- fprintf(stderr, _(" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n"));
- fprintf(stderr, _(" <AF>=Use '-A <af>' or '--<af>'; default: %s\n"), DFLT_AF);
- fprintf(stderr, _(" List of possible address families (which support routing):\n"));
-@@ -1522,7 +1529,7 @@
- {
- AFTRANS_OPTS,
- {"version", 0, 0, 'V'},
-- {"interfaces", 0, 0, 'i'},
-+ {"interfaces", 2, 0, 'i'},
- {"help", 0, 0, 'h'},
- {"route", 0, 0, 'r'},
- #if HAVE_FW_MASQUERADE
-@@ -1560,7 +1567,7 @@
- getroute_init(); /* Set up AF routing support */
-
- afname[0] = '\0';
-- while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuVv?wxl", longopts, &lop)) != EOF)
-+ while ((i = getopt_long(argc, argv, "MCFA:acdegphi::nNorstuVv?wxl", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1602,6 +1609,8 @@
- flag_prg++;
- break;
- case 'i':
-+ if (optarg && strcmp(optarg, "(null)"))
-+ flag_int_name = strdup(optarg);
- flag_int++;
- break;
- case 'n':
diff --git a/packages/net-tools/files/net-tools-1.60-interface_stack.patch b/packages/net-tools/files/net-tools-1.60-interface_stack.patch
deleted file mode 100644
index c16f539753..0000000000
--- a/packages/net-tools/files/net-tools-1.60-interface_stack.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-Bugzilla Bug 176714 – *** stack smashing detected ***: /sbin/ifconfig terminated
-
---- lib/interface.c-old 2005-12-30 11:08:15.000000000 -0800
-+++ lib/interface.c 2005-12-30 11:17:02.000000000 -0800
-@@ -201,10 +201,11 @@
- return err;
- }
-
--static char *get_name(char *name, char *p)
-+static char *get_name(char **namep, char *p)
- {
- while (isspace(*p))
- p++;
-+ char *name = *namep = p;
- while (*p) {
- if (isspace(*p))
- break;
-@@ -305,9 +306,10 @@
- {
- static int proc_read;
- FILE *fh;
-- char buf[512];
- struct interface *ife;
- int err;
-+ char *line = NULL;
-+ size_t linelen = 0;
-
- if (proc_read)
- return 0;
-@@ -320,8 +322,11 @@
- _PATH_PROCNET_DEV, strerror(errno));
- return if_readconf();
- }
-- fgets(buf, sizeof buf, fh); /* eat line */
-- fgets(buf, sizeof buf, fh);
-+ if (getline(&line, &linelen, fh) == -1 /* eat line */
-+ || getline(&line, &linelen, fh) == -1) {
-+ err = -1;
-+ goto out;
-+ }
-
- #if 0 /* pretty, but can't cope with missing fields */
- fmt = proc_gen_fmt(_PATH_PROCNET_DEV, 1, fh,
-@@ -346,13 +351,13 @@
- if (!fmt)
- return -1;
- #else
-- procnetdev_vsn = procnetdev_version(buf);
-+ procnetdev_vsn = procnetdev_version(line);
- #endif
-
- err = 0;
-- while (fgets(buf, sizeof buf, fh)) {
-- char *s, name[IFNAMSIZ];
-- s = get_name(name, buf);
-+ while (getline(&line, &linelen, fh) != -1) {
-+ char *s, *name;
-+ s = get_name(&name, line);
- ife = add_interface(name);
- get_dev_fields(s, ife);
- ife->statistics_valid = 1;
-@@ -368,6 +373,8 @@
- #if 0
- free(fmt);
- #endif
-+ out:
-+ free(line);
- fclose(fh);
- return err;
- }
-@@ -376,8 +383,9 @@
- static int if_readlist_rep(char *target, struct interface *ife)
- {
- FILE *fh;
-- char buf[512];
- int err;
-+ char *line = NULL;
-+ size_t linelen = 0;
-
- fh = fopen(_PATH_PROCNET_DEV, "r");
- if (!fh) {
-@@ -385,15 +393,18 @@
- _PATH_PROCNET_DEV, strerror(errno));
- return if_readconf();
- }
-- fgets(buf, sizeof buf, fh); /* eat line */
-- fgets(buf, sizeof buf, fh);
-+ if (getline(&line, &linelen, fh) == -1 /* eat line */
-+ || getline(&line, &linelen, fh) == -1) {
-+ err = -1;
-+ goto out;
-+ }
-
-- procnetdev_vsn = procnetdev_version(buf);
-+ procnetdev_vsn = procnetdev_version(line);
-
- err = 0;
-- while (fgets(buf, sizeof buf, fh)) {
-- char *s, name[IFNAMSIZ];
-- s = get_name(name, buf);
-+ while (getline(&line, &linelen, fh) != -1) {
-+ char *s, *name;
-+ s = get_name(&name, line);
- get_dev_fields(s, ife);
- if (target && !strcmp(target,name))
- {
-@@ -406,6 +417,8 @@
- err = -1;
- }
-
-+ out:
-+ free(line);
- fclose(fh);
- return err;
- }
diff --git a/packages/net-tools/files/net-tools-1.60-ipx.patch b/packages/net-tools/files/net-tools-1.60-ipx.patch
deleted file mode 100644
index d4458b9462..0000000000
--- a/packages/net-tools/files/net-tools-1.60-ipx.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -urN net-tools-1.60/lib/ipx_gr.c net-tools-1.60.new/lib/ipx_gr.c
---- net-tools-1.60/lib/ipx_gr.c 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools-1.60.new/lib/ipx_gr.c 2003-05-20 10:54:37.000000000 +0200
-@@ -64,7 +64,7 @@
- continue;
-
- /* Fetch and resolve the Destination */
-- (void) ap->input(5, net, &sa);
-+ (void) ap->input(1, net, &sa);
- strcpy(net, ap->sprint(&sa, numeric));
-
- /* Fetch and resolve the Router Net */
-diff -urN net-tools-1.60/netstat.c net-tools-1.60.new/netstat.c
---- net-tools-1.60/netstat.c 2003-05-20 11:00:57.000000000 +0200
-+++ net-tools-1.60.new/netstat.c 2003-05-20 10:58:25.000000000 +0200
-@@ -1412,13 +1412,13 @@
- }
-
- /* Fetch and resolve the Source */
-- (void) ap->input(4, sad, &sa);
-+ (void) ap->input(0, sad, &sa);
- safe_strncpy(buf, ap->sprint(&sa, flag_not), sizeof(buf));
- snprintf(sad, sizeof(sad), "%s:%04X", buf, sport);
-
- if (!nc) {
- /* Fetch and resolve the Destination */
-- (void) ap->input(4, dad, &sa);
-+ (void) ap->input(0, dad, &sa);
- safe_strncpy(buf, ap->sprint(&sa, flag_not), sizeof(buf));
- snprintf(dad, sizeof(dad), "%s:%04X", buf, dport);
- } else
-diff -urN net-tools-1.60/version.h net-tools-1.60.new/version.h
---- net-tools-1.60/version.h 1970-01-01 01:00:00.000000000 +0100
-+++ net-tools-1.60.new/version.h 2003-05-19 16:07:49.000000000 +0200
-@@ -0,0 +1 @@
-+#define RELEASE "net-tools 1.60"
diff --git a/packages/net-tools/files/net-tools-1.60-isofix.patch b/packages/net-tools/files/net-tools-1.60-isofix.patch
deleted file mode 100644
index 4bbaff18a9..0000000000
--- a/packages/net-tools/files/net-tools-1.60-isofix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- net-tools-1.60/po/de.po.isofix 2000-10-28 12:59:43.000000000 +0200
-+++ net-tools-1.60/po/de.po 2005-01-10 11:29:29.407639208 +0100
-@@ -9,7 +9,7 @@
- "Last-Translator: Ralf Bächle <ralf@gnu.org>\n"
- "Language-Team:\n"
- "MIME-Version: 1.0\n"
--"Content-Type: text/plain; charset=iso8859-1\n"
-+"Content-Type: text/plain; charset=iso-8859-1\n"
- "Content-Transfer-Encoding: 8bit\n"
-
- #: ../arp.c:110 ../arp.c:269
---- net-tools-1.60/po/fr.po.isofix 2000-02-20 22:47:00.000000000 +0100
-+++ net-tools-1.60/po/fr.po 2005-01-10 11:29:23.613520048 +0100
-@@ -9,7 +9,7 @@
- "Last-Translator: J.M.Vansteene <vanstee@worldnet.fr>\n"
- "Language-Team:\n"
- "MIME-Version: 1.0\n"
--"Content-Type: text/plain; charset=iso8859-1\n"
-+"Content-Type: text/plain; charset=iso-8859-1\n"
- "Content-Transfer-Encoding: 8bit\n"
-
- #: ../arp.c:110 ../arp.c:269
---- net-tools-1.60/po/pt_BR.po.isofix 2000-02-20 22:47:06.000000000 +0100
-+++ net-tools-1.60/po/pt_BR.po 2005-01-10 11:29:16.294632688 +0100
-@@ -14,7 +14,7 @@
- "PO-Revision-Date: 1999-03-01 02:38+0100\n"
- "Last-Translator: Arnaldo Carvalho de Melo <acme@conectiva.com.br>\n"
- "MIME-Version: 1.0\n"
--"Content-Type: text/plain; charset=ISO8859-9\n"
-+"Content-Type: text/plain; charset=iso-8859-9\n"
- "Content-Transfer-Encoding: 8bit\n"
-
- #: ../arp.c:110 ../arp.c:269
diff --git a/packages/net-tools/files/net-tools-1.60-man.patch b/packages/net-tools/files/net-tools-1.60-man.patch
deleted file mode 100644
index 2deac4a46b..0000000000
--- a/packages/net-tools/files/net-tools-1.60-man.patch
+++ /dev/null
@@ -1,132 +0,0 @@
---- net-tools-1.60/man/en_US/ifconfig.8.man 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools-1.60/man/en_US/ifconfig.8 2003-05-22 16:58:41.000000000 +0200
-@@ -177,7 +177,7 @@
- command.
- .LP
- Interrupt problems with Ethernet device drivers fail with EAGAIN. See
--.I http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html
-+.I http://www.scyld.com/expert/irq-conflict.html
- for more information.
- .SH FILES
- .I /proc/net/socket
---- net-tools-1.60/man/en_US/hostname.1.man 1999-02-27 13:11:14.000000000 +0100
-+++ net-tools-1.60/man/en_US/hostname.1 2003-05-22 17:04:30.000000000 +0200
-@@ -10,8 +10,6 @@
- nisdomainname \- show or set system's NIS/YP domain name
- .br
- ypdomainname \- show or set the system's NIS/YP domain name
--.br
--nodename \- show or set the system's DECnet node name
-
- .SH SYNOPSIS
- .B hostname
-@@ -96,12 +94,6 @@
- function. This is also known as the YP/NIS domain name of the system.
-
- .LP
--.B nodename
--will print the DECnet node name of the system as returned by the
--.BR getnodename (2)
--function.
--
--.LP
- .B dnsdomainname
- will print the domain part of the FQDN (Fully Qualified Domain Name). The
- complete FQDN of the system is returned with
-@@ -184,11 +176,6 @@
- .I "\-i, \-\-ip-address"
- Display the IP address(es) of the host.
- .TP
--.I "\-n, \-\-node"
--Display the DECnet node name. If a parameter is given (or
--.B \-\-file name
--) the root can also set a new node name.
--.TP
- .I "\-s, \-\-short"
- Display the short host name. This is the host name cut at the first dot.
- .TP
---- net-tools-1.60/man/fr_FR/hostname.1.man 1999-04-18 21:23:46.000000000 +0200
-+++ net-tools-1.60/man/fr_FR/hostname.1 2003-05-22 17:05:04.000000000 +0200
-@@ -9,8 +9,6 @@
- nisdomainname \- affiche ou définit le nom de domaine NIS/YP du système
- .br
- ypdomainname \- affiche ou définit le nom de domaine NIS/YP du système
--.br
--nodename \- affiche ou définit le nom de domaine DECnet du système
-
- .SH SYNOPSIS
- .B hostname
-@@ -87,14 +85,6 @@
- .BR getdomainname (2)
- . Ceci est connu comme nom de domaine YP/NIS du système.
-
--
--.LP
--.B nodename
--fournit le nom de noeud DECnet du système tel qu'il est retourné par la
--fonction
--.BR getnodename (2)
--.
--
- .LP
- .B dnsdomainname
- fournit la partie domaine du nom complètement qualifié - FQDN (Fully
-@@ -180,11 +170,6 @@
- .I "\-i, \-\-ip-address"
- Affiche la (les) adresse(s) IP de l'hôte.
- .TP
--.I "\-n, \-\-node"
--Affiche le nom de noeud DECnet. Si un paramètre est fourni (ou
--.B \-\-file nom_fichier
--) le super-utilisateur peut également définir un nouveau nom de neud.
--.TP
- .I "\-s, \-\-short"
- Affiche le nom d'hôte en format court. Il s'agit du nom d'hôte coupé au
- premier point.
---- net-tools-1.60/man/de_DE/hostname.1.man 1999-03-15 21:31:16.000000000 +0100
-+++ net-tools-1.60/man/de_DE/hostname.1 2003-05-22 17:06:01.000000000 +0200
-@@ -15,8 +15,6 @@
- nisdomainname \- den NIS/YP Domainnamen anzeigen oder setzen
- .br
- ypdomainname \- den NIS/YP Domainnamen anzeigen oder setzen
--.br
--nodename \- den DECnet-Knotennamen anzeigen oder setzen
-
- .SH SYNOPSIS
- .B hostname
-@@ -101,12 +99,6 @@
- des Systems genannt.
-
- .LP
--.B nodename
--druckt den DECnet-Knotennamen des Systems, wie er von der
--.BR getnodename (2)
--Function ermittelt wird, aus.
--
--.LP
- .B dnsdomainname
- druckt den Domainteil des FQDN (Fully Qualified Domain Name oder zu deutsch
- vollst\(:andig spezifizierter Domainname) aus. Der vollst\(:andige FQDN
-@@ -117,8 +109,8 @@
- .SS "NAME SETZEN"
- Wenn mit nur einem Argument oder mit der
- .B \-\-file
--Option aufgerufen, dann setzen diese Kommandos den Rechnernamen, den NIS/YP
--Domainnamen oder den DECnet-Knotennamen.
-+Option aufgerufen, dann setzen diese Kommandos den Rechnernamen oder den NIS/YP
-+Domainnamen.
-
- .LP
- Nur der Superuser darf den Namen \(:andern.
-@@ -198,11 +190,6 @@
- .I "\-i, \-\-ip-address"
- Die IP-Adresse(n) des Rechners anzeigen und beenden.
- .TP
--.I "\-n, \-\-node"
--Den DECnet-Knotennamen anzeigen. Wenn ein Argument oder die
--.B \-\-file name
--Option angegeben wird, dann kann Root auch einen neuen Knotennamen setzen.
--.TP
- .I "\-s, \-\-short"
- Den Kurznamen anzeigen. Dies ist der ab dem ersten Punkt abgeschnittene
- Rechnername.
diff --git a/packages/net-tools/files/net-tools-1.60-manydevs.patch b/packages/net-tools/files/net-tools-1.60-manydevs.patch
deleted file mode 100644
index d07ffbacb3..0000000000
--- a/packages/net-tools/files/net-tools-1.60-manydevs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- lib/nstrcmp.c.bak Fri Apr 12 00:15:01 2002
-+++ lib/nstrcmp.c Fri Apr 12 00:15:29 2002
-@@ -16,8 +16,8 @@
- b++;
- }
- if (isdigit(*a)) {
-- if (!isdigit(*b))
-- return -1;
-+ if (!isdigit(*b))
-+ return 1;
- while (a > astr) {
- a--;
- if (!isdigit(*a)) {
diff --git a/packages/net-tools/files/net-tools-1.60-mii-tool-obsolete.patch b/packages/net-tools/files/net-tools-1.60-mii-tool-obsolete.patch
deleted file mode 100644
index efb7f27ad7..0000000000
--- a/packages/net-tools/files/net-tools-1.60-mii-tool-obsolete.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- net-tools-1.60/man/en_US/mii-tool.8.obsolete 2000-05-21 16:21:38.000000000 +0200
-+++ net-tools-1.60/man/en_US/mii-tool.8 2004-11-11 10:45:51.155113000 +0100
-@@ -18,6 +18,12 @@
- [\fB\-F\fR, \fB\-\-force=\fImedia\fR]
- .RI [ "interface\ ..." ]
-
-+.SH NOTE
-+.P
-+This program is obsolete. Valid media are only \fB100baseT4\fR,
-+\fB100baseTx-FD\fR,\fB100baseTx-HD\fR, \fB10baseT-FD\fR and
-+\fB10baseT-HD\fR ethernet cards. For replacement check \fBethtool\fB.
-+
- .SH DESCRIPTION
- This utility checks or sets the status of a network interface's Media
- Independent Interface (MII) unit. Most fast ethernet adapters use an
-@@ -72,6 +78,9 @@
- commas. Valid media are \fB100baseT4\fR, \fB100baseTx-FD\fR,
- \fB100baseTx-HD\fR, \fB10baseT-FD\fR, and \fB10baseT-HD\fR.
-
-+.SH SEE ALSO
-+ethtool(8)
-+
- .SH AUTHORS
- David Hinds \- dhinds@pcmcia.sourceforge.org
- .br
diff --git a/packages/net-tools/files/net-tools-1.60-miiioctl.patch b/packages/net-tools/files/net-tools-1.60-miiioctl.patch
deleted file mode 100644
index 4859273ede..0000000000
--- a/packages/net-tools/files/net-tools-1.60-miiioctl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- net-tools-1.60/include/mii.h.bar Tue Jul 31 11:49:39 2001
-+++ net-tools-1.60/include/mii.h Tue Jul 31 11:49:33 2001
-@@ -11,11 +11,9 @@
-
- /* network interface ioctl's for MII commands */
- #ifndef SIOCGMIIPHY
--#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
--#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
--#define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */
--#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters */
--#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters */
-+#define SIOCGMIIPHY 0x8947 /* Read from current PHY */
-+#define SIOCGMIIREG 0x8948 /* Read any PHY register */
-+#define SIOCSMIIREG 0x8949 /* Write any PHY register */
- #endif
-
- #include <linux/types.h>
diff --git a/packages/net-tools/files/net-tools-1.60-nameif.patch b/packages/net-tools/files/net-tools-1.60-nameif.patch
deleted file mode 100644
index 7ba1f0002d..0000000000
--- a/packages/net-tools/files/net-tools-1.60-nameif.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- net-tools-1.60/nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200
-+++ net-tools-1.60/nameif.c 2003-03-19 11:02:01.000000000 +0100
-@@ -3,7 +3,7 @@
- * Writen 2000 by Andi Kleen.
- * Subject to the Gnu Public License, version 2.
- * TODO: make it support token ring etc.
-- * $Id: nameif.c,v 1.1 2000/10/18 17:26:29 ak Exp $
-+ * $Id: nameif.c,v 1.3 2003/03/06 23:26:52 ecki Exp $
- */
- #ifndef _GNU_SOURCE
- #define _GNU_SOURCE
-@@ -117,7 +117,8 @@
- }
-
- struct change {
-- struct change *next,**pprev;
-+ struct change *next;
-+ int found;
- char ifname[IFNAMSIZ+1];
- unsigned char mac[6];
- };
-@@ -139,10 +140,7 @@
- ch->ifname, pos);
- if (parsemac(p,ch->mac) < 0)
- complain(_("cannot parse MAC `%s' at %s"), p, pos);
-- if (clist)
-- clist->pprev = &ch->next;
- ch->next = clist;
-- ch->pprev = &clist;
- clist = ch;
- return 0;
- }
-@@ -200,7 +198,7 @@
-
- void usage(void)
- {
-- fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}"));
-+ fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n"));
- exit(1);
- }
-
-@@ -277,21 +275,21 @@
- ch = lookupmac(mac);
- if (!ch)
- continue;
--
-- *ch->pprev = ch->next;
-+
-+ ch->found = 1;
- if (strcmp(p, ch->ifname)) {
- if (setname(p, ch->ifname) < 0)
- complain(_("cannot change name of %s to %s: %s"),
- p, ch->ifname, strerror(errno));
- }
-- free(ch);
- }
- fclose(ifh);
-
- while (clist) {
- struct change *ch = clist;
- clist = clist->next;
-- warning(_("interface '%s' not found"), ch->ifname);
-+ if (!ch->found)
-+ warning(_("interface '%s' not found"), ch->ifname);
- free(ch);
- }
-
diff --git a/packages/net-tools/files/net-tools-1.60-netmask.patch b/packages/net-tools/files/net-tools-1.60-netmask.patch
deleted file mode 100644
index 532898acaf..0000000000
--- a/packages/net-tools/files/net-tools-1.60-netmask.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- net-tools-1.60/ifconfig.c.netmask 2001-04-13 20:25:18.000000000 +0200
-+++ net-tools-1.60/ifconfig.c 2004-11-02 15:31:56.454594456 +0100
-@@ -23,6 +23,7 @@
- * 20001008 - Bernd Eckenfels, Patch from RH for setting mtu
- * (default AF was wrong)
- * 20010404 - Arnaldo Carvalho de Melo, use setlocale
-+ * 20040831 - Florin Malita <fmalita@glenayre.com> delayed CIDR netmask
- */
-
- #define DFLT_AF "inet"
-@@ -227,13 +228,13 @@
-
- int main(int argc, char **argv)
- {
-- struct sockaddr sa;
-+ struct sockaddr sa, sa_netmask;
- struct sockaddr_in sin;
- char host[128];
- struct aftype *ap;
- struct hwtype *hw;
- struct ifreq ifr;
-- int goterr = 0, didnetmask = 0;
-+ int goterr = 0, didnetmask = 0, donetmask = 0;
- char **spp;
- int fd;
- #if HAVE_AFINET6
-@@ -903,16 +904,16 @@
- /* FIXME: sa is too small for INET6 addresses, inet6 should use that too,
- broadcast is unexpected */
- if (ap->getmask) {
-- switch (ap->getmask(host, &sa, NULL)) {
-+ switch (ap->getmask(host, &sa_netmask, NULL)) {
- case -1:
- usage();
- break;
- case 1:
- if (didnetmask)
- usage();
--
-- goterr = set_netmask(skfd, &ifr, &sa);
-- didnetmask++;
-+
-+ /* delay setting the CIDR netmask till after setting the addr */
-+ donetmask = 1;
- break;
- }
- }
-@@ -960,6 +961,13 @@
- }
- }
-
-+ /* set CIDR netmask */
-+ if (donetmask) {
-+ donetmask = 0;
-+ goterr = set_netmask(skfd, &ifr, &sa_netmask);
-+ didnetmask++;
-+ }
-+
- /*
- * Don't do the set_flag() if the address is an alias with a - at the
- * end, since it's deleted already! - Roman
diff --git a/packages/net-tools/files/net-tools-1.60-netstat_stop_trim.patch b/packages/net-tools/files/net-tools-1.60-netstat_stop_trim.patch
deleted file mode 100644
index 425b5c6ca0..0000000000
--- a/packages/net-tools/files/net-tools-1.60-netstat_stop_trim.patch
+++ /dev/null
@@ -1,80 +0,0 @@
---- net-tools-1.60/man/en_US/netstat.8.old 2006-02-10 11:18:11.000000000 +0100
-+++ net-tools-1.60/man/en_US/netstat.8 2006-02-10 11:22:19.000000000 +0100
-@@ -176,6 +176,10 @@
- Print routing information from the FIB. (This is the default.)
- .SS "\-C"
- Print routing information from the route cache.
-+.SS "\-Z \-\-context"
-+If SELinux enabled print SELinux context.
-+.SS "\-T \-\-trim"
-+Stop trimming long addresses.
- .SS delay
- Netstat will cycle printing through statistics every
- .B delay
---- net-tools-1.60/netstat.c.old 2006-02-10 11:18:12.000000000 +0100
-+++ net-tools-1.60/netstat.c 2006-02-10 11:13:50.000000000 +0100
-@@ -157,6 +157,9 @@
- int flag_arg = 0;
- int flag_ver = 0;
- int flag_selinux = 0;
-+int flag_trim = 0;
-+
-+
-
- FILE *procinfo;
-
-@@ -980,17 +983,21 @@
- get_sname(htons(local_port), "tcp",
- flag_not & FLAG_NUM_PORT));
-
-- if ((strlen(local_addr) + strlen(buffer)) >= 27)
-- local_addr[27 - strlen(buffer) - 1] = '\0';
-+ if (!flag_trim) {
-+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
-+ local_addr[27 - strlen(buffer) - 1] = '\0';
-+ }
-
- strcat(local_addr, ":");
- 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));
--
-- if ((strlen(rem_addr) + strlen(buffer)) >= 27)
-- rem_addr[27 - strlen(buffer) - 1] = '\0';
-+
-+ if (!flag_trim) {
-+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
-+ rem_addr[27 - strlen(buffer) - 1] = '\0';
-+ }
-
- strcat(rem_addr, ":");
- strncat(rem_addr, buffer, sizeof(rem_addr));
-@@ -1776,6 +1783,7 @@
- {"fib", 0, 0, 'F'},
- {"groups", 0, 0, 'g'},
- {"context", 0, 0, 'Z'},
-+ {"trim", 0, 0, 'T'},
- {NULL, 0, 0, 0}
- };
-
-@@ -1788,7 +1796,7 @@
-
- afname[0] = '\0';
-
-- while ((i = getopt_long(argc, argv, "MCFA:acdegphiI::nNorstuVv?wxlZ", longopts, &lop)) != EOF)
-+ while ((i = getopt_long(argc, argv, "MCFA:acdegphiI::nNorstuVv?wxlZT", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1904,6 +1912,10 @@
- usage();
- case 's':
- flag_sta++;
-+ break;
-+ case 'T':
-+ flag_trim++;
-+ break;
- }
-
- if(argc == optind + 1) {
diff --git a/packages/net-tools/files/net-tools-1.60-netstat_ulong.patch b/packages/net-tools/files/net-tools-1.60-netstat_ulong.patch
deleted file mode 100644
index 56869dc539..0000000000
--- a/packages/net-tools/files/net-tools-1.60-netstat_ulong.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- net-tools-1.60/netstat.c.netstat_ulong 2004-11-11 14:28:44.000000000 +0100
-+++ net-tools-1.60/netstat.c 2004-11-11 14:31:14.099313000 +0100
-@@ -273,7 +273,7 @@
- strcpy(pn->name,name);
- }
-
--static const char *prg_cache_get(int inode)
-+static const char *prg_cache_get(unsigned long inode)
- {
- unsigned hi=PRG_HASHIT(inode);
- struct prg_node *pn;
diff --git a/packages/net-tools/files/net-tools-1.60-note.patch b/packages/net-tools/files/net-tools-1.60-note.patch
deleted file mode 100644
index 4853ccd635..0000000000
--- a/packages/net-tools/files/net-tools-1.60-note.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- net-tools-1.60/man/en_US/hostname.1.note 2004-11-24 12:09:28.000000000 +0100
-+++ net-tools-1.60/man/en_US/hostname.1 2004-11-24 12:16:41.121050760 +0100
-@@ -191,6 +191,10 @@
- ) then root can also set a new NIS domain.
- .SH FILES
- .B /etc/hosts
-+.B /etc/sysconfig/network
-+.SH NOTE
-+Note that hostname doesn't change anything permanently. After reboot
-+original names from \fI/etc/hosts\fR are used again.
- .SH AUTHOR
- Peter Tobias, <tobias@et-inf.fho-emden.de>
- .br
diff --git a/packages/net-tools/files/net-tools-1.60-num-ports.patch b/packages/net-tools/files/net-tools-1.60-num-ports.patch
deleted file mode 100644
index 829c9d6a77..0000000000
--- a/packages/net-tools/files/net-tools-1.60-num-ports.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- net-tools-1.60/netstat.c.num-ports 2004-11-24 12:19:24.000000000 +0100
-+++ net-tools-1.60/netstat.c 2004-11-25 16:00:45.208367104 +0100
-@@ -765,8 +765,8 @@
- 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",
-@@ -921,11 +921,11 @@
- 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));
-- if ((strlen(local_addr) + strlen(buffer)) > 22)
-+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
- local_addr[22 - strlen(buffer)] = '\0';
- strcat(local_addr, ":");
- strncat(local_addr, buffer, sizeof(local_addr));
-@@ -934,8 +934,8 @@
- 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));
-- if ((strlen(rem_addr) + strlen(buffer)) > 22)
-+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
-+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
- rem_addr[22 - strlen(buffer)] = '\0';
- strcat(rem_addr, ":");
- strncat(rem_addr, buffer, sizeof(rem_addr));
-@@ -958,7 +958,7 @@
- retr, timeout);
- break;
- }
-- printf("udp %6ld %6ld %-23s %-23s %-12s",
-+ printf("udp %6ld %6ld %-27s %-27s %-12s",
- rxq, txq, local_addr, rem_addr, udp_state);
-
- finish_this_one(uid,inode,timers);
-@@ -1045,8 +1045,8 @@
- 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));
-- if ((strlen(local_addr) + strlen(buffer)) > 22)
-+ flag_not & FLAG_NUM_HOST), sizeof(local_addr));
-+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
- local_addr[22 - strlen(buffer)] = '\0';
- strcat(local_addr, ":");
- strncat(local_addr, buffer, sizeof(local_addr));
-@@ -1055,8 +1055,8 @@
- 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));
-- if ((strlen(rem_addr) + strlen(buffer)) > 22)
-+ flag_not & FLAG_NUM_HOST), sizeof(rem_addr));
-+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
- rem_addr[22 - strlen(buffer)] = '\0';
- strcat(rem_addr, ":");
- strncat(rem_addr, buffer, sizeof(rem_addr));
-@@ -1081,7 +1081,7 @@
- retr, timeout);
- break;
- }
-- printf("raw %6ld %6ld %-23s %-23s %-12d",
-+ printf("raw %6ld %6ld %-27s %-27s %-12d",
- rxq, txq, local_addr, rem_addr, state);
-
- finish_this_one(uid,inode,timers);
diff --git a/packages/net-tools/files/net-tools-1.60-overflow.patch b/packages/net-tools/files/net-tools-1.60-overflow.patch
deleted file mode 100644
index d363149514..0000000000
--- a/packages/net-tools/files/net-tools-1.60-overflow.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -ur net-tools-1.60.orig/netstat.c net-tools-1.60/netstat.c
---- net-tools-1.60.orig/netstat.c 2004-04-07 11:47:05.000000000 -0400
-+++ net-tools-1.60/netstat.c 2004-04-07 16:47:15.000000000 -0400
-@@ -777,7 +777,8 @@
- 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));
-
-@@ -785,7 +786,8 @@
- 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)
-@@ -926,7 +928,8 @@
- 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));
-@@ -935,7 +938,8 @@
- 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)
-@@ -1045,7 +1049,8 @@
- 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));
-@@ -1054,7 +1059,8 @@
- 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)
diff --git a/packages/net-tools/files/net-tools-1.60-parse.patch b/packages/net-tools/files/net-tools-1.60-parse.patch
deleted file mode 100644
index 25890f1b04..0000000000
--- a/packages/net-tools/files/net-tools-1.60-parse.patch
+++ /dev/null
@@ -1,70 +0,0 @@
---- net-tools-1.60/statistics.c.parse 2004-09-06 10:45:35.595130240 +0200
-+++ net-tools-1.60/statistics.c 2004-09-06 10:43:11.000000000 +0200
-@@ -289,7 +289,7 @@
- return &dummytab;
- }
-
--void process_fd(FILE *f)
-+void process_fd(FILE *f,int file_desc) // added file_desc to show propriate error mesg
- {
- char buf1[1024], buf2[1024];
- char *sp, *np, *p;
-@@ -297,12 +297,16 @@
- int endflag;
- struct tabtab *tab;
-
-+ if (strcmp(buf1,"\n") == 0) // cut leading break
-+ if (!fgets(buf1, sizeof buf1, f))
-+ break;
- if (!fgets(buf2, sizeof buf2, f))
- break;
-+
- sp = strchr(buf1, ':');
-- np = strchr(buf2, ':');
-- if (!np || !sp)
-- goto formaterr;
-+ np = strchr(buf2, ':');
-+ if (!np || !sp)
-+ goto formaterr;
- *sp = '\0';
-
- tab = newtable(snmptabs, buf1);
-@@ -333,7 +337,12 @@
- return;
-
- formaterr:
-- perror(_("error parsing /proc/net/snmp"));
-+ switch(file_desc) {
-+ case 0: perror(_("error parsing /proc/net/snmp"));
-+ break;
-+ case 1: perror(_("error parsing /proc/net/netstat"));
-+ break;
-+ }
- return;
- }
-
-@@ -343,13 +352,13 @@
- FILE *f;
-
- f_raw = flag_raw; f_tcp = flag_tcp; f_udp = flag_udp;
--
-+
- f = fopen("/proc/net/snmp", "r");
- if (!f) {
- perror(_("cannot open /proc/net/snmp"));
- return(1);
- }
-- process_fd(f);
-+ process_fd(f,0);
-
- if (ferror(f)) {
- perror("/proc/net/snmp");
-@@ -361,7 +370,7 @@
- f = fopen("/proc/net/netstat", "r");
-
- if (f) {
-- process_fd(f);
-+ process_fd(f,1);
-
- if (ferror(f)) {
- perror("/proc/net/netstat");
diff --git a/packages/net-tools/files/net-tools-1.60-pie.patch b/packages/net-tools/files/net-tools-1.60-pie.patch
deleted file mode 100644
index d4496ffbc8..0000000000
--- a/packages/net-tools/files/net-tools-1.60-pie.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- net-tools-1.60/Makefile.pie 2001-04-15 16:34:31.000000000 +0200
-+++ net-tools-1.60/Makefile 2005-02-28 12:41:15.337127680 +0100
-@@ -113,8 +113,8 @@
-
- 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)
-+CFLAGS += $(COPTS) -I. -idirafter ./include/ -I$(NET_LIB_PATH)
-+LDFLAGS += $(LOPTS) -L$(NET_LIB_PATH)
-
- SUBDIRS = man/ $(NET_LIB_PATH)/
-
diff --git a/packages/net-tools/files/net-tools-1.60-return.patch b/packages/net-tools/files/net-tools-1.60-return.patch
deleted file mode 100644
index 8ef10f51c3..0000000000
--- a/packages/net-tools/files/net-tools-1.60-return.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- net-tools-1.60/nameif.c.return 2004-08-03 18:01:37.000000000 +0900
-+++ net-tools-1.60/nameif.c 2004-08-03 18:03:37.000000000 +0900
-@@ -27,6 +27,7 @@
- const char *fname = default_conf;
- int use_syslog;
- int ctl_sk = -1;
-+int frag = 0;
-
- void err(char *msg)
- {
-@@ -288,13 +289,15 @@
- while (clist) {
- struct change *ch = clist;
- clist = clist->next;
-- if (!ch->found)
-+ if (!ch->found){
- warning(_("interface '%s' not found"), ch->ifname);
-+ frag = 1;
-+ }
- free(ch);
- }
-
- if (use_syslog)
- closelog();
-- return 0;
-+ return frag;
- }
-
diff --git a/packages/net-tools/files/net-tools-1.60-selinux.patch b/packages/net-tools/files/net-tools-1.60-selinux.patch
deleted file mode 100644
index d0266696d0..0000000000
--- a/packages/net-tools/files/net-tools-1.60-selinux.patch
+++ /dev/null
@@ -1,205 +0,0 @@
---- net-tools-1.60/Makefile~ 2005-12-24 06:56:57.000000000 -0500
-+++ net-tools-1.60/Makefile 2005-12-29 16:54:06.000000000 -0500
-@@ -113,6 +113,12 @@
-
- NET_LIB = $(NET_LIB_PATH)/lib$(NET_LIB_NAME).a
-
-+ifeq ($(HAVE_SELINUX),1)
-+LDFLAGS += -lselinux
-+CFLAGS += -DHAVE_SELINUX
-+else
-+endif
-+
- CFLAGS += $(COPTS) -I. -idirafter ./include/ -I$(NET_LIB_PATH)
- LDFLAGS += $(LOPTS) -L$(NET_LIB_PATH)
-
---- net-tools-1.60/netstat.c~ 2005-12-24 06:56:57.000000000 -0500
-+++ net-tools-1.60/netstat.c 2005-12-29 16:54:07.000000000 -0500
-@@ -86,6 +86,11 @@
- #include <net/if.h>
- #include <dirent.h>
-
-+#if HAVE_SELINUX
-+#include <selinux/selinux.h>
-+#else
-+#define security_context_t char*
-+#endif
- #include "net-support.h"
- #include "pathnames.h"
- #include "version.h"
-@@ -96,6 +101,7 @@
- #include "util.h"
-
- #define PROGNAME_WIDTH 20
-+#define SELINUX_WIDTH 50
-
- #if !defined(s6_addr32) && defined(in6a_words)
- #define s6_addr32 in6a_words /* libinet6 */
-@@ -150,6 +156,7 @@
- int flag_prg = 0;
- int flag_arg = 0;
- int flag_ver = 0;
-+int flag_selinux = 0;
-
- FILE *procinfo;
-
-@@ -213,12 +220,17 @@
- #define PROGNAME_WIDTH1(s) PROGNAME_WIDTH2(s)
- #define PROGNAME_WIDTH2(s) #s
-
-+#define SELINUX_WIDTHs SELINUX_WIDTH1(SELINUX_WIDTH)
-+#define SELINUX_WIDTH1(s) SELINUX_WIDTH2(s)
-+#define SELINUX_WIDTH2(s) #s
-+
- #define PRG_HASH_SIZE 211
-
- static struct prg_node {
- struct prg_node *next;
- int inode;
- char name[PROGNAME_WIDTH];
-+ char scon[SELINUX_WIDTH];
- } *prg_hash[PRG_HASH_SIZE];
-
- static char prg_cache_loaded = 0;
-@@ -226,9 +238,12 @@
- #define PRG_HASHIT(x) ((x) % PRG_HASH_SIZE)
-
- #define PROGNAME_BANNER "PID/Program name"
-+#define SELINUX_BANNER "Security Context"
-
- #define print_progname_banner() do { if (flag_prg) printf("%-" PROGNAME_WIDTHs "s"," " PROGNAME_BANNER); } while (0)
-
-+#define print_selinux_banner() do { if (flag_selinux) printf("%-" SELINUX_WIDTHs "s"," " SELINUX_BANNER); } while (0)
-+
- #define PRG_LOCAL_ADDRESS "local_address"
- #define PRG_INODE "inode"
- #define PRG_SOCKET_PFX "socket:["
-@@ -250,7 +265,7 @@
- /* NOT working as of glibc-2.0.7: */
- #undef DIRENT_HAVE_D_TYPE_WORKS
-
--static void prg_cache_add(int inode, char *name)
-+static void prg_cache_add(int inode, char *name, char *scon)
- {
- unsigned hi = PRG_HASHIT(inode);
- struct prg_node **pnp,*pn;
-@@ -271,6 +286,14 @@
- if (strlen(name)>sizeof(pn->name)-1)
- name[sizeof(pn->name)-1]='\0';
- strcpy(pn->name,name);
-+
-+ {
-+ int len=(strlen(scon)-sizeof(pn->scon))+1;
-+ if (len > 0)
-+ strcpy(pn->scon,&scon[len+1]);
-+ else
-+ strcpy(pn->scon,scon);
-+ }
- }
-
- static const char *prg_cache_get(unsigned long inode)
-@@ -283,6 +306,16 @@
- return("-");
- }
-
-+static const char *prg_cache_get_con(unsigned long inode)
-+{
-+ unsigned hi=PRG_HASHIT(inode);
-+ struct prg_node *pn;
-+
-+ for (pn=prg_hash[hi];pn;pn=pn->next)
-+ if (pn->inode==inode) return(pn->scon);
-+ return("-");
-+}
-+
- static void prg_cache_clear(void)
- {
- struct prg_node **pnp,*pn;
-@@ -348,6 +381,7 @@
- const char *cs,*cmdlp;
- DIR *dirproc=NULL,*dirfd=NULL;
- struct dirent *direproc,*direfd;
-+ security_context_t scon=NULL;
-
- if (prg_cache_loaded || !flag_prg) return;
- prg_cache_loaded=1;
-@@ -415,7 +449,15 @@
- }
-
- snprintf(finbuf, sizeof(finbuf), "%s/%s", direproc->d_name, cmdlp);
-- prg_cache_add(inode, finbuf);
-+#if HAVE_SELINUX
-+ if (getpidcon(atoi(direproc->d_name), &scon) == -1) {
-+ scon=strdup("-");
-+ }
-+ prg_cache_add(inode, finbuf, scon);
-+ freecon(scon);
-+#else
-+ prg_cache_add(inode, finbuf, "-");
-+#endif
- }
- closedir(dirfd);
- dirfd = NULL;
-@@ -1385,6 +1428,8 @@
- printf("- ");
- if (flag_prg)
- printf("%-" PROGNAME_WIDTHs "s",(has & HAS_INODE?prg_cache_get(inode):"-"));
-+ if (flag_selinux)
-+ printf("%-" SELINUX_WIDTHs "s",(has & HAS_INODE?prg_cache_get_con(inode):"-"));
- puts(path);
- }
-
-@@ -1403,6 +1448,7 @@
-
- printf(_("\nProto RefCnt Flags Type State I-Node"));
- print_progname_banner();
-+ print_selinux_banner();
- printf(_(" Path\n")); /* xxx */
-
- {
-@@ -1682,6 +1728,7 @@
- fprintf(stderr, _(" -o, --timers display timers\n"));
- fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n"));
- fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n"));
-+ fprintf(stderr, _(" -Z, --context display SELinux security context for sockets\n\n"));
-
- fprintf(stderr, _(" <Iface>: Name of interface to monitor/list.\n"));
- fprintf(stderr, _(" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n"));
-@@ -1729,6 +1776,7 @@
- {"cache", 0, 0, 'C'},
- {"fib", 0, 0, 'F'},
- {"groups", 0, 0, 'g'},
-+ {"context", 0, 0, 'Z'},
- {NULL, 0, 0, 0}
- };
-
-@@ -1741,7 +1789,7 @@
-
- afname[0] = '\0';
-
-- while ((i = getopt_long(argc, argv, "MCFA:acdegphiI::nNorstuVv?wxl", longopts, &lop)) != EOF)
-+ while ((i = getopt_long(argc, argv, "MCFA:acdegphiI::nNorstuVv?wxlZ", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1838,6 +1886,20 @@
- if (aftrans_opt("unix"))
- exit(1);
- break;
-+ case 'Z':
-+#if HAVE_SELINUX
-+ if (is_selinux_enabled() <= 0) {
-+ fprintf(stderr, _("SELinux is not enabled on this machine.\n"));
-+ exit(1);
-+ }
-+ flag_prg++;
-+ flag_selinux++;
-+#else
-+ fprintf(stderr, _("SELinux is not enabled for this application.\n"));
-+ exit(1);
-+#endif
-+
-+ break;
- case '?':
- case 'h':
- usage();
diff --git a/packages/net-tools/files/net-tools-1.60-siunits.patch b/packages/net-tools/files/net-tools-1.60-siunits.patch
deleted file mode 100644
index cf6d89c5d3..0000000000
--- a/packages/net-tools/files/net-tools-1.60-siunits.patch
+++ /dev/null
@@ -1,80 +0,0 @@
---- net-tools-1.60/lib/interface.c.siunits 2004-03-14 12:11:22.000000000 -0600
-+++ net-tools-1.60/lib/interface.c 2004-03-14 12:27:31.990679464 -0600
-@@ -262,7 +262,7 @@
- &ife->stats.tx_compressed);
- break;
- case 2:
-- sscanf(bp, "%llu %llu %lu %lu %lu %lu %llu %llu %lu %lu %lu %lu %lu",
-+ sscanf(bp, "%Lu %llu %lu %lu %lu %lu %Lu %Lu %lu %lu %lu %lu %lu",
- &ife->stats.rx_bytes,
- &ife->stats.rx_packets,
- &ife->stats.rx_errors,
-@@ -280,7 +280,7 @@
- ife->stats.rx_multicast = 0;
- break;
- case 1:
-- sscanf(bp, "%llu %lu %lu %lu %lu %llu %lu %lu %lu %lu %lu",
-+ sscanf(bp, "%Lu %lu %lu %lu %lu %Lu %lu %lu %lu %lu %lu",
- &ife->stats.rx_packets,
- &ife->stats.rx_errors,
- &ife->stats.rx_dropped,
-@@ -675,8 +675,8 @@
- int hf;
- int can_compress = 0;
- unsigned long long rx, tx, short_rx, short_tx;
-- char Rext[5]="b";
-- char Text[5]="b";
-+ const char *Rext = "b";
-+ const char *Text = "b";
-
- #if HAVE_AFIPX
- static struct aftype *ipxtype = NULL;
-@@ -882,10 +882,44 @@
- tx = ptr->stats.tx_bytes;
- short_rx = rx * 10;
- short_tx = tx * 10;
-- if (rx > 1048576) { short_rx /= 1048576; strcpy(Rext, "Mb"); }
-- else if (rx > 1024) { short_rx /= 1024; strcpy(Rext, "Kb"); }
-- if (tx > 1048576) { short_tx /= 1048576; strcpy(Text, "Mb"); }
-- else if (tx > 1024) { short_tx /= 1024; strcpy(Text, "Kb"); }
-+ if (rx > 1152921504606846976ull) {
-+ short_rx /= 1152921504606846976ull;
-+ Rext = "EiB";
-+ } else if (rx > 1125899906842624ull) {
-+ short_rx /= 1125899906842624ull;
-+ Rext = "PiB";
-+ } else if (rx > 1099511627776ull) {
-+ short_rx /= 1099511627776ull;
-+ Rext = "TiB";
-+ } else if (rx > 1073741824ull) {
-+ short_rx /= 1073741824ull;
-+ Rext = "GiB";
-+ } else if (rx > 1048576) {
-+ short_rx /= 1048576;
-+ Rext = "MiB";
-+ } else if (rx > 1024) {
-+ short_rx /= 1024;
-+ Rext = "KiB";
-+ }
-+ if (tx > 1152921504606846976ull) {
-+ short_tx /= 1152921504606846976ull;
-+ Text = "EiB";
-+ } else if (tx > 1125899906842624ull) {
-+ short_tx /= 1125899906842624ull;
-+ Text = "PiB";
-+ } else if (tx > 1099511627776ull) {
-+ short_tx /= 1099511627776ull;
-+ Text = "TiB";
-+ } else if (tx > 1073741824ull) {
-+ short_tx /= 1073741824ull;
-+ Text = "GiB";
-+ } else if (tx > 1048576) {
-+ short_tx /= 1048576;
-+ Text = "MiB";
-+ } else if (tx > 1024) {
-+ short_tx /= 1024;
-+ Text = "KiB";
-+ }
-
- printf(" ");
- printf(_("TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"),
diff --git a/packages/net-tools/files/net-tools-1.60-statalias.patch b/packages/net-tools/files/net-tools-1.60-statalias.patch
deleted file mode 100644
index 7c74f74d07..0000000000
--- a/packages/net-tools/files/net-tools-1.60-statalias.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- net-tools-1.60/lib/interface.c.statalias 2005-01-07 12:49:14.084104032 +0100
-+++ net-tools-1.60/lib/interface.c 2005-01-07 12:49:38.527388088 +0100
-@@ -395,9 +395,11 @@
- char *s, name[IFNAMSIZ];
- s = get_name(name, buf);
- get_dev_fields(s, ife);
-- ife->statistics_valid = 1;
- if (target && !strcmp(target,name))
-+ {
-+ ife->statistics_valid = 1;
- break;
-+ }
- }
- if (ferror(fh)) {
- perror(_PATH_PROCNET_DEV);
diff --git a/packages/net-tools/files/net-tools-1.60-statistics.patch b/packages/net-tools/files/net-tools-1.60-statistics.patch
deleted file mode 100644
index d3a56499e8..0000000000
--- a/packages/net-tools/files/net-tools-1.60-statistics.patch
+++ /dev/null
@@ -1,65 +0,0 @@
---- net-tools-1.60/statistics.c.tcpdata 2005-04-26 10:38:10.000000000 +0200
-+++ net-tools-1.60/statistics.c 2005-04-26 10:36:19.000000000 +0200
-@@ -1,6 +1,6 @@
- /*
- * Copyright 1997,1999,2000 Andi Kleen. Subject to the GPL.
-- * $Id: statistics.c,v 1.14 2001/02/02 18:01:23 pb Exp $
-+ * $Id: statistics.c,v 1.17 2002/04/28 15:41:01 ak Exp $
- * 19980630 - i18n - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
- * 19981113 - i18n fixes - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
- * 19990101 - added net/netstat, -t, -u, -w supprt - Bernd Eckenfels
-@@ -185,6 +185,44 @@
- "directly queued to user"), opt_number },
- { "SockMallocOOM", N_("Ran %lu times out of system memory during "
- "packet sending"), opt_number },
-+ { "TCPPureAcks", N_("%u acknowledgments not containing data received"), opt_number },
-+ { "TCPHPAcks", N_("%u predicted acknowledgments"), opt_number },
-+ { "TCPRenoRecovery", N_("%u times recovered from packet loss due to fast retransmit"), opt_number },
-+ { "TCPSackRecovery", N_("%u times recovered from packet loss due to SACK data"), opt_number },
-+ { "TCPSACKReneging", N_("%u bad SACKs received"), opt_number },
-+ { "TCPFACKReorder", N_("Detected reordering %u times using FACK"), opt_number },
-+ { "TCPSACKReorder", N_("Detected reordering %u times using SACK"), opt_number },
-+ { "TCPTSReorder", N_("Detected reordering %u times using time stamp"), opt_number },
-+ { "TCPRenoReorder", N_("Detected reordering %u times using reno fast retransmit"), opt_number },
-+ { "TCPFullUndo", N_("%u congestion windows fully recovered"), opt_number },
-+ { "TCPPartialUndo", N_("%u congestion windows partially recovered using Hoe heuristic"), opt_number },
-+ { "TCPDSackUndo", N_("%u congestion window recovered using DSACK"), opt_number },
-+ { "TCPLossUndo", N_("%u congestion windows recovered after partial ack"), opt_number },
-+ { "TCPLostRetransmits", N_("%u retransmits lost"), opt_number },
-+ { "TCPRenoFailures", N_("%u timeouts after reno fast retransmit"), opt_number },
-+ { "TCPSackFailures", N_("%u timeouts after SACK recovery"), opt_number },
-+ { "TCPLossFailures", N_("%u timeouts in loss state"), opt_number },
-+ { "TCPFastRetrans", N_("%u fast retransmits"), opt_number },
-+ { "TCPForwardRetrans", N_("%u forward retransmits"), opt_number },
-+ { "TCPSlowStartRetrans", N_("%u retransmits in slow start"), opt_number },
-+ { "TCPTimeouts", N_("%u other TCP timeouts"), opt_number },
-+ { "TCPRenoRecoveryFailed", N_("%u reno fast retransmits failed"), opt_number },
-+ { "TCPSackRecoveryFail", N_("%u sack retransmits failed"), opt_number },
-+ { "TCPSchedulerFailed", N_("%u times receiver scheduled too late for direct processing"), opt_number },
-+ { "TCPRcvCollapsed", N_("%u packets collapsed in receive queue due to low socket buffer"), opt_number },
-+ { "TCPDSACKOldSent", N_("%u DSACKs sent for old packets"), opt_number },
-+ { "TCPDSACKOfoSent", N_("%u DSACKs sent for out of order packets"), opt_number },
-+ { "TCPDSACKRecv", N_("%u DSACKs received"), opt_number },
-+ { "TCPDSACKOfoRecv", N_("%u DSACKs for out of order packets received"), opt_number },
-+ { "TCPAbortOnSyn", N_("%u connections reset due to unexpected SYN"), opt_number },
-+ { "TCPAbortOnData", N_("%u connections reset due to unexpected data"), opt_number },
-+ { "TCPAbortOnClose", N_("%u connections reset due to early user close"), opt_number },
-+ { "TCPAbortOnMemory", N_("%u connections aborted due to memory pressure"), opt_number },
-+ { "TCPAbortOnTimeout", N_("%u connections aborted due to timeout"), opt_number },
-+ { "TCPAbortOnLinger", N_("%u connections aborted after user close in linger timeout"), opt_number },
-+ { "TCPAbortFailed", N_("%u times unabled to send RST due to no memory"), opt_number },
-+ { "TCPMemoryPressures", N_("TCP ran low on memory %u times"), opt_number },
-+ { "TCPLoss", N_("%u TCP data loss events") },
- };
-
- struct tabtab {
-@@ -222,7 +260,8 @@
- ent = bsearch(&key, tab->tab, tab->size / sizeof(struct entry),
- sizeof(struct entry), cmpentries);
- if (!ent) { /* try our best */
-- printf("%*s%s: %d\n", states[state].indent, "", title, val);
-+ if (val)
-+ printf("%*s%s: %d\n", states[state].indent, "", title, val);
- return;
- }
- type = ent->type;
diff --git a/packages/net-tools/files/net-tools-1.60-stdo.patch b/packages/net-tools/files/net-tools-1.60-stdo.patch
deleted file mode 100644
index 4c9d93e88f..0000000000
--- a/packages/net-tools/files/net-tools-1.60-stdo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN net-tools-1.60/mii-tool.c net-tools-1.60.new/mii-tool.c
---- net-tools-1.60/mii-tool.c 2000-05-21 16:31:17.000000000 +0200
-+++ net-tools-1.60.new/mii-tool.c 2005-03-29 13:00:18.000000000 +0200
-@@ -302,6 +302,7 @@
- printf("\n link partner:%s", media_list(lkpar, 0));
- printf("\n");
- }
-+ fflush(stdout);
- return 0;
- }
-
diff --git a/packages/net-tools/files/net-tools-1.60-trailingblank.patch b/packages/net-tools/files/net-tools-1.60-trailingblank.patch
deleted file mode 100644
index 8c752282e2..0000000000
--- a/packages/net-tools/files/net-tools-1.60-trailingblank.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- net-tools-1.60/hostname.c.trailingblank 2001-04-08 19:04:23.000000000 +0200
-+++ net-tools-1.60/hostname.c 2003-08-19 14:21:17.000000000 +0200
-@@ -153,13 +153,19 @@
-
- switch (c) {
- case 'a':
-- while (hp->h_aliases[0])
-- printf("%s ", *hp->h_aliases++);
-+ while (hp->h_aliases[0]) {
-+ printf("%s", *hp->h_aliases++);
-+ if (hp->h_aliases[0])
-+ printf(" ");
-+ }
- printf("\n");
- break;
- case 'i':
-- while (hp->h_addr_list[0])
-- printf("%s ", inet_ntoa(*(struct in_addr *) *hp->h_addr_list++));
-+ while (hp->h_addr_list[0]) {
-+ printf("%s", inet_ntoa(*(struct in_addr *) *hp->h_addr_list++));
-+ if (hp->h_addr_list[0])
-+ printf(" ");
-+ }
- printf("\n");
- break;
- case 'd':
diff --git a/packages/net-tools/files/net-tools-1.60-trim_iface.patch b/packages/net-tools/files/net-tools-1.60-trim_iface.patch
deleted file mode 100644
index 150722cd28..0000000000
--- a/packages/net-tools/files/net-tools-1.60-trim_iface.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- net-tools-1.60/ifconfig.c.old 2005-03-30 10:14:03.000000000 +0200
-+++ net-tools-1.60/ifconfig.c 2005-03-30 10:40:50.000000000 +0200
-@@ -177,7 +177,7 @@
-
- static void usage(void)
- {
-- fprintf(stderr, _("Usage:\n ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"));
-+ fprintf(stderr, _("Usage:\n ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"));
- #if HAVE_AFINET
- fprintf(stderr, _(" [add <address>[/<prefixlen>]]\n"));
- fprintf(stderr, _(" [del <address>[/<prefixlen>]]\n"));
---- net-tools-1.60/lib/interface.c.old 2005-03-30 10:14:03.000000000 +0200
-+++ net-tools-1.60/lib/interface.c 2005-03-30 11:05:38.000000000 +0200
-@@ -620,7 +620,7 @@
-
- void ife_print_short(struct interface *ptr)
- {
-- printf("%-9.9s ", ptr->name);
-+ printf("%-9s ", ptr->name);
- printf("%5d %3d ", ptr->mtu, ptr->metric);
- /* If needed, display the interface statistics. */
- if (ptr->statistics_valid) {
-@@ -711,7 +711,7 @@
- if (hw == NULL)
- hw = get_hwntype(-1);
-
-- printf(_("%-9.9s Link encap:%s "), ptr->name, hw->title);
-+ printf(_("%-9s Link encap:%s "), ptr->name, hw->title);
- /* For some hardware types (eg Ash, ATM) we don't print the
- hardware address if it's null. */
- if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) &&
diff --git a/packages/net-tools/files/net-tools-1.60-trunc.patch b/packages/net-tools/files/net-tools-1.60-trunc.patch
deleted file mode 100644
index 9ff3c0bcc8..0000000000
--- a/packages/net-tools/files/net-tools-1.60-trunc.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- net-tools-1.60/netstat.c.trunc 2004-08-31 12:42:08.595426960 +0200
-+++ net-tools-1.60/netstat.c 2004-08-31 12:59:55.766192344 +0200
-@@ -773,8 +773,8 @@
- get_sname(htons(local_port), "tcp",
- flag_not & FLAG_NUM_PORT));
-
-- if ((strlen(local_addr) + strlen(buffer)) > 22)
-- local_addr[22 - strlen(buffer)] = '\0';
-+ if ((strlen(local_addr) + strlen(buffer)) >= 27)
-+ local_addr[27 - strlen(buffer) - 1] = '\0';
-
- strcat(local_addr, ":");
- strncat(local_addr, buffer, sizeof(local_addr));
-@@ -782,8 +782,8 @@
- snprintf(buffer, sizeof(buffer), "%s",
- get_sname(htons(rem_port), "tcp", flag_not & FLAG_NUM_PORT));
-
-- if ((strlen(rem_addr) + strlen(buffer)) > 22)
-- rem_addr[22 - strlen(buffer)] = '\0';
-+ if ((strlen(rem_addr) + strlen(buffer)) >= 27)
-+ rem_addr[27 - strlen(buffer) - 1] = '\0';
-
- strcat(rem_addr, ":");
- strncat(rem_addr, buffer, sizeof(rem_addr));
-@@ -816,7 +816,7 @@
- timer_run, (double) time_len / HZ, retr, timeout);
- break;
- }
-- printf("tcp %6ld %6ld %-23s %-23s %-12s",
-+ printf("tcp %6ld %6ld %-27s %-27s %-12s",
- rxq, txq, local_addr, rem_addr, _(tcp_state[state]));
-
- finish_this_one(uid,inode,timers);
-@@ -1770,7 +1770,7 @@
- else
- printf(_("(w/o servers)"));
- }
-- printf(_("\nProto Recv-Q Send-Q Local Address Foreign Address State ")); /* xxx */
-+ printf(_("\nProto Recv-Q Send-Q Local Address Foreign Address State ")); /* xxx */
- if (flag_exp > 1)
- printf(_(" User Inode "));
- print_progname_banner();
diff --git a/packages/net-tools/files/net-tools-1.60-ulong.patch b/packages/net-tools/files/net-tools-1.60-ulong.patch
deleted file mode 100644
index bc7df29dd6..0000000000
--- a/packages/net-tools/files/net-tools-1.60-ulong.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-diff -urN net-tools-1.60/statistics.c net-tools-1.60-patch/statistics.c
---- net-tools-1.60/statistics.c 2001-02-02 10:01:23.000000000 -0800
-+++ net-tools-1.60-patch/statistics.c 2004-06-15 11:09:44.000000000 -0700
-@@ -63,54 +63,54 @@
- struct entry Iptab[] =
- {
- {"Forwarding", N_("Forwarding is %s"), i_forward | I_STATIC},
-- {"DefaultTTL", N_("Default TTL is %u"), number | I_STATIC},
-- {"InReceives", N_("%u total packets received"), number},
-- {"InHdrErrors", N_("%u with invalid headers"), opt_number},
-- {"InAddrErrors", N_("%u with invalid addresses"), opt_number},
-- {"ForwDatagrams", N_("%u forwarded"), number},
-- {"InUnknownProtos", N_("%u with unknown protocol"), opt_number},
-- {"InDiscards", N_("%u incoming packets discarded"), number},
-- {"InDelivers", N_("%u incoming packets delivered"), number},
-- {"OutRequests", N_("%u requests sent out"), number}, /*? */
-- {"OutDiscards", N_("%u outgoing packets dropped"), opt_number},
-- {"OutNoRoutes", N_("%u dropped because of missing route"), opt_number},
-- {"ReasmTimeout", N_("%u fragments dropped after timeout"), opt_number},
-- {"ReasmReqds", N_("%u reassemblies required"), opt_number}, /* ? */
-- {"ReasmOKs", N_("%u packets reassembled ok"), opt_number},
-- {"ReasmFails", N_("%u packet reassembles failed"), opt_number},
-- {"FragOKs", N_("%u fragments received ok"), opt_number},
-- {"FragFails", N_("%u fragments failed"), opt_number},
-- {"FragCreates", N_("%u fragments created"), opt_number}
-+ {"DefaultTTL", N_("Default TTL is %lu"), number | I_STATIC},
-+ {"InReceives", N_("%lu total packets received"), number},
-+ {"InHdrErrors", N_("%lu with invalid headers"), opt_number},
-+ {"InAddrErrors", N_("%lu with invalid addresses"), opt_number},
-+ {"ForwDatagrams", N_("%lu forwarded"), number},
-+ {"InUnknownProtos", N_("%lu with unknown protocol"), opt_number},
-+ {"InDiscards", N_("%lu incoming packets discarded"), number},
-+ {"InDelivers", N_("%lu incoming packets delivered"), number},
-+ {"OutRequests", N_("%lu requests sent out"), number}, /*? */
-+ {"OutDiscards", N_("%lu outgoing packets dropped"), opt_number},
-+ {"OutNoRoutes", N_("%lu dropped because of missing route"), opt_number},
-+ {"ReasmTimeout", N_("%lu fragments dropped after timeout"), opt_number},
-+ {"ReasmReqds", N_("%lu reassemblies required"), opt_number}, /* ? */
-+ {"ReasmOKs", N_("%lu packets reassembled ok"), opt_number},
-+ {"ReasmFails", N_("%lu packet reassembles failed"), opt_number},
-+ {"FragOKs", N_("%lu fragments received ok"), opt_number},
-+ {"FragFails", N_("%lu fragments failed"), opt_number},
-+ {"FragCreates", N_("%lu fragments created"), opt_number}
- };
-
- struct entry Icmptab[] =
- {
-- {"InMsgs", N_("%u ICMP messages received"), number},
-- {"InErrors", N_("%u input ICMP message failed."), number},
-- {"InDestUnreachs", N_("destination unreachable: %u"), i_inp_icmp | I_TITLE},
-- {"InTimeExcds", N_("timeout in transit: %u"), i_inp_icmp | I_TITLE},
-- {"InParmProbs", N_("wrong parameters: %u"), i_inp_icmp | I_TITLE}, /*? */
-- {"InSrcQuenchs", N_("source quenches: %u"), i_inp_icmp | I_TITLE},
-- {"InRedirects", N_("redirects: %u"), i_inp_icmp | I_TITLE},
-- {"InEchos", N_("echo requests: %u"), i_inp_icmp | I_TITLE},
-- {"InEchoReps", N_("echo replies: %u"), i_inp_icmp | I_TITLE},
-- {"InTimestamps", N_("timestamp request: %u"), i_inp_icmp | I_TITLE},
-- {"InTimestampReps", N_("timestamp reply: %u"), i_inp_icmp | I_TITLE},
-- {"InAddrMasks", N_("address mask request: %u"), i_inp_icmp | I_TITLE}, /*? */
-- {"InAddrMaskReps", N_("address mask replies: %u"), i_inp_icmp | I_TITLE}, /*? */
-- {"OutMsgs", N_("%u ICMP messages sent"), number},
-- {"OutErrors", N_("%u ICMP messages failed"), number},
-- {"OutDestUnreachs", N_("destination unreachable: %u"), i_outp_icmp | I_TITLE},
-- {"OutTimeExcds", N_("time exceeded: %u"), i_outp_icmp | I_TITLE},
-- {"OutParmProbs", N_("wrong parameters: %u"), i_outp_icmp | I_TITLE}, /*? */
-- {"OutSrcQuenchs", N_("source quench: %u"), i_outp_icmp | I_TITLE},
-- {"OutRedirects", N_("redirect: %u"), i_outp_icmp | I_TITLE},
-- {"OutEchos", N_("echo request: %u"), i_outp_icmp | I_TITLE},
-- {"OutEchoReps", N_("echo replies: %u"), i_outp_icmp | I_TITLE},
-- {"OutTimestamps", N_("timestamp requests: %u"), i_outp_icmp | I_TITLE},
-- {"OutTimestampReps", N_("timestamp replies: %u"), i_outp_icmp | I_TITLE},
-- {"OutAddrMasks", N_("address mask requests: %u"), i_outp_icmp | I_TITLE},
-- {"OutAddrMaskReps", N_("address mask replies: %u"), i_outp_icmp | I_TITLE},
-+ {"InMsgs", N_("%lu ICMP messages received"), number},
-+ {"InErrors", N_("%lu input ICMP message failed."), number},
-+ {"InDestUnreachs", N_("destination unreachable: %lu"), i_inp_icmp | I_TITLE},
-+ {"InTimeExcds", N_("timeout in transit: %lu"), i_inp_icmp | I_TITLE},
-+ {"InParmProbs", N_("wrong parameters: %lu"), i_inp_icmp | I_TITLE}, /*? */
-+ {"InSrcQuenchs", N_("source quenches: %lu"), i_inp_icmp | I_TITLE},
-+ {"InRedirects", N_("redirects: %lu"), i_inp_icmp | I_TITLE},
-+ {"InEchos", N_("echo requests: %lu"), i_inp_icmp | I_TITLE},
-+ {"InEchoReps", N_("echo replies: %lu"), i_inp_icmp | I_TITLE},
-+ {"InTimestamps", N_("timestamp request: %lu"), i_inp_icmp | I_TITLE},
-+ {"InTimestampReps", N_("timestamp reply: %lu"), i_inp_icmp | I_TITLE},
-+ {"InAddrMasks", N_("address mask request: %lu"), i_inp_icmp | I_TITLE}, /*? */
-+ {"InAddrMaskReps", N_("address mask replies: %lu"), i_inp_icmp | I_TITLE}, /*? */
-+ {"OutMsgs", N_("%lu ICMP messages sent"), number},
-+ {"OutErrors", N_("%lu ICMP messages failed"), number},
-+ {"OutDestUnreachs", N_("destination unreachable: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutTimeExcds", N_("time exceeded: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutParmProbs", N_("wrong parameters: %lu"), i_outp_icmp | I_TITLE}, /*? */
-+ {"OutSrcQuenchs", N_("source quench: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutRedirects", N_("redirect: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutEchos", N_("echo request: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutEchoReps", N_("echo replies: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutTimestamps", N_("timestamp requests: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutTimestampReps", N_("timestamp replies: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutAddrMasks", N_("address mask requests: %lu"), i_outp_icmp | I_TITLE},
-+ {"OutAddrMaskReps", N_("address mask replies: %lu"), i_outp_icmp | I_TITLE},
- };
-
- struct entry Tcptab[] =
-@@ -119,71 +119,71 @@
- {"RtoMin", "", number},
- {"RtoMax", "", number},
- {"MaxConn", "", number},
-- {"ActiveOpens", N_("%u active connections openings"), number},
-- {"PassiveOpens", N_("%u passive connection openings"), number},
-- {"AttemptFails", N_("%u failed connection attempts"), number},
-- {"EstabResets", N_("%u connection resets received"), number},
-- {"CurrEstab", N_("%u connections established"), number},
-- {"InSegs", N_("%u segments received"), number},
-- {"OutSegs", N_("%u segments send out"), number},
-- {"RetransSegs", N_("%u segments retransmited"), number},
-- {"InErrs", N_("%u bad segments received."), number},
-- {"OutRsts", N_("%u resets sent"), number},
-+ {"ActiveOpens", N_("%lu active connections openings"), number},
-+ {"PassiveOpens", N_("%lu passive connection openings"), number},
-+ {"AttemptFails", N_("%lu failed connection attempts"), number},
-+ {"EstabResets", N_("%lu connection resets received"), number},
-+ {"CurrEstab", N_("%lu connections established"), number},
-+ {"InSegs", N_("%lu segments received"), number},
-+ {"OutSegs", N_("%lu segments send out"), number},
-+ {"RetransSegs", N_("%lu segments retransmited"), number},
-+ {"InErrs", N_("%lu bad segments received."), number},
-+ {"OutRsts", N_("%lu resets sent"), number},
- };
-
- struct entry Udptab[] =
- {
-- {"InDatagrams", N_("%u packets received"), number},
-- {"NoPorts", N_("%u packets to unknown port received."), number},
-- {"InErrors", N_("%u packet receive errors"), number},
-- {"OutDatagrams", N_("%u packets sent"), number},
-+ {"InDatagrams", N_("%lu packets received"), number},
-+ {"NoPorts", N_("%lu packets to unknown port received."), number},
-+ {"InErrors", N_("%lu packet receive errors"), number},
-+ {"OutDatagrams", N_("%lu packets sent"), number},
- };
-
- struct entry Tcpexttab[] =
- {
-- {"SyncookiesSent", N_("%u SYN cookies sent"), opt_number},
-- {"SyncookiesRecv", N_("%u SYN cookies received"), opt_number},
-- {"SyncookiesFailed", N_("%u invalid SYN cookies received"), opt_number},
-+ {"SyncookiesSent", N_("%lu SYN cookies sent"), opt_number},
-+ {"SyncookiesRecv", N_("%lu SYN cookies received"), opt_number},
-+ {"SyncookiesFailed", N_("%lu invalid SYN cookies received"), opt_number},
-
-- { "EmbryonicRsts", N_("%u resets received for embryonic SYN_RECV sockets"),
-+ { "EmbryonicRsts", N_("%lu resets received for embryonic SYN_RECV sockets"),
- opt_number },
-- { "PruneCalled", N_("%u packets pruned from receive queue because of socket"
-+ { "PruneCalled", N_("%lu packets pruned from receive queue because of socket"
- " buffer overrun"), opt_number },
- /* obsolete: 2.2.0 doesn't do that anymore */
-- { "RcvPruned", N_("%u packets pruned from receive queue"), opt_number },
-- { "OfoPruned", N_("%u packets dropped from out-of-order queue because of"
-+ { "RcvPruned", N_("%lu packets pruned from receive queue"), opt_number },
-+ { "OfoPruned", N_("%lu packets dropped from out-of-order queue because of"
- " socket buffer overrun"), opt_number },
-- { "OutOfWindowIcmps", N_("%u ICMP packets dropped because they were "
-+ { "OutOfWindowIcmps", N_("%lu ICMP packets dropped because they were "
- "out-of-window"), opt_number },
-- { "LockDroppedIcmps", N_("%u ICMP packets dropped because"
-+ { "LockDroppedIcmps", N_("%lu ICMP packets dropped because"
- " socket was locked"), opt_number },
-- { "TW", N_("%u TCP sockets finished time wait in fast timer"), opt_number },
-- { "TWRecycled", N_("%u time wait sockets recycled by time stamp"), opt_number },
-- { "TWKilled", N_("%u TCP sockets finished time wait in slow timer"), opt_number },
-- { "PAWSPassive", N_("%u passive connections rejected because of"
-+ { "TW", N_("%lu TCP sockets finished time wait in fast timer"), opt_number },
-+ { "TWRecycled", N_("%lu time wait sockets recycled by time stamp"), opt_number },
-+ { "TWKilled", N_("%lu TCP sockets finished time wait in slow timer"), opt_number },
-+ { "PAWSPassive", N_("%lu passive connections rejected because of"
- " time stamp"), opt_number },
-- { "PAWSActive", N_("%u active connections rejected because of "
-+ { "PAWSActive", N_("%lu active connections rejected because of "
- "time stamp"), opt_number },
-- { "PAWSEstab", N_("%u packets rejects in established connections because of"
-+ { "PAWSEstab", N_("%lu packets rejects in established connections because of"
- " timestamp"), opt_number },
-- { "DelayedACKs", N_("%u delayed acks sent"), opt_number },
-- { "DelayedACKLocked", N_("%u delayed acks further delayed because of"
-+ { "DelayedACKs", N_("%lu delayed acks sent"), opt_number },
-+ { "DelayedACKLocked", N_("%lu delayed acks further delayed because of"
- " locked socket"), opt_number },
-- { "DelayedACKLost", N_("Quick ack mode was activated %u times"), opt_number },
-- { "ListenOverflows", N_("%u times the listen queue of a socket overflowed"),
-+ { "DelayedACKLost", N_("Quick ack mode was activated %lu times"), opt_number },
-+ { "ListenOverflows", N_("%lu times the listen queue of a socket overflowed"),
- opt_number },
-- { "ListenDrops", N_("%u SYNs to LISTEN sockets ignored"), opt_number },
-- { "TCPPrequeued", N_("%u packets directly queued to recvmsg prequeue."),
-+ { "ListenDrops", N_("%lu SYNs to LISTEN sockets ignored"), opt_number },
-+ { "TCPPrequeued", N_("%lu packets directly queued to recvmsg prequeue."),
- opt_number },
-- { "TCPDirectCopyFromBacklog", N_("%u packets directly received"
-+ { "TCPDirectCopyFromBacklog", N_("%lu packets directly received"
- " from backlog"), opt_number },
-- { "TCPDirectCopyFromPrequeue", N_("%u packets directly received"
-+ { "TCPDirectCopyFromPrequeue", N_("%lu packets directly received"
- " from prequeue"), opt_number },
-- { "TCPPrequeueDropped", N_("%u packets dropped from prequeue"), opt_number },
-- { "TCPHPHits", N_("%u packets header predicted"), number },
-- { "TCPHPHitsToUser", N_("%u packets header predicted and "
-+ { "TCPPrequeueDropped", N_("%lu packets dropped from prequeue"), opt_number },
-+ { "TCPHPHits", N_("%lu packets header predicted"), number },
-+ { "TCPHPHitsToUser", N_("%lu packets header predicted and "
- "directly queued to user"), opt_number },
-- { "SockMallocOOM", N_("Ran %u times out of system memory during "
-+ { "SockMallocOOM", N_("Ran %lu times out of system memory during "
- "packet sending"), opt_number },
- };
-
diff --git a/packages/net-tools/files/net-tools-1.60-virtualname.patch b/packages/net-tools/files/net-tools-1.60-virtualname.patch
deleted file mode 100644
index 326df1d4d1..0000000000
--- a/packages/net-tools/files/net-tools-1.60-virtualname.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- net-tools-1.60/lib/interface.c.virtualname 2001-02-10 20:31:15.000000000 +0100
-+++ net-tools-1.60/lib/interface.c 2003-08-19 13:18:01.000000000 +0200
-@@ -579,18 +579,18 @@
-
- void ife_print_short(struct interface *ptr)
- {
-- printf("%-5.5s ", ptr->name);
-- printf("%5d %3d", ptr->mtu, ptr->metric);
-+ printf("%-9.9s ", ptr->name);
-+ printf("%5d %3d ", ptr->mtu, ptr->metric);
- /* If needed, display the interface statistics. */
- if (ptr->statistics_valid) {
-- printf("%8llu %6lu %6lu %6lu",
-+ printf("%8llu %6lu %6lu %6lu ",
- ptr->stats.rx_packets, ptr->stats.rx_errors,
- ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors);
- printf("%8llu %6lu %6lu %6lu ",
- ptr->stats.tx_packets, ptr->stats.tx_errors,
- ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors);
- } else {
-- printf("%-56s", _(" - no statistics available -"));
-+ printf("%-60s", _(" - no statistics available -"));
- }
- /* DONT FORGET TO ADD THE FLAGS IN ife_print_long, too */
- if (ptr->flags == 0)
---- net-tools-1.60/netstat.c.virtualname 2001-04-15 16:41:17.000000000 +0200
-+++ net-tools-1.60/netstat.c 2003-08-19 13:18:34.000000000 +0200
-@@ -1449,7 +1449,7 @@
- }
- if (flag_exp < 2) {
- ife_short = 1;
-- printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
-+ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
- }
-
- if (for_all_interfaces(do_if_print, &flag_all) < 0) {