summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArkadiusz Miśkiewicz2009-07-05 17:26:10 (GMT)
committercvs2git2012-06-24 12:13:13 (GMT)
commita9137a03c96ecd53cbf2fab3f8f3a84cadabb76c (patch)
tree98d459294986b865fd8ab7fd97032ba5990008eb
parent56164508d0d1a7b236e47f46388f0b7d84dc03f4 (diff)
downloadnet-tools-a9137a03c96ecd53cbf2fab3f8f3a84cadabb76c.zip
net-tools-a9137a03c96ecd53cbf2fab3f8f3a84cadabb76c.tar.gz
- drop obsolete files
Changed files: net-tools-branch.diff -> 1.4 net-tools-netstat-stat.patch -> 1.2
-rw-r--r--net-tools-branch.diff8742
-rw-r--r--net-tools-netstat-stat.patch10
2 files changed, 0 insertions, 8752 deletions
diff --git a/net-tools-branch.diff b/net-tools-branch.diff
deleted file mode 100644
index cc4e299..0000000
--- a/net-tools-branch.diff
+++ /dev/null
@@ -1,8742 +0,0 @@
---- net-tools-1.60/arp.c 2001-04-08 19:05:05.000000000 +0200
-+++ net-tools/arp.c 2005-12-04 04:57:15.000000000 +0200
-@@ -8,7 +8,7 @@
- * NET-3 Networking Distribution for the LINUX operating
- * system.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
- *
-@@ -100,9 +100,10 @@
- {
- char host[128];
- struct arpreq req;
-- struct sockaddr sa;
-+ struct sockaddr_storage ss;
-+ struct sockaddr *sa;
- int flags = 0;
-- int err;
-+ int deleted = 0;
-
- memset((char *) &req, 0, sizeof(req));
-
-@@ -112,12 +113,13 @@
- return (-1);
- }
- safe_strncpy(host, *args, (sizeof host));
-- if (ap->input(0, host, &sa) < 0) {
-+ sa = (struct sockaddr *)&ss;
-+ if (ap->input(0, host, sa) < 0) {
- ap->herror(host);
- return (-1);
- }
- /* If a host has more than one address, use the correct one! */
-- memcpy((char *) &req.arp_pa, (char *) &sa, sizeof(struct sockaddr));
-+ memcpy((char *) &req.arp_pa, (char *) sa, sizeof(struct sockaddr));
-
- if (hw_set)
- req.arp_ha.sa_family = hw->type;
-@@ -148,7 +150,7 @@
- continue;
- }
- if (!strcmp(*args, "dontpub")) {
--#ifdef HAVE_ATF_DONTPUB
-+#ifdef ATF_DONTPUB
- req.arp_flags |= ATF_DONTPUB;
- #else
- ENOSUPP("arp", "ATF_DONTPUB");
-@@ -157,7 +159,7 @@
- continue;
- }
- if (!strcmp(*args, "auto")) {
--#ifdef HAVE_ATF_MAGIC
-+#ifdef ATF_MAGIC
- req.arp_flags |= ATF_MAGIC;
- #else
- ENOSUPP("arp", "ATF_MAGIC");
-@@ -177,11 +179,11 @@
- usage();
- if (strcmp(*args, "255.255.255.255") != 0) {
- strcpy(host, *args);
-- if (ap->input(0, host, &sa) < 0) {
-+ if (ap->input(0, host, sa) < 0) {
- ap->herror(host);
- return (-1);
- }
-- memcpy((char *) &req.arp_netmask, (char *) &sa,
-+ memcpy((char *) &req.arp_netmask, (char *) sa,
- sizeof(struct sockaddr));
- req.arp_flags |= ATF_NETMASK;
- }
-@@ -190,35 +192,41 @@
- }
- usage();
- }
-+
-+ // if neighter priv nor pub is given, work on both
- if (flags == 0)
- flags = 3;
-
- strcpy(req.arp_dev, device);
-
-- err = -1;
-+ /* unfortuatelly the kernel interface does not allow us to
-+ delete private entries anlone, so we need this hack
-+ to avoid "not found" errors if we try both. */
-+ deleted = 0;
-
- /* Call the kernel. */
- if (flags & 2) {
- if (opt_v)
-- fprintf(stderr, "arp: SIOCDARP(nopub)\n");
-- if ((err = ioctl(sockfd, SIOCDARP, &req) < 0)) {
-- if (errno == ENXIO) {
-+ fprintf(stderr, "arp: SIOCDARP(dontpub)\n");
-+ if (ioctl(sockfd, SIOCDARP, &req) < 0) {
-+ if ((errno == ENXIO) || (errno == ENOENT)) {
- if (flags & 1)
-- goto nopub;
-+ goto dontpub;
- printf(_("No ARP entry for %s\n"), host);
- return (-1);
- }
-- perror("SIOCDARP(priv)");
-+ perror("SIOCDARP(dontpub)");
- return (-1);
-- }
-+ } else
-+ deleted = 1;
- }
-- if ((flags & 1) && (err)) {
-- nopub:
-+ if (!deleted && (flags & 1)) {
-+ dontpub:
- req.arp_flags |= ATF_PUBL;
- if (opt_v)
- fprintf(stderr, "arp: SIOCDARP(pub)\n");
- if (ioctl(sockfd, SIOCDARP, &req) < 0) {
-- if (errno == ENXIO) {
-+ if ((errno == ENXIO) || (errno == ENOENT)) {
- printf(_("No ARP entry for %s\n"), host);
- return (-1);
- }
-@@ -260,7 +268,8 @@
- {
- char host[128];
- struct arpreq req;
-- struct sockaddr sa;
-+ struct sockaddr_storage ss;
-+ struct sockaddr *sa;
- int flags;
-
- memset((char *) &req, 0, sizeof(req));
-@@ -271,12 +280,13 @@
- return (-1);
- }
- safe_strncpy(host, *args++, (sizeof host));
-- if (ap->input(0, host, &sa) < 0) {
-+ sa = (struct sockaddr *)&ss;
-+ if (ap->input(0, host, sa) < 0) {
- ap->herror(host);
- return (-1);
- }
- /* If a host has more than one address, use the correct one! */
-- memcpy((char *) &req.arp_pa, (char *) &sa, sizeof(struct sockaddr));
-+ memcpy((char *) &req.arp_pa, (char *) sa, sizeof(struct sockaddr));
-
- /* Fetch the hardware address. */
- if (*args == NULL) {
-@@ -317,7 +327,7 @@
- continue;
- }
- if (!strcmp(*args, "dontpub")) {
--#ifdef HAVE_ATF_DONTPUB
-+#ifdef ATF_DONTPUB
- flags |= ATF_DONTPUB;
- #else
- ENOSUPP("arp", "ATF_DONTPUB");
-@@ -326,7 +336,7 @@
- continue;
- }
- if (!strcmp(*args, "auto")) {
--#ifdef HAVE_ATF_MAGIC
-+#ifdef ATF_MAGIC
- flags |= ATF_MAGIC;
- #else
- ENOSUPP("arp", "ATF_MAGIC");
-@@ -346,11 +356,11 @@
- usage();
- if (strcmp(*args, "255.255.255.255") != 0) {
- strcpy(host, *args);
-- if (ap->input(0, host, &sa) < 0) {
-+ if (ap->input(0, host, sa) < 0) {
- ap->herror(host);
- return (-1);
- }
-- memcpy((char *) &req.arp_netmask, (char *) &sa,
-+ memcpy((char *) &req.arp_netmask, (char *) sa,
- sizeof(struct sockaddr));
- flags |= ATF_NETMASK;
- }
-@@ -445,11 +455,11 @@
- strcat(flags, "M");
- if (arp_flags & ATF_PUBL)
- strcat(flags, "P");
--#ifdef HAVE_ATF_MAGIC
-+#ifdef ATF_MAGIC
- if (arp_flags & ATF_MAGIC)
- strcat(flags, "A");
- #endif
--#ifdef HAVE_ATF_DONTPUB
-+#ifdef ATF_DONTPUB
- if (arp_flags & ATF_DONTPUB)
- strcat(flags, "!");
- #endif
-@@ -463,7 +473,7 @@
-
- if (!(arp_flags & ATF_COM)) {
- if (arp_flags & ATF_PUBL)
-- printf("%-8.8s%-20.20s", "*", "*");
-+ printf("%-8.8s%-20.20s", "*", _("<from_interface>"));
- else
- printf("%-8.8s%-20.20s", "", _("(incomplete)"));
- } else {
-@@ -486,7 +496,7 @@
-
- if (!(arp_flags & ATF_COM)) {
- if (arp_flags & ATF_PUBL)
-- printf("* ");
-+ printf("<from_interface> ");
- else
- printf(_("<incomplete> "));
- } else {
-@@ -499,12 +509,12 @@
- if (arp_flags & ATF_PERM)
- printf("PERM ");
- if (arp_flags & ATF_PUBL)
-- printf("PUP ");
--#ifdef HAVE_ATF_MAGIC
-+ printf("PUB ");
-+#ifdef ATF_MAGIC
- if (arp_flags & ATF_MAGIC)
- printf("AUTO ");
- #endif
--#ifdef HAVE_ATF_DONTPUB
-+#ifdef ATF_DONTPUB
- if (arp_flags & ATF_DONTPUB)
- printf("DONTPUB ");
- #endif
-@@ -519,7 +529,8 @@
- static int arp_show(char *name)
- {
- char host[100];
-- struct sockaddr sa;
-+ struct sockaddr_storage ss;
-+ struct sockaddr *sa;
- char ip[100];
- char hwa[100];
- char mask[100];
-@@ -532,14 +543,15 @@
-
- host[0] = '\0';
-
-+ sa = (struct sockaddr *)&ss;
- if (name != NULL) {
- /* Resolve the host name. */
- safe_strncpy(host, name, (sizeof host));
-- if (ap->input(0, host, &sa) < 0) {
-+ if (ap->input(0, host, sa) < 0) {
- ap->herror(host);
- return (-1);
- }
-- safe_strncpy(host, ap->sprint(&sa, 1), sizeof(host));
-+ safe_strncpy(host, ap->sprint(sa, 1), sizeof(host));
- }
- /* Open the PROCps kernel table. */
- if ((fp = fopen(_PATH_PROCNET_ARP, "r")) == NULL) {
-@@ -575,10 +587,10 @@
- if (opt_n)
- hostname = "?";
- else {
-- if (ap->input(0, ip, &sa) < 0)
-+ if (ap->input(0, ip, sa) < 0)
- hostname = ip;
- else
-- hostname = ap->sprint(&sa, opt_n | 0x8000);
-+ hostname = ap->sprint(sa, opt_n | 0x8000);
- if (strcmp(hostname, ip) == 0)
- hostname = "?";
- }
-@@ -612,11 +624,10 @@
- static void usage(void)
- {
- fprintf(stderr, _("Usage:\n arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP cache\n"));
-- fprintf(stderr, _(" arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP entry\n"));
-- fprintf(stderr, _(" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from file\n"));
-- fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add entry\n"));
-- fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub <-''-\n"));
-- fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub <-''-\n\n"));
-+ fprintf(stderr, _(" arp [-v] [-i <if>] -d <host> [pub] <-Delete ARP entry\n"));
-+ fprintf(stderr, _(" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from file\n"));
-+ fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp] <-Add entry\n"));
-+ fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub <-''-\n\n"));
-
- fprintf(stderr, _(" -a display (all) hosts in alternative (BSD) style\n"));
- fprintf(stderr, _(" -s, --set set a new ARP entry\n"));
---- net-tools-1.60/config.in 2000-05-21 16:32:12.000000000 +0200
-+++ net-tools/config.in 2004-06-04 03:06:50.000000000 +0300
-@@ -49,16 +49,16 @@
- *
- bool 'UNIX protocol family' HAVE_AFUNIX y
- bool 'INET (TCP/IP) protocol family' HAVE_AFINET y
--bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 n
-+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 'Rose (packet radio) protocol family' HAVE_AFROSE y
- bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y
--bool 'Econet protocol family' HAVE_AFECONET n
-+bool 'Econet protocol family' HAVE_AFECONET y
- bool 'DECnet protocol family' HAVE_AFDECnet n
--bool 'Ash protocol family' HAVE_AFASH n
-+bool 'Ash protocol family' HAVE_AFASH y
- *
- *
- * Device Hardware types.
-@@ -71,21 +71,23 @@
- 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 'Rose (packet radio) support' HAVE_HWROSE y
- 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 n
--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 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT y
-+bool 'FDDI (generic) support' HAVE_HWFDDI y
-+bool 'HIPPI (generic) support' HAVE_HWHIPPI y
-+bool 'Ash hardware support' HAVE_HWASH y
-+bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB y
- bool 'IrDA support' HAVE_HWIRDA y
--bool 'Econet hardware support' HAVE_HWEC n
-+bool 'Econet hardware support' HAVE_HWEC y
-+bool 'Generic EUI-64 hardware support' HAVE_HWEUI64 y
-+
- *
- *
- * Other Features.
- *
--bool 'IP Masquerading support' HAVE_FW_MASQUERADE n
--bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS n
--bool 'Build mii-tool' HAVE_MII n
-+bool 'IP Masquerading support' HAVE_FW_MASQUERADE y
-+bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y
-+bool 'Build mii-tool' HAVE_MII y
---- net-tools-1.60/hostname.c 2001-04-08 19:04:23.000000000 +0200
-+++ net-tools/hostname.c 2003-10-12 00:08:10.000000000 +0300
-@@ -9,20 +9,19 @@
- * dnsdmoainname
- * nisdomainname {name|-F file}
- *
-- * Version: hostname 1.96 (1996-02-18)
-+ * Version: hostname 1.101 (2003-10-11)
- *
- * Author: Peter Tobias <tobias@et-inf.fho-emden.de>
- *
- * Changes:
-- * {1.90} Peter Tobias : Added -a and -i options.
-- * {1.91} Bernd Eckenfels : -v,-V rewritten, long_opts
-- * (major rewrite), usage.
-- *960120 {1.95} Bernd Eckenfels : -y/nisdomainname - support for get/
-- * setdomainname added
-- *960218 {1.96} Bernd Eckenfels : netinet/in.h added
-- *980629 {1.97} Arnaldo Carvalho de Melo : gettext instead of catgets for i18n
-- *20000213 {1.99} Arnaldo Carvalho de Melo : fixed some i18n strings
-+ * {1.90} Peter Tobias : Added -a and -i options.
-+ * {1.91} Bernd Eckenfels : -v,-V rewritten, long_opts (major rewrite), usage.
-+ *19960120 {1.95} Bernd Eckenfels : -y/nisdomainname - support for get/setdomainname added
-+ *19960218 {1.96} Bernd Eckenfels : netinet/in.h added
-+ *19980629 {1.97} Arnaldo Carvalho de Melo : gettext instead of catgets for i18n
-+ *20000213 {1.99} Arnaldo Carvalho de Melo : fixed some i18n strings
- *20010404 {1.100} Arnaldo Carvalho de Melo: use setlocale
-+ *20031011 {1.101} Maik Broemme: gcc 3.x fixes (default: break)
- *
- * This program is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General
-@@ -31,7 +30,9 @@
- * your option) any later version.
- */
- #include <stdio.h>
-+#include <stdlib.h>
- #include <unistd.h>
-+#include <stdlib.h>
- #include <getopt.h>
- #include <string.h>
- #include <netdb.h>
-@@ -78,6 +79,7 @@
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
- default:
-+ break;
- }
- exit(1);
- }
-@@ -97,7 +99,6 @@
- case EINVAL:
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
-- default:
- }
- exit(1);
- };
-@@ -116,7 +117,6 @@
- case EINVAL:
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
-- default:
- }
- exit(1);
- };
-@@ -173,7 +173,6 @@
- *p = '\0';
- printf("%s\n", hp->h_name);
- break;
-- default:
- }
- }
-
-@@ -326,11 +325,12 @@
- break;
- case 'V':
- version();
-+ break; // not reached
- case '?':
- case 'h':
- default:
- usage();
--
-+ break; // not reached
- };
-
-
---- net-tools-1.60/ifconfig.c 2001-04-13 20:25:18.000000000 +0200
-+++ net-tools/ifconfig.c 2002-12-10 02:56:41.000000000 +0200
-@@ -3,7 +3,7 @@
- * that either displays or sets the characteristics of
- * one or more of the system's networking interfaces.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- * and others. Copyright 1993 MicroWalt Corporation
-@@ -88,7 +88,6 @@
- char *Release = RELEASE, *Version = "ifconfig 1.42 (2001-04-13)";
-
- int opt_a = 0; /* show all interfaces */
--int opt_i = 0; /* show the statistics */
- int opt_v = 0; /* debugging output flag */
-
- int addr_family = 0; /* currently selected AF */
-@@ -105,7 +104,7 @@
- int res;
-
- if (ife_short)
-- 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 (!ifname) {
- res = for_all_interfaces(do_if_print, &opt_a);
-@@ -127,7 +126,7 @@
-
- safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
- if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) {
-- fprintf(stderr, _("%s: unknown interface: %s\n"),
-+ fprintf(stderr, _("%s: ERROR while getting interface flags: %s\n"),
- ifname, strerror(errno));
- return (-1);
- }
-@@ -159,7 +158,7 @@
-
- safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
- if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
-- fprintf(stderr, _("%s: unknown interface: %s\n"),
-+ fprintf(stderr, _("%s: ERROR while getting interface flags: %s\n"),
- ifname, strerror(errno));
- return -1;
- }
-@@ -172,9 +171,35 @@
- 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] [-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"));
-@@ -208,7 +233,7 @@
- static void version(void)
- {
- fprintf(stderr, "%s\n%s\n", Release, Version);
-- exit(0);
-+ exit(E_USAGE);
- }
-
- static int set_netmask(int skfd, struct ifreq *ifr, struct sockaddr *sa)
-@@ -222,18 +247,19 @@
- strerror(errno));
- err = 1;
- }
-- return 0;
-+ return err;
- }
-
- int main(int argc, char **argv)
- {
- struct sockaddr sa;
-+ struct sockaddr samask;
- 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, neednetmask=0;
- char **spp;
- int fd;
- #if HAVE_AFINET6
-@@ -388,6 +414,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;
- }
-@@ -398,6 +426,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;
- }
-@@ -408,6 +438,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;
- }
-@@ -430,6 +462,8 @@
- if (!strcmp(*spp, "-dynamic")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_DYNAMIC);
- spp++;
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in DYNAMIC mode.\n"), ifr.ifr_name);
- continue;
- }
- #endif
-@@ -486,6 +520,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;
- }
-@@ -493,7 +529,10 @@
- if (*++spp != NULL) {
- safe_strncpy(host, *spp, (sizeof host));
- if (ap->input(0, host, &sa) < 0) {
-- ap->herror(host);
-+ if (ap->herror)
-+ ap->herror(host);
-+ else
-+ fprintf(stderr, _("ifconfig: Error resolving '%s' for broadcast\n"), host);
- goterr = 1;
- spp++;
- continue;
-@@ -515,7 +554,10 @@
- usage();
- safe_strncpy(host, *spp, (sizeof host));
- if (ap->input(0, host, &sa) < 0) {
-- ap->herror(host);
-+ if (ap->herror)
-+ ap->herror(host);
-+ else
-+ fprintf(stderr, _("ifconfig: Error resolving '%s' for dstaddr\n"), host);
- goterr = 1;
- spp++;
- continue;
-@@ -535,13 +577,16 @@
- usage();
- safe_strncpy(host, *spp, (sizeof host));
- if (ap->input(0, host, &sa) < 0) {
-- ap->herror(host);
-+ if (ap->herror)
-+ ap->herror(host);
-+ else
-+ fprintf(stderr, _("ifconfig: Error resolving '%s' for netmask\n"), host);
- goterr = 1;
- spp++;
- continue;
- }
- didnetmask++;
-- goterr = set_netmask(ap->fd, &ifr, &sa);
-+ goterr |= set_netmask(ap->fd, &ifr, &sa);
- spp++;
- continue;
- }
-@@ -613,6 +658,8 @@
- if (!strcmp(*spp, "-pointopoint")) {
- goterr |= clr_flag(ifr.ifr_name, IFF_POINTOPOINT);
- spp++;
-+ if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
-+ fprintf(stderr, _("Warning: Interface %s still in POINTOPOINT mode.\n"), ifr.ifr_name);
- continue;
- }
- if (!strcmp(*spp, "pointopoint")) {
-@@ -620,7 +667,10 @@
- spp++;
- safe_strncpy(host, *spp, (sizeof host));
- if (ap->input(0, host, &sa)) {
-- ap->herror(host);
-+ if (ap->herror)
-+ ap->herror(host);
-+ else
-+ fprintf(stderr, _("ifconfig: Error resolving '%s' for pointopoint\n"), host);
- goterr = 1;
- spp++;
- continue;
-@@ -661,8 +711,12 @@
- memcpy((char *) &ifr.ifr_hwaddr, (char *) &sa,
- sizeof(struct sockaddr));
- if (ioctl(skfd, SIOCSIFHWADDR, &ifr) < 0) {
-- fprintf(stderr, "SIOCSIFHWADDR: %s\n",
-- strerror(errno));
-+ if (errno == EBUSY)
-+ fprintf(stderr, "SIOCSIFHWADDR: %s - you may need to down the interface\n",
-+ strerror(errno));
-+ else
-+ fprintf(stderr, "SIOCSIFHWADDR: %s\n",
-+ strerror(errno));
- goterr = 1;
- }
- spp++;
-@@ -681,12 +735,15 @@
- usage();
- *cp = 0;
- } else {
-- prefix_len = 0;
-+ prefix_len = 128;
- }
- safe_strncpy(host, *spp, (sizeof host));
- if (inet6_aftype.input(1, host,
- (struct sockaddr *) &sa6) < 0) {
-- inet6_aftype.herror(host);
-+ if (inet6_aftype.herror)
-+ inet6_aftype.herror(host);
-+ else
-+ fprintf(stderr, _("ifconfig: Error resolving '%s' for add\n"), host);
- goterr = 1;
- spp++;
- continue;
-@@ -771,7 +828,7 @@
- usage();
- *cp = 0;
- } else {
-- prefix_len = 0;
-+ prefix_len = 128;
- }
- safe_strncpy(host, *spp, (sizeof host));
- if (inet6_aftype.input(1, host,
-@@ -800,6 +857,8 @@
- }
- ifr6.ifr6_ifindex = ifr.ifr_ifindex;
- ifr6.ifr6_prefixlen = prefix_len;
-+ if (opt_v)
-+ fprintf(stderr, "now deleting: ioctl(SIOCDIFADDR,{ifindex=%d,prefixlen=%ld})\n",ifr.ifr_ifindex,prefix_len);
- if (ioctl(fd, SIOCDIFADDR, &ifr6) < 0) {
- fprintf(stderr, "SIOCDIFADDR: %s\n",
- strerror(errno));
-@@ -859,7 +918,7 @@
- usage();
- *cp = 0;
- } else {
-- prefix_len = 0;
-+ prefix_len = 128;
- }
- safe_strncpy(host, *spp, (sizeof host));
- if (inet6_aftype.input(1, host, (struct sockaddr *) &sa6) < 0) {
-@@ -903,7 +962,7 @@
- /* 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, &samask, NULL)) {
- case -1:
- usage();
- break;
-@@ -911,8 +970,8 @@
- if (didnetmask)
- usage();
-
-- goterr = set_netmask(skfd, &ifr, &sa);
-- didnetmask++;
-+ // remeber to set the netmask from samask later
-+ neednetmask = 1;
- break;
- }
- }
-@@ -921,9 +980,11 @@
- exit(1);
- }
- if (ap->input(0, host, &sa) < 0) {
-- ap->herror(host);
-- fprintf(stderr, _("ifconfig: `--help' gives usage information.\n"));
-- exit(1);
-+ if (ap->herror)
-+ ap->herror(host);
-+ else
-+ fprintf(stderr,_("ifconfig: error resolving '%s' to set address for af=%s\n"), host, ap->name); fprintf(stderr,
-+ _("ifconfig: `--help' gives usage information.\n")); exit(1);
- }
- memcpy((char *) &ifr.ifr_addr, (char *) &sa, sizeof(struct sockaddr));
- {
-@@ -980,6 +1041,14 @@
- spp++;
- }
-
-+ if (neednetmask) {
-+ goterr |= set_netmask(skfd, &ifr, &samask);
-+ didnetmask++;
-+ }
-+
-+ if (opt_v && goterr)
-+ fprintf(stderr, _("WARNING: at least one error occured. (%d)\n"), goterr);
-+
- return (goterr);
- }
-
---- net-tools-1.60/include/interface.h 2001-02-10 21:24:25.000000000 +0200
-+++ net-tools/include/interface.h 2002-03-05 02:47:36.000000000 +0200
-@@ -64,13 +64,17 @@
- extern int if_fetch(struct interface *ife);
-
- extern int for_all_interfaces(int (*)(struct interface *, void *), void *);
--extern int free_interface_list(void);
-+extern int if_cache_free(void);
- extern struct interface *lookup_interface(char *name);
- extern int if_readlist(void);
-
- extern int do_if_fetch(struct interface *ife);
- extern int do_if_print(struct interface *ife, void *cookie);
-
-+extern int procnetdev_version(char *buf);
-+extern int get_dev_fields(char *bp, struct interface *ife);
-+extern char * get_name(char *name, char *p);
-+
- extern void ife_print(struct interface *ptr);
-
- extern int ife_short;
---- net-tools-1.60/include/mii.h 2000-05-21 16:21:27.000000000 +0200
-+++ net-tools/include/mii.h 2006-09-27 23:59:19.000000000 +0300
-@@ -6,11 +6,14 @@
- * Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
- */
-
--#ifndef _LINUX_MII_H
--#define _LINUX_MII_H
-+#ifndef _NETTOOL_MII_H
-+#define _NETTOOLS_MII_H
-+
-+#include <linux/sockios.h>
-
- /* network interface ioctl's for MII commands */
- #ifndef SIOCGMIIPHY
-+#warning "SIOCGMIIPHY is not defined by your kernel source"
- #define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
- #define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
- #define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */
-@@ -38,6 +41,7 @@
- #define MII_BMCR_RESTART 0x0200
- #define MII_BMCR_DUPLEX 0x0100
- #define MII_BMCR_COLTEST 0x0080
-+#define MII_BMCR_SPEED1000 0x0040
-
- /* Basic Mode Status Register */
- #define MII_BMSR 0x01
-@@ -83,4 +87,17 @@
- #define MII_ANER_PAGE_RX 0x0002
- #define MII_ANER_LP_AN_ABLE 0x0001
-
--#endif /* _LINUX_MII_H */
-+#define MII_CTRL1000 0x09
-+#define MII_BMCR2_1000FULL 0x0200
-+#define MII_BMCR2_1000HALF 0x0100
-+
-+#define MII_STAT1000 0x0a
-+#define MII_LPA2_1000LOCALOK 0x2000
-+#define MII_LPA2_1000REMRXOK 0x1000
-+#define MII_LPA2_1000FULL 0x0800
-+#define MII_LPA2_1000HALF 0x0400
-+
-+/* Last register we need for show_basic_mii() */
-+#define MII_BASIC_MAX (MII_STAT1000+1)
-+
-+#endif /* _NETTOOLS_MII_H */
---- net-tools-1.60/include/util-ank.h 1999-04-21 20:38:05.000000000 +0300
-+++ net-tools/include/util-ank.h 2006-10-11 04:14:33.000000000 +0300
-@@ -75,6 +75,6 @@
- extern int do_class(int argc, char **argv);
- extern int do_filter(int argc, char **argv);
-
--extern const char *format_host(int af, void *addr, __u8 *abuf, int alen);
-+extern const char *format_host(int af, void *addr, char *abuf, int alen);
-
- #endif /* __UTILS_H__ */
---- net-tools-1.60/ipmaddr.c 2001-04-08 19:04:23.000000000 +0200
-+++ net-tools/ipmaddr.c 2006-10-11 04:13:57.000000000 +0300
-@@ -291,13 +291,15 @@
- static int multiaddr_list(int argc, char **argv)
- {
- struct ma_info *list = NULL;
-+ size_t l;
-
- while (argc > 0) {
- if (strcmp(*argv, "dev") == 0) {
- NEXT_ARG();
-- if (filter_dev[0])
-+ l = strlen(*argv);
-+ if (l <= 0 || l >= sizeof(filter_dev))
- usage();
-- strcpy(filter_dev, *argv);
-+ strncpy(filter_dev, *argv, sizeof (filter_dev));
- } else if (strcmp(*argv, "all") == 0) {
- filter_family = AF_UNSPEC;
- } else if (strcmp(*argv, "ipv4") == 0) {
-@@ -307,9 +309,10 @@
- } else if (strcmp(*argv, "link") == 0) {
- filter_family = AF_PACKET;
- } else {
-- if (filter_dev[0])
-+ l = strlen(*argv);
-+ if (l <= 0 || l >= sizeof(filter_dev))
- usage();
-- strcpy(filter_dev, *argv);
-+ strncpy(filter_dev, *argv, sizeof (filter_dev));
- }
- argv++; argc--;
- }
---- net-tools-1.60/lib/ddp_gr.c 1999-01-09 17:54:32.000000000 +0200
-+++ net-tools/lib/ddp_gr.c 2002-06-02 08:25:15.000000000 +0300
-@@ -1,3 +1,20 @@
-+/*
-+ * lib/ddp_gr.c Prinbting of DDP (AppleTalk) routing table
-+ * used by the NET-LIB.
-+ *
-+ * NET-LIB
-+ *
-+ * Version: $Id$
-+ *
-+ * Author: Ajax <ajax@firest0rm.org>
-+ *
-+ * Modification:
-+ * 2002-06-02 integrated into main source by Bernd Eckenfels
-+ *
-+ */
-+
-+/* TODO: name lookups (/etc/atalk.names? NBP?) */
-+
- #include "config.h"
-
- #if HAVE_AFATALK
-@@ -16,9 +33,61 @@
- #include "pathnames.h"
- #include "intl.h"
-
-+/* stolen from inet_gr.c */
-+#define flags_decode(i,o) do { \
-+ o[0] = '\0'; \
-+ if (i & RTF_UP) strcat(o, "U"); \
-+ if (i & RTF_GATEWAY) strcat(o, "G"); \
-+ if (i & RTF_REJECT) strcat(o, "!"); \
-+ if (i & RTF_HOST) strcat(o, "H"); \
-+ if (i & RTF_REINSTATE) strcat(o, "R"); \
-+ if (i & RTF_DYNAMIC) strcat(o, "D"); \
-+ if (i & RTF_MODIFIED) strcat(o, "M"); \
-+ if (i & RTF_DEFAULT) strcat(o, "d"); \
-+ if (i & RTF_ALLONLINK) strcat(o, "a"); \
-+ if (i & RTF_ADDRCONF) strcat(o, "c"); \
-+ if (i & RTF_NONEXTHOP) strcat(o, "o"); \
-+ if (i & RTF_EXPIRES) strcat(o, "e"); \
-+ if (i & RTF_CACHE) strcat(o, "c"); \
-+ if (i & RTF_FLOW) strcat(o, "f"); \
-+ if (i & RTF_POLICY) strcat(o, "p"); \
-+ if (i & RTF_LOCAL) strcat(o, "l"); \
-+ if (i & RTF_MTU) strcat(o, "u"); \
-+ if (i & RTF_WINDOW) strcat(o, "w"); \
-+ if (i & RTF_IRTT) strcat(o, "i"); \
-+ if (i & RTF_NOTCACHED) strcat(o, "n"); \
-+ } while (0)
-+
- int DDP_rprint(int options)
- {
-- fprintf(stderr, _("Routing table for `ddp' not yet supported.\n"));
-- return (1);
-+ FILE *fp;
-+ char *dest, *gw, *dev, *flags;
-+ char oflags[32];
-+ char *hdr = "Destination Gateway Device Flags";
-+
-+ fp = fopen(_PATH_PROCNET_ATALK_ROUTE, "r");
-+
-+ if (!fp) {
-+ perror("Error opening " _PATH_PROCNET_ATALK_ROUTE);
-+ fprintf(stderr, "DDP (AppleTalk) not configured on this system.\n");
-+ return 1;
-+ }
-+
-+ fscanf(fp, "%as %as %as %as\n", &dest, &gw, &flags, &dev);
-+ free(dest); free(gw); free(dev); free(flags);
-+
-+ printf("%s\n", hdr);
-+
-+ while (fscanf(fp, "%as %as %as %as\n", &dest, &gw, &flags, &dev) == 4) {
-+ int iflags = atoi(flags);
-+ flags_decode(iflags, oflags);
-+ printf("%-16s%-16s%-16s%-s\n", dest, gw, dev, oflags);
-+ free(dest); free(gw); free(dev); free(flags);
-+ }
-+
-+ fclose(fp);
-+
-+ return 0;
-+
- }
- #endif
---- net-tools-1.60/lib/ether.c 1999-11-20 23:02:53.000000000 +0200
-+++ net-tools/lib/ether.c 2002-07-30 08:17:29.000000000 +0300
-@@ -2,7 +2,7 @@
- * lib/ether.c This file contains an implementation of the "Ethernet"
- * support functions.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- * Copyright 1993 MicroWalt Corporation
-@@ -39,7 +39,7 @@
- {
- static char buff[64];
-
-- snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X",
-+ 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)
- );
---- net-tools-1.60/lib/eui64.c 1970-01-01 03:00:00.000000000 +0300
-+++ net-tools/lib/eui64.c 2001-11-12 04:12:05.000000000 +0200
-@@ -0,0 +1,155 @@
-+/*
-+ * lib/eui64.c This file contains support for generic EUI-64 hw addressing
-+ *
-+ * Version: $Id$
-+ *
-+ * Author: Daniel Stodden <stodden@in.tum.de>
-+ * Copyright 2001 Daniel Stodden
-+ *
-+ * blueprinted from ether.c
-+ * Copyright 1993 MicroWalt Corporation
-+ *
-+ * 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_HWEUI64
-+
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/socket.h>
-+#include <net/if_arp.h>
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <ctype.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <string.h>
-+#include <termios.h>
-+#include <unistd.h>
-+#include "net-support.h"
-+#include "pathnames.h"
-+#include "intl.h"
-+
-+/*
-+ * EUI-64 constants
-+ */
-+
-+#define EUI64_ALEN 8
-+
-+#ifndef ARPHRD_EUI64
-+#define ARPHRD_EUI64 27
-+#warning "ARPHRD_EUI64 not defined in <net/if_arp.h>. Using private value 27"
-+#endif
-+
-+struct hwtype eui64_hwtype;
-+
-+/* Display an EUI-64 address in readable format. */
-+static char *pr_eui64( unsigned char *ptr )
-+{
-+ static char buff[64];
-+
-+ snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
-+ (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377), (ptr[3] & 0377),
-+ (ptr[4] & 0377), (ptr[5] & 0377), (ptr[6] & 0377), (ptr[7] & 0377)
-+ );
-+ return (buff);
-+}
-+
-+/* Start the PPP encapsulation on the file descriptor. */
-+static int in_eui64( char *bufp, struct sockaddr *sap )
-+{
-+ unsigned char *ptr;
-+ char c, *orig;
-+ int i;
-+ unsigned val;
-+
-+ sap->sa_family = eui64_hwtype.type;
-+ ptr = sap->sa_data;
-+
-+ i = 0;
-+ orig = bufp;
-+
-+ while ((*bufp != '\0') && (i < EUI64_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_eui64(%s): invalid eui64 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_eui64(%s): invalid eui64 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 == EUI64_ALEN) {
-+#ifdef DEBUG
-+ fprintf(stderr, _("in_eui64(%s): trailing : ignored!\n"),
-+ orig)
-+#endif
-+ ; /* nothing */
-+ }
-+ bufp++;
-+ }
-+ }
-+
-+ /* That's it. Any trailing junk? */
-+ if ((i == EUI64_ALEN) && (*bufp != '\0')) {
-+#ifdef DEBUG
-+ fprintf(stderr, _("in_eui64(%s): trailing junk!\n"), orig);
-+ errno = EINVAL;
-+ return (-1);
-+#endif
-+ }
-+#ifdef DEBUG
-+ fprintf(stderr, "in_eui64(%s): %s\n", orig, pr_eui64(sap->sa_data));
-+#endif
-+
-+ return (0);
-+}
-+
-+struct hwtype eui64_hwtype =
-+{
-+ "eui64", NULL, /*"EUI-64 addressing", */ ARPHRD_EUI64, EUI64_ALEN,
-+ pr_eui64, in_eui64, NULL, 0
-+};
-+
-+
-+#endif /* HAVE_EUI64 */
---- net-tools-1.60/lib/hw.c 2000-05-20 20:27:25.000000000 +0200
-+++ net-tools/lib/hw.c 2001-11-12 04:12:05.000000000 +0200
-@@ -2,7 +2,7 @@
- * lib/hw.c This file contains the top-level part of the hardware
- * support functions module.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
- *
-@@ -73,6 +73,8 @@
-
- extern struct hwtype ec_hwtype;
-
-+extern struct hwtype eui64_hwtype;
-+
- static struct hwtype *hwtypes[] =
- {
-
-@@ -144,6 +146,9 @@
- #if HAVE_HWX25
- &x25_hwtype,
- #endif
-+#if HAVE_HWEUI64
-+ &eui64_hwtype,
-+#endif
- &unspec_hwtype,
- NULL
- };
-@@ -217,6 +222,9 @@
- #if HAVE_HWEC
- ec_hwtype.title = _("Econet");
- #endif
-+#if HAVE_HWEUI64
-+ eui64_hwtype.title = _("Generic EUI-64");
-+#endif
- sVhwinit = 1;
- }
-
---- net-tools-1.60/lib/inet6.c 2000-10-28 13:04:00.000000000 +0200
-+++ net-tools/lib/inet6.c 2002-12-10 03:03:09.000000000 +0200
-@@ -3,7 +3,7 @@
- * support functions for the net-tools.
- * (most of it copied from lib/inet.c 1.26).
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- * Copyright 1993 MicroWalt Corporation
-@@ -44,6 +44,21 @@
-
- extern int h_errno; /* some netdb.h versions don't export this */
-
-+char * fix_v4_address(char *buf, struct in6_addr *in6)
-+{
-+ if (IN6_IS_ADDR_V4MAPPED(in6->s6_addr)) {
-+ char *s =strchr(buf, '.');
-+ if (s) {
-+ while (s > buf && *s != ':')
-+ --s;
-+ if (*s == ':') ++s;
-+ else s = NULL;
-+ }
-+ if (s) return s;
-+ }
-+ return buf;
-+}
-+
- static int INET6_resolve(char *name, struct sockaddr_in6 *sin6)
- {
- struct addrinfo req, *ai;
-@@ -83,14 +98,14 @@
- return (-1);
- }
- if (numeric & 0x7FFF) {
-- inet_ntop(AF_INET6, &sin6->sin6_addr, name, 80);
-+ inet_ntop( AF_INET6, &sin6->sin6_addr, name, 80);
- return (0);
- }
- if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
- if (numeric & 0x8000)
- strcpy(name, "default");
- else
-- strcpy(name, "*");
-+ strcpy(name, "[::]");
- return (0);
- }
-
-@@ -109,13 +124,14 @@
- }
-
-
-+
- /* Display an Internet socket address. */
- static char *INET6_print(unsigned char *ptr)
- {
- static char name[80];
-
- inet_ntop(AF_INET6, (struct in6_addr *) ptr, name, 80);
-- return name;
-+ return fix_v4_address(name, (struct in6_addr *)ptr);
- }
-
-
-@@ -129,13 +145,14 @@
- return safe_strncpy(buff, _("[NONE SET]"), sizeof(buff));
- if (INET6_rresolve(buff, (struct sockaddr_in6 *) sap, numeric) != 0)
- return safe_strncpy(buff, _("[UNKNOWN]"), sizeof(buff));
-- return (buff);
-+ return (fix_v4_address(buff, &((struct sockaddr_in6 *)sap)->sin6_addr));
- }
-
-
- static int INET6_getsock(char *bufp, struct sockaddr *sap)
- {
- struct sockaddr_in6 *sin6;
-+ char *p;
-
- sin6 = (struct sockaddr_in6 *) sap;
- sin6->sin6_family = AF_INET6;
-@@ -143,7 +160,9 @@
-
- if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
- return (-1);
--
-+ p = fix_v4_address(bufp, &sin6->sin6_addr);
-+ if (p != bufp)
-+ memcpy(bufp, p, strlen(p)+1);
- return 16; /* ?;) */
- }
-
---- net-tools-1.60/lib/inet6_gr.c 2001-04-01 16:48:06.000000000 +0200
-+++ net-tools/lib/inet6_gr.c 2002-07-30 08:24:20.000000000 +0300
-@@ -1,4 +1,4 @@
--/*
-+ /*
- Modifications:
- 1998-07-01 - Arnaldo Carvalho de Melo - GNU gettext instead of catgets,
- snprintf instead of sprintf
-@@ -71,11 +71,15 @@
- printf(_("INET6 (IPv6) not configured in this system.\n"));
- return 1;
- }
-- printf(_("Kernel IPv6 routing table\n"));
-
-- printf(_("Destination "
-- "Next Hop "
-- "Flags Metric Ref Use Iface\n"));
-+ if (numeric & RTF_CACHE)
-+ printf(_("Kernel IPv6 routing cache\n"));
-+ else
-+ printf(_("Kernel IPv6 routing table\n"));
-+
-+ printf(_("Destination "
-+ "Next Hop "
-+ "Flag Met Ref Use If\n"));
-
- while (fgets(buff, 1023, fp)) {
- num = sscanf(buff, "%4s%4s%4s%4s%4s%4s%4s%4s %02x %4s%4s%4s%4s%4s%4s%4s%4s %02x %4s%4s%4s%4s%4s%4s%4s%4s %08x %08x %08x %08x %s\n",
-@@ -87,13 +91,19 @@
- &slen,
- naddr6p[0], naddr6p[1], naddr6p[2], naddr6p[3],
- naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7],
-- &metric, &use, &refcnt, &iflags, iface);
-+ &metric, &refcnt, &use, &iflags, iface);
- #if 0
- if (num < 23)
- continue;
- #endif
-- if (!(iflags & RTF_UP))
-- continue;
-+ if (iflags & RTF_CACHE) {
-+ if (!(numeric & RTF_CACHE))
-+ continue;
-+ } else {
-+ if (numeric & RTF_CACHE)
-+ continue;
-+ }
-+
- /* Fetch and resolve the target address. */
- snprintf(addr6, sizeof(addr6), "%s:%s:%s:%s:%s:%s:%s:%s",
- addr6p[0], addr6p[1], addr6p[2], addr6p[3],
-@@ -112,7 +122,12 @@
- inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
-
- /* Decode the flags. */
-- strcpy(flags, "U");
-+
-+ flags[0]=0;
-+ if (iflags & RTF_UP)
-+ strcat(flags, "U");
-+ if (iflags & RTF_REJECT)
-+ strcat(flags, "!");
- if (iflags & RTF_GATEWAY)
- strcat(flags, "G");
- if (iflags & RTF_HOST)
-@@ -123,9 +138,19 @@
- strcat(flags, "A");
- if (iflags & RTF_CACHE)
- strcat(flags, "C");
-+ if (iflags & RTF_ALLONLINK)
-+ strcat(flags, "a");
-+ if (iflags & RTF_EXPIRES)
-+ strcat(flags, "e");
-+ if (iflags & RTF_MODIFIED)
-+ strcat(flags, "m");
-+ if (iflags & RTF_NONEXTHOP)
-+ strcat(flags, "n");
-+ if (iflags & RTF_FLOW)
-+ strcat(flags, "f");
-
- /* Print the info. */
-- printf("%-43s %-39s %-5s %-6d %-2d %7d %-8s\n",
-+ printf("%-30s %-26s %-4s %-3d %-1d%6d %s\n",
- addr6, naddr6, flags, metric, refcnt, use, iface);
- }
-
-@@ -144,8 +169,7 @@
- char addr6p[8][5], haddrp[6][3];
-
- if (!fp) {
-- ESYSNOT("nd_print", "ND Table");
-- return 1;
-+ return rprint_fib6(ext, numeric | RTF_CACHE);
- }
- printf(_("Kernel IPv6 Neighbour Cache\n"));
-
---- net-tools-1.60/lib/inet.c 2000-05-22 23:27:13.000000000 +0200
-+++ net-tools/lib/inet.c 2003-10-19 14:57:37.000000000 +0300
-@@ -3,7 +3,7 @@
- * support functions for the net-tools.
- * (NET-3 base distribution).
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- * Copyright 1993 MicroWalt Corporation
-@@ -144,7 +144,7 @@
- struct hostent *ent;
- struct netent *np;
- struct addr *pn;
-- unsigned long ad, host_ad;
-+ u_int32_t ad, host_ad;
- int host = 0;
-
- /* Grmpf. -FvK */
-@@ -155,7 +155,7 @@
- errno = EAFNOSUPPORT;
- return (-1);
- }
-- ad = (unsigned long) sin->sin_addr.s_addr;
-+ ad = sin->sin_addr.s_addr;
- #ifdef DEBUG
- fprintf (stderr, "rresolve: %08lx, mask %08x, num %08x \n", ad, netmask, numeric);
- #endif
---- net-tools-1.60/lib/inet_sr.c 2000-02-20 23:46:45.000000000 +0200
-+++ net-tools/lib/inet_sr.c 2003-10-12 00:08:10.000000000 +0300
-@@ -3,6 +3,7 @@
- 1998-07-01 - Arnaldo Carvalho de Melo - GNU gettext instead of catgets
- 1999-10-07 - Kurt Garloff - for -host and gws: prefer host names
- over networks (or even reject)
-+ 2003-10-11 - Maik Broemme - gcc 3.x warnign fixes (default: break;)
- */
-
- #include "config.h"
-@@ -104,7 +105,6 @@
- isnet = 1; break;
- case 2:
- isnet = 0; break;
-- default:
- }
-
- /* Fill in the other fields. */
---- net-tools-1.60/lib/interface.c 2001-02-10 21:31:15.000000000 +0200
-+++ net-tools/lib/interface.c 2005-08-24 01:46:51.000000000 +0300
-@@ -7,7 +7,7 @@
- 8/2000 Andi Kleen make the list operations a bit more efficient.
- People are crazy enough to use thousands of aliases now.
-
-- $Id$
-+ $Id$
- */
-
- #include "config.h"
-@@ -23,6 +23,7 @@
- #include <string.h>
- #include <unistd.h>
- #include <ctype.h>
-+#include <string.h>
-
- #if HAVE_AFIPX
- #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
-@@ -87,14 +88,20 @@
-
- int ife_short;
-
-+int if_list_all = 0; /* do we have requested the complete proc list, yet? */
-+
- static struct interface *int_list, *int_last;
-
- static int if_readlist_proc(char *);
-
--static struct interface *add_interface(char *name)
-+static struct interface *if_cache_add(char *name)
- {
- struct interface *ife, **nextp, *new;
-
-+ if (!int_list)
-+ int_last = NULL;
-+
-+ /* the cache is sorted, so if we hit a smaller if, exit */
- for (ife = int_last; ife; ife = ife->prev) {
- int n = nstrcmp(ife->name, name);
- if (n == 0)
-@@ -104,7 +111,7 @@
- }
- new(new);
- safe_strncpy(new->name, name, IFNAMSIZ);
-- nextp = ife ? &ife->next : &int_list;
-+ nextp = ife ? &ife->next : &int_list; // keep sorting
- new->prev = ife;
- new->next = *nextp;
- if (new->next)
-@@ -117,19 +124,22 @@
-
- struct interface *lookup_interface(char *name)
- {
-- struct interface *ife = NULL;
--
-- if (if_readlist_proc(name) < 0)
-- return NULL;
-- ife = add_interface(name);
-- return ife;
-+ /* if we have read all, use it */
-+ if (if_list_all)
-+ return if_cache_add(name);
-+
-+ /* otherwise we read a limited list */
-+ if (if_readlist_proc(name) < 0)
-+ return NULL;
-+
-+ return if_cache_add(name);
- }
-
- int for_all_interfaces(int (*doit) (struct interface *, void *), void *cookie)
- {
- struct interface *ife;
-
-- if (!int_list && (if_readlist() < 0))
-+ if (!if_list_all && (if_readlist() < 0))
- return -1;
- for (ife = int_list; ife; ife = ife->next) {
- int err = doit(ife, cookie);
-@@ -139,13 +149,15 @@
- return 0;
- }
-
--int free_interface_list(void)
-+int if_cache_free(void)
- {
- struct interface *ife;
- while ((ife = int_list) != NULL) {
- int_list = ife->next;
- free(ife);
- }
-+ int_last = NULL;
-+ if_list_all = 0;
- return 0;
- }
-
-@@ -180,7 +192,7 @@
- }
- if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
- /* assume it overflowed and try again */
-- numreqs += 10;
-+ numreqs *= 2;
- continue;
- }
- break;
-@@ -188,7 +200,7 @@
-
- ifr = ifc.ifc_req;
- for (n = 0; n < ifc.ifc_len; n += sizeof(struct ifreq)) {
-- add_interface(ifr->ifr_name);
-+ if_cache_add(ifr->ifr_name);
- ifr++;
- }
- err = 0;
-@@ -198,7 +210,7 @@
- return err;
- }
-
--static char *get_name(char *name, char *p)
-+char *get_name(char *name, char *p)
- {
- while (isspace(*p))
- p++;
-@@ -206,16 +218,19 @@
- if (isspace(*p))
- break;
- if (*p == ':') { /* could be an alias */
-- char *dot = p, *dotname = name;
-- *name++ = *p++;
-- while (isdigit(*p))
-- *name++ = *p++;
-- if (*p != ':') { /* it wasn't, backup */
-- p = dot;
-- name = dotname;
-+ char *dot = p++;
-+ while (*p && isdigit(*p)) p++;
-+ if (*p == ':') {
-+ /* Yes it is, backup and copy it. */
-+ p = dot;
-+ *name++ = *p++;
-+ while (*p && isdigit(*p)) {
-+ *name++ = *p++;
-+ }
-+ } else {
-+ /* No, it isn't */
-+ p = dot;
- }
-- if (*p == '\0')
-- return NULL;
- p++;
- break;
- }
-@@ -225,7 +240,7 @@
- return p;
- }
-
--static int procnetdev_version(char *buf)
-+int procnetdev_version(char *buf)
- {
- if (strstr(buf, "compressed"))
- return 3;
-@@ -234,12 +249,12 @@
- return 1;
- }
-
--static int get_dev_fields(char *bp, struct interface *ife)
-+int get_dev_fields(char *bp, struct interface *ife)
- {
- switch (procnetdev_vsn) {
- case 3:
- sscanf(bp,
-- "%llu %llu %lu %lu %lu %lu %lu %lu %llu %llu %lu %lu %lu %lu %lu %lu",
-+ "%Lu %Lu %lu %lu %lu %lu %lu %lu %Lu %Lu %lu %lu %lu %lu %lu %lu",
- &ife->stats.rx_bytes,
- &ife->stats.rx_packets,
- &ife->stats.rx_errors,
-@@ -259,7 +274,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 %Lu %lu %lu %lu %lu %Lu %Lu %lu %lu %lu %lu %lu",
- &ife->stats.rx_bytes,
- &ife->stats.rx_packets,
- &ife->stats.rx_errors,
-@@ -277,7 +292,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,
-@@ -300,22 +315,16 @@
-
- static int if_readlist_proc(char *target)
- {
-- static int proc_read;
- FILE *fh;
- char buf[512];
- struct interface *ife;
- int err;
-
-- if (proc_read)
-- return 0;
-- if (!target)
-- proc_read = 1;
--
- 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();
-+ return -2;
- }
- fgets(buf, sizeof buf, fh); /* eat line */
- fgets(buf, sizeof buf, fh);
-@@ -350,7 +359,7 @@
- while (fgets(buf, sizeof buf, fh)) {
- char *s, name[IFNAMSIZ];
- s = get_name(name, buf);
-- ife = add_interface(name);
-+ ife = if_cache_add(name);
- get_dev_fields(s, ife);
- ife->statistics_valid = 1;
- if (target && !strcmp(target,name))
-@@ -359,7 +368,6 @@
- if (ferror(fh)) {
- perror(_PATH_PROCNET_DEV);
- err = -1;
-- proc_read = 0;
- }
-
- #if 0
-@@ -371,9 +379,16 @@
-
- int if_readlist(void)
- {
-- int err = if_readlist_proc(NULL);
-- if (!err)
-- err = if_readconf();
-+ /* caller will/should check not to call this too often
-+ * (i.e. only if if_list_all == 0
-+ */
-+ int err = 0;
-+
-+ err |= if_readlist_proc(NULL);
-+ err |= if_readconf();
-+
-+ if_list_all = 1;
-+
- return err;
- }
-
-@@ -580,10 +595,10 @@
- void ife_print_short(struct interface *ptr)
- {
- printf("%-5.5s ", ptr->name);
-- printf("%5d %3d", ptr->mtu, ptr->metric);
-+ printf("%5d %-2d ", 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 ",
-@@ -636,9 +651,10 @@
- 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";
-+ static char flags[200];
-+
- #if HAVE_AFIPX
- static struct aftype *ipxtype = NULL;
- #endif
-@@ -670,32 +686,70 @@
- if (hw == NULL)
- hw = get_hwntype(-1);
-
-- printf(_("%-9.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) &&
-- hw->suppress_null_addr)))
-- printf(_("HWaddr %s "), hw->print(ptr->hwaddr));
--#ifdef IFF_PORTSEL
-- if (ptr->flags & IFF_PORTSEL) {
-- printf(_("Media:%s"), if_port_text[ptr->map.port][0]);
-- if (ptr->flags & IFF_AUTOMEDIA)
-- printf(_("(auto)"));
-- }
-+ sprintf(flags, "flags=%d<", ptr->flags);
-+ /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */
-+ if (ptr->flags == 0)
-+ strcat(flags,">");
-+ if (ptr->flags & IFF_UP)
-+ strcat(flags,_("UP,"));
-+ if (ptr->flags & IFF_BROADCAST)
-+ strcat(flags,_("BROADCAST,"));
-+ if (ptr->flags & IFF_DEBUG)
-+ strcat(flags,_("DEBUG,"));
-+ if (ptr->flags & IFF_LOOPBACK)
-+ strcat(flags,_("LOOPBACK,"));
-+ if (ptr->flags & IFF_POINTOPOINT)
-+ strcat(flags,_("POINTOPOINT,"));
-+ if (ptr->flags & IFF_NOTRAILERS)
-+ strcat(flags,_("NOTRAILERS,"));
-+ if (ptr->flags & IFF_RUNNING)
-+ strcat(flags,_("RUNNING,"));
-+ if (ptr->flags & IFF_NOARP)
-+ strcat(flags,_("NOARP,"));
-+ if (ptr->flags & IFF_PROMISC)
-+ strcat(flags,_("PROMISC,"));
-+ if (ptr->flags & IFF_ALLMULTI)
-+ strcat(flags,_("ALLMULTI,"));
-+ if (ptr->flags & IFF_SLAVE)
-+ strcat(flags,_("SLAVE,"));
-+ if (ptr->flags & IFF_MASTER)
-+ strcat(flags,_("MASTER,"));
-+ if (ptr->flags & IFF_MULTICAST)
-+ strcat(flags,_("MULTICAST,"));
-+#ifdef HAVE_DYNAMIC
-+ if (ptr->flags & IFF_DYNAMIC)
-+ strcat(flags,_("DYNAMIC,"));
-+#endif
-+ /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */
-+ if (flags[strlen(flags)-1] == ',')
-+ flags[strlen(flags)-1] = '>';
-+ else
-+ flags[strlen(flags)-1] = 0;
-+
-+
-+ printf(_("%s: %s mtu %d metric %d"),
-+ ptr->name, flags, ptr->mtu, ptr->metric ? ptr->metric : 1);
-+#ifdef SIOCSKEEPALIVE
-+ if (ptr->outfill || ptr->keepalive)
-+ printf(_(" outfill %d keepalive %d"),
-+ ptr->outfill, ptr->keepalive);
- #endif
- printf("\n");
-
-+
-+
- #if HAVE_AFINET
- if (ptr->has_ip) {
-- printf(_(" %s addr:%s "), ap->name,
-+ printf(_(" %s %s"), ap->name,
- ap->sprint(&ptr->addr, 1));
-- if (ptr->flags & IFF_POINTOPOINT) {
-- printf(_(" P-t-P:%s "), ap->sprint(&ptr->dstaddr, 1));
-- }
-+ printf(_(" netmask %s"), ap->sprint(&ptr->netmask, 1));
- if (ptr->flags & IFF_BROADCAST) {
-- printf(_(" Bcast:%s "), ap->sprint(&ptr->broadaddr, 1));
-+ printf(_(" broadcast %s"), ap->sprint(&ptr->broadaddr, 1));
-+ }
-+ if (ptr->flags & IFF_POINTOPOINT) {
-+ printf(_(" destination %s"), ap->sprint(&ptr->dstaddr, 1));
- }
-- printf(_(" Mask:%s\n"), ap->sprint(&ptr->netmask, 1));
-+ printf("\n");
- }
- #endif
-
-@@ -712,29 +766,30 @@
- addr6p[0], addr6p[1], addr6p[2], addr6p[3],
- addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
- inet6_aftype.input(1, addr6, (struct sockaddr *) &sap);
-- printf(_(" inet6 addr: %s/%d"),
-- inet6_aftype.sprint((struct sockaddr *) &sap, 1), plen);
-- printf(_(" Scope:"));
-- switch (scope) {
-- case 0:
-- printf(_("Global"));
-- break;
-- case IPV6_ADDR_LINKLOCAL:
-- printf(_("Link"));
-- break;
-- case IPV6_ADDR_SITELOCAL:
-- printf(_("Site"));
-- break;
-- case IPV6_ADDR_COMPATv4:
-- printf(_("Compat"));
-- break;
-- case IPV6_ADDR_LOOPBACK:
-- printf(_("Host"));
-- break;
-- default:
-- printf(_("Unknown"));
-+ printf(_(" %s %s prefixlen %d"),
-+ inet6_aftype.name,
-+ inet6_aftype.sprint((struct sockaddr *) &sap, 1),
-+ plen);
-+ printf(_(" scopeid 0x%x"), scope);
-+
-+ flags[0] = '<'; flags[1] = 0;
-+ if (scope & IPV6_ADDR_COMPATv4) {
-+ strcat(flags, _("compat,"));
-+ scope -= IPV6_ADDR_COMPATv4;
- }
-- printf("\n");
-+ if (scope == 0)
-+ strcat(flags, _("global,"));
-+ if (scope & IPV6_ADDR_LINKLOCAL)
-+ strcat(flags, _("link,"));
-+ if (scope & IPV6_ADDR_SITELOCAL)
-+ strcat(flags, _("site,"));
-+ if (scope & IPV6_ADDR_LOOPBACK)
-+ strcat(flags, _("host,"));
-+ if (flags[strlen(flags)-1] == ',')
-+ flags[strlen(flags)-1] = '>';
-+ else
-+ flags[strlen(flags)-1] = 0;
-+ printf("%s\n", flags);
- }
- }
- fclose(f);
-@@ -747,17 +802,17 @@
-
- if (ipxtype != NULL) {
- if (ptr->has_ipx_bb)
-- printf(_(" IPX/Ethernet II addr:%s\n"),
-- ipxtype->sprint(&ptr->ipxaddr_bb, 1));
-+ printf(_(" %s Ethernet-II %s\n"),
-+ ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_bb, 1));
- if (ptr->has_ipx_sn)
-- printf(_(" IPX/Ethernet SNAP addr:%s\n"),
-- ipxtype->sprint(&ptr->ipxaddr_sn, 1));
-+ printf(_(" %s Ethernet-SNAP %s\n"),
-+ ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_sn, 1));
- if (ptr->has_ipx_e2)
-- printf(_(" IPX/Ethernet 802.2 addr:%s\n"),
-- ipxtype->sprint(&ptr->ipxaddr_e2, 1));
-+ printf(_(" %s Ethernet802.2 %s\n"),
-+ ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e2, 1));
- if (ptr->has_ipx_e3)
-- printf(_(" IPX/Ethernet 802.3 addr:%s\n"),
-- ipxtype->sprint(&ptr->ipxaddr_e3, 1));
-+ printf(_(" %s Ethernet802.3 %s\n"),
-+ ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e3, 1));
- }
- #endif
-
-@@ -766,7 +821,7 @@
- ddptype = get_afntype(AF_APPLETALK);
- if (ddptype != NULL) {
- if (ptr->has_ddp)
-- printf(_(" EtherTalk Phase 2 addr:%s\n"), ddptype->sprint(&ptr->ddpaddr, 1));
-+ printf(_(" %s %s\n"), ddptype->name, ddptype->sprint(&ptr->ddpaddr, 1));
- }
- #endif
-
-@@ -775,53 +830,30 @@
- ectype = get_afntype(AF_ECONET);
- if (ectype != NULL) {
- if (ptr->has_econet)
-- printf(_(" econet addr:%s\n"), ectype->sprint(&ptr->ecaddr, 1));
-+ printf(_(" %s %s\n"), ectype->name, ectype->sprint(&ptr->ecaddr, 1));
- }
- #endif
-
-- printf(" ");
-- /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */
-- if (ptr->flags == 0)
-- printf(_("[NO FLAGS] "));
-- if (ptr->flags & IFF_UP)
-- printf(_("UP "));
-- if (ptr->flags & IFF_BROADCAST)
-- printf(_("BROADCAST "));
-- if (ptr->flags & IFF_DEBUG)
-- printf(_("DEBUG "));
-- if (ptr->flags & IFF_LOOPBACK)
-- printf(_("LOOPBACK "));
-- if (ptr->flags & IFF_POINTOPOINT)
-- printf(_("POINTOPOINT "));
-- if (ptr->flags & IFF_NOTRAILERS)
-- printf(_("NOTRAILERS "));
-- if (ptr->flags & IFF_RUNNING)
-- printf(_("RUNNING "));
-- if (ptr->flags & IFF_NOARP)
-- printf(_("NOARP "));
-- if (ptr->flags & IFF_PROMISC)
-- printf(_("PROMISC "));
-- if (ptr->flags & IFF_ALLMULTI)
-- printf(_("ALLMULTI "));
-- if (ptr->flags & IFF_SLAVE)
-- printf(_("SLAVE "));
-- if (ptr->flags & IFF_MASTER)
-- printf(_("MASTER "));
-- if (ptr->flags & IFF_MULTICAST)
-- printf(_("MULTICAST "));
--#ifdef HAVE_DYNAMIC
-- if (ptr->flags & IFF_DYNAMIC)
-- printf(_("DYNAMIC "));
--#endif
-- /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */
-- printf(_(" MTU:%d Metric:%d"),
-- ptr->mtu, ptr->metric ? ptr->metric : 1);
--#ifdef SIOCSKEEPALIVE
-- if (ptr->outfill || ptr->keepalive)
-- printf(_(" Outfill:%d Keepalive:%d"),
-- ptr->outfill, ptr->keepalive);
-+ /* 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) &&
-+ hw->suppress_null_addr)))
-+ printf(_(" %s %s"), hw->name, hw->print(ptr->hwaddr));
-+ else
-+ printf(_(" %s"), hw->name);
-+ if (ptr->tx_queue_len != -1)
-+ printf(_(" txqueuelen %d"), ptr->tx_queue_len);
-+ printf(" (%s)\n", hw->title);
-+
-+#ifdef IFF_PORTSEL
-+ if (ptr->flags & IFF_PORTSEL) {
-+ printf(_(" media %s"), if_port_text[ptr->map.port][0]);
-+ if (ptr->flags & IFF_AUTOMEDIA)
-+ printf(_("autoselect"));
-+ printf("\n");
-+ }
- #endif
-- printf("\n");
-+
-
- /* If needed, display the interface statistics. */
-
-@@ -830,55 +862,87 @@
- * not for the aliases, although strictly speaking they're shared
- * by all addresses.
- */
-- printf(" ");
--
-- printf(_("RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"),
-- ptr->stats.rx_packets, ptr->stats.rx_errors,
-- ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors,
-- ptr->stats.rx_frame_errors);
-- if (can_compress)
-- printf(_(" compressed:%lu\n"), ptr->stats.rx_compressed);
--
- rx = ptr->stats.rx_bytes;
-- tx = ptr->stats.tx_bytes;
- short_rx = rx * 10;
-+ 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";
-+ }
-+ tx = ptr->stats.tx_bytes;
- 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"); }
--
-- printf(" ");
-- printf(_("TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"),
-- ptr->stats.tx_packets, ptr->stats.tx_errors,
-- ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors,
-- ptr->stats.tx_carrier_errors);
-- printf(_(" collisions:%lu "), ptr->stats.collisions);
-- if (can_compress)
-- printf(_("compressed:%lu "), ptr->stats.tx_compressed);
-- if (ptr->tx_queue_len != -1)
-- printf(_("txqueuelen:%d "), ptr->tx_queue_len);
-- printf("\n ");
-- printf(_("RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"),
-+ 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(_("RX packets %llu bytes %llu (%lu.%lu %s)\n"),
-+ ptr->stats.rx_packets,
- rx, (unsigned long)(short_rx / 10),
-- (unsigned long)(short_rx % 10), Rext,
-- tx, (unsigned long)(short_tx / 10),
-- (unsigned long)(short_tx % 10), Text);
-+ (unsigned long)(short_rx % 10), Rext);
-+ if (can_compress) {
-+ printf(" ");
-+ printf(_("RX compressed:%lu\n"), ptr->stats.rx_compressed);
-+ }
-+ printf(" ");
-+ printf(_("RX errors %lu dropped %lu overruns %lu frame %lu\n"),
-+ ptr->stats.rx_errors, ptr->stats.rx_dropped,
-+ ptr->stats.rx_fifo_errors, ptr->stats.rx_frame_errors);
-+
-+
-+ printf(" ");
-+ printf(_("TX packets %llu bytes %llu (%lu.%lu %s)\n"),
-+ ptr->stats.tx_packets,
-+ tx, (unsigned long)(short_tx / 10),
-+ (unsigned long)(short_tx % 10), Text);
-+ if (can_compress) {
-+ printf(" ");
-+ printf(_("TX compressed %lu\n"), ptr->stats.tx_compressed);
-+ }
-+ printf(" ");
-+ printf(_("TX errors %lu dropped %lu overruns %lu carrier %lu collisions %lu\n"),
-+ ptr->stats.tx_errors,
-+ ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors,
-+ ptr->stats.tx_carrier_errors, ptr->stats.collisions);
- }
-
- if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma ||
-- ptr->map.base_addr)) {
-- printf(" ");
-+ ptr->map.base_addr >= 0x100)) {
-+ printf(" device ");
- if (ptr->map.irq)
-- printf(_("Interrupt:%d "), ptr->map.irq);
-+ printf(_("interrupt %d "), ptr->map.irq);
- if (ptr->map.base_addr >= 0x100) /* Only print devices using it for
- I/O maps */
-- printf(_("Base address:0x%x "), ptr->map.base_addr);
-+ printf(_("base 0x%x "), ptr->map.base_addr);
- if (ptr->map.mem_start) {
-- printf(_("Memory:%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end);
-+ printf(_("memory 0x%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end);
- }
- if (ptr->map.dma)
-- printf(_("DMA chan:%x "), ptr->map.dma);
-+ printf(_(" dma 0x%x"), ptr->map.dma);
- printf("\n");
- }
- printf("\n");
---- net-tools-1.60/lib/ipx.c 1999-01-09 17:55:11.000000000 +0200
-+++ net-tools/lib/ipx.c 2002-07-30 08:19:29.000000000 +0300
-@@ -133,6 +133,9 @@
- char *ep;
- int nbo;
-
-+ if (!sai)
-+ return (-1);
-+
- sai->sipx_family = AF_IPX;
- sai->sipx_network = htonl(0);
- sai->sipx_node[0] = sai->sipx_node[1] = sai->sipx_node[2] =
---- net-tools-1.60/lib/ipx_gr.c 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools/lib/ipx_gr.c 2005-08-03 01:28:10.000000000 +0300
-@@ -38,21 +38,27 @@
- char net[128], router_net[128];
- char router_node[128];
- int num;
-- FILE *fp = fopen(_PATH_PROCNET_IPX_ROUTE, "r");
-+ FILE *fp;
- struct aftype *ap;
- struct sockaddr sa;
-
-- if ((ap = get_afntype(AF_IPX)) == NULL) {
-- EINTERN("lib/ipx_rt.c", "AF_IPX missing");
-- return (-1);
-- }
-+ fp = fopen(_PATH_PROCNET_IPX_ROUTE1, "r");
-
- if (!fp) {
-- perror(_PATH_PROCNET_IPX_ROUTE);
-- printf(_("IPX not configured in this system.\n"));
-+ fp = fopen(_PATH_PROCNET_IPX_ROUTE2, "r");
-+ }
-+
-+ if (!fp) {
-+ perror(NULL);
-+ printf(_("IPX routing not in file %s or %s found.\n"), _PATH_PROCNET_IPX_ROUTE1, _PATH_PROCNET_IPX_ROUTE2);
- return 1;
- }
-
-+ if ((ap = get_afntype(AF_IPX)) == NULL) {
-+ EINTERN("lib/ipx_rt.c", "AF_IPX missing");
-+ return (-1);
-+ }
-+
- printf(_("Kernel IPX routing table\n")); /* xxx */
- printf(_("Destination Router Net Router Node\n"));
-
---- net-tools-1.60/lib/irda.c 2000-03-05 17:26:04.000000000 +0200
-+++ net-tools/lib/irda.c 2002-05-01 14:49:56.000000000 +0300
-@@ -1,13 +1,15 @@
- /*********************************************************************
- *
- * Filename: irda.c
-- * Version: 0.1
-- * Description: A first attempt to make ifconfig understand IrDA
-+ * Version: 0.2
-+ * Description: A second attempt to make ifconfig understand IrDA
- * Status: Experimental.
- * Author: Dag Brattli <dagb@cs.uit.no>
- * Created at: Wed Apr 21 09:03:09 1999
- * Modified at: Wed Apr 21 09:17:05 1999
- * Modified by: Dag Brattli <dagb@cs.uit.no>
-+ * Modified at: Wed May 1 11:51:44 CEST 2002
-+ * Modified by: Christoph Bartelmus <christoph@bartelmus.de>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
-@@ -59,9 +61,9 @@
- */
- static char *irda_print(unsigned char *ptr)
- {
-- static char buff[8];
-+ static char buff[12];
-
-- sprintf(&buff[strlen(buff)], "%02x:%02x:%02x:%02x", ptr[3], ptr[2],
-+ snprintf(buff, 12, "%02x:%02x:%02x:%02x", ptr[3], ptr[2],
- ptr[1], ptr[0]);
-
- return (buff);
---- net-tools-1.60/lib/Makefile 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools/lib/Makefile 2001-11-12 04:12:05.000000000 +0200
-@@ -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 eui64.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
---- net-tools-1.60/lib/net-features.h 2000-05-20 20:27:25.000000000 +0200
-+++ net-tools/lib/net-features.h 2001-11-12 04:12:05.000000000 +0200
-@@ -295,6 +295,13 @@
- "-"
- #endif
- "HDLC/LAPB "
-+
-+#if HAVE_HWEUI64
-+"+"
-+#else
-+"-"
-+#endif
-+"EUI64 "
- ;
-
-
---- net-tools-1.60/lib/nstrcmp.c 1999-01-09 17:55:20.000000000 +0200
-+++ net-tools/lib/nstrcmp.c 2004-06-04 01:49:17.000000000 +0300
-@@ -1,34 +1,157 @@
- /* Copyright 1998 by Andi Kleen. Subject to the GPL. */
--/* $Id$ */
-+/* rewritten by bernd eckenfels because of complicated alias semantic */
-+/* $Id$ */
- #include <ctype.h>
- #include <stdlib.h>
-+#include <string.h>
- #include "util.h"
-
--/* like strcmp(), but knows about numbers */
--int nstrcmp(const char *astr, const char *b)
-+
-+/* return numerical :999 suffix or null. sideeffect: replace ':' with \0 */
-+char* cutalias(char* name)
- {
-- const char *a = astr;
-+ int digit = 0;
-+ int pos;
-+
-+ for(pos=strlen(name); pos>0; pos--)
-+ {
-+ if (name[pos-1]==':' && digit)
-+ {
-+ name[pos-1]='\0';
-+ return name+pos;
-+ }
-+ if (!isdigit(name[pos-1]))
-+ break;
-+ digit = 1;
-+ }
-+ return NULL;
-+}
-
-- while (*a == *b) {
-- if (*a == '\0')
-- return 0;
-- a++;
-- b++;
-- }
-- if (isdigit(*a)) {
-- if (!isdigit(*b))
-- return -1;
-- while (a > astr) {
-- a--;
-- if (!isdigit(*a)) {
-- a++;
-- break;
-- }
-- if (!isdigit(*b))
-- return -1;
-- b--;
-+
-+/* return index of last non digit or -1 if it does not end with digits */
-+int rindex_nondigit(char *name)
-+{
-+ int pos = strlen(name);
-+
-+ for(pos=strlen(name); pos>0; pos--)
-+ {
-+ if (!isdigit(name[pos-1]))
-+ return pos;
- }
-- return atoi(a) > atoi(b) ? 1 : -1;
-- }
-- return *a - *b;
-+ return 0;
-+}
-+
-+
-+/* like strcmp(), but knows about numbers and ':' alias suffix */
-+int nstrcmp(const char *ap, const char *bp)
-+{
-+ char *a = (char*)strdup(ap);
-+ char *b = (char*)strdup(bp);
-+ char *an, *bn;
-+ int av = 0, bv = 0;
-+ char *aalias=cutalias(a);
-+ char *balias=cutalias(b);
-+ int aindex=rindex_nondigit(a);
-+ int bindex=rindex_nondigit(b);
-+ int complen=(aindex<bindex)?aindex:bindex;
-+ int res = strncmp(a, b, complen);
-+
-+ if (res != 0)
-+ { free(a); free(b); return res; }
-+
-+ if (aindex > bindex)
-+ { free(a); free(b); return 1; }
-+
-+ if (aindex < bindex)
-+ { free(a); free(b); return -1; }
-+
-+ an = a+aindex;
-+ bn = b+bindex;
-+
-+ av = atoi(an);
-+ bv = atoi(bn);
-+
-+ if (av < bv)
-+ { free(a); free(b); return -1; }
-+
-+ if (av > bv)
-+ { free(a); free(b); return 1; }
-+
-+ av = -1;
-+ if (aalias != NULL)
-+ av = atoi(aalias);
-+
-+ bv = -1;
-+ if (balias != NULL)
-+ bv = atoi(balias);
-+
-+ free(a); free(b);
-+
-+ if (av < bv)
-+ return -1;
-+
-+ if (av > bv)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+
-+#ifdef NSTRCMP_TEST
-+
-+int cs(int s)
-+{
-+ if (s < 0) return -1;
-+ if (s > 0) return 1;
-+ return 0;
-+}
-+
-+
-+int dotest(char* a, char* b, int exp)
-+{
-+ int res = nstrcmp(a, b);
-+ int err = (cs(res) != cs(exp));
-+ printf("nstrcmp(\"%s\", \"%s\")=%d %d %s\n", a, b, res, exp, err?"WRONG":"OK");
-+ return err;
- }
-+
-+int main()
-+{
-+ int err = 0;
-+
-+ err |= dotest("eth1", "eth1", 0);
-+ err |= dotest("eth0:1", "eth0:1", 0);
-+ err |= dotest("lan", "lan", 0);
-+ err |= dotest("100", "100", 0);
-+ err |= dotest("", "", 0);
-+ err |= dotest(":", ":", 0);
-+ err |= dotest("a:b:c", "a:b:c", 0);
-+ err |= dotest("a:", "a:", 0);
-+ err |= dotest(":a", ":a", 0);
-+
-+ err |= dotest("a", "aa", -1);
-+ err |= dotest("eth0", "eth1", -1);
-+ err |= dotest("eth1", "eth20", -1);
-+ err |= dotest("eth20", "eth100", -1);
-+ err |= dotest("eth1", "eth13", -1);
-+ err |= dotest("eth", "eth2", -1);
-+ err |= dotest("eth0:1", "eth0:2", -1);
-+ err |= dotest("eth1:10", "eth13:10", -1);
-+ err |= dotest("eth1:1", "eth1:13", -1);
-+ err |= dotest("a", "a:", -1);
-+
-+ err |= dotest("aa", "a", 1);
-+ err |= dotest("eth2", "eth1", 1);
-+ err |= dotest("eth13", "eth1", 1);
-+ err |= dotest("eth2", "eth", 1);
-+ err |= dotest("eth2:10", "eth2:1", 1);
-+ err |= dotest("eth2:5", "eth2:4", 1);
-+ err |= dotest("eth3:2", "eth2:3", 1);
-+ err |= dotest("eth13:1", "eth1:0", 1);
-+ err |= dotest("a:", "a", 1);
-+ err |= dotest("a1b12", "a1b2", 1);
-+
-+ return err;
-+}
-+
-+#endif
---- net-tools-1.60/lib/pathnames.h 2000-05-20 20:27:26.000000000 +0200
-+++ net-tools/lib/pathnames.h 2005-08-03 01:28:10.000000000 +0300
-@@ -1,4 +1,3 @@
--
- /*
- * lib/pathnames.h This file contains the definitions of the path
- * names used by the NET-LIB.
-@@ -29,8 +28,10 @@
- #define _PATH_PROCNET_NR_NODES "/proc/net/nr_nodes"
- #define _PATH_PROCNET_ARP "/proc/net/arp"
- #define _PATH_PROCNET_AX25 "/proc/net/ax25"
--#define _PATH_PROCNET_IPX "/proc/net/ipx"
--#define _PATH_PROCNET_IPX_ROUTE "/proc/net/ipx_route"
-+#define _PATH_PROCNET_IPX_SOCKET1 "/proc/net/ipx/socket"
-+#define _PATH_PROCNET_IPX_SOCKET2 "/proc/net/ipx"
-+#define _PATH_PROCNET_IPX_ROUTE1 "/proc/net/ipx/route"
-+#define _PATH_PROCNET_IPX_ROUTE2 "/proc/net/ipx_route"
- #define _PATH_PROCNET_ATALK "/proc/net/appletalk"
- #define _PATH_PROCNET_IP_BLK "/proc/net/ip_block"
- #define _PATH_PROCNET_IP_FWD "/proc/net/ip_forward"
-@@ -45,6 +46,7 @@
- #define _PATH_PROCNET_X25 "/proc/net/x25"
- #define _PATH_PROCNET_X25_ROUTE "/proc/net/x25_routes"
- #define _PATH_PROCNET_DEV_MCAST "/proc/net/dev_mcast"
-+#define _PATH_PROCNET_ATALK_ROUTE "/proc/net/atalk_route"
-
- /* pathname for the netlink device */
- #define _PATH_DEV_ROUTE "/dev/route"
---- net-tools-1.60/lib/tr.c 2000-02-20 23:46:45.000000000 +0200
-+++ net-tools/lib/tr.c 2005-05-16 06:15:12.000000000 +0300
-@@ -2,7 +2,7 @@
- * lib/tr.c This file contains an implementation of the "Tokenring"
- * support functions.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- * Copyright 1993 MicroWalt Corporation
-@@ -30,8 +30,14 @@
- #include "net-support.h"
- #include "pathnames.h"
- #include "intl.h"
-+#include "util.h"
-
-+
-+/* actual definition at the end of file */
- extern struct hwtype tr_hwtype;
-+#ifdef ARPHRD_IEEE802_TR
-+extern struct hwtype tr_hwtype1;
-+#endif
-
- static char *pr_tr(unsigned char *ptr)
- {
-@@ -42,7 +48,7 @@
- (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
- );
- return (buff);
--}
-+ }
-
-
- static int in_tr(char *bufp, struct sockaddr *sap)
-@@ -51,7 +57,17 @@
- char c, *orig;
- int i, val;
-
-+#ifdef ARPHRD_IEEE802_TR
-+ if (kernel_version() < KRELEASE(2,3,30)) {
-+ sap->sa_family = tr_hwtype.type;
-+ } else {
-+ sap->sa_family = tr_hwtype1.type;
-+ }
-+#else
- sap->sa_family = tr_hwtype.type;
-+ #warning "Limited functionality, no support for ARPHRD_IEEE802_TR (old kernel headers?)"
-+#endif
-+
- ptr = sap->sa_data;
-
- i = 0;
---- net-tools-1.60/lib/util-ank.c 1999-04-21 20:39:47.000000000 +0300
-+++ net-tools/lib/util-ank.c 2006-10-11 04:14:33.000000000 +0300
-@@ -293,7 +293,7 @@
- return 0;
- }
-
--const char *format_host(int af, void *addr, __u8 *abuf, int alen)
-+const char *format_host(int af, void *addr, char *abuf, int alen)
- {
- #ifdef RESOLVE_HOSTNAMES
- if (resolve_hosts) {
---- net-tools-1.60/lib/util.h 1999-01-09 17:55:29.000000000 +0200
-+++ net-tools/lib/util.h 2004-06-04 01:27:37.000000000 +0300
-@@ -14,3 +14,6 @@
-
- char *safe_strncpy(char *dst, const char *src, size_t size);
-
-+
-+#define netmin(a,b) ((a)<(b) ? (a) : (b))
-+#define netmax(a,b) ((a)>(b) ? (a) : (b))
---- net-tools-1.60/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
-+++ net-tools/lib/x25_sr.c 2005-09-04 07:23:13.000000000 +0300
-@@ -67,7 +67,7 @@
- strcpy(target, *args++);
-
- /* Clean out the x25_route_struct structure. */
-- memset((char *) &rt, 0, sizeof(struct x25_route_struct));
-+ memset((char *) &rt, 0, sizeof(rt));
-
-
- if ((sigdigits = x25_aftype.input(0, target, (struct sockaddr *)&sx25)) < 0) {
-@@ -76,8 +76,8 @@
- }
- rt.sigdigits=sigdigits;
-
-- /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
-- memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
-+ /* this works with 2.4 and 2.6 headers struct x25_address vs. typedef */
-+ memcpy(&rt.address, &sx25.sx25_addr, sizeof(sx25.sx25_addr));
-
- while (*args) {
- if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
---- net-tools-1.60/man/de_DE/netstat.8 1999-03-15 22:31:20.000000000 +0200
-+++ net-tools/man/de_DE/netstat.8 2002-02-20 16:31:00.000000000 +0200
-@@ -9,7 +9,7 @@
- .\" Modified: Tuan Hoang tuan@optimus.mitre.org
- .\"
- .\"
--.TH NETSTAT 8 "6. M\(:arz 1999" "net-tools" "Handbuch f\(:ur Linuxprogrammierer"
-+.TH NETSTAT 8 "2002-02-20" "net-tools" "Handbuch f\(:ur Linuxprogrammierer"
-
- .SH NAME
- netstat \- Anzeige von Netzwerksverbindungen, Routentabellen, Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und Mitgliedschaft in Multicastgruppen
-@@ -44,7 +44,6 @@
- .B netstat
- .RB [ \-veenpac ]
- .RB { \-\-interfaces | \-i }
--.RI [ Schnittstelle ]
-
- .PP
-
-@@ -68,6 +67,8 @@
- .SH BESCHREIBUNG
- .B Netstat
- zeigt Informationen des Linux Netzwerkssystems an.
-+.PP
-+.B Bitte beachten Sie, dass der Inhalt der deutschen man-page nicht vollst\(:andig ist, im Moment.
-
- .SS "(no option)"
- Ohne Optionen zeigt
-@@ -103,18 +104,17 @@
- Wegen Details siehe
- .BR route (8).
-
--.SS "\-i, \-\-interface \fISchnittstelle\fI"
-+.SS "\-i, \-\-interface"
- Wird die
- .BR -i ", " --interfaces
--Option verwendet, so wird eine Tabelle aller (oder der angegebenen
--.IR Schnittstellen )
-+Option verwendet, so wird eine Tabelle aller Schnittstellen
- ausgedruckt. Die Ausgabe ist im Format von
- .B "ifconfig -e"
- und wird in
- .BR ifconfig (8)
- beschrieben.
- .B "netstat -ei"
--druckt eine Tabelle oder einen Eintrag f\(:ur einen einzelnes Interface wie
-+druckt eine Tabelle f\(:ur Interfaces wie
- .BR ifconfig .
- Die
- .B -a
-@@ -182,7 +182,7 @@
- und
- .BR \-\-ddp.
-
--.SS "\-c, \-\-continous"
-+.SS "\-c, \-\-continuous"
- Mit dieser Option wiederholt
- .B netstat
- im Sekundenabstand die Ausgabe, bis es abgebrochen wird.
---- net-tools-1.60/man/en_US/arp.8 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools/man/en_US/arp.8 2005-05-16 07:30:18.000000000 +0300
-@@ -1,4 +1,4 @@
--.TH ARP 8 "5 Jan 1999" "net-tools" "Linux Programmer's Manual"
-+.TH ARP 8 "2005-05-16" "net-tools" "Linux Programmer's Manual"
- .SH NAME
- arp \- manipulate the system ARP cache
- .SH SYNOPSIS
-@@ -132,7 +132,10 @@
- entire subnet. Linux instead does automagic proxy arp when a route
- exists and it is forwarding. See
- .BR arp (7)
--for details.
-+for details. Also the
-+.B dontpub
-+option which is available for delete and set operations cannot be
-+used with 2.4 and newer kernels.
- .TP
- .B "\-f filename, \-\-file filename"
- Similar to the
---- net-tools-1.60/man/en_US/ethers.5 1999-01-09 17:55:31.000000000 +0200
-+++ net-tools/man/en_US/ethers.5 2005-05-14 01:34:20.000000000 +0300
-@@ -1,4 +1,4 @@
--.TH ETHERS 5 "April 26th, 1996" "" "File formats"
-+.TH ETHERS 5 "May 15th, 2005" "" "File formats"
- .SH NAME \"{{{roff}}}\"{{{
- ethers \- Ethernet address to IP number database
- .\"}}}
-@@ -10,8 +10,8 @@
- \fIEthernet-address\fP \fIIP-number\fP
- .RE
- .sp
--The two items are separated by any number of SPACE and/or TAB char
--acters. A \fB#\fP at the beginning of a line starts a comment
-+The two items are separated by any number of SPACE and/or TAB characters.
-+A \fB#\fP at the beginning of a line starts a comment
- which extends to the end of the line. The \fIEthernet-address\fP is
- written as
- .IR x : x : x : x : x : x ,
---- net-tools-1.60/man/en_US/ifconfig.8 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools/man/en_US/ifconfig.8 2005-06-30 22:26:37.000000000 +0300
-@@ -1,10 +1,10 @@
--.TH IFCONFIG 8 "14 August 2000" "net-tools" "Linux Programmer's Manual"
-+.TH IFCONFIG 8 "2005-06-30" "net-tools" "Linux Programmer's Manual"
- .SH NAME
- ifconfig \- configure a network interface
- .SH SYNOPSIS
--.B "ifconfig [interface]"
-+.B "ifconfig [-v] [-a] [-s] [interface]"
- .br
--.B "ifconfig interface [aftype] options | address ..."
-+.B "ifconfig [-v] interface [aftype] options | address ..."
- .SH DESCRIPTION
- .B Ifconfig
- is used to configure the kernel-resident network interfaces. It is
-@@ -41,11 +41,27 @@
- (AMPR Packet radio).
- .SH OPTIONS
- .TP
-+.B -a
-+display all interfaces which are currently available, even if down
-+.TP
-+.B -s
-+display a short list (like netstat -i)
-+.TP
-+.B -v
-+be more verbose for some error conditions
-+.TP
- .B interface
- The name of the interface. This is usually a driver name followed by
- a unit number, for example
- .B eth0
--for the first Ethernet interface.
-+for the first Ethernet interface. If your kernel supports alias interfaces,
-+you can specify them with
-+.B eth0:0
-+for the first alias of eth0. You can use them to assign a second address. To
-+delete an alias interface use
-+.B ifconfig eth0:0 down
-+. Note: for every scope (i.e. same net with address/netmask combination) all
-+aliases are deleted, if you delete the first (primary).
- .TP
- .B up
- This flag causes the interface to be activated. It is implicitly
-@@ -173,11 +189,20 @@
- are shared with all alias addresses on the same device. If you want per-address
- statistics you should add explicit accounting
- rules for the address using the
--.BR ipchains(8)
-+.BR ipchains (8)
-+or
-+.BR iptables (8)
- command.
- .LP
--Interrupt problems with Ethernet device drivers fail with EAGAIN. See
--.I http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html
-+Since net-tools 1.61 ifconfig is printing byte counters and human readable
-+counters with IEC 60027-2 units. So 1 KiB are 2^10 byte. Note, the numbers
-+are truncated to one decimal (which can by quite a large error if you
-+consider 0.1 PiB is 112.589.990.684.262 bytes :)
-+.LP
-+Interrupt problems with Ethernet device drivers fail with EAGAIN
-+.I (SIOCSIIFLAGS: Resource temporarily unavailable)
-+it is most likely a interrupt conflict. See
-+.I http://www.scyld.com/expert/irq-conflict.html
- for more information.
- .SH FILES
- .I /proc/net/socket
-@@ -189,7 +214,9 @@
- While appletalk DDP and IPX addresses will be displayed they cannot be
- altered by this command.
- .SH SEE ALSO
--route(8), netstat(8), arp(8), rarp(8), ipchains(8)
-+route(8), netstat(8), arp(8), rarp(8), ipchains(8), iptables(8)
-+.br
-+http://physics.nist.gov/cuu/Units/binary.html - Prefixes for binary multiples
- .SH AUTHORS
- Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
- .br
-@@ -198,3 +225,5 @@
- Phil Blundell, <Philip.Blundell@pobox.com>
- .br
- Andi Kleen
-+.br
-+Bernd Eckenfels, <net-tools@lina.inka.de>
---- net-tools-1.60/man/en_US/mii-tool.8 2000-05-21 16:21:38.000000000 +0200
-+++ net-tools/man/en_US/mii-tool.8 2005-05-14 01:31:41.000000000 +0300
-@@ -1,7 +1,7 @@
- .\" Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
- .\" mii-tool.8 1.5 2000/04/25 22:58:19
- .\"
--.TH MII-TOOL 8 "2000/04/25 22:58:19" "net-tools"
-+.TH MII-TOOL 8 "2004/03/28 23:30:00" "net-tools"
-
- .SH NAME
- mii-tool \- view, manipulate media-independent interface status
-@@ -72,7 +72,24 @@
- commas. Valid media are \fB100baseT4\fR, \fB100baseTx-FD\fR,
- \fB100baseTx-HD\fR, \fB10baseT-FD\fR, and \fB10baseT-HD\fR.
-
-+.SH DIAGNOSTICS
-+.TP
-+SIOCGMIIPHY on 'eth?' failed: Invalid argument
-+If the interface is not running (up), kernel will refuse to report its link state.
-+.TP
-+SIOCGMIIPHY on 'eth?' failed: Operation not permitted
-+Most kernels restrict access to root.
-+.TP
-+SIOCGMIIPHY on 'eth?' failed: No such device
-+This error is shown, if the kernel does not know about the named device.
-+.TP
-+SIOCGMIIPHY on 'eth?' failed: Operation not supported
-+The interface in question does not support MII queries. Most likely, it does not have
-+MII transceivers, at all.
-+
- .SH AUTHORS
- David Hinds \- dhinds@pcmcia.sourceforge.org
- .br
- Donald Becker \- becker@scyld.com
-+.br
-+Bernd Eckenfels \- ecki@debian.org
---- net-tools-1.60/man/en_US/netstat.8 2001-01-07 14:43:57.000000000 +0200
-+++ net-tools/man/en_US/netstat.8 2004-06-29 23:28:08.000000000 +0300
-@@ -8,7 +8,7 @@
- .\" Modified: Tuan Hoang tqhoang@bigfoot.com
- .\"
- .\"
--.TH NETSTAT 8 "19 December 2000" "net-tools" "Linux Programmer's Manual"
-+.TH NETSTAT 8 "02 October 2003" "net-tools" "Linux Programmer's Manual"
-
- .SH NAME
- netstat \- Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
-@@ -23,7 +23,7 @@
- .RB [ \-\-listening | \-l ]
- .RB [ \-\-all | \-a ]
- .RB [ \-\-numeric | \-n ]
--.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
-+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-symbolic | \-N ]
- .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
- .RB [ \-\-timers | \-o ]
-@@ -37,31 +37,30 @@
- .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
- .RB [ \-\-verbose | \-v ]
- .RB [ \-\-numeric | \-n ]
--.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
-+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-continuous | \-c]
- .P
- .B netstat
- .RB { \-\-interfaces | \-i }
--.RI [ iface ]
- .RB [ \-\-all | \-a ]
- .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
- .RB [ \-\-verbose | \-v ]
- .RB [ \-\-program | \-p ]
- .RB [ \-\-numeric | \-n ]
--.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
-+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-continuous | \-c]
- .P
- .B netstat
- .RB { \-\-groups | \-g }
- .RB [ \-\-numeric | \-n ]
--.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
-+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-continuous | \-c]
- .P
- .B netstat
- .RB { \-\-masquerade | \-M }
- .RB [ \-\-extend | \-e ]
- .RB [ \-\-numeric | \-n ]
--.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
-+.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
- .RB [ \-\-continuous | \-c]
- .P
- .B netstat
-@@ -78,6 +77,8 @@
- .P
- .IR address_family_options :
- .PP
-+.RB [ -4 ]
-+.RB [ -6 ]
- .RB [ \-\-protocol= { inet , unix , ipx , ax25 , netrom , ddp }[, ...] ]
- .RB [ \-\-unix | \-x ]
- .RB [ \-\-inet | \-\-ip ]
-@@ -98,12 +99,17 @@
- address families, then the active sockets of all configured address
- families will be printed.
- .SS "\-\-route , \-r"
--Display the kernel routing tables.
-+Display the kernel routing tables. See the description in
-+.BR route (8)
-+for details.
-+.B netstat -r
-+and
-+.B route -e
-+produce the same output.
- .SS "\-\-groups , \-g"
- Display multicast group membership information for IPv4 and IPv6.
--.SS "\-\-interface=\fIiface \fR, \fB\-i"
--Display a table of all network interfaces, or the specified
--.IR iface ) .
-+.SS "\-\-interface, \-i"
-+Display a table of all network interfaces.
- .SS "\-\-masquerade , \-M"
- Display a list of masqueraded connections.
- .SS "\-\-statistics , \-s"
-@@ -165,12 +171,11 @@
- .SS "\-a, \-\-all"
- Show both listening and non-listening sockets. With the
- .B --interfaces
--option, show interfaces that are not marked
-+option, show interfaces that are not up
- .SS "\-F"
- Print routing information from the FIB. (This is the default.)
- .SS "\-C"
- Print routing information from the route cache.
--.IR UP .
- .P
- .SH OUTPUT
- .P
-@@ -221,7 +226,7 @@
- The socket is waiting after close to handle packets still in the network.
- .TP
- .I
--CLOSED
-+CLOSE
- The socket is not being used.
- .TP
- .I
-@@ -438,7 +443,7 @@
- .P
- .SH AUTHORS
- The netstat user interface was written by Fred Baumgarten
--<dc6iq@insu1.etec.uni-karlsruhe.de> the man page basically
-+<dc6iq@insu1.etec.uni-karlsruhe.de>, the man page basically
- by Matt Welsh <mdw@tc.cornell.edu>. It was updated by
- Alan Cox <Alan.Cox@linux.org> but could do with a bit more
- work. It was updated again by Tuan Hoang
---- net-tools-1.60/man/en_US/rarp.8 2000-05-21 15:54:00.000000000 +0200
-+++ net-tools/man/en_US/rarp.8 2001-11-05 15:12:11.000000000 +0200
-@@ -61,8 +61,8 @@
- Create a RARP address mapping entry for host
- .B hostname
- with hardware address set to
--.B hw_addr
--. The format of the hardware address is dependent on the hardware
-+.BR hw_addr .
-+The format of the hardware address is dependent on the hardware
- class, but for most classes one can assume that the usual presentation
- can be used. For the Ethernet class, this is 6 bytes in hexadecimal,
- separated by colons.
---- net-tools-1.60/man/en_US/route.8 2000-05-21 20:59:03.000000000 +0200
-+++ net-tools/man/en_US/route.8 2005-05-14 01:28:41.000000000 +0300
-@@ -1,4 +1,4 @@
--.TH ROUTE 8 "2 January 2000" "net-tools" "Linux Programmer's Manual"
-+.TH ROUTE 8 "02 October 2003" "net-tools" "Linux Programmer's Manual"
- .SH NAME
- route \- show / manipulate the IP routing table
- .SH SYNOPSIS
-@@ -141,7 +141,7 @@
- set the TCP Maximum Segment Size (MSS) for connections over this route
- to M bytes.
- The default is the device MTU minus headers, or a lower MTU when path mtu
--discovery occured. This setting can be used to force smaller TCP packets on the
-+discovery occurred. This setting can be used to force smaller TCP packets on the
- other end when path mtu discovery does not work (usually because of
- misconfigured firewalls that block ICMP Fragmentation Needed)
- .TP
-@@ -182,7 +182,7 @@
- .B route add -net 127.0.0.0
- adds the normal loopback entry, using netmask 255.0.0.0 (class A net,
- determined from the destination address) and associated with the
--"lo" device (assuming this device was prviously set up correctly with
-+"lo" device (assuming this device was previously set up correctly with
- .BR ifconfig (8)).
-
- .TP
-@@ -289,7 +289,7 @@
- Interface to which packets for this route will be sent.
- .TP
- .B MSS
--Default maximum segement size for TCP connections over this route.
-+Default maximum segment size for TCP connections over this route.
- .TP
- .B Window
- Default window size for TCP connections over this route.
---- net-tools-1.60/man/en_US/slattach.8 1999-01-09 18:19:58.000000000 +0200
-+++ net-tools/man/en_US/slattach.8 2006-10-10 08:58:46.000000000 +0300
-@@ -1,4 +1,4 @@
--.TH SLATTACH 8 "12 Feb 1994" "" ""
-+.TH SLATTACH 8 "10 Oct 2006" "" ""
- .SH NAME
- slattach \- attach a network interface to a serial line
- .SH SYNOPSIS
-@@ -24,6 +24,7 @@
- .B "[-h]"
- Exit when the carrier is lost. This works on both /dev/tty and /dev/cua
- devices by directly monitoring the carrier status every 15 seconds.
-+.TP
- .B "[-v]"
- Enable verbose output. Useful in shell scripts.
- .TP
-@@ -41,7 +42,7 @@
- .TP
- .B "[-e]"
- Exit right after initializing device, instead of waiting for the
--line to hangup.
-+line to hang up.
- .TP
- .B "[-L]"
- Enable 3 wire operation. The terminal is moved into CLOCAL mode,
-@@ -50,8 +51,8 @@
- .B "[-p proto]"
- Set a specific kind of protocol to use on the line. The default
- is set to
--.B "cslip"
--, i.e. compressed SLIP. Other possible values are
-+.BR "cslip" ,
-+i.e. compressed SLIP. Other possible values are
- .B "slip"
- (normal SLIP),
- .B "adaptive"
---- net-tools-1.60/man/fr_FR/arp.8 1999-04-18 22:23:40.000000000 +0300
-+++ net-tools/man/fr_FR/arp.8 2001-11-05 15:12:11.000000000 +0200
-@@ -140,8 +140,8 @@
- Similaire à l'option
- .B \-s
- , mais cette fois les informations d'adresses sont prises dans le fichier
--.B nom_de_fichier
--. Ceci peut être utilisé si les entrées ARP à configurer sont
-+.BR nom_de_fichier .
-+Ceci peut être utilisé si les entrées ARP à configurer sont
- nombreuses. Le nom du fichier de données est très souvent nommé
- .B /etc/ethers
- , mais ce n'est pas officiel.
-@@ -160,8 +160,8 @@
- .LP
- Chaque entrée complète se trouvant dans le cache ARP est marquée de
- l'indicateur
--.B C
--. Les entrées permanentes sont marquées de l'indicateur
-+.BR C .
-+Les entrées permanentes sont marquées de l'indicateur
- .B M
- et les entrées 'pub' ont l'indicateur
- .B P
---- net-tools-1.60/man/fr_FR/hostname.1 1999-04-18 22:23:46.000000000 +0300
-+++ net-tools/man/fr_FR/hostname.1 2001-11-05 15:12:11.000000000 +0200
-@@ -84,8 +84,8 @@
- .LP
- .B hostname
- fournit le nom du système tel qu'il est retourné par la fonction
--.BR getdomainname (2)
--. Ceci est connu comme nom de domaine YP/NIS du système.
-+.BR getdomainname (2).
-+Ceci est connu comme nom de domaine YP/NIS du système.
-
-
- .LP
-@@ -145,8 +145,8 @@
- .LP
- La façon dont vous pouvez le changer dépend de la configuration
- (habituellement dans
--.IR /etc/host.conf )
--. Si le fichier 'hosts' est analysé avant d'interroger le DNS ou
-+.IR /etc/host.conf ).
-+Si le fichier 'hosts' est analysé avant d'interroger le DNS ou
- NIS) vous pouvez le changer dans le fichier
- .IR /etc/hosts .
-
---- net-tools-1.60/man/fr_FR/ifconfig.8 2000-10-28 12:59:42.000000000 +0200
-+++ net-tools/man/fr_FR/ifconfig.8 2001-11-05 15:12:11.000000000 +0200
-@@ -60,14 +60,14 @@
- .TP
- .B "[\-]promisc"
- Valide ou invalide le mode
--.B promiscuous
--. S'il est validé, tous les paquets circulant sur le réseau
-+.BR promiscuous .
-+S'il est validé, tous les paquets circulant sur le réseau
- seront reçus sur cette interface.
- .TP
- .B "[\-]allmulti"
- Valide ou invalide le fonctionnement de l'interface en mode
--.B all-multicast
--. S'il est validé, tous les paquets multicast circulant sur le réseau
-+.BR all-multicast .
-+S'il est validé, tous les paquets multicast circulant sur le réseau
- seront reçus sur cette interface.
- .TP
- .B "metric N"
---- net-tools-1.60/man/fr_FR/netstat.8 1999-04-18 22:24:01.000000000 +0300
-+++ net-tools/man/fr_FR/netstat.8 2001-11-05 15:12:11.000000000 +0200
-@@ -8,7 +8,7 @@
- .\" Modified: Tuan Hoang tuan@optimus.mitre.org
- .\"
- .\"
--.TH NETSTAT 8 "25 Fév 1999" "net-tools" "Linux Programmer's Manual"
-+.TH NETSTAT 8 "29 June 2001" "net-tools" "Linux Programmer's Manual"
-
- .SH NAME
- netstat \- Affiche les connexions réseau, les tables de routage, les
-@@ -118,8 +118,8 @@
- .BR ifconfig (8).
- .B "netstat -ei"
- affiche une table ou une seule entrée d'interface comme la commande
--.B ifconfig
--. Avec le paramètre
-+.BR ifconfig .
-+Avec le paramètre
- .B -a
- , vous pouvez inclure les interfaces qui ne sont pas configurées (c.a.d qui
- n'ont pas l'indicateur
-@@ -249,7 +249,7 @@
- avant d'entreprendre la fermeture.
- .TP
- .I
--CLOSED
-+CLOSE
- La socket n'est pas utilisée.
- .TP
- .I
-@@ -409,8 +409,7 @@
- Depuis la version 2.2 du noyau, netstat -i n'affiche plus les statistiques
- des interfaces alias. Pour obtenir les compteurs par interface alias, vous
- devez définir des règles spécifiques à l'aide de la commande
--.BR ipchains(8)
--.
-+.BR ipchains (8).
-
- .SH FICHIERS
- .ta
---- net-tools-1.60/man/fr_FR/rarp.8 1999-04-18 22:24:05.000000000 +0300
-+++ net-tools/man/fr_FR/rarp.8 2001-11-05 15:12:11.000000000 +0200
-@@ -55,8 +55,8 @@
- Crée manuellement une correspondance d'adresses RARP pour l'hôte
- .B nom_d_hôte
- avec l'adresse matérielle
--.B adr_materielle
--. Le format de l'adresse matérielle est dépendant du matériel,
-+.BR adr_materielle .
-+Le format de l'adresse matérielle est dépendant du matériel,
- mais pour la plupart on peut considérer que la présentation classique
- peut être utilisée. Pour la classe Ethernet, c'est 6 octets en hexadécimal,
- séparés par des double-points.
---- net-tools-1.60/man/pt_BR/rarp.8 1999-04-18 22:24:13.000000000 +0300
-+++ net-tools/man/pt_BR/rarp.8 2001-11-05 15:12:11.000000000 +0200
-@@ -50,8 +50,8 @@
- Cria um mapeamento de endereços RARP para a máquina
- .B máquina
- com endereço de hardware configurado para
--.B endereço_hardware
--. O formato do endereço de hardware depende da classe do hardware, mas
-+.B endereço_hardware.
-+O formato do endereço de hardware depende da classe do hardware, mas
- para a maioria das classes você pode assumir que a apresentação usual pode
- ser usada. Para a classe Ethernet, são 6 bytes em hexadecimal, separados
- por dois pontos (:).
---- net-tools-1.60/mii-tool.c 2000-05-21 16:31:17.000000000 +0200
-+++ net-tools/mii-tool.c 2006-09-27 23:59:18.000000000 +0300
-@@ -29,8 +29,7 @@
- http://www.national.com/pf/DP/DP83840.html
- */
-
--static char version[] =
--"mii-tool.c 1.9 2000/04/28 00:56:08 (David Hinds)\n";
-+static char Version[] = "$Id$\n(Author: David Hinds based on Donald Becker's mii-diag)";
-
- #include <unistd.h>
- #include <stdlib.h>
-@@ -46,16 +45,19 @@
- #include <sys/socket.h>
- #include <sys/ioctl.h>
- #include <net/if.h>
-+#include <linux/sockios.h>
-+
- #ifndef __GLIBC__
- #include <linux/if_arp.h>
- #include <linux/if_ether.h>
- #endif
- #include "mii.h"
-+#include "version.h"
-
- #define MAX_ETH 8 /* Maximum # of interfaces */
-
- /* Table of known MII's */
--static struct {
-+static const struct {
- u_short id1, id2;
- char *name;
- } mii_id[] = {
-@@ -74,6 +76,9 @@
- { 0x0181, 0x4410, "Quality QS6612" },
- { 0x0282, 0x1c50, "SMSC 83C180" },
- { 0x0300, 0xe540, "TDK 78Q2120" },
-+ { 0x0141, 0x0c20, "Yukon 88E1011" },
-+ { 0x0141, 0x0cc0, "Yukon-EC 88E1111" },
-+ { 0x0141, 0x0c90, "Yukon-2 88E1112" },
- };
- #define NMII (sizeof(mii_id)/sizeof(mii_id[0]))
-
-@@ -137,40 +142,48 @@
-
- const struct {
- char *name;
-- u_short value;
-+ u_short value[2];
- } media[] = {
- /* The order through 100baseT4 matches bits in the BMSR */
-- { "10baseT-HD", MII_AN_10BASET_HD },
-- { "10baseT-FD", MII_AN_10BASET_FD },
-- { "100baseTx-HD", MII_AN_100BASETX_HD },
-- { "100baseTx-FD", MII_AN_100BASETX_FD },
-- { "100baseT4", MII_AN_100BASET4 },
-- { "100baseTx", MII_AN_100BASETX_FD | MII_AN_100BASETX_HD },
-- { "10baseT", MII_AN_10BASET_FD | MII_AN_10BASET_HD },
-+ { "10baseT-HD", {MII_AN_10BASET_HD} },
-+ { "10baseT-FD", {MII_AN_10BASET_FD} },
-+ { "100baseTx-HD", {MII_AN_100BASETX_HD} },
-+ { "100baseTx-FD", {MII_AN_100BASETX_FD} },
-+ { "100baseT4", {MII_AN_100BASET4} },
-+ { "100baseTx", {MII_AN_100BASETX_FD | MII_AN_100BASETX_HD} },
-+ { "10baseT", {MII_AN_10BASET_FD | MII_AN_10BASET_HD} },
-+
-+ { "1000baseT-HD", {0, MII_BMCR2_1000HALF} },
-+ { "1000baseT-FD", {0, MII_BMCR2_1000FULL} },
-+ { "1000baseT", {0, MII_BMCR2_1000HALF|MII_BMCR2_1000FULL} },
- };
- #define NMEDIA (sizeof(media)/sizeof(media[0]))
-
- /* Parse an argument list of media types */
--static int parse_media(char *arg)
-+static int parse_media(char *arg, unsigned *bmcr2)
- {
- int mask, i;
- char *s;
- mask = strtoul(arg, &s, 16);
- if ((*arg != '\0') && (*s == '\0')) {
- if ((mask & MII_AN_ABILITY_MASK) &&
-- !(mask & ~MII_AN_ABILITY_MASK))
-- return mask;
-+ !(mask & ~MII_AN_ABILITY_MASK)) {
-+ *bmcr2 = 0;
-+ return mask;
-+ }
- goto failed;
-- } else {
-- mask = 0;
-- s = strtok(arg, ", ");
-- do {
-+ }
-+ mask = 0;
-+ *bmcr2 = 0;
-+ s = strtok(arg, ", ");
-+ do {
- for (i = 0; i < NMEDIA; i++)
-- if (strcasecmp(media[i].name, s) == 0) break;
-+ if (s && strcasecmp(media[i].name, s) == 0) break;
- if (i == NMEDIA) goto failed;
-- mask |= media[i].value;
-- } while ((s = strtok(NULL, ", ")) != NULL);
-- }
-+ mask |= media[i].value[0];
-+ *bmcr2 |= media[i].value[1];
-+ } while ((s = strtok(NULL, ", ")) != NULL);
-+
- return mask;
- failed:
- fprintf(stderr, "Invalid media specification '%s'.\n", arg);
-@@ -179,11 +192,24 @@
-
- /*--------------------------------------------------------------------*/
-
--static char *media_list(int mask, int best)
-+static const char *media_list(unsigned mask, unsigned mask2, int best)
- {
- static char buf[100];
- int i;
- *buf = '\0';
-+
-+ if (mask & MII_BMCR_SPEED1000) {
-+ if (mask2 & MII_BMCR2_1000HALF) {
-+ strcat(buf, " ");
-+ strcat(buf, "1000baseT-HD");
-+ if (best) goto out;
-+ }
-+ if (mask2 & MII_BMCR2_1000FULL) {
-+ strcat(buf, " ");
-+ strcat(buf, "1000baseT-FD");
-+ if (best) goto out;
-+ }
-+ }
- mask >>= 5;
- for (i = 4; i >= 0; i--) {
- if (mask & (1<<i)) {
-@@ -192,6 +218,7 @@
- if (best) break;
- }
- }
-+ out:
- if (mask & (1<<5))
- strcat(buf, " flow-control");
- return buf;
-@@ -201,15 +228,15 @@
- {
- char buf[100];
- int i, mii_val[32];
-- int bmcr, bmsr, advert, lkpar;
-+ unsigned bmcr, bmsr, advert, lkpar, bmcr2, lpa2;
-
- /* Some bits in the BMSR are latched, but we can't rely on being
- the only reader, so only the current values are meaningful */
- mdio_read(sock, MII_BMSR);
-- for (i = 0; i < ((verbose > 1) ? 32 : 8); i++)
-+ for (i = 0; i < ((verbose > 1) ? 32 : MII_BASIC_MAX); i++)
- mii_val[i] = mdio_read(sock, i);
-
-- if (mii_val[MII_BMCR] == 0xffff) {
-+ if (mii_val[MII_BMCR] == 0xffff || mii_val[MII_BMSR] == 0x0000) {
- fprintf(stderr, " No MII transceiver present!.\n");
- return -1;
- }
-@@ -217,6 +244,7 @@
- /* Descriptive rename. */
- bmcr = mii_val[MII_BMCR]; bmsr = mii_val[MII_BMSR];
- advert = mii_val[MII_ANAR]; lkpar = mii_val[MII_ANLPAR];
-+ bmcr2 = mii_val[MII_CTRL1000]; lpa2 = mii_val[MII_STAT1000];
-
- sprintf(buf, "%s: ", ifr.ifr_name);
- if (bmcr & MII_BMCR_AN_ENA) {
-@@ -224,7 +252,7 @@
- if (advert & lkpar) {
- strcat(buf, (lkpar & MII_AN_ACK) ?
- "negotiated" : "no autonegotiation,");
-- strcat(buf, media_list(advert & lkpar, 1));
-+ strcat(buf, media_list(advert & lkpar, bmcr2 & lpa2>>2, 1));
- strcat(buf, ", ");
- } else {
- strcat(buf, "autonegotiation failed, ");
-@@ -234,8 +262,10 @@
- }
- } else {
- sprintf(buf+strlen(buf), "%s Mbit, %s duplex, ",
-- (bmcr & MII_BMCR_100MBIT) ? "100" : "10",
-- (bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
-+ ((bmcr2 & (MII_BMCR2_1000HALF | MII_BMCR2_1000FULL)) & lpa2 >> 2)
-+ ? "1000"
-+ : (bmcr & MII_BMCR_100MBIT) ? "100" : "10",
-+ (bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
- }
- strcat(buf, (bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
-
-@@ -296,12 +326,13 @@
- if (bmsr & MII_BMSR_REMOTE_FAULT)
- printf("remote fault, ");
- printf((bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
-- printf("\n capabilities:%s", media_list(bmsr >> 6, 0));
-- printf("\n advertising: %s", media_list(advert, 0));
-+ printf("\n capabilities:%s", media_list(bmsr >> 6, bmcr2, 0));
-+ printf("\n advertising: %s", media_list(advert, lpa2 >> 2, 0));
- if (lkpar & MII_AN_ABILITY_MASK)
-- printf("\n link partner:%s", media_list(lkpar, 0));
-+ printf("\n link partner:%s", media_list(lkpar, bmcr2, 0));
- printf("\n");
- }
-+ fflush(stdout);
- return 0;
- }
-
-@@ -329,7 +360,7 @@
- printf("resetting the transceiver...\n");
- mdio_write(skfd, MII_BMCR, MII_BMCR_RESET);
- }
-- if (nway_advertise) {
-+ if (nway_advertise > 0) {
- mdio_write(skfd, MII_ANAR, nway_advertise | 1);
- opt_restart = 1;
- }
-@@ -379,27 +410,38 @@
- /*--------------------------------------------------------------------*/
-
- 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: 1000baseTx-HD, 1000baseTx-FD,\n"
-+" 100baseT4, 100baseTx-FD, 100baseTx-HD,\n"
-+" 10baseT-FD, 10baseT-HD,\n"
-+" (to advertise both HD and FD) 1000baseTx, 100baseTx, 10baseT\n";
-+
-+
-+static void version(void)
-+{
-+ fprintf(stderr, "%s\n%s\n", Version, RELEASE);
-+ exit(5); /* E_VERSION */
-+}
-+
-
- int main(int argc, char **argv)
- {
- int i, c, ret, errflag = 0;
- char s[6];
-+ unsigned ctrl1000 = 0;
-
- while ((c = getopt_long(argc, argv, "A:F:p:lrRvVw?", longopts, 0)) != EOF)
- switch (c) {
-- case 'A': nway_advertise = parse_media(optarg); break;
-- case 'F': fixed_speed = parse_media(optarg); break;
-+ case 'A': nway_advertise = parse_media(optarg, &ctrl1000); break;
-+ case 'F': fixed_speed = parse_media(optarg, &ctrl1000); break;
- case 'p': override_phy = atoi(optarg); break;
- case 'r': opt_restart++; break;
- case 'R': opt_reset++; break;
-@@ -411,6 +453,10 @@
- }
- /* Check for a few inappropriate option combinations */
- if (opt_watch) verbose = 0;
-+
-+ if ((nway_advertise < 0) || (fixed_speed < 0))
-+ return 2;
-+
- if (errflag || (fixed_speed & (fixed_speed-1)) ||
- (fixed_speed && (opt_restart || nway_advertise))) {
- fprintf(stderr, usage, argv[0]);
-@@ -418,7 +464,7 @@
- }
-
- if (opt_version)
-- printf(version);
-+ version();
-
- /* Open a basic socket. */
- if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0) {
-@@ -426,6 +472,9 @@
- exit(-1);
- }
-
-+ if (verbose > 1)
-+ printf("Using SIOCGMIIPHY=0x%x\n", SIOCGMIIPHY);
-+
- /* No remaining args means show all interfaces. */
- if (optind == argc) {
- ret = 1;
---- net-tools-1.60/nameif.c 2000-10-18 19:26:29.000000000 +0200
-+++ net-tools/nameif.c 2003-09-11 06:46:49.000000000 +0300
-@@ -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$
-+ * $Id$
- */
- #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;
- }
-@@ -177,7 +175,7 @@
- if (*p == '\0')
- continue;
- n = strcspn(p, " \t");
-- if (n > IFNAMSIZ)
-+ if (n > IFNAMSIZ-1)
- complain(_("interface name too long at line %d"), line);
- memcpy(ch->ifname, p, n);
- ch->ifname[n] = 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);
- }
-
---- net-tools-1.60/netstat.c 2001-04-15 16:41:17.000000000 +0200
-+++ net-tools/netstat.c 2006-03-16 10:59:42.000000000 +0200
-@@ -6,7 +6,7 @@
- * NET-3 Networking Distribution for the LINUX operating
- * system.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Authors: Fred Baumgarten, <dc6iq@insu1.etec.uni-karlsruhe.de>
- * Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
-@@ -216,7 +216,7 @@
-
- static struct prg_node {
- struct prg_node *next;
-- int inode;
-+ unsigned long inode;
- char name[PROGNAME_WIDTH];
- } *prg_hash[PRG_HASH_SIZE];
-
-@@ -249,7 +249,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(unsigned long inode, char *name)
- {
- unsigned hi = PRG_HASHIT(inode);
- struct prg_node **pnp,*pn;
-@@ -272,7 +272,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;
-@@ -295,16 +295,18 @@
- prg_cache_loaded=0;
- }
-
--static void extract_type_1_socket_inode(const char lname[], long * inode_p) {
-+static int extract_type_1_socket_inode(const char lname[], unsigned long * inode_p) {
-
- /* If lname is of the form "socket:[12345]", extract the "12345"
- as *inode_p. Otherwise, return -1 as *inode_p.
- */
-
-- if (strlen(lname) < PRG_SOCKET_PFXl+3) *inode_p = -1;
-- else if (memcmp(lname, PRG_SOCKET_PFX, PRG_SOCKET_PFXl)) *inode_p = -1;
-- else if (lname[strlen(lname)-1] != ']') *inode_p = -1;
-- else {
-+ if (strlen(lname) < PRG_SOCKET_PFXl+3) return(-1);
-+
-+ if (memcmp(lname, PRG_SOCKET_PFX, PRG_SOCKET_PFXl)) return(-1);
-+ if (lname[strlen(lname)-1] != ']') return(-1);
-+
-+ {
- char inode_str[strlen(lname + 1)]; /* e.g. "12345" */
- const int inode_str_len = strlen(lname) - PRG_SOCKET_PFXl - 1;
- char *serr;
-@@ -313,37 +315,41 @@
- inode_str[inode_str_len] = '\0';
- *inode_p = strtol(inode_str,&serr,0);
- if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
-- *inode_p = -1;
-+ return(-1);
- }
-+ return(0);
- }
-
-
-
--static void extract_type_2_socket_inode(const char lname[], long * inode_p) {
-+static int extract_type_2_socket_inode(const char lname[], unsigned long * inode_p) {
-
- /* If lname is of the form "[0000]:12345", extract the "12345"
- as *inode_p. Otherwise, return -1 as *inode_p.
- */
-
-- if (strlen(lname) < PRG_SOCKET_PFX2l+1) *inode_p = -1;
-- else if (memcmp(lname, PRG_SOCKET_PFX2, PRG_SOCKET_PFX2l)) *inode_p = -1;
-- else {
-+ if (strlen(lname) < PRG_SOCKET_PFX2l+1) return(-1);
-+ if (memcmp(lname, PRG_SOCKET_PFX2, PRG_SOCKET_PFX2l)) return(-1);
-+
-+ {
- char *serr;
-
- *inode_p=strtol(lname + PRG_SOCKET_PFX2l,&serr,0);
- if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
-- *inode_p = -1;
-+ return(-1);
- }
-+ return(0);
- }
-
-
-
-+
- static void prg_cache_load(void)
- {
- char line[LINE_MAX],eacces=0;
- int procfdlen,fd,cmdllen,lnamelen;
- char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
-- long inode;
-+ unsigned long inode;
- const char *cs,*cmdlp;
- DIR *dirproc=NULL,*dirfd=NULL;
- struct dirent *direproc,*direfd;
-@@ -386,11 +392,9 @@
- lnamelen=readlink(line,lname,sizeof(lname)-1);
- lname[lnamelen] = '\0'; /*make it a null-terminated string*/
-
-- extract_type_1_socket_inode(lname, &inode);
--
-- if (inode < 0) extract_type_2_socket_inode(lname, &inode);
--
-- if (inode < 0) continue;
-+ if (extract_type_1_socket_inode(lname, &inode) < 0)
-+ if (extract_type_2_socket_inode(lname, &inode) < 0)
-+ continue;
-
- if (!cmdlp) {
- if (procfdlen - PATH_FD_SUFFl + PATH_CMDLINEl >=
-@@ -527,10 +531,10 @@
-
- if (flag_exp > 1) {
- if (!(flag_not & FLAG_NUM_USER) && ((pw = getpwuid(uid)) != NULL))
-- printf("%-10s ", pw->pw_name);
-+ printf(" %-10s ", pw->pw_name);
- else
-- printf("%-10d ", uid);
-- printf("%-10ld ",inode);
-+ printf(" %-10d ", uid);
-+ printf("%-10lu ",inode);
- }
- if (flag_prg)
- printf("%-" PROGNAME_WIDTHs "s",prg_cache_get(inode));
-@@ -705,6 +709,7 @@
- unsigned long rxq, txq, time_len, retr, inode;
- int num, local_port, rem_port, d, state, uid, timer_run, timeout;
- char rem_addr[128], local_addr[128], timers[64], buffer[1024], more[512];
-+ char *protname;
- struct aftype *ap;
- #if HAVE_AFINET6
- struct sockaddr_in6 localaddr, remaddr;
-@@ -719,12 +724,13 @@
- return;
-
- num = sscanf(line,
-- "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
-+ "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
- &d, local_addr, &local_port, rem_addr, &rem_port, &state,
- &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
-
- if (strlen(local_addr) > 8) {
- #if HAVE_AFINET6
-+ protname = "tcp6";
- /* Demangle what the kernel gives us */
- sscanf(local_addr, "%08X%08X%08X%08X",
- &in6.s6_addr32[0], &in6.s6_addr32[1],
-@@ -740,6 +746,7 @@
- remaddr.sin6_family = AF_INET6;
- #endif
- } else {
-+ protname = "tcp";
- sscanf(local_addr, "%X",
- &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
- sscanf(rem_addr, "%X",
-@@ -813,8 +820,8 @@
- timer_run, (double) time_len / HZ, retr, timeout);
- break;
- }
-- printf("tcp %6ld %6ld %-23s %-23s %-12s",
-- rxq, txq, local_addr, rem_addr, _(tcp_state[state]));
-+ printf("%-4s %6ld %6ld %-*s %-*s %-11s",
-+ protname, rxq, txq, netmax(23,strlen(local_addr)), local_addr, netmax(23,strlen(rem_addr)), rem_addr, _(tcp_state[state]));
-
- finish_this_one(uid,inode,timers);
- }
-@@ -831,6 +838,7 @@
- char buffer[8192], local_addr[64], rem_addr[64];
- char *udp_state, timers[64], more[512];
- int num, local_port, rem_port, d, state, timer_run, uid, timeout;
-+ char *protname;
- #if HAVE_AFINET6
- struct sockaddr_in6 localaddr, remaddr;
- char addr6[INET6_ADDRSTRLEN];
-@@ -847,13 +855,14 @@
-
- more[0] = '\0';
- num = sscanf(line,
-- "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
-+ "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
- &d, local_addr, &local_port,
- rem_addr, &rem_port, &state,
- &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
-
- if (strlen(local_addr) > 8) {
- #if HAVE_AFINET6
-+ protname="udp6";
- sscanf(local_addr, "%08X%08X%08X%08X",
- &in6.s6_addr32[0], &in6.s6_addr32[1],
- &in6.s6_addr32[2], &in6.s6_addr32[3]);
-@@ -868,6 +877,7 @@
- remaddr.sin6_family = AF_INET6;
- #endif
- } else {
-+ protname="udp";
- sscanf(local_addr, "%X",
- &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
- sscanf(rem_addr, "%X",
-@@ -953,8 +963,8 @@
- retr, timeout);
- break;
- }
-- printf("udp %6ld %6ld %-23s %-23s %-12s",
-- rxq, txq, local_addr, rem_addr, udp_state);
-+ printf("%-4s %6ld %6ld %-23s %-23s %-11s",
-+ protname, rxq, txq, local_addr, rem_addr, udp_state);
-
- finish_this_one(uid,inode,timers);
- }
-@@ -971,6 +981,7 @@
- char buffer[8192], local_addr[64], rem_addr[64];
- char timers[64], more[512];
- int num, local_port, rem_port, d, state, timer_run, uid, timeout;
-+ char *protname;
- #if HAVE_AFINET6
- struct sockaddr_in6 localaddr, remaddr;
- char addr6[INET6_ADDRSTRLEN];
-@@ -987,12 +998,13 @@
-
- more[0] = '\0';
- num = sscanf(line,
-- "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
-+ "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
- &d, local_addr, &local_port, rem_addr, &rem_port, &state,
- &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
-
- if (strlen(local_addr) > 8) {
- #if HAVE_AFINET6
-+ protname = "raw6";
- sscanf(local_addr, "%08X%08X%08X%08X",
- &in6.s6_addr32[0], &in6.s6_addr32[1],
- &in6.s6_addr32[2], &in6.s6_addr32[3]);
-@@ -1007,6 +1019,7 @@
- remaddr.sin6_family = AF_INET6;
- #endif
- } else {
-+ protname = "raw";
- sscanf(local_addr, "%X",
- &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
- sscanf(rem_addr, "%X",
-@@ -1074,8 +1087,8 @@
- retr, timeout);
- break;
- }
-- printf("raw %6ld %6ld %-23s %-23s %-12d",
-- rxq, txq, local_addr, rem_addr, state);
-+ printf("%-4s %6ld %6ld %-23s %-23s %-11d",
-+ protname, rxq, txq, local_addr, rem_addr, state);
-
- finish_this_one(uid,inode,timers);
- }
-@@ -1099,9 +1112,9 @@
- static int has = 0;
- char path[MAXPATHLEN], ss_flags[32];
- char *ss_proto, *ss_state, *ss_type;
-- int num, state, type, inode;
-+ int num, state, type;
- void *d;
-- unsigned long refcnt, proto, flags;
-+ unsigned long refcnt, proto, flags, inode;
-
- if (nr == 0) {
- if (strstr(line, "Inode"))
-@@ -1109,14 +1122,14 @@
- return;
- }
- path[0] = '\0';
-- num = sscanf(line, "%p: %lX %lX %lX %X %X %d %s",
-+ num = sscanf(line, "%p: %lX %lX %lX %X %X %lu %s",
- &d, &refcnt, &proto, &flags, &type, &state, &inode, path);
- if (num < 6) {
- fprintf(stderr, _("warning, got bogus unix line.\n"));
- return;
- }
- if (!(has & HAS_INODE))
-- snprintf(path,sizeof(path),"%d",inode);
-+ snprintf(path,sizeof(path),"%lu",inode);
-
- if (!flag_all) {
- if ((state == SS_UNCONNECTED) && (flags & SO_ACCEPTCON)) {
-@@ -1208,9 +1221,9 @@
- printf("%-5s %-6ld %-11s %-10s %-13s ",
- ss_proto, refcnt, ss_flags, ss_type, ss_state);
- if (has & HAS_INODE)
-- printf("%-6d ",inode);
-+ printf("%-8lu ",inode);
- else
-- printf("- ");
-+ printf("- ");
- if (flag_prg)
- printf("%-" PROGNAME_WIDTHs "s",(has & HAS_INODE?prg_cache_get(inode):"-"));
- puts(path);
-@@ -1350,18 +1363,37 @@
- char sad[50], dad[50];
- struct sockaddr sa;
- unsigned sport = 0, dport = 0;
--
-- if (!(f = fopen(_PATH_PROCNET_IPX, "r"))) {
-- if (errno != ENOENT) {
-- perror(_PATH_PROCNET_IPX);
-- return (-1);
-- }
-- if (flag_arg || flag_ver)
-- ESYSNOT("netstat", "AF IPX");
-- if (flag_arg)
-- return (1);
-- else
-- return (0);
-+ struct stat s;
-+
-+ f = fopen(_PATH_PROCNET_IPX_SOCKET1, "r");
-+ if (!f) {
-+ if (errno != ENOENT) {
-+ perror(_PATH_PROCNET_IPX_SOCKET1);
-+ return (-1);
-+ }
-+ f = fopen(_PATH_PROCNET_IPX_SOCKET2, "r");
-+
-+ /* We need to check for directory */
-+ if (f) {
-+ fstat(fileno(f), &s);
-+ if (!S_ISREG(s.st_mode)) {
-+ fclose(f);
-+ f=NULL;
-+ }
-+ }
-+
-+ if (!f) {
-+ if (errno != ENOENT) {
-+ perror(_PATH_PROCNET_IPX_SOCKET2);
-+ return (-1);
-+ }
-+ if (flag_arg || flag_ver)
-+ ESYSNOT("netstat", "AF IPX");
-+ if (flag_arg)
-+ return (1);
-+ else
-+ return (0);
-+ }
- }
- printf(_("Active IPX sockets\nProto Recv-Q Send-Q Local Address Foreign Address State")); /* xxx */
- if (flag_exp > 1)
-@@ -1381,7 +1413,7 @@
- sscanf(st, "%X", &sport); /* net byt order */
- sport = ntohs(sport);
- } else {
-- EINTERN("netstat.c", _PATH_PROCNET_IPX " sport format error");
-+ EINTERN("netstat.c", "ipx socket format error in source port");
- return (-1);
- }
- nc = 0;
-@@ -1391,7 +1423,7 @@
- sscanf(st, "%X", &dport); /* net byt order */
- dport = ntohs(dport);
- } else {
-- EINTERN("netstat.c", _PATH_PROCNET_IPX " dport format error");
-+ EINTERN("netstat.c", "ipx soket format error in destination port");
- return (-1);
- }
- } else
-@@ -1449,7 +1481,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) {
-@@ -1457,7 +1489,7 @@
- exit(1);
- }
- if (flag_cnt)
-- free_interface_list();
-+ if_cache_free();
- else {
- close(skfd);
- skfd = -1;
-@@ -1503,7 +1535,7 @@
- fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\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, _(" <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: %s\n"), DFLT_AF);
- fprintf(stderr, _(" List of possible address families (which support routing):\n"));
- print_aflist(1); /* 1 = routeable */
- exit(E_USAGE);
-@@ -1514,7 +1546,7 @@
- (int argc, char *argv[]) {
- int i;
- int lop;
-- struct option longopts[] =
-+ static struct option longopts[] =
- {
- AFTRANS_OPTS,
- {"version", 0, 0, 'V'},
-@@ -1556,7 +1588,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:acdegphinNorstuVv?wxl64", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -1624,6 +1656,14 @@
- case 'o':
- flag_opt++;
- break;
-+ case '6':
-+ if (aftrans_opt("inet6"))
-+ exit(1);
-+ break;
-+ case '4':
-+ if (aftrans_opt("inet"))
-+ exit(1);
-+ break;
- case 'V':
- version();
- /*NOTREACHED */
---- net-tools-1.60/po/de.po 2000-10-28 12:59:43.000000000 +0200
-+++ net-tools/po/de.po 2003-10-26 00:15:09.000000000 +0300
-@@ -1,4 +1,4 @@
--# $Id$
-+# $Id$
- # German translation for net-tools 1.51
- # Copyright (C) 1999 Ralf Bächle <ralf@gnu.org>
- msgid ""
-@@ -64,7 +64,7 @@
-
- #: ../arp.c:467
- msgid "(incomplete)"
--msgstr "(unvollsändig)"
-+msgstr "(unvollständig)"
-
- #: ../arp.c:484
- #, c-format
---- net-tools-1.60/po/et_EE.po 2001-02-16 10:57:47.000000000 +0200
-+++ net-tools/po/et_EE.po 2001-04-16 20:43:27.000000000 +0200
-@@ -1,66 +1,65 @@
- # Estonian translations for net-tools
--# Copyright (C) 1999 Free Software Foundation, Inc.
--# Meelis Roos <Meelis.Roos@mail.ee>, 1999.
-+# Copyright (C) 1999-2001 Free Software Foundation, Inc.
-+# Meelis Roos <mroos@linux.ee>, 1999-2001.
- #
--#, fuzzy
- msgid ""
- msgstr ""
--"Project-Id-Version: net-tools 1.58\n"
--"POT-Creation-Date: 2001-02-15 21:28+0200\n"
--"PO-Revision-Date: 2001-02-15 18:00+0300\n"
-+"Project-Id-Version: net-tools 1.60\n"
-+"POT-Creation-Date: 2001-04-16 20:24+0200\n"
-+"PO-Revision-Date: 2001-04-16 20:30+0200\n"
- "Last-Translator: Meelis Roos <mroos@linux.ee>\n"
- "Language-Team: Estonian <linux-ee@eenet.ee>\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=iso-8859-15\n"
- "Content-Transfer-Encoding: 8bit\n"
-
--#: ../arp.c:110 ../arp.c:269
-+#: ../arp.c:111 ../arp.c:270
- msgid "arp: need host name\n"
- msgstr "arp: puudub hosti nimi\n"
-
--#: ../arp.c:207 ../arp.c:221
-+#: ../arp.c:208 ../arp.c:222
- #, c-format
- msgid "No ARP entry for %s\n"
- msgstr "%s jaoks pole ARP kirjet\n"
-
--#: ../arp.c:239
-+#: ../arp.c:240
- #, c-format
- msgid "arp: cant get HW-Address for `%s': %s.\n"
- msgstr "arp: ei saa riistvaralist aadressi `%s' jaoks: %s\n"
-
--#: ../arp.c:243
-+#: ../arp.c:244
- msgid "arp: protocol type mismatch.\n"
- msgstr "arp: vale protokolli tüüp\n"
-
--#: ../arp.c:252
-+#: ../arp.c:253
- #, c-format
- msgid "arp: device `%s' has HW address %s `%s'.\n"
- msgstr "arp: seadmel `%s' on riistvaraline aadress %s `%s'\n"
-
--#: ../arp.c:282
-+#: ../arp.c:283
- msgid "arp: need hardware address\n"
- msgstr "arp: puudub riistvaraline aadress\n"
-
--#: ../arp.c:290
-+#: ../arp.c:291
- msgid "arp: invalid hardware address\n"
- msgstr "arp: vigane riistvaraline aadress\n"
-
--#: ../arp.c:387
-+#: ../arp.c:388
- #, c-format
- msgid "arp: cannot open etherfile %s !\n"
- msgstr "arp: ei saa avada faili %s\n"
-
--#: ../arp.c:403
-+#: ../arp.c:404
- #, c-format
- msgid "arp: format error on line %u of etherfile %s !\n"
- msgstr "arp: formaadiviga real %u failis %s\n"
-
--#: ../arp.c:416
-+#: ../arp.c:417
- #, c-format
- msgid "arp: cannot set entry on line %u of etherfile %s !\n"
- msgstr "arp: ei saa kehtestada ARP kirjet real %u failis %s\n"
-
--#: ../arp.c:437
-+#: ../arp.c:438
- msgid ""
- "Address HWtype HWaddress Flags Mask "
- "Iface\n"
-@@ -68,45 +67,45 @@
- "Aadress HWtüüp HWaadress Lipud Mask "
- "Liides\n"
-
--#: ../arp.c:467
-+#: ../arp.c:468
- msgid "(incomplete)"
- msgstr "(mittetäielik)"
-
--#: ../arp.c:484
-+#: ../arp.c:485
- #, c-format
- msgid "%s (%s) at "
- msgstr "%s (%s) aadressil "
-
--#: ../arp.c:490
-+#: ../arp.c:491
- msgid "<incomplete> "
- msgstr "<mittetäielik>"
-
--#: ../arp.c:496
-+#: ../arp.c:497
- #, c-format
- msgid "netmask %s "
- msgstr "võrgumask %s "
-
--#: ../arp.c:513
-+#: ../arp.c:514
- #, c-format
- msgid "on %s\n"
- msgstr "liides %s\n"
-
--#: ../arp.c:592
-+#: ../arp.c:593
- #, c-format
- msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
- msgstr "ARP kirjeid kokku: %s\tignoreerisin: %d\tleidsin: %d\n"
-
--#: ../arp.c:596
-+#: ../arp.c:597
- #, c-format
- msgid "%s (%s) -- no entry\n"
- msgstr "%s (%s) -- pole kirjet\n"
-
--#: ../arp.c:598
-+#: ../arp.c:599
- #, c-format
- msgid "arp: in %d entries no match found.\n"
- msgstr "arp: ei leidnud %d kirje hulgast sobivat\n"
-
--#: ../arp.c:613
-+#: ../arp.c:614
- msgid ""
- "Usage:\n"
- " arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP "
-@@ -116,7 +115,7 @@
- "ARP cache vaatamine:\n"
- " arp [-vn] [<HW>] [-i <if>] [-a] [<hosti nimi>]\n"
-
--#: ../arp.c:614
-+#: ../arp.c:615
- msgid ""
- " arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP "
- "entry\n"
-@@ -124,7 +123,7 @@
- "ARP kirje kustutamine:\n"
- " arp [-v] [-i <if>] -d <hosti nimi> [pub] [nopub]\n"
-
--#: ../arp.c:615
-+#: ../arp.c:616
- msgid ""
- " arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
- "file\n"
-@@ -132,7 +131,7 @@
- "ARP kirjete lisamine failist:\n"
- " arp [-vnD] [<HW>] [-i <if>] -f [<failinimi>]\n"
-
--#: ../arp.c:616
-+#: ../arp.c:617
- msgid ""
- " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add "
- "entry\n"
-@@ -140,14 +139,14 @@
- "ARP kirje lisamine:\n"
- " arp [-v] [<HW>] [-i <if>] -s <hosti nimi> <hwaddr> [temp] [nopub]\n"
-
--#: ../arp.c:617
-+#: ../arp.c:618
- msgid ""
- " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub "
- "<-''-\n"
- msgstr ""
- " arp [-v] [<HW>] [-i <if>] -s <hosti nimi> <hwaddr> [netmask <nm>] pub\n"
-
--#: ../arp.c:618
-+#: ../arp.c:619
- msgid ""
- " arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub "
- "<-''-\n"
-@@ -156,7 +155,7 @@
- " arp [-v] [<HW>] [-i <if>] -Ds <hosti nimi> <if> [netmask <nm>] pub\n"
- "\n"
-
--#: ../arp.c:620
-+#: ../arp.c:621
- msgid ""
- " -a display (all) hosts in alternative (BSD) "
- "style\n"
-@@ -164,37 +163,37 @@
- " -a näita kõiki hoste alternatiivsel (BSD) "
- "kujul\n"
-
--#: ../arp.c:621
-+#: ../arp.c:622
- msgid " -s, --set set a new ARP entry\n"
- msgstr " -s, --set uue ARP kirje seadmine\n"
-
--#: ../arp.c:622
-+#: ../arp.c:623
- msgid " -d, --delete delete a specified entry\n"
- msgstr " -d, --delete määratud kirje kustutamine\n"
-
--#: ../arp.c:623 ../netstat.c:1485 ../route.c:85
-+#: ../arp.c:624 ../netstat.c:1490 ../route.c:86
- msgid " -v, --verbose be verbose\n"
- msgstr " -v, --verbose jutukas väljund\n"
-
--#: ../arp.c:624
-+#: ../arp.c:625 ../netstat.c:1491 ../route.c:87
- msgid " -n, --numeric don't resolve names\n"
- msgstr " -n, --numeric mitte lahendada nimesid\n"
-
--#: ../arp.c:625
-+#: ../arp.c:626
- msgid ""
- " -i, --device specify network interface (e.g. eth0)\n"
- msgstr ""
- " -i, --device võrguliidese täpsustamine (näiteks eth0)\n"
-
--#: ../arp.c:626
-+#: ../arp.c:627
- msgid " -D, --use-device read <hwaddr> from given device\n"
- msgstr " -D, --use-device lugeda <hwaddr> vastavalt liideselt\n"
-
--#: ../arp.c:627
-+#: ../arp.c:628
- msgid " -A, -p, --protocol specify protocol family\n"
- msgstr " -A, -p, --protocol protokollipere määramine\n"
-
--#: ../arp.c:628
-+#: ../arp.c:629
- msgid ""
- " -f, --file read new entries from file or from "
- "/etc/ethers\n"
-@@ -204,125 +203,125 @@
- "/etc/ethers'st\n"
- "\n"
-
--#: ../arp.c:630 ../rarp.c:181
-+#: ../arp.c:631 ../rarp.c:182
- #, c-format
- msgid " <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
- msgstr ""
- " <HW>=kasutage '-H <hw>' riistvaralise aadressi määramiseks.\n"
- " Vaikimisi: %s\n"
-
--#: ../arp.c:631 ../rarp.c:182
-+#: ../arp.c:632 ../rarp.c:183
- msgid " List of possible hardware types (which support ARP):\n"
- msgstr " Võimalike ARP-i toetavate riistvara tüüpide nimekiri:\n"
-
--#: ../arp.c:664 ../arp.c:749
-+#: ../arp.c:666 ../arp.c:751
- #, c-format
- msgid "%s: hardware type not supported!\n"
- msgstr "arp: riistvara tüüpi %s ei toetata\n"
-
--#: ../arp.c:668
-+#: ../arp.c:670
- #, c-format
- msgid "%s: address family not supported!\n"
- msgstr "arp: aadressiperekonda %s ei toetata\n"
-
--#: ../arp.c:703
-+#: ../arp.c:705
- msgid "arp: -N not yet supported.\n"
- msgstr "arp: -N toetust pole veel\n"
-
--#: ../arp.c:713
-+#: ../arp.c:715
- #, c-format
- msgid "arp: %s: unknown address family.\n"
- msgstr "arp: tundmatu aadressiperekond %s\n"
-
--#: ../arp.c:722
-+#: ../arp.c:724
- #, c-format
- msgid "arp: %s: unknown hardware type.\n"
- msgstr "arp: tundmatu riistvara tüüp %s\n"
-
--#: ../arp.c:741
-+#: ../arp.c:743
- #, c-format
- msgid "arp: %s: kernel only supports 'inet'.\n"
- msgstr "arp: tuumas on ainult 'inet' aadressiperekonna toetus\n"
-
--#: ../arp.c:754
-+#: ../arp.c:756
- #, c-format
- msgid "arp: %s: hardware type without ARP support.\n"
- msgstr "arp: riistvara tüübil %s pole ARP toetust\n"
-
--#: ../hostname.c:69
-+#: ../hostname.c:70
- #, c-format
- msgid "Setting nodename to `%s'\n"
- msgstr "Sean sõlme nimeks `%s'\n"
-
--#: ../hostname.c:74
-+#: ../hostname.c:75
- #, c-format
- msgid "%s: you must be root to change the node name\n"
- msgstr "%s: ainult root saab sõlme nime muuta\n"
-
--#: ../hostname.c:77 ../hostname.c:97 ../hostname.c:116
-+#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
- #, c-format
- msgid "%s: name too long\n"
- msgstr "%s: nimi on liiga pikk\n"
-
--#: ../hostname.c:89
-+#: ../hostname.c:90
- #, c-format
- msgid "Setting hostname to `%s'\n"
- msgstr "Sean hosti nimeks `%s'\n"
-
--#: ../hostname.c:94
-+#: ../hostname.c:95
- #, c-format
- msgid "%s: you must be root to change the host name\n"
- msgstr "%s: ainult root saab hosti nime muuta\n"
-
--#: ../hostname.c:108
-+#: ../hostname.c:109
- #, c-format
- msgid "Setting domainname to `%s'\n"
- msgstr "Sean domeeni nimeks `%s'\n"
-
--#: ../hostname.c:113
-+#: ../hostname.c:114
- #, c-format
- msgid "%s: you must be root to change the domain name\n"
- msgstr "%s: ainult root saab domeeni nime muuta\n"
-
--#: ../hostname.c:131
-+#: ../hostname.c:132
- #, c-format
- msgid "Resolving `%s' ...\n"
- msgstr "Lahendan `%s' ...\n"
-
--#: ../hostname.c:137
-+#: ../hostname.c:138
- #, c-format
- msgid "Result: h_name=`%s'\n"
- msgstr "Tulemus: h_name=`%s'\n"
-
--#: ../hostname.c:142
-+#: ../hostname.c:143
- #, c-format
- msgid "Result: h_aliases=`%s'\n"
- msgstr "Tulemus: h_aliases=`%s'\n"
-
--#: ../hostname.c:147
-+#: ../hostname.c:148
- #, c-format
- msgid "Result: h_addr_list=`%s'\n"
- msgstr "Tulemus: h_addr_list=`%s'\n"
-
--#: ../hostname.c:209
-+#: ../hostname.c:210
- #, c-format
- msgid "%s: can't open `%s'\n"
- msgstr "%s: ei saa avada faili `%s'\n"
-
--#: ../hostname.c:223
-+#: ../hostname.c:224
- msgid "Usage: hostname [-v] {hostname|-F file} set hostname (from file)\n"
- msgstr ""
- "Kasutamine:\n"
- " hostname [-v] {hosti nimi|-F fail} hosti nime seadmine (ka "
- "failist)\n"
-
--#: ../hostname.c:224
-+#: ../hostname.c:225
- msgid ""
- " domainname [-v] {nisdomain|-F file} set NIS domainname (from file)\n"
- msgstr ""
- " domainname [-v] {nisdomeen|-F fail} NIS domeeni nime seadmine\n"
-
--#: ../hostname.c:226
-+#: ../hostname.c:227
- msgid ""
- " nodename [-v] {nodename|-F file} set DECnet node name (from "
- "file)\n"
-@@ -330,18 +329,18 @@
- " nodename [-v] {nodename|-F fail} DECneti võrgusõlme nime "
- "seadmine\n"
-
--#: ../hostname.c:228
-+#: ../hostname.c:229
- msgid " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] display formatted name\n"
- msgstr ""
- " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] nime näitamine antud formaadis\n"
-
--#: ../hostname.c:229
-+#: ../hostname.c:230
- msgid ""
- " hostname [-v] display hostname\n"
- "\n"
- msgstr " hostname [-v] hosti nime näitamine\n"
-
--#: ../hostname.c:230
-+#: ../hostname.c:231
- msgid ""
- " hostname -V|--version|-h|--help print info and exit\n"
- "\n"
-@@ -350,7 +349,7 @@
- " hostname -h|--help seesama abiinfo\n"
- "\n"
-
--#: ../hostname.c:231
-+#: ../hostname.c:232
- msgid ""
- " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
- "\n"
-@@ -358,36 +357,36 @@
- " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
- "\n"
-
--#: ../hostname.c:232
-+#: ../hostname.c:233
- msgid " -s, --short short host name\n"
- msgstr " -s, --short lühike hosti nimi\n"
-
--#: ../hostname.c:233
-+#: ../hostname.c:234
- msgid " -a, --alias alias names\n"
- msgstr " -a, --alias alias-nimed\n"
-
--#: ../hostname.c:234
-+#: ../hostname.c:235
- msgid " -i, --ip-address addresses for the hostname\n"
- msgstr " -i, --ip-address hosti IP aadressid\n"
-
--#: ../hostname.c:235
-+#: ../hostname.c:236
- msgid " -f, --fqdn, --long long host name (FQDN)\n"
- msgstr ""
- " -f, --fqdn, --long pikk hosti nimi (FQDN - täielik süsteeminimi)\n"
-
--#: ../hostname.c:236
-+#: ../hostname.c:237
- msgid " -d, --domain DNS domain name\n"
- msgstr " -d, --domain DNS domeeni nimi\n"
-
--#: ../hostname.c:237
-+#: ../hostname.c:238
- msgid " -y, --yp, --nis NIS/YP domainname\n"
- msgstr " -y, --yp, --nis NIS/YP domeeni nimi\n"
-
--#: ../hostname.c:239
-+#: ../hostname.c:240
- msgid " -n, --node DECnet node name\n"
- msgstr " -n, --node DECneti võrgusõlme nimi\n"
-
--#: ../hostname.c:241
-+#: ../hostname.c:242
- msgid ""
- " -F, --file read hostname or NIS domainname from given file\n"
- "\n"
-@@ -395,7 +394,7 @@
- " -F, --file lugeda hosti või NIS domeeni nimi failist\n"
- "\n"
-
--#: ../hostname.c:243
-+#: ../hostname.c:244
- msgid ""
- " This command can read or set the hostname or the NIS domainname. You can\n"
- " also read the DNS domain or the FQDN (fully qualified domain name).\n"
-@@ -409,12 +408,12 @@
- " täielikku süsteeminime (FQDN) ja DNS domeeni nime (mis on täieliku nime\n"
- " osa) muuta failist /etc/hosts.\n"
-
--#: ../hostname.c:338
-+#: ../hostname.c:340
- #, c-format
- msgid "%s: You can't change the DNS domain name with this command\n"
- msgstr "%s: selle käsuga ei saa muuta DNS domeeni nime\n"
-
--#: ../hostname.c:339
-+#: ../hostname.c:341
- msgid ""
- "\n"
- "Unless you are using bind or NIS for host lookups you can change the DNS\n"
-@@ -422,26 +421,26 @@
- "\n"
- "Kui Te EI kasuta bind'i ega NIS'i nimede lahendamiseks, saate DNS domeeni\n"
-
--#: ../hostname.c:340
-+#: ../hostname.c:342
- msgid "domain name (which is part of the FQDN) in the /etc/hosts file.\n"
- msgstr "(mis on täieliku nime osa) nime muuta failist /etc/hosts.\n"
-
--#: ../hostname.c:357
-+#: ../hostname.c:359
- #, c-format
- msgid "gethostname()=`%s'\n"
- msgstr "gethostname()=`%s'\n"
-
--#: ../hostname.c:374
-+#: ../hostname.c:376
- #, c-format
- msgid "getdomainname()=`%s'\n"
- msgstr "getdomainname()=`%s'\n"
-
--#: ../hostname.c:389
-+#: ../hostname.c:391
- #, c-format
- msgid "getnodename()=`%s'\n"
- msgstr "getnodename()=`%s'\n"
-
--#: ../ifconfig.c:110
-+#: ../ifconfig.c:108
- msgid ""
- "Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
- "Flg\n"
-@@ -449,16 +448,16 @@
- "Liides MTU Meetr. RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
- "Lip\n"
-
--#: ../ifconfig.c:132 ../ifconfig.c:164
-+#: ../ifconfig.c:130 ../ifconfig.c:162
- #, c-format
- msgid "%s: unknown interface: %s\n"
- msgstr "ifconfig: tundmatu liides %s: %s\n"
-
--#: ../ifconfig.c:156 ../ifconfig.c:740 ../ifconfig.c:831 ../ifconfig.c:937
-+#: ../ifconfig.c:154 ../ifconfig.c:734 ../ifconfig.c:825 ../ifconfig.c:936
- msgid "No support for INET on this system.\n"
- msgstr "Antud süsteem ei toeta INET aadressiperekonda\n"
-
--#: ../ifconfig.c:179
-+#: ../ifconfig.c:177
- msgid ""
- "Usage:\n"
- " ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
-@@ -466,51 +465,51 @@
- "Kasutamine:\n"
- " ifconfig [-a] [-i] [-v] [-s] <liides> [[<AF>] <aadress>]\n"
-
--#: ../ifconfig.c:181
-+#: ../ifconfig.c:179
- msgid " [add <address>[/<prefixlen>]]\n"
- msgstr " [add <aadress>[/<prefiksi pikkus>]]\n"
-
--#: ../ifconfig.c:182
-+#: ../ifconfig.c:180
- msgid " [del <address>[/<prefixlen>]]\n"
- msgstr " [del <aadress>[/<prefiksi pikkus>]]\n"
-
--#: ../ifconfig.c:183
-+#: ../ifconfig.c:181
- msgid " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n"
- msgstr " [[-]broadcast [<aadress>]] [[-]pointopoint [<aadress>]]\n"
-
--#: ../ifconfig.c:184
-+#: ../ifconfig.c:182
- msgid " [netmask <address>] [dstaddr <address>] [tunnel <address>]\n"
- msgstr " [netmask <aadress>] [dstaddr <aadress>] [tunnel <aadress>]\n"
-
--#: ../ifconfig.c:187
-+#: ../ifconfig.c:185
- msgid " [outfill <NN>] [keepalive <NN>]\n"
- msgstr " [outfill <NN>] [keepalive <NN>]\n"
-
--#: ../ifconfig.c:189
-+#: ../ifconfig.c:187
- msgid " [hw <HW> <address>] [metric <NN>] [mtu <NN>]\n"
- msgstr " [hw <HW> <aadress>] [metric <NN>] [mtu <NN>]\n"
-
--#: ../ifconfig.c:190
-+#: ../ifconfig.c:188
- msgid " [[-]trailers] [[-]arp] [[-]allmulti]\n"
- msgstr " [[-]trailers] [[-]arp] [[-]allmulti]\n"
-
--#: ../ifconfig.c:191
-+#: ../ifconfig.c:189
- msgid " [multicast] [[-]promisc]\n"
- msgstr " [multicast] [[-]promisc]\n"
-
--#: ../ifconfig.c:192
-+#: ../ifconfig.c:190
- msgid " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]\n"
- msgstr " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <tüüp>]\n"
-
--#: ../ifconfig.c:194
-+#: ../ifconfig.c:192
- msgid " [txqueuelen <NN>]\n"
- msgstr " [txqueuelen <NN>]\n"
-
--#: ../ifconfig.c:197
-+#: ../ifconfig.c:195
- msgid " [[-]dynamic]\n"
- msgstr " [[-]dynamic]\n"
-
--#: ../ifconfig.c:199
-+#: ../ifconfig.c:197
- msgid ""
- " [up|down] ...\n"
- "\n"
-@@ -518,73 +517,86 @@
- " [up|down] ...\n"
- "\n"
-
--#: ../ifconfig.c:201
-+#: ../ifconfig.c:199
- msgid " <HW>=Hardware Type.\n"
- msgstr " <HW>=riistvara tüüp\n"
-
--#: ../ifconfig.c:202
-+#: ../ifconfig.c:200
- msgid " List of possible hardware types:\n"
- msgstr " Võimalike riistvara tüüpide nimekiri:\n"
-
- #. 1 = ARPable
--#: ../ifconfig.c:204
-+#: ../ifconfig.c:202
- #, c-format
- msgid " <AF>=Address family. Default: %s\n"
- msgstr " <AF>=aadressiperekond, vaikimisi %s\n"
-
--#: ../ifconfig.c:205
-+#: ../ifconfig.c:203
- msgid " List of possible address families:\n"
- msgstr " Võimalike aadressiperekondade nimekiri:\n"
-
--#: ../ifconfig.c:361
-+#: ../ifconfig.c:278
-+#, c-format
-+msgid "ifconfig: option `%s' not recognised.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:280 ../ifconfig.c:925
-+msgid "ifconfig: `--help' gives usage information.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:355
- msgid "Unknown media type.\n"
- msgstr "Tundmatu meedia tüüp\n"
-
--#: ../ifconfig.c:653
-+#: ../ifconfig.c:647
- #, c-format
- msgid "hw address type `%s' has no handler to set address. failed.\n"
- msgstr ""
- "riistvara aadressi tüübil `%s' pole käsitlejat aadressi seadmiseks - ebaõnn\n"
-
--#: ../ifconfig.c:662
-+#: ../ifconfig.c:656
- #, c-format
- msgid "%s: invalid %s address.\n"
- msgstr "%s: vigane %s aadress\n"
-
--#: ../ifconfig.c:706 ../ifconfig.c:796 ../ifconfig.c:882
-+#: ../ifconfig.c:700 ../ifconfig.c:790 ../ifconfig.c:876
- msgid "No support for INET6 on this system.\n"
- msgstr "Antud süsteem ei toeta INET6 aadressiperekonda\n"
-
--#: ../ifconfig.c:749 ../ifconfig.c:840
-+#: ../ifconfig.c:743 ../ifconfig.c:834
- #, c-format
- msgid "Interface %s not initialized\n"
- msgstr "Liides %s pole initsialiseeritud\n"
-
--#: ../ifconfig.c:761 ../ifconfig.c:851
-+#: ../ifconfig.c:755 ../ifconfig.c:845
- msgid "Bad address.\n"
- msgstr "Vigane aadress\n"
-
--#: ../ifconfig.c:854
-+#: ../ifconfig.c:848
- msgid "Address deletion not supported on this system.\n"
- msgstr "Antud süsteem ei toeta aadresside kustutamist\n"
-
--#: ../ifconfig.c:947
-+#: ../ifconfig.c:920
-+msgid "ifconfig: Cannot set address for this protocol family.\n"
-+msgstr "Ei oska seada aadresse selle aadressiperekonna jaoks\n"
-+
-+#: ../ifconfig.c:946
- msgid "No support for ECONET on this system.\n"
- msgstr "Antud süsteem ei toeta ECONET aadressiperekonda\n"
-
--#: ../ifconfig.c:955
-+#: ../ifconfig.c:954
- #, c-format
- msgid "Don't know how to set addresses for family %d.\n"
- msgstr "Ei oska seada aadresse aadressiperekonna %d jaoks\n"
-
--#: ../netstat.c:429
-+#: ../netstat.c:430
- #, c-format
- msgid ""
- "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
- msgstr ""
- "(\"-p\" jaoks ei saanud infot lugeda: geteuid()=%d, aga vaja oleks root'u)\n"
-
--#: ../netstat.c:433
-+#: ../netstat.c:434
- msgid ""
- "(Not all processes could be identified, non-owned process info\n"
- " will not be shown, you would have to be root to see it all.)\n"
-@@ -592,27 +604,27 @@
- "(Mõnesid protsesse ei saanud identifitseerida, teiste kasutajate\n"
- "info lugemiseks peab olema root)\n"
-
--#: ../netstat.c:440 ../netstat.c:1171 ../netstat.c:1248
-+#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
- msgid "LISTENING"
- msgstr "LISTENING"
-
--#: ../netstat.c:441
-+#: ../netstat.c:442
- msgid "CONN SENT"
- msgstr "CONN SENT"
-
--#: ../netstat.c:442 ../netstat.c:1250
-+#: ../netstat.c:443 ../netstat.c:1255
- msgid "DISC SENT"
- msgstr "DISC SENT"
-
--#: ../netstat.c:443 ../netstat.c:510 ../netstat.c:889 ../netstat.c:1251
-+#: ../netstat.c:444 ../netstat.c:511 ../netstat.c:894 ../netstat.c:1256
- msgid "ESTABLISHED"
- msgstr "ESTABLISHED"
-
--#: ../netstat.c:465
-+#: ../netstat.c:466
- msgid "Active NET/ROM sockets\n"
- msgstr "Aktiivsed NET/ROM soklid\n"
-
--#: ../netstat.c:466
-+#: ../netstat.c:467
- msgid ""
- "User Dest Source Device State Vr/Vs Send-Q "
- "Recv-Q\n"
-@@ -620,182 +632,182 @@
- "Kasutaja Sihtpunkt Lähtepunkt Liides Olek Vr/Vs SaatJrk "
- "VvJrk\n"
-
--#: ../netstat.c:476 ../netstat.c:1290
-+#: ../netstat.c:477 ../netstat.c:1295
- #, c-format
- msgid "Problem reading data from %s\n"
- msgstr "Probleem andmete lugemisel failist %s\n"
-
--#: ../netstat.c:511
-+#: ../netstat.c:512
- msgid "SYN_SENT"
- msgstr "SYN_SENT"
-
--#: ../netstat.c:512
-+#: ../netstat.c:513
- msgid "SYN_RECV"
- msgstr "SYN_RECV"
-
--#: ../netstat.c:513
-+#: ../netstat.c:514
- msgid "FIN_WAIT1"
- msgstr "FIN_WAIT1"
-
--#: ../netstat.c:514
-+#: ../netstat.c:515
- msgid "FIN_WAIT2"
- msgstr "FIN_WAIT2"
-
--#: ../netstat.c:515
-+#: ../netstat.c:516
- msgid "TIME_WAIT"
- msgstr "TIME_WAIT"
-
--#: ../netstat.c:516
-+#: ../netstat.c:517
- msgid "CLOSE"
- msgstr "CLOSE"
-
--#: ../netstat.c:517
-+#: ../netstat.c:518
- msgid "CLOSE_WAIT"
- msgstr "CLOSE_WAIT"
-
--#: ../netstat.c:518
-+#: ../netstat.c:519
- msgid "LAST_ACK"
- msgstr "LAST_ACK"
-
--#: ../netstat.c:519
-+#: ../netstat.c:520
- msgid "LISTEN"
- msgstr "LISTEN"
-
--#: ../netstat.c:520
-+#: ../netstat.c:521
- msgid "CLOSING"
- msgstr "CLOSING"
-
--#: ../netstat.c:587
-+#: ../netstat.c:592
- #, c-format
- msgid "warning, got bogus igmp6 line %d.\n"
- msgstr "Hoiatus - sain imeliku igmp6 rea (nr. %d)\n"
-
--#: ../netstat.c:592 ../netstat.c:630 ../netstat.c:751 ../netstat.c:883
--#: ../netstat.c:1014 ../netstat.c:1019
-+#: ../netstat.c:597 ../netstat.c:635 ../netstat.c:756 ../netstat.c:888
-+#: ../netstat.c:1019 ../netstat.c:1024
- #, c-format
- msgid "netstat: unsupported address family %d !\n"
- msgstr "netstat: aadressiperekonda %d ei toetata\n"
-
--#: ../netstat.c:605 ../netstat.c:610 ../netstat.c:618 ../netstat.c:625
-+#: ../netstat.c:610 ../netstat.c:615 ../netstat.c:623 ../netstat.c:630
- #, c-format
- msgid "warning, got bogus igmp line %d.\n"
- msgstr "Hoiatus - sain imeliku igmp rea (nr. %d)\n"
-
--#: ../netstat.c:668
-+#: ../netstat.c:673
- msgid "Active X.25 sockets\n"
- msgstr "Aktiivsed X.25 soklid\n"
-
- #. IMHO, Vr/Vs is not very usefull --SF
--#: ../netstat.c:670
-+#: ../netstat.c:675
- msgid ""
- "Dest Source Device LCI State Vr/Vs Send-Q "
- "Recv-Q\n"
- msgstr ""
- "Sihtpunkt Lähtepunkt Liides LCI Olek Vr/Vs SaatJrk VvJrk\n"
-
--#: ../netstat.c:747
-+#: ../netstat.c:752
- msgid "warning, got bogus tcp line.\n"
- msgstr "Hoiatus - sain imeliku tcp rea\n"
-
--#: ../netstat.c:788 ../netstat.c:938 ../netstat.c:1057
-+#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
- #, c-format
- msgid "off (0.00/%ld/%d)"
- msgstr "eikäi ((0.00/%ld/%d)"
-
--#: ../netstat.c:792
-+#: ../netstat.c:797
- #, c-format
- msgid "on (%2.2f/%ld/%d)"
- msgstr "käib (%2.2f/%ld/%d)"
-
--#: ../netstat.c:797
-+#: ../netstat.c:802
- #, c-format
- msgid "keepalive (%2.2f/%ld/%d)"
- msgstr "keepalive (%2.2f/%ld/%d)"
-
--#: ../netstat.c:802
-+#: ../netstat.c:807
- #, c-format
- msgid "timewait (%2.2f/%ld/%d)"
- msgstr "timewait (%2.2f/%ld/%d)"
-
--#: ../netstat.c:807 ../netstat.c:947 ../netstat.c:1067
-+#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
- #, c-format
- msgid "unkn-%d (%2.2f/%ld/%d)"
- msgstr "eitea-%d (%2.2f/%ld/%d)"
-
--#: ../netstat.c:879
-+#: ../netstat.c:884
- msgid "warning, got bogus udp line.\n"
- msgstr "Hoiatus - sain imeliku udp rea\n"
-
--#: ../netstat.c:897 ../netstat.c:1157 ../netstat.c:1190
-+#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
- msgid "UNKNOWN"
- msgstr "TUNDMATU"
-
--#: ../netstat.c:943 ../netstat.c:1062
-+#: ../netstat.c:948 ../netstat.c:1067
- #, c-format
- msgid "on%d (%2.2f/%ld/%d)"
- msgstr "käib-%d (%2.2f/%ld/%d)"
-
--#: ../netstat.c:1028
-+#: ../netstat.c:1033
- msgid "warning, got bogus raw line.\n"
- msgstr "Hoiatus - sain imeliku raw rea\n"
-
--#: ../netstat.c:1110
-+#: ../netstat.c:1115
- msgid "warning, got bogus unix line.\n"
- msgstr "Hoiatus - sain imeliku unix rea\n"
-
--#: ../netstat.c:1137
-+#: ../netstat.c:1142
- msgid "STREAM"
- msgstr "STREAM"
-
--#: ../netstat.c:1141
-+#: ../netstat.c:1146
- msgid "DGRAM"
- msgstr "DGRAM"
-
--#: ../netstat.c:1145
-+#: ../netstat.c:1150
- msgid "RAW"
- msgstr "RAW"
-
--#: ../netstat.c:1149
-+#: ../netstat.c:1154
- msgid "RDM"
- msgstr "RDM"
-
--#: ../netstat.c:1153
-+#: ../netstat.c:1158
- msgid "SEQPACKET"
- msgstr "SEQPACKET"
-
--#: ../netstat.c:1162
-+#: ../netstat.c:1167
- msgid "FREE"
- msgstr "VABA"
-
--#: ../netstat.c:1178
-+#: ../netstat.c:1183
- msgid "CONNECTING"
- msgstr "ÜHENDUMAS"
-
--#: ../netstat.c:1182
-+#: ../netstat.c:1187
- msgid "CONNECTED"
- msgstr "ÜHENDATUD"
-
--#: ../netstat.c:1186
-+#: ../netstat.c:1191
- msgid "DISCONNECTING"
- msgstr "LAHTIÜHENDUMAS"
-
--#: ../netstat.c:1217
-+#: ../netstat.c:1222
- msgid "Active UNIX domain sockets "
- msgstr "Aktiivsed UNIX domeeni soklid "
-
--#: ../netstat.c:1219 ../netstat.c:1729
-+#: ../netstat.c:1224 ../netstat.c:1735
- msgid "(servers and established)"
- msgstr "(serverid ja ühendatud)"
-
--#: ../netstat.c:1222 ../netstat.c:1732
-+#: ../netstat.c:1227 ../netstat.c:1738
- msgid "(only servers)"
- msgstr "(ainult serverid)"
-
--#: ../netstat.c:1224 ../netstat.c:1734
-+#: ../netstat.c:1229 ../netstat.c:1740
- msgid "(w/o servers)"
- msgstr "(ilma serveriteta)"
-
--#: ../netstat.c:1227
-+#: ../netstat.c:1232
- msgid ""
- "\n"
- "Proto RefCnt Flags Type State I-Node"
-@@ -803,32 +815,32 @@
- "\n"
- "Proto Mitu Lipud Tüüp Olek I-kirje "
-
--#: ../netstat.c:1229
-+#: ../netstat.c:1234
- msgid " Path\n"
- msgstr "Tee\n"
-
--#: ../netstat.c:1249
-+#: ../netstat.c:1254
- msgid "SABM SENT"
- msgstr "SABM SENT"
-
--#: ../netstat.c:1252
-+#: ../netstat.c:1257
- msgid "RECOVERY"
- msgstr "RECOVERY"
-
--#: ../netstat.c:1266
-+#: ../netstat.c:1271
- msgid "Active AX.25 sockets\n"
- msgstr "Aktiivsed AX.25 soklid\n"
-
--#: ../netstat.c:1267
-+#: ../netstat.c:1272
- msgid "Dest Source Device State Vr/Vs Send-Q Recv-Q\n"
- msgstr "Sihtpunkt Lähtepunkt Liides Olek Vr/Vs SaatJrk VvJrk\n"
-
--#: ../netstat.c:1310
-+#: ../netstat.c:1315
- #, c-format
- msgid "problem reading data from %s\n"
- msgstr "Probleem andmete lugemisel failist %s\n"
-
--#: ../netstat.c:1361
-+#: ../netstat.c:1366
- msgid ""
- "Active IPX sockets\n"
- "Proto Recv-Q Send-Q Local Address Foreign Address "
-@@ -838,23 +850,23 @@
- "Proto VvJrk SaatJrk Kohalik aadress Väline aadress "
- "Olek "
-
--#: ../netstat.c:1363
-+#: ../netstat.c:1368
- msgid " User"
- msgstr " Kasutaja"
-
--#: ../netstat.c:1397
-+#: ../netstat.c:1402
- msgid "ESTAB"
- msgstr "ESTAB"
-
--#: ../netstat.c:1405
-+#: ../netstat.c:1410
- msgid "UNK."
- msgstr "UNK."
-
--#: ../netstat.c:1443
-+#: ../netstat.c:1448
- msgid "Kernel Interface table\n"
- msgstr "Tuuma liideste tabel\n"
-
--#: ../netstat.c:1447
-+#: ../netstat.c:1452
- msgid ""
- "Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
- "Flg\n"
-@@ -862,11 +874,11 @@
- "Liides MTU Meetr RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
- "Lip\n"
-
--#: ../netstat.c:1451
-+#: ../netstat.c:1456
- msgid "missing interface information"
- msgstr "Puudulik informatsioon liideste kohta"
-
--#: ../netstat.c:1474
-+#: ../netstat.c:1479
- msgid ""
- "usage: netstat [-veenNcCF] [<Af>] -r netstat "
- "{-V|--version|-h|--help}\n"
-@@ -874,11 +886,11 @@
- "Kasutamine: netstat [-veenNcCF] [<Af>] -r\n"
- " netstat {-V|--version|-h|--help}\n"
-
--#: ../netstat.c:1475
-+#: ../netstat.c:1480
- msgid " netstat [-vnNcaeol] [<Socket> ...]\n"
- msgstr " netstat [-vnNcaeol] [<Sokkel> ...]\n"
-
--#: ../netstat.c:1476
-+#: ../netstat.c:1481
- msgid ""
- " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
- "\n"
-@@ -886,25 +898,25 @@
- " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
- "\n"
-
--#: ../netstat.c:1478
-+#: ../netstat.c:1483
- msgid " -r, --route display routing table\n"
- msgstr " -r, --route ruutingutabeli näitamine\n"
-
--#: ../netstat.c:1479
-+#: ../netstat.c:1484
- msgid " -i, --interfaces display interface table\n"
- msgstr " -i, --interfaces liideste tabeli näitamine\n"
-
--#: ../netstat.c:1480
-+#: ../netstat.c:1485
- msgid " -g, --groups display multicast group memberships\n"
- msgstr " -g, --groups multiedastuse gruppide näitamine\n"
-
--#: ../netstat.c:1481
-+#: ../netstat.c:1486
- msgid ""
- " -s, --statistics display networking statistics (like SNMP)\n"
- msgstr ""
- " -s, --statistics võrgu statistika näitamine (SNMP stiilis)\n"
-
--#: ../netstat.c:1483
-+#: ../netstat.c:1488
- msgid ""
- " -M, --masquerade display masqueraded connections\n"
- "\n"
-@@ -912,36 +924,32 @@
- " -M, --masquerade maskeeritavate ühenduste näitamine\n"
- "\n"
-
--#: ../netstat.c:1486 ../route.c:86
--msgid " -n, --numeric dont resolve names\n"
--msgstr " -n, --numeric mitte lahendada numbreid nimedeks\n"
--
--#: ../netstat.c:1487
--msgid " --numeric-hosts dont resolve host names\n"
-+#: ../netstat.c:1492
-+msgid " --numeric-hosts don't resolve host names\n"
- msgstr " --numeric-hosts mitte lahendada hostinimesid\n"
-
--#: ../netstat.c:1488
--msgid " --numeric-ports dont resolve port names\n"
-+#: ../netstat.c:1493
-+msgid " --numeric-ports don't resolve port names\n"
- msgstr " --numeric-ports mitte lahendada pordinimesid\n"
-
--#: ../netstat.c:1489
--msgid " --numeric-users dont resolve user names\n"
-+#: ../netstat.c:1494
-+msgid " --numeric-users don't resolve user names\n"
- msgstr " --numeric-users mitte lahendada kasutajanimesid\n"
-
--#: ../netstat.c:1490
-+#: ../netstat.c:1495
- msgid " -N, --symbolic resolve hardware names\n"
- msgstr " -N, --symbolic lahendada riistvara aadressid\n"
-
--#: ../netstat.c:1491 ../route.c:87
-+#: ../netstat.c:1496 ../route.c:88
- msgid " -e, --extend display other/more information\n"
- msgstr " -e, --extend muu info/lisainfo näitamine\n"
-
--#: ../netstat.c:1492
-+#: ../netstat.c:1497
- msgid " -p, --programs display PID/Program name for sockets\n"
- msgstr ""
- " -p, --programs soklite kohta PID/protsessi nime näitamine\n"
-
--#: ../netstat.c:1493
-+#: ../netstat.c:1498
- msgid ""
- " -c, --continuous continuous listing\n"
- "\n"
-@@ -949,22 +957,22 @@
- " -c, --continuous pidevalt uuenev nimekiri\n"
- "\n"
-
--#: ../netstat.c:1494
-+#: ../netstat.c:1499
- msgid " -l, --listening display listening server sockets\n"
- msgstr " -l, --listening kuulavate serversoklite näitamine\n"
-
--#: ../netstat.c:1495
-+#: ../netstat.c:1500
- msgid ""
- " -a, --all, --listening display all sockets (default: connected)\n"
- msgstr ""
- " -a, --all, --listening kõigi soklite näitamine (vaikimisi "
- "ühendatud)\n"
-
--#: ../netstat.c:1496
-+#: ../netstat.c:1501
- msgid " -o, --timers display timers\n"
- msgstr " -o, --timers taimerite näitamine\n"
-
--#: ../netstat.c:1497 ../route.c:88
-+#: ../netstat.c:1502 ../route.c:89
- msgid ""
- " -F, --fib display Forwarding Information Base "
- "(default)\n"
-@@ -972,7 +980,7 @@
- " -F, --fib üldiste ruutingutabelite näitamine "
- "(vaikimisi)\n"
-
--#: ../netstat.c:1498 ../route.c:89
-+#: ../netstat.c:1503 ../route.c:90
- msgid ""
- " -C, --cache display routing cache instead of FIB\n"
- "\n"
-@@ -981,7 +989,7 @@
- "näitamine\n"
- "\n"
-
--#: ../netstat.c:1500
-+#: ../netstat.c:1505
- msgid ""
- " <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
- "--netrom\n"
-@@ -989,20 +997,19 @@
- " <Sokkel>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
- "--netrom\n"
-
--#: ../netstat.c:1501 ../route.c:91
--#, c-format
--msgid " <AF>=Use '-A <af>' or '--<af>' Default: %s\n"
--msgstr " <AF>=kasutage '-A <af>' või '--<af>' vaikimisi: %s\n"
-+#: ../netstat.c:1506 ../route.c:92
-+msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
-+msgstr " <AF>=kasutage '-A <af>' või '--<af>'; vaikimisi: %s\n"
-
--#: ../netstat.c:1502 ../route.c:92
-+#: ../netstat.c:1507 ../route.c:93
- msgid " List of possible address families (which support routing):\n"
- msgstr " Võimalike ruutingu toetavate aadressiperekondade nimekiri:\n"
-
--#: ../netstat.c:1726
-+#: ../netstat.c:1732
- msgid "Active Internet connections "
- msgstr "Aktiivsed internetiühendused "
-
--#: ../netstat.c:1736
-+#: ../netstat.c:1742
- msgid ""
- "\n"
- "Proto Recv-Q Send-Q Local Address Foreign Address State "
-@@ -1012,77 +1019,77 @@
- "Proto VvJrk SaatJrk Kohalik aadress Väline aadress Olek "
- " "
-
--#: ../netstat.c:1738
-+#: ../netstat.c:1744
- msgid " User Inode "
- msgstr " Kasutaja I-kirje "
-
--#: ../netstat.c:1741
-+#: ../netstat.c:1747
- msgid " Timer"
- msgstr " Taimer"
-
--#: ../netstat.c:1771
-+#: ../netstat.c:1777
- msgid "IPv4 Group Memberships\n"
- msgstr "IPv4 grupikuuluvused\n"
-
--#: ../netstat.c:1772
-+#: ../netstat.c:1778
- msgid "Interface RefCnt Group\n"
- msgstr "Liides Mitu Grupp\n"
-
--#: ../rarp.c:43
-+#: ../rarp.c:44
- msgid "This kernel does not support RARP.\n"
- msgstr "rarp: tuum ei toeta RARP'i\n"
-
--#: ../rarp.c:82
-+#: ../rarp.c:83
- #, c-format
- msgid "no RARP entry for %s.\n"
- msgstr "rarp: %s jaoks pole RARP kirjet\n"
-
--#: ../rarp.c:95
-+#: ../rarp.c:96
- #, c-format
- msgid "%s: bad hardware address\n"
- msgstr "rarp: vigane riistvaraline aadress %s\n"
-
--#: ../rarp.c:127
-+#: ../rarp.c:128
- #, c-format
- msgid "rarp: cannot open file %s:%s.\n"
- msgstr "rarp: ei saa avada faili %s:%s\n"
-
--#: ../rarp.c:139
-+#: ../rarp.c:140
- #, c-format
- msgid "rarp: format error at %s:%u\n"
- msgstr "rarp: vorminguviga failis %s real %u\n"
-
--#: ../rarp.c:143 ../rarp.c:287
-+#: ../rarp.c:144 ../rarp.c:289
- #, c-format
- msgid "rarp: %s: unknown host\n"
- msgstr "rarp: tundmatu host %s\n"
-
--#: ../rarp.c:146
-+#: ../rarp.c:147
- #, c-format
- msgid "rarp: cannot set entry from %s:%u\n"
- msgstr "rarp: ei saa kehtestada kirjet failist %s realt %u\n"
-
--#: ../rarp.c:175
-+#: ../rarp.c:176
- msgid "Usage: rarp -a list entries in cache.\n"
- msgstr ""
- "Kasutamine:\n"
- " rarp -a puhvris olevate kirjete vaatamine\n"
-
--#: ../rarp.c:176
-+#: ../rarp.c:177
- msgid " rarp -d <hostname> delete entry from cache.\n"
- msgstr " rarp -d <hosti nimi> kirje kustutamine puhvrist\n"
-
--#: ../rarp.c:177
-+#: ../rarp.c:178
- msgid " rarp [<HW>] -s <hostname> <hwaddr> add entry to cache.\n"
- msgstr " rarp [<HW>] -s <hosti nimi> <hwaddr> kirje lisamine puhvrisse\n"
-
--#: ../rarp.c:178
-+#: ../rarp.c:179
- msgid ""
- " rarp -f add entries from /etc/ethers.\n"
- msgstr ""
- " rarp -f kirjete lisamine failist /etc/ethers\n"
-
--#: ../rarp.c:179
-+#: ../rarp.c:180
- msgid ""
- " rarp -V display program version.\n"
- "\n"
-@@ -1090,24 +1097,24 @@
- " rarp -V programmi versiooni näitamine\n"
- "\n"
-
--#: ../rarp.c:236
-+#: ../rarp.c:238
- #, c-format
- msgid "%s: illegal option mix.\n"
- msgstr "%s: lubamatu võtmete kombinatsioon\n"
-
--#: ../rarp.c:267
-+#: ../rarp.c:269
- #, c-format
- msgid "rarp: %s: unknown hardware type.\n"
- msgstr "rarp: tundmatu riistvara tüüp %s\n"
-
--#: ../route.c:79
-+#: ../route.c:80
- msgid ""
- "Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables\n"
- msgstr ""
- "Kasutamine:\n"
- " route [-nNvee] [-FC] [<AF>] Tuuma ruutingutabeli näitamine\n"
-
--#: ../route.c:80
-+#: ../route.c:81
- msgid ""
- " route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.\n"
- "\n"
-@@ -1115,7 +1122,7 @@
- " route [-v] [-FC] {add|del|flush} ... Tuuma ruutingutabeli muutmine\n"
- "\n"
-
--#: ../route.c:82
-+#: ../route.c:83
- msgid ""
- " route {-h|--help} [<AF>] Detailed usage syntax for "
- "specified AF.\n"
-@@ -1123,7 +1130,7 @@
- " route {-h|--help} [<AF>] Detailne süntaks perekonna AF "
- "jaoks\n"
-
--#: ../route.c:83
-+#: ../route.c:84
- msgid ""
- " route {-V|--version} Display version/author and "
- "exit.\n"
-@@ -1149,25 +1156,25 @@
- msgid "%s\tnibble %lu trigger %lu\n"
- msgstr "%s\tnibble %lu trigger %lu\n"
-
--#: ../iptunnel.c:84
-+#: ../iptunnel.c:85
- msgid "Usage: iptunnel { add | change | del | show } [ NAME ]\n"
- msgstr "Kasutamine: iptunnel { add | change | del | show } [ NIMI ]\n"
-
--#: ../iptunnel.c:85
-+#: ../iptunnel.c:86
- msgid ""
- " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
- msgstr ""
- " [ mode { ipip | gre | sit } ] [ remote AADR ] [ local AADR ]\n"
-
--#: ../iptunnel.c:86
-+#: ../iptunnel.c:87
- msgid " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
- msgstr " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
-
--#: ../iptunnel.c:87
-+#: ../iptunnel.c:88
- msgid " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev PHYS_DEV ]\n"
- msgstr " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev LIIDES ]\n"
-
--#: ../iptunnel.c:88
-+#: ../iptunnel.c:89
- msgid ""
- " iptunnel -V | --version\n"
- "\n"
-@@ -1175,83 +1182,83 @@
- " iptunnel -V | --version\n"
- "\n"
-
--#: ../iptunnel.c:89
-+#: ../iptunnel.c:90
- msgid "Where: NAME := STRING\n"
- msgstr "Kus: NIMI := STRING\n"
-
--#: ../iptunnel.c:90
-+#: ../iptunnel.c:91
- msgid " ADDR := { IP_ADDRESS | any }\n"
- msgstr " AADR := { IP_AADRESS | any }\n"
-
--#: ../iptunnel.c:91
-+#: ../iptunnel.c:92
- msgid " TOS := { NUMBER | inherit }\n"
- msgstr " TOS := { ARV | inherit }\n"
-
--#: ../iptunnel.c:92
-+#: ../iptunnel.c:93
- msgid " TTL := { 1..255 | inherit }\n"
- msgstr " TTL := { 1..255 | inherit }\n"
-
--#: ../iptunnel.c:93
-+#: ../iptunnel.c:94
- msgid " KEY := { DOTTED_QUAD | NUMBER }\n"
- msgstr ""
- " KEY := { PUNKTIDEGA_ARVUNELIK | ARV }\n"
- " LIIDES := FÜÜSILISE_LIIDESE_NIMI\n"
-
--#: ../iptunnel.c:331
-+#: ../iptunnel.c:332
- msgid "Keys are not allowed with ipip and sit.\n"
- msgstr "ipip ja sit juures ei ole võtmed lubatud\n"
-
--#: ../iptunnel.c:351
-+#: ../iptunnel.c:352
- msgid "Broadcast tunnel requires a source address.\n"
- msgstr "Leviedastusega tunnel vajab lähteaadressi\n"
-
--#: ../iptunnel.c:366
-+#: ../iptunnel.c:367
- msgid "ttl != 0 and noptmudisc are incompatible\n"
- msgstr "ttl != 0 ning noptmudisc ei sobi kokku\n"
-
--#: ../iptunnel.c:378
-+#: ../iptunnel.c:379
- msgid "cannot determine tunnel mode (ipip, gre or sit)\n"
- msgstr "Ei suuda määrata tunneli moodi (ipip, gre või sit)\n"
-
--#: ../iptunnel.c:416
-+#: ../iptunnel.c:417
- #, c-format
- msgid "%s: %s/ip remote %s local %s "
- msgstr "%s: %s/ip teises otsas %s siin %s "
-
--#: ../iptunnel.c:420
-+#: ../iptunnel.c:421
- msgid "unknown"
- msgstr "tundmatu"
-
--#: ../iptunnel.c:452
-+#: ../iptunnel.c:453
- msgid " Drop packets out of sequence.\n"
- msgstr " Järjekorravälised paketid visatakse minema\n"
-
--#: ../iptunnel.c:454
-+#: ../iptunnel.c:455
- msgid " Checksum in received packet is required.\n"
- msgstr " Vastuvõetavates pakettides on kontrollsumma kohustuslik\n"
-
--#: ../iptunnel.c:456
-+#: ../iptunnel.c:457
- msgid " Sequence packets on output.\n"
- msgstr " Väljuvad paketid varustatakse järjekorranumbritega\n"
-
--#: ../iptunnel.c:458
-+#: ../iptunnel.c:459
- msgid " Checksum output packets.\n"
- msgstr " Väljuvad paketid varustatakse kontrollsummaga\n"
-
--#: ../iptunnel.c:486
-+#: ../iptunnel.c:487
- msgid "Wrong format of /proc/net/dev. Sorry.\n"
- msgstr "/proc/net/dev on vales formaadis. Vale tuuma versioon?\n"
-
--#: ../iptunnel.c:499
-+#: ../iptunnel.c:500
- #, c-format
- msgid "Failed to get type of [%s]\n"
- msgstr "Ei suutnud kindlaks teha liidese %s tüüpi\n"
-
--#: ../iptunnel.c:515
-+#: ../iptunnel.c:516
- msgid "RX: Packets Bytes Errors CsumErrs OutOfSeq Mcasts\n"
- msgstr "RX: Pakette Baite Vigu KSumVigu JrkVigu Levipakette\n"
-
--#: ../iptunnel.c:518
-+#: ../iptunnel.c:519
- msgid "TX: Packets Bytes Errors DeadLoop NoRoute NoBufs\n"
- msgstr "TX: Pakette Baite Vigu DeadLoop EiRuudi MäluOtsas\n"
-
-@@ -1972,15 +1979,15 @@
- msgid "[UNKNOWN]"
- msgstr "[TUNDMATU]"
-
--#: ../lib/inet6_gr.c:79
-+#: ../lib/inet6_gr.c:71
- msgid "INET6 (IPv6) not configured in this system.\n"
- msgstr "INET6 (IPv6) pole antud süsteemis konfigureeritud\n"
-
--#: ../lib/inet6_gr.c:82
-+#: ../lib/inet6_gr.c:74
- msgid "Kernel IPv6 routing table\n"
- msgstr "Tuuma IPv6 ruutingutabel\n"
-
--#: ../lib/inet6_gr.c:84
-+#: ../lib/inet6_gr.c:76
- msgid ""
- "Destination Next Hop "
- " Flags Metric Ref Use Iface\n"
-@@ -1988,11 +1995,11 @@
- "Sihtpunkt Järgmine samm "
- " Lipud Meetr Mitu Kasut Liides\n"
-
--#: ../lib/inet6_gr.c:158
-+#: ../lib/inet6_gr.c:150
- msgid "Kernel IPv6 Neighbour Cache\n"
- msgstr "Tuuma IPv6 naabrite puhver\n"
-
--#: ../lib/inet6_gr.c:161
-+#: ../lib/inet6_gr.c:153
- msgid ""
- "Neighbour HW Address Iface Flags "
- "Ref State\n"
-@@ -2000,7 +2007,7 @@
- "Naaber HW Aadress Liides Lipud "
- "Mitu Olek\n"
-
--#: ../lib/inet6_gr.c:165
-+#: ../lib/inet6_gr.c:157
- msgid ""
- "Neighbour HW Address Iface Flags "
- "Ref State Stale(sec) Delete(sec)\n"
-@@ -2538,29 +2545,29 @@
- msgid "ip: argument is wrong: %s\n"
- msgstr "iptunnel: vale argument %s\n"
-
--#: ../ipmaddr.c:58
-+#: ../ipmaddr.c:61
- msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
- msgstr "Kasutamine: ipmaddr [ add | del ] MULTIAADR dev STRING\n"
-
--#: ../ipmaddr.c:59
-+#: ../ipmaddr.c:62
- msgid " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
- msgstr " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
-
--#: ../ipmaddr.c:60
-+#: ../ipmaddr.c:63
- msgid " ipmaddr -V | -version\n"
- msgstr " ipmaddr -V | -version\n"
-
--#: ../ipmaddr.c:260
-+#: ../ipmaddr.c:263
- #, c-format
- msgid "family %d "
- msgstr "perekond %d "
-
--#: ../ipmaddr.c:269
-+#: ../ipmaddr.c:272
- #, c-format
- msgid " users %d"
- msgstr " kasutajaid %d"
-
--#: ../ipmaddr.c:355
-+#: ../ipmaddr.c:358
- msgid "Cannot create socket"
- msgstr "Ei saa avada soklit"
-
---- net-tools-1.60/po/Makefile 1999-11-20 23:02:59.000000000 +0200
-+++ net-tools/po/Makefile 2005-05-16 06:21:58.000000000 +0300
-@@ -3,7 +3,7 @@
- INSTALL_DATA= ${INSTALL} -m 644
- INSTALLNLSDIR=${BASEDIR}/usr/share/locale
-
--TUPDATE = tupdate
-+TUPDATE = msgmerge
-
- NLSPACKAGE = net-tools
-
-@@ -49,7 +49,7 @@
- lang=`echo $$cat | sed 's/.mo//'`; \
- mv $$lang.po $$lang.old.po; \
- echo "$$lang:"; \
-- if $(TUPDATE) $(NLSPACKAGE).pot $$lang.old.po > $$lang.po; then \
-+ if $(TUPDATE) $$lang.old.po $(NLSPACKAGE).pot > $$lang.po; then \
- rm -f $$lang.old.po; \
- else \
- echo "tupdate for $$cat failed!"; \
---- net-tools-1.60/po/net-tools.pot 2001-04-15 16:40:06.000000000 +0200
-+++ net-tools/po/net-tools.pot 2005-05-16 06:21:58.000000000 +0300
-@@ -1,263 +1,285 @@
- # SOME DESCRIPTIVE TITLE.
--# Copyright (C) YEAR Free Software Foundation, Inc.
-+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-+# This file is distributed under the same license as the PACKAGE package.
- # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
- #
- #, fuzzy
- msgid ""
- msgstr ""
- "Project-Id-Version: PACKAGE VERSION\n"
--"POT-Creation-Date: 2001-04-15 15:40+0100\n"
-+"Report-Msgid-Bugs-To: \n"
-+"POT-Creation-Date: 2005-05-16 05:18+0200\n"
- "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
- "Language-Team: LANGUAGE <LL@li.org>\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=CHARSET\n"
--"Content-Transfer-Encoding: ENCODING\n"
-+"Content-Transfer-Encoding: 8bit\n"
-
--#: ../arp.c:111 ../arp.c:270
-+#: ../arp.c:111 ../arp.c:276
-+#, c-format
- msgid "arp: need host name\n"
- msgstr ""
-
--#: ../arp.c:208 ../arp.c:222
-+#: ../arp.c:213 ../arp.c:228
- #, c-format
- msgid "No ARP entry for %s\n"
- msgstr ""
-
--#: ../arp.c:240
-+#: ../arp.c:246
- #, c-format
- msgid "arp: cant get HW-Address for `%s': %s.\n"
- msgstr ""
-
--#: ../arp.c:244
-+#: ../arp.c:250
-+#, c-format
- msgid "arp: protocol type mismatch.\n"
- msgstr ""
-
--#: ../arp.c:253
-+#: ../arp.c:259
- #, c-format
- msgid "arp: device `%s' has HW address %s `%s'.\n"
- msgstr ""
-
--#: ../arp.c:283
-+#: ../arp.c:289
-+#, c-format
- msgid "arp: need hardware address\n"
- msgstr ""
-
--#: ../arp.c:291
-+#: ../arp.c:297
-+#, c-format
- msgid "arp: invalid hardware address\n"
- msgstr ""
-
--#: ../arp.c:388
-+#: ../arp.c:394
- #, c-format
- msgid "arp: cannot open etherfile %s !\n"
- msgstr ""
-
--#: ../arp.c:404
-+#: ../arp.c:410
- #, c-format
- msgid "arp: format error on line %u of etherfile %s !\n"
- msgstr ""
-
--#: ../arp.c:417
-+#: ../arp.c:423
- #, c-format
- msgid "arp: cannot set entry on line %u of etherfile %s !\n"
- msgstr ""
-
--#: ../arp.c:438
-+#: ../arp.c:444
-+#, c-format
- msgid ""
- "Address HWtype HWaddress Flags Mask "
- "Iface\n"
- msgstr ""
-
--#: ../arp.c:468
-+#: ../arp.c:472
-+msgid "<from_interface>"
-+msgstr ""
-+
-+#: ../arp.c:474
- msgid "(incomplete)"
- msgstr ""
-
--#: ../arp.c:485
-+#: ../arp.c:491
- #, c-format
- msgid "%s (%s) at "
- msgstr ""
-
--#: ../arp.c:491
-+#: ../arp.c:497
-+#, c-format
- msgid "<incomplete> "
- msgstr ""
-
--#: ../arp.c:497
-+#: ../arp.c:503
- #, c-format
- msgid "netmask %s "
- msgstr ""
-
--#: ../arp.c:514
-+#: ../arp.c:520
- #, c-format
- msgid "on %s\n"
- msgstr ""
-
--#: ../arp.c:593
-+#: ../arp.c:599
- #, c-format
- msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
- msgstr ""
-
--#: ../arp.c:597
-+#: ../arp.c:603
- #, c-format
- msgid "%s (%s) -- no entry\n"
- msgstr ""
-
--#: ../arp.c:599
-+#: ../arp.c:605
- #, c-format
- msgid "arp: in %d entries no match found.\n"
- msgstr ""
-
--#: ../arp.c:614
-+#: ../arp.c:620
-+#, c-format
- msgid ""
- "Usage:\n"
- " arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP "
- "cache\n"
- msgstr ""
-
--#: ../arp.c:615
-+#: ../arp.c:621
-+#, c-format
- msgid ""
- " arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP "
- "entry\n"
- msgstr ""
-
--#: ../arp.c:616
-+#: ../arp.c:622
-+#, c-format
- msgid ""
--" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
-+" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
- "file\n"
- msgstr ""
-
--#: ../arp.c:617
-+#: ../arp.c:623
-+#, c-format
- msgid ""
- " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add "
- "entry\n"
- msgstr ""
-
--#: ../arp.c:618
--msgid ""
--" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub "
--"<-''-\n"
--msgstr ""
--
--#: ../arp.c:619
-+#: ../arp.c:624
-+#, c-format
- msgid ""
- " arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub "
- "<-''-\n"
- "\n"
- msgstr ""
-
--#: ../arp.c:621
-+#: ../arp.c:626
-+#, c-format
- msgid ""
- " -a display (all) hosts in alternative (BSD) "
- "style\n"
- msgstr ""
-
--#: ../arp.c:622
-+#: ../arp.c:627
-+#, c-format
- msgid " -s, --set set a new ARP entry\n"
- msgstr ""
-
--#: ../arp.c:623
-+#: ../arp.c:628
-+#, c-format
- msgid " -d, --delete delete a specified entry\n"
- msgstr ""
-
--#: ../arp.c:624 ../netstat.c:1490 ../route.c:86
-+#: ../arp.c:629 ../netstat.c:1503 ../route.c:86
-+#, c-format
- msgid " -v, --verbose be verbose\n"
- msgstr ""
-
--#: ../arp.c:625 ../netstat.c:1491 ../route.c:87
-+#: ../arp.c:630 ../netstat.c:1504 ../route.c:87
-+#, c-format
- msgid " -n, --numeric don't resolve names\n"
- msgstr ""
-
--#: ../arp.c:626
-+#: ../arp.c:631
-+#, c-format
- msgid ""
- " -i, --device specify network interface (e.g. eth0)\n"
- msgstr ""
-
--#: ../arp.c:627
-+#: ../arp.c:632
-+#, c-format
- msgid " -D, --use-device read <hwaddr> from given device\n"
- msgstr ""
-
--#: ../arp.c:628
-+#: ../arp.c:633
-+#, c-format
- msgid " -A, -p, --protocol specify protocol family\n"
- msgstr ""
-
--#: ../arp.c:629
-+#: ../arp.c:634
-+#, c-format
- msgid ""
--" -f, --file read new entries from file or from "
--"/etc/ethers\n"
-+" -f, --file read new entries from file or from /etc/"
-+"ethers\n"
- "\n"
- msgstr ""
-
--#: ../arp.c:631 ../rarp.c:182
-+#: ../arp.c:636 ../rarp.c:182
- #, c-format
- msgid " <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
- msgstr ""
-
--#: ../arp.c:632 ../rarp.c:183
-+#: ../arp.c:637 ../rarp.c:183
-+#, c-format
- msgid " List of possible hardware types (which support ARP):\n"
- msgstr ""
-
--#: ../arp.c:666 ../arp.c:751
-+#: ../arp.c:671 ../arp.c:756
- #, c-format
- msgid "%s: hardware type not supported!\n"
- msgstr ""
-
--#: ../arp.c:670
-+#: ../arp.c:675
- #, c-format
- msgid "%s: address family not supported!\n"
- msgstr ""
-
--#: ../arp.c:705
-+#: ../arp.c:710
-+#, c-format
- msgid "arp: -N not yet supported.\n"
- msgstr ""
-
--#: ../arp.c:715
-+#: ../arp.c:720
- #, c-format
- msgid "arp: %s: unknown address family.\n"
- msgstr ""
-
--#: ../arp.c:724
-+#: ../arp.c:729
- #, c-format
- msgid "arp: %s: unknown hardware type.\n"
- msgstr ""
-
--#: ../arp.c:743
-+#: ../arp.c:748
- #, c-format
- msgid "arp: %s: kernel only supports 'inet'.\n"
- msgstr ""
-
--#: ../arp.c:756
-+#: ../arp.c:761
- #, c-format
- msgid "arp: %s: hardware type without ARP support.\n"
- msgstr ""
-
--#: ../hostname.c:70
-+#: ../hostname.c:71
- #, c-format
- msgid "Setting nodename to `%s'\n"
- msgstr ""
-
--#: ../hostname.c:75
-+#: ../hostname.c:76
- #, c-format
- msgid "%s: you must be root to change the node name\n"
- msgstr ""
-
--#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
-+#: ../hostname.c:79 ../hostname.c:100 ../hostname.c:118
- #, c-format
- msgid "%s: name too long\n"
- msgstr ""
-
--#: ../hostname.c:90
-+#: ../hostname.c:92
- #, c-format
- msgid "Setting hostname to `%s'\n"
- msgstr ""
-
--#: ../hostname.c:95
-+#: ../hostname.c:97
- #, c-format
- msgid "%s: you must be root to change the host name\n"
- msgstr ""
-
--#: ../hostname.c:109
-+#: ../hostname.c:110
- #, c-format
- msgid "Setting domainname to `%s'\n"
- msgstr ""
-
--#: ../hostname.c:114
-+#: ../hostname.c:115
- #, c-format
- msgid "%s: you must be root to change the domain name\n"
- msgstr ""
-@@ -282,83 +304,99 @@
- msgid "Result: h_addr_list=`%s'\n"
- msgstr ""
-
--#: ../hostname.c:210
-+#: ../hostname.c:209
- #, c-format
- msgid "%s: can't open `%s'\n"
- msgstr ""
-
--#: ../hostname.c:224
-+#: ../hostname.c:223
-+#, c-format
- msgid "Usage: hostname [-v] {hostname|-F file} set hostname (from file)\n"
- msgstr ""
-
--#: ../hostname.c:225
-+#: ../hostname.c:224
-+#, c-format
- msgid ""
- " domainname [-v] {nisdomain|-F file} set NIS domainname (from file)\n"
- msgstr ""
-
--#: ../hostname.c:227
-+#: ../hostname.c:226
-+#, c-format
- msgid ""
- " nodename [-v] {nodename|-F file} set DECnet node name (from "
- "file)\n"
- msgstr ""
-
--#: ../hostname.c:229
-+#: ../hostname.c:228
-+#, c-format
- msgid " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] display formatted name\n"
- msgstr ""
-
--#: ../hostname.c:230
-+#: ../hostname.c:229
-+#, c-format
- msgid ""
- " hostname [-v] display hostname\n"
- "\n"
- msgstr ""
-
--#: ../hostname.c:231
-+#: ../hostname.c:230
-+#, c-format
- msgid ""
- " hostname -V|--version|-h|--help print info and exit\n"
- "\n"
- msgstr ""
-
--#: ../hostname.c:232
-+#: ../hostname.c:231
-+#, c-format
- msgid ""
- " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
- "\n"
- msgstr ""
-
--#: ../hostname.c:233
-+#: ../hostname.c:232
-+#, c-format
- msgid " -s, --short short host name\n"
- msgstr ""
-
--#: ../hostname.c:234
-+#: ../hostname.c:233
-+#, c-format
- msgid " -a, --alias alias names\n"
- msgstr ""
-
--#: ../hostname.c:235
-+#: ../hostname.c:234
-+#, c-format
- msgid " -i, --ip-address addresses for the hostname\n"
- msgstr ""
-
--#: ../hostname.c:236
-+#: ../hostname.c:235
-+#, c-format
- msgid " -f, --fqdn, --long long host name (FQDN)\n"
- msgstr ""
-
--#: ../hostname.c:237
-+#: ../hostname.c:236
-+#, c-format
- msgid " -d, --domain DNS domain name\n"
- msgstr ""
-
--#: ../hostname.c:238
-+#: ../hostname.c:237
-+#, c-format
- msgid " -y, --yp, --nis NIS/YP domainname\n"
- msgstr ""
-
--#: ../hostname.c:240
-+#: ../hostname.c:239
-+#, c-format
- msgid " -n, --node DECnet node name\n"
- msgstr ""
-
--#: ../hostname.c:242
-+#: ../hostname.c:241
-+#, c-format
- msgid ""
- " -F, --file read hostname or NIS domainname from given file\n"
- "\n"
- msgstr ""
-
--#: ../hostname.c:244
-+#: ../hostname.c:243
-+#, c-format
- msgid ""
- " This command can read or set the hostname or the NIS domainname. You can\n"
- " also read the DNS domain or the FQDN (fully qualified domain name).\n"
-@@ -373,12 +411,14 @@
- msgstr ""
-
- #: ../hostname.c:341
-+#, c-format
- msgid ""
- "\n"
- "Unless you are using bind or NIS for host lookups you can change the DNS\n"
- msgstr ""
-
- #: ../hostname.c:342
-+#, c-format
- msgid "domain name (which is part of the FQDN) in the /etc/hosts file.\n"
- msgstr ""
-
-@@ -397,557 +437,697 @@
- msgid "getnodename()=`%s'\n"
- msgstr ""
-
--#: ../ifconfig.c:108
-+#: ../ifconfig.c:107 ../netstat.c:1465
-+#, c-format
- msgid ""
--"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
-+"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
- "Flg\n"
- msgstr ""
-
--#: ../ifconfig.c:130 ../ifconfig.c:162
-+#: ../ifconfig.c:129 ../ifconfig.c:161
- #, c-format
--msgid "%s: unknown interface: %s\n"
-+msgid "%s: ERROR while getting interface flags: %s\n"
- msgstr ""
-
--#: ../ifconfig.c:154 ../ifconfig.c:734 ../ifconfig.c:825 ../ifconfig.c:936
-+#: ../ifconfig.c:153 ../ifconfig.c:185 ../ifconfig.c:791 ../ifconfig.c:884
-+#: ../ifconfig.c:997
-+#, c-format
- msgid "No support for INET on this system.\n"
- msgstr ""
-
--#: ../ifconfig.c:177
-+#: ../ifconfig.c:193
-+#, c-format
-+msgid "%s: ERROR while testing interface flags: %s\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:202
-+#, c-format
- msgid ""
- "Usage:\n"
--" ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
-+" ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"
- msgstr ""
-
--#: ../ifconfig.c:179
-+#: ../ifconfig.c:204
-+#, c-format
- msgid " [add <address>[/<prefixlen>]]\n"
- msgstr ""
-
--#: ../ifconfig.c:180
-+#: ../ifconfig.c:205
-+#, c-format
- msgid " [del <address>[/<prefixlen>]]\n"
- msgstr ""
-
--#: ../ifconfig.c:181
-+#: ../ifconfig.c:206
-+#, c-format
- msgid " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n"
- msgstr ""
-
--#: ../ifconfig.c:182
-+#: ../ifconfig.c:207
-+#, c-format
- msgid " [netmask <address>] [dstaddr <address>] [tunnel <address>]\n"
- msgstr ""
-
--#: ../ifconfig.c:185
-+#: ../ifconfig.c:210
-+#, c-format
- msgid " [outfill <NN>] [keepalive <NN>]\n"
- msgstr ""
-
--#: ../ifconfig.c:187
-+#: ../ifconfig.c:212
-+#, c-format
- msgid " [hw <HW> <address>] [metric <NN>] [mtu <NN>]\n"
- msgstr ""
-
--#: ../ifconfig.c:188
-+#: ../ifconfig.c:213
-+#, c-format
- msgid " [[-]trailers] [[-]arp] [[-]allmulti]\n"
- msgstr ""
-
--#: ../ifconfig.c:189
-+#: ../ifconfig.c:214
-+#, c-format
- msgid " [multicast] [[-]promisc]\n"
- msgstr ""
-
--#: ../ifconfig.c:190
-+#: ../ifconfig.c:215
-+#, c-format
- msgid " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]\n"
- msgstr ""
-
--#: ../ifconfig.c:192
-+#: ../ifconfig.c:217
-+#, c-format
- msgid " [txqueuelen <NN>]\n"
- msgstr ""
-
--#: ../ifconfig.c:195
-+#: ../ifconfig.c:220
-+#, c-format
- msgid " [[-]dynamic]\n"
- msgstr ""
-
--#: ../ifconfig.c:197
-+#: ../ifconfig.c:222
-+#, c-format
- msgid ""
- " [up|down] ...\n"
- "\n"
- msgstr ""
-
--#: ../ifconfig.c:199
-+#: ../ifconfig.c:224
-+#, c-format
- msgid " <HW>=Hardware Type.\n"
- msgstr ""
-
--#: ../ifconfig.c:200
-+#: ../ifconfig.c:225
-+#, c-format
- msgid " List of possible hardware types:\n"
- msgstr ""
-
- #. 1 = ARPable
--#: ../ifconfig.c:202
-+#: ../ifconfig.c:227
- #, c-format
- msgid " <AF>=Address family. Default: %s\n"
- msgstr ""
-
--#: ../ifconfig.c:203
-+#: ../ifconfig.c:228
-+#, c-format
- msgid " List of possible address families:\n"
- msgstr ""
-
--#: ../ifconfig.c:278
-+#: ../ifconfig.c:304
- #, c-format
- msgid "ifconfig: option `%s' not recognised.\n"
- msgstr ""
-
--#: ../ifconfig.c:280 ../ifconfig.c:925
-+#: ../ifconfig.c:306 ../ifconfig.c:987
-+#, c-format
- msgid "ifconfig: `--help' gives usage information.\n"
- msgstr ""
-
--#: ../ifconfig.c:355
-+#: ../ifconfig.c:381
-+#, c-format
- msgid "Unknown media type.\n"
- msgstr ""
-
--#: ../ifconfig.c:647
-+#: ../ifconfig.c:418
-+#, c-format
-+msgid ""
-+"Warning: Interface %s still in promisc mode... maybe other application is "
-+"running?\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:430
-+#, c-format
-+msgid "Warning: Interface %s still in MULTICAST mode.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:442
-+#, c-format
-+msgid "Warning: Interface %s still in ALLMULTI mode.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:466
-+#, c-format
-+msgid "Warning: Interface %s still in DYNAMIC mode.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:524
-+#, c-format
-+msgid "Warning: Interface %s still in BROADCAST mode.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:535
-+#, c-format
-+msgid "ifconfig: Error resolving '%s' for broadcast\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:560
-+#, c-format
-+msgid "ifconfig: Error resolving '%s' for dstaddr\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:583
-+#, c-format
-+msgid "ifconfig: Error resolving '%s' for netmask\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:662
-+#, c-format
-+msgid "Warning: Interface %s still in POINTOPOINT mode.\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:673
-+#, c-format
-+msgid "ifconfig: Error resolving '%s' for pointopoint\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:697
- #, c-format
- msgid "hw address type `%s' has no handler to set address. failed.\n"
- msgstr ""
-
--#: ../ifconfig.c:656
-+#: ../ifconfig.c:706
- #, c-format
- msgid "%s: invalid %s address.\n"
- msgstr ""
-
--#: ../ifconfig.c:700 ../ifconfig.c:790 ../ifconfig.c:876
-+#: ../ifconfig.c:746
-+#, c-format
-+msgid "ifconfig: Error resolving '%s' for add\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:757 ../ifconfig.c:847 ../ifconfig.c:935
-+#, c-format
- msgid "No support for INET6 on this system.\n"
- msgstr ""
-
--#: ../ifconfig.c:743 ../ifconfig.c:834
-+#: ../ifconfig.c:800 ../ifconfig.c:893
- #, c-format
- msgid "Interface %s not initialized\n"
- msgstr ""
-
--#: ../ifconfig.c:755 ../ifconfig.c:845
-+#: ../ifconfig.c:812 ../ifconfig.c:904
-+#, c-format
- msgid "Bad address.\n"
- msgstr ""
-
--#: ../ifconfig.c:848
-+#: ../ifconfig.c:907
-+#, c-format
- msgid "Address deletion not supported on this system.\n"
- msgstr ""
-
--#: ../ifconfig.c:920
-+#: ../ifconfig.c:979
-+#, c-format
- msgid "ifconfig: Cannot set address for this protocol family.\n"
- msgstr ""
-
--#: ../ifconfig.c:946
-+#: ../ifconfig.c:986
-+#, c-format
-+msgid "ifconfig: error resolving '%s' to set address for af=%s\n"
-+msgstr ""
-+
-+#: ../ifconfig.c:1007
-+#, c-format
- msgid "No support for ECONET on this system.\n"
- msgstr ""
-
--#: ../ifconfig.c:954
-+#: ../ifconfig.c:1015
- #, c-format
- msgid "Don't know how to set addresses for family %d.\n"
- msgstr ""
-
--#: ../netstat.c:430
-+#: ../ifconfig.c:1050
-+#, c-format
-+msgid "WARNING: at least one error occured. (%d)\n"
-+msgstr ""
-+
-+#: ../netstat.c:434
- #, c-format
- msgid ""
- "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
- msgstr ""
-
--#: ../netstat.c:434
-+#: ../netstat.c:438
-+#, c-format
- msgid ""
- "(Not all processes could be identified, non-owned process info\n"
- " will not be shown, you would have to be root to see it all.)\n"
- msgstr ""
-
--#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
-+#: ../netstat.c:445 ../netstat.c:1189 ../netstat.c:1266
- msgid "LISTENING"
- msgstr ""
-
--#: ../netstat.c:442
-+#: ../netstat.c:446
- msgid "CONN SENT"
- msgstr ""
-
--#: ../netstat.c:443 ../netstat.c:1255
-+#: ../netstat.c:447 ../netstat.c:1268
- msgid "DISC SENT"
- msgstr ""
-
--#: ../netstat.c:444 ../netstat.c:511 ../netstat.c:894 ../netstat.c:1256
-+#: ../netstat.c:448 ../netstat.c:515 ../netstat.c:904 ../netstat.c:1269
- msgid "ESTABLISHED"
- msgstr ""
-
--#: ../netstat.c:466
-+#: ../netstat.c:470
-+#, c-format
- msgid "Active NET/ROM sockets\n"
- msgstr ""
-
--#: ../netstat.c:467
-+#: ../netstat.c:471
-+#, c-format
- msgid ""
--"User Dest Source Device State Vr/Vs Send-Q "
--"Recv-Q\n"
-+"User Dest Source Device State Vr/Vs Send-Q Recv-"
-+"Q\n"
- msgstr ""
-
--#: ../netstat.c:477 ../netstat.c:1295
-+#: ../netstat.c:481 ../netstat.c:1308
- #, c-format
- msgid "Problem reading data from %s\n"
- msgstr ""
-
--#: ../netstat.c:512
-+#: ../netstat.c:516
- msgid "SYN_SENT"
- msgstr ""
-
--#: ../netstat.c:513
-+#: ../netstat.c:517
- msgid "SYN_RECV"
- msgstr ""
-
--#: ../netstat.c:514
-+#: ../netstat.c:518
- msgid "FIN_WAIT1"
- msgstr ""
-
--#: ../netstat.c:515
-+#: ../netstat.c:519
- msgid "FIN_WAIT2"
- msgstr ""
-
--#: ../netstat.c:516
-+#: ../netstat.c:520
- msgid "TIME_WAIT"
- msgstr ""
-
--#: ../netstat.c:517
-+#: ../netstat.c:521
- msgid "CLOSE"
- msgstr ""
-
--#: ../netstat.c:518
-+#: ../netstat.c:522
- msgid "CLOSE_WAIT"
- msgstr ""
-
--#: ../netstat.c:519
-+#: ../netstat.c:523
- msgid "LAST_ACK"
- msgstr ""
-
--#: ../netstat.c:520
-+#: ../netstat.c:524
- msgid "LISTEN"
- msgstr ""
-
--#: ../netstat.c:521
-+#: ../netstat.c:525
- msgid "CLOSING"
- msgstr ""
-
--#: ../netstat.c:592
-+#: ../netstat.c:596
- #, c-format
- msgid "warning, got bogus igmp6 line %d.\n"
- msgstr ""
-
--#: ../netstat.c:597 ../netstat.c:635 ../netstat.c:756 ../netstat.c:888
--#: ../netstat.c:1019 ../netstat.c:1024
-+#: ../netstat.c:601 ../netstat.c:639 ../netstat.c:763 ../netstat.c:898
-+#: ../netstat.c:1032 ../netstat.c:1037
- #, c-format
- msgid "netstat: unsupported address family %d !\n"
- msgstr ""
-
--#: ../netstat.c:610 ../netstat.c:615 ../netstat.c:623 ../netstat.c:630
-+#: ../netstat.c:614 ../netstat.c:619 ../netstat.c:627 ../netstat.c:634
- #, c-format
- msgid "warning, got bogus igmp line %d.\n"
- msgstr ""
-
--#: ../netstat.c:673
-+#: ../netstat.c:677
-+#, c-format
- msgid "Active X.25 sockets\n"
- msgstr ""
-
- #. IMHO, Vr/Vs is not very usefull --SF
--#: ../netstat.c:675
-+#: ../netstat.c:679
-+#, c-format
- msgid ""
--"Dest Source Device LCI State Vr/Vs Send-Q "
--"Recv-Q\n"
-+"Dest Source Device LCI State Vr/Vs Send-Q Recv-"
-+"Q\n"
- msgstr ""
-
--#: ../netstat.c:752
-+#: ../netstat.c:759
-+#, c-format
- msgid "warning, got bogus tcp line.\n"
- msgstr ""
-
--#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
-+#: ../netstat.c:800 ../netstat.c:953 ../netstat.c:1075
- #, c-format
- msgid "off (0.00/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:797
-+#: ../netstat.c:804
- #, c-format
- msgid "on (%2.2f/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:802
-+#: ../netstat.c:809
- #, c-format
- msgid "keepalive (%2.2f/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:807
-+#: ../netstat.c:814
- #, c-format
- msgid "timewait (%2.2f/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
-+#: ../netstat.c:819 ../netstat.c:962 ../netstat.c:1085
- #, c-format
- msgid "unkn-%d (%2.2f/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:884
-+#: ../netstat.c:894
-+#, c-format
- msgid "warning, got bogus udp line.\n"
- msgstr ""
-
--#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
-+#: ../netstat.c:912 ../netstat.c:1175 ../netstat.c:1208
- msgid "UNKNOWN"
- msgstr ""
-
--#: ../netstat.c:948 ../netstat.c:1067
-+#: ../netstat.c:958 ../netstat.c:1080
- #, c-format
- msgid "on%d (%2.2f/%ld/%d)"
- msgstr ""
-
--#: ../netstat.c:1033
-+#: ../netstat.c:1046
-+#, c-format
- msgid "warning, got bogus raw line.\n"
- msgstr ""
-
--#: ../netstat.c:1115
-+#: ../netstat.c:1128
-+#, c-format
- msgid "warning, got bogus unix line.\n"
- msgstr ""
-
--#: ../netstat.c:1142
-+#: ../netstat.c:1155
- msgid "STREAM"
- msgstr ""
-
--#: ../netstat.c:1146
-+#: ../netstat.c:1159
- msgid "DGRAM"
- msgstr ""
-
--#: ../netstat.c:1150
-+#: ../netstat.c:1163
- msgid "RAW"
- msgstr ""
-
--#: ../netstat.c:1154
-+#: ../netstat.c:1167
- msgid "RDM"
- msgstr ""
-
--#: ../netstat.c:1158
-+#: ../netstat.c:1171
- msgid "SEQPACKET"
- msgstr ""
-
--#: ../netstat.c:1167
-+#: ../netstat.c:1180
- msgid "FREE"
- msgstr ""
-
--#: ../netstat.c:1183
-+#: ../netstat.c:1196
- msgid "CONNECTING"
- msgstr ""
-
--#: ../netstat.c:1187
-+#: ../netstat.c:1200
- msgid "CONNECTED"
- msgstr ""
-
--#: ../netstat.c:1191
-+#: ../netstat.c:1204
- msgid "DISCONNECTING"
- msgstr ""
-
--#: ../netstat.c:1222
-+#: ../netstat.c:1235
-+#, c-format
- msgid "Active UNIX domain sockets "
- msgstr ""
-
--#: ../netstat.c:1224 ../netstat.c:1735
-+#: ../netstat.c:1237 ../netstat.c:1756
-+#, c-format
- msgid "(servers and established)"
- msgstr ""
-
--#: ../netstat.c:1227 ../netstat.c:1738
-+#: ../netstat.c:1240 ../netstat.c:1759
-+#, c-format
- msgid "(only servers)"
- msgstr ""
-
--#: ../netstat.c:1229 ../netstat.c:1740
-+#: ../netstat.c:1242 ../netstat.c:1761
-+#, c-format
- msgid "(w/o servers)"
- msgstr ""
-
--#: ../netstat.c:1232
-+#: ../netstat.c:1245
-+#, c-format
- msgid ""
- "\n"
- "Proto RefCnt Flags Type State I-Node"
- msgstr ""
-
--#: ../netstat.c:1234
-+#: ../netstat.c:1247
-+#, c-format
- msgid " Path\n"
- msgstr ""
-
--#: ../netstat.c:1254
-+#: ../netstat.c:1267
- msgid "SABM SENT"
- msgstr ""
-
--#: ../netstat.c:1257
-+#: ../netstat.c:1270
- msgid "RECOVERY"
- msgstr ""
-
--#: ../netstat.c:1271
-+#: ../netstat.c:1284
-+#, c-format
- msgid "Active AX.25 sockets\n"
- msgstr ""
-
--#: ../netstat.c:1272
-+#: ../netstat.c:1285
-+#, c-format
- msgid "Dest Source Device State Vr/Vs Send-Q Recv-Q\n"
- msgstr ""
-
--#: ../netstat.c:1315
-+#: ../netstat.c:1328
- #, c-format
- msgid "problem reading data from %s\n"
- msgstr ""
-
--#: ../netstat.c:1366
-+#: ../netstat.c:1379
-+#, c-format
- msgid ""
- "Active IPX sockets\n"
- "Proto Recv-Q Send-Q Local Address Foreign Address "
- "State"
- msgstr ""
-
--#: ../netstat.c:1368
-+#: ../netstat.c:1381
-+#, c-format
- msgid " User"
- msgstr ""
-
--#: ../netstat.c:1402
-+#: ../netstat.c:1415
- msgid "ESTAB"
- msgstr ""
-
--#: ../netstat.c:1410
-+#: ../netstat.c:1423
- msgid "UNK."
- msgstr ""
-
--#: ../netstat.c:1448
-+#: ../netstat.c:1461
-+#, c-format
- msgid "Kernel Interface table\n"
- msgstr ""
-
--#: ../netstat.c:1452
--msgid ""
--"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
--"Flg\n"
--msgstr ""
--
--#: ../netstat.c:1456
-+#: ../netstat.c:1469
- msgid "missing interface information"
- msgstr ""
-
--#: ../netstat.c:1479
-+#: ../netstat.c:1492
-+#, c-format
- msgid ""
--"usage: netstat [-veenNcCF] [<Af>] -r netstat "
--"{-V|--version|-h|--help}\n"
-+"usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--"
-+"help}\n"
- msgstr ""
-
--#: ../netstat.c:1480
-+#: ../netstat.c:1493
-+#, c-format
- msgid " netstat [-vnNcaeol] [<Socket> ...]\n"
- msgstr ""
-
--#: ../netstat.c:1481
-+#: ../netstat.c:1494
-+#, c-format
- msgid ""
- " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
- "\n"
- msgstr ""
-
--#: ../netstat.c:1483
-+#: ../netstat.c:1496
-+#, c-format
- msgid " -r, --route display routing table\n"
- msgstr ""
-
--#: ../netstat.c:1484
-+#: ../netstat.c:1497
-+#, c-format
- msgid " -i, --interfaces display interface table\n"
- msgstr ""
-
--#: ../netstat.c:1485
-+#: ../netstat.c:1498
-+#, c-format
- msgid " -g, --groups display multicast group memberships\n"
- msgstr ""
-
--#: ../netstat.c:1486
-+#: ../netstat.c:1499
-+#, c-format
- msgid ""
- " -s, --statistics display networking statistics (like SNMP)\n"
- msgstr ""
-
--#: ../netstat.c:1488
-+#: ../netstat.c:1501
-+#, c-format
- msgid ""
- " -M, --masquerade display masqueraded connections\n"
- "\n"
- msgstr ""
-
--#: ../netstat.c:1492
-+#: ../netstat.c:1505
-+#, c-format
- msgid " --numeric-hosts don't resolve host names\n"
- msgstr ""
-
--#: ../netstat.c:1493
-+#: ../netstat.c:1506
-+#, c-format
- msgid " --numeric-ports don't resolve port names\n"
- msgstr ""
-
--#: ../netstat.c:1494
-+#: ../netstat.c:1507
-+#, c-format
- msgid " --numeric-users don't resolve user names\n"
- msgstr ""
-
--#: ../netstat.c:1495
-+#: ../netstat.c:1508
-+#, c-format
- msgid " -N, --symbolic resolve hardware names\n"
- msgstr ""
-
--#: ../netstat.c:1496 ../route.c:88
-+#: ../netstat.c:1509 ../route.c:88
-+#, c-format
- msgid " -e, --extend display other/more information\n"
- msgstr ""
-
--#: ../netstat.c:1497
-+#: ../netstat.c:1510
-+#, c-format
- msgid " -p, --programs display PID/Program name for sockets\n"
- msgstr ""
-
--#: ../netstat.c:1498
-+#: ../netstat.c:1511
-+#, c-format
- msgid ""
- " -c, --continuous continuous listing\n"
- "\n"
- msgstr ""
-
--#: ../netstat.c:1499
-+#: ../netstat.c:1512
-+#, c-format
- msgid " -l, --listening display listening server sockets\n"
- msgstr ""
-
--#: ../netstat.c:1500
-+#: ../netstat.c:1513
-+#, c-format
- msgid ""
- " -a, --all, --listening display all sockets (default: connected)\n"
- msgstr ""
-
--#: ../netstat.c:1501
-+#: ../netstat.c:1514
-+#, c-format
- msgid " -o, --timers display timers\n"
- msgstr ""
-
--#: ../netstat.c:1502 ../route.c:89
-+#: ../netstat.c:1515 ../route.c:89
-+#, c-format
- msgid ""
- " -F, --fib display Forwarding Information Base "
- "(default)\n"
- msgstr ""
-
--#: ../netstat.c:1503 ../route.c:90
-+#: ../netstat.c:1516 ../route.c:90
-+#, c-format
- msgid ""
- " -C, --cache display routing cache instead of FIB\n"
- "\n"
- msgstr ""
-
--#: ../netstat.c:1505
-+#: ../netstat.c:1518
-+#, c-format
- msgid ""
--" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
--"--netrom\n"
-+" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --"
-+"netrom\n"
- msgstr ""
-
--#: ../netstat.c:1506 ../route.c:92
-+#: ../netstat.c:1519
- #, c-format
--msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
-+msgid " <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: %s\n"
- msgstr ""
-
--#: ../netstat.c:1507 ../route.c:93
-+#: ../netstat.c:1520 ../route.c:93
-+#, c-format
- msgid " List of possible address families (which support routing):\n"
- msgstr ""
-
--#: ../netstat.c:1732
-+#: ../netstat.c:1753
-+#, c-format
- msgid "Active Internet connections "
- msgstr ""
-
--#: ../netstat.c:1742
-+#: ../netstat.c:1763
-+#, c-format
- msgid ""
- "\n"
--"Proto Recv-Q Send-Q Local Address Foreign Address State "
--" "
-+"Proto Recv-Q Send-Q Local Address Foreign Address "
-+"State "
- msgstr ""
-
--#: ../netstat.c:1744
-+#: ../netstat.c:1765
-+#, c-format
- msgid " User Inode "
- msgstr ""
-
--#: ../netstat.c:1747
-+#: ../netstat.c:1768
-+#, c-format
- msgid " Timer"
- msgstr ""
-
--#: ../netstat.c:1777
-+#: ../netstat.c:1798
-+#, c-format
- msgid "IPv4 Group Memberships\n"
- msgstr ""
-
--#: ../netstat.c:1778
-+#: ../netstat.c:1799
-+#, c-format
- msgid "Interface RefCnt Group\n"
- msgstr ""
-
-@@ -986,23 +1166,28 @@
- msgstr ""
-
- #: ../rarp.c:176
-+#, c-format
- msgid "Usage: rarp -a list entries in cache.\n"
- msgstr ""
-
- #: ../rarp.c:177
-+#, c-format
- msgid " rarp -d <hostname> delete entry from cache.\n"
- msgstr ""
-
- #: ../rarp.c:178
-+#, c-format
- msgid " rarp [<HW>] -s <hostname> <hwaddr> add entry to cache.\n"
- msgstr ""
-
- #: ../rarp.c:179
-+#, c-format
- msgid ""
- " rarp -f add entries from /etc/ethers.\n"
- msgstr ""
-
- #: ../rarp.c:180
-+#, c-format
- msgid ""
- " rarp -V display program version.\n"
- "\n"
-@@ -1019,38 +1204,50 @@
- msgstr ""
-
- #: ../route.c:80
-+#, c-format
- msgid ""
- "Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables\n"
- msgstr ""
-
- #: ../route.c:81
-+#, c-format
- msgid ""
- " route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.\n"
- "\n"
- msgstr ""
-
- #: ../route.c:83
-+#, c-format
- msgid ""
- " route {-h|--help} [<AF>] Detailed usage syntax for "
- "specified AF.\n"
- msgstr ""
-
- #: ../route.c:84
-+#, c-format
- msgid ""
- " route {-V|--version} Display version/author and "
- "exit.\n"
- "\n"
- msgstr ""
-
-+#: ../route.c:92
-+#, c-format
-+msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
-+msgstr ""
-+
- #: ../plipconfig.c:66
-+#, c-format
- msgid "Usage: plipconfig [-a] [-i] [-v] interface\n"
- msgstr ""
-
- #: ../plipconfig.c:67
-+#, c-format
- msgid " [nibble NN] [trigger NN]\n"
- msgstr ""
-
- #: ../plipconfig.c:68
-+#, c-format
- msgid " plipconfig -V | --version\n"
- msgstr ""
-
-@@ -1060,61 +1257,75 @@
- msgstr ""
-
- #: ../iptunnel.c:85
-+#, c-format
- msgid "Usage: iptunnel { add | change | del | show } [ NAME ]\n"
- msgstr ""
-
- #: ../iptunnel.c:86
-+#, c-format
- msgid ""
- " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
- msgstr ""
-
- #: ../iptunnel.c:87
-+#, c-format
- msgid " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
- msgstr ""
-
- #: ../iptunnel.c:88
-+#, c-format
- msgid " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev PHYS_DEV ]\n"
- msgstr ""
-
- #: ../iptunnel.c:89
-+#, c-format
- msgid ""
- " iptunnel -V | --version\n"
- "\n"
- msgstr ""
-
- #: ../iptunnel.c:90
-+#, c-format
- msgid "Where: NAME := STRING\n"
- msgstr ""
-
- #: ../iptunnel.c:91
-+#, c-format
- msgid " ADDR := { IP_ADDRESS | any }\n"
- msgstr ""
-
- #: ../iptunnel.c:92
-+#, c-format
- msgid " TOS := { NUMBER | inherit }\n"
- msgstr ""
-
- #: ../iptunnel.c:93
-+#, c-format
- msgid " TTL := { 1..255 | inherit }\n"
- msgstr ""
-
- #: ../iptunnel.c:94
-+#, c-format
- msgid " KEY := { DOTTED_QUAD | NUMBER }\n"
- msgstr ""
-
- #: ../iptunnel.c:332
-+#, c-format
- msgid "Keys are not allowed with ipip and sit.\n"
- msgstr ""
-
- #: ../iptunnel.c:352
-+#, c-format
- msgid "Broadcast tunnel requires a source address.\n"
- msgstr ""
-
- #: ../iptunnel.c:367
-+#, c-format
- msgid "ttl != 0 and noptmudisc are incompatible\n"
- msgstr ""
-
- #: ../iptunnel.c:379
-+#, c-format
- msgid "cannot determine tunnel mode (ipip, gre or sit)\n"
- msgstr ""
-
-@@ -1128,22 +1339,27 @@
- msgstr ""
-
- #: ../iptunnel.c:453
-+#, c-format
- msgid " Drop packets out of sequence.\n"
- msgstr ""
-
- #: ../iptunnel.c:455
-+#, c-format
- msgid " Checksum in received packet is required.\n"
- msgstr ""
-
- #: ../iptunnel.c:457
-+#, c-format
- msgid " Sequence packets on output.\n"
- msgstr ""
-
- #: ../iptunnel.c:459
-+#, c-format
- msgid " Checksum output packets.\n"
- msgstr ""
-
- #: ../iptunnel.c:487
-+#, c-format
- msgid "Wrong format of /proc/net/dev. Sorry.\n"
- msgstr ""
-
-@@ -1153,10 +1369,12 @@
- msgstr ""
-
- #: ../iptunnel.c:516
-+#, c-format
- msgid "RX: Packets Bytes Errors CsumErrs OutOfSeq Mcasts\n"
- msgstr ""
-
- #: ../iptunnel.c:519
-+#, c-format
- msgid "TX: Packets Bytes Errors DeadLoop NoRoute NoBufs\n"
- msgstr ""
-
-@@ -1323,287 +1541,487 @@
-
- #: ../statistics.c:99
- #, c-format
--msgid "address mask request: %u"
-+msgid "address mask request: %u"
-+msgstr ""
-+
-+#. ?
-+#: ../statistics.c:100 ../statistics.c:113
-+#, c-format
-+msgid "address mask replies: %u"
-+msgstr ""
-+
-+#. ?
-+#: ../statistics.c:101
-+#, c-format
-+msgid "%u ICMP messages sent"
-+msgstr ""
-+
-+#: ../statistics.c:102
-+#, c-format
-+msgid "%u ICMP messages failed"
-+msgstr ""
-+
-+#: ../statistics.c:104
-+#, c-format
-+msgid "time exceeded: %u"
-+msgstr ""
-+
-+#. ?
-+#: ../statistics.c:106
-+#, c-format
-+msgid "source quench: %u"
-+msgstr ""
-+
-+#: ../statistics.c:107
-+#, c-format
-+msgid "redirect: %u"
-+msgstr ""
-+
-+#: ../statistics.c:108
-+#, c-format
-+msgid "echo request: %u"
-+msgstr ""
-+
-+#: ../statistics.c:110
-+#, c-format
-+msgid "timestamp requests: %u"
-+msgstr ""
-+
-+#: ../statistics.c:111
-+#, c-format
-+msgid "timestamp replies: %u"
-+msgstr ""
-+
-+#: ../statistics.c:112
-+#, c-format
-+msgid "address mask requests: %u"
-+msgstr ""
-+
-+#: ../statistics.c:118
-+#, c-format
-+msgid "RTO algorithm is %s"
-+msgstr ""
-+
-+#: ../statistics.c:122
-+#, c-format
-+msgid "%u active connections openings"
-+msgstr ""
-+
-+#: ../statistics.c:123
-+#, c-format
-+msgid "%u passive connection openings"
-+msgstr ""
-+
-+#: ../statistics.c:124
-+#, c-format
-+msgid "%u failed connection attempts"
-+msgstr ""
-+
-+#: ../statistics.c:125
-+#, c-format
-+msgid "%u connection resets received"
-+msgstr ""
-+
-+#: ../statistics.c:126
-+#, c-format
-+msgid "%u connections established"
-+msgstr ""
-+
-+#: ../statistics.c:127
-+#, c-format
-+msgid "%u segments received"
-+msgstr ""
-+
-+#: ../statistics.c:128
-+#, c-format
-+msgid "%u segments send out"
-+msgstr ""
-+
-+#: ../statistics.c:129
-+#, c-format
-+msgid "%u segments retransmited"
-+msgstr ""
-+
-+#: ../statistics.c:130
-+#, c-format
-+msgid "%u bad segments received."
-+msgstr ""
-+
-+#: ../statistics.c:131
-+#, c-format
-+msgid "%u resets sent"
-+msgstr ""
-+
-+#: ../statistics.c:136
-+#, c-format
-+msgid "%u packets received"
-+msgstr ""
-+
-+#: ../statistics.c:137
-+#, c-format
-+msgid "%u packets to unknown port received."
-+msgstr ""
-+
-+#: ../statistics.c:138
-+#, c-format
-+msgid "%u packet receive errors"
-+msgstr ""
-+
-+#: ../statistics.c:139
-+#, c-format
-+msgid "%u packets sent"
-+msgstr ""
-+
-+#: ../statistics.c:144
-+#, c-format
-+msgid "%u SYN cookies sent"
-+msgstr ""
-+
-+#: ../statistics.c:145
-+#, c-format
-+msgid "%u SYN cookies received"
-+msgstr ""
-+
-+#: ../statistics.c:146
-+#, c-format
-+msgid "%u invalid SYN cookies received"
-+msgstr ""
-+
-+#: ../statistics.c:148
-+#, c-format
-+msgid "%u resets received for embryonic SYN_RECV sockets"
-+msgstr ""
-+
-+#: ../statistics.c:150
-+#, c-format
-+msgid "%u packets pruned from receive queue because of socket buffer overrun"
-+msgstr ""
-+
-+#. obsolete: 2.2.0 doesn't do that anymore
-+#: ../statistics.c:153
-+#, c-format
-+msgid "%u packets pruned from receive queue"
-+msgstr ""
-+
-+#: ../statistics.c:154
-+#, c-format
-+msgid ""
-+"%u packets dropped from out-of-order queue because of socket buffer overrun"
-+msgstr ""
-+
-+#: ../statistics.c:156
-+#, c-format
-+msgid "%u ICMP packets dropped because they were out-of-window"
-+msgstr ""
-+
-+#: ../statistics.c:158
-+#, c-format
-+msgid "%u ICMP packets dropped because socket was locked"
-+msgstr ""
-+
-+#: ../statistics.c:160
-+#, c-format
-+msgid "%u TCP sockets finished time wait in fast timer"
-+msgstr ""
-+
-+#: ../statistics.c:161
-+#, c-format
-+msgid "%u time wait sockets recycled by time stamp"
-+msgstr ""
-+
-+#: ../statistics.c:162
-+#, c-format
-+msgid "%u TCP sockets finished time wait in slow timer"
-+msgstr ""
-+
-+#: ../statistics.c:163
-+#, c-format
-+msgid "%u passive connections rejected because of time stamp"
-+msgstr ""
-+
-+#: ../statistics.c:165
-+#, c-format
-+msgid "%u active connections rejected because of time stamp"
-+msgstr ""
-+
-+#: ../statistics.c:167
-+#, c-format
-+msgid "%u packets rejects in established connections because of timestamp"
- msgstr ""
-
--#. ?
--#: ../statistics.c:100 ../statistics.c:113
-+#: ../statistics.c:169
- #, c-format
--msgid "address mask replies: %u"
-+msgid "%u delayed acks sent"
- msgstr ""
-
--#. ?
--#: ../statistics.c:101
-+#: ../statistics.c:170
- #, c-format
--msgid "%u ICMP messages sent"
-+msgid "%u delayed acks further delayed because of locked socket"
- msgstr ""
-
--#: ../statistics.c:102
-+#: ../statistics.c:172
- #, c-format
--msgid "%u ICMP messages failed"
-+msgid "Quick ack mode was activated %u times"
- msgstr ""
-
--#: ../statistics.c:104
-+#: ../statistics.c:173
- #, c-format
--msgid "time exceeded: %u"
-+msgid "%u times the listen queue of a socket overflowed"
- msgstr ""
-
--#. ?
--#: ../statistics.c:106
-+#: ../statistics.c:175
- #, c-format
--msgid "source quench: %u"
-+msgid "%u SYNs to LISTEN sockets dropped"
- msgstr ""
-
--#: ../statistics.c:107
-+#: ../statistics.c:176
- #, c-format
--msgid "redirect: %u"
-+msgid "%u packets directly queued to recvmsg prequeue."
- msgstr ""
-
--#: ../statistics.c:108
-+#: ../statistics.c:178
- #, c-format
--msgid "echo request: %u"
-+msgid "%u bytes directly in process context from backlog"
- msgstr ""
-
--#: ../statistics.c:110
-+#: ../statistics.c:179
- #, c-format
--msgid "timestamp requests: %u"
-+msgid "%u bytes directly received in process context from prequeue"
- msgstr ""
-
--#: ../statistics.c:111
-+#: ../statistics.c:181
- #, c-format
--msgid "timestamp replies: %u"
-+msgid "%u packets dropped from prequeue"
- msgstr ""
-
--#: ../statistics.c:112
-+#: ../statistics.c:182
- #, c-format
--msgid "address mask requests: %u"
-+msgid "%u packet headers predicted"
- msgstr ""
-
--#: ../statistics.c:118
-+#: ../statistics.c:183
- #, c-format
--msgid "RTO algorithm is %s"
-+msgid "%u packets header predicted and directly queued to user"
- msgstr ""
-
--#: ../statistics.c:122
-+#: ../statistics.c:185
- #, c-format
--msgid "%u active connections openings"
-+msgid "Ran %u times out of system memory during packet sending"
- msgstr ""
-
--#: ../statistics.c:123
-+#: ../statistics.c:187
- #, c-format
--msgid "%u passive connection openings"
-+msgid "%u acknowledgments not containing data payload received"
- msgstr ""
-
--#: ../statistics.c:124
-+#: ../statistics.c:188
- #, c-format
--msgid "%u failed connection attempts"
-+msgid "%u predicted acknowledgments"
- msgstr ""
-
--#: ../statistics.c:125
-+#: ../statistics.c:189
- #, c-format
--msgid "%u connection resets received"
-+msgid "%u times recovered from packet loss due to fast retransmit"
- msgstr ""
-
--#: ../statistics.c:126
-+#: ../statistics.c:190
- #, c-format
--msgid "%u connections established"
-+msgid "%u times recovered from packet loss by selective acknowledgements"
- msgstr ""
-
--#: ../statistics.c:127
-+#: ../statistics.c:191
- #, c-format
--msgid "%u segments received"
-+msgid "%u bad SACK blocks received"
- msgstr ""
-
--#: ../statistics.c:128
-+#: ../statistics.c:192
- #, c-format
--msgid "%u segments send out"
-+msgid "Detected reordering %u times using FACK"
- msgstr ""
-
--#: ../statistics.c:129
-+#: ../statistics.c:193
- #, c-format
--msgid "%u segments retransmited"
-+msgid "Detected reordering %u times using SACK"
- msgstr ""
-
--#: ../statistics.c:130
-+#: ../statistics.c:194
- #, c-format
--msgid "%u bad segments received."
-+msgid "Detected reordering %u times using time stamp"
- msgstr ""
-
--#: ../statistics.c:131
-+#: ../statistics.c:195
- #, c-format
--msgid "%u resets sent"
-+msgid "Detected reordering %u times using reno fast retransmit"
- msgstr ""
-
--#: ../statistics.c:136
-+#: ../statistics.c:196
- #, c-format
--msgid "%u packets received"
-+msgid "%u congestion windows fully recovered without slow start"
- msgstr ""
-
--#: ../statistics.c:137
-+#: ../statistics.c:197
- #, c-format
--msgid "%u packets to unknown port received."
-+msgid "%u congestion windows partially recovered using Hoe heuristic"
- msgstr ""
-
--#: ../statistics.c:138
-+#: ../statistics.c:198
- #, c-format
--msgid "%u packet receive errors"
-+msgid "%u congestion window recovered without slow start using DSACK"
- msgstr ""
-
--#: ../statistics.c:139
-+#: ../statistics.c:199
- #, c-format
--msgid "%u packets sent"
-+msgid "%u congestion windows recovered without slow start after partial ack"
- msgstr ""
-
--#: ../statistics.c:144
-+#: ../statistics.c:200
- #, c-format
--msgid "%u SYN cookies sent"
-+msgid "%u retransmits lost"
- msgstr ""
-
--#: ../statistics.c:145
-+#: ../statistics.c:201
- #, c-format
--msgid "%u SYN cookies received"
-+msgid "%u timeouts after reno fast retransmit"
- msgstr ""
-
--#: ../statistics.c:146
-+#: ../statistics.c:202
- #, c-format
--msgid "%u invalid SYN cookies received"
-+msgid "%u timeouts after SACK recovery"
- msgstr ""
-
--#: ../statistics.c:148
-+#: ../statistics.c:203
- #, c-format
--msgid "%u resets received for embryonic SYN_RECV sockets"
-+msgid "%u timeouts in loss state"
- msgstr ""
-
--#: ../statistics.c:150
-+#: ../statistics.c:204
- #, c-format
--msgid "%u packets pruned from receive queue because of socket buffer overrun"
-+msgid "%u fast retransmits"
- msgstr ""
-
--#. obsolete: 2.2.0 doesn't do that anymore
--#: ../statistics.c:153
-+#: ../statistics.c:205
- #, c-format
--msgid "%u packets pruned from receive queue"
-+msgid "%u forward retransmits"
- msgstr ""
-
--#: ../statistics.c:154
-+#: ../statistics.c:206
- #, c-format
--msgid ""
--"%u packets dropped from out-of-order queue because of socket buffer overrun"
-+msgid "%u retransmits in slow start"
- msgstr ""
-
--#: ../statistics.c:156
-+#: ../statistics.c:207
- #, c-format
--msgid "%u ICMP packets dropped because they were out-of-window"
-+msgid "%u other TCP timeouts"
- msgstr ""
-
--#: ../statistics.c:158
-+#: ../statistics.c:208
- #, c-format
--msgid "%u ICMP packets dropped because socket was locked"
-+msgid "%u reno fast retransmits failed"
- msgstr ""
-
--#: ../statistics.c:160
-+#: ../statistics.c:209
- #, c-format
--msgid "%u TCP sockets finished time wait in fast timer"
-+msgid "%u SACK retransmits failed"
- msgstr ""
-
--#: ../statistics.c:161
-+#: ../statistics.c:210
- #, c-format
--msgid "%u time wait sockets recycled by time stamp"
-+msgid "%u times receiver scheduled too late for direct processing"
- msgstr ""
-
--#: ../statistics.c:162
-+#: ../statistics.c:211
- #, c-format
--msgid "%u TCP sockets finished time wait in slow timer"
-+msgid "%u packets collapsed in receive queue due to low socket buffer"
- msgstr ""
-
--#: ../statistics.c:163
-+#: ../statistics.c:212
- #, c-format
--msgid "%u passive connections rejected because of time stamp"
-+msgid "%u DSACKs sent for old packets"
- msgstr ""
-
--#: ../statistics.c:165
-+#: ../statistics.c:213
- #, c-format
--msgid "%u active connections rejected because of time stamp"
-+msgid "%u DSACKs sent for out of order packets"
- msgstr ""
-
--#: ../statistics.c:167
-+#: ../statistics.c:214
- #, c-format
--msgid "%u packets rejects in established connections because of timestamp"
-+msgid "%u DSACKs received"
- msgstr ""
-
--#: ../statistics.c:169
-+#: ../statistics.c:215
- #, c-format
--msgid "%u delayed acks sent"
-+msgid "%u DSACKs for out of order packets received"
- msgstr ""
-
--#: ../statistics.c:170
-+#: ../statistics.c:216
- #, c-format
--msgid "%u delayed acks further delayed because of locked socket"
-+msgid "%u connections reset due to unexpected SYN"
- msgstr ""
-
--#: ../statistics.c:172
-+#: ../statistics.c:217
- #, c-format
--msgid "Quick ack mode was activated %u times"
-+msgid "%u connections reset due to unexpected data"
- msgstr ""
-
--#: ../statistics.c:173
-+#: ../statistics.c:218
- #, c-format
--msgid "%u times the listen queue of a socket overflowed"
-+msgid "%u connections reset due to early user close"
- msgstr ""
-
--#: ../statistics.c:175
-+#: ../statistics.c:219
- #, c-format
--msgid "%u SYNs to LISTEN sockets ignored"
-+msgid "%u connections aborted due to memory pressure"
- msgstr ""
-
--#: ../statistics.c:176
-+#: ../statistics.c:220
- #, c-format
--msgid "%u packets directly queued to recvmsg prequeue."
-+msgid "%u connections aborted due to timeout"
- msgstr ""
-
--#: ../statistics.c:178
-+#: ../statistics.c:221
- #, c-format
--msgid "%u packets directly received from backlog"
-+msgid "%u connections aborted after user close in linger timeout"
- msgstr ""
-
--#: ../statistics.c:180
-+#: ../statistics.c:222
- #, c-format
--msgid "%u packets directly received from prequeue"
-+msgid "%u times unabled to send RST due to no memory"
- msgstr ""
-
--#: ../statistics.c:182
-+#: ../statistics.c:223
- #, c-format
--msgid "%u packets dropped from prequeue"
-+msgid "TCP ran low on memory %u times"
- msgstr ""
-
--#: ../statistics.c:183
-+#: ../statistics.c:224
- #, c-format
--msgid "%u packets header predicted"
-+msgid "%u TCP data loss events"
- msgstr ""
-
--#: ../statistics.c:184
-+#: ../statistics.c:225
- #, c-format
--msgid "%u packets header predicted and directly queued to user"
-+msgid "%u congestion windows recovered without slow start by DSACK"
- msgstr ""
-
--#: ../statistics.c:186
-+#: ../statistics.c:227
- #, c-format
--msgid "Ran %u times out of system memory during packet sending"
-+msgid "%u classic Reno fast retransmits failed"
- msgstr ""
-
--#: ../statistics.c:253
-+#: ../statistics.c:294
- msgid "enabled"
- msgstr ""
-
--#: ../statistics.c:253
-+#: ../statistics.c:294
- msgid "disabled"
- msgstr ""
-
--#: ../statistics.c:336
-+#: ../statistics.c:377
- msgid "error parsing /proc/net/snmp"
- msgstr ""
-
--#: ../statistics.c:349
-+#: ../statistics.c:390
- msgid "cannot open /proc/net/snmp"
- msgstr ""
-
-@@ -1617,7 +2035,7 @@
- msgid "Cannot change line discipline to `%s'.\n"
- msgstr ""
-
--#: ../lib/af.c:153 ../lib/hw.c:156
-+#: ../lib/af.c:153 ../lib/hw.c:161
- msgid "UNSPEC"
- msgstr ""
-
-@@ -1633,11 +2051,11 @@
- msgid "IPv6"
- msgstr ""
-
--#: ../lib/af.c:164 ../lib/hw.c:177
-+#: ../lib/af.c:164 ../lib/hw.c:182
- msgid "AMPR AX.25"
- msgstr ""
-
--#: ../lib/af.c:167 ../lib/hw.c:183
-+#: ../lib/af.c:167 ../lib/hw.c:188
- msgid "AMPR NET/ROM"
- msgstr ""
-
-@@ -1649,7 +2067,7 @@
- msgid "Appletalk DDP"
- msgstr ""
-
--#: ../lib/af.c:176 ../lib/hw.c:218
-+#: ../lib/af.c:176 ../lib/hw.c:223
- msgid "Econet"
- msgstr ""
-
-@@ -1657,19 +2075,21 @@
- msgid "CCITT X.25"
- msgstr ""
-
--#: ../lib/af.c:182 ../lib/hw.c:180
-+#: ../lib/af.c:182 ../lib/hw.c:185
- msgid "AMPR ROSE"
- msgstr ""
-
--#: ../lib/af.c:185 ../lib/hw.c:168
-+#: ../lib/af.c:185 ../lib/hw.c:173
- msgid "Ash"
- msgstr ""
-
- #: ../lib/af.c:243
-+#, c-format
- msgid "Please don't supply more than one address family.\n"
- msgstr ""
-
- #: ../lib/af.c:304
-+#, c-format
- msgid "Too much address family arguments.\n"
- msgstr ""
-
-@@ -1694,11 +2114,12 @@
- msgstr ""
-
- #: ../lib/ash.c:81
-+#, c-format
- msgid "Malformed Ash address"
- msgstr ""
-
- #: ../lib/ax25.c:75 ../lib/ddp.c:50 ../lib/econet.c:52 ../lib/inet.c:244
--#: ../lib/inet.c:259 ../lib/inet6.c:129 ../lib/ipx.c:81 ../lib/netrom.c:78
-+#: ../lib/inet.c:259 ../lib/inet6.c:145 ../lib/ipx.c:81 ../lib/netrom.c:78
- #: ../lib/rose.c:71 ../lib/unix.c:56 ../lib/unix.c:76
- msgid "[NONE SET]"
- msgstr ""
-@@ -1712,22 +2133,21 @@
- msgstr ""
-
- #: ../lib/ax25_gr.c:47
-+#, c-format
- msgid "AX.25 not configured in this system.\n"
- msgstr ""
-
- #: ../lib/ax25_gr.c:50
-+#, c-format
- msgid "Kernel AX.25 routing table\n"
- msgstr ""
-
- #. xxx
- #: ../lib/ax25_gr.c:51 ../lib/rose_gr.c:55
-+#, c-format
- msgid "Destination Iface Use\n"
- msgstr ""
-
--#: ../lib/ddp_gr.c:21
--msgid "Routing table for `ddp' not yet supported.\n"
--msgstr ""
--
- #: ../lib/ether.c:74 ../lib/ether.c:91
- #, c-format
- msgid "in_ether(%s): invalid ether address!\n"
-@@ -1783,225 +2203,260 @@
- msgid "in_hippi(%s): trailing junk!\n"
- msgstr ""
-
--#: ../lib/hw.c:155
-+#: ../lib/hw.c:160
- msgid "Local Loopback"
- msgstr ""
-
--#: ../lib/hw.c:158
-+#: ../lib/hw.c:163
- msgid "Serial Line IP"
- msgstr ""
-
--#: ../lib/hw.c:159
-+#: ../lib/hw.c:164
- msgid "VJ Serial Line IP"
- msgstr ""
-
--#: ../lib/hw.c:160
-+#: ../lib/hw.c:165
- msgid "6-bit Serial Line IP"
- msgstr ""
-
--#: ../lib/hw.c:161
-+#: ../lib/hw.c:166
- msgid "VJ 6-bit Serial Line IP"
- msgstr ""
-
--#: ../lib/hw.c:162
-+#: ../lib/hw.c:167
- msgid "Adaptive Serial Line IP"
- msgstr ""
-
--#: ../lib/hw.c:165
-+#: ../lib/hw.c:170
- msgid "Ethernet"
- msgstr ""
-
--#: ../lib/hw.c:171
-+#: ../lib/hw.c:176
- msgid "Fiber Distributed Data Interface"
- msgstr ""
-
--#: ../lib/hw.c:174
-+#: ../lib/hw.c:179
- msgid "HIPPI"
- msgstr ""
-
--#: ../lib/hw.c:186
-+#: ../lib/hw.c:191
- msgid "generic X.25"
- msgstr ""
-
--#: ../lib/hw.c:189
-+#: ../lib/hw.c:194
- msgid "IPIP Tunnel"
- msgstr ""
-
--#: ../lib/hw.c:192
-+#: ../lib/hw.c:197
- msgid "Point-to-Point Protocol"
- msgstr ""
-
--#: ../lib/hw.c:195
-+#: ../lib/hw.c:200
- msgid "(Cisco)-HDLC"
- msgstr ""
-
--#: ../lib/hw.c:196
-+#: ../lib/hw.c:201
- msgid "LAPB"
- msgstr ""
-
--#: ../lib/hw.c:199
-+#: ../lib/hw.c:204
- msgid "ARCnet"
- msgstr ""
-
--#: ../lib/hw.c:202
-+#: ../lib/hw.c:207
- msgid "Frame Relay DLCI"
- msgstr ""
-
--#: ../lib/hw.c:203
-+#: ../lib/hw.c:208
- msgid "Frame Relay Access Device"
- msgstr ""
-
--#: ../lib/hw.c:206
-+#: ../lib/hw.c:211
- msgid "IPv6-in-IPv4"
- msgstr ""
-
--#: ../lib/hw.c:209
-+#: ../lib/hw.c:214
- msgid "IrLAP"
- msgstr ""
-
--#: ../lib/hw.c:212
-+#: ../lib/hw.c:217
- msgid "16/4 Mbps Token Ring"
- msgstr ""
-
--#: ../lib/hw.c:214
-+#: ../lib/hw.c:219
- msgid "16/4 Mbps Token Ring (New)"
- msgstr ""
-
--#: ../lib/inet.c:153 ../lib/inet6.c:79
-+#: ../lib/hw.c:226
-+msgid "Generic EUI-64"
-+msgstr ""
-+
-+#: ../lib/inet.c:153 ../lib/inet6.c:94
- #, c-format
- msgid "rresolve: unsupport address family %d !\n"
- msgstr ""
-
--#: ../lib/inet6.c:131
-+#: ../lib/inet6.c:147
- msgid "[UNKNOWN]"
- msgstr ""
-
- #: ../lib/inet6_gr.c:71
-+#, c-format
- msgid "INET6 (IPv6) not configured in this system.\n"
- msgstr ""
-
--#: ../lib/inet6_gr.c:74
-+#: ../lib/inet6_gr.c:76
-+#, c-format
-+msgid "Kernel IPv6 routing cache\n"
-+msgstr ""
-+
-+#: ../lib/inet6_gr.c:78
-+#, c-format
- msgid "Kernel IPv6 routing table\n"
- msgstr ""
-
--#: ../lib/inet6_gr.c:76
-+#: ../lib/inet6_gr.c:80
-+#, c-format
- msgid ""
--"Destination Next Hop "
--" Flags Metric Ref Use Iface\n"
-+"Destination Next Hop Flag Met Ref Use "
-+"If\n"
- msgstr ""
-
--#: ../lib/inet6_gr.c:150
-+#: ../lib/inet6_gr.c:174
-+#, c-format
- msgid "Kernel IPv6 Neighbour Cache\n"
- msgstr ""
-
--#: ../lib/inet6_gr.c:153
-+#: ../lib/inet6_gr.c:177
-+#, c-format
- msgid ""
- "Neighbour HW Address Iface Flags "
- "Ref State\n"
- msgstr ""
-
--#: ../lib/inet6_gr.c:157
-+#: ../lib/inet6_gr.c:181
-+#, c-format
- msgid ""
- "Neighbour HW Address Iface Flags "
- "Ref State Stale(sec) Delete(sec)\n"
- msgstr ""
-
- #: ../lib/inet6_sr.c:46
-+#, c-format
- msgid "Usage: inet6_route [-vF] del Target\n"
- msgstr ""
-
- #: ../lib/inet6_sr.c:47
-+#, c-format
- msgid " inet6_route [-vF] add Target [gw Gw] [metric M] [[dev] If]\n"
- msgstr ""
-
- #: ../lib/inet6_sr.c:48
-+#, c-format
- msgid " inet6_route [-FC] flush NOT supported\n"
- msgstr ""
-
- #: ../lib/inet6_sr.c:188
-+#, c-format
- msgid "Flushing `inet6' routing table not supported\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:50 ../lib/inet_gr.c:220
-+#, c-format
- msgid "INET (IPv4) not configured in this system.\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:53
-+#, c-format
- msgid "Kernel IP routing table\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:56
-+#, c-format
- msgid ""
- "Destination Gateway Genmask Flags Metric Ref Use "
- "Iface\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:59
-+#, c-format
- msgid ""
- "Destination Gateway Genmask Flags MSS Window irtt "
- "Iface\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:62
-+#, c-format
- msgid ""
- "Destination Gateway Genmask Flags Metric Ref Use "
- "Iface MSS Window irtt\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:237
-+#, c-format
- msgid "Kernel IP routing cache\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:258
-+#, c-format
- msgid ""
- "Source Destination Gateway Flags Metric Ref Use "
- "Iface\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:261
-+#, c-format
- msgid ""
- "Source Destination Gateway Flags MSS Window irtt "
- "Iface\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:266
-+#, c-format
- msgid ""
- "Source Destination Gateway Flags Metric Ref Use "
- "Iface MSS Window irtt HH Arp\n"
- msgstr ""
-
- #: ../lib/inet_gr.c:290
-+#, c-format
- msgid ""
- "Source Destination Gateway Flags Metric Ref Use "
- "Iface MSS Window irtt TOS HHRef HHUptod SpecDst\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:50
-+#: ../lib/inet_sr.c:51
-+#, c-format
- msgid ""
- "Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] "
- "[[dev] If]\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:51
-+#: ../lib/inet_sr.c:52
-+#, c-format
- msgid ""
- " inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M]\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:52
-+#: ../lib/inet_sr.c:53
-+#, c-format
- msgid ""
- " [netmask N] [mss Mss] [window W] [irtt I]\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:53
-+#: ../lib/inet_sr.c:54
-+#, c-format
- msgid " [mod] [dyn] [reinstate] [[dev] If]\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:54
-+#: ../lib/inet_sr.c:55
-+#, c-format
- msgid ""
- " inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject\n"
- msgstr ""
-
--#: ../lib/inet_sr.c:55
-+#: ../lib/inet_sr.c:56
-+#, c-format
- msgid " inet_route [-FC] flush NOT supported\n"
- msgstr ""
-
-@@ -2011,14 +2466,17 @@
- msgstr ""
-
- #: ../lib/inet_sr.c:174
-+#, c-format
- msgid "route: Invalid MSS/MTU.\n"
- msgstr ""
-
- #: ../lib/inet_sr.c:187
-+#, c-format
- msgid "route: Invalid window.\n"
- msgstr ""
-
- #: ../lib/inet_sr.c:203
-+#, c-format
- msgid "route: Invalid initial rtt.\n"
- msgstr ""
-
-@@ -2033,73 +2491,90 @@
- msgstr ""
-
- #: ../lib/inet_sr.c:270
-+#, c-format
- msgid "route: netmask doesn't match route address\n"
- msgstr ""
-
- #: ../lib/inet_sr.c:306
-+#, c-format
- msgid "Flushing `inet' routing table not supported\n"
- msgstr ""
-
- #: ../lib/inet_sr.c:310
-+#, c-format
- msgid "Modifying `inet' routing cache not supported\n"
- msgstr ""
-
- #: ../lib/ipx_gr.c:52
-+#, c-format
- msgid "IPX not configured in this system.\n"
- msgstr ""
-
- #: ../lib/ipx_gr.c:56
-+#, c-format
- msgid "Kernel IPX routing table\n"
- msgstr ""
-
- #. xxx
- #: ../lib/ipx_gr.c:57
-+#, c-format
- msgid "Destination Router Net Router Node\n"
- msgstr ""
-
- #: ../lib/ipx_sr.c:33
-+#, c-format
- msgid "IPX: this needs to be written\n"
- msgstr ""
-
- #: ../lib/masq_info.c:198
-+#, c-format
- msgid "IP masquerading entries\n"
- msgstr ""
-
- #: ../lib/masq_info.c:201
-+#, c-format
- msgid "prot expire source destination ports\n"
- msgstr ""
-
- #: ../lib/masq_info.c:204
-+#, c-format
- msgid ""
--"prot expire initseq delta prevd source destination "
--" ports\n"
-+"prot expire initseq delta prevd source "
-+"destination ports\n"
- msgstr ""
-
- #: ../lib/netrom_gr.c:48
-+#, c-format
- msgid "NET/ROM not configured in this system.\n"
- msgstr ""
-
- #: ../lib/netrom_gr.c:51
-+#, c-format
- msgid "Kernel NET/ROM routing table\n"
- msgstr ""
-
- #: ../lib/netrom_gr.c:52
-+#, c-format
- msgid "Destination Mnemonic Quality Neighbour Iface\n"
- msgstr ""
-
- #: ../lib/netrom_sr.c:34
-+#, c-format
- msgid "netrom usage\n"
- msgstr ""
-
- #: ../lib/netrom_sr.c:44
-+#, c-format
- msgid "NET/ROM: this needs to be written\n"
- msgstr ""
-
- #: ../lib/ppp.c:44
-+#, c-format
- msgid "You cannot start PPP with this program.\n"
- msgstr ""
-
- #: ../lib/ppp_ac.c:38
-+#, c-format
- msgid "Sorry, use pppd!\n"
- msgstr ""
-
-@@ -2108,287 +2583,314 @@
- msgstr ""
-
- #: ../lib/rose_gr.c:51
-+#, c-format
- msgid "ROSE not configured in this system.\n"
- msgstr ""
-
- #: ../lib/rose_gr.c:54
-+#, c-format
- msgid "Kernel ROSE routing table\n"
- msgstr ""
-
--#: ../lib/tr.c:70 ../lib/tr.c:85
-+#: ../lib/tr.c:86 ../lib/tr.c:101
- #, c-format
- msgid "in_tr(%s): invalid token ring address!\n"
- msgstr ""
-
--#: ../lib/tr.c:97
-+#: ../lib/tr.c:113
- #, c-format
- msgid "in_tr(%s): trailing : ignored!\n"
- msgstr ""
-
--#: ../lib/tr.c:109
-+#: ../lib/tr.c:125
- #, c-format
- msgid "in_tr(%s): trailing junk!\n"
- msgstr ""
-
--#: ../lib/interface.c:164
-+#: ../lib/interface.c:174
- #, c-format
- msgid "warning: no inet socket available: %s\n"
- msgstr ""
-
--#: ../lib/interface.c:316
-+#: ../lib/interface.c:323
- #, c-format
- msgid "Warning: cannot open %s (%s). Limited output.\n"
- msgstr ""
-
- #. Give better error message for this case.
--#: ../lib/interface.c:556
-+#: ../lib/interface.c:570
- msgid "Device not found"
- msgstr ""
-
--#: ../lib/interface.c:560
-+#: ../lib/interface.c:574
- #, c-format
- msgid "%s: error fetching interface information: %s\n"
- msgstr ""
-
--#: ../lib/interface.c:593
-+#: ../lib/interface.c:607
- msgid " - no statistics available -"
- msgstr ""
-
--#: ../lib/interface.c:597
-+#: ../lib/interface.c:611
-+#, c-format
- msgid "[NO FLAGS]"
- msgstr ""
-
--#: ../lib/interface.c:673
-+#: ../lib/interface.c:687
- #, c-format
- msgid "%-9.9s Link encap:%s "
- msgstr ""
-
--#: ../lib/interface.c:678
-+#: ../lib/interface.c:692
- #, c-format
- msgid "HWaddr %s "
- msgstr ""
-
--#: ../lib/interface.c:681
-+#: ../lib/interface.c:695
- #, c-format
- msgid "Media:%s"
- msgstr ""
-
--#: ../lib/interface.c:683
-+#: ../lib/interface.c:697
-+#, c-format
- msgid "(auto)"
- msgstr ""
-
--#: ../lib/interface.c:690
-+#: ../lib/interface.c:704
- #, c-format
- msgid " %s addr:%s "
- msgstr ""
-
--#: ../lib/interface.c:693
-+#: ../lib/interface.c:707
- #, c-format
- msgid " P-t-P:%s "
- msgstr ""
-
--#: ../lib/interface.c:696
-+#: ../lib/interface.c:710
- #, c-format
- msgid " Bcast:%s "
- msgstr ""
-
--#: ../lib/interface.c:698
-+#: ../lib/interface.c:712
- #, c-format
- msgid " Mask:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:715
-+#: ../lib/interface.c:729
- #, c-format
- msgid " inet6 addr: %s/%d"
- msgstr ""
-
--#: ../lib/interface.c:717
-+#: ../lib/interface.c:731
-+#, c-format
- msgid " Scope:"
- msgstr ""
-
--#: ../lib/interface.c:720
-+#: ../lib/interface.c:734
-+#, c-format
- msgid "Global"
- msgstr ""
-
--#: ../lib/interface.c:723
-+#: ../lib/interface.c:737
-+#, c-format
- msgid "Link"
- msgstr ""
-
--#: ../lib/interface.c:726
-+#: ../lib/interface.c:740
-+#, c-format
- msgid "Site"
- msgstr ""
-
--#: ../lib/interface.c:729
-+#: ../lib/interface.c:743
-+#, c-format
- msgid "Compat"
- msgstr ""
-
--#: ../lib/interface.c:732
-+#: ../lib/interface.c:746
-+#, c-format
- msgid "Host"
- msgstr ""
-
--#: ../lib/interface.c:735
-+#: ../lib/interface.c:749
-+#, c-format
- msgid "Unknown"
- msgstr ""
-
--#: ../lib/interface.c:750
-+#: ../lib/interface.c:764
- #, c-format
- msgid " IPX/Ethernet II addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:753
-+#: ../lib/interface.c:767
- #, c-format
- msgid " IPX/Ethernet SNAP addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:756
-+#: ../lib/interface.c:770
- #, c-format
- msgid " IPX/Ethernet 802.2 addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:759
-+#: ../lib/interface.c:773
- #, c-format
- msgid " IPX/Ethernet 802.3 addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:769
-+#: ../lib/interface.c:783
- #, c-format
- msgid " EtherTalk Phase 2 addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:778
-+#: ../lib/interface.c:792
- #, c-format
- msgid " econet addr:%s\n"
- msgstr ""
-
--#: ../lib/interface.c:785
-+#: ../lib/interface.c:799
-+#, c-format
- msgid "[NO FLAGS] "
- msgstr ""
-
--#: ../lib/interface.c:787
-+#: ../lib/interface.c:801
-+#, c-format
- msgid "UP "
- msgstr ""
-
--#: ../lib/interface.c:789
-+#: ../lib/interface.c:803
-+#, c-format
- msgid "BROADCAST "
- msgstr ""
-
--#: ../lib/interface.c:791
-+#: ../lib/interface.c:805
-+#, c-format
- msgid "DEBUG "
- msgstr ""
-
--#: ../lib/interface.c:793
-+#: ../lib/interface.c:807
-+#, c-format
- msgid "LOOPBACK "
- msgstr ""
-
--#: ../lib/interface.c:795
-+#: ../lib/interface.c:809
-+#, c-format
- msgid "POINTOPOINT "
- msgstr ""
-
--#: ../lib/interface.c:797
-+#: ../lib/interface.c:811
-+#, c-format
- msgid "NOTRAILERS "
- msgstr ""
-
--#: ../lib/interface.c:799
-+#: ../lib/interface.c:813
-+#, c-format
- msgid "RUNNING "
- msgstr ""
-
--#: ../lib/interface.c:801
-+#: ../lib/interface.c:815
-+#, c-format
- msgid "NOARP "
- msgstr ""
-
--#: ../lib/interface.c:803
-+#: ../lib/interface.c:817
-+#, c-format
- msgid "PROMISC "
- msgstr ""
-
--#: ../lib/interface.c:805
-+#: ../lib/interface.c:819
-+#, c-format
- msgid "ALLMULTI "
- msgstr ""
-
--#: ../lib/interface.c:807
-+#: ../lib/interface.c:821
-+#, c-format
- msgid "SLAVE "
- msgstr ""
-
--#: ../lib/interface.c:809
-+#: ../lib/interface.c:823
-+#, c-format
- msgid "MASTER "
- msgstr ""
-
--#: ../lib/interface.c:811
-+#: ../lib/interface.c:825
-+#, c-format
- msgid "MULTICAST "
- msgstr ""
-
--#: ../lib/interface.c:814
-+#: ../lib/interface.c:828
-+#, c-format
- msgid "DYNAMIC "
- msgstr ""
-
- #. DONT FORGET TO ADD THE FLAGS IN ife_print_short
--#: ../lib/interface.c:817
-+#: ../lib/interface.c:831
- #, c-format
- msgid " MTU:%d Metric:%d"
- msgstr ""
-
--#: ../lib/interface.c:821
-+#: ../lib/interface.c:835
- #, c-format
- msgid " Outfill:%d Keepalive:%d"
- msgstr ""
-
--#: ../lib/interface.c:835
-+#: ../lib/interface.c:849
- #, c-format
- msgid "RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"
- msgstr ""
-
--#: ../lib/interface.c:840
-+#: ../lib/interface.c:854
- #, c-format
- msgid " compressed:%lu\n"
- msgstr ""
-
--#: ../lib/interface.c:852
-+#: ../lib/interface.c:894
- #, c-format
- msgid "TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"
- msgstr ""
-
--#: ../lib/interface.c:856
-+#: ../lib/interface.c:898
- #, c-format
- msgid " collisions:%lu "
- msgstr ""
-
--#: ../lib/interface.c:858
-+#: ../lib/interface.c:900
- #, c-format
- msgid "compressed:%lu "
- msgstr ""
-
--#: ../lib/interface.c:860
-+#: ../lib/interface.c:902
- #, c-format
- msgid "txqueuelen:%d "
- msgstr ""
-
--#: ../lib/interface.c:862
-+#: ../lib/interface.c:904
- #, c-format
- msgid "RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"
- msgstr ""
-
--#: ../lib/interface.c:873
-+#: ../lib/interface.c:915
- #, c-format
- msgid "Interrupt:%d "
- msgstr ""
-
- #. Only print devices using it for
- #. I/O maps
--#: ../lib/interface.c:876
-+#: ../lib/interface.c:918
- #, c-format
- msgid "Base address:0x%x "
- msgstr ""
-
--#: ../lib/interface.c:878
-+#: ../lib/interface.c:920
- #, c-format
- msgid "Memory:%lx-%lx "
- msgstr ""
-
--#: ../lib/interface.c:881
-+#: ../lib/interface.c:923
- #, c-format
- msgid "DMA chan:%x "
- msgstr ""
-
- #: ../lib/sockets.c:63
-+#, c-format
- msgid "No usable address families found.\n"
- msgstr ""
-
-@@ -2413,14 +2915,17 @@
- msgstr ""
-
- #: ../ipmaddr.c:61
-+#, c-format
- msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
- msgstr ""
-
- #: ../ipmaddr.c:62
-+#, c-format
- msgid " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
- msgstr ""
-
- #: ../ipmaddr.c:63
-+#, c-format
- msgid " ipmaddr -V | -version\n"
- msgstr ""
-
-@@ -2449,6 +2954,7 @@
- msgstr ""
-
- #: ../slattach.c:192
-+#, c-format
- msgid "slattach: cannot write PID file\n"
- msgstr ""
-
-@@ -2468,18 +2974,22 @@
- msgstr ""
-
- #: ../slattach.c:468
-+#, c-format
- msgid "slattach: tty name too long\n"
- msgstr ""
-
- #: ../slattach.c:498
-+#, c-format
- msgid "slattach: tty_open: cannot get current state!\n"
- msgstr ""
-
- #: ../slattach.c:505
-+#, c-format
- msgid "slattach: tty_open: cannot get current line disc!\n"
- msgstr ""
-
- #: ../slattach.c:513
-+#, c-format
- msgid "slattach: tty_open: cannot set RAW mode!\n"
- msgstr ""
-
-@@ -2489,6 +2999,7 @@
- msgstr ""
-
- #: ../slattach.c:530
-+#, c-format
- msgid "slattach: tty_open: cannot set 8N1 mode!\n"
- msgstr ""
-
---- net-tools-1.60/po/pt_BR.po 2000-02-20 23:47:06.000000000 +0200
-+++ net-tools/po/pt_BR.po 2006-12-15 01:36:24.000000000 +0200
-@@ -2,7 +2,7 @@
- # Copyright (C) 2000 Free Software Foundation, Inc.
- # Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2000.
- #
--# $Id$
-+# $Id$
- # Brazilian portuguese translation for net-tools 1.54
- # Copyright (C) 1998, 1999 Free Software Foundation, Inc.
- # Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 1998-2000
-@@ -2361,17 +2361,15 @@
- msgid "Warning: cannot open %s (%s). Limited output.\n"
- msgstr "Atenção: não foi possível abrir %s (%s). Saída limitada.\n"
-
--#. Give better error message for this case.
-+#. better translation?
- #: ../lib/interface.c:504
- msgid "Device not found"
--msgstr "%s: dispositivo não encontrado"
-+msgstr "dispositivo não encontrado"
-
- #: ../lib/interface.c:508
- #, c-format
- msgid "%s: error fetching interface information: %s\n"
--msgstr ""
--"%s: erro obtendo informações da interface: %s\n"
--"\n"
-+msgstr "%s: erro obtendo informações da interface: %s\n"
-
- #: ../lib/sockets.c:59
- msgid "No usable address families found.\n"
---- net-tools-1.60/README 2001-04-15 16:34:43.000000000 +0200
-+++ net-tools/README 2005-08-26 19:01:31.000000000 +0300
-@@ -10,7 +10,7 @@
- subsystem of the Linux kernel. This includes arp, hostname, ifconfig,
- netstat, rarp and route. Additionally, this package contains
- utilities relating to particular network hardware types (plipconfig,
--slattach) and advanced aspects of IP configuration (iptunnel,
-+slattach, mii-tool) and advanced aspects of IP configuration (iptunnel,
- ipmaddr).
-
- Please include the output of "program --version" when reporting bugs.
-@@ -24,15 +24,21 @@
-
- INSTALLING Installation instructions.
-
-- COPYING Your free copy of the GNU Public License.
-+ COPYING Your free copy of the GNU General Public License.
-
- TODO Some things that need to be done.
-
-+The Homepage (including CVS repository, release downloads and a form to
-+request enhancements) is hosted by BerliOS Developer. Please consider to
-+join the project if you want to contribute:
-+
-+ http://net-tools.berlios.de/
-+
-
- Notes
- -----
-
--This is net-tools 1.60.
-+This is net-tools 1.6x.
-
- You need kernel 2.0 or later to use these programs. These programs
- should compile cleanly with both glibc (version 2.0 or 2.1) and libc5,
---- net-tools-1.60/route.c 2001-04-15 16:41:17.000000000 +0200
-+++ net-tools/route.c 2002-07-30 08:24:20.000000000 +0300
-@@ -2,7 +2,7 @@
- * route This file contains an implementation of the command
- * that manages the IP routing table in the kernel.
- *
-- * Version: $Id$
-+ * Version: $Id$
- *
- * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
- *
-@@ -142,7 +142,7 @@
- }
-
- /* Fetch the command-line arguments. */
-- while ((i = getopt_long(argc, argv, "A:eCFhnNVv?", longopts, &lop)) != EOF)
-+ while ((i = getopt_long(argc, argv, "A:eCFhnN64Vv?", longopts, &lop)) != EOF)
- switch (i) {
- case -1:
- break;
-@@ -176,6 +176,14 @@
- if ((i = aftrans_opt(optarg)))
- exit(i);
- break;
-+ case '6':
-+ if ((i = aftrans_opt("inet6")))
-+ exit(i);
-+ break;
-+ case '4':
-+ if ((i = aftrans_opt("inet")))
-+ exit(i);
-+ break;
- case 'V':
- version();
- case 'h':
---- net-tools-1.60/slattach.c 2000-10-28 12:59:41.000000000 +0200
-+++ net-tools/slattach.c 2005-12-04 07:15:36.000000000 +0200
-@@ -73,7 +73,7 @@
-
-
- const char *Release = RELEASE,
-- *Version = "@(#) slattach 1.21 (1999-11-21)",
-+ *Version = "$Id$",
- *Signature = "net-tools, Fred N. van Kempen et al.";
-
-
-@@ -115,7 +115,7 @@
- int opt_k = 0; /* "keepalive" value */
- #endif
- int opt_l = 0; /* "lock it" flag */
--int opt_L = 0; /* clocal flag */
-+int opt_L = 0; /* 3-wire mode flag */
- int opt_m = 0; /* "set RAW mode" flag */
- int opt_n = 0; /* "set No Mesg" flag */
- #ifdef SIOCSOUTFILL
-@@ -342,9 +342,11 @@
- tty->c_oflag = (0); /* output flags */
- tty->c_lflag = (0); /* local flags */
- speed = (tty->c_cflag & CBAUD); /* save current speed */
-- tty->c_cflag = (CRTSCTS | HUPCL | CREAD); /* UART flags */
-+ tty->c_cflag = (HUPCL | CREAD); /* UART flags */
- if (opt_L)
- tty->c_cflag |= CLOCAL;
-+ else
-+ tty->c_cflag |= CRTSCTS;
- tty->c_cflag |= speed; /* restore speed */
- return(0);
- }
---- net-tools-1.60/statistics.c 2001-02-02 20:01:23.000000000 +0200
-+++ net-tools/statistics.c 2003-02-12 05:30:57.000000000 +0200
-@@ -1,6 +1,6 @@
- /*
- * Copyright 1997,1999,2000 Andi Kleen. Subject to the GPL.
-- * $Id$
-+ * $Id$
- * 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
-@@ -172,19 +172,59 @@
- { "DelayedACKLost", N_("Quick ack mode was activated %u times"), opt_number },
- { "ListenOverflows", N_("%u times the listen queue of a socket overflowed"),
- opt_number },
-- { "ListenDrops", N_("%u SYNs to LISTEN sockets ignored"), opt_number },
-+ { "ListenDrops", N_("%u SYNs to LISTEN sockets dropped"), opt_number },
- { "TCPPrequeued", N_("%u packets directly queued to recvmsg prequeue."),
- opt_number },
-- { "TCPDirectCopyFromBacklog", N_("%u packets directly received"
-- " from backlog"), opt_number },
-- { "TCPDirectCopyFromPrequeue", N_("%u packets directly received"
-- " from prequeue"), opt_number },
-+ { "TCPDirectCopyFromBacklog", N_("%u bytes directly in process context from backlog"), opt_number },
-+ { "TCPDirectCopyFromPrequeue", N_("%u bytes directly received in process context from prequeue"),
-+ opt_number },
- { "TCPPrequeueDropped", N_("%u packets dropped from prequeue"), opt_number },
-- { "TCPHPHits", N_("%u packets header predicted"), number },
-+ { "TCPHPHits", N_("%u packet headers predicted"), number },
- { "TCPHPHitsToUser", N_("%u packets header predicted and "
- "directly queued to user"), opt_number },
- { "SockMallocOOM", N_("Ran %u times out of system memory during "
- "packet sending"), opt_number },
-+ { "TCPPureAcks", N_("%u acknowledgments not containing data payload 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 by selective acknowledgements"), opt_number },
-+ { "TCPSACKReneging", N_("%u bad SACK blocks 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 without slow start"), opt_number },
-+ { "TCPPartialUndo", N_("%u congestion windows partially recovered using Hoe heuristic"), opt_number },
-+ { "TCPDSackUndo", N_("%u congestion window recovered without slow start using DSACK"), opt_number },
-+ { "TCPLossUndo", N_("%u congestion windows recovered without slow start 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"), opt_number },
-+ { "TCPDSACKUndo", N_("%u congestion windows recovered without slow start by DSACK"),
-+ opt_number },
-+ { "TCPRenoRecoveryFail", N_("%u classic Reno fast retransmits failed"), opt_number },
- };
-
- struct tabtab {
-@@ -222,7 +262,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/net-tools-netstat-stat.patch b/net-tools-netstat-stat.patch
deleted file mode 100644
index c3b2d78..0000000
--- a/net-tools-netstat-stat.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- net-tools-1.60/netstat.c~ 2007-09-11 22:30:38.000000000 +0300
-+++ net-tools-1.60/netstat.c 2007-09-11 22:31:36.868379252 +0300
-@@ -85,6 +85,7 @@
- #include <sys/ioctl.h>
- #include <net/if.h>
- #include <dirent.h>
-+#include <sys/stat.h>
-
- #include "net-support.h"
- #include "pathnames.h"