--- /dev/null
+drwxr-xr-x root/root bin/
+lrwxrwxrwx root/root bin/dnsdomainname -> hostname
+lrwxrwxrwx root/root bin/domainname -> hostname
+-rwxr-xr-x root/root bin/hostname
+-rwxr-xr-x root/root bin/netstat
+lrwxrwxrwx root/root bin/nisdomainname -> hostname
+lrwxrwxrwx root/root bin/ypdomainname -> hostname
+drwxr-xr-x root/root sbin/
+-rwxr-xr-x root/root sbin/arp
+-rwxr-xr-x root/root sbin/ifconfig
+-rwxr-xr-x root/root sbin/ipmaddr
+-rwxr-xr-x root/root sbin/iptunnel
+-rwxr-xr-x root/root sbin/mii-tool
+-rwxr-xr-x root/root sbin/nameif
+-rwxr-xr-x root/root sbin/plipconfig
+-rwxr-xr-x root/root sbin/rarp
+-rwxr-xr-x root/root sbin/route
+-rwxr-xr-x root/root sbin/slattach
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/man/
+drwxr-xr-x root/root usr/man/man1/
+-rw-r--r-- root/root usr/man/man1/dnsdomainname.1.gz
+-rw-r--r-- root/root usr/man/man1/domainname.1.gz
+-rw-r--r-- root/root usr/man/man1/hostname.1.gz
+-rw-r--r-- root/root usr/man/man1/nisdomainname.1.gz
+-rw-r--r-- root/root usr/man/man1/ypdomainname.1.gz
+drwxr-xr-x root/root usr/man/man5/
+-rw-r--r-- root/root usr/man/man5/ethers.5.gz
+drwxr-xr-x root/root usr/man/man8/
+-rw-r--r-- root/root usr/man/man8/arp.8.gz
+-rw-r--r-- root/root usr/man/man8/ifconfig.8.gz
+-rw-r--r-- root/root usr/man/man8/mii-tool.8.gz
+-rw-r--r-- root/root usr/man/man8/nameif.8.gz
+-rw-r--r-- root/root usr/man/man8/netstat.8.gz
+-rw-r--r-- root/root usr/man/man8/plipconfig.8.gz
+-rw-r--r-- root/root usr/man/man8/rarp.8.gz
+-rw-r--r-- root/root usr/man/man8/route.8.gz
+-rw-r--r-- root/root usr/man/man8/slattach.8.gz
--- /dev/null
+830e6f4e684836ba37490466f76291ea net-tools-1.60-arp.patch
+60fc4a56b77b1eed2edb1b5ec36811c2 net-tools-1.60-compile_fixes.patch
+e6bac543b1ecd00dce441e01a36803e8 net-tools-1.60-config.patch
+ad589817be77ec4a62d58c5b3da854c4 net-tools-1.60-ipv6.patch
+a118ce66a9f4434eea1132616d641360 net-tools-1.60-man.patch
+87b0463b53d19acb3fb64cbcc782f530 net-tools-1.60-manydevs.patch
+b5dac908351a917214afc7ce1e50785b net-tools-1.60-miiioctl.patch
+1f12d84c3543e8b9a605a5e47d72d907 net-tools-1.60-nameif.patch
+7372c2824f687adbae15d415cfb50c51 net-tools-1.60-virtualname.patch
+888774accab40217dde927e21979c165 net-tools-1.60.tar.bz2
--- /dev/null
+# Description: Network utilities
+# URL: http://www.tazenda.demon.co.uk/phil/net-tools/
+# Maintainer: CRUX System Team, core-ports at crux dot nu
+# Arch Maintainer: CRUX-ARM System Team, devel at crux-arm dot nu
+# Depends on:
+
+name=net-tools
+version=1.60
+release=6
+source=(http://www.tazenda.demon.co.uk/phil/net-tools/$name-$version.tar.bz2 \
+ $name-$version-config.patch \
+ $name-$version-compile_fixes.patch \
+ $name-$version-arp.patch \
+ $name-$version-man.patch \
+ $name-$version-nameif.patch \
+ $name-$version-manydevs.patch \
+ $name-$version-virtualname.patch \
+ $name-$version-ipv6.patch \
+ $name-$version-miiioctl.patch)
+
+build() {
+ cd $name-$version
+ patch -p1 < ../$name-$version-config.patch
+ patch -p1 < ../$name-$version-compile_fixes.patch
+ patch -p1 < ../$name-$version-arp.patch
+ patch -p1 < ../$name-$version-man.patch
+ patch -p1 < ../$name-$version-nameif.patch
+ patch -p1 < ../$name-$version-manydevs.patch
+ patch -p1 < ../$name-$version-virtualname.patch
+ patch -p1 < ../$name-$version-ipv6.patch
+ patch -p1 < ../$name-$version-miiioctl.patch
+ find -name "*.c" -o -name "*.h"|while read src; do
+ sed -i "s%<linux/if_ether.h>%<netinet/if_ether.h>%" $src
+ sed -i "s%<linux/if_tr.h>%<netinet/if_tr.h>%" $src
+ sed -i "s%<linux/if_fddi.h>%<netinet/if_fddi.h>%" $src
+ done
+ make COPTS="$CFLAGS -D_GNU_SOURCE -Wall"
+ make BASEDIR=$PKG mandir=/usr/man install
+}
--- /dev/null
+From Rawhide. Allows ARP to display in a Linux style.
+
+diff -Naur net-tools-1.60.orig/arp.c net-tools-1.60/arp.c
+--- net-tools-1.60.orig/arp.c 2001-04-08 17:05:05.000000000 +0000
++++ net-tools-1.60/arp.c 2003-09-12 22:36:51.000000000 +0000
+@@ -619,6 +619,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"));
+diff -Naur net-tools-1.60.orig/man/en_US/arp.8 net-tools-1.60/man/en_US/arp.8
+--- net-tools-1.60.orig/man/en_US/arp.8 2000-10-28 10:59:42.000000000 +0000
++++ net-tools-1.60/man/en_US/arp.8 2003-09-12 22:36:51.000000000 +0000
+@@ -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
+@@ -92,6 +93,9 @@
+ .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
+ the specified interface will be printed. When setting a permanent or
--- /dev/null
+diff -Nru 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 2003-11-08 02:11:31.000000000 +0100
+@@ -379,17 +379,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,
+- (to advertise both HD and FD) 100baseTx, 10baseT\n";
++"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 -ru net-tools-1.60/lib/x25_sr.c net-tools-1.60-new/lib/x25_sr.c
+--- net-tools-1.60/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
++++ net-tools-1.60-new/lib/x25_sr.c 2004-04-30 23:37:10.536499600 +0200
+@@ -77,7 +77,7 @@
+ rt.sigdigits=sigdigits;
+
+ /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
+- memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
++ memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address));
+
+ while (*args) {
+ if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
+diff -ru net-tools-1.60/lib/inet6_sr.c net-tools-1.60-new/lib/inet6_sr.c
+--- net-tools-1.60/lib/inet6_sr.c 2000-05-22 23:18:37.000000000 +0200
++++ net-tools-1.60-new/lib/inet6_sr.c 2004-04-30 23:48:24.146095376 +0200
+@@ -32,6 +32,7 @@
+ #include "net-support.h"
+ #include "pathnames.h"
+ #include "intl.h"
++#include "util.h"
+ #include "net-features.h"
+
+
+diff -ru net-tools-1.60/lib/inet_sr.c net-tools-1.60-new/lib/inet_sr.c
+--- net-tools-1.60/lib/inet_sr.c 2000-02-20 22:46:45.000000000 +0100
++++ net-tools-1.60-new/lib/inet_sr.c 2004-05-01 00:01:21.358941064 +0200
+@@ -105,6 +105,7 @@
+ case 2:
+ isnet = 0; break;
+ default:
++ break;
+ }
+
+ /* Fill in the other fields. */
+diff -ru net-tools-1.60/hostname.c net-tools-1.60-new/hostname.c
+--- net-tools-1.60/hostname.c 2001-04-08 19:04:23.000000000 +0200
++++ net-tools-1.60-new/hostname.c 2004-05-01 00:03:32.373023896 +0200
+@@ -31,6 +31,7 @@
+ * your option) any later version.
+ */
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <getopt.h>
+ #include <string.h>
+@@ -78,6 +79,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ break;
+ }
+ exit(1);
+ }
+@@ -98,6 +100,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ break;
+ }
+ exit(1);
+ };
+@@ -117,6 +120,7 @@
+ fprintf(stderr, _("%s: name too long\n"), program_name);
+ break;
+ default:
++ break;
+ }
+ exit(1);
+ };
+@@ -174,6 +178,7 @@
+ printf("%s\n", hp->h_name);
+ break;
+ default:
++ break;
+ }
+ }
+
+@@ -330,7 +335,7 @@
+ case 'h':
+ default:
+ usage();
+-
++ break;
+ };
+
+
--- /dev/null
+diff -Nru net-tools-1.60/config.h net-tools-1.60-new/config.h
+--- net-tools-1.60/config.h 1970-01-01 01:00:00.000000000 +0100
++++ net-tools-1.60-new/config.h 2003-11-08 02:11:23.000000000 +0100
+@@ -0,0 +1,74 @@
++/*
++* 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 1
++#define HAVE_AFATALK 1
++#define HAVE_AFAX25 1
++#define HAVE_AFNETROM 1
++#define HAVE_AFROSE 0
++#define HAVE_AFX25 1
++#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 1
++#define HAVE_HWROSE 0
++#define HAVE_HWNETROM 1
++#define HAVE_HWX25 1
++#define HAVE_HWFR 1
++#define HAVE_HWSIT 1
++#define HAVE_HWFDDI 0
++#define HAVE_HWHIPPI 0
++#define HAVE_HWASH 0
++#define HAVE_HWHDLCLAPB 0
++#define HAVE_HWIRDA 1
++#define HAVE_HWEC 0
++
++/*
++ *
++ * Other Features.
++ *
++ */
++#define HAVE_FW_MASQUERADE 1
++#define HAVE_IP_TOOLS 1
++#define HAVE_MII 1
+diff -Nru net-tools-1.60/config.make net-tools-1.60-new/config.make
+--- net-tools-1.60/config.make 1970-01-01 01:00:00.000000000 +0100
++++ net-tools-1.60-new/config.make 2003-11-08 02:11:23.000000000 +0100
+@@ -0,0 +1,35 @@
++# I18N=0
++HAVE_AFUNIX=1
++HAVE_AFINET=1
++HAVE_AFINET6=1
++HAVE_AFIPX=1
++HAVE_AFATALK=1
++HAVE_AFAX25=1
++HAVE_AFNETROM=1
++# HAVE_AFROSE=0
++HAVE_AFX25=1
++# 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=1
++# HAVE_HWROSE=0
++HAVE_HWNETROM=1
++HAVE_HWX25=1
++HAVE_HWFR=1
++HAVE_HWSIT=1
++# HAVE_HWFDDI=0
++# HAVE_HWHIPPI=0
++# HAVE_HWASH=0
++# HAVE_HWHDLCLAPB=0
++HAVE_HWIRDA=1
++# HAVE_HWEC=0
++HAVE_FW_MASQUERADE=1
++HAVE_IP_TOOLS=1
++HAVE_MII=1
+diff -Nru net-tools-1.60/config.status net-tools-1.60-new/config.status
+--- net-tools-1.60/config.status 1970-01-01 01:00:00.000000000 +0100
++++ net-tools-1.60-new/config.status 2003-11-08 02:11:23.000000000 +0100
+@@ -0,0 +1,91 @@
++#
++# config.in Configure.sh source for the net-tools.
++# This file contains the definition of what the support
++# library contains. Most of all, it defines which types
++# of address families and hardware we know of.
++#
++# NET-TOOLS A collection of programs that form the base set of the
++# NET-3 Networking Distribution for the LINUX operating
++# system.
++#
++# Version: config.in 1.22 (99-04-19)
++#
++# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
++# Copyright 1988-1993 MicroWalt Corporation
++#
++# Bernd 'eckes' Eckenfels <net-tools@lina.inka.de>
++# Arnaldo Carvalho de Melo <acme@conectiva.com.br>
++# GNU gettext - I18N
++#
++# 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.
++#
++= /*
++= * 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.
++*
++bool 'Does your system support GNU gettext?' I18N n
++*
++*
++* Protocol Families.
++*
++bool 'UNIX protocol family' HAVE_AFUNIX y
++bool 'INET (TCP/IP) protocol family' HAVE_AFINET y
++bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y
++bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y
++bool 'Appletalk DDP protocol family' HAVE_AFATALK y
++bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y
++bool 'NET/ROM (packet radio) protocol family' HAVE_AFNETROM y
++bool 'Rose (packet radio) protocol family' HAVE_AFROSE n
++bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y
++bool 'Econet protocol family' HAVE_AFECONET n
++bool 'DECnet protocol family' HAVE_AFDECnet n
++bool 'Ash protocol family' HAVE_AFASH n
++*
++*
++* Device Hardware types.
++*
++bool 'Ethernet (generic) support' HAVE_HWETHER y
++bool 'ARCnet support' HAVE_HWARC y
++bool 'SLIP (serial line) support' HAVE_HWSLIP y
++bool 'PPP (serial line) support' HAVE_HWPPP y
++bool 'IPIP Tunnel support' HAVE_HWTUNNEL y
++bool 'STRIP (Metricom radio) support' HAVE_HWSTRIP y
++bool 'Token ring (generic) support' HAVE_HWTR y
++bool 'AX25 (packet radio) support' HAVE_HWAX25 y
++bool 'Rose (packet radio) support' HAVE_HWROSE n
++bool 'NET/ROM (packet radio) support' HAVE_HWNETROM y
++bool 'X.25 (generic) support' HAVE_HWX25 y
++bool 'DLCI/FRAD (frame relay) support' HAVE_HWFR y
++bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT y
++bool 'FDDI (generic) support' HAVE_HWFDDI n
++bool 'HIPPI (generic) support' HAVE_HWHIPPI n
++bool 'Ash hardware support' HAVE_HWASH n
++bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB n
++bool 'IrDA support' HAVE_HWIRDA y
++bool 'Econet hardware support' HAVE_HWEC n
++*
++*
++* Other Features.
++*
++bool 'IP Masquerading support' HAVE_FW_MASQUERADE y
++bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y
++bool 'Build mii-tool' HAVE_MII y
--- /dev/null
+From Rawhide. Fixes IPV6 Lookup.
+
+diff -Naur net-tools-1.60.orig/lib/inet6.c net-tools-1.60/lib/inet6.c
+--- net-tools-1.60.orig/lib/inet6.c 2000-10-28 11:04:00.000000000 +0000
++++ net-tools-1.60/lib/inet6.c 2003-09-12 22:40:45.000000000 +0000
+@@ -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));
+ }
+
+
+diff -Naur net-tools-1.60.orig/lib/inet6_gr.c net-tools-1.60/lib/inet6_gr.c
+--- net-tools-1.60.orig/lib/inet6_gr.c 2001-04-01 14:48:06.000000000 +0000
++++ net-tools-1.60/lib/inet6_gr.c 2003-09-12 22:40:45.000000000 +0000
+@@ -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");
+diff -Naur net-tools-1.60.orig/lib/inet6_sr.c net-tools-1.60/lib/inet6_sr.c
+--- net-tools-1.60.orig/lib/inet6_sr.c 2000-05-22 21:18:37.000000000 +0000
++++ net-tools-1.60/lib/inet6_sr.c 2003-09-12 22:40:45.000000000 +0000
+@@ -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");
--- /dev/null
+From Rawhide. Removes nodename from Hostname man page.
+
+diff -Naur net-tools-1.60.orig/man/en_US/hostname.1 net-tools-1.60/man/en_US/hostname.1
+--- net-tools-1.60.orig/man/en_US/hostname.1 1999-02-27 12:11:14.000000000 +0000
++++ net-tools-1.60/man/en_US/hostname.1 2003-09-12 22:44:09.000000000 +0000
+@@ -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
--- /dev/null
+From Rawhide. Allows check of multiple devices.
+
+diff -Naur net-tools-1.60.orig/lib/nstrcmp.c net-tools-1.60/lib/nstrcmp.c
+--- net-tools-1.60.orig/lib/nstrcmp.c 1999-01-09 15:55:20.000000000 +0000
++++ net-tools-1.60/lib/nstrcmp.c 2003-09-12 22:46:13.000000000 +0000
+@@ -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)) {
--- /dev/null
+From Rawhide. Updates mii ioctls.
+
+diff -Naur net-tools-1.60.orig/include/mii.h net-tools-1.60/include/mii.h
+--- net-tools-1.60.orig/include/mii.h 2000-05-21 14:21:27.000000000 +0000
++++ net-tools-1.60/include/mii.h 2003-09-12 22:47:27.000000000 +0000
+@@ -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>
--- /dev/null
+From Rawhide. Fix for when the wrong device information is shown.
+
+diff -Naur net-tools-1.60.orig/nameif.c net-tools-1.60/nameif.c
+--- net-tools-1.60.orig/nameif.c 2000-10-18 17:26:29.000000000 +0000
++++ net-tools-1.60/nameif.c 2003-09-12 22:48:57.000000000 +0000
+@@ -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);
+ }
+
--- /dev/null
+From Rawhide. Show Virtual Name in netstat.
+
+diff -Naur net-tools-1.60.orig/lib/interface.c net-tools-1.60/lib/interface.c
+--- net-tools-1.60.orig/lib/interface.c 2001-02-10 19:31:15.000000000 +0000
++++ net-tools-1.60/lib/interface.c 2003-09-12 22:50:35.000000000 +0000
+@@ -579,7 +579,7 @@
+
+ void ife_print_short(struct interface *ptr)
+ {
+- printf("%-5.5s ", ptr->name);
++ printf("%-9.8s ", ptr->name);
+ printf("%5d %3d", ptr->mtu, ptr->metric);
+ /* If needed, display the interface statistics. */
+ if (ptr->statistics_valid) {
+diff -Naur net-tools-1.60.orig/netstat.c net-tools-1.60/netstat.c
+--- net-tools-1.60.orig/netstat.c 2003-09-12 22:43:54.000000000 +0000
++++ net-tools-1.60/netstat.c 2003-09-12 22:50:35.000000000 +0000
+@@ -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) {