CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
net-tools: added port to manage net interfaces under crossrootfs avoiding iptables...
authorVictor Martinez <pitillo@ono.com>
Wed, 15 Oct 2014 09:49:14 +0000 (09:49 +0000)
committerVictor Martinez <pitillo@ono.com>
Wed, 15 Oct 2014 09:49:14 +0000 (09:49 +0000)
12 files changed:
net-tools/.footprint [new file with mode: 0644]
net-tools/.md5sum [new file with mode: 0644]
net-tools/Pkgfile [new file with mode: 0644]
net-tools/net-tools-1.60-arp.patch [new file with mode: 0644]
net-tools/net-tools-1.60-compile_fixes.patch [new file with mode: 0644]
net-tools/net-tools-1.60-config.patch [new file with mode: 0644]
net-tools/net-tools-1.60-ipv6.patch [new file with mode: 0644]
net-tools/net-tools-1.60-man.patch [new file with mode: 0644]
net-tools/net-tools-1.60-manydevs.patch [new file with mode: 0644]
net-tools/net-tools-1.60-miiioctl.patch [new file with mode: 0644]
net-tools/net-tools-1.60-nameif.patch [new file with mode: 0644]
net-tools/net-tools-1.60-virtualname.patch [new file with mode: 0644]

diff --git a/net-tools/.footprint b/net-tools/.footprint
new file mode 100644 (file)
index 0000000..0e2cf52
--- /dev/null
@@ -0,0 +1,38 @@
+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
diff --git a/net-tools/.md5sum b/net-tools/.md5sum
new file mode 100644 (file)
index 0000000..d0d48f9
--- /dev/null
@@ -0,0 +1,10 @@
+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
diff --git a/net-tools/Pkgfile b/net-tools/Pkgfile
new file mode 100644 (file)
index 0000000..a798436
--- /dev/null
@@ -0,0 +1,39 @@
+# 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
+}
diff --git a/net-tools/net-tools-1.60-arp.patch b/net-tools/net-tools-1.60-arp.patch
new file mode 100644 (file)
index 0000000..6dd53cd
--- /dev/null
@@ -0,0 +1,54 @@
+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
diff --git a/net-tools/net-tools-1.60-compile_fixes.patch b/net-tools/net-tools-1.60-compile_fixes.patch
new file mode 100644 (file)
index 0000000..132d4e0
--- /dev/null
@@ -0,0 +1,118 @@
+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;
+       };
diff --git a/net-tools/net-tools-1.60-config.patch b/net-tools/net-tools-1.60-config.patch
new file mode 100644 (file)
index 0000000..34d57d9
--- /dev/null
@@ -0,0 +1,212 @@
+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
diff --git a/net-tools/net-tools-1.60-ipv6.patch b/net-tools/net-tools-1.60-ipv6.patch
new file mode 100644 (file)
index 0000000..3764f3d
--- /dev/null
@@ -0,0 +1,86 @@
+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");
diff --git a/net-tools/net-tools-1.60-man.patch b/net-tools/net-tools-1.60-man.patch
new file mode 100644 (file)
index 0000000..b02068f
--- /dev/null
@@ -0,0 +1,39 @@
+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
diff --git a/net-tools/net-tools-1.60-manydevs.patch b/net-tools/net-tools-1.60-manydevs.patch
new file mode 100644 (file)
index 0000000..a4cb0b4
--- /dev/null
@@ -0,0 +1,16 @@
+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)) {
diff --git a/net-tools/net-tools-1.60-miiioctl.patch b/net-tools/net-tools-1.60-miiioctl.patch
new file mode 100644 (file)
index 0000000..eb2ab20
--- /dev/null
@@ -0,0 +1,20 @@
+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>
diff --git a/net-tools/net-tools-1.60-nameif.patch b/net-tools/net-tools-1.60-nameif.patch
new file mode 100644 (file)
index 0000000..a742a8e
--- /dev/null
@@ -0,0 +1,61 @@
+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); 
+       }
diff --git a/net-tools/net-tools-1.60-virtualname.patch b/net-tools/net-tools-1.60-virtualname.patch
new file mode 100644 (file)
index 0000000..e768e1f
--- /dev/null
@@ -0,0 +1,26 @@
+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) {