1 --- net-tools-1.60/arp.c 2001-04-08 19:05:05.000000000 +0200
2 +++ net-tools/arp.c 2005-12-04 04:57:15.000000000 +0200
4 * NET-3 Networking Distribution for the LINUX operating
10 * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
17 + struct sockaddr_storage ss;
18 + struct sockaddr *sa;
23 memset((char *) &req, 0, sizeof(req));
28 safe_strncpy(host, *args, (sizeof host));
29 - if (ap->input(0, host, &sa) < 0) {
30 + sa = (struct sockaddr *)&ss;
31 + if (ap->input(0, host, sa) < 0) {
35 /* If a host has more than one address, use the correct one! */
36 - memcpy((char *) &req.arp_pa, (char *) &sa, sizeof(struct sockaddr));
37 + memcpy((char *) &req.arp_pa, (char *) sa, sizeof(struct sockaddr));
40 req.arp_ha.sa_family = hw->type;
44 if (!strcmp(*args, "dontpub")) {
45 -#ifdef HAVE_ATF_DONTPUB
47 req.arp_flags |= ATF_DONTPUB;
49 ENOSUPP("arp", "ATF_DONTPUB");
53 if (!strcmp(*args, "auto")) {
54 -#ifdef HAVE_ATF_MAGIC
56 req.arp_flags |= ATF_MAGIC;
58 ENOSUPP("arp", "ATF_MAGIC");
61 if (strcmp(*args, "255.255.255.255") != 0) {
63 - if (ap->input(0, host, &sa) < 0) {
64 + if (ap->input(0, host, sa) < 0) {
68 - memcpy((char *) &req.arp_netmask, (char *) &sa,
69 + memcpy((char *) &req.arp_netmask, (char *) sa,
70 sizeof(struct sockaddr));
71 req.arp_flags |= ATF_NETMASK;
78 + // if neighter priv nor pub is given, work on both
82 strcpy(req.arp_dev, device);
85 + /* unfortuatelly the kernel interface does not allow us to
86 + delete private entries anlone, so we need this hack
87 + to avoid "not found" errors if we try both. */
90 /* Call the kernel. */
93 - fprintf(stderr, "arp: SIOCDARP(nopub)\n");
94 - if ((err = ioctl(sockfd, SIOCDARP, &req) < 0)) {
95 - if (errno == ENXIO) {
96 + fprintf(stderr, "arp: SIOCDARP(dontpub)\n");
97 + if (ioctl(sockfd, SIOCDARP, &req) < 0) {
98 + if ((errno == ENXIO) || (errno == ENOENT)) {
102 printf(_("No ARP entry for %s\n"), host);
105 - perror("SIOCDARP(priv)");
106 + perror("SIOCDARP(dontpub)");
112 - if ((flags & 1) && (err)) {
114 + if (!deleted && (flags & 1)) {
116 req.arp_flags |= ATF_PUBL;
118 fprintf(stderr, "arp: SIOCDARP(pub)\n");
119 if (ioctl(sockfd, SIOCDARP, &req) < 0) {
120 - if (errno == ENXIO) {
121 + if ((errno == ENXIO) || (errno == ENOENT)) {
122 printf(_("No ARP entry for %s\n"), host);
129 - struct sockaddr sa;
130 + struct sockaddr_storage ss;
131 + struct sockaddr *sa;
134 memset((char *) &req, 0, sizeof(req));
135 @@ -271,12 +280,13 @@
138 safe_strncpy(host, *args++, (sizeof host));
139 - if (ap->input(0, host, &sa) < 0) {
140 + sa = (struct sockaddr *)&ss;
141 + if (ap->input(0, host, sa) < 0) {
145 /* If a host has more than one address, use the correct one! */
146 - memcpy((char *) &req.arp_pa, (char *) &sa, sizeof(struct sockaddr));
147 + memcpy((char *) &req.arp_pa, (char *) sa, sizeof(struct sockaddr));
149 /* Fetch the hardware address. */
154 if (!strcmp(*args, "dontpub")) {
155 -#ifdef HAVE_ATF_DONTPUB
157 flags |= ATF_DONTPUB;
159 ENOSUPP("arp", "ATF_DONTPUB");
163 if (!strcmp(*args, "auto")) {
164 -#ifdef HAVE_ATF_MAGIC
168 ENOSUPP("arp", "ATF_MAGIC");
169 @@ -346,11 +356,11 @@
171 if (strcmp(*args, "255.255.255.255") != 0) {
173 - if (ap->input(0, host, &sa) < 0) {
174 + if (ap->input(0, host, sa) < 0) {
178 - memcpy((char *) &req.arp_netmask, (char *) &sa,
179 + memcpy((char *) &req.arp_netmask, (char *) sa,
180 sizeof(struct sockaddr));
181 flags |= ATF_NETMASK;
183 @@ -445,11 +455,11 @@
185 if (arp_flags & ATF_PUBL)
187 -#ifdef HAVE_ATF_MAGIC
189 if (arp_flags & ATF_MAGIC)
192 -#ifdef HAVE_ATF_DONTPUB
194 if (arp_flags & ATF_DONTPUB)
199 if (!(arp_flags & ATF_COM)) {
200 if (arp_flags & ATF_PUBL)
201 - printf("%-8.8s%-20.20s", "*", "*");
202 + printf("%-8.8s%-20.20s", "*", _("<from_interface>"));
204 printf("%-8.8s%-20.20s", "", _("(incomplete)"));
208 if (!(arp_flags & ATF_COM)) {
209 if (arp_flags & ATF_PUBL)
211 + printf("<from_interface> ");
213 printf(_("<incomplete> "));
215 @@ -499,12 +509,12 @@
216 if (arp_flags & ATF_PERM)
218 if (arp_flags & ATF_PUBL)
220 -#ifdef HAVE_ATF_MAGIC
223 if (arp_flags & ATF_MAGIC)
226 -#ifdef HAVE_ATF_DONTPUB
228 if (arp_flags & ATF_DONTPUB)
232 static int arp_show(char *name)
235 - struct sockaddr sa;
236 + struct sockaddr_storage ss;
237 + struct sockaddr *sa;
241 @@ -532,14 +543,15 @@
245 + sa = (struct sockaddr *)&ss;
247 /* Resolve the host name. */
248 safe_strncpy(host, name, (sizeof host));
249 - if (ap->input(0, host, &sa) < 0) {
250 + if (ap->input(0, host, sa) < 0) {
254 - safe_strncpy(host, ap->sprint(&sa, 1), sizeof(host));
255 + safe_strncpy(host, ap->sprint(sa, 1), sizeof(host));
257 /* Open the PROCps kernel table. */
258 if ((fp = fopen(_PATH_PROCNET_ARP, "r")) == NULL) {
259 @@ -575,10 +587,10 @@
263 - if (ap->input(0, ip, &sa) < 0)
264 + if (ap->input(0, ip, sa) < 0)
267 - hostname = ap->sprint(&sa, opt_n | 0x8000);
268 + hostname = ap->sprint(sa, opt_n | 0x8000);
269 if (strcmp(hostname, ip) == 0)
272 @@ -612,11 +624,10 @@
273 static void usage(void)
275 fprintf(stderr, _("Usage:\n arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP cache\n"));
276 - fprintf(stderr, _(" arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP entry\n"));
277 - fprintf(stderr, _(" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from file\n"));
278 - fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add entry\n"));
279 - fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub <-''-\n"));
280 - fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub <-''-\n\n"));
281 + fprintf(stderr, _(" arp [-v] [-i <if>] -d <host> [pub] <-Delete ARP entry\n"));
282 + fprintf(stderr, _(" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from file\n"));
283 + fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -s <host> <hwaddr> [temp] <-Add entry\n"));
284 + fprintf(stderr, _(" arp [-v] [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub <-''-\n\n"));
286 fprintf(stderr, _(" -a display (all) hosts in alternative (BSD) style\n"));
287 fprintf(stderr, _(" -s, --set set a new ARP entry\n"));
288 --- net-tools-1.60/config.in 2000-05-21 16:32:12.000000000 +0200
289 +++ net-tools/config.in 2004-06-04 03:06:50.000000000 +0300
292 bool 'UNIX protocol family' HAVE_AFUNIX y
293 bool 'INET (TCP/IP) protocol family' HAVE_AFINET y
294 -bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 n
295 +bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y
296 bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y
297 bool 'Appletalk DDP protocol family' HAVE_AFATALK y
298 bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y
299 bool 'NET/ROM (packet radio) protocol family' HAVE_AFNETROM y
300 -bool 'Rose (packet radio) protocol family' HAVE_AFROSE n
301 +bool 'Rose (packet radio) protocol family' HAVE_AFROSE y
302 bool 'X.25 (CCITT) protocol family' HAVE_AFX25 y
303 -bool 'Econet protocol family' HAVE_AFECONET n
304 +bool 'Econet protocol family' HAVE_AFECONET y
305 bool 'DECnet protocol family' HAVE_AFDECnet n
306 -bool 'Ash protocol family' HAVE_AFASH n
307 +bool 'Ash protocol family' HAVE_AFASH y
310 * Device Hardware types.
312 bool 'STRIP (Metricom radio) support' HAVE_HWSTRIP y
313 bool 'Token ring (generic) support' HAVE_HWTR y
314 bool 'AX25 (packet radio) support' HAVE_HWAX25 y
315 -bool 'Rose (packet radio) support' HAVE_HWROSE n
316 +bool 'Rose (packet radio) support' HAVE_HWROSE y
317 bool 'NET/ROM (packet radio) support' HAVE_HWNETROM y
318 bool 'X.25 (generic) support' HAVE_HWX25 y
319 bool 'DLCI/FRAD (frame relay) support' HAVE_HWFR y
320 -bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT n
321 -bool 'FDDI (generic) support' HAVE_HWFDDI n
322 -bool 'HIPPI (generic) support' HAVE_HWHIPPI n
323 -bool 'Ash hardware support' HAVE_HWASH n
324 -bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB n
325 +bool 'SIT (IPv6-in-IPv4) support' HAVE_HWSIT y
326 +bool 'FDDI (generic) support' HAVE_HWFDDI y
327 +bool 'HIPPI (generic) support' HAVE_HWHIPPI y
328 +bool 'Ash hardware support' HAVE_HWASH y
329 +bool '(Cisco)-HDLC/LAPB support' HAVE_HWHDLCLAPB y
330 bool 'IrDA support' HAVE_HWIRDA y
331 -bool 'Econet hardware support' HAVE_HWEC n
332 +bool 'Econet hardware support' HAVE_HWEC y
333 +bool 'Generic EUI-64 hardware support' HAVE_HWEUI64 y
339 -bool 'IP Masquerading support' HAVE_FW_MASQUERADE n
340 -bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS n
341 -bool 'Build mii-tool' HAVE_MII n
342 +bool 'IP Masquerading support' HAVE_FW_MASQUERADE y
343 +bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y
344 +bool 'Build mii-tool' HAVE_MII y
345 --- net-tools-1.60/hostname.c 2001-04-08 19:04:23.000000000 +0200
346 +++ net-tools/hostname.c 2003-10-12 00:08:10.000000000 +0300
349 * nisdomainname {name|-F file}
351 - * Version: hostname 1.96 (1996-02-18)
352 + * Version: hostname 1.101 (2003-10-11)
354 * Author: Peter Tobias <tobias@et-inf.fho-emden.de>
357 - * {1.90} Peter Tobias : Added -a and -i options.
358 - * {1.91} Bernd Eckenfels : -v,-V rewritten, long_opts
359 - * (major rewrite), usage.
360 - *960120 {1.95} Bernd Eckenfels : -y/nisdomainname - support for get/
361 - * setdomainname added
362 - *960218 {1.96} Bernd Eckenfels : netinet/in.h added
363 - *980629 {1.97} Arnaldo Carvalho de Melo : gettext instead of catgets for i18n
364 - *20000213 {1.99} Arnaldo Carvalho de Melo : fixed some i18n strings
365 + * {1.90} Peter Tobias : Added -a and -i options.
366 + * {1.91} Bernd Eckenfels : -v,-V rewritten, long_opts (major rewrite), usage.
367 + *19960120 {1.95} Bernd Eckenfels : -y/nisdomainname - support for get/setdomainname added
368 + *19960218 {1.96} Bernd Eckenfels : netinet/in.h added
369 + *19980629 {1.97} Arnaldo Carvalho de Melo : gettext instead of catgets for i18n
370 + *20000213 {1.99} Arnaldo Carvalho de Melo : fixed some i18n strings
371 *20010404 {1.100} Arnaldo Carvalho de Melo: use setlocale
372 + *20031011 {1.101} Maik Broemme: gcc 3.x fixes (default: break)
374 * This program is free software; you can redistribute it
375 * and/or modify it under the terms of the GNU General
377 * your option) any later version.
387 fprintf(stderr, _("%s: name too long\n"), program_name);
396 fprintf(stderr, _("%s: name too long\n"), program_name);
404 fprintf(stderr, _("%s: name too long\n"), program_name);
412 printf("%s\n", hp->h_name);
418 @@ -326,11 +325,12 @@
422 + break; // not reached
428 + break; // not reached
432 --- net-tools-1.60/ifconfig.c 2001-04-13 20:25:18.000000000 +0200
433 +++ net-tools/ifconfig.c 2002-12-10 02:56:41.000000000 +0200
435 * that either displays or sets the characteristics of
436 * one or more of the system's networking interfaces.
441 * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
442 * and others. Copyright 1993 MicroWalt Corporation
444 char *Release = RELEASE, *Version = "ifconfig 1.42 (2001-04-13)";
446 int opt_a = 0; /* show all interfaces */
447 -int opt_i = 0; /* show the statistics */
448 int opt_v = 0; /* debugging output flag */
450 int addr_family = 0; /* currently selected AF */
455 - printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
456 + printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
459 res = for_all_interfaces(do_if_print, &opt_a);
462 safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
463 if (ioctl(skfd, SIOCGIFFLAGS, &ifr) < 0) {
464 - fprintf(stderr, _("%s: unknown interface: %s\n"),
465 + fprintf(stderr, _("%s: ERROR while getting interface flags: %s\n"),
466 ifname, strerror(errno));
471 safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
472 if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
473 - fprintf(stderr, _("%s: unknown interface: %s\n"),
474 + fprintf(stderr, _("%s: ERROR while getting interface flags: %s\n"),
475 ifname, strerror(errno));
482 +/** test is a specified flag is set */
483 +static int test_flag(char *ifname, short flags)
488 + if (strchr(ifname, ':')) {
489 + /* This is a v4 alias interface. Downing it via a socket for
490 + another AF may have bad consequences. */
491 + fd = get_socket_for_af(AF_INET);
493 + fprintf(stderr, _("No support for INET on this system.\n"));
499 + safe_strncpy(ifr.ifr_name, ifname, IFNAMSIZ);
500 + if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
501 + fprintf(stderr, _("%s: ERROR while testing interface flags: %s\n"),
502 + ifname, strerror(errno));
505 + return (ifr.ifr_flags & flags);
508 static void usage(void)
510 - fprintf(stderr, _("Usage:\n ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"));
511 + fprintf(stderr, _("Usage:\n ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"));
513 fprintf(stderr, _(" [add <address>[/<prefixlen>]]\n"));
514 fprintf(stderr, _(" [del <address>[/<prefixlen>]]\n"));
516 static void version(void)
518 fprintf(stderr, "%s\n%s\n", Release, Version);
523 static int set_netmask(int skfd, struct ifreq *ifr, struct sockaddr *sa)
524 @@ -222,18 +247,19 @@
532 int main(int argc, char **argv)
535 + struct sockaddr samask;
536 struct sockaddr_in sin;
541 - int goterr = 0, didnetmask = 0;
542 + int goterr = 0, didnetmask = 0, neednetmask=0;
548 if (!strcmp(*spp, "-promisc")) {
549 goterr |= clr_flag(ifr.ifr_name, IFF_PROMISC);
550 + if (test_flag(ifr.ifr_name, IFF_PROMISC) > 0)
551 + fprintf(stderr, _("Warning: Interface %s still in promisc mode... maybe other application is running?\n"), ifr.ifr_name);
557 if (!strcmp(*spp, "-multicast")) {
558 goterr |= clr_flag(ifr.ifr_name, IFF_MULTICAST);
559 + if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
560 + fprintf(stderr, _("Warning: Interface %s still in MULTICAST mode.\n"), ifr.ifr_name);
566 if (!strcmp(*spp, "-allmulti")) {
567 goterr |= clr_flag(ifr.ifr_name, IFF_ALLMULTI);
568 + if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
569 + fprintf(stderr, _("Warning: Interface %s still in ALLMULTI mode.\n"), ifr.ifr_name);
574 if (!strcmp(*spp, "-dynamic")) {
575 goterr |= clr_flag(ifr.ifr_name, IFF_DYNAMIC);
577 + if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
578 + fprintf(stderr, _("Warning: Interface %s still in DYNAMIC mode.\n"), ifr.ifr_name);
584 if (!strcmp(*spp, "-broadcast")) {
585 goterr |= clr_flag(ifr.ifr_name, IFF_BROADCAST);
586 + if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
587 + fprintf(stderr, _("Warning: Interface %s still in BROADCAST mode.\n"), ifr.ifr_name);
592 if (*++spp != NULL) {
593 safe_strncpy(host, *spp, (sizeof host));
594 if (ap->input(0, host, &sa) < 0) {
599 + fprintf(stderr, _("ifconfig: Error resolving '%s' for broadcast\n"), host);
605 safe_strncpy(host, *spp, (sizeof host));
606 if (ap->input(0, host, &sa) < 0) {
611 + fprintf(stderr, _("ifconfig: Error resolving '%s' for dstaddr\n"), host);
615 @@ -535,13 +577,16 @@
617 safe_strncpy(host, *spp, (sizeof host));
618 if (ap->input(0, host, &sa) < 0) {
623 + fprintf(stderr, _("ifconfig: Error resolving '%s' for netmask\n"), host);
629 - goterr = set_netmask(ap->fd, &ifr, &sa);
630 + goterr |= set_netmask(ap->fd, &ifr, &sa);
635 if (!strcmp(*spp, "-pointopoint")) {
636 goterr |= clr_flag(ifr.ifr_name, IFF_POINTOPOINT);
638 + if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
639 + fprintf(stderr, _("Warning: Interface %s still in POINTOPOINT mode.\n"), ifr.ifr_name);
642 if (!strcmp(*spp, "pointopoint")) {
645 safe_strncpy(host, *spp, (sizeof host));
646 if (ap->input(0, host, &sa)) {
651 + fprintf(stderr, _("ifconfig: Error resolving '%s' for pointopoint\n"), host);
656 memcpy((char *) &ifr.ifr_hwaddr, (char *) &sa,
657 sizeof(struct sockaddr));
658 if (ioctl(skfd, SIOCSIFHWADDR, &ifr) < 0) {
659 - fprintf(stderr, "SIOCSIFHWADDR: %s\n",
661 + if (errno == EBUSY)
662 + fprintf(stderr, "SIOCSIFHWADDR: %s - you may need to down the interface\n",
665 + fprintf(stderr, "SIOCSIFHWADDR: %s\n",
670 @@ -681,12 +735,15 @@
677 safe_strncpy(host, *spp, (sizeof host));
678 if (inet6_aftype.input(1, host,
679 (struct sockaddr *) &sa6) < 0) {
680 - inet6_aftype.herror(host);
681 + if (inet6_aftype.herror)
682 + inet6_aftype.herror(host);
684 + fprintf(stderr, _("ifconfig: Error resolving '%s' for add\n"), host);
695 safe_strncpy(host, *spp, (sizeof host));
696 if (inet6_aftype.input(1, host,
699 ifr6.ifr6_ifindex = ifr.ifr_ifindex;
700 ifr6.ifr6_prefixlen = prefix_len;
702 + fprintf(stderr, "now deleting: ioctl(SIOCDIFADDR,{ifindex=%d,prefixlen=%ld})\n",ifr.ifr_ifindex,prefix_len);
703 if (ioctl(fd, SIOCDIFADDR, &ifr6) < 0) {
704 fprintf(stderr, "SIOCDIFADDR: %s\n",
713 safe_strncpy(host, *spp, (sizeof host));
714 if (inet6_aftype.input(1, host, (struct sockaddr *) &sa6) < 0) {
716 /* FIXME: sa is too small for INET6 addresses, inet6 should use that too,
717 broadcast is unexpected */
719 - switch (ap->getmask(host, &sa, NULL)) {
720 + switch (ap->getmask(host, &samask, NULL)) {
728 - goterr = set_netmask(skfd, &ifr, &sa);
730 + // remeber to set the netmask from samask later
738 if (ap->input(0, host, &sa) < 0) {
740 - fprintf(stderr, _("ifconfig: `--help' gives usage information.\n"));
745 + fprintf(stderr,_("ifconfig: error resolving '%s' to set address for af=%s\n"), host, ap->name); fprintf(stderr,
746 + _("ifconfig: `--help' gives usage information.\n")); exit(1);
748 memcpy((char *) &ifr.ifr_addr, (char *) &sa, sizeof(struct sockaddr));
750 @@ -980,6 +1041,14 @@
755 + goterr |= set_netmask(skfd, &ifr, &samask);
759 + if (opt_v && goterr)
760 + fprintf(stderr, _("WARNING: at least one error occured. (%d)\n"), goterr);
765 --- net-tools-1.60/include/interface.h 2001-02-10 21:24:25.000000000 +0200
766 +++ net-tools/include/interface.h 2002-03-05 02:47:36.000000000 +0200
768 extern int if_fetch(struct interface *ife);
770 extern int for_all_interfaces(int (*)(struct interface *, void *), void *);
771 -extern int free_interface_list(void);
772 +extern int if_cache_free(void);
773 extern struct interface *lookup_interface(char *name);
774 extern int if_readlist(void);
776 extern int do_if_fetch(struct interface *ife);
777 extern int do_if_print(struct interface *ife, void *cookie);
779 +extern int procnetdev_version(char *buf);
780 +extern int get_dev_fields(char *bp, struct interface *ife);
781 +extern char * get_name(char *name, char *p);
783 extern void ife_print(struct interface *ptr);
785 extern int ife_short;
786 --- net-tools-1.60/include/mii.h 2000-05-21 16:21:27.000000000 +0200
787 +++ net-tools/include/mii.h 2006-09-27 23:59:19.000000000 +0300
789 * Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
792 -#ifndef _LINUX_MII_H
793 -#define _LINUX_MII_H
794 +#ifndef _NETTOOL_MII_H
795 +#define _NETTOOLS_MII_H
797 +#include <linux/sockios.h>
799 /* network interface ioctl's for MII commands */
801 +#warning "SIOCGMIIPHY is not defined by your kernel source"
802 #define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */
803 #define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */
804 #define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */
806 #define MII_BMCR_RESTART 0x0200
807 #define MII_BMCR_DUPLEX 0x0100
808 #define MII_BMCR_COLTEST 0x0080
809 +#define MII_BMCR_SPEED1000 0x0040
811 /* Basic Mode Status Register */
812 #define MII_BMSR 0x01
814 #define MII_ANER_PAGE_RX 0x0002
815 #define MII_ANER_LP_AN_ABLE 0x0001
817 -#endif /* _LINUX_MII_H */
818 +#define MII_CTRL1000 0x09
819 +#define MII_BMCR2_1000FULL 0x0200
820 +#define MII_BMCR2_1000HALF 0x0100
822 +#define MII_STAT1000 0x0a
823 +#define MII_LPA2_1000LOCALOK 0x2000
824 +#define MII_LPA2_1000REMRXOK 0x1000
825 +#define MII_LPA2_1000FULL 0x0800
826 +#define MII_LPA2_1000HALF 0x0400
828 +/* Last register we need for show_basic_mii() */
829 +#define MII_BASIC_MAX (MII_STAT1000+1)
831 +#endif /* _NETTOOLS_MII_H */
832 --- net-tools-1.60/include/util-ank.h 1999-04-21 20:38:05.000000000 +0300
833 +++ net-tools/include/util-ank.h 2006-10-11 04:14:33.000000000 +0300
835 extern int do_class(int argc, char **argv);
836 extern int do_filter(int argc, char **argv);
838 -extern const char *format_host(int af, void *addr, __u8 *abuf, int alen);
839 +extern const char *format_host(int af, void *addr, char *abuf, int alen);
841 #endif /* __UTILS_H__ */
842 --- net-tools-1.60/ipmaddr.c 2001-04-08 19:04:23.000000000 +0200
843 +++ net-tools/ipmaddr.c 2006-10-11 04:13:57.000000000 +0300
844 @@ -291,13 +291,15 @@
845 static int multiaddr_list(int argc, char **argv)
847 struct ma_info *list = NULL;
851 if (strcmp(*argv, "dev") == 0) {
855 + if (l <= 0 || l >= sizeof(filter_dev))
857 - strcpy(filter_dev, *argv);
858 + strncpy(filter_dev, *argv, sizeof (filter_dev));
859 } else if (strcmp(*argv, "all") == 0) {
860 filter_family = AF_UNSPEC;
861 } else if (strcmp(*argv, "ipv4") == 0) {
863 } else if (strcmp(*argv, "link") == 0) {
864 filter_family = AF_PACKET;
868 + if (l <= 0 || l >= sizeof(filter_dev))
870 - strcpy(filter_dev, *argv);
871 + strncpy(filter_dev, *argv, sizeof (filter_dev));
875 --- net-tools-1.60/lib/ddp_gr.c 1999-01-09 17:54:32.000000000 +0200
876 +++ net-tools/lib/ddp_gr.c 2002-06-02 08:25:15.000000000 +0300
879 + * lib/ddp_gr.c Prinbting of DDP (AppleTalk) routing table
880 + * used by the NET-LIB.
886 + * Author: Ajax <ajax@firest0rm.org>
889 + * 2002-06-02 integrated into main source by Bernd Eckenfels
893 +/* TODO: name lookups (/etc/atalk.names? NBP?) */
899 #include "pathnames.h"
902 +/* stolen from inet_gr.c */
903 +#define flags_decode(i,o) do { \
905 + if (i & RTF_UP) strcat(o, "U"); \
906 + if (i & RTF_GATEWAY) strcat(o, "G"); \
907 + if (i & RTF_REJECT) strcat(o, "!"); \
908 + if (i & RTF_HOST) strcat(o, "H"); \
909 + if (i & RTF_REINSTATE) strcat(o, "R"); \
910 + if (i & RTF_DYNAMIC) strcat(o, "D"); \
911 + if (i & RTF_MODIFIED) strcat(o, "M"); \
912 + if (i & RTF_DEFAULT) strcat(o, "d"); \
913 + if (i & RTF_ALLONLINK) strcat(o, "a"); \
914 + if (i & RTF_ADDRCONF) strcat(o, "c"); \
915 + if (i & RTF_NONEXTHOP) strcat(o, "o"); \
916 + if (i & RTF_EXPIRES) strcat(o, "e"); \
917 + if (i & RTF_CACHE) strcat(o, "c"); \
918 + if (i & RTF_FLOW) strcat(o, "f"); \
919 + if (i & RTF_POLICY) strcat(o, "p"); \
920 + if (i & RTF_LOCAL) strcat(o, "l"); \
921 + if (i & RTF_MTU) strcat(o, "u"); \
922 + if (i & RTF_WINDOW) strcat(o, "w"); \
923 + if (i & RTF_IRTT) strcat(o, "i"); \
924 + if (i & RTF_NOTCACHED) strcat(o, "n"); \
927 int DDP_rprint(int options)
929 - fprintf(stderr, _("Routing table for `ddp' not yet supported.\n"));
932 + char *dest, *gw, *dev, *flags;
934 + char *hdr = "Destination Gateway Device Flags";
936 + fp = fopen(_PATH_PROCNET_ATALK_ROUTE, "r");
939 + perror("Error opening " _PATH_PROCNET_ATALK_ROUTE);
940 + fprintf(stderr, "DDP (AppleTalk) not configured on this system.\n");
944 + fscanf(fp, "%as %as %as %as\n", &dest, &gw, &flags, &dev);
945 + free(dest); free(gw); free(dev); free(flags);
947 + printf("%s\n", hdr);
949 + while (fscanf(fp, "%as %as %as %as\n", &dest, &gw, &flags, &dev) == 4) {
950 + int iflags = atoi(flags);
951 + flags_decode(iflags, oflags);
952 + printf("%-16s%-16s%-16s%-s\n", dest, gw, dev, oflags);
953 + free(dest); free(gw); free(dev); free(flags);
962 --- net-tools-1.60/lib/ether.c 1999-11-20 23:02:53.000000000 +0200
963 +++ net-tools/lib/ether.c 2002-07-30 08:17:29.000000000 +0300
965 * lib/ether.c This file contains an implementation of the "Ethernet"
971 * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
972 * Copyright 1993 MicroWalt Corporation
975 static char buff[64];
977 - snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X",
978 + snprintf(buff, sizeof(buff), "%02x:%02x:%02x:%02x:%02x:%02x",
979 (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377),
980 (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
982 --- net-tools-1.60/lib/eui64.c 1970-01-01 03:00:00.000000000 +0300
983 +++ net-tools/lib/eui64.c 2001-11-12 04:12:05.000000000 +0200
986 + * lib/eui64.c This file contains support for generic EUI-64 hw addressing
990 + * Author: Daniel Stodden <stodden@in.tum.de>
991 + * Copyright 2001 Daniel Stodden
993 + * blueprinted from ether.c
994 + * Copyright 1993 MicroWalt Corporation
996 + * This program is free software; you can redistribute it
997 + * and/or modify it under the terms of the GNU General
998 + * Public License as published by the Free Software
999 + * Foundation; either version 2 of the License, or (at
1000 + * your option) any later version.
1002 +#include "config.h"
1006 +#include <sys/types.h>
1007 +#include <sys/ioctl.h>
1008 +#include <sys/socket.h>
1009 +#include <net/if_arp.h>
1010 +#include <stdlib.h>
1015 +#include <string.h>
1016 +#include <termios.h>
1017 +#include <unistd.h>
1018 +#include "net-support.h"
1019 +#include "pathnames.h"
1023 + * EUI-64 constants
1026 +#define EUI64_ALEN 8
1028 +#ifndef ARPHRD_EUI64
1029 +#define ARPHRD_EUI64 27
1030 +#warning "ARPHRD_EUI64 not defined in <net/if_arp.h>. Using private value 27"
1033 +struct hwtype eui64_hwtype;
1035 +/* Display an EUI-64 address in readable format. */
1036 +static char *pr_eui64( unsigned char *ptr )
1038 + static char buff[64];
1040 + snprintf(buff, sizeof(buff), "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
1041 + (ptr[0] & 0377), (ptr[1] & 0377), (ptr[2] & 0377), (ptr[3] & 0377),
1042 + (ptr[4] & 0377), (ptr[5] & 0377), (ptr[6] & 0377), (ptr[7] & 0377)
1047 +/* Start the PPP encapsulation on the file descriptor. */
1048 +static int in_eui64( char *bufp, struct sockaddr *sap )
1050 + unsigned char *ptr;
1055 + sap->sa_family = eui64_hwtype.type;
1056 + ptr = sap->sa_data;
1061 + while ((*bufp != '\0') && (i < EUI64_ALEN)) {
1066 + else if (c >= 'a' && c <= 'f')
1067 + val = c - 'a' + 10;
1068 + else if (c >= 'A' && c <= 'F')
1069 + val = c - 'A' + 10;
1072 + fprintf( stderr, _("in_eui64(%s): invalid eui64 address!\n"),
1083 + else if (c >= 'a' && c <= 'f')
1084 + val |= c - 'a' + 10;
1085 + else if (c >= 'A' && c <= 'F')
1086 + val |= c - 'A' + 10;
1087 + else if (c == ':' || c == 0)
1091 + fprintf( stderr, _("in_eui64(%s): invalid eui64 address!\n"),
1101 + *ptr++ = (unsigned char) (val & 0377);
1104 + /* We might get a semicolon here - not required. */
1105 + if (*bufp == ':') {
1106 + if (i == EUI64_ALEN) {
1108 + fprintf(stderr, _("in_eui64(%s): trailing : ignored!\n"),
1117 + /* That's it. Any trailing junk? */
1118 + if ((i == EUI64_ALEN) && (*bufp != '\0')) {
1120 + fprintf(stderr, _("in_eui64(%s): trailing junk!\n"), orig);
1126 + fprintf(stderr, "in_eui64(%s): %s\n", orig, pr_eui64(sap->sa_data));
1132 +struct hwtype eui64_hwtype =
1134 + "eui64", NULL, /*"EUI-64 addressing", */ ARPHRD_EUI64, EUI64_ALEN,
1135 + pr_eui64, in_eui64, NULL, 0
1139 +#endif /* HAVE_EUI64 */
1140 --- net-tools-1.60/lib/hw.c 2000-05-20 20:27:25.000000000 +0200
1141 +++ net-tools/lib/hw.c 2001-11-12 04:12:05.000000000 +0200
1143 * lib/hw.c This file contains the top-level part of the hardware
1144 * support functions module.
1149 * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
1153 extern struct hwtype ec_hwtype;
1155 +extern struct hwtype eui64_hwtype;
1157 static struct hwtype *hwtypes[] =
1172 ec_hwtype.title = _("Econet");
1175 + eui64_hwtype.title = _("Generic EUI-64");
1180 --- net-tools-1.60/lib/inet6.c 2000-10-28 13:04:00.000000000 +0200
1181 +++ net-tools/lib/inet6.c 2002-12-10 03:03:09.000000000 +0200
1183 * support functions for the net-tools.
1184 * (most of it copied from lib/inet.c 1.26).
1189 * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
1190 * Copyright 1993 MicroWalt Corporation
1193 extern int h_errno; /* some netdb.h versions don't export this */
1195 +char * fix_v4_address(char *buf, struct in6_addr *in6)
1197 + if (IN6_IS_ADDR_V4MAPPED(in6->s6_addr)) {
1198 + char *s =strchr(buf, '.');
1200 + while (s > buf && *s != ':')
1202 + if (*s == ':') ++s;
1210 static int INET6_resolve(char *name, struct sockaddr_in6 *sin6)
1212 struct addrinfo req, *ai;
1216 if (numeric & 0x7FFF) {
1217 - inet_ntop(AF_INET6, &sin6->sin6_addr, name, 80);
1218 + inet_ntop( AF_INET6, &sin6->sin6_addr, name, 80);
1221 if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
1222 if (numeric & 0x8000)
1223 strcpy(name, "default");
1225 - strcpy(name, "*");
1226 + strcpy(name, "[::]");
1230 @@ -109,13 +124,14 @@
1235 /* Display an Internet socket address. */
1236 static char *INET6_print(unsigned char *ptr)
1238 static char name[80];
1240 inet_ntop(AF_INET6, (struct in6_addr *) ptr, name, 80);
1242 + return fix_v4_address(name, (struct in6_addr *)ptr);
1246 @@ -129,13 +145,14 @@
1247 return safe_strncpy(buff, _("[NONE SET]"), sizeof(buff));
1248 if (INET6_rresolve(buff, (struct sockaddr_in6 *) sap, numeric) != 0)
1249 return safe_strncpy(buff, _("[UNKNOWN]"), sizeof(buff));
1251 + return (fix_v4_address(buff, &((struct sockaddr_in6 *)sap)->sin6_addr));
1255 static int INET6_getsock(char *bufp, struct sockaddr *sap)
1257 struct sockaddr_in6 *sin6;
1260 sin6 = (struct sockaddr_in6 *) sap;
1261 sin6->sin6_family = AF_INET6;
1264 if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
1267 + p = fix_v4_address(bufp, &sin6->sin6_addr);
1269 + memcpy(bufp, p, strlen(p)+1);
1270 return 16; /* ?;) */
1273 --- net-tools-1.60/lib/inet6_gr.c 2001-04-01 16:48:06.000000000 +0200
1274 +++ net-tools/lib/inet6_gr.c 2002-07-30 08:24:20.000000000 +0300
1279 1998-07-01 - Arnaldo Carvalho de Melo - GNU gettext instead of catgets,
1280 snprintf instead of sprintf
1282 printf(_("INET6 (IPv6) not configured in this system.\n"));
1285 - printf(_("Kernel IPv6 routing table\n"));
1287 - printf(_("Destination "
1289 - "Flags Metric Ref Use Iface\n"));
1290 + if (numeric & RTF_CACHE)
1291 + printf(_("Kernel IPv6 routing cache\n"));
1293 + printf(_("Kernel IPv6 routing table\n"));
1295 + printf(_("Destination "
1297 + "Flag Met Ref Use If\n"));
1299 while (fgets(buff, 1023, fp)) {
1300 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",
1303 naddr6p[0], naddr6p[1], naddr6p[2], naddr6p[3],
1304 naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7],
1305 - &metric, &use, &refcnt, &iflags, iface);
1306 + &metric, &refcnt, &use, &iflags, iface);
1311 - if (!(iflags & RTF_UP))
1313 + if (iflags & RTF_CACHE) {
1314 + if (!(numeric & RTF_CACHE))
1317 + if (numeric & RTF_CACHE)
1321 /* Fetch and resolve the target address. */
1322 snprintf(addr6, sizeof(addr6), "%s:%s:%s:%s:%s:%s:%s:%s",
1323 addr6p[0], addr6p[1], addr6p[2], addr6p[3],
1324 @@ -112,7 +122,12 @@
1325 inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1));
1327 /* Decode the flags. */
1328 - strcpy(flags, "U");
1331 + if (iflags & RTF_UP)
1332 + strcat(flags, "U");
1333 + if (iflags & RTF_REJECT)
1334 + strcat(flags, "!");
1335 if (iflags & RTF_GATEWAY)
1337 if (iflags & RTF_HOST)
1338 @@ -123,9 +138,19 @@
1340 if (iflags & RTF_CACHE)
1342 + if (iflags & RTF_ALLONLINK)
1343 + strcat(flags, "a");
1344 + if (iflags & RTF_EXPIRES)
1345 + strcat(flags, "e");
1346 + if (iflags & RTF_MODIFIED)
1347 + strcat(flags, "m");
1348 + if (iflags & RTF_NONEXTHOP)
1349 + strcat(flags, "n");
1350 + if (iflags & RTF_FLOW)
1351 + strcat(flags, "f");
1353 /* Print the info. */
1354 - printf("%-43s %-39s %-5s %-6d %-2d %7d %-8s\n",
1355 + printf("%-30s %-26s %-4s %-3d %-1d%6d %s\n",
1356 addr6, naddr6, flags, metric, refcnt, use, iface);
1360 char addr6p[8][5], haddrp[6][3];
1363 - ESYSNOT("nd_print", "ND Table");
1365 + return rprint_fib6(ext, numeric | RTF_CACHE);
1367 printf(_("Kernel IPv6 Neighbour Cache\n"));
1369 --- net-tools-1.60/lib/inet.c 2000-05-22 23:27:13.000000000 +0200
1370 +++ net-tools/lib/inet.c 2003-10-19 14:57:37.000000000 +0300
1372 * support functions for the net-tools.
1373 * (NET-3 base distribution).
1378 * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
1379 * Copyright 1993 MicroWalt Corporation
1381 struct hostent *ent;
1384 - unsigned long ad, host_ad;
1385 + u_int32_t ad, host_ad;
1390 errno = EAFNOSUPPORT;
1393 - ad = (unsigned long) sin->sin_addr.s_addr;
1394 + ad = sin->sin_addr.s_addr;
1396 fprintf (stderr, "rresolve: %08lx, mask %08x, num %08x \n", ad, netmask, numeric);
1398 --- net-tools-1.60/lib/inet_sr.c 2000-02-20 23:46:45.000000000 +0200
1399 +++ net-tools/lib/inet_sr.c 2003-10-12 00:08:10.000000000 +0300
1401 1998-07-01 - Arnaldo Carvalho de Melo - GNU gettext instead of catgets
1402 1999-10-07 - Kurt Garloff - for -host and gws: prefer host names
1403 over networks (or even reject)
1404 + 2003-10-11 - Maik Broemme - gcc 3.x warnign fixes (default: break;)
1415 /* Fill in the other fields. */
1416 --- net-tools-1.60/lib/interface.c 2001-02-10 21:31:15.000000000 +0200
1417 +++ net-tools/lib/interface.c 2005-08-24 01:46:51.000000000 +0300
1419 8/2000 Andi Kleen make the list operations a bit more efficient.
1420 People are crazy enough to use thousands of aliases now.
1431 +#include <string.h>
1434 #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
1439 +int if_list_all = 0; /* do we have requested the complete proc list, yet? */
1441 static struct interface *int_list, *int_last;
1443 static int if_readlist_proc(char *);
1445 -static struct interface *add_interface(char *name)
1446 +static struct interface *if_cache_add(char *name)
1448 struct interface *ife, **nextp, *new;
1453 + /* the cache is sorted, so if we hit a smaller if, exit */
1454 for (ife = int_last; ife; ife = ife->prev) {
1455 int n = nstrcmp(ife->name, name);
1460 safe_strncpy(new->name, name, IFNAMSIZ);
1461 - nextp = ife ? &ife->next : &int_list;
1462 + nextp = ife ? &ife->next : &int_list; // keep sorting
1466 @@ -117,19 +124,22 @@
1468 struct interface *lookup_interface(char *name)
1470 - struct interface *ife = NULL;
1472 - if (if_readlist_proc(name) < 0)
1474 - ife = add_interface(name);
1476 + /* if we have read all, use it */
1478 + return if_cache_add(name);
1480 + /* otherwise we read a limited list */
1481 + if (if_readlist_proc(name) < 0)
1484 + return if_cache_add(name);
1487 int for_all_interfaces(int (*doit) (struct interface *, void *), void *cookie)
1489 struct interface *ife;
1491 - if (!int_list && (if_readlist() < 0))
1492 + if (!if_list_all && (if_readlist() < 0))
1494 for (ife = int_list; ife; ife = ife->next) {
1495 int err = doit(ife, cookie);
1496 @@ -139,13 +149,15 @@
1500 -int free_interface_list(void)
1501 +int if_cache_free(void)
1503 struct interface *ife;
1504 while ((ife = int_list) != NULL) {
1505 int_list = ife->next;
1515 if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
1516 /* assume it overflowed and try again */
1525 for (n = 0; n < ifc.ifc_len; n += sizeof(struct ifreq)) {
1526 - add_interface(ifr->ifr_name);
1527 + if_cache_add(ifr->ifr_name);
1535 -static char *get_name(char *name, char *p)
1536 +char *get_name(char *name, char *p)
1540 @@ -206,16 +218,19 @@
1543 if (*p == ':') { /* could be an alias */
1544 - char *dot = p, *dotname = name;
1546 - while (isdigit(*p))
1548 - if (*p != ':') { /* it wasn't, backup */
1552 + while (*p && isdigit(*p)) p++;
1554 + /* Yes it is, backup and copy it. */
1557 + while (*p && isdigit(*p)) {
1561 + /* No, it isn't */
1573 -static int procnetdev_version(char *buf)
1574 +int procnetdev_version(char *buf)
1576 if (strstr(buf, "compressed"))
1578 @@ -234,12 +249,12 @@
1582 -static int get_dev_fields(char *bp, struct interface *ife)
1583 +int get_dev_fields(char *bp, struct interface *ife)
1585 switch (procnetdev_vsn) {
1588 - "%llu %llu %lu %lu %lu %lu %lu %lu %llu %llu %lu %lu %lu %lu %lu %lu",
1589 + "%Lu %Lu %lu %lu %lu %lu %lu %lu %Lu %Lu %lu %lu %lu %lu %lu %lu",
1590 &ife->stats.rx_bytes,
1591 &ife->stats.rx_packets,
1592 &ife->stats.rx_errors,
1594 &ife->stats.tx_compressed);
1597 - sscanf(bp, "%llu %llu %lu %lu %lu %lu %llu %llu %lu %lu %lu %lu %lu",
1598 + sscanf(bp, "%Lu %Lu %lu %lu %lu %lu %Lu %Lu %lu %lu %lu %lu %lu",
1599 &ife->stats.rx_bytes,
1600 &ife->stats.rx_packets,
1601 &ife->stats.rx_errors,
1603 ife->stats.rx_multicast = 0;
1606 - sscanf(bp, "%llu %lu %lu %lu %lu %llu %lu %lu %lu %lu %lu",
1607 + sscanf(bp, "%Lu %lu %lu %lu %lu %Lu %lu %lu %lu %lu %lu",
1608 &ife->stats.rx_packets,
1609 &ife->stats.rx_errors,
1610 &ife->stats.rx_dropped,
1611 @@ -300,22 +315,16 @@
1613 static int if_readlist_proc(char *target)
1615 - static int proc_read;
1618 struct interface *ife;
1626 fh = fopen(_PATH_PROCNET_DEV, "r");
1628 fprintf(stderr, _("Warning: cannot open %s (%s). Limited output.\n"),
1629 _PATH_PROCNET_DEV, strerror(errno));
1630 - return if_readconf();
1633 fgets(buf, sizeof buf, fh); /* eat line */
1634 fgets(buf, sizeof buf, fh);
1636 while (fgets(buf, sizeof buf, fh)) {
1637 char *s, name[IFNAMSIZ];
1638 s = get_name(name, buf);
1639 - ife = add_interface(name);
1640 + ife = if_cache_add(name);
1641 get_dev_fields(s, ife);
1642 ife->statistics_valid = 1;
1643 if (target && !strcmp(target,name))
1646 perror(_PATH_PROCNET_DEV);
1652 @@ -371,9 +379,16 @@
1654 int if_readlist(void)
1656 - int err = if_readlist_proc(NULL);
1658 - err = if_readconf();
1659 + /* caller will/should check not to call this too often
1660 + * (i.e. only if if_list_all == 0
1664 + err |= if_readlist_proc(NULL);
1665 + err |= if_readconf();
1672 @@ -580,10 +595,10 @@
1673 void ife_print_short(struct interface *ptr)
1675 printf("%-5.5s ", ptr->name);
1676 - printf("%5d %3d", ptr->mtu, ptr->metric);
1677 + printf("%5d %-2d ", ptr->mtu, ptr->metric);
1678 /* If needed, display the interface statistics. */
1679 if (ptr->statistics_valid) {
1680 - printf("%8llu %6lu %6lu %6lu",
1681 + printf("%8llu %6lu %6lu %-6lu ",
1682 ptr->stats.rx_packets, ptr->stats.rx_errors,
1683 ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors);
1684 printf("%8llu %6lu %6lu %6lu ",
1685 @@ -636,9 +651,10 @@
1687 int can_compress = 0;
1688 unsigned long long rx, tx, short_rx, short_tx;
1692 + const char *Rext = "B";
1693 + const char *Text = "B";
1694 + static char flags[200];
1697 static struct aftype *ipxtype = NULL;
1699 @@ -670,32 +686,70 @@
1701 hw = get_hwntype(-1);
1703 - printf(_("%-9.9s Link encap:%s "), ptr->name, hw->title);
1704 - /* For some hardware types (eg Ash, ATM) we don't print the
1705 - hardware address if it's null. */
1706 - if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) &&
1707 - hw->suppress_null_addr)))
1708 - printf(_("HWaddr %s "), hw->print(ptr->hwaddr));
1710 - if (ptr->flags & IFF_PORTSEL) {
1711 - printf(_("Media:%s"), if_port_text[ptr->map.port][0]);
1712 - if (ptr->flags & IFF_AUTOMEDIA)
1713 - printf(_("(auto)"));
1715 + sprintf(flags, "flags=%d<", ptr->flags);
1716 + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */
1717 + if (ptr->flags == 0)
1718 + strcat(flags,">");
1719 + if (ptr->flags & IFF_UP)
1720 + strcat(flags,_("UP,"));
1721 + if (ptr->flags & IFF_BROADCAST)
1722 + strcat(flags,_("BROADCAST,"));
1723 + if (ptr->flags & IFF_DEBUG)
1724 + strcat(flags,_("DEBUG,"));
1725 + if (ptr->flags & IFF_LOOPBACK)
1726 + strcat(flags,_("LOOPBACK,"));
1727 + if (ptr->flags & IFF_POINTOPOINT)
1728 + strcat(flags,_("POINTOPOINT,"));
1729 + if (ptr->flags & IFF_NOTRAILERS)
1730 + strcat(flags,_("NOTRAILERS,"));
1731 + if (ptr->flags & IFF_RUNNING)
1732 + strcat(flags,_("RUNNING,"));
1733 + if (ptr->flags & IFF_NOARP)
1734 + strcat(flags,_("NOARP,"));
1735 + if (ptr->flags & IFF_PROMISC)
1736 + strcat(flags,_("PROMISC,"));
1737 + if (ptr->flags & IFF_ALLMULTI)
1738 + strcat(flags,_("ALLMULTI,"));
1739 + if (ptr->flags & IFF_SLAVE)
1740 + strcat(flags,_("SLAVE,"));
1741 + if (ptr->flags & IFF_MASTER)
1742 + strcat(flags,_("MASTER,"));
1743 + if (ptr->flags & IFF_MULTICAST)
1744 + strcat(flags,_("MULTICAST,"));
1745 +#ifdef HAVE_DYNAMIC
1746 + if (ptr->flags & IFF_DYNAMIC)
1747 + strcat(flags,_("DYNAMIC,"));
1749 + /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */
1750 + if (flags[strlen(flags)-1] == ',')
1751 + flags[strlen(flags)-1] = '>';
1753 + flags[strlen(flags)-1] = 0;
1756 + printf(_("%s: %s mtu %d metric %d"),
1757 + ptr->name, flags, ptr->mtu, ptr->metric ? ptr->metric : 1);
1758 +#ifdef SIOCSKEEPALIVE
1759 + if (ptr->outfill || ptr->keepalive)
1760 + printf(_(" outfill %d keepalive %d"),
1761 + ptr->outfill, ptr->keepalive);
1769 - printf(_(" %s addr:%s "), ap->name,
1770 + printf(_(" %s %s"), ap->name,
1771 ap->sprint(&ptr->addr, 1));
1772 - if (ptr->flags & IFF_POINTOPOINT) {
1773 - printf(_(" P-t-P:%s "), ap->sprint(&ptr->dstaddr, 1));
1775 + printf(_(" netmask %s"), ap->sprint(&ptr->netmask, 1));
1776 if (ptr->flags & IFF_BROADCAST) {
1777 - printf(_(" Bcast:%s "), ap->sprint(&ptr->broadaddr, 1));
1778 + printf(_(" broadcast %s"), ap->sprint(&ptr->broadaddr, 1));
1780 + if (ptr->flags & IFF_POINTOPOINT) {
1781 + printf(_(" destination %s"), ap->sprint(&ptr->dstaddr, 1));
1783 - printf(_(" Mask:%s\n"), ap->sprint(&ptr->netmask, 1));
1788 @@ -712,29 +766,30 @@
1789 addr6p[0], addr6p[1], addr6p[2], addr6p[3],
1790 addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
1791 inet6_aftype.input(1, addr6, (struct sockaddr *) &sap);
1792 - printf(_(" inet6 addr: %s/%d"),
1793 - inet6_aftype.sprint((struct sockaddr *) &sap, 1), plen);
1794 - printf(_(" Scope:"));
1797 - printf(_("Global"));
1799 - case IPV6_ADDR_LINKLOCAL:
1800 - printf(_("Link"));
1802 - case IPV6_ADDR_SITELOCAL:
1803 - printf(_("Site"));
1805 - case IPV6_ADDR_COMPATv4:
1806 - printf(_("Compat"));
1808 - case IPV6_ADDR_LOOPBACK:
1809 - printf(_("Host"));
1812 - printf(_("Unknown"));
1813 + printf(_(" %s %s prefixlen %d"),
1814 + inet6_aftype.name,
1815 + inet6_aftype.sprint((struct sockaddr *) &sap, 1),
1817 + printf(_(" scopeid 0x%x"), scope);
1819 + flags[0] = '<'; flags[1] = 0;
1820 + if (scope & IPV6_ADDR_COMPATv4) {
1821 + strcat(flags, _("compat,"));
1822 + scope -= IPV6_ADDR_COMPATv4;
1826 + strcat(flags, _("global,"));
1827 + if (scope & IPV6_ADDR_LINKLOCAL)
1828 + strcat(flags, _("link,"));
1829 + if (scope & IPV6_ADDR_SITELOCAL)
1830 + strcat(flags, _("site,"));
1831 + if (scope & IPV6_ADDR_LOOPBACK)
1832 + strcat(flags, _("host,"));
1833 + if (flags[strlen(flags)-1] == ',')
1834 + flags[strlen(flags)-1] = '>';
1836 + flags[strlen(flags)-1] = 0;
1837 + printf("%s\n", flags);
1841 @@ -747,17 +802,17 @@
1843 if (ipxtype != NULL) {
1844 if (ptr->has_ipx_bb)
1845 - printf(_(" IPX/Ethernet II addr:%s\n"),
1846 - ipxtype->sprint(&ptr->ipxaddr_bb, 1));
1847 + printf(_(" %s Ethernet-II %s\n"),
1848 + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_bb, 1));
1849 if (ptr->has_ipx_sn)
1850 - printf(_(" IPX/Ethernet SNAP addr:%s\n"),
1851 - ipxtype->sprint(&ptr->ipxaddr_sn, 1));
1852 + printf(_(" %s Ethernet-SNAP %s\n"),
1853 + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_sn, 1));
1854 if (ptr->has_ipx_e2)
1855 - printf(_(" IPX/Ethernet 802.2 addr:%s\n"),
1856 - ipxtype->sprint(&ptr->ipxaddr_e2, 1));
1857 + printf(_(" %s Ethernet802.2 %s\n"),
1858 + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e2, 1));
1859 if (ptr->has_ipx_e3)
1860 - printf(_(" IPX/Ethernet 802.3 addr:%s\n"),
1861 - ipxtype->sprint(&ptr->ipxaddr_e3, 1));
1862 + printf(_(" %s Ethernet802.3 %s\n"),
1863 + ipxtype->name, ipxtype->sprint(&ptr->ipxaddr_e3, 1));
1868 ddptype = get_afntype(AF_APPLETALK);
1869 if (ddptype != NULL) {
1871 - printf(_(" EtherTalk Phase 2 addr:%s\n"), ddptype->sprint(&ptr->ddpaddr, 1));
1872 + printf(_(" %s %s\n"), ddptype->name, ddptype->sprint(&ptr->ddpaddr, 1));
1876 @@ -775,53 +830,30 @@
1877 ectype = get_afntype(AF_ECONET);
1878 if (ectype != NULL) {
1879 if (ptr->has_econet)
1880 - printf(_(" econet addr:%s\n"), ectype->sprint(&ptr->ecaddr, 1));
1881 + printf(_(" %s %s\n"), ectype->name, ectype->sprint(&ptr->ecaddr, 1));
1886 - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short, too */
1887 - if (ptr->flags == 0)
1888 - printf(_("[NO FLAGS] "));
1889 - if (ptr->flags & IFF_UP)
1891 - if (ptr->flags & IFF_BROADCAST)
1892 - printf(_("BROADCAST "));
1893 - if (ptr->flags & IFF_DEBUG)
1894 - printf(_("DEBUG "));
1895 - if (ptr->flags & IFF_LOOPBACK)
1896 - printf(_("LOOPBACK "));
1897 - if (ptr->flags & IFF_POINTOPOINT)
1898 - printf(_("POINTOPOINT "));
1899 - if (ptr->flags & IFF_NOTRAILERS)
1900 - printf(_("NOTRAILERS "));
1901 - if (ptr->flags & IFF_RUNNING)
1902 - printf(_("RUNNING "));
1903 - if (ptr->flags & IFF_NOARP)
1904 - printf(_("NOARP "));
1905 - if (ptr->flags & IFF_PROMISC)
1906 - printf(_("PROMISC "));
1907 - if (ptr->flags & IFF_ALLMULTI)
1908 - printf(_("ALLMULTI "));
1909 - if (ptr->flags & IFF_SLAVE)
1910 - printf(_("SLAVE "));
1911 - if (ptr->flags & IFF_MASTER)
1912 - printf(_("MASTER "));
1913 - if (ptr->flags & IFF_MULTICAST)
1914 - printf(_("MULTICAST "));
1915 -#ifdef HAVE_DYNAMIC
1916 - if (ptr->flags & IFF_DYNAMIC)
1917 - printf(_("DYNAMIC "));
1919 - /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */
1920 - printf(_(" MTU:%d Metric:%d"),
1921 - ptr->mtu, ptr->metric ? ptr->metric : 1);
1922 -#ifdef SIOCSKEEPALIVE
1923 - if (ptr->outfill || ptr->keepalive)
1924 - printf(_(" Outfill:%d Keepalive:%d"),
1925 - ptr->outfill, ptr->keepalive);
1926 + /* For some hardware types (eg Ash, ATM) we don't print the
1927 + hardware address if it's null. */
1928 + if (hw->print != NULL && (! (hw_null_address(hw, ptr->hwaddr) &&
1929 + hw->suppress_null_addr)))
1930 + printf(_(" %s %s"), hw->name, hw->print(ptr->hwaddr));
1932 + printf(_(" %s"), hw->name);
1933 + if (ptr->tx_queue_len != -1)
1934 + printf(_(" txqueuelen %d"), ptr->tx_queue_len);
1935 + printf(" (%s)\n", hw->title);
1938 + if (ptr->flags & IFF_PORTSEL) {
1939 + printf(_(" media %s"), if_port_text[ptr->map.port][0]);
1940 + if (ptr->flags & IFF_AUTOMEDIA)
1941 + printf(_("autoselect"));
1948 /* If needed, display the interface statistics. */
1950 @@ -830,55 +862,87 @@
1951 * not for the aliases, although strictly speaking they're shared
1956 - printf(_("RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"),
1957 - ptr->stats.rx_packets, ptr->stats.rx_errors,
1958 - ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors,
1959 - ptr->stats.rx_frame_errors);
1961 - printf(_(" compressed:%lu\n"), ptr->stats.rx_compressed);
1963 rx = ptr->stats.rx_bytes;
1964 - tx = ptr->stats.tx_bytes;
1966 + if (rx > 1125899906842624ull) {
1967 + short_rx /= 1125899906842624ull;
1969 + } else if (rx > 1099511627776ull) {
1970 + short_rx /= 1099511627776ull;
1972 + } else if (rx > 1073741824ull) {
1973 + short_rx /= 1073741824ull;
1975 + } else if (rx > 1048576) {
1976 + short_rx /= 1048576;
1978 + } else if (rx > 1024) {
1982 + tx = ptr->stats.tx_bytes;
1984 - if (rx > 1048576) { short_rx /= 1048576; strcpy(Rext, "Mb"); }
1985 - else if (rx > 1024) { short_rx /= 1024; strcpy(Rext, "Kb"); }
1986 - if (tx > 1048576) { short_tx /= 1048576; strcpy(Text, "Mb"); }
1987 - else if (tx > 1024) { short_tx /= 1024; strcpy(Text, "Kb"); }
1990 - printf(_("TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"),
1991 - ptr->stats.tx_packets, ptr->stats.tx_errors,
1992 - ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors,
1993 - ptr->stats.tx_carrier_errors);
1994 - printf(_(" collisions:%lu "), ptr->stats.collisions);
1996 - printf(_("compressed:%lu "), ptr->stats.tx_compressed);
1997 - if (ptr->tx_queue_len != -1)
1998 - printf(_("txqueuelen:%d "), ptr->tx_queue_len);
2000 - printf(_("RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"),
2001 + if (tx > 1125899906842624ull) {
2002 + short_tx /= 1125899906842624ull;
2004 + } else if (tx > 1099511627776ull) {
2005 + short_tx /= 1099511627776ull;
2007 + } else if (tx > 1073741824ull) {
2008 + short_tx /= 1073741824ull;
2010 + } else if (tx > 1048576) {
2011 + short_tx /= 1048576;
2013 + } else if (tx > 1024) {
2019 + printf(_("RX packets %llu bytes %llu (%lu.%lu %s)\n"),
2020 + ptr->stats.rx_packets,
2021 rx, (unsigned long)(short_rx / 10),
2022 - (unsigned long)(short_rx % 10), Rext,
2023 - tx, (unsigned long)(short_tx / 10),
2024 - (unsigned long)(short_tx % 10), Text);
2025 + (unsigned long)(short_rx % 10), Rext);
2026 + if (can_compress) {
2028 + printf(_("RX compressed:%lu\n"), ptr->stats.rx_compressed);
2031 + printf(_("RX errors %lu dropped %lu overruns %lu frame %lu\n"),
2032 + ptr->stats.rx_errors, ptr->stats.rx_dropped,
2033 + ptr->stats.rx_fifo_errors, ptr->stats.rx_frame_errors);
2037 + printf(_("TX packets %llu bytes %llu (%lu.%lu %s)\n"),
2038 + ptr->stats.tx_packets,
2039 + tx, (unsigned long)(short_tx / 10),
2040 + (unsigned long)(short_tx % 10), Text);
2041 + if (can_compress) {
2043 + printf(_("TX compressed %lu\n"), ptr->stats.tx_compressed);
2046 + printf(_("TX errors %lu dropped %lu overruns %lu carrier %lu collisions %lu\n"),
2047 + ptr->stats.tx_errors,
2048 + ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors,
2049 + ptr->stats.tx_carrier_errors, ptr->stats.collisions);
2052 if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma ||
2053 - ptr->map.base_addr)) {
2055 + ptr->map.base_addr >= 0x100)) {
2056 + printf(" device ");
2058 - printf(_("Interrupt:%d "), ptr->map.irq);
2059 + printf(_("interrupt %d "), ptr->map.irq);
2060 if (ptr->map.base_addr >= 0x100) /* Only print devices using it for
2062 - printf(_("Base address:0x%x "), ptr->map.base_addr);
2063 + printf(_("base 0x%x "), ptr->map.base_addr);
2064 if (ptr->map.mem_start) {
2065 - printf(_("Memory:%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end);
2066 + printf(_("memory 0x%lx-%lx "), ptr->map.mem_start, ptr->map.mem_end);
2069 - printf(_("DMA chan:%x "), ptr->map.dma);
2070 + printf(_(" dma 0x%x"), ptr->map.dma);
2074 --- net-tools-1.60/lib/ipx.c 1999-01-09 17:55:11.000000000 +0200
2075 +++ net-tools/lib/ipx.c 2002-07-30 08:19:29.000000000 +0300
2083 sai->sipx_family = AF_IPX;
2084 sai->sipx_network = htonl(0);
2085 sai->sipx_node[0] = sai->sipx_node[1] = sai->sipx_node[2] =
2086 --- net-tools-1.60/lib/ipx_gr.c 2000-10-28 12:59:42.000000000 +0200
2087 +++ net-tools/lib/ipx_gr.c 2005-08-03 01:28:10.000000000 +0300
2089 char net[128], router_net[128];
2090 char router_node[128];
2092 - FILE *fp = fopen(_PATH_PROCNET_IPX_ROUTE, "r");
2097 - if ((ap = get_afntype(AF_IPX)) == NULL) {
2098 - EINTERN("lib/ipx_rt.c", "AF_IPX missing");
2101 + fp = fopen(_PATH_PROCNET_IPX_ROUTE1, "r");
2104 - perror(_PATH_PROCNET_IPX_ROUTE);
2105 - printf(_("IPX not configured in this system.\n"));
2106 + fp = fopen(_PATH_PROCNET_IPX_ROUTE2, "r");
2111 + printf(_("IPX routing not in file %s or %s found.\n"), _PATH_PROCNET_IPX_ROUTE1, _PATH_PROCNET_IPX_ROUTE2);
2115 + if ((ap = get_afntype(AF_IPX)) == NULL) {
2116 + EINTERN("lib/ipx_rt.c", "AF_IPX missing");
2120 printf(_("Kernel IPX routing table\n")); /* xxx */
2121 printf(_("Destination Router Net Router Node\n"));
2123 --- net-tools-1.60/lib/irda.c 2000-03-05 17:26:04.000000000 +0200
2124 +++ net-tools/lib/irda.c 2002-05-01 14:49:56.000000000 +0300
2126 /*********************************************************************
2130 - * Description: A first attempt to make ifconfig understand IrDA
2132 + * Description: A second attempt to make ifconfig understand IrDA
2133 * Status: Experimental.
2134 * Author: Dag Brattli <dagb@cs.uit.no>
2135 * Created at: Wed Apr 21 09:03:09 1999
2136 * Modified at: Wed Apr 21 09:17:05 1999
2137 * Modified by: Dag Brattli <dagb@cs.uit.no>
2138 + * Modified at: Wed May 1 11:51:44 CEST 2002
2139 + * Modified by: Christoph Bartelmus <christoph@bartelmus.de>
2141 * This program is free software; you can redistribute it and/or
2142 * modify it under the terms of the GNU General Public License as
2145 static char *irda_print(unsigned char *ptr)
2147 - static char buff[8];
2148 + static char buff[12];
2150 - sprintf(&buff[strlen(buff)], "%02x:%02x:%02x:%02x", ptr[3], ptr[2],
2151 + snprintf(buff, 12, "%02x:%02x:%02x:%02x", ptr[3], ptr[2],
2155 --- net-tools-1.60/lib/Makefile 2000-10-28 12:59:42.000000000 +0200
2156 +++ net-tools/lib/Makefile 2001-11-12 04:12:05.000000000 +0200
2161 -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
2162 +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
2163 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
2164 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
2165 AFSROBJS = inet_sr.o inet6_sr.o netrom_sr.o ipx_sr.o setroute.o x25_sr.o
2166 --- net-tools-1.60/lib/net-features.h 2000-05-20 20:27:25.000000000 +0200
2167 +++ net-tools/lib/net-features.h 2001-11-12 04:12:05.000000000 +0200
2168 @@ -295,6 +295,13 @@
2182 --- net-tools-1.60/lib/nstrcmp.c 1999-01-09 17:55:20.000000000 +0200
2183 +++ net-tools/lib/nstrcmp.c 2004-06-04 01:49:17.000000000 +0300
2185 /* Copyright 1998 by Andi Kleen. Subject to the GPL. */
2187 +/* rewritten by bernd eckenfels because of complicated alias semantic */
2191 +#include <string.h>
2194 -/* like strcmp(), but knows about numbers */
2195 -int nstrcmp(const char *astr, const char *b)
2197 +/* return numerical :999 suffix or null. sideeffect: replace ':' with \0 */
2198 +char* cutalias(char* name)
2200 - const char *a = astr;
2204 + for(pos=strlen(name); pos>0; pos--)
2206 + if (name[pos-1]==':' && digit)
2211 + if (!isdigit(name[pos-1]))
2218 - while (*a == *b) {
2224 - if (isdigit(*a)) {
2227 - while (a > astr) {
2229 - if (!isdigit(*a)) {
2237 +/* return index of last non digit or -1 if it does not end with digits */
2238 +int rindex_nondigit(char *name)
2240 + int pos = strlen(name);
2242 + for(pos=strlen(name); pos>0; pos--)
2244 + if (!isdigit(name[pos-1]))
2247 - return atoi(a) > atoi(b) ? 1 : -1;
2254 +/* like strcmp(), but knows about numbers and ':' alias suffix */
2255 +int nstrcmp(const char *ap, const char *bp)
2257 + char *a = (char*)strdup(ap);
2258 + char *b = (char*)strdup(bp);
2260 + int av = 0, bv = 0;
2261 + char *aalias=cutalias(a);
2262 + char *balias=cutalias(b);
2263 + int aindex=rindex_nondigit(a);
2264 + int bindex=rindex_nondigit(b);
2265 + int complen=(aindex<bindex)?aindex:bindex;
2266 + int res = strncmp(a, b, complen);
2269 + { free(a); free(b); return res; }
2271 + if (aindex > bindex)
2272 + { free(a); free(b); return 1; }
2274 + if (aindex < bindex)
2275 + { free(a); free(b); return -1; }
2284 + { free(a); free(b); return -1; }
2287 + { free(a); free(b); return 1; }
2290 + if (aalias != NULL)
2291 + av = atoi(aalias);
2294 + if (balias != NULL)
2295 + bv = atoi(balias);
2309 +#ifdef NSTRCMP_TEST
2313 + if (s < 0) return -1;
2314 + if (s > 0) return 1;
2319 +int dotest(char* a, char* b, int exp)
2321 + int res = nstrcmp(a, b);
2322 + int err = (cs(res) != cs(exp));
2323 + printf("nstrcmp(\"%s\", \"%s\")=%d %d %s\n", a, b, res, exp, err?"WRONG":"OK");
2331 + err |= dotest("eth1", "eth1", 0);
2332 + err |= dotest("eth0:1", "eth0:1", 0);
2333 + err |= dotest("lan", "lan", 0);
2334 + err |= dotest("100", "100", 0);
2335 + err |= dotest("", "", 0);
2336 + err |= dotest(":", ":", 0);
2337 + err |= dotest("a:b:c", "a:b:c", 0);
2338 + err |= dotest("a:", "a:", 0);
2339 + err |= dotest(":a", ":a", 0);
2341 + err |= dotest("a", "aa", -1);
2342 + err |= dotest("eth0", "eth1", -1);
2343 + err |= dotest("eth1", "eth20", -1);
2344 + err |= dotest("eth20", "eth100", -1);
2345 + err |= dotest("eth1", "eth13", -1);
2346 + err |= dotest("eth", "eth2", -1);
2347 + err |= dotest("eth0:1", "eth0:2", -1);
2348 + err |= dotest("eth1:10", "eth13:10", -1);
2349 + err |= dotest("eth1:1", "eth1:13", -1);
2350 + err |= dotest("a", "a:", -1);
2352 + err |= dotest("aa", "a", 1);
2353 + err |= dotest("eth2", "eth1", 1);
2354 + err |= dotest("eth13", "eth1", 1);
2355 + err |= dotest("eth2", "eth", 1);
2356 + err |= dotest("eth2:10", "eth2:1", 1);
2357 + err |= dotest("eth2:5", "eth2:4", 1);
2358 + err |= dotest("eth3:2", "eth2:3", 1);
2359 + err |= dotest("eth13:1", "eth1:0", 1);
2360 + err |= dotest("a:", "a", 1);
2361 + err |= dotest("a1b12", "a1b2", 1);
2367 --- net-tools-1.60/lib/pathnames.h 2000-05-20 20:27:26.000000000 +0200
2368 +++ net-tools/lib/pathnames.h 2005-08-03 01:28:10.000000000 +0300
2372 * lib/pathnames.h This file contains the definitions of the path
2373 * names used by the NET-LIB.
2375 #define _PATH_PROCNET_NR_NODES "/proc/net/nr_nodes"
2376 #define _PATH_PROCNET_ARP "/proc/net/arp"
2377 #define _PATH_PROCNET_AX25 "/proc/net/ax25"
2378 -#define _PATH_PROCNET_IPX "/proc/net/ipx"
2379 -#define _PATH_PROCNET_IPX_ROUTE "/proc/net/ipx_route"
2380 +#define _PATH_PROCNET_IPX_SOCKET1 "/proc/net/ipx/socket"
2381 +#define _PATH_PROCNET_IPX_SOCKET2 "/proc/net/ipx"
2382 +#define _PATH_PROCNET_IPX_ROUTE1 "/proc/net/ipx/route"
2383 +#define _PATH_PROCNET_IPX_ROUTE2 "/proc/net/ipx_route"
2384 #define _PATH_PROCNET_ATALK "/proc/net/appletalk"
2385 #define _PATH_PROCNET_IP_BLK "/proc/net/ip_block"
2386 #define _PATH_PROCNET_IP_FWD "/proc/net/ip_forward"
2388 #define _PATH_PROCNET_X25 "/proc/net/x25"
2389 #define _PATH_PROCNET_X25_ROUTE "/proc/net/x25_routes"
2390 #define _PATH_PROCNET_DEV_MCAST "/proc/net/dev_mcast"
2391 +#define _PATH_PROCNET_ATALK_ROUTE "/proc/net/atalk_route"
2393 /* pathname for the netlink device */
2394 #define _PATH_DEV_ROUTE "/dev/route"
2395 --- net-tools-1.60/lib/tr.c 2000-02-20 23:46:45.000000000 +0200
2396 +++ net-tools/lib/tr.c 2005-05-16 06:15:12.000000000 +0300
2398 * lib/tr.c This file contains an implementation of the "Tokenring"
2399 * support functions.
2404 * Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
2405 * Copyright 1993 MicroWalt Corporation
2407 #include "net-support.h"
2408 #include "pathnames.h"
2413 +/* actual definition at the end of file */
2414 extern struct hwtype tr_hwtype;
2415 +#ifdef ARPHRD_IEEE802_TR
2416 +extern struct hwtype tr_hwtype1;
2419 static char *pr_tr(unsigned char *ptr)
2422 (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
2429 static int in_tr(char *bufp, struct sockaddr *sap)
2434 +#ifdef ARPHRD_IEEE802_TR
2435 + if (kernel_version() < KRELEASE(2,3,30)) {
2436 + sap->sa_family = tr_hwtype.type;
2438 + sap->sa_family = tr_hwtype1.type;
2441 sap->sa_family = tr_hwtype.type;
2442 + #warning "Limited functionality, no support for ARPHRD_IEEE802_TR (old kernel headers?)"
2448 --- net-tools-1.60/lib/util-ank.c 1999-04-21 20:39:47.000000000 +0300
2449 +++ net-tools/lib/util-ank.c 2006-10-11 04:14:33.000000000 +0300
2454 -const char *format_host(int af, void *addr, __u8 *abuf, int alen)
2455 +const char *format_host(int af, void *addr, char *abuf, int alen)
2457 #ifdef RESOLVE_HOSTNAMES
2458 if (resolve_hosts) {
2459 --- net-tools-1.60/lib/util.h 1999-01-09 17:55:29.000000000 +0200
2460 +++ net-tools/lib/util.h 2004-06-04 01:27:37.000000000 +0300
2463 char *safe_strncpy(char *dst, const char *src, size_t size);
2466 +#define netmin(a,b) ((a)<(b) ? (a) : (b))
2467 +#define netmax(a,b) ((a)>(b) ? (a) : (b))
2468 --- net-tools-1.60/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
2469 +++ net-tools/lib/x25_sr.c 2005-09-04 07:23:13.000000000 +0300
2471 strcpy(target, *args++);
2473 /* Clean out the x25_route_struct structure. */
2474 - memset((char *) &rt, 0, sizeof(struct x25_route_struct));
2475 + memset((char *) &rt, 0, sizeof(rt));
2478 if ((sigdigits = x25_aftype.input(0, target, (struct sockaddr *)&sx25)) < 0) {
2481 rt.sigdigits=sigdigits;
2483 - /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
2484 - memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
2485 + /* this works with 2.4 and 2.6 headers struct x25_address vs. typedef */
2486 + memcpy(&rt.address, &sx25.sx25_addr, sizeof(sx25.sx25_addr));
2489 if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
2490 --- net-tools-1.60/man/de_DE/netstat.8 1999-03-15 22:31:20.000000000 +0200
2491 +++ net-tools/man/de_DE/netstat.8 2002-02-20 16:31:00.000000000 +0200
2493 .\" Modified: Tuan Hoang tuan@optimus.mitre.org
2496 -.TH NETSTAT 8 "6. M\(:arz 1999" "net-tools" "Handbuch f\(:ur Linuxprogrammierer"
2497 +.TH NETSTAT 8 "2002-02-20" "net-tools" "Handbuch f\(:ur Linuxprogrammierer"
2500 netstat \- Anzeige von Netzwerksverbindungen, Routentabellen, Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und Mitgliedschaft in Multicastgruppen
2504 .RB { \-\-interfaces | \-i }
2505 -.RI [ Schnittstelle ]
2512 zeigt Informationen des Linux Netzwerkssystems an.
2514 +.B Bitte beachten Sie, dass der Inhalt der deutschen man-page nicht vollst\(:andig ist, im Moment.
2518 @@ -103,18 +104,17 @@
2522 -.SS "\-i, \-\-interface \fISchnittstelle\fI"
2523 +.SS "\-i, \-\-interface"
2525 .BR -i ", " --interfaces
2526 -Option verwendet, so wird eine Tabelle aller (oder der angegebenen
2527 -.IR Schnittstellen )
2528 +Option verwendet, so wird eine Tabelle aller Schnittstellen
2529 ausgedruckt. Die Ausgabe ist im Format von
2535 -druckt eine Tabelle oder einen Eintrag f\(:ur einen einzelnes Interface wie
2536 +druckt eine Tabelle f\(:ur Interfaces wie
2544 -.SS "\-c, \-\-continous"
2545 +.SS "\-c, \-\-continuous"
2546 Mit dieser Option wiederholt
2548 im Sekundenabstand die Ausgabe, bis es abgebrochen wird.
2549 --- net-tools-1.60/man/en_US/arp.8 2000-10-28 12:59:42.000000000 +0200
2550 +++ net-tools/man/en_US/arp.8 2005-05-16 07:30:18.000000000 +0300
2552 -.TH ARP 8 "5 Jan 1999" "net-tools" "Linux Programmer's Manual"
2553 +.TH ARP 8 "2005-05-16" "net-tools" "Linux Programmer's Manual"
2555 arp \- manipulate the system ARP cache
2557 @@ -132,7 +132,10 @@
2558 entire subnet. Linux instead does automagic proxy arp when a route
2559 exists and it is forwarding. See
2562 +for details. Also the
2564 +option which is available for delete and set operations cannot be
2565 +used with 2.4 and newer kernels.
2567 .B "\-f filename, \-\-file filename"
2569 --- net-tools-1.60/man/en_US/ethers.5 1999-01-09 17:55:31.000000000 +0200
2570 +++ net-tools/man/en_US/ethers.5 2005-05-14 01:34:20.000000000 +0300
2572 -.TH ETHERS 5 "April 26th, 1996" "" "File formats"
2573 +.TH ETHERS 5 "May 15th, 2005" "" "File formats"
2574 .SH NAME \"{{{roff}}}\"{{{
2575 ethers \- Ethernet address to IP number database
2578 \fIEthernet-address\fP \fIIP-number\fP
2581 -The two items are separated by any number of SPACE and/or TAB char
2582 -acters. A \fB#\fP at the beginning of a line starts a comment
2583 +The two items are separated by any number of SPACE and/or TAB characters.
2584 +A \fB#\fP at the beginning of a line starts a comment
2585 which extends to the end of the line. The \fIEthernet-address\fP is
2587 .IR x : x : x : x : x : x ,
2588 --- net-tools-1.60/man/en_US/ifconfig.8 2000-10-28 12:59:42.000000000 +0200
2589 +++ net-tools/man/en_US/ifconfig.8 2005-06-30 22:26:37.000000000 +0300
2591 -.TH IFCONFIG 8 "14 August 2000" "net-tools" "Linux Programmer's Manual"
2592 +.TH IFCONFIG 8 "2005-06-30" "net-tools" "Linux Programmer's Manual"
2594 ifconfig \- configure a network interface
2596 -.B "ifconfig [interface]"
2597 +.B "ifconfig [-v] [-a] [-s] [interface]"
2599 -.B "ifconfig interface [aftype] options | address ..."
2600 +.B "ifconfig [-v] interface [aftype] options | address ..."
2603 is used to configure the kernel-resident network interfaces. It is
2605 (AMPR Packet radio).
2609 +display all interfaces which are currently available, even if down
2612 +display a short list (like netstat -i)
2615 +be more verbose for some error conditions
2618 The name of the interface. This is usually a driver name followed by
2619 a unit number, for example
2621 -for the first Ethernet interface.
2622 +for the first Ethernet interface. If your kernel supports alias interfaces,
2623 +you can specify them with
2625 +for the first alias of eth0. You can use them to assign a second address. To
2626 +delete an alias interface use
2627 +.B ifconfig eth0:0 down
2628 +. Note: for every scope (i.e. same net with address/netmask combination) all
2629 +aliases are deleted, if you delete the first (primary).
2632 This flag causes the interface to be activated. It is implicitly
2633 @@ -173,11 +189,20 @@
2634 are shared with all alias addresses on the same device. If you want per-address
2635 statistics you should add explicit accounting
2636 rules for the address using the
2643 -Interrupt problems with Ethernet device drivers fail with EAGAIN. See
2644 -.I http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html
2645 +Since net-tools 1.61 ifconfig is printing byte counters and human readable
2646 +counters with IEC 60027-2 units. So 1 KiB are 2^10 byte. Note, the numbers
2647 +are truncated to one decimal (which can by quite a large error if you
2648 +consider 0.1 PiB is 112.589.990.684.262 bytes :)
2650 +Interrupt problems with Ethernet device drivers fail with EAGAIN
2651 +.I (SIOCSIIFLAGS: Resource temporarily unavailable)
2652 +it is most likely a interrupt conflict. See
2653 +.I http://www.scyld.com/expert/irq-conflict.html
2654 for more information.
2658 While appletalk DDP and IPX addresses will be displayed they cannot be
2659 altered by this command.
2661 -route(8), netstat(8), arp(8), rarp(8), ipchains(8)
2662 +route(8), netstat(8), arp(8), rarp(8), ipchains(8), iptables(8)
2664 +http://physics.nist.gov/cuu/Units/binary.html - Prefixes for binary multiples
2666 Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
2669 Phil Blundell, <Philip.Blundell@pobox.com>
2673 +Bernd Eckenfels, <net-tools@lina.inka.de>
2674 --- net-tools-1.60/man/en_US/mii-tool.8 2000-05-21 16:21:38.000000000 +0200
2675 +++ net-tools/man/en_US/mii-tool.8 2005-05-14 01:31:41.000000000 +0300
2677 .\" Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
2678 .\" mii-tool.8 1.5 2000/04/25 22:58:19
2680 -.TH MII-TOOL 8 "2000/04/25 22:58:19" "net-tools"
2681 +.TH MII-TOOL 8 "2004/03/28 23:30:00" "net-tools"
2684 mii-tool \- view, manipulate media-independent interface status
2686 commas. Valid media are \fB100baseT4\fR, \fB100baseTx-FD\fR,
2687 \fB100baseTx-HD\fR, \fB10baseT-FD\fR, and \fB10baseT-HD\fR.
2691 +SIOCGMIIPHY on 'eth?' failed: Invalid argument
2692 +If the interface is not running (up), kernel will refuse to report its link state.
2694 +SIOCGMIIPHY on 'eth?' failed: Operation not permitted
2695 +Most kernels restrict access to root.
2697 +SIOCGMIIPHY on 'eth?' failed: No such device
2698 +This error is shown, if the kernel does not know about the named device.
2700 +SIOCGMIIPHY on 'eth?' failed: Operation not supported
2701 +The interface in question does not support MII queries. Most likely, it does not have
2702 +MII transceivers, at all.
2705 David Hinds \- dhinds@pcmcia.sourceforge.org
2707 Donald Becker \- becker@scyld.com
2709 +Bernd Eckenfels \- ecki@debian.org
2710 --- net-tools-1.60/man/en_US/netstat.8 2001-01-07 14:43:57.000000000 +0200
2711 +++ net-tools/man/en_US/netstat.8 2004-06-29 23:28:08.000000000 +0300
2713 .\" Modified: Tuan Hoang tqhoang@bigfoot.com
2716 -.TH NETSTAT 8 "19 December 2000" "net-tools" "Linux Programmer's Manual"
2717 +.TH NETSTAT 8 "02 October 2003" "net-tools" "Linux Programmer's Manual"
2720 netstat \- Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
2722 .RB [ \-\-listening | \-l ]
2723 .RB [ \-\-all | \-a ]
2724 .RB [ \-\-numeric | \-n ]
2725 -.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
2726 +.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
2727 .RB [ \-\-symbolic | \-N ]
2728 .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
2729 .RB [ \-\-timers | \-o ]
2731 .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
2732 .RB [ \-\-verbose | \-v ]
2733 .RB [ \-\-numeric | \-n ]
2734 -.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
2735 +.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
2736 .RB [ \-\-continuous | \-c]
2739 .RB { \-\-interfaces | \-i }
2741 .RB [ \-\-all | \-a ]
2742 .RB [ \-\-extend | \-e [ \-\-extend | \-e] ]
2743 .RB [ \-\-verbose | \-v ]
2744 .RB [ \-\-program | \-p ]
2745 .RB [ \-\-numeric | \-n ]
2746 -.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
2747 +.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
2748 .RB [ \-\-continuous | \-c]
2751 .RB { \-\-groups | \-g }
2752 .RB [ \-\-numeric | \-n ]
2753 -.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
2754 +.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
2755 .RB [ \-\-continuous | \-c]
2758 .RB { \-\-masquerade | \-M }
2759 .RB [ \-\-extend | \-e ]
2760 .RB [ \-\-numeric | \-n ]
2761 -.RB [ \-\-numeric-hosts ] [ \-\-numeric-ports ] [ \-\-numeric-ports ]
2762 +.RB [ \-\-numeric-hosts "] [" \-\-numeric-ports "] [" \-\-numeric-users ]
2763 .RB [ \-\-continuous | \-c]
2768 .IR address_family_options :
2772 .RB [ \-\-protocol= { inet , unix , ipx , ax25 , netrom , ddp }[, ...] ]
2773 .RB [ \-\-unix | \-x ]
2774 .RB [ \-\-inet | \-\-ip ]
2776 address families, then the active sockets of all configured address
2777 families will be printed.
2778 .SS "\-\-route , \-r"
2779 -Display the kernel routing tables.
2780 +Display the kernel routing tables. See the description in
2786 +produce the same output.
2787 .SS "\-\-groups , \-g"
2788 Display multicast group membership information for IPv4 and IPv6.
2789 -.SS "\-\-interface=\fIiface \fR, \fB\-i"
2790 -Display a table of all network interfaces, or the specified
2792 +.SS "\-\-interface, \-i"
2793 +Display a table of all network interfaces.
2794 .SS "\-\-masquerade , \-M"
2795 Display a list of masqueraded connections.
2796 .SS "\-\-statistics , \-s"
2797 @@ -165,12 +171,11 @@
2799 Show both listening and non-listening sockets. With the
2801 -option, show interfaces that are not marked
2802 +option, show interfaces that are not up
2804 Print routing information from the FIB. (This is the default.)
2806 Print routing information from the route cache.
2812 The socket is waiting after close to handle packets still in the network.
2817 The socket is not being used.
2823 The netstat user interface was written by Fred Baumgarten
2824 -<dc6iq@insu1.etec.uni-karlsruhe.de> the man page basically
2825 +<dc6iq@insu1.etec.uni-karlsruhe.de>, the man page basically
2826 by Matt Welsh <mdw@tc.cornell.edu>. It was updated by
2827 Alan Cox <Alan.Cox@linux.org> but could do with a bit more
2828 work. It was updated again by Tuan Hoang
2829 --- net-tools-1.60/man/en_US/rarp.8 2000-05-21 15:54:00.000000000 +0200
2830 +++ net-tools/man/en_US/rarp.8 2001-11-05 15:12:11.000000000 +0200
2832 Create a RARP address mapping entry for host
2834 with hardware address set to
2836 -. The format of the hardware address is dependent on the hardware
2838 +The format of the hardware address is dependent on the hardware
2839 class, but for most classes one can assume that the usual presentation
2840 can be used. For the Ethernet class, this is 6 bytes in hexadecimal,
2841 separated by colons.
2842 --- net-tools-1.60/man/en_US/route.8 2000-05-21 20:59:03.000000000 +0200
2843 +++ net-tools/man/en_US/route.8 2005-05-14 01:28:41.000000000 +0300
2845 -.TH ROUTE 8 "2 January 2000" "net-tools" "Linux Programmer's Manual"
2846 +.TH ROUTE 8 "02 October 2003" "net-tools" "Linux Programmer's Manual"
2848 route \- show / manipulate the IP routing table
2851 set the TCP Maximum Segment Size (MSS) for connections over this route
2853 The default is the device MTU minus headers, or a lower MTU when path mtu
2854 -discovery occured. This setting can be used to force smaller TCP packets on the
2855 +discovery occurred. This setting can be used to force smaller TCP packets on the
2856 other end when path mtu discovery does not work (usually because of
2857 misconfigured firewalls that block ICMP Fragmentation Needed)
2860 .B route add -net 127.0.0.0
2861 adds the normal loopback entry, using netmask 255.0.0.0 (class A net,
2862 determined from the destination address) and associated with the
2863 -"lo" device (assuming this device was prviously set up correctly with
2864 +"lo" device (assuming this device was previously set up correctly with
2869 Interface to which packets for this route will be sent.
2872 -Default maximum segement size for TCP connections over this route.
2873 +Default maximum segment size for TCP connections over this route.
2876 Default window size for TCP connections over this route.
2877 --- net-tools-1.60/man/en_US/slattach.8 1999-01-09 18:19:58.000000000 +0200
2878 +++ net-tools/man/en_US/slattach.8 2006-10-10 08:58:46.000000000 +0300
2880 -.TH SLATTACH 8 "12 Feb 1994" "" ""
2881 +.TH SLATTACH 8 "10 Oct 2006" "" ""
2883 slattach \- attach a network interface to a serial line
2887 Exit when the carrier is lost. This works on both /dev/tty and /dev/cua
2888 devices by directly monitoring the carrier status every 15 seconds.
2891 Enable verbose output. Useful in shell scripts.
2896 Exit right after initializing device, instead of waiting for the
2901 Enable 3 wire operation. The terminal is moved into CLOCAL mode,
2904 Set a specific kind of protocol to use on the line. The default
2907 -, i.e. compressed SLIP. Other possible values are
2909 +i.e. compressed SLIP. Other possible values are
2913 --- net-tools-1.60/man/fr_FR/arp.8 1999-04-18 22:23:40.000000000 +0300
2914 +++ net-tools/man/fr_FR/arp.8 2001-11-05 15:12:11.000000000 +0200
2916 Similaire à l'option
2918 , mais cette fois les informations d'adresses sont prises dans le fichier
2920 -. Ceci peut être utilisé si les entrées ARP à configurer sont
2921 +.BR nom_de_fichier .
2922 +Ceci peut être utilisé si les entrées ARP à configurer sont
2923 nombreuses. Le nom du fichier de données est très souvent nommé
2925 , mais ce n'est pas officiel.
2928 Chaque entrée complète se trouvant dans le cache ARP est marquée de
2931 -. Les entrées permanentes sont marquées de l'indicateur
2933 +Les entrées permanentes sont marquées de l'indicateur
2935 et les entrées 'pub' ont l'indicateur
2937 --- net-tools-1.60/man/fr_FR/hostname.1 1999-04-18 22:23:46.000000000 +0300
2938 +++ net-tools/man/fr_FR/hostname.1 2001-11-05 15:12:11.000000000 +0200
2942 fournit le nom du système tel qu'il est retourné par la fonction
2943 -.BR getdomainname (2)
2944 -. Ceci est connu comme nom de domaine YP/NIS du système.
2945 +.BR getdomainname (2).
2946 +Ceci est connu comme nom de domaine YP/NIS du système.
2952 La façon dont vous pouvez le changer dépend de la configuration
2953 (habituellement dans
2954 -.IR /etc/host.conf )
2955 -. Si le fichier 'hosts' est analysé avant d'interroger le DNS ou
2956 +.IR /etc/host.conf ).
2957 +Si le fichier 'hosts' est analysé avant d'interroger le DNS ou
2958 NIS) vous pouvez le changer dans le fichier
2961 --- net-tools-1.60/man/fr_FR/ifconfig.8 2000-10-28 12:59:42.000000000 +0200
2962 +++ net-tools/man/fr_FR/ifconfig.8 2001-11-05 15:12:11.000000000 +0200
2966 Valide ou invalide le mode
2968 -. S'il est validé, tous les paquets circulant sur le réseau
2970 +S'il est validé, tous les paquets circulant sur le réseau
2971 seront reçus sur cette interface.
2974 Valide ou invalide le fonctionnement de l'interface en mode
2976 -. S'il est validé, tous les paquets multicast circulant sur le réseau
2977 +.BR all-multicast .
2978 +S'il est validé, tous les paquets multicast circulant sur le réseau
2979 seront reçus sur cette interface.
2982 --- net-tools-1.60/man/fr_FR/netstat.8 1999-04-18 22:24:01.000000000 +0300
2983 +++ net-tools/man/fr_FR/netstat.8 2001-11-05 15:12:11.000000000 +0200
2985 .\" Modified: Tuan Hoang tuan@optimus.mitre.org
2988 -.TH NETSTAT 8 "25 Fév 1999" "net-tools" "Linux Programmer's Manual"
2989 +.TH NETSTAT 8 "29 June 2001" "net-tools" "Linux Programmer's Manual"
2992 netstat \- Affiche les connexions réseau, les tables de routage, les
2996 affiche une table ou une seule entrée d'interface comme la commande
2998 -. Avec le paramètre
3002 , vous pouvez inclure les interfaces qui ne sont pas configurées (c.a.d qui
3003 n'ont pas l'indicateur
3005 avant d'entreprendre la fermeture.
3010 La socket n'est pas utilisée.
3014 Depuis la version 2.2 du noyau, netstat -i n'affiche plus les statistiques
3015 des interfaces alias. Pour obtenir les compteurs par interface alias, vous
3016 devez définir des règles spécifiques à l'aide de la commande
3023 --- net-tools-1.60/man/fr_FR/rarp.8 1999-04-18 22:24:05.000000000 +0300
3024 +++ net-tools/man/fr_FR/rarp.8 2001-11-05 15:12:11.000000000 +0200
3026 Crée manuellement une correspondance d'adresses RARP pour l'hôte
3028 avec l'adresse matérielle
3030 -. Le format de l'adresse matérielle est dépendant du matériel,
3031 +.BR adr_materielle .
3032 +Le format de l'adresse matérielle est dépendant du matériel,
3033 mais pour la plupart on peut considérer que la présentation classique
3034 peut être utilisée. Pour la classe Ethernet, c'est 6 octets en hexadécimal,
3035 séparés par des double-points.
3036 --- net-tools-1.60/man/pt_BR/rarp.8 1999-04-18 22:24:13.000000000 +0300
3037 +++ net-tools/man/pt_BR/rarp.8 2001-11-05 15:12:11.000000000 +0200
3039 Cria um mapeamento de endereços RARP para a máquina
3041 com endereço de hardware configurado para
3042 -.B endereço_hardware
3043 -. O formato do endereço de hardware depende da classe do hardware, mas
3044 +.B endereço_hardware.
3045 +O formato do endereço de hardware depende da classe do hardware, mas
3046 para a maioria das classes você pode assumir que a apresentação usual pode
3047 ser usada. Para a classe Ethernet, são 6 bytes em hexadecimal, separados
3048 por dois pontos (:).
3049 --- net-tools-1.60/mii-tool.c 2000-05-21 16:31:17.000000000 +0200
3050 +++ net-tools/mii-tool.c 2006-09-27 23:59:18.000000000 +0300
3052 http://www.national.com/pf/DP/DP83840.html
3055 -static char version[] =
3056 -"mii-tool.c 1.9 2000/04/28 00:56:08 (David Hinds)\n";
3057 +static char Version[] = "$Id$\n(Author: David Hinds based on Donald Becker's mii-diag)";
3062 #include <sys/socket.h>
3063 #include <sys/ioctl.h>
3065 +#include <linux/sockios.h>
3068 #include <linux/if_arp.h>
3069 #include <linux/if_ether.h>
3072 +#include "version.h"
3074 #define MAX_ETH 8 /* Maximum # of interfaces */
3076 /* Table of known MII's */
3078 +static const struct {
3083 { 0x0181, 0x4410, "Quality QS6612" },
3084 { 0x0282, 0x1c50, "SMSC 83C180" },
3085 { 0x0300, 0xe540, "TDK 78Q2120" },
3086 + { 0x0141, 0x0c20, "Yukon 88E1011" },
3087 + { 0x0141, 0x0cc0, "Yukon-EC 88E1111" },
3088 + { 0x0141, 0x0c90, "Yukon-2 88E1112" },
3090 #define NMII (sizeof(mii_id)/sizeof(mii_id[0]))
3092 @@ -137,40 +142,48 @@
3099 /* The order through 100baseT4 matches bits in the BMSR */
3100 - { "10baseT-HD", MII_AN_10BASET_HD },
3101 - { "10baseT-FD", MII_AN_10BASET_FD },
3102 - { "100baseTx-HD", MII_AN_100BASETX_HD },
3103 - { "100baseTx-FD", MII_AN_100BASETX_FD },
3104 - { "100baseT4", MII_AN_100BASET4 },
3105 - { "100baseTx", MII_AN_100BASETX_FD | MII_AN_100BASETX_HD },
3106 - { "10baseT", MII_AN_10BASET_FD | MII_AN_10BASET_HD },
3107 + { "10baseT-HD", {MII_AN_10BASET_HD} },
3108 + { "10baseT-FD", {MII_AN_10BASET_FD} },
3109 + { "100baseTx-HD", {MII_AN_100BASETX_HD} },
3110 + { "100baseTx-FD", {MII_AN_100BASETX_FD} },
3111 + { "100baseT4", {MII_AN_100BASET4} },
3112 + { "100baseTx", {MII_AN_100BASETX_FD | MII_AN_100BASETX_HD} },
3113 + { "10baseT", {MII_AN_10BASET_FD | MII_AN_10BASET_HD} },
3115 + { "1000baseT-HD", {0, MII_BMCR2_1000HALF} },
3116 + { "1000baseT-FD", {0, MII_BMCR2_1000FULL} },
3117 + { "1000baseT", {0, MII_BMCR2_1000HALF|MII_BMCR2_1000FULL} },
3119 #define NMEDIA (sizeof(media)/sizeof(media[0]))
3121 /* Parse an argument list of media types */
3122 -static int parse_media(char *arg)
3123 +static int parse_media(char *arg, unsigned *bmcr2)
3127 mask = strtoul(arg, &s, 16);
3128 if ((*arg != '\0') && (*s == '\0')) {
3129 if ((mask & MII_AN_ABILITY_MASK) &&
3130 - !(mask & ~MII_AN_ABILITY_MASK))
3132 + !(mask & ~MII_AN_ABILITY_MASK)) {
3139 - s = strtok(arg, ", ");
3144 + s = strtok(arg, ", ");
3146 for (i = 0; i < NMEDIA; i++)
3147 - if (strcasecmp(media[i].name, s) == 0) break;
3148 + if (s && strcasecmp(media[i].name, s) == 0) break;
3149 if (i == NMEDIA) goto failed;
3150 - mask |= media[i].value;
3151 - } while ((s = strtok(NULL, ", ")) != NULL);
3153 + mask |= media[i].value[0];
3154 + *bmcr2 |= media[i].value[1];
3155 + } while ((s = strtok(NULL, ", ")) != NULL);
3159 fprintf(stderr, "Invalid media specification '%s'.\n", arg);
3160 @@ -179,11 +192,24 @@
3162 /*--------------------------------------------------------------------*/
3164 -static char *media_list(int mask, int best)
3165 +static const char *media_list(unsigned mask, unsigned mask2, int best)
3167 static char buf[100];
3171 + if (mask & MII_BMCR_SPEED1000) {
3172 + if (mask2 & MII_BMCR2_1000HALF) {
3174 + strcat(buf, "1000baseT-HD");
3175 + if (best) goto out;
3177 + if (mask2 & MII_BMCR2_1000FULL) {
3179 + strcat(buf, "1000baseT-FD");
3180 + if (best) goto out;
3184 for (i = 4; i >= 0; i--) {
3185 if (mask & (1<<i)) {
3192 strcat(buf, " flow-control");
3194 @@ -201,15 +228,15 @@
3198 - int bmcr, bmsr, advert, lkpar;
3199 + unsigned bmcr, bmsr, advert, lkpar, bmcr2, lpa2;
3201 /* Some bits in the BMSR are latched, but we can't rely on being
3202 the only reader, so only the current values are meaningful */
3203 mdio_read(sock, MII_BMSR);
3204 - for (i = 0; i < ((verbose > 1) ? 32 : 8); i++)
3205 + for (i = 0; i < ((verbose > 1) ? 32 : MII_BASIC_MAX); i++)
3206 mii_val[i] = mdio_read(sock, i);
3208 - if (mii_val[MII_BMCR] == 0xffff) {
3209 + if (mii_val[MII_BMCR] == 0xffff || mii_val[MII_BMSR] == 0x0000) {
3210 fprintf(stderr, " No MII transceiver present!.\n");
3214 /* Descriptive rename. */
3215 bmcr = mii_val[MII_BMCR]; bmsr = mii_val[MII_BMSR];
3216 advert = mii_val[MII_ANAR]; lkpar = mii_val[MII_ANLPAR];
3217 + bmcr2 = mii_val[MII_CTRL1000]; lpa2 = mii_val[MII_STAT1000];
3219 sprintf(buf, "%s: ", ifr.ifr_name);
3220 if (bmcr & MII_BMCR_AN_ENA) {
3222 if (advert & lkpar) {
3223 strcat(buf, (lkpar & MII_AN_ACK) ?
3224 "negotiated" : "no autonegotiation,");
3225 - strcat(buf, media_list(advert & lkpar, 1));
3226 + strcat(buf, media_list(advert & lkpar, bmcr2 & lpa2>>2, 1));
3229 strcat(buf, "autonegotiation failed, ");
3230 @@ -234,8 +262,10 @@
3233 sprintf(buf+strlen(buf), "%s Mbit, %s duplex, ",
3234 - (bmcr & MII_BMCR_100MBIT) ? "100" : "10",
3235 - (bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
3236 + ((bmcr2 & (MII_BMCR2_1000HALF | MII_BMCR2_1000FULL)) & lpa2 >> 2)
3238 + : (bmcr & MII_BMCR_100MBIT) ? "100" : "10",
3239 + (bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
3241 strcat(buf, (bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
3243 @@ -296,12 +326,13 @@
3244 if (bmsr & MII_BMSR_REMOTE_FAULT)
3245 printf("remote fault, ");
3246 printf((bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
3247 - printf("\n capabilities:%s", media_list(bmsr >> 6, 0));
3248 - printf("\n advertising: %s", media_list(advert, 0));
3249 + printf("\n capabilities:%s", media_list(bmsr >> 6, bmcr2, 0));
3250 + printf("\n advertising: %s", media_list(advert, lpa2 >> 2, 0));
3251 if (lkpar & MII_AN_ABILITY_MASK)
3252 - printf("\n link partner:%s", media_list(lkpar, 0));
3253 + printf("\n link partner:%s", media_list(lkpar, bmcr2, 0));
3261 printf("resetting the transceiver...\n");
3262 mdio_write(skfd, MII_BMCR, MII_BMCR_RESET);
3264 - if (nway_advertise) {
3265 + if (nway_advertise > 0) {
3266 mdio_write(skfd, MII_ANAR, nway_advertise | 1);
3269 @@ -379,27 +410,38 @@
3270 /*--------------------------------------------------------------------*/
3273 -"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
3274 - -V, --version display version information
3275 - -v, --verbose more verbose output
3276 - -R, --reset reset MII to poweron state
3277 - -r, --restart restart autonegotiation
3278 - -w, --watch monitor for link status changes
3279 - -l, --log with -w, write events to syslog
3280 - -A, --advertise=media,... advertise only specified media
3281 - -F, --force=media force specified media technology
3282 -media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
3283 - (to advertise both HD and FD) 100baseTx, 10baseT\n";
3284 +"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n"
3285 +" -V, --version display version information\n"
3286 +" -v, --verbose more verbose output\n"
3287 +" -R, --reset reset MII to poweron state\n"
3288 +" -r, --restart restart autonegotiation\n"
3289 +" -w, --watch monitor for link status changes\n"
3290 +" -l, --log with -w, write events to syslog\n"
3291 +" -A, --advertise=media,... advertise only specified media\n"
3292 +" -F, --force=media force specified media technology\n"
3293 +"media: 1000baseTx-HD, 1000baseTx-FD,\n"
3294 +" 100baseT4, 100baseTx-FD, 100baseTx-HD,\n"
3295 +" 10baseT-FD, 10baseT-HD,\n"
3296 +" (to advertise both HD and FD) 1000baseTx, 100baseTx, 10baseT\n";
3299 +static void version(void)
3301 + fprintf(stderr, "%s\n%s\n", Version, RELEASE);
3302 + exit(5); /* E_VERSION */
3306 int main(int argc, char **argv)
3308 int i, c, ret, errflag = 0;
3310 + unsigned ctrl1000 = 0;
3312 while ((c = getopt_long(argc, argv, "A:F:p:lrRvVw?", longopts, 0)) != EOF)
3314 - case 'A': nway_advertise = parse_media(optarg); break;
3315 - case 'F': fixed_speed = parse_media(optarg); break;
3316 + case 'A': nway_advertise = parse_media(optarg, &ctrl1000); break;
3317 + case 'F': fixed_speed = parse_media(optarg, &ctrl1000); break;
3318 case 'p': override_phy = atoi(optarg); break;
3319 case 'r': opt_restart++; break;
3320 case 'R': opt_reset++; break;
3321 @@ -411,6 +453,10 @@
3323 /* Check for a few inappropriate option combinations */
3324 if (opt_watch) verbose = 0;
3326 + if ((nway_advertise < 0) || (fixed_speed < 0))
3329 if (errflag || (fixed_speed & (fixed_speed-1)) ||
3330 (fixed_speed && (opt_restart || nway_advertise))) {
3331 fprintf(stderr, usage, argv[0]);
3339 /* Open a basic socket. */
3340 if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0) {
3346 + printf("Using SIOCGMIIPHY=0x%x\n", SIOCGMIIPHY);
3348 /* No remaining args means show all interfaces. */
3349 if (optind == argc) {
3351 --- net-tools-1.60/nameif.c 2000-10-18 19:26:29.000000000 +0200
3352 +++ net-tools/nameif.c 2003-09-11 06:46:49.000000000 +0300
3354 * Writen 2000 by Andi Kleen.
3355 * Subject to the Gnu Public License, version 2.
3356 * TODO: make it support token ring etc.
3366 - struct change *next,**pprev;
3367 + struct change *next;
3369 char ifname[IFNAMSIZ+1];
3370 unsigned char mac[6];
3372 @@ -139,10 +140,7 @@
3374 if (parsemac(p,ch->mac) < 0)
3375 complain(_("cannot parse MAC `%s' at %s"), p, pos);
3377 - clist->pprev = &ch->next;
3379 - ch->pprev = &clist;
3386 n = strcspn(p, " \t");
3388 + if (n > IFNAMSIZ-1)
3389 complain(_("interface name too long at line %d"), line);
3390 memcpy(ch->ifname, p, n);
3396 - fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}"));
3397 + fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n"));
3401 @@ -277,21 +275,21 @@
3402 ch = lookupmac(mac);
3406 - *ch->pprev = ch->next;
3409 if (strcmp(p, ch->ifname)) {
3410 if (setname(p, ch->ifname) < 0)
3411 complain(_("cannot change name of %s to %s: %s"),
3412 p, ch->ifname, strerror(errno));
3419 struct change *ch = clist;
3420 clist = clist->next;
3421 - warning(_("interface '%s' not found"), ch->ifname);
3423 + warning(_("interface '%s' not found"), ch->ifname);
3427 --- net-tools-1.60/netstat.c 2001-04-15 16:41:17.000000000 +0200
3428 +++ net-tools/netstat.c 2006-03-16 10:59:42.000000000 +0200
3430 * NET-3 Networking Distribution for the LINUX operating
3436 * Authors: Fred Baumgarten, <dc6iq@insu1.etec.uni-karlsruhe.de>
3437 * Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
3440 static struct prg_node {
3441 struct prg_node *next;
3443 + unsigned long inode;
3444 char name[PROGNAME_WIDTH];
3445 } *prg_hash[PRG_HASH_SIZE];
3448 /* NOT working as of glibc-2.0.7: */
3449 #undef DIRENT_HAVE_D_TYPE_WORKS
3451 -static void prg_cache_add(int inode, char *name)
3452 +static void prg_cache_add(unsigned long inode, char *name)
3454 unsigned hi = PRG_HASHIT(inode);
3455 struct prg_node **pnp,*pn;
3457 strcpy(pn->name,name);
3460 -static const char *prg_cache_get(int inode)
3461 +static const char *prg_cache_get(unsigned long inode)
3463 unsigned hi=PRG_HASHIT(inode);
3464 struct prg_node *pn;
3465 @@ -295,16 +295,18 @@
3469 -static void extract_type_1_socket_inode(const char lname[], long * inode_p) {
3470 +static int extract_type_1_socket_inode(const char lname[], unsigned long * inode_p) {
3472 /* If lname is of the form "socket:[12345]", extract the "12345"
3473 as *inode_p. Otherwise, return -1 as *inode_p.
3476 - if (strlen(lname) < PRG_SOCKET_PFXl+3) *inode_p = -1;
3477 - else if (memcmp(lname, PRG_SOCKET_PFX, PRG_SOCKET_PFXl)) *inode_p = -1;
3478 - else if (lname[strlen(lname)-1] != ']') *inode_p = -1;
3480 + if (strlen(lname) < PRG_SOCKET_PFXl+3) return(-1);
3482 + if (memcmp(lname, PRG_SOCKET_PFX, PRG_SOCKET_PFXl)) return(-1);
3483 + if (lname[strlen(lname)-1] != ']') return(-1);
3486 char inode_str[strlen(lname + 1)]; /* e.g. "12345" */
3487 const int inode_str_len = strlen(lname) - PRG_SOCKET_PFXl - 1;
3489 @@ -313,37 +315,41 @@
3490 inode_str[inode_str_len] = '\0';
3491 *inode_p = strtol(inode_str,&serr,0);
3492 if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
3501 -static void extract_type_2_socket_inode(const char lname[], long * inode_p) {
3502 +static int extract_type_2_socket_inode(const char lname[], unsigned long * inode_p) {
3504 /* If lname is of the form "[0000]:12345", extract the "12345"
3505 as *inode_p. Otherwise, return -1 as *inode_p.
3508 - if (strlen(lname) < PRG_SOCKET_PFX2l+1) *inode_p = -1;
3509 - else if (memcmp(lname, PRG_SOCKET_PFX2, PRG_SOCKET_PFX2l)) *inode_p = -1;
3511 + if (strlen(lname) < PRG_SOCKET_PFX2l+1) return(-1);
3512 + if (memcmp(lname, PRG_SOCKET_PFX2, PRG_SOCKET_PFX2l)) return(-1);
3517 *inode_p=strtol(lname + PRG_SOCKET_PFX2l,&serr,0);
3518 if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX)
3528 static void prg_cache_load(void)
3530 char line[LINE_MAX],eacces=0;
3531 int procfdlen,fd,cmdllen,lnamelen;
3532 char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
3534 + unsigned long inode;
3535 const char *cs,*cmdlp;
3536 DIR *dirproc=NULL,*dirfd=NULL;
3537 struct dirent *direproc,*direfd;
3538 @@ -386,11 +392,9 @@
3539 lnamelen=readlink(line,lname,sizeof(lname)-1);
3540 lname[lnamelen] = '\0'; /*make it a null-terminated string*/
3542 - extract_type_1_socket_inode(lname, &inode);
3544 - if (inode < 0) extract_type_2_socket_inode(lname, &inode);
3546 - if (inode < 0) continue;
3547 + if (extract_type_1_socket_inode(lname, &inode) < 0)
3548 + if (extract_type_2_socket_inode(lname, &inode) < 0)
3552 if (procfdlen - PATH_FD_SUFFl + PATH_CMDLINEl >=
3553 @@ -527,10 +531,10 @@
3556 if (!(flag_not & FLAG_NUM_USER) && ((pw = getpwuid(uid)) != NULL))
3557 - printf("%-10s ", pw->pw_name);
3558 + printf(" %-10s ", pw->pw_name);
3560 - printf("%-10d ", uid);
3561 - printf("%-10ld ",inode);
3562 + printf(" %-10d ", uid);
3563 + printf("%-10lu ",inode);
3566 printf("%-" PROGNAME_WIDTHs "s",prg_cache_get(inode));
3568 unsigned long rxq, txq, time_len, retr, inode;
3569 int num, local_port, rem_port, d, state, uid, timer_run, timeout;
3570 char rem_addr[128], local_addr[128], timers[64], buffer[1024], more[512];
3574 struct sockaddr_in6 localaddr, remaddr;
3575 @@ -719,12 +724,13 @@
3579 - "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
3580 + "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
3581 &d, local_addr, &local_port, rem_addr, &rem_port, &state,
3582 &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
3584 if (strlen(local_addr) > 8) {
3586 + protname = "tcp6";
3587 /* Demangle what the kernel gives us */
3588 sscanf(local_addr, "%08X%08X%08X%08X",
3589 &in6.s6_addr32[0], &in6.s6_addr32[1],
3591 remaddr.sin6_family = AF_INET6;
3595 sscanf(local_addr, "%X",
3596 &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3597 sscanf(rem_addr, "%X",
3599 timer_run, (double) time_len / HZ, retr, timeout);
3602 - printf("tcp %6ld %6ld %-23s %-23s %-12s",
3603 - rxq, txq, local_addr, rem_addr, _(tcp_state[state]));
3604 + printf("%-4s %6ld %6ld %-*s %-*s %-11s",
3605 + protname, rxq, txq, netmax(23,strlen(local_addr)), local_addr, netmax(23,strlen(rem_addr)), rem_addr, _(tcp_state[state]));
3607 finish_this_one(uid,inode,timers);
3610 char buffer[8192], local_addr[64], rem_addr[64];
3611 char *udp_state, timers[64], more[512];
3612 int num, local_port, rem_port, d, state, timer_run, uid, timeout;
3615 struct sockaddr_in6 localaddr, remaddr;
3616 char addr6[INET6_ADDRSTRLEN];
3617 @@ -847,13 +855,14 @@
3621 - "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
3622 + "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
3623 &d, local_addr, &local_port,
3624 rem_addr, &rem_port, &state,
3625 &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
3627 if (strlen(local_addr) > 8) {
3630 sscanf(local_addr, "%08X%08X%08X%08X",
3631 &in6.s6_addr32[0], &in6.s6_addr32[1],
3632 &in6.s6_addr32[2], &in6.s6_addr32[3]);
3634 remaddr.sin6_family = AF_INET6;
3638 sscanf(local_addr, "%X",
3639 &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3640 sscanf(rem_addr, "%X",
3645 - printf("udp %6ld %6ld %-23s %-23s %-12s",
3646 - rxq, txq, local_addr, rem_addr, udp_state);
3647 + printf("%-4s %6ld %6ld %-23s %-23s %-11s",
3648 + protname, rxq, txq, local_addr, rem_addr, udp_state);
3650 finish_this_one(uid,inode,timers);
3653 char buffer[8192], local_addr[64], rem_addr[64];
3654 char timers[64], more[512];
3655 int num, local_port, rem_port, d, state, timer_run, uid, timeout;
3658 struct sockaddr_in6 localaddr, remaddr;
3659 char addr6[INET6_ADDRSTRLEN];
3660 @@ -987,12 +998,13 @@
3664 - "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %ld %512s\n",
3665 + "%d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %X %lX:%lX %X:%lX %lX %d %d %lu %512s\n",
3666 &d, local_addr, &local_port, rem_addr, &rem_port, &state,
3667 &txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more);
3669 if (strlen(local_addr) > 8) {
3671 + protname = "raw6";
3672 sscanf(local_addr, "%08X%08X%08X%08X",
3673 &in6.s6_addr32[0], &in6.s6_addr32[1],
3674 &in6.s6_addr32[2], &in6.s6_addr32[3]);
3675 @@ -1007,6 +1019,7 @@
3676 remaddr.sin6_family = AF_INET6;
3680 sscanf(local_addr, "%X",
3681 &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3682 sscanf(rem_addr, "%X",
3683 @@ -1074,8 +1087,8 @@
3687 - printf("raw %6ld %6ld %-23s %-23s %-12d",
3688 - rxq, txq, local_addr, rem_addr, state);
3689 + printf("%-4s %6ld %6ld %-23s %-23s %-11d",
3690 + protname, rxq, txq, local_addr, rem_addr, state);
3692 finish_this_one(uid,inode,timers);
3694 @@ -1099,9 +1112,9 @@
3696 char path[MAXPATHLEN], ss_flags[32];
3697 char *ss_proto, *ss_state, *ss_type;
3698 - int num, state, type, inode;
3699 + int num, state, type;
3701 - unsigned long refcnt, proto, flags;
3702 + unsigned long refcnt, proto, flags, inode;
3705 if (strstr(line, "Inode"))
3706 @@ -1109,14 +1122,14 @@
3710 - num = sscanf(line, "%p: %lX %lX %lX %X %X %d %s",
3711 + num = sscanf(line, "%p: %lX %lX %lX %X %X %lu %s",
3712 &d, &refcnt, &proto, &flags, &type, &state, &inode, path);
3714 fprintf(stderr, _("warning, got bogus unix line.\n"));
3717 if (!(has & HAS_INODE))
3718 - snprintf(path,sizeof(path),"%d",inode);
3719 + snprintf(path,sizeof(path),"%lu",inode);
3722 if ((state == SS_UNCONNECTED) && (flags & SO_ACCEPTCON)) {
3723 @@ -1208,9 +1221,9 @@
3724 printf("%-5s %-6ld %-11s %-10s %-13s ",
3725 ss_proto, refcnt, ss_flags, ss_type, ss_state);
3726 if (has & HAS_INODE)
3727 - printf("%-6d ",inode);
3728 + printf("%-8lu ",inode);
3733 printf("%-" PROGNAME_WIDTHs "s",(has & HAS_INODE?prg_cache_get(inode):"-"));
3735 @@ -1350,18 +1363,37 @@
3736 char sad[50], dad[50];
3738 unsigned sport = 0, dport = 0;
3740 - if (!(f = fopen(_PATH_PROCNET_IPX, "r"))) {
3741 - if (errno != ENOENT) {
3742 - perror(_PATH_PROCNET_IPX);
3745 - if (flag_arg || flag_ver)
3746 - ESYSNOT("netstat", "AF IPX");
3753 + f = fopen(_PATH_PROCNET_IPX_SOCKET1, "r");
3755 + if (errno != ENOENT) {
3756 + perror(_PATH_PROCNET_IPX_SOCKET1);
3759 + f = fopen(_PATH_PROCNET_IPX_SOCKET2, "r");
3761 + /* We need to check for directory */
3763 + fstat(fileno(f), &s);
3764 + if (!S_ISREG(s.st_mode)) {
3771 + if (errno != ENOENT) {
3772 + perror(_PATH_PROCNET_IPX_SOCKET2);
3775 + if (flag_arg || flag_ver)
3776 + ESYSNOT("netstat", "AF IPX");
3783 printf(_("Active IPX sockets\nProto Recv-Q Send-Q Local Address Foreign Address State")); /* xxx */
3785 @@ -1381,7 +1413,7 @@
3786 sscanf(st, "%X", &sport); /* net byt order */
3787 sport = ntohs(sport);
3789 - EINTERN("netstat.c", _PATH_PROCNET_IPX " sport format error");
3790 + EINTERN("netstat.c", "ipx socket format error in source port");
3794 @@ -1391,7 +1423,7 @@
3795 sscanf(st, "%X", &dport); /* net byt order */
3796 dport = ntohs(dport);
3798 - EINTERN("netstat.c", _PATH_PROCNET_IPX " dport format error");
3799 + EINTERN("netstat.c", "ipx soket format error in destination port");
3803 @@ -1449,7 +1481,7 @@
3807 - printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
3808 + printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
3811 if (for_all_interfaces(do_if_print, &flag_all) < 0) {
3812 @@ -1457,7 +1489,7 @@
3816 - free_interface_list();
3821 @@ -1503,7 +1535,7 @@
3822 fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n"));
3824 fprintf(stderr, _(" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n"));
3825 - fprintf(stderr, _(" <AF>=Use '-A <af>' or '--<af>'; default: %s\n"), DFLT_AF);
3826 + fprintf(stderr, _(" <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: %s\n"), DFLT_AF);
3827 fprintf(stderr, _(" List of possible address families (which support routing):\n"));
3828 print_aflist(1); /* 1 = routeable */
3830 @@ -1514,7 +1546,7 @@
3831 (int argc, char *argv[]) {
3834 - struct option longopts[] =
3835 + static struct option longopts[] =
3838 {"version", 0, 0, 'V'},
3839 @@ -1556,7 +1588,7 @@
3840 getroute_init(); /* Set up AF routing support */
3843 - while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuVv?wxl", longopts, &lop)) != EOF)
3844 + while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuVv?wxl64", longopts, &lop)) != EOF)
3848 @@ -1624,6 +1656,14 @@
3853 + if (aftrans_opt("inet6"))
3857 + if (aftrans_opt("inet"))
3863 --- net-tools-1.60/po/de.po 2000-10-28 12:59:43.000000000 +0200
3864 +++ net-tools/po/de.po 2003-10-26 00:15:09.000000000 +0300
3868 # German translation for net-tools 1.51
3869 # Copyright (C) 1999 Ralf Bächle <ralf@gnu.org>
3874 msgid "(incomplete)"
3875 -msgstr "(unvollsändig)"
3876 +msgstr "(unvollständig)"
3880 --- net-tools-1.60/po/et_EE.po 2001-02-16 10:57:47.000000000 +0200
3881 +++ net-tools/po/et_EE.po 2001-04-16 20:43:27.000000000 +0200
3883 # Estonian translations for net-tools
3884 -# Copyright (C) 1999 Free Software Foundation, Inc.
3885 -# Meelis Roos <Meelis.Roos@mail.ee>, 1999.
3886 +# Copyright (C) 1999-2001 Free Software Foundation, Inc.
3887 +# Meelis Roos <mroos@linux.ee>, 1999-2001.
3892 -"Project-Id-Version: net-tools 1.58\n"
3893 -"POT-Creation-Date: 2001-02-15 21:28+0200\n"
3894 -"PO-Revision-Date: 2001-02-15 18:00+0300\n"
3895 +"Project-Id-Version: net-tools 1.60\n"
3896 +"POT-Creation-Date: 2001-04-16 20:24+0200\n"
3897 +"PO-Revision-Date: 2001-04-16 20:30+0200\n"
3898 "Last-Translator: Meelis Roos <mroos@linux.ee>\n"
3899 "Language-Team: Estonian <linux-ee@eenet.ee>\n"
3900 "MIME-Version: 1.0\n"
3901 "Content-Type: text/plain; charset=iso-8859-15\n"
3902 "Content-Transfer-Encoding: 8bit\n"
3904 -#: ../arp.c:110 ../arp.c:269
3905 +#: ../arp.c:111 ../arp.c:270
3906 msgid "arp: need host name\n"
3907 msgstr "arp: puudub hosti nimi\n"
3909 -#: ../arp.c:207 ../arp.c:221
3910 +#: ../arp.c:208 ../arp.c:222
3912 msgid "No ARP entry for %s\n"
3913 msgstr "%s jaoks pole ARP kirjet\n"
3918 msgid "arp: cant get HW-Address for `%s': %s.\n"
3919 msgstr "arp: ei saa riistvaralist aadressi `%s' jaoks: %s\n"
3923 msgid "arp: protocol type mismatch.\n"
3924 msgstr "arp: vale protokolli tüüp\n"
3929 msgid "arp: device `%s' has HW address %s `%s'.\n"
3930 msgstr "arp: seadmel `%s' on riistvaraline aadress %s `%s'\n"
3934 msgid "arp: need hardware address\n"
3935 msgstr "arp: puudub riistvaraline aadress\n"
3939 msgid "arp: invalid hardware address\n"
3940 msgstr "arp: vigane riistvaraline aadress\n"
3945 msgid "arp: cannot open etherfile %s !\n"
3946 msgstr "arp: ei saa avada faili %s\n"
3951 msgid "arp: format error on line %u of etherfile %s !\n"
3952 msgstr "arp: formaadiviga real %u failis %s\n"
3957 msgid "arp: cannot set entry on line %u of etherfile %s !\n"
3958 msgstr "arp: ei saa kehtestada ARP kirjet real %u failis %s\n"
3963 "Address HWtype HWaddress Flags Mask "
3966 "Aadress HWtüüp HWaadress Lipud Mask "
3971 msgid "(incomplete)"
3972 msgstr "(mittetäielik)"
3978 msgstr "%s (%s) aadressil "
3982 msgid "<incomplete> "
3983 msgstr "<mittetäielik>"
3989 msgstr "võrgumask %s "
3995 msgstr "liides %s\n"
4000 msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
4001 msgstr "ARP kirjeid kokku: %s\tignoreerisin: %d\tleidsin: %d\n"
4006 msgid "%s (%s) -- no entry\n"
4007 msgstr "%s (%s) -- pole kirjet\n"
4012 msgid "arp: in %d entries no match found.\n"
4013 msgstr "arp: ei leidnud %d kirje hulgast sobivat\n"
4019 " arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP "
4021 "ARP cache vaatamine:\n"
4022 " arp [-vn] [<HW>] [-i <if>] [-a] [<hosti nimi>]\n"
4027 " arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP "
4030 "ARP kirje kustutamine:\n"
4031 " arp [-v] [-i <if>] -d <hosti nimi> [pub] [nopub]\n"
4036 " arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
4039 "ARP kirjete lisamine failist:\n"
4040 " arp [-vnD] [<HW>] [-i <if>] -f [<failinimi>]\n"
4045 " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add "
4047 @@ -140,14 +139,14 @@
4048 "ARP kirje lisamine:\n"
4049 " arp [-v] [<HW>] [-i <if>] -s <hosti nimi> <hwaddr> [temp] [nopub]\n"
4054 " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub "
4057 " arp [-v] [<HW>] [-i <if>] -s <hosti nimi> <hwaddr> [netmask <nm>] pub\n"
4062 " arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub "
4065 " arp [-v] [<HW>] [-i <if>] -Ds <hosti nimi> <if> [netmask <nm>] pub\n"
4071 " -a display (all) hosts in alternative (BSD) "
4073 @@ -164,37 +163,37 @@
4074 " -a näita kõiki hoste alternatiivsel (BSD) "
4079 msgid " -s, --set set a new ARP entry\n"
4080 msgstr " -s, --set uue ARP kirje seadmine\n"
4084 msgid " -d, --delete delete a specified entry\n"
4085 msgstr " -d, --delete määratud kirje kustutamine\n"
4087 -#: ../arp.c:623 ../netstat.c:1485 ../route.c:85
4088 +#: ../arp.c:624 ../netstat.c:1490 ../route.c:86
4089 msgid " -v, --verbose be verbose\n"
4090 msgstr " -v, --verbose jutukas väljund\n"
4093 +#: ../arp.c:625 ../netstat.c:1491 ../route.c:87
4094 msgid " -n, --numeric don't resolve names\n"
4095 msgstr " -n, --numeric mitte lahendada nimesid\n"
4100 " -i, --device specify network interface (e.g. eth0)\n"
4102 " -i, --device võrguliidese täpsustamine (näiteks eth0)\n"
4106 msgid " -D, --use-device read <hwaddr> from given device\n"
4107 msgstr " -D, --use-device lugeda <hwaddr> vastavalt liideselt\n"
4111 msgid " -A, -p, --protocol specify protocol family\n"
4112 msgstr " -A, -p, --protocol protokollipere määramine\n"
4117 " -f, --file read new entries from file or from "
4119 @@ -204,125 +203,125 @@
4123 -#: ../arp.c:630 ../rarp.c:181
4124 +#: ../arp.c:631 ../rarp.c:182
4126 msgid " <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
4128 " <HW>=kasutage '-H <hw>' riistvaralise aadressi määramiseks.\n"
4131 -#: ../arp.c:631 ../rarp.c:182
4132 +#: ../arp.c:632 ../rarp.c:183
4133 msgid " List of possible hardware types (which support ARP):\n"
4134 msgstr " Võimalike ARP-i toetavate riistvara tüüpide nimekiri:\n"
4136 -#: ../arp.c:664 ../arp.c:749
4137 +#: ../arp.c:666 ../arp.c:751
4139 msgid "%s: hardware type not supported!\n"
4140 msgstr "arp: riistvara tüüpi %s ei toetata\n"
4145 msgid "%s: address family not supported!\n"
4146 msgstr "arp: aadressiperekonda %s ei toetata\n"
4150 msgid "arp: -N not yet supported.\n"
4151 msgstr "arp: -N toetust pole veel\n"
4156 msgid "arp: %s: unknown address family.\n"
4157 msgstr "arp: tundmatu aadressiperekond %s\n"
4162 msgid "arp: %s: unknown hardware type.\n"
4163 msgstr "arp: tundmatu riistvara tüüp %s\n"
4168 msgid "arp: %s: kernel only supports 'inet'.\n"
4169 msgstr "arp: tuumas on ainult 'inet' aadressiperekonna toetus\n"
4174 msgid "arp: %s: hardware type without ARP support.\n"
4175 msgstr "arp: riistvara tüübil %s pole ARP toetust\n"
4177 -#: ../hostname.c:69
4178 +#: ../hostname.c:70
4180 msgid "Setting nodename to `%s'\n"
4181 msgstr "Sean sõlme nimeks `%s'\n"
4183 -#: ../hostname.c:74
4184 +#: ../hostname.c:75
4186 msgid "%s: you must be root to change the node name\n"
4187 msgstr "%s: ainult root saab sõlme nime muuta\n"
4189 -#: ../hostname.c:77 ../hostname.c:97 ../hostname.c:116
4190 +#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
4192 msgid "%s: name too long\n"
4193 msgstr "%s: nimi on liiga pikk\n"
4195 -#: ../hostname.c:89
4196 +#: ../hostname.c:90
4198 msgid "Setting hostname to `%s'\n"
4199 msgstr "Sean hosti nimeks `%s'\n"
4201 -#: ../hostname.c:94
4202 +#: ../hostname.c:95
4204 msgid "%s: you must be root to change the host name\n"
4205 msgstr "%s: ainult root saab hosti nime muuta\n"
4207 -#: ../hostname.c:108
4208 +#: ../hostname.c:109
4210 msgid "Setting domainname to `%s'\n"
4211 msgstr "Sean domeeni nimeks `%s'\n"
4213 -#: ../hostname.c:113
4214 +#: ../hostname.c:114
4216 msgid "%s: you must be root to change the domain name\n"
4217 msgstr "%s: ainult root saab domeeni nime muuta\n"
4219 -#: ../hostname.c:131
4220 +#: ../hostname.c:132
4222 msgid "Resolving `%s' ...\n"
4223 msgstr "Lahendan `%s' ...\n"
4225 -#: ../hostname.c:137
4226 +#: ../hostname.c:138
4228 msgid "Result: h_name=`%s'\n"
4229 msgstr "Tulemus: h_name=`%s'\n"
4231 -#: ../hostname.c:142
4232 +#: ../hostname.c:143
4234 msgid "Result: h_aliases=`%s'\n"
4235 msgstr "Tulemus: h_aliases=`%s'\n"
4237 -#: ../hostname.c:147
4238 +#: ../hostname.c:148
4240 msgid "Result: h_addr_list=`%s'\n"
4241 msgstr "Tulemus: h_addr_list=`%s'\n"
4243 -#: ../hostname.c:209
4244 +#: ../hostname.c:210
4246 msgid "%s: can't open `%s'\n"
4247 msgstr "%s: ei saa avada faili `%s'\n"
4249 -#: ../hostname.c:223
4250 +#: ../hostname.c:224
4251 msgid "Usage: hostname [-v] {hostname|-F file} set hostname (from file)\n"
4254 " hostname [-v] {hosti nimi|-F fail} hosti nime seadmine (ka "
4257 -#: ../hostname.c:224
4258 +#: ../hostname.c:225
4260 " domainname [-v] {nisdomain|-F file} set NIS domainname (from file)\n"
4262 " domainname [-v] {nisdomeen|-F fail} NIS domeeni nime seadmine\n"
4264 -#: ../hostname.c:226
4265 +#: ../hostname.c:227
4267 " nodename [-v] {nodename|-F file} set DECnet node name (from "
4269 @@ -330,18 +329,18 @@
4270 " nodename [-v] {nodename|-F fail} DECneti võrgusõlme nime "
4273 -#: ../hostname.c:228
4274 +#: ../hostname.c:229
4275 msgid " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] display formatted name\n"
4277 " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] nime näitamine antud formaadis\n"
4279 -#: ../hostname.c:229
4280 +#: ../hostname.c:230
4282 " hostname [-v] display hostname\n"
4284 msgstr " hostname [-v] hosti nime näitamine\n"
4286 -#: ../hostname.c:230
4287 +#: ../hostname.c:231
4289 " hostname -V|--version|-h|--help print info and exit\n"
4292 " hostname -h|--help seesama abiinfo\n"
4295 -#: ../hostname.c:231
4296 +#: ../hostname.c:232
4298 " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
4300 @@ -358,36 +357,36 @@
4301 " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
4304 -#: ../hostname.c:232
4305 +#: ../hostname.c:233
4306 msgid " -s, --short short host name\n"
4307 msgstr " -s, --short lühike hosti nimi\n"
4309 -#: ../hostname.c:233
4310 +#: ../hostname.c:234
4311 msgid " -a, --alias alias names\n"
4312 msgstr " -a, --alias alias-nimed\n"
4314 -#: ../hostname.c:234
4315 +#: ../hostname.c:235
4316 msgid " -i, --ip-address addresses for the hostname\n"
4317 msgstr " -i, --ip-address hosti IP aadressid\n"
4319 -#: ../hostname.c:235
4320 +#: ../hostname.c:236
4321 msgid " -f, --fqdn, --long long host name (FQDN)\n"
4323 " -f, --fqdn, --long pikk hosti nimi (FQDN - täielik süsteeminimi)\n"
4325 -#: ../hostname.c:236
4326 +#: ../hostname.c:237
4327 msgid " -d, --domain DNS domain name\n"
4328 msgstr " -d, --domain DNS domeeni nimi\n"
4330 -#: ../hostname.c:237
4331 +#: ../hostname.c:238
4332 msgid " -y, --yp, --nis NIS/YP domainname\n"
4333 msgstr " -y, --yp, --nis NIS/YP domeeni nimi\n"
4335 -#: ../hostname.c:239
4336 +#: ../hostname.c:240
4337 msgid " -n, --node DECnet node name\n"
4338 msgstr " -n, --node DECneti võrgusõlme nimi\n"
4340 -#: ../hostname.c:241
4341 +#: ../hostname.c:242
4343 " -F, --file read hostname or NIS domainname from given file\n"
4346 " -F, --file lugeda hosti või NIS domeeni nimi failist\n"
4349 -#: ../hostname.c:243
4350 +#: ../hostname.c:244
4352 " This command can read or set the hostname or the NIS domainname. You can\n"
4353 " also read the DNS domain or the FQDN (fully qualified domain name).\n"
4354 @@ -409,12 +408,12 @@
4355 " täielikku süsteeminime (FQDN) ja DNS domeeni nime (mis on täieliku nime\n"
4356 " osa) muuta failist /etc/hosts.\n"
4358 -#: ../hostname.c:338
4359 +#: ../hostname.c:340
4361 msgid "%s: You can't change the DNS domain name with this command\n"
4362 msgstr "%s: selle käsuga ei saa muuta DNS domeeni nime\n"
4364 -#: ../hostname.c:339
4365 +#: ../hostname.c:341
4368 "Unless you are using bind or NIS for host lookups you can change the DNS\n"
4369 @@ -422,26 +421,26 @@
4371 "Kui Te EI kasuta bind'i ega NIS'i nimede lahendamiseks, saate DNS domeeni\n"
4373 -#: ../hostname.c:340
4374 +#: ../hostname.c:342
4375 msgid "domain name (which is part of the FQDN) in the /etc/hosts file.\n"
4376 msgstr "(mis on täieliku nime osa) nime muuta failist /etc/hosts.\n"
4378 -#: ../hostname.c:357
4379 +#: ../hostname.c:359
4381 msgid "gethostname()=`%s'\n"
4382 msgstr "gethostname()=`%s'\n"
4384 -#: ../hostname.c:374
4385 +#: ../hostname.c:376
4387 msgid "getdomainname()=`%s'\n"
4388 msgstr "getdomainname()=`%s'\n"
4390 -#: ../hostname.c:389
4391 +#: ../hostname.c:391
4393 msgid "getnodename()=`%s'\n"
4394 msgstr "getnodename()=`%s'\n"
4396 -#: ../ifconfig.c:110
4397 +#: ../ifconfig.c:108
4399 "Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
4401 @@ -449,16 +448,16 @@
4402 "Liides MTU Meetr. RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
4405 -#: ../ifconfig.c:132 ../ifconfig.c:164
4406 +#: ../ifconfig.c:130 ../ifconfig.c:162
4408 msgid "%s: unknown interface: %s\n"
4409 msgstr "ifconfig: tundmatu liides %s: %s\n"
4411 -#: ../ifconfig.c:156 ../ifconfig.c:740 ../ifconfig.c:831 ../ifconfig.c:937
4412 +#: ../ifconfig.c:154 ../ifconfig.c:734 ../ifconfig.c:825 ../ifconfig.c:936
4413 msgid "No support for INET on this system.\n"
4414 msgstr "Antud süsteem ei toeta INET aadressiperekonda\n"
4416 -#: ../ifconfig.c:179
4417 +#: ../ifconfig.c:177
4420 " ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
4421 @@ -466,51 +465,51 @@
4423 " ifconfig [-a] [-i] [-v] [-s] <liides> [[<AF>] <aadress>]\n"
4425 -#: ../ifconfig.c:181
4426 +#: ../ifconfig.c:179
4427 msgid " [add <address>[/<prefixlen>]]\n"
4428 msgstr " [add <aadress>[/<prefiksi pikkus>]]\n"
4430 -#: ../ifconfig.c:182
4431 +#: ../ifconfig.c:180
4432 msgid " [del <address>[/<prefixlen>]]\n"
4433 msgstr " [del <aadress>[/<prefiksi pikkus>]]\n"
4435 -#: ../ifconfig.c:183
4436 +#: ../ifconfig.c:181
4437 msgid " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n"
4438 msgstr " [[-]broadcast [<aadress>]] [[-]pointopoint [<aadress>]]\n"
4440 -#: ../ifconfig.c:184
4441 +#: ../ifconfig.c:182
4442 msgid " [netmask <address>] [dstaddr <address>] [tunnel <address>]\n"
4443 msgstr " [netmask <aadress>] [dstaddr <aadress>] [tunnel <aadress>]\n"
4445 -#: ../ifconfig.c:187
4446 +#: ../ifconfig.c:185
4447 msgid " [outfill <NN>] [keepalive <NN>]\n"
4448 msgstr " [outfill <NN>] [keepalive <NN>]\n"
4450 -#: ../ifconfig.c:189
4451 +#: ../ifconfig.c:187
4452 msgid " [hw <HW> <address>] [metric <NN>] [mtu <NN>]\n"
4453 msgstr " [hw <HW> <aadress>] [metric <NN>] [mtu <NN>]\n"
4455 -#: ../ifconfig.c:190
4456 +#: ../ifconfig.c:188
4457 msgid " [[-]trailers] [[-]arp] [[-]allmulti]\n"
4458 msgstr " [[-]trailers] [[-]arp] [[-]allmulti]\n"
4460 -#: ../ifconfig.c:191
4461 +#: ../ifconfig.c:189
4462 msgid " [multicast] [[-]promisc]\n"
4463 msgstr " [multicast] [[-]promisc]\n"
4465 -#: ../ifconfig.c:192
4466 +#: ../ifconfig.c:190
4467 msgid " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]\n"
4468 msgstr " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <tüüp>]\n"
4470 -#: ../ifconfig.c:194
4471 +#: ../ifconfig.c:192
4472 msgid " [txqueuelen <NN>]\n"
4473 msgstr " [txqueuelen <NN>]\n"
4475 -#: ../ifconfig.c:197
4476 +#: ../ifconfig.c:195
4477 msgid " [[-]dynamic]\n"
4478 msgstr " [[-]dynamic]\n"
4480 -#: ../ifconfig.c:199
4481 +#: ../ifconfig.c:197
4485 @@ -518,73 +517,86 @@
4489 -#: ../ifconfig.c:201
4490 +#: ../ifconfig.c:199
4491 msgid " <HW>=Hardware Type.\n"
4492 msgstr " <HW>=riistvara tüüp\n"
4494 -#: ../ifconfig.c:202
4495 +#: ../ifconfig.c:200
4496 msgid " List of possible hardware types:\n"
4497 msgstr " Võimalike riistvara tüüpide nimekiri:\n"
4500 -#: ../ifconfig.c:204
4501 +#: ../ifconfig.c:202
4503 msgid " <AF>=Address family. Default: %s\n"
4504 msgstr " <AF>=aadressiperekond, vaikimisi %s\n"
4506 -#: ../ifconfig.c:205
4507 +#: ../ifconfig.c:203
4508 msgid " List of possible address families:\n"
4509 msgstr " Võimalike aadressiperekondade nimekiri:\n"
4511 -#: ../ifconfig.c:361
4512 +#: ../ifconfig.c:278
4514 +msgid "ifconfig: option `%s' not recognised.\n"
4517 +#: ../ifconfig.c:280 ../ifconfig.c:925
4518 +msgid "ifconfig: `--help' gives usage information.\n"
4521 +#: ../ifconfig.c:355
4522 msgid "Unknown media type.\n"
4523 msgstr "Tundmatu meedia tüüp\n"
4525 -#: ../ifconfig.c:653
4526 +#: ../ifconfig.c:647
4528 msgid "hw address type `%s' has no handler to set address. failed.\n"
4530 "riistvara aadressi tüübil `%s' pole käsitlejat aadressi seadmiseks - ebaõnn\n"
4532 -#: ../ifconfig.c:662
4533 +#: ../ifconfig.c:656
4535 msgid "%s: invalid %s address.\n"
4536 msgstr "%s: vigane %s aadress\n"
4538 -#: ../ifconfig.c:706 ../ifconfig.c:796 ../ifconfig.c:882
4539 +#: ../ifconfig.c:700 ../ifconfig.c:790 ../ifconfig.c:876
4540 msgid "No support for INET6 on this system.\n"
4541 msgstr "Antud süsteem ei toeta INET6 aadressiperekonda\n"
4543 -#: ../ifconfig.c:749 ../ifconfig.c:840
4544 +#: ../ifconfig.c:743 ../ifconfig.c:834
4546 msgid "Interface %s not initialized\n"
4547 msgstr "Liides %s pole initsialiseeritud\n"
4549 -#: ../ifconfig.c:761 ../ifconfig.c:851
4550 +#: ../ifconfig.c:755 ../ifconfig.c:845
4551 msgid "Bad address.\n"
4552 msgstr "Vigane aadress\n"
4554 -#: ../ifconfig.c:854
4555 +#: ../ifconfig.c:848
4556 msgid "Address deletion not supported on this system.\n"
4557 msgstr "Antud süsteem ei toeta aadresside kustutamist\n"
4559 -#: ../ifconfig.c:947
4560 +#: ../ifconfig.c:920
4561 +msgid "ifconfig: Cannot set address for this protocol family.\n"
4562 +msgstr "Ei oska seada aadresse selle aadressiperekonna jaoks\n"
4564 +#: ../ifconfig.c:946
4565 msgid "No support for ECONET on this system.\n"
4566 msgstr "Antud süsteem ei toeta ECONET aadressiperekonda\n"
4568 -#: ../ifconfig.c:955
4569 +#: ../ifconfig.c:954
4571 msgid "Don't know how to set addresses for family %d.\n"
4572 msgstr "Ei oska seada aadresse aadressiperekonna %d jaoks\n"
4574 -#: ../netstat.c:429
4575 +#: ../netstat.c:430
4578 "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
4580 "(\"-p\" jaoks ei saanud infot lugeda: geteuid()=%d, aga vaja oleks root'u)\n"
4582 -#: ../netstat.c:433
4583 +#: ../netstat.c:434
4585 "(Not all processes could be identified, non-owned process info\n"
4586 " will not be shown, you would have to be root to see it all.)\n"
4587 @@ -592,27 +604,27 @@
4588 "(Mõnesid protsesse ei saanud identifitseerida, teiste kasutajate\n"
4589 "info lugemiseks peab olema root)\n"
4591 -#: ../netstat.c:440 ../netstat.c:1171 ../netstat.c:1248
4592 +#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
4596 -#: ../netstat.c:441
4597 +#: ../netstat.c:442
4601 -#: ../netstat.c:442 ../netstat.c:1250
4602 +#: ../netstat.c:443 ../netstat.c:1255
4606 -#: ../netstat.c:443 ../netstat.c:510 ../netstat.c:889 ../netstat.c:1251
4607 +#: ../netstat.c:444 ../netstat.c:511 ../netstat.c:894 ../netstat.c:1256
4609 msgstr "ESTABLISHED"
4611 -#: ../netstat.c:465
4612 +#: ../netstat.c:466
4613 msgid "Active NET/ROM sockets\n"
4614 msgstr "Aktiivsed NET/ROM soklid\n"
4616 -#: ../netstat.c:466
4617 +#: ../netstat.c:467
4619 "User Dest Source Device State Vr/Vs Send-Q "
4621 @@ -620,182 +632,182 @@
4622 "Kasutaja Sihtpunkt Lähtepunkt Liides Olek Vr/Vs SaatJrk "
4625 -#: ../netstat.c:476 ../netstat.c:1290
4626 +#: ../netstat.c:477 ../netstat.c:1295
4628 msgid "Problem reading data from %s\n"
4629 msgstr "Probleem andmete lugemisel failist %s\n"
4631 -#: ../netstat.c:511
4632 +#: ../netstat.c:512
4636 -#: ../netstat.c:512
4637 +#: ../netstat.c:513
4641 -#: ../netstat.c:513
4642 +#: ../netstat.c:514
4646 -#: ../netstat.c:514
4647 +#: ../netstat.c:515
4651 -#: ../netstat.c:515
4652 +#: ../netstat.c:516
4656 -#: ../netstat.c:516
4657 +#: ../netstat.c:517
4661 -#: ../netstat.c:517
4662 +#: ../netstat.c:518
4666 -#: ../netstat.c:518
4667 +#: ../netstat.c:519
4671 -#: ../netstat.c:519
4672 +#: ../netstat.c:520
4676 -#: ../netstat.c:520
4677 +#: ../netstat.c:521
4681 -#: ../netstat.c:587
4682 +#: ../netstat.c:592
4684 msgid "warning, got bogus igmp6 line %d.\n"
4685 msgstr "Hoiatus - sain imeliku igmp6 rea (nr. %d)\n"
4687 -#: ../netstat.c:592 ../netstat.c:630 ../netstat.c:751 ../netstat.c:883
4688 -#: ../netstat.c:1014 ../netstat.c:1019
4689 +#: ../netstat.c:597 ../netstat.c:635 ../netstat.c:756 ../netstat.c:888
4690 +#: ../netstat.c:1019 ../netstat.c:1024
4692 msgid "netstat: unsupported address family %d !\n"
4693 msgstr "netstat: aadressiperekonda %d ei toetata\n"
4695 -#: ../netstat.c:605 ../netstat.c:610 ../netstat.c:618 ../netstat.c:625
4696 +#: ../netstat.c:610 ../netstat.c:615 ../netstat.c:623 ../netstat.c:630
4698 msgid "warning, got bogus igmp line %d.\n"
4699 msgstr "Hoiatus - sain imeliku igmp rea (nr. %d)\n"
4701 -#: ../netstat.c:668
4702 +#: ../netstat.c:673
4703 msgid "Active X.25 sockets\n"
4704 msgstr "Aktiivsed X.25 soklid\n"
4706 #. IMHO, Vr/Vs is not very usefull --SF
4707 -#: ../netstat.c:670
4708 +#: ../netstat.c:675
4710 "Dest Source Device LCI State Vr/Vs Send-Q "
4713 "Sihtpunkt Lähtepunkt Liides LCI Olek Vr/Vs SaatJrk VvJrk\n"
4715 -#: ../netstat.c:747
4716 +#: ../netstat.c:752
4717 msgid "warning, got bogus tcp line.\n"
4718 msgstr "Hoiatus - sain imeliku tcp rea\n"
4720 -#: ../netstat.c:788 ../netstat.c:938 ../netstat.c:1057
4721 +#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
4723 msgid "off (0.00/%ld/%d)"
4724 msgstr "eikäi ((0.00/%ld/%d)"
4726 -#: ../netstat.c:792
4727 +#: ../netstat.c:797
4729 msgid "on (%2.2f/%ld/%d)"
4730 msgstr "käib (%2.2f/%ld/%d)"
4732 -#: ../netstat.c:797
4733 +#: ../netstat.c:802
4735 msgid "keepalive (%2.2f/%ld/%d)"
4736 msgstr "keepalive (%2.2f/%ld/%d)"
4738 -#: ../netstat.c:802
4739 +#: ../netstat.c:807
4741 msgid "timewait (%2.2f/%ld/%d)"
4742 msgstr "timewait (%2.2f/%ld/%d)"
4744 -#: ../netstat.c:807 ../netstat.c:947 ../netstat.c:1067
4745 +#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
4747 msgid "unkn-%d (%2.2f/%ld/%d)"
4748 msgstr "eitea-%d (%2.2f/%ld/%d)"
4750 -#: ../netstat.c:879
4751 +#: ../netstat.c:884
4752 msgid "warning, got bogus udp line.\n"
4753 msgstr "Hoiatus - sain imeliku udp rea\n"
4755 -#: ../netstat.c:897 ../netstat.c:1157 ../netstat.c:1190
4756 +#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
4760 -#: ../netstat.c:943 ../netstat.c:1062
4761 +#: ../netstat.c:948 ../netstat.c:1067
4763 msgid "on%d (%2.2f/%ld/%d)"
4764 msgstr "käib-%d (%2.2f/%ld/%d)"
4766 -#: ../netstat.c:1028
4767 +#: ../netstat.c:1033
4768 msgid "warning, got bogus raw line.\n"
4769 msgstr "Hoiatus - sain imeliku raw rea\n"
4771 -#: ../netstat.c:1110
4772 +#: ../netstat.c:1115
4773 msgid "warning, got bogus unix line.\n"
4774 msgstr "Hoiatus - sain imeliku unix rea\n"
4776 -#: ../netstat.c:1137
4777 +#: ../netstat.c:1142
4781 -#: ../netstat.c:1141
4782 +#: ../netstat.c:1146
4786 -#: ../netstat.c:1145
4787 +#: ../netstat.c:1150
4791 -#: ../netstat.c:1149
4792 +#: ../netstat.c:1154
4796 -#: ../netstat.c:1153
4797 +#: ../netstat.c:1158
4801 -#: ../netstat.c:1162
4802 +#: ../netstat.c:1167
4806 -#: ../netstat.c:1178
4807 +#: ../netstat.c:1183
4811 -#: ../netstat.c:1182
4812 +#: ../netstat.c:1187
4816 -#: ../netstat.c:1186
4817 +#: ../netstat.c:1191
4818 msgid "DISCONNECTING"
4819 msgstr "LAHTIÃœHENDUMAS"
4821 -#: ../netstat.c:1217
4822 +#: ../netstat.c:1222
4823 msgid "Active UNIX domain sockets "
4824 msgstr "Aktiivsed UNIX domeeni soklid "
4826 -#: ../netstat.c:1219 ../netstat.c:1729
4827 +#: ../netstat.c:1224 ../netstat.c:1735
4828 msgid "(servers and established)"
4829 msgstr "(serverid ja ühendatud)"
4831 -#: ../netstat.c:1222 ../netstat.c:1732
4832 +#: ../netstat.c:1227 ../netstat.c:1738
4833 msgid "(only servers)"
4834 msgstr "(ainult serverid)"
4836 -#: ../netstat.c:1224 ../netstat.c:1734
4837 +#: ../netstat.c:1229 ../netstat.c:1740
4838 msgid "(w/o servers)"
4839 msgstr "(ilma serveriteta)"
4841 -#: ../netstat.c:1227
4842 +#: ../netstat.c:1232
4845 "Proto RefCnt Flags Type State I-Node"
4846 @@ -803,32 +815,32 @@
4848 "Proto Mitu Lipud Tüüp Olek I-kirje "
4850 -#: ../netstat.c:1229
4851 +#: ../netstat.c:1234
4855 -#: ../netstat.c:1249
4856 +#: ../netstat.c:1254
4860 -#: ../netstat.c:1252
4861 +#: ../netstat.c:1257
4865 -#: ../netstat.c:1266
4866 +#: ../netstat.c:1271
4867 msgid "Active AX.25 sockets\n"
4868 msgstr "Aktiivsed AX.25 soklid\n"
4870 -#: ../netstat.c:1267
4871 +#: ../netstat.c:1272
4872 msgid "Dest Source Device State Vr/Vs Send-Q Recv-Q\n"
4873 msgstr "Sihtpunkt Lähtepunkt Liides Olek Vr/Vs SaatJrk VvJrk\n"
4875 -#: ../netstat.c:1310
4876 +#: ../netstat.c:1315
4878 msgid "problem reading data from %s\n"
4879 msgstr "Probleem andmete lugemisel failist %s\n"
4881 -#: ../netstat.c:1361
4882 +#: ../netstat.c:1366
4884 "Active IPX sockets\n"
4885 "Proto Recv-Q Send-Q Local Address Foreign Address "
4886 @@ -838,23 +850,23 @@
4887 "Proto VvJrk SaatJrk Kohalik aadress Väline aadress "
4890 -#: ../netstat.c:1363
4891 +#: ../netstat.c:1368
4895 -#: ../netstat.c:1397
4896 +#: ../netstat.c:1402
4900 -#: ../netstat.c:1405
4901 +#: ../netstat.c:1410
4905 -#: ../netstat.c:1443
4906 +#: ../netstat.c:1448
4907 msgid "Kernel Interface table\n"
4908 msgstr "Tuuma liideste tabel\n"
4910 -#: ../netstat.c:1447
4911 +#: ../netstat.c:1452
4913 "Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
4915 @@ -862,11 +874,11 @@
4916 "Liides MTU Meetr RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
4919 -#: ../netstat.c:1451
4920 +#: ../netstat.c:1456
4921 msgid "missing interface information"
4922 msgstr "Puudulik informatsioon liideste kohta"
4924 -#: ../netstat.c:1474
4925 +#: ../netstat.c:1479
4927 "usage: netstat [-veenNcCF] [<Af>] -r netstat "
4928 "{-V|--version|-h|--help}\n"
4929 @@ -874,11 +886,11 @@
4930 "Kasutamine: netstat [-veenNcCF] [<Af>] -r\n"
4931 " netstat {-V|--version|-h|--help}\n"
4933 -#: ../netstat.c:1475
4934 +#: ../netstat.c:1480
4935 msgid " netstat [-vnNcaeol] [<Socket> ...]\n"
4936 msgstr " netstat [-vnNcaeol] [<Sokkel> ...]\n"
4938 -#: ../netstat.c:1476
4939 +#: ../netstat.c:1481
4941 " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
4943 @@ -886,25 +898,25 @@
4944 " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
4947 -#: ../netstat.c:1478
4948 +#: ../netstat.c:1483
4949 msgid " -r, --route display routing table\n"
4950 msgstr " -r, --route ruutingutabeli näitamine\n"
4952 -#: ../netstat.c:1479
4953 +#: ../netstat.c:1484
4954 msgid " -i, --interfaces display interface table\n"
4955 msgstr " -i, --interfaces liideste tabeli näitamine\n"
4957 -#: ../netstat.c:1480
4958 +#: ../netstat.c:1485
4959 msgid " -g, --groups display multicast group memberships\n"
4960 msgstr " -g, --groups multiedastuse gruppide näitamine\n"
4962 -#: ../netstat.c:1481
4963 +#: ../netstat.c:1486
4965 " -s, --statistics display networking statistics (like SNMP)\n"
4967 " -s, --statistics võrgu statistika näitamine (SNMP stiilis)\n"
4969 -#: ../netstat.c:1483
4970 +#: ../netstat.c:1488
4972 " -M, --masquerade display masqueraded connections\n"
4974 @@ -912,36 +924,32 @@
4975 " -M, --masquerade maskeeritavate ühenduste näitamine\n"
4978 -#: ../netstat.c:1486 ../route.c:86
4979 -msgid " -n, --numeric dont resolve names\n"
4980 -msgstr " -n, --numeric mitte lahendada numbreid nimedeks\n"
4982 -#: ../netstat.c:1487
4983 -msgid " --numeric-hosts dont resolve host names\n"
4984 +#: ../netstat.c:1492
4985 +msgid " --numeric-hosts don't resolve host names\n"
4986 msgstr " --numeric-hosts mitte lahendada hostinimesid\n"
4988 -#: ../netstat.c:1488
4989 -msgid " --numeric-ports dont resolve port names\n"
4990 +#: ../netstat.c:1493
4991 +msgid " --numeric-ports don't resolve port names\n"
4992 msgstr " --numeric-ports mitte lahendada pordinimesid\n"
4994 -#: ../netstat.c:1489
4995 -msgid " --numeric-users dont resolve user names\n"
4996 +#: ../netstat.c:1494
4997 +msgid " --numeric-users don't resolve user names\n"
4998 msgstr " --numeric-users mitte lahendada kasutajanimesid\n"
5000 -#: ../netstat.c:1490
5001 +#: ../netstat.c:1495
5002 msgid " -N, --symbolic resolve hardware names\n"
5003 msgstr " -N, --symbolic lahendada riistvara aadressid\n"
5005 -#: ../netstat.c:1491 ../route.c:87
5006 +#: ../netstat.c:1496 ../route.c:88
5007 msgid " -e, --extend display other/more information\n"
5008 msgstr " -e, --extend muu info/lisainfo näitamine\n"
5010 -#: ../netstat.c:1492
5011 +#: ../netstat.c:1497
5012 msgid " -p, --programs display PID/Program name for sockets\n"
5014 " -p, --programs soklite kohta PID/protsessi nime näitamine\n"
5016 -#: ../netstat.c:1493
5017 +#: ../netstat.c:1498
5019 " -c, --continuous continuous listing\n"
5021 @@ -949,22 +957,22 @@
5022 " -c, --continuous pidevalt uuenev nimekiri\n"
5025 -#: ../netstat.c:1494
5026 +#: ../netstat.c:1499
5027 msgid " -l, --listening display listening server sockets\n"
5028 msgstr " -l, --listening kuulavate serversoklite näitamine\n"
5030 -#: ../netstat.c:1495
5031 +#: ../netstat.c:1500
5033 " -a, --all, --listening display all sockets (default: connected)\n"
5035 " -a, --all, --listening kõigi soklite näitamine (vaikimisi "
5038 -#: ../netstat.c:1496
5039 +#: ../netstat.c:1501
5040 msgid " -o, --timers display timers\n"
5041 msgstr " -o, --timers taimerite näitamine\n"
5043 -#: ../netstat.c:1497 ../route.c:88
5044 +#: ../netstat.c:1502 ../route.c:89
5046 " -F, --fib display Forwarding Information Base "
5049 " -F, --fib üldiste ruutingutabelite näitamine "
5052 -#: ../netstat.c:1498 ../route.c:89
5053 +#: ../netstat.c:1503 ../route.c:90
5055 " -C, --cache display routing cache instead of FIB\n"
5061 -#: ../netstat.c:1500
5062 +#: ../netstat.c:1505
5064 " <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
5066 @@ -989,20 +997,19 @@
5067 " <Sokkel>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
5070 -#: ../netstat.c:1501 ../route.c:91
5072 -msgid " <AF>=Use '-A <af>' or '--<af>' Default: %s\n"
5073 -msgstr " <AF>=kasutage '-A <af>' või '--<af>' vaikimisi: %s\n"
5074 +#: ../netstat.c:1506 ../route.c:92
5075 +msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
5076 +msgstr " <AF>=kasutage '-A <af>' või '--<af>'; vaikimisi: %s\n"
5078 -#: ../netstat.c:1502 ../route.c:92
5079 +#: ../netstat.c:1507 ../route.c:93
5080 msgid " List of possible address families (which support routing):\n"
5081 msgstr " Võimalike ruutingu toetavate aadressiperekondade nimekiri:\n"
5083 -#: ../netstat.c:1726
5084 +#: ../netstat.c:1732
5085 msgid "Active Internet connections "
5086 msgstr "Aktiivsed internetiühendused "
5088 -#: ../netstat.c:1736
5089 +#: ../netstat.c:1742
5092 "Proto Recv-Q Send-Q Local Address Foreign Address State "
5093 @@ -1012,77 +1019,77 @@
5094 "Proto VvJrk SaatJrk Kohalik aadress Väline aadress Olek "
5097 -#: ../netstat.c:1738
5098 +#: ../netstat.c:1744
5099 msgid " User Inode "
5100 msgstr " Kasutaja I-kirje "
5102 -#: ../netstat.c:1741
5103 +#: ../netstat.c:1747
5107 -#: ../netstat.c:1771
5108 +#: ../netstat.c:1777
5109 msgid "IPv4 Group Memberships\n"
5110 msgstr "IPv4 grupikuuluvused\n"
5112 -#: ../netstat.c:1772
5113 +#: ../netstat.c:1778
5114 msgid "Interface RefCnt Group\n"
5115 msgstr "Liides Mitu Grupp\n"
5119 msgid "This kernel does not support RARP.\n"
5120 msgstr "rarp: tuum ei toeta RARP'i\n"
5125 msgid "no RARP entry for %s.\n"
5126 msgstr "rarp: %s jaoks pole RARP kirjet\n"
5131 msgid "%s: bad hardware address\n"
5132 msgstr "rarp: vigane riistvaraline aadress %s\n"
5137 msgid "rarp: cannot open file %s:%s.\n"
5138 msgstr "rarp: ei saa avada faili %s:%s\n"
5143 msgid "rarp: format error at %s:%u\n"
5144 msgstr "rarp: vorminguviga failis %s real %u\n"
5146 -#: ../rarp.c:143 ../rarp.c:287
5147 +#: ../rarp.c:144 ../rarp.c:289
5149 msgid "rarp: %s: unknown host\n"
5150 msgstr "rarp: tundmatu host %s\n"
5155 msgid "rarp: cannot set entry from %s:%u\n"
5156 msgstr "rarp: ei saa kehtestada kirjet failist %s realt %u\n"
5160 msgid "Usage: rarp -a list entries in cache.\n"
5163 " rarp -a puhvris olevate kirjete vaatamine\n"
5167 msgid " rarp -d <hostname> delete entry from cache.\n"
5168 msgstr " rarp -d <hosti nimi> kirje kustutamine puhvrist\n"
5172 msgid " rarp [<HW>] -s <hostname> <hwaddr> add entry to cache.\n"
5173 msgstr " rarp [<HW>] -s <hosti nimi> <hwaddr> kirje lisamine puhvrisse\n"
5178 " rarp -f add entries from /etc/ethers.\n"
5180 " rarp -f kirjete lisamine failist /etc/ethers\n"
5185 " rarp -V display program version.\n"
5187 @@ -1090,24 +1097,24 @@
5188 " rarp -V programmi versiooni näitamine\n"
5194 msgid "%s: illegal option mix.\n"
5195 msgstr "%s: lubamatu võtmete kombinatsioon\n"
5200 msgid "rarp: %s: unknown hardware type.\n"
5201 msgstr "rarp: tundmatu riistvara tüüp %s\n"
5206 "Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables\n"
5209 " route [-nNvee] [-FC] [<AF>] Tuuma ruutingutabeli näitamine\n"
5214 " route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.\n"
5216 @@ -1115,7 +1122,7 @@
5217 " route [-v] [-FC] {add|del|flush} ... Tuuma ruutingutabeli muutmine\n"
5223 " route {-h|--help} [<AF>] Detailed usage syntax for "
5225 @@ -1123,7 +1130,7 @@
5226 " route {-h|--help} [<AF>] Detailne süntaks perekonna AF "
5232 " route {-V|--version} Display version/author and "
5234 @@ -1149,25 +1156,25 @@
5235 msgid "%s\tnibble %lu trigger %lu\n"
5236 msgstr "%s\tnibble %lu trigger %lu\n"
5238 -#: ../iptunnel.c:84
5239 +#: ../iptunnel.c:85
5240 msgid "Usage: iptunnel { add | change | del | show } [ NAME ]\n"
5241 msgstr "Kasutamine: iptunnel { add | change | del | show } [ NIMI ]\n"
5243 -#: ../iptunnel.c:85
5244 +#: ../iptunnel.c:86
5246 " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
5248 " [ mode { ipip | gre | sit } ] [ remote AADR ] [ local AADR ]\n"
5250 -#: ../iptunnel.c:86
5251 +#: ../iptunnel.c:87
5252 msgid " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
5253 msgstr " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
5255 -#: ../iptunnel.c:87
5256 +#: ../iptunnel.c:88
5257 msgid " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev PHYS_DEV ]\n"
5258 msgstr " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev LIIDES ]\n"
5260 -#: ../iptunnel.c:88
5261 +#: ../iptunnel.c:89
5263 " iptunnel -V | --version\n"
5265 @@ -1175,83 +1182,83 @@
5266 " iptunnel -V | --version\n"
5269 -#: ../iptunnel.c:89
5270 +#: ../iptunnel.c:90
5271 msgid "Where: NAME := STRING\n"
5272 msgstr "Kus: NIMI := STRING\n"
5274 -#: ../iptunnel.c:90
5275 +#: ../iptunnel.c:91
5276 msgid " ADDR := { IP_ADDRESS | any }\n"
5277 msgstr " AADR := { IP_AADRESS | any }\n"
5279 -#: ../iptunnel.c:91
5280 +#: ../iptunnel.c:92
5281 msgid " TOS := { NUMBER | inherit }\n"
5282 msgstr " TOS := { ARV | inherit }\n"
5284 -#: ../iptunnel.c:92
5285 +#: ../iptunnel.c:93
5286 msgid " TTL := { 1..255 | inherit }\n"
5287 msgstr " TTL := { 1..255 | inherit }\n"
5289 -#: ../iptunnel.c:93
5290 +#: ../iptunnel.c:94
5291 msgid " KEY := { DOTTED_QUAD | NUMBER }\n"
5293 " KEY := { PUNKTIDEGA_ARVUNELIK | ARV }\n"
5294 " LIIDES := FÜÜSILISE_LIIDESE_NIMI\n"
5296 -#: ../iptunnel.c:331
5297 +#: ../iptunnel.c:332
5298 msgid "Keys are not allowed with ipip and sit.\n"
5299 msgstr "ipip ja sit juures ei ole võtmed lubatud\n"
5301 -#: ../iptunnel.c:351
5302 +#: ../iptunnel.c:352
5303 msgid "Broadcast tunnel requires a source address.\n"
5304 msgstr "Leviedastusega tunnel vajab lähteaadressi\n"
5306 -#: ../iptunnel.c:366
5307 +#: ../iptunnel.c:367
5308 msgid "ttl != 0 and noptmudisc are incompatible\n"
5309 msgstr "ttl != 0 ning noptmudisc ei sobi kokku\n"
5311 -#: ../iptunnel.c:378
5312 +#: ../iptunnel.c:379
5313 msgid "cannot determine tunnel mode (ipip, gre or sit)\n"
5314 msgstr "Ei suuda määrata tunneli moodi (ipip, gre või sit)\n"
5316 -#: ../iptunnel.c:416
5317 +#: ../iptunnel.c:417
5319 msgid "%s: %s/ip remote %s local %s "
5320 msgstr "%s: %s/ip teises otsas %s siin %s "
5322 -#: ../iptunnel.c:420
5323 +#: ../iptunnel.c:421
5327 -#: ../iptunnel.c:452
5328 +#: ../iptunnel.c:453
5329 msgid " Drop packets out of sequence.\n"
5330 msgstr " Järjekorravälised paketid visatakse minema\n"
5332 -#: ../iptunnel.c:454
5333 +#: ../iptunnel.c:455
5334 msgid " Checksum in received packet is required.\n"
5335 msgstr " Vastuvõetavates pakettides on kontrollsumma kohustuslik\n"
5337 -#: ../iptunnel.c:456
5338 +#: ../iptunnel.c:457
5339 msgid " Sequence packets on output.\n"
5340 msgstr " Väljuvad paketid varustatakse järjekorranumbritega\n"
5342 -#: ../iptunnel.c:458
5343 +#: ../iptunnel.c:459
5344 msgid " Checksum output packets.\n"
5345 msgstr " Väljuvad paketid varustatakse kontrollsummaga\n"
5347 -#: ../iptunnel.c:486
5348 +#: ../iptunnel.c:487
5349 msgid "Wrong format of /proc/net/dev. Sorry.\n"
5350 msgstr "/proc/net/dev on vales formaadis. Vale tuuma versioon?\n"
5352 -#: ../iptunnel.c:499
5353 +#: ../iptunnel.c:500
5355 msgid "Failed to get type of [%s]\n"
5356 msgstr "Ei suutnud kindlaks teha liidese %s tüüpi\n"
5358 -#: ../iptunnel.c:515
5359 +#: ../iptunnel.c:516
5360 msgid "RX: Packets Bytes Errors CsumErrs OutOfSeq Mcasts\n"
5361 msgstr "RX: Pakette Baite Vigu KSumVigu JrkVigu Levipakette\n"
5363 -#: ../iptunnel.c:518
5364 +#: ../iptunnel.c:519
5365 msgid "TX: Packets Bytes Errors DeadLoop NoRoute NoBufs\n"
5366 msgstr "TX: Pakette Baite Vigu DeadLoop EiRuudi MäluOtsas\n"
5368 @@ -1972,15 +1979,15 @@
5372 -#: ../lib/inet6_gr.c:79
5373 +#: ../lib/inet6_gr.c:71
5374 msgid "INET6 (IPv6) not configured in this system.\n"
5375 msgstr "INET6 (IPv6) pole antud süsteemis konfigureeritud\n"
5377 -#: ../lib/inet6_gr.c:82
5378 +#: ../lib/inet6_gr.c:74
5379 msgid "Kernel IPv6 routing table\n"
5380 msgstr "Tuuma IPv6 ruutingutabel\n"
5382 -#: ../lib/inet6_gr.c:84
5383 +#: ../lib/inet6_gr.c:76
5385 "Destination Next Hop "
5386 " Flags Metric Ref Use Iface\n"
5387 @@ -1988,11 +1995,11 @@
5388 "Sihtpunkt Järgmine samm "
5389 " Lipud Meetr Mitu Kasut Liides\n"
5391 -#: ../lib/inet6_gr.c:158
5392 +#: ../lib/inet6_gr.c:150
5393 msgid "Kernel IPv6 Neighbour Cache\n"
5394 msgstr "Tuuma IPv6 naabrite puhver\n"
5396 -#: ../lib/inet6_gr.c:161
5397 +#: ../lib/inet6_gr.c:153
5399 "Neighbour HW Address Iface Flags "
5401 @@ -2000,7 +2007,7 @@
5402 "Naaber HW Aadress Liides Lipud "
5405 -#: ../lib/inet6_gr.c:165
5406 +#: ../lib/inet6_gr.c:157
5408 "Neighbour HW Address Iface Flags "
5409 "Ref State Stale(sec) Delete(sec)\n"
5410 @@ -2538,29 +2545,29 @@
5411 msgid "ip: argument is wrong: %s\n"
5412 msgstr "iptunnel: vale argument %s\n"
5416 msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
5417 msgstr "Kasutamine: ipmaddr [ add | del ] MULTIAADR dev STRING\n"
5421 msgid " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
5422 msgstr " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
5426 msgid " ipmaddr -V | -version\n"
5427 msgstr " ipmaddr -V | -version\n"
5429 -#: ../ipmaddr.c:260
5430 +#: ../ipmaddr.c:263
5433 msgstr "perekond %d "
5435 -#: ../ipmaddr.c:269
5436 +#: ../ipmaddr.c:272
5439 msgstr " kasutajaid %d"
5441 -#: ../ipmaddr.c:355
5442 +#: ../ipmaddr.c:358
5443 msgid "Cannot create socket"
5444 msgstr "Ei saa avada soklit"
5446 --- net-tools-1.60/po/Makefile 1999-11-20 23:02:59.000000000 +0200
5447 +++ net-tools/po/Makefile 2005-05-16 06:21:58.000000000 +0300
5449 INSTALL_DATA= ${INSTALL} -m 644
5450 INSTALLNLSDIR=${BASEDIR}/usr/share/locale
5455 NLSPACKAGE = net-tools
5458 lang=`echo $$cat | sed 's/.mo//'`; \
5459 mv $$lang.po $$lang.old.po; \
5461 - if $(TUPDATE) $(NLSPACKAGE).pot $$lang.old.po > $$lang.po; then \
5462 + if $(TUPDATE) $$lang.old.po $(NLSPACKAGE).pot > $$lang.po; then \
5463 rm -f $$lang.old.po; \
5465 echo "tupdate for $$cat failed!"; \
5466 --- net-tools-1.60/po/net-tools.pot 2001-04-15 16:40:06.000000000 +0200
5467 +++ net-tools/po/net-tools.pot 2005-05-16 06:21:58.000000000 +0300
5469 # SOME DESCRIPTIVE TITLE.
5470 -# Copyright (C) YEAR Free Software Foundation, Inc.
5471 +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
5472 +# This file is distributed under the same license as the PACKAGE package.
5473 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5478 "Project-Id-Version: PACKAGE VERSION\n"
5479 -"POT-Creation-Date: 2001-04-15 15:40+0100\n"
5480 +"Report-Msgid-Bugs-To: \n"
5481 +"POT-Creation-Date: 2005-05-16 05:18+0200\n"
5482 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
5483 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
5484 "Language-Team: LANGUAGE <LL@li.org>\n"
5485 "MIME-Version: 1.0\n"
5486 "Content-Type: text/plain; charset=CHARSET\n"
5487 -"Content-Transfer-Encoding: ENCODING\n"
5488 +"Content-Transfer-Encoding: 8bit\n"
5490 -#: ../arp.c:111 ../arp.c:270
5491 +#: ../arp.c:111 ../arp.c:276
5493 msgid "arp: need host name\n"
5496 -#: ../arp.c:208 ../arp.c:222
5497 +#: ../arp.c:213 ../arp.c:228
5499 msgid "No ARP entry for %s\n"
5505 msgid "arp: cant get HW-Address for `%s': %s.\n"
5511 msgid "arp: protocol type mismatch.\n"
5517 msgid "arp: device `%s' has HW address %s `%s'.\n"
5523 msgid "arp: need hardware address\n"
5529 msgid "arp: invalid hardware address\n"
5535 msgid "arp: cannot open etherfile %s !\n"
5541 msgid "arp: format error on line %u of etherfile %s !\n"
5547 msgid "arp: cannot set entry on line %u of etherfile %s !\n"
5554 "Address HWtype HWaddress Flags Mask "
5560 +msgid "<from_interface>"
5564 msgid "(incomplete)"
5576 msgid "<incomplete> "
5594 msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
5600 msgid "%s (%s) -- no entry\n"
5606 msgid "arp: in %d entries no match found.\n"
5614 " arp [-vn] [<HW>] [-i <if>] [-a] [<hostname>] <-Display ARP "
5622 " arp [-v] [-i <if>] -d <hostname> [pub][nopub] <-Delete ARP "
5630 -" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
5631 +" arp [-vnD] [<HW>] [-i <if>] -f [<filename>] <-Add entry from "
5639 " arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [temp][nopub] <-Add "
5645 -" arp [-v] [<HW>] [-i <if>] -s <hostname> <hwaddr> [netmask <nm>] pub "
5653 " arp [-v] [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub "
5662 " -a display (all) hosts in alternative (BSD) "
5669 msgid " -s, --set set a new ARP entry\n"
5675 msgid " -d, --delete delete a specified entry\n"
5678 -#: ../arp.c:624 ../netstat.c:1490 ../route.c:86
5679 +#: ../arp.c:629 ../netstat.c:1503 ../route.c:86
5681 msgid " -v, --verbose be verbose\n"
5684 -#: ../arp.c:625 ../netstat.c:1491 ../route.c:87
5685 +#: ../arp.c:630 ../netstat.c:1504 ../route.c:87
5687 msgid " -n, --numeric don't resolve names\n"
5694 " -i, --device specify network interface (e.g. eth0)\n"
5700 msgid " -D, --use-device read <hwaddr> from given device\n"
5706 msgid " -A, -p, --protocol specify protocol family\n"
5713 -" -f, --file read new entries from file or from "
5715 +" -f, --file read new entries from file or from /etc/"
5720 -#: ../arp.c:631 ../rarp.c:182
5721 +#: ../arp.c:636 ../rarp.c:182
5723 msgid " <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
5726 -#: ../arp.c:632 ../rarp.c:183
5727 +#: ../arp.c:637 ../rarp.c:183
5729 msgid " List of possible hardware types (which support ARP):\n"
5732 -#: ../arp.c:666 ../arp.c:751
5733 +#: ../arp.c:671 ../arp.c:756
5735 msgid "%s: hardware type not supported!\n"
5741 msgid "%s: address family not supported!\n"
5747 msgid "arp: -N not yet supported.\n"
5753 msgid "arp: %s: unknown address family.\n"
5759 msgid "arp: %s: unknown hardware type.\n"
5765 msgid "arp: %s: kernel only supports 'inet'.\n"
5771 msgid "arp: %s: hardware type without ARP support.\n"
5774 -#: ../hostname.c:70
5775 +#: ../hostname.c:71
5777 msgid "Setting nodename to `%s'\n"
5780 -#: ../hostname.c:75
5781 +#: ../hostname.c:76
5783 msgid "%s: you must be root to change the node name\n"
5786 -#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
5787 +#: ../hostname.c:79 ../hostname.c:100 ../hostname.c:118
5789 msgid "%s: name too long\n"
5792 -#: ../hostname.c:90
5793 +#: ../hostname.c:92
5795 msgid "Setting hostname to `%s'\n"
5798 -#: ../hostname.c:95
5799 +#: ../hostname.c:97
5801 msgid "%s: you must be root to change the host name\n"
5804 -#: ../hostname.c:109
5805 +#: ../hostname.c:110
5807 msgid "Setting domainname to `%s'\n"
5810 -#: ../hostname.c:114
5811 +#: ../hostname.c:115
5813 msgid "%s: you must be root to change the domain name\n"
5815 @@ -282,83 +304,99 @@
5816 msgid "Result: h_addr_list=`%s'\n"
5819 -#: ../hostname.c:210
5820 +#: ../hostname.c:209
5822 msgid "%s: can't open `%s'\n"
5825 -#: ../hostname.c:224
5826 +#: ../hostname.c:223
5828 msgid "Usage: hostname [-v] {hostname|-F file} set hostname (from file)\n"
5831 -#: ../hostname.c:225
5832 +#: ../hostname.c:224
5835 " domainname [-v] {nisdomain|-F file} set NIS domainname (from file)\n"
5838 -#: ../hostname.c:227
5839 +#: ../hostname.c:226
5842 " nodename [-v] {nodename|-F file} set DECnet node name (from "
5846 -#: ../hostname.c:229
5847 +#: ../hostname.c:228
5849 msgid " hostname [-v] [-d|-f|-s|-a|-i|-y|-n] display formatted name\n"
5852 -#: ../hostname.c:230
5853 +#: ../hostname.c:229
5856 " hostname [-v] display hostname\n"
5860 -#: ../hostname.c:231
5861 +#: ../hostname.c:230
5864 " hostname -V|--version|-h|--help print info and exit\n"
5868 -#: ../hostname.c:232
5869 +#: ../hostname.c:231
5872 " dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
5876 -#: ../hostname.c:233
5877 +#: ../hostname.c:232
5879 msgid " -s, --short short host name\n"
5882 -#: ../hostname.c:234
5883 +#: ../hostname.c:233
5885 msgid " -a, --alias alias names\n"
5888 -#: ../hostname.c:235
5889 +#: ../hostname.c:234
5891 msgid " -i, --ip-address addresses for the hostname\n"
5894 -#: ../hostname.c:236
5895 +#: ../hostname.c:235
5897 msgid " -f, --fqdn, --long long host name (FQDN)\n"
5900 -#: ../hostname.c:237
5901 +#: ../hostname.c:236
5903 msgid " -d, --domain DNS domain name\n"
5906 -#: ../hostname.c:238
5907 +#: ../hostname.c:237
5909 msgid " -y, --yp, --nis NIS/YP domainname\n"
5912 -#: ../hostname.c:240
5913 +#: ../hostname.c:239
5915 msgid " -n, --node DECnet node name\n"
5918 -#: ../hostname.c:242
5919 +#: ../hostname.c:241
5922 " -F, --file read hostname or NIS domainname from given file\n"
5926 -#: ../hostname.c:244
5927 +#: ../hostname.c:243
5930 " This command can read or set the hostname or the NIS domainname. You can\n"
5931 " also read the DNS domain or the FQDN (fully qualified domain name).\n"
5932 @@ -373,12 +411,14 @@
5935 #: ../hostname.c:341
5939 "Unless you are using bind or NIS for host lookups you can change the DNS\n"
5942 #: ../hostname.c:342
5944 msgid "domain name (which is part of the FQDN) in the /etc/hosts file.\n"
5947 @@ -397,557 +437,697 @@
5948 msgid "getnodename()=`%s'\n"
5951 -#: ../ifconfig.c:108
5952 +#: ../ifconfig.c:107 ../netstat.c:1465
5955 -"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
5956 +"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
5960 -#: ../ifconfig.c:130 ../ifconfig.c:162
5961 +#: ../ifconfig.c:129 ../ifconfig.c:161
5963 -msgid "%s: unknown interface: %s\n"
5964 +msgid "%s: ERROR while getting interface flags: %s\n"
5967 -#: ../ifconfig.c:154 ../ifconfig.c:734 ../ifconfig.c:825 ../ifconfig.c:936
5968 +#: ../ifconfig.c:153 ../ifconfig.c:185 ../ifconfig.c:791 ../ifconfig.c:884
5969 +#: ../ifconfig.c:997
5971 msgid "No support for INET on this system.\n"
5974 -#: ../ifconfig.c:177
5975 +#: ../ifconfig.c:193
5977 +msgid "%s: ERROR while testing interface flags: %s\n"
5980 +#: ../ifconfig.c:202
5984 -" ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
5985 +" ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"
5988 -#: ../ifconfig.c:179
5989 +#: ../ifconfig.c:204
5991 msgid " [add <address>[/<prefixlen>]]\n"
5994 -#: ../ifconfig.c:180
5995 +#: ../ifconfig.c:205
5997 msgid " [del <address>[/<prefixlen>]]\n"
6000 -#: ../ifconfig.c:181
6001 +#: ../ifconfig.c:206
6003 msgid " [[-]broadcast [<address>]] [[-]pointopoint [<address>]]\n"
6006 -#: ../ifconfig.c:182
6007 +#: ../ifconfig.c:207
6009 msgid " [netmask <address>] [dstaddr <address>] [tunnel <address>]\n"
6012 -#: ../ifconfig.c:185
6013 +#: ../ifconfig.c:210
6015 msgid " [outfill <NN>] [keepalive <NN>]\n"
6018 -#: ../ifconfig.c:187
6019 +#: ../ifconfig.c:212
6021 msgid " [hw <HW> <address>] [metric <NN>] [mtu <NN>]\n"
6024 -#: ../ifconfig.c:188
6025 +#: ../ifconfig.c:213
6027 msgid " [[-]trailers] [[-]arp] [[-]allmulti]\n"
6030 -#: ../ifconfig.c:189
6031 +#: ../ifconfig.c:214
6033 msgid " [multicast] [[-]promisc]\n"
6036 -#: ../ifconfig.c:190
6037 +#: ../ifconfig.c:215
6039 msgid " [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]\n"
6042 -#: ../ifconfig.c:192
6043 +#: ../ifconfig.c:217
6045 msgid " [txqueuelen <NN>]\n"
6048 -#: ../ifconfig.c:195
6049 +#: ../ifconfig.c:220
6051 msgid " [[-]dynamic]\n"
6054 -#: ../ifconfig.c:197
6055 +#: ../ifconfig.c:222
6062 -#: ../ifconfig.c:199
6063 +#: ../ifconfig.c:224
6065 msgid " <HW>=Hardware Type.\n"
6068 -#: ../ifconfig.c:200
6069 +#: ../ifconfig.c:225
6071 msgid " List of possible hardware types:\n"
6075 -#: ../ifconfig.c:202
6076 +#: ../ifconfig.c:227
6078 msgid " <AF>=Address family. Default: %s\n"
6081 -#: ../ifconfig.c:203
6082 +#: ../ifconfig.c:228
6084 msgid " List of possible address families:\n"
6087 -#: ../ifconfig.c:278
6088 +#: ../ifconfig.c:304
6090 msgid "ifconfig: option `%s' not recognised.\n"
6093 -#: ../ifconfig.c:280 ../ifconfig.c:925
6094 +#: ../ifconfig.c:306 ../ifconfig.c:987
6096 msgid "ifconfig: `--help' gives usage information.\n"
6099 -#: ../ifconfig.c:355
6100 +#: ../ifconfig.c:381
6102 msgid "Unknown media type.\n"
6105 -#: ../ifconfig.c:647
6106 +#: ../ifconfig.c:418
6109 +"Warning: Interface %s still in promisc mode... maybe other application is "
6113 +#: ../ifconfig.c:430
6115 +msgid "Warning: Interface %s still in MULTICAST mode.\n"
6118 +#: ../ifconfig.c:442
6120 +msgid "Warning: Interface %s still in ALLMULTI mode.\n"
6123 +#: ../ifconfig.c:466
6125 +msgid "Warning: Interface %s still in DYNAMIC mode.\n"
6128 +#: ../ifconfig.c:524
6130 +msgid "Warning: Interface %s still in BROADCAST mode.\n"
6133 +#: ../ifconfig.c:535
6135 +msgid "ifconfig: Error resolving '%s' for broadcast\n"
6138 +#: ../ifconfig.c:560
6140 +msgid "ifconfig: Error resolving '%s' for dstaddr\n"
6143 +#: ../ifconfig.c:583
6145 +msgid "ifconfig: Error resolving '%s' for netmask\n"
6148 +#: ../ifconfig.c:662
6150 +msgid "Warning: Interface %s still in POINTOPOINT mode.\n"
6153 +#: ../ifconfig.c:673
6155 +msgid "ifconfig: Error resolving '%s' for pointopoint\n"
6158 +#: ../ifconfig.c:697
6160 msgid "hw address type `%s' has no handler to set address. failed.\n"
6163 -#: ../ifconfig.c:656
6164 +#: ../ifconfig.c:706
6166 msgid "%s: invalid %s address.\n"
6169 -#: ../ifconfig.c:700 ../ifconfig.c:790 ../ifconfig.c:876
6170 +#: ../ifconfig.c:746
6172 +msgid "ifconfig: Error resolving '%s' for add\n"
6175 +#: ../ifconfig.c:757 ../ifconfig.c:847 ../ifconfig.c:935
6177 msgid "No support for INET6 on this system.\n"
6180 -#: ../ifconfig.c:743 ../ifconfig.c:834
6181 +#: ../ifconfig.c:800 ../ifconfig.c:893
6183 msgid "Interface %s not initialized\n"
6186 -#: ../ifconfig.c:755 ../ifconfig.c:845
6187 +#: ../ifconfig.c:812 ../ifconfig.c:904
6189 msgid "Bad address.\n"
6192 -#: ../ifconfig.c:848
6193 +#: ../ifconfig.c:907
6195 msgid "Address deletion not supported on this system.\n"
6198 -#: ../ifconfig.c:920
6199 +#: ../ifconfig.c:979
6201 msgid "ifconfig: Cannot set address for this protocol family.\n"
6204 -#: ../ifconfig.c:946
6205 +#: ../ifconfig.c:986
6207 +msgid "ifconfig: error resolving '%s' to set address for af=%s\n"
6210 +#: ../ifconfig.c:1007
6212 msgid "No support for ECONET on this system.\n"
6215 -#: ../ifconfig.c:954
6216 +#: ../ifconfig.c:1015
6218 msgid "Don't know how to set addresses for family %d.\n"
6221 -#: ../netstat.c:430
6222 +#: ../ifconfig.c:1050
6224 +msgid "WARNING: at least one error occured. (%d)\n"
6227 +#: ../netstat.c:434
6230 "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
6233 -#: ../netstat.c:434
6234 +#: ../netstat.c:438
6237 "(Not all processes could be identified, non-owned process info\n"
6238 " will not be shown, you would have to be root to see it all.)\n"
6241 -#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
6242 +#: ../netstat.c:445 ../netstat.c:1189 ../netstat.c:1266
6246 -#: ../netstat.c:442
6247 +#: ../netstat.c:446
6251 -#: ../netstat.c:443 ../netstat.c:1255
6252 +#: ../netstat.c:447 ../netstat.c:1268
6256 -#: ../netstat.c:444 ../netstat.c:511 ../netstat.c:894 ../netstat.c:1256
6257 +#: ../netstat.c:448 ../netstat.c:515 ../netstat.c:904 ../netstat.c:1269
6261 -#: ../netstat.c:466
6262 +#: ../netstat.c:470
6264 msgid "Active NET/ROM sockets\n"
6267 -#: ../netstat.c:467
6268 +#: ../netstat.c:471
6271 -"User Dest Source Device State Vr/Vs Send-Q "
6273 +"User Dest Source Device State Vr/Vs Send-Q Recv-"
6277 -#: ../netstat.c:477 ../netstat.c:1295
6278 +#: ../netstat.c:481 ../netstat.c:1308
6280 msgid "Problem reading data from %s\n"
6283 -#: ../netstat.c:512
6284 +#: ../netstat.c:516
6288 -#: ../netstat.c:513
6289 +#: ../netstat.c:517
6293 -#: ../netstat.c:514
6294 +#: ../netstat.c:518
6298 -#: ../netstat.c:515
6299 +#: ../netstat.c:519
6303 -#: ../netstat.c:516
6304 +#: ../netstat.c:520
6308 -#: ../netstat.c:517
6309 +#: ../netstat.c:521
6313 -#: ../netstat.c:518
6314 +#: ../netstat.c:522
6318 -#: ../netstat.c:519
6319 +#: ../netstat.c:523
6323 -#: ../netstat.c:520
6324 +#: ../netstat.c:524
6328 -#: ../netstat.c:521
6329 +#: ../netstat.c:525
6333 -#: ../netstat.c:592
6334 +#: ../netstat.c:596
6336 msgid "warning, got bogus igmp6 line %d.\n"
6339 -#: ../netstat.c:597 ../netstat.c:635 ../netstat.c:756 ../netstat.c:888
6340 -#: ../netstat.c:1019 ../netstat.c:1024
6341 +#: ../netstat.c:601 ../netstat.c:639 ../netstat.c:763 ../netstat.c:898
6342 +#: ../netstat.c:1032 ../netstat.c:1037
6344 msgid "netstat: unsupported address family %d !\n"
6347 -#: ../netstat.c:610 ../netstat.c:615 ../netstat.c:623 ../netstat.c:630
6348 +#: ../netstat.c:614 ../netstat.c:619 ../netstat.c:627 ../netstat.c:634
6350 msgid "warning, got bogus igmp line %d.\n"
6353 -#: ../netstat.c:673
6354 +#: ../netstat.c:677
6356 msgid "Active X.25 sockets\n"
6359 #. IMHO, Vr/Vs is not very usefull --SF
6360 -#: ../netstat.c:675
6361 +#: ../netstat.c:679
6364 -"Dest Source Device LCI State Vr/Vs Send-Q "
6366 +"Dest Source Device LCI State Vr/Vs Send-Q Recv-"
6370 -#: ../netstat.c:752
6371 +#: ../netstat.c:759
6373 msgid "warning, got bogus tcp line.\n"
6376 -#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
6377 +#: ../netstat.c:800 ../netstat.c:953 ../netstat.c:1075
6379 msgid "off (0.00/%ld/%d)"
6382 -#: ../netstat.c:797
6383 +#: ../netstat.c:804
6385 msgid "on (%2.2f/%ld/%d)"
6388 -#: ../netstat.c:802
6389 +#: ../netstat.c:809
6391 msgid "keepalive (%2.2f/%ld/%d)"
6394 -#: ../netstat.c:807
6395 +#: ../netstat.c:814
6397 msgid "timewait (%2.2f/%ld/%d)"
6400 -#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
6401 +#: ../netstat.c:819 ../netstat.c:962 ../netstat.c:1085
6403 msgid "unkn-%d (%2.2f/%ld/%d)"
6406 -#: ../netstat.c:884
6407 +#: ../netstat.c:894
6409 msgid "warning, got bogus udp line.\n"
6412 -#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
6413 +#: ../netstat.c:912 ../netstat.c:1175 ../netstat.c:1208
6417 -#: ../netstat.c:948 ../netstat.c:1067
6418 +#: ../netstat.c:958 ../netstat.c:1080
6420 msgid "on%d (%2.2f/%ld/%d)"
6423 -#: ../netstat.c:1033
6424 +#: ../netstat.c:1046
6426 msgid "warning, got bogus raw line.\n"
6429 -#: ../netstat.c:1115
6430 +#: ../netstat.c:1128
6432 msgid "warning, got bogus unix line.\n"
6435 -#: ../netstat.c:1142
6436 +#: ../netstat.c:1155
6440 -#: ../netstat.c:1146
6441 +#: ../netstat.c:1159
6445 -#: ../netstat.c:1150
6446 +#: ../netstat.c:1163
6450 -#: ../netstat.c:1154
6451 +#: ../netstat.c:1167
6455 -#: ../netstat.c:1158
6456 +#: ../netstat.c:1171
6460 -#: ../netstat.c:1167
6461 +#: ../netstat.c:1180
6465 -#: ../netstat.c:1183
6466 +#: ../netstat.c:1196
6470 -#: ../netstat.c:1187
6471 +#: ../netstat.c:1200
6475 -#: ../netstat.c:1191
6476 +#: ../netstat.c:1204
6477 msgid "DISCONNECTING"
6480 -#: ../netstat.c:1222
6481 +#: ../netstat.c:1235
6483 msgid "Active UNIX domain sockets "
6486 -#: ../netstat.c:1224 ../netstat.c:1735
6487 +#: ../netstat.c:1237 ../netstat.c:1756
6489 msgid "(servers and established)"
6492 -#: ../netstat.c:1227 ../netstat.c:1738
6493 +#: ../netstat.c:1240 ../netstat.c:1759
6495 msgid "(only servers)"
6498 -#: ../netstat.c:1229 ../netstat.c:1740
6499 +#: ../netstat.c:1242 ../netstat.c:1761
6501 msgid "(w/o servers)"
6504 -#: ../netstat.c:1232
6505 +#: ../netstat.c:1245
6509 "Proto RefCnt Flags Type State I-Node"
6512 -#: ../netstat.c:1234
6513 +#: ../netstat.c:1247
6518 -#: ../netstat.c:1254
6519 +#: ../netstat.c:1267
6523 -#: ../netstat.c:1257
6524 +#: ../netstat.c:1270
6528 -#: ../netstat.c:1271
6529 +#: ../netstat.c:1284
6531 msgid "Active AX.25 sockets\n"
6534 -#: ../netstat.c:1272
6535 +#: ../netstat.c:1285
6537 msgid "Dest Source Device State Vr/Vs Send-Q Recv-Q\n"
6540 -#: ../netstat.c:1315
6541 +#: ../netstat.c:1328
6543 msgid "problem reading data from %s\n"
6546 -#: ../netstat.c:1366
6547 +#: ../netstat.c:1379
6550 "Active IPX sockets\n"
6551 "Proto Recv-Q Send-Q Local Address Foreign Address "
6555 -#: ../netstat.c:1368
6556 +#: ../netstat.c:1381
6561 -#: ../netstat.c:1402
6562 +#: ../netstat.c:1415
6566 -#: ../netstat.c:1410
6567 +#: ../netstat.c:1423
6571 -#: ../netstat.c:1448
6572 +#: ../netstat.c:1461
6574 msgid "Kernel Interface table\n"
6577 -#: ../netstat.c:1452
6579 -"Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR "
6583 -#: ../netstat.c:1456
6584 +#: ../netstat.c:1469
6585 msgid "missing interface information"
6588 -#: ../netstat.c:1479
6589 +#: ../netstat.c:1492
6592 -"usage: netstat [-veenNcCF] [<Af>] -r netstat "
6593 -"{-V|--version|-h|--help}\n"
6594 +"usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--"
6598 -#: ../netstat.c:1480
6599 +#: ../netstat.c:1493
6601 msgid " netstat [-vnNcaeol] [<Socket> ...]\n"
6604 -#: ../netstat.c:1481
6605 +#: ../netstat.c:1494
6608 " netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
6612 -#: ../netstat.c:1483
6613 +#: ../netstat.c:1496
6615 msgid " -r, --route display routing table\n"
6618 -#: ../netstat.c:1484
6619 +#: ../netstat.c:1497
6621 msgid " -i, --interfaces display interface table\n"
6624 -#: ../netstat.c:1485
6625 +#: ../netstat.c:1498
6627 msgid " -g, --groups display multicast group memberships\n"
6630 -#: ../netstat.c:1486
6631 +#: ../netstat.c:1499
6634 " -s, --statistics display networking statistics (like SNMP)\n"
6637 -#: ../netstat.c:1488
6638 +#: ../netstat.c:1501
6641 " -M, --masquerade display masqueraded connections\n"
6645 -#: ../netstat.c:1492
6646 +#: ../netstat.c:1505
6648 msgid " --numeric-hosts don't resolve host names\n"
6651 -#: ../netstat.c:1493
6652 +#: ../netstat.c:1506
6654 msgid " --numeric-ports don't resolve port names\n"
6657 -#: ../netstat.c:1494
6658 +#: ../netstat.c:1507
6660 msgid " --numeric-users don't resolve user names\n"
6663 -#: ../netstat.c:1495
6664 +#: ../netstat.c:1508
6666 msgid " -N, --symbolic resolve hardware names\n"
6669 -#: ../netstat.c:1496 ../route.c:88
6670 +#: ../netstat.c:1509 ../route.c:88
6672 msgid " -e, --extend display other/more information\n"
6675 -#: ../netstat.c:1497
6676 +#: ../netstat.c:1510
6678 msgid " -p, --programs display PID/Program name for sockets\n"
6681 -#: ../netstat.c:1498
6682 +#: ../netstat.c:1511
6685 " -c, --continuous continuous listing\n"
6689 -#: ../netstat.c:1499
6690 +#: ../netstat.c:1512
6692 msgid " -l, --listening display listening server sockets\n"
6695 -#: ../netstat.c:1500
6696 +#: ../netstat.c:1513
6699 " -a, --all, --listening display all sockets (default: connected)\n"
6702 -#: ../netstat.c:1501
6703 +#: ../netstat.c:1514
6705 msgid " -o, --timers display timers\n"
6708 -#: ../netstat.c:1502 ../route.c:89
6709 +#: ../netstat.c:1515 ../route.c:89
6712 " -F, --fib display Forwarding Information Base "
6716 -#: ../netstat.c:1503 ../route.c:90
6717 +#: ../netstat.c:1516 ../route.c:90
6720 " -C, --cache display routing cache instead of FIB\n"
6724 -#: ../netstat.c:1505
6725 +#: ../netstat.c:1518
6728 -" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
6730 +" <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --"
6734 -#: ../netstat.c:1506 ../route.c:92
6735 +#: ../netstat.c:1519
6737 -msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
6738 +msgid " <AF>=Use '-6|-4' or '-A <af>' or '--<af>'; default: %s\n"
6741 -#: ../netstat.c:1507 ../route.c:93
6742 +#: ../netstat.c:1520 ../route.c:93
6744 msgid " List of possible address families (which support routing):\n"
6747 -#: ../netstat.c:1732
6748 +#: ../netstat.c:1753
6750 msgid "Active Internet connections "
6753 -#: ../netstat.c:1742
6754 +#: ../netstat.c:1763
6758 -"Proto Recv-Q Send-Q Local Address Foreign Address State "
6760 +"Proto Recv-Q Send-Q Local Address Foreign Address "
6764 -#: ../netstat.c:1744
6765 +#: ../netstat.c:1765
6767 msgid " User Inode "
6770 -#: ../netstat.c:1747
6771 +#: ../netstat.c:1768
6776 -#: ../netstat.c:1777
6777 +#: ../netstat.c:1798
6779 msgid "IPv4 Group Memberships\n"
6782 -#: ../netstat.c:1778
6783 +#: ../netstat.c:1799
6785 msgid "Interface RefCnt Group\n"
6788 @@ -986,23 +1166,28 @@
6793 msgid "Usage: rarp -a list entries in cache.\n"
6798 msgid " rarp -d <hostname> delete entry from cache.\n"
6803 msgid " rarp [<HW>] -s <hostname> <hwaddr> add entry to cache.\n"
6809 " rarp -f add entries from /etc/ethers.\n"
6815 " rarp -V display program version.\n"
6817 @@ -1019,38 +1204,50 @@
6823 "Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables\n"
6829 " route [-v] [-FC] {add|del|flush} ... Modify routing table for AF.\n"
6836 " route {-h|--help} [<AF>] Detailed usage syntax for "
6843 " route {-V|--version} Display version/author and "
6850 +msgid " <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
6853 #: ../plipconfig.c:66
6855 msgid "Usage: plipconfig [-a] [-i] [-v] interface\n"
6858 #: ../plipconfig.c:67
6860 msgid " [nibble NN] [trigger NN]\n"
6863 #: ../plipconfig.c:68
6865 msgid " plipconfig -V | --version\n"
6868 @@ -1060,61 +1257,75 @@
6873 msgid "Usage: iptunnel { add | change | del | show } [ NAME ]\n"
6879 " [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
6884 msgid " [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
6889 msgid " [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev PHYS_DEV ]\n"
6895 " iptunnel -V | --version\n"
6901 msgid "Where: NAME := STRING\n"
6906 msgid " ADDR := { IP_ADDRESS | any }\n"
6911 msgid " TOS := { NUMBER | inherit }\n"
6916 msgid " TTL := { 1..255 | inherit }\n"
6921 msgid " KEY := { DOTTED_QUAD | NUMBER }\n"
6924 #: ../iptunnel.c:332
6926 msgid "Keys are not allowed with ipip and sit.\n"
6929 #: ../iptunnel.c:352
6931 msgid "Broadcast tunnel requires a source address.\n"
6934 #: ../iptunnel.c:367
6936 msgid "ttl != 0 and noptmudisc are incompatible\n"
6939 #: ../iptunnel.c:379
6941 msgid "cannot determine tunnel mode (ipip, gre or sit)\n"
6944 @@ -1128,22 +1339,27 @@
6947 #: ../iptunnel.c:453
6949 msgid " Drop packets out of sequence.\n"
6952 #: ../iptunnel.c:455
6954 msgid " Checksum in received packet is required.\n"
6957 #: ../iptunnel.c:457
6959 msgid " Sequence packets on output.\n"
6962 #: ../iptunnel.c:459
6964 msgid " Checksum output packets.\n"
6967 #: ../iptunnel.c:487
6969 msgid "Wrong format of /proc/net/dev. Sorry.\n"
6972 @@ -1153,10 +1369,12 @@
6975 #: ../iptunnel.c:516
6977 msgid "RX: Packets Bytes Errors CsumErrs OutOfSeq Mcasts\n"
6980 #: ../iptunnel.c:519
6982 msgid "TX: Packets Bytes Errors DeadLoop NoRoute NoBufs\n"
6985 @@ -1323,287 +1541,487 @@
6987 #: ../statistics.c:99
6989 -msgid "address mask request: %u"
6990 +msgid "address mask request: %u"
6994 +#: ../statistics.c:100 ../statistics.c:113
6996 +msgid "address mask replies: %u"
7000 +#: ../statistics.c:101
7002 +msgid "%u ICMP messages sent"
7005 +#: ../statistics.c:102
7007 +msgid "%u ICMP messages failed"
7010 +#: ../statistics.c:104
7012 +msgid "time exceeded: %u"
7016 +#: ../statistics.c:106
7018 +msgid "source quench: %u"
7021 +#: ../statistics.c:107
7023 +msgid "redirect: %u"
7026 +#: ../statistics.c:108
7028 +msgid "echo request: %u"
7031 +#: ../statistics.c:110
7033 +msgid "timestamp requests: %u"
7036 +#: ../statistics.c:111
7038 +msgid "timestamp replies: %u"
7041 +#: ../statistics.c:112
7043 +msgid "address mask requests: %u"
7046 +#: ../statistics.c:118
7048 +msgid "RTO algorithm is %s"
7051 +#: ../statistics.c:122
7053 +msgid "%u active connections openings"
7056 +#: ../statistics.c:123
7058 +msgid "%u passive connection openings"
7061 +#: ../statistics.c:124
7063 +msgid "%u failed connection attempts"
7066 +#: ../statistics.c:125
7068 +msgid "%u connection resets received"
7071 +#: ../statistics.c:126
7073 +msgid "%u connections established"
7076 +#: ../statistics.c:127
7078 +msgid "%u segments received"
7081 +#: ../statistics.c:128
7083 +msgid "%u segments send out"
7086 +#: ../statistics.c:129
7088 +msgid "%u segments retransmited"
7091 +#: ../statistics.c:130
7093 +msgid "%u bad segments received."
7096 +#: ../statistics.c:131
7098 +msgid "%u resets sent"
7101 +#: ../statistics.c:136
7103 +msgid "%u packets received"
7106 +#: ../statistics.c:137
7108 +msgid "%u packets to unknown port received."
7111 +#: ../statistics.c:138
7113 +msgid "%u packet receive errors"
7116 +#: ../statistics.c:139
7118 +msgid "%u packets sent"
7121 +#: ../statistics.c:144
7123 +msgid "%u SYN cookies sent"
7126 +#: ../statistics.c:145
7128 +msgid "%u SYN cookies received"
7131 +#: ../statistics.c:146
7133 +msgid "%u invalid SYN cookies received"
7136 +#: ../statistics.c:148
7138 +msgid "%u resets received for embryonic SYN_RECV sockets"
7141 +#: ../statistics.c:150
7143 +msgid "%u packets pruned from receive queue because of socket buffer overrun"
7146 +#. obsolete: 2.2.0 doesn't do that anymore
7147 +#: ../statistics.c:153
7149 +msgid "%u packets pruned from receive queue"
7152 +#: ../statistics.c:154
7155 +"%u packets dropped from out-of-order queue because of socket buffer overrun"
7158 +#: ../statistics.c:156
7160 +msgid "%u ICMP packets dropped because they were out-of-window"
7163 +#: ../statistics.c:158
7165 +msgid "%u ICMP packets dropped because socket was locked"
7168 +#: ../statistics.c:160
7170 +msgid "%u TCP sockets finished time wait in fast timer"
7173 +#: ../statistics.c:161
7175 +msgid "%u time wait sockets recycled by time stamp"
7178 +#: ../statistics.c:162
7180 +msgid "%u TCP sockets finished time wait in slow timer"
7183 +#: ../statistics.c:163
7185 +msgid "%u passive connections rejected because of time stamp"
7188 +#: ../statistics.c:165
7190 +msgid "%u active connections rejected because of time stamp"
7193 +#: ../statistics.c:167
7195 +msgid "%u packets rejects in established connections because of timestamp"
7199 -#: ../statistics.c:100 ../statistics.c:113
7200 +#: ../statistics.c:169
7202 -msgid "address mask replies: %u"
7203 +msgid "%u delayed acks sent"
7207 -#: ../statistics.c:101
7208 +#: ../statistics.c:170
7210 -msgid "%u ICMP messages sent"
7211 +msgid "%u delayed acks further delayed because of locked socket"
7214 -#: ../statistics.c:102
7215 +#: ../statistics.c:172
7217 -msgid "%u ICMP messages failed"
7218 +msgid "Quick ack mode was activated %u times"
7221 -#: ../statistics.c:104
7222 +#: ../statistics.c:173
7224 -msgid "time exceeded: %u"
7225 +msgid "%u times the listen queue of a socket overflowed"
7229 -#: ../statistics.c:106
7230 +#: ../statistics.c:175
7232 -msgid "source quench: %u"
7233 +msgid "%u SYNs to LISTEN sockets dropped"
7236 -#: ../statistics.c:107
7237 +#: ../statistics.c:176
7239 -msgid "redirect: %u"
7240 +msgid "%u packets directly queued to recvmsg prequeue."
7243 -#: ../statistics.c:108
7244 +#: ../statistics.c:178
7246 -msgid "echo request: %u"
7247 +msgid "%u bytes directly in process context from backlog"
7250 -#: ../statistics.c:110
7251 +#: ../statistics.c:179
7253 -msgid "timestamp requests: %u"
7254 +msgid "%u bytes directly received in process context from prequeue"
7257 -#: ../statistics.c:111
7258 +#: ../statistics.c:181
7260 -msgid "timestamp replies: %u"
7261 +msgid "%u packets dropped from prequeue"
7264 -#: ../statistics.c:112
7265 +#: ../statistics.c:182
7267 -msgid "address mask requests: %u"
7268 +msgid "%u packet headers predicted"
7271 -#: ../statistics.c:118
7272 +#: ../statistics.c:183
7274 -msgid "RTO algorithm is %s"
7275 +msgid "%u packets header predicted and directly queued to user"
7278 -#: ../statistics.c:122
7279 +#: ../statistics.c:185
7281 -msgid "%u active connections openings"
7282 +msgid "Ran %u times out of system memory during packet sending"
7285 -#: ../statistics.c:123
7286 +#: ../statistics.c:187
7288 -msgid "%u passive connection openings"
7289 +msgid "%u acknowledgments not containing data payload received"
7292 -#: ../statistics.c:124
7293 +#: ../statistics.c:188
7295 -msgid "%u failed connection attempts"
7296 +msgid "%u predicted acknowledgments"
7299 -#: ../statistics.c:125
7300 +#: ../statistics.c:189
7302 -msgid "%u connection resets received"
7303 +msgid "%u times recovered from packet loss due to fast retransmit"
7306 -#: ../statistics.c:126
7307 +#: ../statistics.c:190
7309 -msgid "%u connections established"
7310 +msgid "%u times recovered from packet loss by selective acknowledgements"
7313 -#: ../statistics.c:127
7314 +#: ../statistics.c:191
7316 -msgid "%u segments received"
7317 +msgid "%u bad SACK blocks received"
7320 -#: ../statistics.c:128
7321 +#: ../statistics.c:192
7323 -msgid "%u segments send out"
7324 +msgid "Detected reordering %u times using FACK"
7327 -#: ../statistics.c:129
7328 +#: ../statistics.c:193
7330 -msgid "%u segments retransmited"
7331 +msgid "Detected reordering %u times using SACK"
7334 -#: ../statistics.c:130
7335 +#: ../statistics.c:194
7337 -msgid "%u bad segments received."
7338 +msgid "Detected reordering %u times using time stamp"
7341 -#: ../statistics.c:131
7342 +#: ../statistics.c:195
7344 -msgid "%u resets sent"
7345 +msgid "Detected reordering %u times using reno fast retransmit"
7348 -#: ../statistics.c:136
7349 +#: ../statistics.c:196
7351 -msgid "%u packets received"
7352 +msgid "%u congestion windows fully recovered without slow start"
7355 -#: ../statistics.c:137
7356 +#: ../statistics.c:197
7358 -msgid "%u packets to unknown port received."
7359 +msgid "%u congestion windows partially recovered using Hoe heuristic"
7362 -#: ../statistics.c:138
7363 +#: ../statistics.c:198
7365 -msgid "%u packet receive errors"
7366 +msgid "%u congestion window recovered without slow start using DSACK"
7369 -#: ../statistics.c:139
7370 +#: ../statistics.c:199
7372 -msgid "%u packets sent"
7373 +msgid "%u congestion windows recovered without slow start after partial ack"
7376 -#: ../statistics.c:144
7377 +#: ../statistics.c:200
7379 -msgid "%u SYN cookies sent"
7380 +msgid "%u retransmits lost"
7383 -#: ../statistics.c:145
7384 +#: ../statistics.c:201
7386 -msgid "%u SYN cookies received"
7387 +msgid "%u timeouts after reno fast retransmit"
7390 -#: ../statistics.c:146
7391 +#: ../statistics.c:202
7393 -msgid "%u invalid SYN cookies received"
7394 +msgid "%u timeouts after SACK recovery"
7397 -#: ../statistics.c:148
7398 +#: ../statistics.c:203
7400 -msgid "%u resets received for embryonic SYN_RECV sockets"
7401 +msgid "%u timeouts in loss state"
7404 -#: ../statistics.c:150
7405 +#: ../statistics.c:204
7407 -msgid "%u packets pruned from receive queue because of socket buffer overrun"
7408 +msgid "%u fast retransmits"
7411 -#. obsolete: 2.2.0 doesn't do that anymore
7412 -#: ../statistics.c:153
7413 +#: ../statistics.c:205
7415 -msgid "%u packets pruned from receive queue"
7416 +msgid "%u forward retransmits"
7419 -#: ../statistics.c:154
7420 +#: ../statistics.c:206
7423 -"%u packets dropped from out-of-order queue because of socket buffer overrun"
7424 +msgid "%u retransmits in slow start"
7427 -#: ../statistics.c:156
7428 +#: ../statistics.c:207
7430 -msgid "%u ICMP packets dropped because they were out-of-window"
7431 +msgid "%u other TCP timeouts"
7434 -#: ../statistics.c:158
7435 +#: ../statistics.c:208
7437 -msgid "%u ICMP packets dropped because socket was locked"
7438 +msgid "%u reno fast retransmits failed"
7441 -#: ../statistics.c:160
7442 +#: ../statistics.c:209
7444 -msgid "%u TCP sockets finished time wait in fast timer"
7445 +msgid "%u SACK retransmits failed"
7448 -#: ../statistics.c:161
7449 +#: ../statistics.c:210
7451 -msgid "%u time wait sockets recycled by time stamp"
7452 +msgid "%u times receiver scheduled too late for direct processing"
7455 -#: ../statistics.c:162
7456 +#: ../statistics.c:211
7458 -msgid "%u TCP sockets finished time wait in slow timer"
7459 +msgid "%u packets collapsed in receive queue due to low socket buffer"
7462 -#: ../statistics.c:163
7463 +#: ../statistics.c:212
7465 -msgid "%u passive connections rejected because of time stamp"
7466 +msgid "%u DSACKs sent for old packets"
7469 -#: ../statistics.c:165
7470 +#: ../statistics.c:213
7472 -msgid "%u active connections rejected because of time stamp"
7473 +msgid "%u DSACKs sent for out of order packets"
7476 -#: ../statistics.c:167
7477 +#: ../statistics.c:214
7479 -msgid "%u packets rejects in established connections because of timestamp"
7480 +msgid "%u DSACKs received"
7483 -#: ../statistics.c:169
7484 +#: ../statistics.c:215
7486 -msgid "%u delayed acks sent"
7487 +msgid "%u DSACKs for out of order packets received"
7490 -#: ../statistics.c:170
7491 +#: ../statistics.c:216
7493 -msgid "%u delayed acks further delayed because of locked socket"
7494 +msgid "%u connections reset due to unexpected SYN"
7497 -#: ../statistics.c:172
7498 +#: ../statistics.c:217
7500 -msgid "Quick ack mode was activated %u times"
7501 +msgid "%u connections reset due to unexpected data"
7504 -#: ../statistics.c:173
7505 +#: ../statistics.c:218
7507 -msgid "%u times the listen queue of a socket overflowed"
7508 +msgid "%u connections reset due to early user close"
7511 -#: ../statistics.c:175
7512 +#: ../statistics.c:219
7514 -msgid "%u SYNs to LISTEN sockets ignored"
7515 +msgid "%u connections aborted due to memory pressure"
7518 -#: ../statistics.c:176
7519 +#: ../statistics.c:220
7521 -msgid "%u packets directly queued to recvmsg prequeue."
7522 +msgid "%u connections aborted due to timeout"
7525 -#: ../statistics.c:178
7526 +#: ../statistics.c:221
7528 -msgid "%u packets directly received from backlog"
7529 +msgid "%u connections aborted after user close in linger timeout"
7532 -#: ../statistics.c:180
7533 +#: ../statistics.c:222
7535 -msgid "%u packets directly received from prequeue"
7536 +msgid "%u times unabled to send RST due to no memory"
7539 -#: ../statistics.c:182
7540 +#: ../statistics.c:223
7542 -msgid "%u packets dropped from prequeue"
7543 +msgid "TCP ran low on memory %u times"
7546 -#: ../statistics.c:183
7547 +#: ../statistics.c:224
7549 -msgid "%u packets header predicted"
7550 +msgid "%u TCP data loss events"
7553 -#: ../statistics.c:184
7554 +#: ../statistics.c:225
7556 -msgid "%u packets header predicted and directly queued to user"
7557 +msgid "%u congestion windows recovered without slow start by DSACK"
7560 -#: ../statistics.c:186
7561 +#: ../statistics.c:227
7563 -msgid "Ran %u times out of system memory during packet sending"
7564 +msgid "%u classic Reno fast retransmits failed"
7567 -#: ../statistics.c:253
7568 +#: ../statistics.c:294
7572 -#: ../statistics.c:253
7573 +#: ../statistics.c:294
7577 -#: ../statistics.c:336
7578 +#: ../statistics.c:377
7579 msgid "error parsing /proc/net/snmp"
7582 -#: ../statistics.c:349
7583 +#: ../statistics.c:390
7584 msgid "cannot open /proc/net/snmp"
7587 @@ -1617,7 +2035,7 @@
7588 msgid "Cannot change line discipline to `%s'.\n"
7591 -#: ../lib/af.c:153 ../lib/hw.c:156
7592 +#: ../lib/af.c:153 ../lib/hw.c:161
7596 @@ -1633,11 +2051,11 @@
7600 -#: ../lib/af.c:164 ../lib/hw.c:177
7601 +#: ../lib/af.c:164 ../lib/hw.c:182
7605 -#: ../lib/af.c:167 ../lib/hw.c:183
7606 +#: ../lib/af.c:167 ../lib/hw.c:188
7607 msgid "AMPR NET/ROM"
7610 @@ -1649,7 +2067,7 @@
7611 msgid "Appletalk DDP"
7614 -#: ../lib/af.c:176 ../lib/hw.c:218
7615 +#: ../lib/af.c:176 ../lib/hw.c:223
7619 @@ -1657,19 +2075,21 @@
7623 -#: ../lib/af.c:182 ../lib/hw.c:180
7624 +#: ../lib/af.c:182 ../lib/hw.c:185
7628 -#: ../lib/af.c:185 ../lib/hw.c:168
7629 +#: ../lib/af.c:185 ../lib/hw.c:173
7635 msgid "Please don't supply more than one address family.\n"
7640 msgid "Too much address family arguments.\n"
7643 @@ -1694,11 +2114,12 @@
7648 msgid "Malformed Ash address"
7651 #: ../lib/ax25.c:75 ../lib/ddp.c:50 ../lib/econet.c:52 ../lib/inet.c:244
7652 -#: ../lib/inet.c:259 ../lib/inet6.c:129 ../lib/ipx.c:81 ../lib/netrom.c:78
7653 +#: ../lib/inet.c:259 ../lib/inet6.c:145 ../lib/ipx.c:81 ../lib/netrom.c:78
7654 #: ../lib/rose.c:71 ../lib/unix.c:56 ../lib/unix.c:76
7657 @@ -1712,22 +2133,21 @@
7660 #: ../lib/ax25_gr.c:47
7662 msgid "AX.25 not configured in this system.\n"
7665 #: ../lib/ax25_gr.c:50
7667 msgid "Kernel AX.25 routing table\n"
7671 #: ../lib/ax25_gr.c:51 ../lib/rose_gr.c:55
7673 msgid "Destination Iface Use\n"
7676 -#: ../lib/ddp_gr.c:21
7677 -msgid "Routing table for `ddp' not yet supported.\n"
7680 #: ../lib/ether.c:74 ../lib/ether.c:91
7682 msgid "in_ether(%s): invalid ether address!\n"
7683 @@ -1783,225 +2203,260 @@
7684 msgid "in_hippi(%s): trailing junk!\n"
7689 msgid "Local Loopback"
7694 msgid "Serial Line IP"
7699 msgid "VJ Serial Line IP"
7704 msgid "6-bit Serial Line IP"
7709 msgid "VJ 6-bit Serial Line IP"
7714 msgid "Adaptive Serial Line IP"
7724 msgid "Fiber Distributed Data Interface"
7734 msgid "generic X.25"
7744 msgid "Point-to-Point Protocol"
7749 msgid "(Cisco)-HDLC"
7764 msgid "Frame Relay DLCI"
7769 msgid "Frame Relay Access Device"
7774 msgid "IPv6-in-IPv4"
7784 msgid "16/4 Mbps Token Ring"
7789 msgid "16/4 Mbps Token Ring (New)"
7792 -#: ../lib/inet.c:153 ../lib/inet6.c:79
7794 +msgid "Generic EUI-64"
7797 +#: ../lib/inet.c:153 ../lib/inet6.c:94
7799 msgid "rresolve: unsupport address family %d !\n"
7802 -#: ../lib/inet6.c:131
7803 +#: ../lib/inet6.c:147
7807 #: ../lib/inet6_gr.c:71
7809 msgid "INET6 (IPv6) not configured in this system.\n"
7812 -#: ../lib/inet6_gr.c:74
7813 +#: ../lib/inet6_gr.c:76
7815 +msgid "Kernel IPv6 routing cache\n"
7818 +#: ../lib/inet6_gr.c:78
7820 msgid "Kernel IPv6 routing table\n"
7823 -#: ../lib/inet6_gr.c:76
7824 +#: ../lib/inet6_gr.c:80
7827 -"Destination Next Hop "
7828 -" Flags Metric Ref Use Iface\n"
7829 +"Destination Next Hop Flag Met Ref Use "
7833 -#: ../lib/inet6_gr.c:150
7834 +#: ../lib/inet6_gr.c:174
7836 msgid "Kernel IPv6 Neighbour Cache\n"
7839 -#: ../lib/inet6_gr.c:153
7840 +#: ../lib/inet6_gr.c:177
7843 "Neighbour HW Address Iface Flags "
7847 -#: ../lib/inet6_gr.c:157
7848 +#: ../lib/inet6_gr.c:181
7851 "Neighbour HW Address Iface Flags "
7852 "Ref State Stale(sec) Delete(sec)\n"
7855 #: ../lib/inet6_sr.c:46
7857 msgid "Usage: inet6_route [-vF] del Target\n"
7860 #: ../lib/inet6_sr.c:47
7862 msgid " inet6_route [-vF] add Target [gw Gw] [metric M] [[dev] If]\n"
7865 #: ../lib/inet6_sr.c:48
7867 msgid " inet6_route [-FC] flush NOT supported\n"
7870 #: ../lib/inet6_sr.c:188
7872 msgid "Flushing `inet6' routing table not supported\n"
7875 #: ../lib/inet_gr.c:50 ../lib/inet_gr.c:220
7877 msgid "INET (IPv4) not configured in this system.\n"
7880 #: ../lib/inet_gr.c:53
7882 msgid "Kernel IP routing table\n"
7885 #: ../lib/inet_gr.c:56
7888 "Destination Gateway Genmask Flags Metric Ref Use "
7892 #: ../lib/inet_gr.c:59
7895 "Destination Gateway Genmask Flags MSS Window irtt "
7899 #: ../lib/inet_gr.c:62
7902 "Destination Gateway Genmask Flags Metric Ref Use "
7903 "Iface MSS Window irtt\n"
7906 #: ../lib/inet_gr.c:237
7908 msgid "Kernel IP routing cache\n"
7911 #: ../lib/inet_gr.c:258
7914 "Source Destination Gateway Flags Metric Ref Use "
7918 #: ../lib/inet_gr.c:261
7921 "Source Destination Gateway Flags MSS Window irtt "
7925 #: ../lib/inet_gr.c:266
7928 "Source Destination Gateway Flags Metric Ref Use "
7929 "Iface MSS Window irtt HH Arp\n"
7932 #: ../lib/inet_gr.c:290
7935 "Source Destination Gateway Flags Metric Ref Use "
7936 "Iface MSS Window irtt TOS HHRef HHUptod SpecDst\n"
7939 -#: ../lib/inet_sr.c:50
7940 +#: ../lib/inet_sr.c:51
7943 "Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] "
7947 -#: ../lib/inet_sr.c:51
7948 +#: ../lib/inet_sr.c:52
7951 " inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M]\n"
7954 -#: ../lib/inet_sr.c:52
7955 +#: ../lib/inet_sr.c:53
7958 " [netmask N] [mss Mss] [window W] [irtt I]\n"
7961 -#: ../lib/inet_sr.c:53
7962 +#: ../lib/inet_sr.c:54
7964 msgid " [mod] [dyn] [reinstate] [[dev] If]\n"
7967 -#: ../lib/inet_sr.c:54
7968 +#: ../lib/inet_sr.c:55
7971 " inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject\n"
7974 -#: ../lib/inet_sr.c:55
7975 +#: ../lib/inet_sr.c:56
7977 msgid " inet_route [-FC] flush NOT supported\n"
7980 @@ -2011,14 +2466,17 @@
7983 #: ../lib/inet_sr.c:174
7985 msgid "route: Invalid MSS/MTU.\n"
7988 #: ../lib/inet_sr.c:187
7990 msgid "route: Invalid window.\n"
7993 #: ../lib/inet_sr.c:203
7995 msgid "route: Invalid initial rtt.\n"
7998 @@ -2033,73 +2491,90 @@
8001 #: ../lib/inet_sr.c:270
8003 msgid "route: netmask doesn't match route address\n"
8006 #: ../lib/inet_sr.c:306
8008 msgid "Flushing `inet' routing table not supported\n"
8011 #: ../lib/inet_sr.c:310
8013 msgid "Modifying `inet' routing cache not supported\n"
8016 #: ../lib/ipx_gr.c:52
8018 msgid "IPX not configured in this system.\n"
8021 #: ../lib/ipx_gr.c:56
8023 msgid "Kernel IPX routing table\n"
8027 #: ../lib/ipx_gr.c:57
8029 msgid "Destination Router Net Router Node\n"
8032 #: ../lib/ipx_sr.c:33
8034 msgid "IPX: this needs to be written\n"
8037 #: ../lib/masq_info.c:198
8039 msgid "IP masquerading entries\n"
8042 #: ../lib/masq_info.c:201
8044 msgid "prot expire source destination ports\n"
8047 #: ../lib/masq_info.c:204
8050 -"prot expire initseq delta prevd source destination "
8052 +"prot expire initseq delta prevd source "
8053 +"destination ports\n"
8056 #: ../lib/netrom_gr.c:48
8058 msgid "NET/ROM not configured in this system.\n"
8061 #: ../lib/netrom_gr.c:51
8063 msgid "Kernel NET/ROM routing table\n"
8066 #: ../lib/netrom_gr.c:52
8068 msgid "Destination Mnemonic Quality Neighbour Iface\n"
8071 #: ../lib/netrom_sr.c:34
8073 msgid "netrom usage\n"
8076 #: ../lib/netrom_sr.c:44
8078 msgid "NET/ROM: this needs to be written\n"
8083 msgid "You cannot start PPP with this program.\n"
8086 #: ../lib/ppp_ac.c:38
8088 msgid "Sorry, use pppd!\n"
8091 @@ -2108,287 +2583,314 @@
8094 #: ../lib/rose_gr.c:51
8096 msgid "ROSE not configured in this system.\n"
8099 #: ../lib/rose_gr.c:54
8101 msgid "Kernel ROSE routing table\n"
8104 -#: ../lib/tr.c:70 ../lib/tr.c:85
8105 +#: ../lib/tr.c:86 ../lib/tr.c:101
8107 msgid "in_tr(%s): invalid token ring address!\n"
8113 msgid "in_tr(%s): trailing : ignored!\n"
8119 msgid "in_tr(%s): trailing junk!\n"
8122 -#: ../lib/interface.c:164
8123 +#: ../lib/interface.c:174
8125 msgid "warning: no inet socket available: %s\n"
8128 -#: ../lib/interface.c:316
8129 +#: ../lib/interface.c:323
8131 msgid "Warning: cannot open %s (%s). Limited output.\n"
8134 #. Give better error message for this case.
8135 -#: ../lib/interface.c:556
8136 +#: ../lib/interface.c:570
8137 msgid "Device not found"
8140 -#: ../lib/interface.c:560
8141 +#: ../lib/interface.c:574
8143 msgid "%s: error fetching interface information: %s\n"
8146 -#: ../lib/interface.c:593
8147 +#: ../lib/interface.c:607
8148 msgid " - no statistics available -"
8151 -#: ../lib/interface.c:597
8152 +#: ../lib/interface.c:611
8157 -#: ../lib/interface.c:673
8158 +#: ../lib/interface.c:687
8160 msgid "%-9.9s Link encap:%s "
8163 -#: ../lib/interface.c:678
8164 +#: ../lib/interface.c:692
8169 -#: ../lib/interface.c:681
8170 +#: ../lib/interface.c:695
8175 -#: ../lib/interface.c:683
8176 +#: ../lib/interface.c:697
8181 -#: ../lib/interface.c:690
8182 +#: ../lib/interface.c:704
8184 msgid " %s addr:%s "
8187 -#: ../lib/interface.c:693
8188 +#: ../lib/interface.c:707
8193 -#: ../lib/interface.c:696
8194 +#: ../lib/interface.c:710
8199 -#: ../lib/interface.c:698
8200 +#: ../lib/interface.c:712
8205 -#: ../lib/interface.c:715
8206 +#: ../lib/interface.c:729
8208 msgid " inet6 addr: %s/%d"
8211 -#: ../lib/interface.c:717
8212 +#: ../lib/interface.c:731
8217 -#: ../lib/interface.c:720
8218 +#: ../lib/interface.c:734
8223 -#: ../lib/interface.c:723
8224 +#: ../lib/interface.c:737
8229 -#: ../lib/interface.c:726
8230 +#: ../lib/interface.c:740
8235 -#: ../lib/interface.c:729
8236 +#: ../lib/interface.c:743
8241 -#: ../lib/interface.c:732
8242 +#: ../lib/interface.c:746
8247 -#: ../lib/interface.c:735
8248 +#: ../lib/interface.c:749
8253 -#: ../lib/interface.c:750
8254 +#: ../lib/interface.c:764
8256 msgid " IPX/Ethernet II addr:%s\n"
8259 -#: ../lib/interface.c:753
8260 +#: ../lib/interface.c:767
8262 msgid " IPX/Ethernet SNAP addr:%s\n"
8265 -#: ../lib/interface.c:756
8266 +#: ../lib/interface.c:770
8268 msgid " IPX/Ethernet 802.2 addr:%s\n"
8271 -#: ../lib/interface.c:759
8272 +#: ../lib/interface.c:773
8274 msgid " IPX/Ethernet 802.3 addr:%s\n"
8277 -#: ../lib/interface.c:769
8278 +#: ../lib/interface.c:783
8280 msgid " EtherTalk Phase 2 addr:%s\n"
8283 -#: ../lib/interface.c:778
8284 +#: ../lib/interface.c:792
8286 msgid " econet addr:%s\n"
8289 -#: ../lib/interface.c:785
8290 +#: ../lib/interface.c:799
8295 -#: ../lib/interface.c:787
8296 +#: ../lib/interface.c:801
8301 -#: ../lib/interface.c:789
8302 +#: ../lib/interface.c:803
8307 -#: ../lib/interface.c:791
8308 +#: ../lib/interface.c:805
8313 -#: ../lib/interface.c:793
8314 +#: ../lib/interface.c:807
8319 -#: ../lib/interface.c:795
8320 +#: ../lib/interface.c:809
8322 msgid "POINTOPOINT "
8325 -#: ../lib/interface.c:797
8326 +#: ../lib/interface.c:811
8331 -#: ../lib/interface.c:799
8332 +#: ../lib/interface.c:813
8337 -#: ../lib/interface.c:801
8338 +#: ../lib/interface.c:815
8343 -#: ../lib/interface.c:803
8344 +#: ../lib/interface.c:817
8349 -#: ../lib/interface.c:805
8350 +#: ../lib/interface.c:819
8355 -#: ../lib/interface.c:807
8356 +#: ../lib/interface.c:821
8361 -#: ../lib/interface.c:809
8362 +#: ../lib/interface.c:823
8367 -#: ../lib/interface.c:811
8368 +#: ../lib/interface.c:825
8373 -#: ../lib/interface.c:814
8374 +#: ../lib/interface.c:828
8379 #. DONT FORGET TO ADD THE FLAGS IN ife_print_short
8380 -#: ../lib/interface.c:817
8381 +#: ../lib/interface.c:831
8383 msgid " MTU:%d Metric:%d"
8386 -#: ../lib/interface.c:821
8387 +#: ../lib/interface.c:835
8389 msgid " Outfill:%d Keepalive:%d"
8392 -#: ../lib/interface.c:835
8393 +#: ../lib/interface.c:849
8395 msgid "RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"
8398 -#: ../lib/interface.c:840
8399 +#: ../lib/interface.c:854
8401 msgid " compressed:%lu\n"
8404 -#: ../lib/interface.c:852
8405 +#: ../lib/interface.c:894
8407 msgid "TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"
8410 -#: ../lib/interface.c:856
8411 +#: ../lib/interface.c:898
8413 msgid " collisions:%lu "
8416 -#: ../lib/interface.c:858
8417 +#: ../lib/interface.c:900
8419 msgid "compressed:%lu "
8422 -#: ../lib/interface.c:860
8423 +#: ../lib/interface.c:902
8425 msgid "txqueuelen:%d "
8428 -#: ../lib/interface.c:862
8429 +#: ../lib/interface.c:904
8431 msgid "RX bytes:%llu (%lu.%lu %s) TX bytes:%llu (%lu.%lu %s)\n"
8434 -#: ../lib/interface.c:873
8435 +#: ../lib/interface.c:915
8437 msgid "Interrupt:%d "
8440 #. Only print devices using it for
8442 -#: ../lib/interface.c:876
8443 +#: ../lib/interface.c:918
8445 msgid "Base address:0x%x "
8448 -#: ../lib/interface.c:878
8449 +#: ../lib/interface.c:920
8451 msgid "Memory:%lx-%lx "
8454 -#: ../lib/interface.c:881
8455 +#: ../lib/interface.c:923
8457 msgid "DMA chan:%x "
8460 #: ../lib/sockets.c:63
8462 msgid "No usable address families found.\n"
8465 @@ -2413,14 +2915,17 @@
8470 msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
8475 msgid " ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
8480 msgid " ipmaddr -V | -version\n"
8483 @@ -2449,6 +2954,7 @@
8486 #: ../slattach.c:192
8488 msgid "slattach: cannot write PID file\n"
8491 @@ -2468,18 +2974,22 @@
8494 #: ../slattach.c:468
8496 msgid "slattach: tty name too long\n"
8499 #: ../slattach.c:498
8501 msgid "slattach: tty_open: cannot get current state!\n"
8504 #: ../slattach.c:505
8506 msgid "slattach: tty_open: cannot get current line disc!\n"
8509 #: ../slattach.c:513
8511 msgid "slattach: tty_open: cannot set RAW mode!\n"
8514 @@ -2489,6 +2999,7 @@
8517 #: ../slattach.c:530
8519 msgid "slattach: tty_open: cannot set 8N1 mode!\n"
8522 --- net-tools-1.60/po/pt_BR.po 2000-02-20 23:47:06.000000000 +0200
8523 +++ net-tools/po/pt_BR.po 2006-12-15 01:36:24.000000000 +0200
8525 # Copyright (C) 2000 Free Software Foundation, Inc.
8526 # Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2000.
8530 # Brazilian portuguese translation for net-tools 1.54
8531 # Copyright (C) 1998, 1999 Free Software Foundation, Inc.
8532 # Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 1998-2000
8533 @@ -2361,17 +2361,15 @@
8534 msgid "Warning: cannot open %s (%s). Limited output.\n"
8535 msgstr "Atenção: não foi possÃvel abrir %s (%s). SaÃda limitada.\n"
8537 -#. Give better error message for this case.
8538 +#. better translation?
8539 #: ../lib/interface.c:504
8540 msgid "Device not found"
8541 -msgstr "%s: dispositivo não encontrado"
8542 +msgstr "dispositivo não encontrado"
8544 #: ../lib/interface.c:508
8546 msgid "%s: error fetching interface information: %s\n"
8548 -"%s: erro obtendo informações da interface: %s\n"
8550 +msgstr "%s: erro obtendo informações da interface: %s\n"
8552 #: ../lib/sockets.c:59
8553 msgid "No usable address families found.\n"
8554 --- net-tools-1.60/README 2001-04-15 16:34:43.000000000 +0200
8555 +++ net-tools/README 2005-08-26 19:01:31.000000000 +0300
8557 subsystem of the Linux kernel. This includes arp, hostname, ifconfig,
8558 netstat, rarp and route. Additionally, this package contains
8559 utilities relating to particular network hardware types (plipconfig,
8560 -slattach) and advanced aspects of IP configuration (iptunnel,
8561 +slattach, mii-tool) and advanced aspects of IP configuration (iptunnel,
8564 Please include the output of "program --version" when reporting bugs.
8567 INSTALLING Installation instructions.
8569 - COPYING Your free copy of the GNU Public License.
8570 + COPYING Your free copy of the GNU General Public License.
8572 TODO Some things that need to be done.
8574 +The Homepage (including CVS repository, release downloads and a form to
8575 +request enhancements) is hosted by BerliOS Developer. Please consider to
8576 +join the project if you want to contribute:
8578 + http://net-tools.berlios.de/
8584 -This is net-tools 1.60.
8585 +This is net-tools 1.6x.
8587 You need kernel 2.0 or later to use these programs. These programs
8588 should compile cleanly with both glibc (version 2.0 or 2.1) and libc5,
8589 --- net-tools-1.60/route.c 2001-04-15 16:41:17.000000000 +0200
8590 +++ net-tools/route.c 2002-07-30 08:24:20.000000000 +0300
8592 * route This file contains an implementation of the command
8593 * that manages the IP routing table in the kernel.
8598 * Maintainer: Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
8603 /* Fetch the command-line arguments. */
8604 - while ((i = getopt_long(argc, argv, "A:eCFhnNVv?", longopts, &lop)) != EOF)
8605 + while ((i = getopt_long(argc, argv, "A:eCFhnN64Vv?", longopts, &lop)) != EOF)
8609 @@ -176,6 +176,14 @@
8610 if ((i = aftrans_opt(optarg)))
8614 + if ((i = aftrans_opt("inet6")))
8618 + if ((i = aftrans_opt("inet")))
8624 --- net-tools-1.60/slattach.c 2000-10-28 12:59:41.000000000 +0200
8625 +++ net-tools/slattach.c 2005-12-04 07:15:36.000000000 +0200
8629 const char *Release = RELEASE,
8630 - *Version = "@(#) slattach 1.21 (1999-11-21)",
8631 + *Version = "$Id$",
8632 *Signature = "net-tools, Fred N. van Kempen et al.";
8636 int opt_k = 0; /* "keepalive" value */
8638 int opt_l = 0; /* "lock it" flag */
8639 -int opt_L = 0; /* clocal flag */
8640 +int opt_L = 0; /* 3-wire mode flag */
8641 int opt_m = 0; /* "set RAW mode" flag */
8642 int opt_n = 0; /* "set No Mesg" flag */
8644 @@ -342,9 +342,11 @@
8645 tty->c_oflag = (0); /* output flags */
8646 tty->c_lflag = (0); /* local flags */
8647 speed = (tty->c_cflag & CBAUD); /* save current speed */
8648 - tty->c_cflag = (CRTSCTS | HUPCL | CREAD); /* UART flags */
8649 + tty->c_cflag = (HUPCL | CREAD); /* UART flags */
8651 tty->c_cflag |= CLOCAL;
8653 + tty->c_cflag |= CRTSCTS;
8654 tty->c_cflag |= speed; /* restore speed */
8657 --- net-tools-1.60/statistics.c 2001-02-02 20:01:23.000000000 +0200
8658 +++ net-tools/statistics.c 2003-02-12 05:30:57.000000000 +0200
8661 * Copyright 1997,1999,2000 Andi Kleen. Subject to the GPL.
8664 * 19980630 - i18n - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
8665 * 19981113 - i18n fixes - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
8666 * 19990101 - added net/netstat, -t, -u, -w supprt - Bernd Eckenfels
8667 @@ -172,19 +172,59 @@
8668 { "DelayedACKLost", N_("Quick ack mode was activated %u times"), opt_number },
8669 { "ListenOverflows", N_("%u times the listen queue of a socket overflowed"),
8671 - { "ListenDrops", N_("%u SYNs to LISTEN sockets ignored"), opt_number },
8672 + { "ListenDrops", N_("%u SYNs to LISTEN sockets dropped"), opt_number },
8673 { "TCPPrequeued", N_("%u packets directly queued to recvmsg prequeue."),
8675 - { "TCPDirectCopyFromBacklog", N_("%u packets directly received"
8676 - " from backlog"), opt_number },
8677 - { "TCPDirectCopyFromPrequeue", N_("%u packets directly received"
8678 - " from prequeue"), opt_number },
8679 + { "TCPDirectCopyFromBacklog", N_("%u bytes directly in process context from backlog"), opt_number },
8680 + { "TCPDirectCopyFromPrequeue", N_("%u bytes directly received in process context from prequeue"),
8682 { "TCPPrequeueDropped", N_("%u packets dropped from prequeue"), opt_number },
8683 - { "TCPHPHits", N_("%u packets header predicted"), number },
8684 + { "TCPHPHits", N_("%u packet headers predicted"), number },
8685 { "TCPHPHitsToUser", N_("%u packets header predicted and "
8686 "directly queued to user"), opt_number },
8687 { "SockMallocOOM", N_("Ran %u times out of system memory during "
8688 "packet sending"), opt_number },
8689 + { "TCPPureAcks", N_("%u acknowledgments not containing data payload received"), opt_number },
8690 + { "TCPHPAcks", N_("%u predicted acknowledgments"), opt_number },
8691 + { "TCPRenoRecovery", N_("%u times recovered from packet loss due to fast retransmit"), opt_number },
8692 + { "TCPSackRecovery", N_("%u times recovered from packet loss by selective acknowledgements"), opt_number },
8693 + { "TCPSACKReneging", N_("%u bad SACK blocks received"), opt_number },
8694 + { "TCPFACKReorder", N_("Detected reordering %u times using FACK"), opt_number },
8695 + { "TCPSACKReorder", N_("Detected reordering %u times using SACK"), opt_number },
8696 + { "TCPTSReorder", N_("Detected reordering %u times using time stamp"), opt_number },
8697 + { "TCPRenoReorder", N_("Detected reordering %u times using reno fast retransmit"), opt_number },
8698 + { "TCPFullUndo", N_("%u congestion windows fully recovered without slow start"), opt_number },
8699 + { "TCPPartialUndo", N_("%u congestion windows partially recovered using Hoe heuristic"), opt_number },
8700 + { "TCPDSackUndo", N_("%u congestion window recovered without slow start using DSACK"), opt_number },
8701 + { "TCPLossUndo", N_("%u congestion windows recovered without slow start after partial ack"), opt_number },
8702 + { "TCPLostRetransmits", N_("%u retransmits lost"), opt_number },
8703 + { "TCPRenoFailures", N_("%u timeouts after reno fast retransmit"), opt_number },
8704 + { "TCPSackFailures", N_("%u timeouts after SACK recovery"), opt_number },
8705 + { "TCPLossFailures", N_("%u timeouts in loss state"), opt_number },
8706 + { "TCPFastRetrans", N_("%u fast retransmits"), opt_number },
8707 + { "TCPForwardRetrans", N_("%u forward retransmits"), opt_number },
8708 + { "TCPSlowStartRetrans", N_("%u retransmits in slow start"), opt_number },
8709 + { "TCPTimeouts", N_("%u other TCP timeouts"), opt_number },
8710 + { "TCPRenoRecoveryFailed", N_("%u reno fast retransmits failed"), opt_number },
8711 + { "TCPSackRecoveryFail", N_("%u SACK retransmits failed"), opt_number },
8712 + { "TCPSchedulerFailed", N_("%u times receiver scheduled too late for direct processing"), opt_number },
8713 + { "TCPRcvCollapsed", N_("%u packets collapsed in receive queue due to low socket buffer"), opt_number },
8714 + { "TCPDSACKOldSent", N_("%u DSACKs sent for old packets"), opt_number },
8715 + { "TCPDSACKOfoSent", N_("%u DSACKs sent for out of order packets"), opt_number },
8716 + { "TCPDSACKRecv", N_("%u DSACKs received"), opt_number },
8717 + { "TCPDSACKOfoRecv", N_("%u DSACKs for out of order packets received"), opt_number },
8718 + { "TCPAbortOnSyn", N_("%u connections reset due to unexpected SYN"), opt_number },
8719 + { "TCPAbortOnData", N_("%u connections reset due to unexpected data"), opt_number },
8720 + { "TCPAbortOnClose", N_("%u connections reset due to early user close"), opt_number },
8721 + { "TCPAbortOnMemory", N_("%u connections aborted due to memory pressure"), opt_number },
8722 + { "TCPAbortOnTimeout", N_("%u connections aborted due to timeout"), opt_number },
8723 + { "TCPAbortOnLinger", N_("%u connections aborted after user close in linger timeout"), opt_number },
8724 + { "TCPAbortFailed", N_("%u times unabled to send RST due to no memory"), opt_number },
8725 + { "TCPMemoryPressures", N_("TCP ran low on memory %u times"), opt_number },
8726 + { "TCPLoss", N_("%u TCP data loss events"), opt_number },
8727 + { "TCPDSACKUndo", N_("%u congestion windows recovered without slow start by DSACK"),
8729 + { "TCPRenoRecoveryFail", N_("%u classic Reno fast retransmits failed"), opt_number },
8734 ent = bsearch(&key, tab->tab, tab->size / sizeof(struct entry),
8735 sizeof(struct entry), cmpentries);
8736 if (!ent) { /* try our best */
8737 - printf("%*s%s: %d\n", states[state].indent, "", title, val);
8739 + printf("%*s%s: %d\n", states[state].indent, "", title, val);