]> git.pld-linux.org Git - packages/net-tools.git/blob - net-tools-branch.diff
- rel 29
[packages/net-tools.git] / net-tools-branch.diff
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
3 @@ -8,7 +8,7 @@
4   *              NET-3 Networking Distribution for the LINUX operating
5   *              system.
6   *
7 - * Version:     $Id$
8 + * Version:     $Id$
9   *
10   * Maintainer:  Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
11   *
12 @@ -100,9 +100,10 @@
13  {
14      char host[128];
15      struct arpreq req;
16 -    struct sockaddr sa;
17 +    struct sockaddr_storage ss;
18 +    struct sockaddr *sa;
19      int flags = 0;
20 -    int err;
21 +    int deleted = 0;
22  
23      memset((char *) &req, 0, sizeof(req));
24  
25 @@ -112,12 +113,13 @@
26         return (-1);
27      }
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) {
32         ap->herror(host);
33         return (-1);
34      }
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));
38  
39      if (hw_set)
40         req.arp_ha.sa_family = hw->type;
41 @@ -148,7 +150,7 @@
42             continue;
43         }
44         if (!strcmp(*args, "dontpub")) {
45 -#ifdef HAVE_ATF_DONTPUB
46 +#ifdef ATF_DONTPUB
47             req.arp_flags |= ATF_DONTPUB;
48  #else
49             ENOSUPP("arp", "ATF_DONTPUB");
50 @@ -157,7 +159,7 @@
51             continue;
52         }
53         if (!strcmp(*args, "auto")) {
54 -#ifdef HAVE_ATF_MAGIC
55 +#ifdef ATF_MAGIC
56             req.arp_flags |= ATF_MAGIC;
57  #else
58             ENOSUPP("arp", "ATF_MAGIC");
59 @@ -177,11 +179,11 @@
60                 usage();
61             if (strcmp(*args, "255.255.255.255") != 0) {
62                 strcpy(host, *args);
63 -               if (ap->input(0, host, &sa) < 0) {
64 +               if (ap->input(0, host, sa) < 0) {
65                     ap->herror(host);
66                     return (-1);
67                 }
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;
72             }
73 @@ -190,35 +192,41 @@
74         }
75         usage();
76      }
77 +
78 +    // if neighter priv nor pub is given, work on both
79      if (flags == 0)
80         flags = 3;
81  
82      strcpy(req.arp_dev, device);
83  
84 -    err = -1;
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. */
88 +    deleted = 0;
89  
90      /* Call the kernel. */
91      if (flags & 2) {
92         if (opt_v)
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)) {
99                 if (flags & 1)
100 -                   goto nopub;
101 +                   goto dontpub;
102                 printf(_("No ARP entry for %s\n"), host);
103                 return (-1);
104             }
105 -           perror("SIOCDARP(priv)");
106 +           perror("SIOCDARP(dontpub)");
107             return (-1);
108 -       }
109 +       } else
110 +         deleted = 1;
111      }
112 -    if ((flags & 1) && (err)) {
113 -      nopub:
114 +    if (!deleted && (flags & 1)) {
115 +      dontpub:
116         req.arp_flags |= ATF_PUBL;
117         if (opt_v)
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);
123                 return (-1);
124             }
125 @@ -260,7 +268,8 @@
126  {
127      char host[128];
128      struct arpreq req;
129 -    struct sockaddr sa;
130 +    struct sockaddr_storage ss;
131 +    struct sockaddr *sa;
132      int flags;
133  
134      memset((char *) &req, 0, sizeof(req));
135 @@ -271,12 +280,13 @@
136         return (-1);
137      }
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) {
142         ap->herror(host);
143         return (-1);
144      }
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));
148  
149      /* Fetch the hardware address. */
150      if (*args == NULL) {
151 @@ -317,7 +327,7 @@
152             continue;
153         }
154         if (!strcmp(*args, "dontpub")) {
155 -#ifdef HAVE_ATF_DONTPUB
156 +#ifdef ATF_DONTPUB
157             flags |= ATF_DONTPUB;
158  #else
159             ENOSUPP("arp", "ATF_DONTPUB");
160 @@ -326,7 +336,7 @@
161             continue;
162         }
163         if (!strcmp(*args, "auto")) {
164 -#ifdef HAVE_ATF_MAGIC
165 +#ifdef ATF_MAGIC
166             flags |= ATF_MAGIC;
167  #else
168             ENOSUPP("arp", "ATF_MAGIC");
169 @@ -346,11 +356,11 @@
170                 usage();
171             if (strcmp(*args, "255.255.255.255") != 0) {
172                 strcpy(host, *args);
173 -               if (ap->input(0, host, &sa) < 0) {
174 +               if (ap->input(0, host, sa) < 0) {
175                     ap->herror(host);
176                     return (-1);
177                 }
178 -               memcpy((char *) &req.arp_netmask, (char *) &sa,
179 +               memcpy((char *) &req.arp_netmask, (char *) sa,
180                        sizeof(struct sockaddr));
181                 flags |= ATF_NETMASK;
182             }
183 @@ -445,11 +455,11 @@
184         strcat(flags, "M");
185      if (arp_flags & ATF_PUBL)
186         strcat(flags, "P");
187 -#ifdef HAVE_ATF_MAGIC
188 +#ifdef ATF_MAGIC
189      if (arp_flags & ATF_MAGIC)
190         strcat(flags, "A");
191  #endif
192 -#ifdef HAVE_ATF_DONTPUB
193 +#ifdef ATF_DONTPUB
194      if (arp_flags & ATF_DONTPUB)
195         strcat(flags, "!");
196  #endif
197 @@ -463,7 +473,7 @@
198  
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>"));
203         else
204             printf("%-8.8s%-20.20s", "", _("(incomplete)"));
205      } else {
206 @@ -486,7 +496,7 @@
207  
208      if (!(arp_flags & ATF_COM)) {
209         if (arp_flags & ATF_PUBL)
210 -           printf("* ");
211 +           printf("<from_interface> ");
212         else
213             printf(_("<incomplete> "));
214      } else {
215 @@ -499,12 +509,12 @@
216      if (arp_flags & ATF_PERM)
217         printf("PERM ");
218      if (arp_flags & ATF_PUBL)
219 -       printf("PUP ");
220 -#ifdef HAVE_ATF_MAGIC
221 +       printf("PUB ");
222 +#ifdef ATF_MAGIC
223      if (arp_flags & ATF_MAGIC)
224         printf("AUTO ");
225  #endif
226 -#ifdef HAVE_ATF_DONTPUB
227 +#ifdef ATF_DONTPUB
228      if (arp_flags & ATF_DONTPUB)
229         printf("DONTPUB ");
230  #endif
231 @@ -519,7 +529,8 @@
232  static int arp_show(char *name)
233  {
234      char host[100];
235 -    struct sockaddr sa;
236 +    struct sockaddr_storage ss;
237 +    struct sockaddr *sa;
238      char ip[100];
239      char hwa[100];
240      char mask[100];
241 @@ -532,14 +543,15 @@
242  
243      host[0] = '\0';
244  
245 +    sa = (struct sockaddr *)&ss;
246      if (name != NULL) {
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) {
251             ap->herror(host);
252             return (-1);
253         }
254 -       safe_strncpy(host, ap->sprint(&sa, 1), sizeof(host));
255 +       safe_strncpy(host, ap->sprint(sa, 1), sizeof(host));
256      }
257      /* Open the PROCps kernel table. */
258      if ((fp = fopen(_PATH_PROCNET_ARP, "r")) == NULL) {
259 @@ -575,10 +587,10 @@
260             if (opt_n)
261                 hostname = "?";
262             else {
263 -               if (ap->input(0, ip, &sa) < 0)
264 +               if (ap->input(0, ip, sa) < 0)
265                     hostname = ip;
266                 else
267 -                   hostname = ap->sprint(&sa, opt_n | 0x8000);
268 +                   hostname = ap->sprint(sa, opt_n | 0x8000);
269                 if (strcmp(hostname, ip) == 0)
270                     hostname = "?";
271             }
272 @@ -612,11 +624,10 @@
273  static void usage(void)
274  {
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"));
285      
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
290 @@ -49,16 +49,16 @@
291  * 
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
308  *
309  *
310  *            Device Hardware types.
311 @@ -71,21 +71,23 @@
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
334 +
335  *
336  *
337  *           Other Features.
338  *
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
347 @@ -9,20 +9,19 @@
348   *              dnsdmoainname   
349   *              nisdomainname {name|-F file}
350   *
351 - * Version:     hostname 1.96 (1996-02-18)
352 + * Version:     hostname 1.101 (2003-10-11)
353   *
354   * Author:      Peter Tobias <tobias@et-inf.fho-emden.de>
355   *
356   * Changes:
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)
373   *
374   *              This program is free software; you can redistribute it
375   *              and/or  modify it under  the terms of  the GNU General
376 @@ -31,7 +30,9 @@
377   *              your option) any later version.
378   */
379  #include <stdio.h>
380 +#include <stdlib.h>
381  #include <unistd.h>
382 +#include <stdlib.h>
383  #include <getopt.h>
384  #include <string.h>
385  #include <netdb.h>
386 @@ -78,6 +79,7 @@
387              fprintf(stderr, _("%s: name too long\n"), program_name);
388              break;
389          default:
390 +           break;
391          }
392         exit(1);
393      }
394 @@ -97,7 +99,6 @@
395         case EINVAL:
396             fprintf(stderr, _("%s: name too long\n"), program_name);
397             break;
398 -       default:
399         }
400         exit(1);
401      };
402 @@ -116,7 +117,6 @@
403         case EINVAL:
404             fprintf(stderr, _("%s: name too long\n"), program_name);
405             break;
406 -       default:
407         }
408         exit(1);
409      };
410 @@ -173,7 +173,6 @@
411             *p = '\0';
412         printf("%s\n", hp->h_name);
413         break;
414 -    default:
415      }
416  }
417  
418 @@ -326,11 +325,12 @@
419             break;
420         case 'V':
421             version();
422 +           break; // not reached
423         case '?':
424         case 'h':
425         default:
426             usage();
427 -
428 +           break; // not reached
429         };
430  
431  
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
434 @@ -3,7 +3,7 @@
435   *              that either displays or sets the characteristics of
436   *              one or more of the system's networking interfaces.
437   *
438 - * Version:     $Id$
439 + * Version:     $Id$
440   *
441   * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
442   *              and others.  Copyright 1993 MicroWalt Corporation
443 @@ -88,7 +88,6 @@
444  char *Release = RELEASE, *Version = "ifconfig 1.42 (2001-04-13)";
445  
446  int opt_a = 0;                 /* show all interfaces          */
447 -int opt_i = 0;                 /* show the statistics          */
448  int opt_v = 0;                 /* debugging output flag        */
449  
450  int addr_family = 0;           /* currently selected AF        */
451 @@ -105,7 +104,7 @@
452      int res;
453  
454      if (ife_short)
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"));
457  
458      if (!ifname) {
459         res = for_all_interfaces(do_if_print, &opt_a);
460 @@ -127,7 +126,7 @@
461  
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));
467         return (-1);
468      }
469 @@ -159,7 +158,7 @@
470  
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));
476         return -1;
477      }
478 @@ -172,9 +171,35 @@
479      return (0);
480  }
481  
482 +/** test is a specified flag is set */
483 +static int test_flag(char *ifname, short flags)
484 +{
485 +    struct ifreq ifr;
486 +    int fd;
487 +
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);
492 +       if (fd < 0) {
493 +           fprintf(stderr, _("No support for INET on this system.\n"));
494 +           return -1;
495 +       }
496 +    } else
497 +        fd = skfd;
498 +
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));
503 +       return -1;
504 +    }
505 +    return (ifr.ifr_flags & flags);
506 +}
507 +
508  static void usage(void)
509  {
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"));
512  #if HAVE_AFINET
513      fprintf(stderr, _("  [add <address>[/<prefixlen>]]\n"));
514      fprintf(stderr, _("  [del <address>[/<prefixlen>]]\n"));
515 @@ -208,7 +233,7 @@
516  static void version(void)
517  {
518      fprintf(stderr, "%s\n%s\n", Release, Version);
519 -    exit(0);
520 +    exit(E_USAGE);
521  }
522  
523  static int set_netmask(int skfd, struct ifreq *ifr, struct sockaddr *sa)
524 @@ -222,18 +247,19 @@
525                 strerror(errno));
526         err = 1;
527      }
528 -    return 0;
529 +    return err;
530  }
531  
532  int main(int argc, char **argv)
533  {
534      struct sockaddr sa;
535 +    struct sockaddr samask;
536      struct sockaddr_in sin;
537      char host[128];
538      struct aftype *ap;
539      struct hwtype *hw;
540      struct ifreq ifr;
541 -    int goterr = 0, didnetmask = 0;
542 +    int goterr = 0, didnetmask = 0, neednetmask=0;
543      char **spp;
544      int fd;
545  #if HAVE_AFINET6
546 @@ -388,6 +414,8 @@
547         }
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);
552             spp++;
553             continue;
554         }
555 @@ -398,6 +426,8 @@
556         }
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);
561             spp++;
562             continue;
563         }
564 @@ -408,6 +438,8 @@
565         }
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);
570             spp++;
571             continue;
572         }
573 @@ -430,6 +462,8 @@
574         if (!strcmp(*spp, "-dynamic")) {
575             goterr |= clr_flag(ifr.ifr_name, IFF_DYNAMIC);
576             spp++;
577 +           if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
578 +               fprintf(stderr, _("Warning: Interface %s still in DYNAMIC mode.\n"), ifr.ifr_name);
579             continue;
580         }
581  #endif
582 @@ -486,6 +520,8 @@
583  
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);
588             spp++;
589             continue;
590         }
591 @@ -493,7 +529,10 @@
592             if (*++spp != NULL) {
593                 safe_strncpy(host, *spp, (sizeof host));
594                 if (ap->input(0, host, &sa) < 0) {
595 -                   ap->herror(host);
596 +                   if (ap->herror)
597 +                       ap->herror(host);
598 +                   else
599 +                       fprintf(stderr, _("ifconfig: Error resolving '%s' for broadcast\n"), host);
600                     goterr = 1;
601                     spp++;
602                     continue;
603 @@ -515,7 +554,10 @@
604                 usage();
605             safe_strncpy(host, *spp, (sizeof host));
606             if (ap->input(0, host, &sa) < 0) {
607 -               ap->herror(host);
608 +                   if (ap->herror)
609 +                       ap->herror(host);
610 +                   else
611 +                       fprintf(stderr, _("ifconfig: Error resolving '%s' for dstaddr\n"), host);
612                 goterr = 1;
613                 spp++;
614                 continue;
615 @@ -535,13 +577,16 @@
616                 usage();
617             safe_strncpy(host, *spp, (sizeof host));
618             if (ap->input(0, host, &sa) < 0) {
619 -               ap->herror(host);
620 +                   if (ap->herror)
621 +                       ap->herror(host);
622 +                   else
623 +                       fprintf(stderr, _("ifconfig: Error resolving '%s' for netmask\n"), host);
624                 goterr = 1;
625                 spp++;
626                 continue;
627             }
628             didnetmask++;
629 -           goterr = set_netmask(ap->fd, &ifr, &sa);
630 +           goterr |= set_netmask(ap->fd, &ifr, &sa);
631             spp++;
632             continue;
633         }
634 @@ -613,6 +658,8 @@
635         if (!strcmp(*spp, "-pointopoint")) {
636             goterr |= clr_flag(ifr.ifr_name, IFF_POINTOPOINT);
637             spp++;
638 +           if (test_flag(ifr.ifr_name, IFF_MULTICAST) > 0)
639 +               fprintf(stderr, _("Warning: Interface %s still in POINTOPOINT mode.\n"), ifr.ifr_name);
640             continue;
641         }
642         if (!strcmp(*spp, "pointopoint")) {
643 @@ -620,7 +667,10 @@
644                 spp++;
645                 safe_strncpy(host, *spp, (sizeof host));
646                 if (ap->input(0, host, &sa)) {
647 -                   ap->herror(host);
648 +                   if (ap->herror)
649 +                       ap->herror(host);
650 +                   else
651 +                       fprintf(stderr, _("ifconfig: Error resolving '%s' for pointopoint\n"), host);
652                     goterr = 1;
653                     spp++;
654                     continue;
655 @@ -661,8 +711,12 @@
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",
660 -                       strerror(errno));
661 +               if (errno == EBUSY)
662 +                       fprintf(stderr, "SIOCSIFHWADDR: %s - you may need to down the interface\n",
663 +                               strerror(errno));
664 +               else
665 +                       fprintf(stderr, "SIOCSIFHWADDR: %s\n",
666 +                               strerror(errno));
667                 goterr = 1;
668             }
669             spp++;
670 @@ -681,12 +735,15 @@
671                         usage();
672                     *cp = 0;
673                 } else {
674 -                   prefix_len = 0;
675 +                   prefix_len = 128;
676                 }
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);
683 +                   else
684 +                       fprintf(stderr, _("ifconfig: Error resolving '%s' for add\n"), host);
685                     goterr = 1;
686                     spp++;
687                     continue;
688 @@ -771,7 +828,7 @@
689                         usage();
690                     *cp = 0;
691                 } else {
692 -                   prefix_len = 0;
693 +                   prefix_len = 128;
694                 }
695                 safe_strncpy(host, *spp, (sizeof host));
696                 if (inet6_aftype.input(1, host, 
697 @@ -800,6 +857,8 @@
698                 }
699                 ifr6.ifr6_ifindex = ifr.ifr_ifindex;
700                 ifr6.ifr6_prefixlen = prefix_len;
701 +               if (opt_v)
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",
705                             strerror(errno));
706 @@ -859,7 +918,7 @@
707                     usage();
708                 *cp = 0;
709             } else {
710 -               prefix_len = 0;
711 +               prefix_len = 128;
712             }
713             safe_strncpy(host, *spp, (sizeof host));
714             if (inet6_aftype.input(1, host, (struct sockaddr *) &sa6) < 0) {
715 @@ -903,7 +962,7 @@
716         /* FIXME: sa is too small for INET6 addresses, inet6 should use that too, 
717            broadcast is unexpected */
718         if (ap->getmask) {
719 -           switch (ap->getmask(host, &sa, NULL)) {
720 +           switch (ap->getmask(host, &samask, NULL)) {
721             case -1:
722                 usage();
723                 break;
724 @@ -911,8 +970,8 @@
725                 if (didnetmask)
726                     usage();
727  
728 -               goterr = set_netmask(skfd, &ifr, &sa);
729 -               didnetmask++;
730 +               // remeber to set the netmask from samask later
731 +               neednetmask = 1;
732                 break;
733             }
734         }
735 @@ -921,9 +980,11 @@
736            exit(1);
737         }
738         if (ap->input(0, host, &sa) < 0) {
739 -           ap->herror(host);
740 -           fprintf(stderr, _("ifconfig: `--help' gives usage information.\n"));
741 -           exit(1);
742 +           if (ap->herror)
743 +               ap->herror(host);
744 +           else
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);
747         }
748         memcpy((char *) &ifr.ifr_addr, (char *) &sa, sizeof(struct sockaddr));
749         {
750 @@ -980,6 +1041,14 @@
751         spp++;
752      }
753  
754 +    if (neednetmask) {
755 +       goterr |= set_netmask(skfd, &ifr, &samask);
756 +       didnetmask++;
757 +    }
758 +
759 +    if (opt_v && goterr)
760 +       fprintf(stderr, _("WARNING: at least one error occured. (%d)\n"), goterr);
761 +
762      return (goterr);
763  }
764  
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
767 @@ -64,13 +64,17 @@
768  extern int if_fetch(struct interface *ife);
769  
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);
775  
776  extern int do_if_fetch(struct interface *ife);
777  extern int do_if_print(struct interface *ife, void *cookie);
778  
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);
782 +
783  extern void ife_print(struct interface *ptr);
784  
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
788 @@ -6,11 +6,14 @@
789   * Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
790   */
791  
792 -#ifndef _LINUX_MII_H
793 -#define _LINUX_MII_H
794 +#ifndef _NETTOOL_MII_H
795 +#define _NETTOOLS_MII_H
796 +
797 +#include <linux/sockios.h>
798  
799  /* network interface ioctl's for MII commands */
800  #ifndef SIOCGMIIPHY
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 */
805 @@ -38,6 +41,7 @@
806  #define  MII_BMCR_RESTART      0x0200
807  #define  MII_BMCR_DUPLEX       0x0100
808  #define  MII_BMCR_COLTEST      0x0080
809 +#define  MII_BMCR_SPEED1000    0x0040
810  
811  /* Basic Mode Status Register */
812  #define MII_BMSR               0x01
813 @@ -83,4 +87,17 @@
814  #define  MII_ANER_PAGE_RX      0x0002
815  #define  MII_ANER_LP_AN_ABLE   0x0001
816  
817 -#endif /* _LINUX_MII_H */
818 +#define MII_CTRL1000           0x09
819 +#define   MII_BMCR2_1000FULL   0x0200
820 +#define   MII_BMCR2_1000HALF   0x0100
821 +
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
827 +
828 +/* Last register we need for show_basic_mii() */
829 +#define MII_BASIC_MAX          (MII_STAT1000+1)
830 +
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
834 @@ -75,6 +75,6 @@
835  extern int do_class(int argc, char **argv);
836  extern int do_filter(int argc, char **argv);
837  
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);
840  
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)
846  {
847         struct ma_info *list = NULL;
848 +       size_t l;
849  
850         while (argc > 0) {
851                 if (strcmp(*argv, "dev") == 0) {
852                         NEXT_ARG();
853 -                       if (filter_dev[0])
854 +                       l = strlen(*argv);
855 +                       if (l <= 0 || l >= sizeof(filter_dev))
856                                 usage();
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) {
862 @@ -307,9 +309,10 @@
863                 } else if (strcmp(*argv, "link") == 0) {
864                         filter_family = AF_PACKET;
865                 } else {
866 -                       if (filter_dev[0])
867 +                       l = strlen(*argv);
868 +                       if (l <= 0 || l >= sizeof(filter_dev))
869                                 usage();
870 -                       strcpy(filter_dev, *argv);
871 +                       strncpy(filter_dev, *argv, sizeof (filter_dev));
872                 }
873                 argv++; argc--;
874         }
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
877 @@ -1,3 +1,20 @@
878 +/*
879 + * lib/ddp_gr.c         Prinbting of DDP (AppleTalk) routing table
880 + *                      used by the NET-LIB.
881 + *
882 + * NET-LIB      
883 + *
884 + * Version:     $Id$
885 + *
886 + * Author:      Ajax <ajax@firest0rm.org>
887 + *
888 + * Modification:
889 + *  2002-06-02 integrated into main source by Bernd Eckenfels
890 + *
891 + */
892 +
893 +/* TODO: name lookups (/etc/atalk.names?  NBP?) */
894 +
895  #include "config.h"
896  
897  #if HAVE_AFATALK
898 @@ -16,9 +33,61 @@
899  #include "pathnames.h"
900  #include "intl.h"
901  
902 +/* stolen from inet_gr.c */
903 +#define flags_decode(i,o) do {                  \
904 +        o[0] = '\0';                            \
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");  \
925 +    } while (0)
926 +
927  int DDP_rprint(int options)
928  {
929 -    fprintf(stderr, _("Routing table for `ddp' not yet supported.\n"));
930 -    return (1);
931 +    FILE *fp;
932 +    char *dest, *gw, *dev, *flags;
933 +    char oflags[32];
934 +    char *hdr = "Destination     Gateway         Device          Flags";
935 +
936 +    fp = fopen(_PATH_PROCNET_ATALK_ROUTE, "r");
937 +
938 +    if (!fp) {
939 +        perror("Error opening " _PATH_PROCNET_ATALK_ROUTE);
940 +        fprintf(stderr, "DDP (AppleTalk) not configured on this system.\n");
941 +        return 1;
942 +    }
943 +
944 +    fscanf(fp, "%as %as %as %as\n", &dest, &gw, &flags, &dev);
945 +    free(dest); free(gw); free(dev); free(flags);
946 +
947 +    printf("%s\n", hdr);
948 +
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);
954 +    }
955 +
956 +    fclose(fp);
957 +    
958 +    return 0;
959 +
960  }
961  #endif
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
964 @@ -2,7 +2,7 @@
965   * lib/ether.c        This file contains an implementation of the "Ethernet"
966   *              support functions.
967   *
968 - * Version:     $Id$
969 + * Version:     $Id$
970   *
971   * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
972   *              Copyright 1993 MicroWalt Corporation
973 @@ -39,7 +39,7 @@
974  {
975      static char buff[64];
976  
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)
981         );
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
984 @@ -0,0 +1,155 @@
985 +/*
986 + * lib/eui64.c  This file contains support for generic EUI-64 hw addressing
987 + *
988 + * Version:     $Id$
989 + *
990 + * Author:      Daniel Stodden <stodden@in.tum.de>
991 + *              Copyright 2001 Daniel Stodden
992 + *
993 + *              blueprinted from ether.c 
994 + *              Copyright 1993 MicroWalt Corporation
995 + *
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.
1001 + */
1002 +#include "config.h"
1003 +
1004 +#if HAVE_HWEUI64
1005 +
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>
1011 +#include <stdio.h>
1012 +#include <ctype.h>
1013 +#include <errno.h>
1014 +#include <fcntl.h>
1015 +#include <string.h>
1016 +#include <termios.h>
1017 +#include <unistd.h>
1018 +#include "net-support.h"
1019 +#include "pathnames.h"
1020 +#include "intl.h"
1021 +
1022 +/*
1023 + * EUI-64 constants
1024 + */
1025 +
1026 +#define EUI64_ALEN     8
1027 +
1028 +#ifndef ARPHRD_EUI64
1029 +#define ARPHRD_EUI64   27
1030 +#warning "ARPHRD_EUI64 not defined in <net/if_arp.h>. Using private value 27"
1031 +#endif
1032 +
1033 +struct hwtype eui64_hwtype;
1034 +
1035 +/* Display an EUI-64 address in readable format. */
1036 +static char *pr_eui64( unsigned char *ptr )
1037 +{
1038 +       static char buff[64];
1039 +
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)
1043 +               );
1044 +       return (buff);
1045 +}
1046 +
1047 +/* Start the PPP encapsulation on the file descriptor. */
1048 +static int in_eui64( char *bufp, struct sockaddr *sap )
1049 +{
1050 +       unsigned char *ptr;
1051 +       char c, *orig;
1052 +       int i;
1053 +       unsigned val;
1054 +
1055 +       sap->sa_family = eui64_hwtype.type;
1056 +       ptr = sap->sa_data;
1057 +
1058 +       i = 0;
1059 +       orig = bufp;
1060 +       
1061 +       while ((*bufp != '\0') && (i < EUI64_ALEN)) {
1062 +               val = 0;
1063 +               c = *bufp++;
1064 +               if (isdigit(c))
1065 +                       val = c - '0';
1066 +               else if (c >= 'a' && c <= 'f')
1067 +                       val = c - 'a' + 10;
1068 +               else if (c >= 'A' && c <= 'F')
1069 +                       val = c - 'A' + 10;
1070 +               else {
1071 +#ifdef DEBUG
1072 +                       fprintf( stderr, _("in_eui64(%s): invalid eui64 address!\n"), 
1073 +                                orig );
1074 +#endif
1075 +                       errno = EINVAL;
1076 +                       return (-1);
1077 +               }
1078 +
1079 +               val <<= 4;
1080 +               c = *bufp;
1081 +               if (isdigit(c))
1082 +                       val |= c - '0';
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)
1088 +                       val >>= 4;
1089 +               else {
1090 +#ifdef DEBUG
1091 +                       fprintf( stderr, _("in_eui64(%s): invalid eui64 address!\n"), 
1092 +                                orig );
1093 +#endif
1094 +                       errno = EINVAL;
1095 +                       return (-1);
1096 +               }
1097 +
1098 +               if (c != 0)
1099 +                       bufp++;
1100 +
1101 +               *ptr++ = (unsigned char) (val & 0377);
1102 +               i++;
1103 +               
1104 +               /* We might get a semicolon here - not required. */
1105 +               if (*bufp == ':') {
1106 +                       if (i == EUI64_ALEN) {
1107 +#ifdef DEBUG
1108 +                               fprintf(stderr, _("in_eui64(%s): trailing : ignored!\n"),
1109 +                                       orig)
1110 +#endif
1111 +                                       ; /* nothing */
1112 +                       }
1113 +                       bufp++;
1114 +               }
1115 +       }
1116 +
1117 +       /* That's it.  Any trailing junk? */
1118 +       if ((i == EUI64_ALEN) && (*bufp != '\0')) {
1119 +#ifdef DEBUG
1120 +               fprintf(stderr, _("in_eui64(%s): trailing junk!\n"), orig);
1121 +               errno = EINVAL;
1122 +               return (-1);
1123 +#endif
1124 +       }
1125 +#ifdef DEBUG
1126 +       fprintf(stderr, "in_eui64(%s): %s\n", orig, pr_eui64(sap->sa_data));
1127 +#endif
1128 +
1129 +    return (0);
1130 +}
1131 +
1132 +struct hwtype eui64_hwtype =
1133 +{
1134 +       "eui64", NULL, /*"EUI-64 addressing", */ ARPHRD_EUI64, EUI64_ALEN,
1135 +       pr_eui64, in_eui64, NULL, 0
1136 +};
1137 +
1138 +
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
1142 @@ -2,7 +2,7 @@
1143   * lib/hw.c   This file contains the top-level part of the hardware
1144   *              support functions module.
1145   *
1146 - * Version:     $Id$
1147 + * Version:     $Id$
1148   *
1149   * Maintainer:  Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
1150   *
1151 @@ -73,6 +73,8 @@
1152  
1153  extern struct hwtype ec_hwtype;
1154  
1155 +extern struct hwtype eui64_hwtype;
1156 +
1157  static struct hwtype *hwtypes[] =
1158  {
1159  
1160 @@ -144,6 +146,9 @@
1161  #if HAVE_HWX25
1162      &x25_hwtype,
1163  #endif
1164 +#if HAVE_HWEUI64
1165 +    &eui64_hwtype,
1166 +#endif
1167      &unspec_hwtype,
1168      NULL
1169  };
1170 @@ -217,6 +222,9 @@
1171  #if HAVE_HWEC
1172      ec_hwtype.title = _("Econet");
1173  #endif
1174 +#if HAVE_HWEUI64
1175 +    eui64_hwtype.title = _("Generic EUI-64");
1176 +#endif
1177      sVhwinit = 1;
1178  }
1179  
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
1182 @@ -3,7 +3,7 @@
1183   *              support functions for the net-tools.
1184   *              (most of it copied from lib/inet.c 1.26).
1185   *
1186 - * Version:     $Id$
1187 + * Version:     $Id$
1188   *
1189   * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
1190   *              Copyright 1993 MicroWalt Corporation
1191 @@ -44,6 +44,21 @@
1192  
1193  extern int h_errno;            /* some netdb.h versions don't export this */
1194  
1195 +char * fix_v4_address(char *buf, struct in6_addr *in6) 
1196 +{ 
1197 +       if (IN6_IS_ADDR_V4MAPPED(in6->s6_addr)) { 
1198 +                       char *s =strchr(buf, '.'); 
1199 +                       if (s) { 
1200 +                               while (s > buf && *s != ':')
1201 +                                       --s;
1202 +                               if (*s == ':') ++s;     
1203 +                               else s = NULL; 
1204 +                       }       
1205 +                       if (s) return s;
1206 +       } 
1207 +       return buf; 
1208 +} 
1209 +
1210  static int INET6_resolve(char *name, struct sockaddr_in6 *sin6)
1211  {
1212      struct addrinfo req, *ai;
1213 @@ -83,14 +98,14 @@
1214         return (-1);
1215      }
1216      if (numeric & 0x7FFF) {
1217 -       inet_ntop(AF_INET6, &sin6->sin6_addr, name, 80);
1218 +       inet_ntop( AF_INET6, &sin6->sin6_addr, name, 80);
1219         return (0);
1220      }
1221      if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
1222          if (numeric & 0x8000)
1223             strcpy(name, "default");
1224         else
1225 -           strcpy(name, "*");
1226 +           strcpy(name, "[::]");
1227         return (0);
1228      }
1229  
1230 @@ -109,13 +124,14 @@
1231  }
1232  
1233  
1234 +
1235  /* Display an Internet socket address. */
1236  static char *INET6_print(unsigned char *ptr)
1237  {
1238      static char name[80];
1239  
1240      inet_ntop(AF_INET6, (struct in6_addr *) ptr, name, 80);
1241 -    return name;
1242 +       return fix_v4_address(name, (struct in6_addr *)ptr);
1243  }
1244  
1245  
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));
1250 -    return (buff);
1251 +    return (fix_v4_address(buff, &((struct sockaddr_in6 *)sap)->sin6_addr));
1252  }
1253  
1254  
1255  static int INET6_getsock(char *bufp, struct sockaddr *sap)
1256  {
1257      struct sockaddr_in6 *sin6;
1258 +       char *p;
1259  
1260      sin6 = (struct sockaddr_in6 *) sap;
1261      sin6->sin6_family = AF_INET6;
1262 @@ -143,7 +160,9 @@
1263  
1264      if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0)
1265         return (-1);
1266 -
1267 +       p = fix_v4_address(bufp, &sin6->sin6_addr);
1268 +       if (p != bufp) 
1269 +               memcpy(bufp, p, strlen(p)+1); 
1270      return 16;                 /* ?;) */
1271  }
1272  
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
1275 @@ -1,4 +1,4 @@
1276 -/*
1277 + /*
1278     Modifications:
1279     1998-07-01 - Arnaldo Carvalho de Melo - GNU gettext instead of catgets,
1280     snprintf instead of sprintf
1281 @@ -71,11 +71,15 @@
1282          printf(_("INET6 (IPv6) not configured in this system.\n"));
1283         return 1;
1284      }
1285 -    printf(_("Kernel IPv6 routing table\n"));
1286  
1287 -    printf(_("Destination                                 "
1288 -            "Next Hop                                "
1289 -            "Flags Metric Ref    Use Iface\n"));
1290 +    if (numeric & RTF_CACHE)
1291 +       printf(_("Kernel IPv6 routing cache\n"));
1292 +    else
1293 +       printf(_("Kernel IPv6 routing table\n"));
1294 +
1295 +    printf(_("Destination                    "
1296 +            "Next Hop                   "
1297 +            "Flag Met Ref Use If\n"));
1298  
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",
1301 @@ -87,13 +91,19 @@
1302                      &slen,
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);
1307  #if 0
1308         if (num < 23)
1309             continue;
1310  #endif
1311 -       if (!(iflags & RTF_UP))
1312 -           continue;
1313 +       if (iflags & RTF_CACHE) {
1314 +               if (!(numeric & RTF_CACHE))
1315 +                       continue;
1316 +       } else {
1317 +               if (numeric & RTF_CACHE)
1318 +                       continue;
1319 +       }
1320 +                       
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));
1326  
1327         /* Decode the flags. */
1328 -       strcpy(flags, "U");
1329 +
1330 +       flags[0]=0;
1331 +       if (iflags & RTF_UP)
1332 +           strcat(flags, "U");
1333 +       if (iflags & RTF_REJECT)
1334 +           strcat(flags, "!");
1335         if (iflags & RTF_GATEWAY)
1336             strcat(flags, "G");
1337         if (iflags & RTF_HOST)
1338 @@ -123,9 +138,19 @@
1339             strcat(flags, "A");
1340         if (iflags & RTF_CACHE)
1341             strcat(flags, "C");
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");
1352  
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);
1357      }
1358  
1359 @@ -144,8 +169,7 @@
1360      char addr6p[8][5], haddrp[6][3];
1361  
1362      if (!fp) {
1363 -       ESYSNOT("nd_print", "ND Table");
1364 -       return 1;
1365 +       return rprint_fib6(ext, numeric | RTF_CACHE);
1366      }
1367      printf(_("Kernel IPv6 Neighbour Cache\n"));
1368  
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
1371 @@ -3,7 +3,7 @@
1372   *              support functions for the net-tools.
1373   *              (NET-3 base distribution).
1374   *
1375 - * Version:    $Id$
1376 + * Version:    $Id$
1377   *
1378   * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
1379   *              Copyright 1993 MicroWalt Corporation
1380 @@ -144,7 +144,7 @@
1381      struct hostent *ent;
1382      struct netent *np;
1383      struct addr *pn;
1384 -    unsigned long ad, host_ad;
1385 +    u_int32_t ad, host_ad;
1386      int host = 0;
1387  
1388      /* Grmpf. -FvK */
1389 @@ -155,7 +155,7 @@
1390         errno = EAFNOSUPPORT;
1391         return (-1);
1392      }
1393 -    ad = (unsigned long) sin->sin_addr.s_addr;
1394 +    ad = sin->sin_addr.s_addr;
1395  #ifdef DEBUG
1396      fprintf (stderr, "rresolve: %08lx, mask %08x, num %08x \n", ad, netmask, numeric);
1397  #endif
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
1400 @@ -3,6 +3,7 @@
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;)
1405   */
1406  
1407  #include "config.h"
1408 @@ -104,7 +105,6 @@
1409         isnet = 1; break;
1410      case 2:
1411         isnet = 0; break;
1412 -    default:
1413      }
1414  
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
1418 @@ -7,7 +7,7 @@
1419     8/2000  Andi Kleen make the list operations a bit more efficient.
1420     People are crazy enough to use thousands of aliases now.
1421  
1422 -   $Id$
1423 +   $Id$
1424   */
1425  
1426  #include "config.h"
1427 @@ -23,6 +23,7 @@
1428  #include <string.h>
1429  #include <unistd.h>
1430  #include <ctype.h>
1431 +#include <string.h>
1432  
1433  #if HAVE_AFIPX
1434  #if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
1435 @@ -87,14 +88,20 @@
1436  
1437  int ife_short;
1438  
1439 +int if_list_all = 0;   /* do we have requested the complete proc list, yet? */
1440 +
1441  static struct interface *int_list, *int_last;
1442  
1443  static int if_readlist_proc(char *);
1444  
1445 -static struct interface *add_interface(char *name)
1446 +static struct interface *if_cache_add(char *name)
1447  {
1448      struct interface *ife, **nextp, *new;
1449  
1450 +    if (!int_list)
1451 +       int_last = NULL;
1452 +
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); 
1456             if (n == 0) 
1457 @@ -104,7 +111,7 @@
1458      }
1459      new(new); 
1460      safe_strncpy(new->name, name, IFNAMSIZ); 
1461 -    nextp = ife ? &ife->next : &int_list;
1462 +    nextp = ife ? &ife->next : &int_list; // keep sorting
1463      new->prev = ife;
1464      new->next = *nextp; 
1465      if (new->next) 
1466 @@ -117,19 +124,22 @@
1467  
1468  struct interface *lookup_interface(char *name)
1469  {
1470 -    struct interface *ife = NULL;
1471 -
1472 -    if (if_readlist_proc(name) < 0) 
1473 -           return NULL; 
1474 -    ife = add_interface(name); 
1475 -    return ife;
1476 +   /* if we have read all, use it */
1477 +   if (if_list_all)
1478 +       return if_cache_add(name);
1479 +
1480 +   /* otherwise we read a limited list */
1481 +   if (if_readlist_proc(name) < 0)
1482 +       return NULL;
1483
1484 +   return if_cache_add(name);
1485  }
1486  
1487  int for_all_interfaces(int (*doit) (struct interface *, void *), void *cookie)
1488  {
1489      struct interface *ife;
1490  
1491 -    if (!int_list && (if_readlist() < 0))
1492 +    if (!if_list_all && (if_readlist() < 0))
1493         return -1;
1494      for (ife = int_list; ife; ife = ife->next) {
1495         int err = doit(ife, cookie);
1496 @@ -139,13 +149,15 @@
1497      return 0;
1498  }
1499  
1500 -int free_interface_list(void)
1501 +int if_cache_free(void)
1502  {
1503      struct interface *ife;
1504      while ((ife = int_list) != NULL) {
1505         int_list = ife->next;
1506         free(ife);
1507      }
1508 +    int_last = NULL;
1509 +    if_list_all = 0;
1510      return 0;
1511  }
1512  
1513 @@ -180,7 +192,7 @@
1514         }
1515         if (ifc.ifc_len == sizeof(struct ifreq) * numreqs) {
1516             /* assume it overflowed and try again */
1517 -           numreqs += 10;
1518 +           numreqs *= 2;
1519             continue;
1520         }
1521         break;
1522 @@ -188,7 +200,7 @@
1523  
1524      ifr = ifc.ifc_req;
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);
1528         ifr++;
1529      }
1530      err = 0;
1531 @@ -198,7 +210,7 @@
1532      return err;
1533  }
1534  
1535 -static char *get_name(char *name, char *p)
1536 +char *get_name(char *name, char *p)
1537  {
1538      while (isspace(*p))
1539         p++;
1540 @@ -206,16 +218,19 @@
1541         if (isspace(*p))
1542             break;
1543         if (*p == ':') {        /* could be an alias */
1544 -           char *dot = p, *dotname = name;
1545 -           *name++ = *p++;
1546 -           while (isdigit(*p))
1547 -               *name++ = *p++;
1548 -           if (*p != ':') {    /* it wasn't, backup */
1549 -               p = dot;
1550 -               name = dotname;
1551 +               char *dot = p++;
1552 +               while (*p && isdigit(*p)) p++;
1553 +               if (*p == ':') {
1554 +                       /* Yes it is, backup and copy it. */
1555 +                       p = dot;
1556 +                       *name++ = *p++;
1557 +                       while (*p && isdigit(*p)) {
1558 +                               *name++ = *p++;
1559 +                       }
1560 +               } else {
1561 +                       /* No, it isn't */
1562 +                       p = dot;
1563             }
1564 -           if (*p == '\0')
1565 -               return NULL;
1566             p++;
1567             break;
1568         }
1569 @@ -225,7 +240,7 @@
1570      return p;
1571  }
1572  
1573 -static int procnetdev_version(char *buf)
1574 +int procnetdev_version(char *buf)
1575  {
1576      if (strstr(buf, "compressed"))
1577         return 3;
1578 @@ -234,12 +249,12 @@
1579      return 1;
1580  }
1581  
1582 -static int get_dev_fields(char *bp, struct interface *ife)
1583 +int get_dev_fields(char *bp, struct interface *ife)
1584  {
1585      switch (procnetdev_vsn) {
1586      case 3:
1587         sscanf(bp,
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,
1593 @@ -259,7 +274,7 @@
1594                &ife->stats.tx_compressed);
1595         break;
1596      case 2:
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,
1602 @@ -277,7 +292,7 @@
1603         ife->stats.rx_multicast = 0;
1604         break;
1605      case 1:
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 @@
1612  
1613  static int if_readlist_proc(char *target)
1614  {
1615 -    static int proc_read; 
1616      FILE *fh;
1617      char buf[512];
1618      struct interface *ife;
1619      int err;
1620  
1621 -    if (proc_read) 
1622 -           return 0; 
1623 -    if (!target) 
1624 -           proc_read = 1;
1625 -
1626      fh = fopen(_PATH_PROCNET_DEV, "r");
1627      if (!fh) {
1628                 fprintf(stderr, _("Warning: cannot open %s (%s). Limited output.\n"),
1629                         _PATH_PROCNET_DEV, strerror(errno)); 
1630 -               return if_readconf();
1631 +               return -2;
1632         }       
1633      fgets(buf, sizeof buf, fh);        /* eat line */
1634      fgets(buf, sizeof buf, fh);
1635 @@ -350,7 +359,7 @@
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))
1644 @@ -359,7 +368,6 @@
1645      if (ferror(fh)) {
1646         perror(_PATH_PROCNET_DEV);
1647         err = -1;
1648 -       proc_read = 0; 
1649      }
1650  
1651  #if 0
1652 @@ -371,9 +379,16 @@
1653  
1654  int if_readlist(void) 
1655  { 
1656 -    int err = if_readlist_proc(NULL); 
1657 -    if (!err)
1658 -           err = if_readconf();
1659 +    /* caller will/should check not to call this too often 
1660 +     *   (i.e. only if if_list_all == 0 
1661 +     */
1662 +    int err = 0;
1663 +
1664 +    err |= if_readlist_proc(NULL); 
1665 +    err |= if_readconf();
1666 +
1667 +    if_list_all = 1;
1668 +
1669      return err;
1670  } 
1671  
1672 @@ -580,10 +595,10 @@
1673  void ife_print_short(struct interface *ptr)
1674  {
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 @@
1686      int hf;
1687      int can_compress = 0;
1688      unsigned long long rx, tx, short_rx, short_tx;
1689 -    char Rext[5]="b";
1690 -    char Text[5]="b";
1691 -
1692 +    const char *Rext = "B";
1693 +    const char *Text = "B";
1694 +    static char flags[200];
1695 +    
1696  #if HAVE_AFIPX
1697      static struct aftype *ipxtype = NULL;
1698  #endif
1699 @@ -670,32 +686,70 @@
1700      if (hw == NULL)
1701         hw = get_hwntype(-1);
1702  
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));
1709 -#ifdef IFF_PORTSEL
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)"));
1714 -    }
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,"));
1748 +#endif
1749 +    /* DONT FORGET TO ADD THE FLAGS IN ife_print_short */
1750 +    if (flags[strlen(flags)-1] == ',')
1751 +      flags[strlen(flags)-1] = '>';
1752 +    else
1753 +      flags[strlen(flags)-1] = 0;
1754 +      
1755 +
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);
1762  #endif
1763      printf("\n");
1764  
1765 +
1766 +
1767  #if HAVE_AFINET
1768      if (ptr->has_ip) {
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));
1774 -       }
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));
1779 +       }
1780 +       if (ptr->flags & IFF_POINTOPOINT) {
1781 +           printf(_("  destination %s"), ap->sprint(&ptr->dstaddr, 1));
1782         }
1783 -       printf(_(" Mask:%s\n"), ap->sprint(&ptr->netmask, 1));
1784 +       printf("\n");
1785      }
1786  #endif
1787  
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:"));
1795 -               switch (scope) {
1796 -               case 0:
1797 -                   printf(_("Global"));
1798 -                   break;
1799 -               case IPV6_ADDR_LINKLOCAL:
1800 -                   printf(_("Link"));
1801 -                   break;
1802 -               case IPV6_ADDR_SITELOCAL:
1803 -                   printf(_("Site"));
1804 -                   break;
1805 -               case IPV6_ADDR_COMPATv4:
1806 -                   printf(_("Compat"));
1807 -                   break;
1808 -               case IPV6_ADDR_LOOPBACK:
1809 -                   printf(_("Host"));
1810 -                   break;
1811 -               default:
1812 -                   printf(_("Unknown"));
1813 +               printf(_("        %s %s  prefixlen %d"),
1814 +                       inet6_aftype.name, 
1815 +                       inet6_aftype.sprint((struct sockaddr *) &sap, 1), 
1816 +                       plen);
1817 +               printf(_("  scopeid 0x%x"), scope);
1818 +
1819 +               flags[0] = '<'; flags[1] = 0;
1820 +               if (scope & IPV6_ADDR_COMPATv4) {
1821 +                       strcat(flags, _("compat,"));
1822 +                       scope -= IPV6_ADDR_COMPATv4;
1823                 }
1824 -               printf("\n");
1825 +               if (scope == 0)
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] = '>';
1835 +               else
1836 +                       flags[strlen(flags)-1] = 0;
1837 +               printf("%s\n", flags);
1838             }
1839         }
1840         fclose(f);
1841 @@ -747,17 +802,17 @@
1842  
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));
1864      }
1865  #endif
1866  
1867 @@ -766,7 +821,7 @@
1868         ddptype = get_afntype(AF_APPLETALK);
1869      if (ddptype != NULL) {
1870         if (ptr->has_ddp)
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));
1873      }
1874  #endif
1875  
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));
1882      }
1883  #endif
1884  
1885 -    printf("          ");
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)
1890 -       printf(_("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 "));
1918 -#endif
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));
1931 +    else
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);
1936 +
1937 +#ifdef IFF_PORTSEL
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"));
1942 +       printf("\n");
1943 +    }
1944  #endif
1945 -    printf("\n");
1946 +
1947  
1948      /* If needed, display the interface statistics. */
1949  
1950 @@ -830,55 +862,87 @@
1951          *      not for the aliases, although strictly speaking they're shared
1952          *      by all addresses.
1953          */
1954 -       printf("          ");
1955 -
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);
1960 -       if (can_compress)
1961 -           printf(_("             compressed:%lu\n"), ptr->stats.rx_compressed);
1962 -
1963         rx = ptr->stats.rx_bytes;  
1964 -       tx = ptr->stats.tx_bytes;
1965         short_rx = rx * 10;  
1966 +       if (rx > 1125899906842624ull) {
1967 +           short_rx /= 1125899906842624ull;
1968 +           Rext = "PiB";
1969 +       } else if (rx > 1099511627776ull) {
1970 +           short_rx /= 1099511627776ull;
1971 +           Rext = "TiB";
1972 +       } else if (rx > 1073741824ull) {
1973 +           short_rx /= 1073741824ull;
1974 +           Rext = "GiB";
1975 +       } else if (rx > 1048576) {
1976 +           short_rx /= 1048576;
1977 +           Rext = "MiB";
1978 +       } else if (rx > 1024) {
1979 +           short_rx /= 1024;
1980 +           Rext = "KiB";
1981 +       }
1982 +       tx = ptr->stats.tx_bytes;
1983         short_tx = tx * 10;
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"); }
1988 -
1989 -       printf("          ");
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);
1995 -       if (can_compress)
1996 -           printf(_("compressed:%lu "), ptr->stats.tx_compressed);
1997 -       if (ptr->tx_queue_len != -1)
1998 -           printf(_("txqueuelen:%d "), ptr->tx_queue_len);
1999 -       printf("\n          ");
2000 -       printf(_("RX bytes:%llu (%lu.%lu %s)  TX bytes:%llu (%lu.%lu %s)\n"),
2001 +       if (tx > 1125899906842624ull) {
2002 +           short_tx /= 1125899906842624ull;
2003 +           Text = "PiB";
2004 +       } else  if (tx > 1099511627776ull) {
2005 +           short_tx /= 1099511627776ull;
2006 +           Text = "TiB";
2007 +       } else if (tx > 1073741824ull) {
2008 +           short_tx /= 1073741824ull;
2009 +           Text = "GiB";
2010 +       } else if (tx > 1048576) {
2011 +           short_tx /= 1048576;
2012 +           Text = "MiB";
2013 +       } else if (tx > 1024) {
2014 +           short_tx /= 1024;
2015 +           Text = "KiB";
2016 +       }
2017 +
2018 +       printf("        ");
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) {
2027 +           printf("        ");
2028 +           printf(_("RX compressed:%lu\n"), ptr->stats.rx_compressed);
2029 +       }
2030 +       printf("        ");
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);
2034 +
2035 +
2036 +       printf("        ");
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) {
2042 +           printf("        ");
2043 +           printf(_("TX compressed %lu\n"), ptr->stats.tx_compressed);
2044 +       }
2045 +       printf("        ");
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);
2050      }
2051  
2052      if ((ptr->map.irq || ptr->map.mem_start || ptr->map.dma ||
2053 -        ptr->map.base_addr)) {
2054 -       printf("          ");
2055 +        ptr->map.base_addr >= 0x100)) {
2056 +       printf("        device ");
2057         if (ptr->map.irq)
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 
2061                                                    I/O maps */
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);
2067         }
2068         if (ptr->map.dma)
2069 -           printf(_("DMA chan:%x "), ptr->map.dma);
2070 +           printf(_("  dma 0x%x"), ptr->map.dma);
2071         printf("\n");
2072      }
2073      printf("\n");
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
2076 @@ -133,6 +133,9 @@
2077      char *ep;
2078      int nbo;
2079  
2080 +    if (!sai)
2081 +       return (-1);
2082 +       
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
2088 @@ -38,21 +38,27 @@
2089      char net[128], router_net[128];
2090      char router_node[128];
2091      int num;
2092 -    FILE *fp = fopen(_PATH_PROCNET_IPX_ROUTE, "r");
2093 +    FILE *fp;
2094      struct aftype *ap;
2095      struct sockaddr sa;
2096  
2097 -    if ((ap = get_afntype(AF_IPX)) == NULL) {
2098 -       EINTERN("lib/ipx_rt.c", "AF_IPX missing");
2099 -       return (-1);
2100 -    }
2101 +    fp = fopen(_PATH_PROCNET_IPX_ROUTE1, "r");
2102  
2103      if (!fp) {
2104 -        perror(_PATH_PROCNET_IPX_ROUTE);
2105 -        printf(_("IPX not configured in this system.\n"));
2106 +        fp = fopen(_PATH_PROCNET_IPX_ROUTE2, "r");
2107 +    }
2108 +    
2109 +    if (!fp) {
2110 +        perror(NULL);
2111 +        printf(_("IPX routing not in file %s or %s found.\n"), _PATH_PROCNET_IPX_ROUTE1, _PATH_PROCNET_IPX_ROUTE2);
2112         return 1;
2113      }
2114  
2115 +    if ((ap = get_afntype(AF_IPX)) == NULL) {
2116 +       EINTERN("lib/ipx_rt.c", "AF_IPX missing");
2117 +       return (-1);
2118 +    }
2119 +
2120      printf(_("Kernel IPX routing table\n"));   /* xxx */
2121      printf(_("Destination               Router Net                Router Node\n"));
2122  
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
2125 @@ -1,13 +1,15 @@
2126  /*********************************************************************
2127   *                
2128   * Filename:      irda.c
2129 - * Version:       0.1
2130 - * Description:   A first attempt to make ifconfig understand IrDA
2131 + * Version:       0.2
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>
2140   * 
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 
2143 @@ -59,9 +61,9 @@
2144   */
2145  static char *irda_print(unsigned char *ptr)
2146  {
2147 -    static char buff[8];
2148 +    static char buff[12];
2149  
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], 
2152             ptr[1], ptr[0]);
2153  
2154      return (buff);
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
2157 @@ -16,7 +16,7 @@
2158  #
2159  
2160  
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 @@
2169  "-"
2170  #endif
2171  "HDLC/LAPB "
2172 +
2173 +#if HAVE_HWEUI64
2174 +"+"
2175 +#else
2176 +"-"
2177 +#endif
2178 +"EUI64 "
2179  ;
2180  
2181  
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
2184 @@ -1,34 +1,157 @@
2185  /* Copyright 1998 by Andi Kleen. Subject to the GPL. */
2186 -/* $Id$ */ 
2187 +/* rewritten by bernd eckenfels because of complicated alias semantic */
2188 +/* $Id$ */ 
2189  #include <ctype.h>
2190  #include <stdlib.h>
2191 +#include <string.h>
2192  #include "util.h"
2193  
2194 -/* like strcmp(), but knows about numbers */
2195 -int nstrcmp(const char *astr, const char *b)
2196 +
2197 +/* return numerical :999 suffix or null. sideeffect: replace ':' with \0 */
2198 +char* cutalias(char* name)
2199  {
2200 -    const char *a = astr;
2201 +       int digit = 0;
2202 +       int pos;
2203 +       
2204 +       for(pos=strlen(name); pos>0; pos--)
2205 +       {
2206 +               if (name[pos-1]==':' && digit)
2207 +               {
2208 +                       name[pos-1]='\0';
2209 +                       return name+pos;
2210 +               }
2211 +               if (!isdigit(name[pos-1]))
2212 +                       break;
2213 +               digit = 1;
2214 +       }
2215 +       return NULL;
2216 +}
2217  
2218 -    while (*a == *b) {
2219 -       if (*a == '\0')
2220 -           return 0;
2221 -       a++;
2222 -       b++;
2223 -    }
2224 -    if (isdigit(*a)) {
2225 -       if (!isdigit(*b))
2226 -           return -1;
2227 -       while (a > astr) {
2228 -           a--;
2229 -           if (!isdigit(*a)) {
2230 -               a++;
2231 -               break;
2232 -           }
2233 -           if (!isdigit(*b))
2234 -               return -1;
2235 -           b--;
2236 +
2237 +/* return index of last non digit or -1 if it does not end with digits */
2238 +int rindex_nondigit(char *name)
2239 +{
2240 +       int pos = strlen(name);
2241 +
2242 +       for(pos=strlen(name); pos>0; pos--)
2243 +       {
2244 +               if (!isdigit(name[pos-1]))
2245 +                       return pos;
2246         }
2247 -       return atoi(a) > atoi(b) ? 1 : -1;
2248 -    }
2249 -    return *a - *b;
2250 +       return 0;
2251 +}
2252 +
2253 +
2254 +/* like strcmp(), but knows about numbers and ':' alias suffix */
2255 +int nstrcmp(const char *ap, const char *bp)
2256 +{
2257 +       char *a = (char*)strdup(ap);
2258 +       char *b = (char*)strdup(bp);
2259 +       char *an, *bn;
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);
2267 +
2268 +       if (res != 0)
2269 +               { free(a); free(b); return res; }
2270 +               
2271 +       if (aindex > bindex)
2272 +               { free(a); free(b); return 1; }
2273 +               
2274 +       if (aindex < bindex)
2275 +               { free(a); free(b); return -1; }
2276 +               
2277 +       an = a+aindex;
2278 +       bn = b+bindex;
2279 +       
2280 +       av = atoi(an);
2281 +       bv = atoi(bn);
2282 +       
2283 +       if (av < bv)
2284 +               { free(a); free(b); return -1; }
2285 +               
2286 +       if (av > bv)
2287 +               { free(a); free(b); return 1; }
2288 +               
2289 +       av = -1;
2290 +       if (aalias != NULL)
2291 +               av = atoi(aalias);
2292 +       
2293 +       bv = -1;
2294 +       if (balias != NULL)
2295 +               bv = atoi(balias);
2296 +       
2297 +       free(a); free(b);
2298 +       
2299 +       if (av < bv)
2300 +               return -1;
2301 +               
2302 +       if (av > bv)
2303 +               return 1;
2304 +               
2305 +       return 0;
2306 +}
2307 +
2308 +
2309 +#ifdef NSTRCMP_TEST
2310 +
2311 +int cs(int s)
2312 +{
2313 +       if (s < 0) return -1;
2314 +       if (s > 0) return 1;
2315 +       return 0;
2316 +}
2317 +
2318 +
2319 +int dotest(char* a, char* b, int exp)
2320 +{
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");
2324 +       return err;
2325  }
2326 +
2327 +int main()
2328 +{
2329 +       int err = 0;
2330 +       
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);
2340 +
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);
2351 +       
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);
2362 +
2363 +       return err;
2364 +}
2365 +
2366 +#endif
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
2369 @@ -1,4 +1,3 @@
2370 -
2371  /*
2372   * lib/pathnames.h    This file contains the definitions of the path 
2373   *                      names used by the NET-LIB.
2374 @@ -29,8 +28,10 @@
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"
2387 @@ -45,6 +46,7 @@
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"
2392  
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
2397 @@ -2,7 +2,7 @@
2398   * lib/tr.c   This file contains an implementation of the "Tokenring"
2399   *              support functions.
2400   *
2401 - * Version:     $Id$
2402 + * Version:     $Id$
2403   *
2404   * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
2405   *              Copyright 1993 MicroWalt Corporation
2406 @@ -30,8 +30,14 @@
2407  #include "net-support.h"
2408  #include "pathnames.h"
2409  #include "intl.h"
2410 +#include "util.h"
2411  
2412 +
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;
2417 +#endif
2418  
2419  static char *pr_tr(unsigned char *ptr)
2420  {
2421 @@ -42,7 +48,7 @@
2422              (ptr[3] & 0377), (ptr[4] & 0377), (ptr[5] & 0377)
2423         );
2424      return (buff);
2425 -}
2426 +      }
2427  
2428  
2429  static int in_tr(char *bufp, struct sockaddr *sap)
2430 @@ -51,7 +57,17 @@
2431      char c, *orig;
2432      int i, val;
2433  
2434 +#ifdef ARPHRD_IEEE802_TR
2435 +    if (kernel_version() < KRELEASE(2,3,30)) { 
2436 +        sap->sa_family = tr_hwtype.type;
2437 +    } else { 
2438 +        sap->sa_family = tr_hwtype1.type;
2439 +    }  
2440 +#else
2441      sap->sa_family = tr_hwtype.type;
2442 +    #warning "Limited functionality, no support for ARPHRD_IEEE802_TR (old kernel headers?)"
2443 +#endif
2444 +
2445      ptr = sap->sa_data;
2446  
2447      i = 0;
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
2450 @@ -293,7 +293,7 @@
2451         return 0;
2452  }
2453  
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)
2456  {
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
2461 @@ -14,3 +14,6 @@
2462  
2463  char *safe_strncpy(char *dst, const char *src, size_t size); 
2464  
2465 +
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
2470 @@ -67,7 +67,7 @@
2471    strcpy(target, *args++);
2472  
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));
2476  
2477  
2478    if ((sigdigits = x25_aftype.input(0, target, (struct sockaddr *)&sx25)) < 0) {
2479 @@ -76,8 +76,8 @@
2480    }
2481    rt.sigdigits=sigdigits;
2482  
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));
2487  
2488    while (*args) {
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
2492 @@ -9,7 +9,7 @@
2493  .\" Modified: Tuan Hoang tuan@optimus.mitre.org 
2494  .\"
2495  .\"
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"
2498  
2499  .SH NAME
2500  netstat \- Anzeige von Netzwerksverbindungen, Routentabellen, Schnittstellenstatistiken, maskierten Verbindungen, Netlink-Nachrichten und Mitgliedschaft in Multicastgruppen
2501 @@ -44,7 +44,6 @@
2502  .B netstat
2503  .RB [ \-veenpac ]
2504  .RB { \-\-interfaces | \-i }
2505 -.RI [ Schnittstelle ]
2506  
2507  .PP
2508  
2509 @@ -68,6 +67,8 @@
2510  .SH BESCHREIBUNG
2511  .B Netstat
2512  zeigt Informationen des Linux Netzwerkssystems an.
2513 +.PP
2514 +.B Bitte beachten Sie, dass der Inhalt der deutschen man-page nicht vollst\(:andig ist, im Moment.
2515  
2516  .SS "(no option)"
2517  Ohne Optionen zeigt
2518 @@ -103,18 +104,17 @@
2519  Wegen Details siehe
2520  .BR route (8).
2521  
2522 -.SS "\-i, \-\-interface \fISchnittstelle\fI"
2523 +.SS "\-i, \-\-interface"
2524  Wird die
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
2530  .B "ifconfig -e"
2531  und wird in
2532  .BR ifconfig (8)
2533  beschrieben.
2534  .B "netstat -ei" 
2535 -druckt eine Tabelle oder einen Eintrag f\(:ur einen einzelnes Interface wie
2536 +druckt eine Tabelle f\(:ur Interfaces wie
2537  .BR ifconfig .
2538  Die
2539  .B -a
2540 @@ -182,7 +182,7 @@
2541  und
2542  .BR \-\-ddp.
2543  
2544 -.SS "\-c, \-\-continous"
2545 +.SS "\-c, \-\-continuous"
2546  Mit dieser Option wiederholt
2547  .B netstat
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
2551 @@ -1,4 +1,4 @@
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"
2554  .SH NAME
2555  arp \- manipulate the system ARP cache
2556  .SH SYNOPSIS
2557 @@ -132,7 +132,10 @@
2558  entire subnet. Linux instead does automagic proxy arp when a route
2559  exists and it is forwarding. See 
2560  .BR arp (7)
2561 -for details.
2562 +for details. Also the
2563 +.B dontpub
2564 +option which is available for delete and set operations cannot be 
2565 +used with 2.4 and newer kernels.
2566  .TP
2567  .B "\-f filename, \-\-file filename"
2568  Similar to the
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
2571 @@ -1,4 +1,4 @@
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
2576  .\"}}}
2577 @@ -10,8 +10,8 @@
2578  \fIEthernet-address\fP  \fIIP-number\fP
2579  .RE
2580  .sp
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
2586  written as
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
2590 @@ -1,10 +1,10 @@
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"
2593  .SH NAME
2594  ifconfig \- configure a network interface
2595  .SH SYNOPSIS
2596 -.B "ifconfig [interface]"
2597 +.B "ifconfig [-v] [-a] [-s] [interface]"
2598  .br
2599 -.B "ifconfig interface [aftype] options | address ..."
2600 +.B "ifconfig [-v] interface [aftype] options | address ..."
2601  .SH DESCRIPTION
2602  .B Ifconfig
2603  is used to configure the kernel-resident network interfaces.  It is
2604 @@ -41,11 +41,27 @@
2605  (AMPR Packet radio).
2606  .SH OPTIONS
2607  .TP
2608 +.B -a
2609 +display all interfaces which are currently available, even if down
2610 +.TP
2611 +.B -s
2612 +display a short list (like netstat -i)
2613 +.TP
2614 +.B -v
2615 +be more verbose for some error conditions
2616 +.TP
2617  .B interface
2618  The name of the interface.  This is usually a driver name followed by
2619  a unit number, for example
2620  .B eth0
2621 -for the first Ethernet interface.
2622 +for the first Ethernet interface. If your kernel supports alias interfaces,
2623 +you can specify them with 
2624 +.B eth0:0
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).
2630  .TP
2631  .B up
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 
2637 -.BR ipchains(8)
2638 +.BR ipchains (8)
2639 +or
2640 +.BR iptables (8)
2641  command.
2642  .LP
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 :)
2649 +.LP
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.
2655  .SH FILES
2656  .I /proc/net/socket 
2657 @@ -189,7 +214,9 @@
2658  While appletalk DDP and IPX addresses will be displayed they cannot be
2659  altered by this command.
2660  .SH SEE ALSO
2661 -route(8), netstat(8), arp(8), rarp(8), ipchains(8)
2662 +route(8), netstat(8), arp(8), rarp(8), ipchains(8), iptables(8)
2663 +.br
2664 +http://physics.nist.gov/cuu/Units/binary.html - Prefixes for binary multiples
2665  .SH AUTHORS
2666  Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
2667  .br
2668 @@ -198,3 +225,5 @@
2669  Phil Blundell, <Philip.Blundell@pobox.com>
2670  .br
2671  Andi Kleen
2672 +.br
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
2676 @@ -1,7 +1,7 @@
2677  .\" Copyright (C) 2000 David A. Hinds -- dhinds@pcmcia.sourceforge.org
2678  .\" mii-tool.8 1.5 2000/04/25 22:58:19
2679  .\"
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"
2682  
2683  .SH NAME
2684  mii-tool \- view, manipulate media-independent interface status
2685 @@ -72,7 +72,24 @@
2686  commas.  Valid media are \fB100baseT4\fR, \fB100baseTx-FD\fR,
2687  \fB100baseTx-HD\fR, \fB10baseT-FD\fR, and \fB10baseT-HD\fR.
2688  
2689 +.SH DIAGNOSTICS
2690 +.TP
2691 +SIOCGMIIPHY on 'eth?' failed: Invalid argument
2692 +If the interface is not running (up), kernel will refuse to report its link state.
2693 +.TP
2694 +SIOCGMIIPHY on 'eth?' failed: Operation not permitted
2695 +Most kernels restrict access to root.
2696 +.TP
2697 +SIOCGMIIPHY on 'eth?' failed: No such device
2698 +This error is shown, if the kernel does not know about the named device.
2699 +.TP
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.
2703 +
2704  .SH AUTHORS
2705  David Hinds \- dhinds@pcmcia.sourceforge.org
2706  .br
2707  Donald Becker \- becker@scyld.com
2708 +.br
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
2712 @@ -8,7 +8,7 @@
2713  .\" Modified: Tuan Hoang tqhoang@bigfoot.com 
2714  .\"
2715  .\"
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"
2718  
2719  .SH NAME
2720  netstat \- Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
2721 @@ -23,7 +23,7 @@
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 ]
2730 @@ -37,31 +37,30 @@
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]
2737  .P
2738  .B netstat
2739  .RB { \-\-interfaces | \-i }
2740 -.RI [ iface ]
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]
2749  .P
2750  .B netstat
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]
2756  .P
2757  .B netstat
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]
2764  .P
2765  .B netstat
2766 @@ -78,6 +77,8 @@
2767  .P
2768  .IR address_family_options :
2769  .PP
2770 +.RB [ -4 ]
2771 +.RB [ -6 ]
2772  .RB [ \-\-protocol= { inet , unix , ipx , ax25 , netrom , ddp }[, ...] ]
2773  .RB [ \-\-unix | \-x ] 
2774  .RB [ \-\-inet | \-\-ip ]
2775 @@ -98,12 +99,17 @@
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 
2781 +.BR route (8) 
2782 +for details. 
2783 +.B netstat -r 
2784 +and 
2785 +.B route -e 
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
2791 -.IR iface ) .
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 @@
2798  .SS "\-a, \-\-all"
2799  Show both listening and non-listening sockets.  With the
2800  .B --interfaces
2801 -option, show interfaces that are not marked 
2802 +option, show interfaces that are not up
2803  .SS "\-F"
2804  Print routing information from the FIB.  (This is the default.)
2805  .SS "\-C"
2806  Print routing information from the route cache.
2807 -.IR UP .
2808  .P
2809  .SH OUTPUT
2810  .P
2811 @@ -221,7 +226,7 @@
2812  The socket is waiting after close to handle packets still in the network.
2813  .TP
2814  .I
2815 -CLOSED
2816 +CLOSE
2817  The socket is not being used.
2818  .TP
2819  .I
2820 @@ -438,7 +443,7 @@
2821  .P
2822  .SH AUTHORS
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
2831 @@ -61,8 +61,8 @@
2832  Create a RARP address mapping entry for host
2833  .B hostname
2834  with hardware address set to
2835 -.B hw_addr
2836 -.  The format of the hardware address is dependent on the hardware
2837 +.BR hw_addr .
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
2844 @@ -1,4 +1,4 @@
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"
2847  .SH NAME
2848  route \- show / manipulate the IP routing table
2849  .SH SYNOPSIS
2850 @@ -141,7 +141,7 @@
2851  set the TCP Maximum Segment Size (MSS) for connections over this route
2852  to M bytes. 
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)
2858  .TP 
2859 @@ -182,7 +182,7 @@
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
2865  .BR ifconfig (8)). 
2866  
2867  .TP 
2868 @@ -289,7 +289,7 @@
2869  Interface to which packets for this route will be sent.
2870  .TP
2871  .B MSS 
2872 -Default maximum segement size for TCP connections over this route.
2873 +Default maximum segment size for TCP connections over this route.
2874  .TP
2875  .B Window  
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
2879 @@ -1,4 +1,4 @@
2880 -.TH SLATTACH 8 "12 Feb 1994" "" ""
2881 +.TH SLATTACH 8 "10 Oct 2006" "" ""
2882  .SH NAME
2883  slattach \- attach a network interface to a serial line
2884  .SH SYNOPSIS
2885 @@ -24,6 +24,7 @@
2886  .B "[-h]"
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.
2889 +.TP
2890  .B "[-v]"
2891  Enable verbose output.  Useful in shell scripts.
2892  .TP
2893 @@ -41,7 +42,7 @@
2894  .TP
2895  .B "[-e]"
2896  Exit right after initializing device, instead of waiting for the
2897 -line to hangup.
2898 +line to hang up.
2899  .TP
2900  .B "[-L]"
2901  Enable 3 wire operation. The terminal is moved into CLOCAL mode, 
2902 @@ -50,8 +51,8 @@
2903  .B "[-p proto]"
2904  Set a specific kind of protocol to use on the line.  The default
2905  is set to
2906 -.B "cslip"
2907 -, i.e. compressed SLIP.  Other possible values are
2908 +.BR "cslip" ,
2909 +i.e. compressed SLIP.  Other possible values are
2910  .B "slip"
2911  (normal SLIP), 
2912  .B "adaptive"
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
2915 @@ -140,8 +140,8 @@
2916  Similaire Ã  l'option 
2917  .B \-s
2918  , mais cette fois les informations d'adresses sont prises dans le fichier
2919 -.B nom_de_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é
2924  .B /etc/ethers
2925  , mais ce n'est pas officiel.
2926 @@ -160,8 +160,8 @@
2927  .LP
2928  Chaque entrée complète se trouvant dans le cache ARP est marquée de
2929  l'indicateur
2930 -.B C
2931 -. Les entrées permanentes sont marquées de l'indicateur
2932 +.BR C .
2933 +Les entrées permanentes sont marquées de l'indicateur
2934  .B M
2935  et les entrées 'pub' ont l'indicateur
2936  .B P
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
2939 @@ -84,8 +84,8 @@
2940  .LP
2941  .B hostname
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.
2947  
2948  
2949  .LP
2950 @@ -145,8 +145,8 @@
2951  .LP
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 
2959  .IR /etc/hosts .
2960  
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
2963 @@ -60,14 +60,14 @@
2964  .TP
2965  .B "[\-]promisc"
2966  Valide ou invalide le mode
2967 -.B promiscuous
2968 -.  S'il est validé, tous les paquets circulant sur le réseau
2969 +.BR promiscuous .
2970 +S'il est validé, tous les paquets circulant sur le réseau
2971  seront reçus sur cette interface.
2972  .TP
2973  .B "[\-]allmulti"
2974  Valide ou invalide le fonctionnement de l'interface en mode
2975 -.B all-multicast
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.
2980  .TP
2981  .B "metric N"
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
2984 @@ -8,7 +8,7 @@
2985  .\" Modified: Tuan Hoang tuan@optimus.mitre.org 
2986  .\"
2987  .\"
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"
2990  
2991  .SH NAME
2992  netstat \- Affiche les connexions réseau, les tables de routage, les
2993 @@ -118,8 +118,8 @@
2994  .BR ifconfig (8).
2995  .B "netstat -ei"
2996  affiche une table ou une seule entrée d'interface comme la commande 
2997 -.B ifconfig
2998 -. Avec le paramètre
2999 +.BR ifconfig .
3000 +Avec le paramètre
3001  .B -a
3002  , vous pouvez inclure les interfaces qui ne sont pas configurées (c.a.d qui
3003  n'ont pas l'indicateur
3004 @@ -249,7 +249,7 @@
3005  avant d'entreprendre la fermeture.
3006  .TP
3007  .I
3008 -CLOSED
3009 +CLOSE
3010  La socket n'est pas utilisée.
3011  .TP
3012  .I
3013 @@ -409,8 +409,7 @@
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
3017 -.BR ipchains(8) 
3018 -.  
3019 +.BR ipchains (8).
3020  
3021  .SH FICHIERS
3022  .ta
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
3025 @@ -55,8 +55,8 @@
3026  Crée manuellement une correspondance d'adresses RARP pour l'hôte
3027  .B nom_d_hôte
3028  avec l'adresse matérielle
3029 -.B adr_materielle
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
3038 @@ -50,8 +50,8 @@
3039  Cria um mapeamento de endereços RARP para a máquina
3040  .B 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
3051 @@ -29,8 +29,7 @@
3052         http://www.national.com/pf/DP/DP83840.html
3053  */
3054  
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)";
3058  
3059  #include <unistd.h>
3060  #include <stdlib.h>
3061 @@ -46,16 +45,19 @@
3062  #include <sys/socket.h>
3063  #include <sys/ioctl.h>
3064  #include <net/if.h>
3065 +#include <linux/sockios.h>
3066 +
3067  #ifndef __GLIBC__
3068  #include <linux/if_arp.h>
3069  #include <linux/if_ether.h>
3070  #endif
3071  #include "mii.h"
3072 +#include "version.h"
3073  
3074  #define MAX_ETH                8               /* Maximum # of interfaces */
3075  
3076  /* Table of known MII's */
3077 -static struct {
3078 +static const struct {
3079      u_short    id1, id2;
3080      char       *name;
3081  } mii_id[] = {
3082 @@ -74,6 +76,9 @@
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" },
3089  };
3090  #define NMII (sizeof(mii_id)/sizeof(mii_id[0]))
3091  
3092 @@ -137,40 +142,48 @@
3093  
3094  const struct {
3095      char       *name;
3096 -    u_short    value;
3097 +    u_short    value[2];
3098  } media[] = {
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} },
3114 +
3115 +    { "1000baseT-HD",  {0, MII_BMCR2_1000HALF} },
3116 +    { "1000baseT-FD",  {0, MII_BMCR2_1000FULL} },
3117 +    { "1000baseT",     {0, MII_BMCR2_1000HALF|MII_BMCR2_1000FULL} },
3118  };
3119  #define NMEDIA (sizeof(media)/sizeof(media[0]))
3120         
3121  /* Parse an argument list of media types */
3122 -static int parse_media(char *arg)
3123 +static int parse_media(char *arg, unsigned *bmcr2)
3124  {
3125      int mask, i;
3126      char *s;
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))
3131 -           return mask;
3132 +           !(mask & ~MII_AN_ABILITY_MASK)) {
3133 +               *bmcr2 = 0;
3134 +               return mask;
3135 +       }
3136         goto failed;
3137 -    } else {
3138 -       mask = 0;
3139 -       s = strtok(arg, ", ");
3140 -       do {
3141 +    }
3142 +    mask = 0;
3143 +    *bmcr2 = 0;
3144 +    s = strtok(arg, ", ");
3145 +    do {
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);
3152 -    }
3153 +           mask |= media[i].value[0];
3154 +           *bmcr2 |= media[i].value[1];
3155 +    } while ((s = strtok(NULL, ", ")) != NULL);
3156 +
3157      return mask;
3158  failed:
3159      fprintf(stderr, "Invalid media specification '%s'.\n", arg);
3160 @@ -179,11 +192,24 @@
3161  
3162  /*--------------------------------------------------------------------*/
3163  
3164 -static char *media_list(int mask, int best)
3165 +static const char *media_list(unsigned mask, unsigned mask2, int best)
3166  {
3167      static char buf[100];
3168      int i;
3169      *buf = '\0';
3170 +
3171 +    if (mask & MII_BMCR_SPEED1000) {
3172 +       if (mask2 & MII_BMCR2_1000HALF) {
3173 +           strcat(buf, " ");
3174 +           strcat(buf, "1000baseT-HD");
3175 +           if (best) goto out;
3176 +       }
3177 +       if (mask2 & MII_BMCR2_1000FULL) {
3178 +           strcat(buf, " ");
3179 +           strcat(buf, "1000baseT-FD");
3180 +           if (best) goto out;
3181 +       }
3182 +    }
3183      mask >>= 5;
3184      for (i = 4; i >= 0; i--) {
3185         if (mask & (1<<i)) {
3186 @@ -192,6 +218,7 @@
3187             if (best) break;
3188         }
3189      }
3190 + out:
3191      if (mask & (1<<5))
3192         strcat(buf, " flow-control");
3193      return buf;
3194 @@ -201,15 +228,15 @@
3195  {
3196      char buf[100];
3197      int i, mii_val[32];
3198 -    int bmcr, bmsr, advert, lkpar;
3199 +    unsigned bmcr, bmsr, advert, lkpar, bmcr2, lpa2;
3200  
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);
3207  
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");
3211         return -1;
3212      }
3213 @@ -217,6 +244,7 @@
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];
3218  
3219      sprintf(buf, "%s: ", ifr.ifr_name);
3220      if (bmcr & MII_BMCR_AN_ENA) {
3221 @@ -224,7 +252,7 @@
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));
3227                 strcat(buf, ", ");
3228             } else {
3229                 strcat(buf, "autonegotiation failed, ");
3230 @@ -234,8 +262,10 @@
3231         }
3232      } else {
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)
3237 +               ? "1000"
3238 +               : (bmcr & MII_BMCR_100MBIT) ? "100" : "10",
3239 +               (bmcr & MII_BMCR_DUPLEX) ? "full" : "half");
3240      }
3241      strcat(buf, (bmsr & MII_BMSR_LINK_VALID) ? "link ok" : "no link");
3242  
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));
3254         printf("\n");
3255      }
3256 +    fflush(stdout);
3257      return 0;
3258  }
3259  
3260 @@ -329,7 +360,7 @@
3261         printf("resetting the transceiver...\n");
3262         mdio_write(skfd, MII_BMCR, MII_BMCR_RESET);
3263      }
3264 -    if (nway_advertise) {
3265 +    if (nway_advertise > 0) {
3266         mdio_write(skfd, MII_ANAR, nway_advertise | 1);
3267         opt_restart = 1;
3268      }
3269 @@ -379,27 +410,38 @@
3270  /*--------------------------------------------------------------------*/
3271  
3272  const char *usage =
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";
3297 +
3298 +
3299 +static void version(void)
3300 +{
3301 +    fprintf(stderr, "%s\n%s\n", Version, RELEASE);
3302 +    exit(5); /* E_VERSION */
3303 +}
3304 +
3305  
3306  int main(int argc, char **argv)
3307  {
3308      int i, c, ret, errflag = 0;
3309      char s[6];
3310 +    unsigned ctrl1000 = 0;
3311      
3312      while ((c = getopt_long(argc, argv, "A:F:p:lrRvVw?", longopts, 0)) != EOF)
3313         switch (c) {
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 @@
3322         }
3323      /* Check for a few inappropriate option combinations */
3324      if (opt_watch) verbose = 0;
3325 +
3326 +    if ((nway_advertise < 0) || (fixed_speed < 0))
3327 +       return 2;
3328 +
3329      if (errflag || (fixed_speed & (fixed_speed-1)) ||
3330         (fixed_speed && (opt_restart || nway_advertise))) {
3331         fprintf(stderr, usage, argv[0]);
3332 @@ -418,7 +464,7 @@
3333      }
3334  
3335      if (opt_version)
3336 -       printf(version);
3337 +       version();
3338  
3339      /* Open a basic socket. */
3340      if ((skfd = socket(AF_INET, SOCK_DGRAM,0)) < 0) {
3341 @@ -426,6 +472,9 @@
3342         exit(-1);
3343      }
3344  
3345 +    if (verbose > 1)
3346 +       printf("Using SIOCGMIIPHY=0x%x\n", SIOCGMIIPHY);        
3347 +
3348      /* No remaining args means show all interfaces. */
3349      if (optind == argc) {
3350         ret = 1;
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
3353 @@ -3,7 +3,7 @@
3354   * Writen 2000 by Andi Kleen.
3355   * Subject to the Gnu Public License, version 2.  
3356   * TODO: make it support token ring etc.
3357 - * $Id$
3358 + * $Id$
3359   */ 
3360  #ifndef _GNU_SOURCE 
3361  #define _GNU_SOURCE
3362 @@ -117,7 +117,8 @@
3363  }
3364  
3365  struct change { 
3366 -       struct change *next,**pprev;
3367 +       struct change *next;
3368 +       int found;
3369         char ifname[IFNAMSIZ+1];
3370         unsigned char mac[6];
3371  }; 
3372 @@ -139,10 +140,7 @@
3373                         ch->ifname, pos); 
3374         if (parsemac(p,ch->mac) < 0) 
3375                 complain(_("cannot parse MAC `%s' at %s"), p, pos); 
3376 -       if (clist) 
3377 -               clist->pprev = &ch->next;
3378         ch->next = clist;
3379 -       ch->pprev = &clist;
3380         clist = ch;
3381         return 0; 
3382  }
3383 @@ -177,7 +175,7 @@
3384                 if (*p == '\0')
3385                         continue; 
3386                 n = strcspn(p, " \t"); 
3387 -               if (n > IFNAMSIZ) 
3388 +               if (n > IFNAMSIZ-1) 
3389                         complain(_("interface name too long at line %d"), line);  
3390                 memcpy(ch->ifname, p, n); 
3391                 ch->ifname[n] = 0; 
3392 @@ -200,7 +198,7 @@
3393  
3394  void usage(void)
3395  {
3396 -       fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}")); 
3397 +       fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n")); 
3398         exit(1); 
3399  }
3400  
3401 @@ -277,21 +275,21 @@
3402                 ch = lookupmac(mac); 
3403                 if (!ch) 
3404                         continue;
3405 -                       
3406 -               *ch->pprev = ch->next;
3407 +               
3408 +               ch->found = 1;  
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)); 
3413                 } 
3414 -               free(ch);
3415         } 
3416         fclose(ifh); 
3417         
3418         while (clist) { 
3419                 struct change *ch = clist;
3420                 clist = clist->next;
3421 -               warning(_("interface '%s' not found"), ch->ifname); 
3422 +               if (!ch->found)
3423 +                       warning(_("interface '%s' not found"), ch->ifname); 
3424                 free(ch); 
3425         }
3426  
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
3429 @@ -6,7 +6,7 @@
3430   *              NET-3 Networking Distribution for the LINUX operating
3431   *              system.
3432   *
3433 - * Version:     $Id$
3434 + * Version:     $Id$
3435   *
3436   * Authors:     Fred Baumgarten, <dc6iq@insu1.etec.uni-karlsruhe.de>
3437   *              Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
3438 @@ -216,7 +216,7 @@
3439  
3440  static struct prg_node {
3441      struct prg_node *next;
3442 -    int inode;
3443 +    unsigned long inode;
3444      char name[PROGNAME_WIDTH];
3445  } *prg_hash[PRG_HASH_SIZE];
3446  
3447 @@ -249,7 +249,7 @@
3448  /* NOT working as of glibc-2.0.7: */
3449  #undef  DIRENT_HAVE_D_TYPE_WORKS
3450  
3451 -static void prg_cache_add(int inode, char *name)
3452 +static void prg_cache_add(unsigned long inode, char *name)
3453  {
3454      unsigned hi = PRG_HASHIT(inode);
3455      struct prg_node **pnp,*pn;
3456 @@ -272,7 +272,7 @@
3457      strcpy(pn->name,name);
3458  }
3459  
3460 -static const char *prg_cache_get(int inode)
3461 +static const char *prg_cache_get(unsigned long inode)
3462  {
3463      unsigned hi=PRG_HASHIT(inode);
3464      struct prg_node *pn;
3465 @@ -295,16 +295,18 @@
3466      prg_cache_loaded=0;
3467  }
3468  
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) {
3471  
3472      /* If lname is of the form "socket:[12345]", extract the "12345"
3473         as *inode_p.  Otherwise, return -1 as *inode_p.
3474         */
3475  
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;
3479 -    else {
3480 +    if (strlen(lname) < PRG_SOCKET_PFXl+3) return(-1);
3481 +    
3482 +    if (memcmp(lname, PRG_SOCKET_PFX, PRG_SOCKET_PFXl)) return(-1);
3483 +    if (lname[strlen(lname)-1] != ']') return(-1);
3484 +
3485 +    {
3486          char inode_str[strlen(lname + 1)];  /* e.g. "12345" */
3487          const int inode_str_len = strlen(lname) - PRG_SOCKET_PFXl - 1;
3488          char *serr;
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) 
3493 -            *inode_p = -1;
3494 +            return(-1);
3495      }
3496 +    return(0);
3497  }
3498  
3499  
3500  
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) {
3503  
3504      /* If lname is of the form "[0000]:12345", extract the "12345"
3505         as *inode_p.  Otherwise, return -1 as *inode_p.
3506         */
3507  
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;
3510 -    else {
3511 +    if (strlen(lname) < PRG_SOCKET_PFX2l+1) return(-1);
3512 +    if (memcmp(lname, PRG_SOCKET_PFX2, PRG_SOCKET_PFX2l)) return(-1);
3513 +
3514 +    {
3515          char *serr;
3516  
3517          *inode_p=strtol(lname + PRG_SOCKET_PFX2l,&serr,0);
3518          if (!serr || *serr || *inode_p < 0 || *inode_p >= INT_MAX) 
3519 -            *inode_p = -1;
3520 +            return(-1);
3521      }
3522 +    return(0);
3523  }
3524  
3525  
3526  
3527 +
3528  static void prg_cache_load(void)
3529  {
3530      char line[LINE_MAX],eacces=0;
3531      int procfdlen,fd,cmdllen,lnamelen;
3532      char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
3533 -    long inode;
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*/
3541  
3542 -            extract_type_1_socket_inode(lname, &inode);
3543 -
3544 -            if (inode < 0) extract_type_2_socket_inode(lname, &inode);
3545 -
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)
3549 +                continue;
3550  
3551             if (!cmdlp) {
3552                 if (procfdlen - PATH_FD_SUFFl + PATH_CMDLINEl >= 
3553 @@ -527,10 +531,10 @@
3554  
3555      if (flag_exp > 1) {
3556         if (!(flag_not & FLAG_NUM_USER) && ((pw = getpwuid(uid)) != NULL))
3557 -           printf("%-10s ", pw->pw_name);
3558 +           printf(" %-10s ", pw->pw_name);
3559         else
3560 -           printf("%-10d ", uid);
3561 -       printf("%-10ld ",inode);
3562 +           printf(" %-10d ", uid);
3563 +       printf("%-10lu ",inode);
3564      }
3565      if (flag_prg)
3566         printf("%-" PROGNAME_WIDTHs "s",prg_cache_get(inode));
3567 @@ -705,6 +709,7 @@
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];
3571 +    char *protname;
3572      struct aftype *ap;
3573  #if HAVE_AFINET6
3574      struct sockaddr_in6 localaddr, remaddr;
3575 @@ -719,12 +724,13 @@
3576         return;
3577  
3578      num = sscanf(line,
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);
3583  
3584      if (strlen(local_addr) > 8) {
3585  #if HAVE_AFINET6
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],
3590 @@ -740,6 +746,7 @@
3591         remaddr.sin6_family = AF_INET6;
3592  #endif
3593      } else {
3594 +       protname = "tcp";
3595         sscanf(local_addr, "%X",
3596                &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3597         sscanf(rem_addr, "%X",
3598 @@ -813,8 +820,8 @@
3599                          timer_run, (double) time_len / HZ, retr, timeout);
3600                 break;
3601             }
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]));
3606  
3607         finish_this_one(uid,inode,timers);
3608      }
3609 @@ -831,6 +838,7 @@
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;
3613 +    char *protname;
3614  #if HAVE_AFINET6
3615      struct sockaddr_in6 localaddr, remaddr;
3616      char addr6[INET6_ADDRSTRLEN];
3617 @@ -847,13 +855,14 @@
3618  
3619      more[0] = '\0';
3620      num = sscanf(line,
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);
3626  
3627      if (strlen(local_addr) > 8) {
3628  #if HAVE_AFINET6
3629 +       protname="udp6";
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]);
3633 @@ -868,6 +877,7 @@
3634         remaddr.sin6_family = AF_INET6;
3635  #endif
3636      } else {
3637 +        protname="udp";
3638         sscanf(local_addr, "%X",
3639                &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3640         sscanf(rem_addr, "%X",
3641 @@ -953,8 +963,8 @@
3642                          retr, timeout);
3643                 break;
3644             }
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);
3649  
3650         finish_this_one(uid,inode,timers);
3651      }
3652 @@ -971,6 +981,7 @@
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;
3656 +    char *protname;
3657  #if HAVE_AFINET6
3658      struct sockaddr_in6 localaddr, remaddr;
3659      char addr6[INET6_ADDRSTRLEN];
3660 @@ -987,12 +998,13 @@
3661  
3662      more[0] = '\0';
3663      num = sscanf(line,
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);
3668  
3669      if (strlen(local_addr) > 8) {
3670  #if HAVE_AFINET6
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;
3677  #endif
3678      } else {
3679 +        protname = "raw";
3680         sscanf(local_addr, "%X",
3681                &((struct sockaddr_in *) &localaddr)->sin_addr.s_addr);
3682         sscanf(rem_addr, "%X",
3683 @@ -1074,8 +1087,8 @@
3684                          retr, timeout);
3685                 break;
3686             }
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);
3691  
3692         finish_this_one(uid,inode,timers);
3693      }
3694 @@ -1099,9 +1112,9 @@
3695      static int has = 0;
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;
3700      void *d;
3701 -    unsigned long refcnt, proto, flags;
3702 +    unsigned long refcnt, proto, flags, inode;
3703  
3704      if (nr == 0) {
3705         if (strstr(line, "Inode"))
3706 @@ -1109,14 +1122,14 @@
3707         return;
3708      }
3709      path[0] = '\0';
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);
3713      if (num < 6) {
3714         fprintf(stderr, _("warning, got bogus unix line.\n"));
3715         return;
3716      }
3717      if (!(has & HAS_INODE))
3718 -       snprintf(path,sizeof(path),"%d",inode);
3719 +       snprintf(path,sizeof(path),"%lu",inode);
3720  
3721      if (!flag_all) {
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);
3729      else
3730 -       printf("-      ");
3731 +       printf("-        ");
3732      if (flag_prg)
3733         printf("%-" PROGNAME_WIDTHs "s",(has & HAS_INODE?prg_cache_get(inode):"-"));
3734      puts(path);
3735 @@ -1350,18 +1363,37 @@
3736      char sad[50], dad[50];
3737      struct sockaddr sa;
3738      unsigned sport = 0, dport = 0;
3739 -
3740 -    if (!(f = fopen(_PATH_PROCNET_IPX, "r"))) {
3741 -       if (errno != ENOENT) {
3742 -           perror(_PATH_PROCNET_IPX);
3743 -           return (-1);
3744 -       }
3745 -       if (flag_arg || flag_ver)
3746 -           ESYSNOT("netstat", "AF IPX");
3747 -       if (flag_arg)
3748 -           return (1);
3749 -       else
3750 -           return (0);
3751 +    struct stat s;
3752 +    
3753 +    f = fopen(_PATH_PROCNET_IPX_SOCKET1, "r");
3754 +    if (!f) {
3755 +        if (errno != ENOENT) {
3756 +            perror(_PATH_PROCNET_IPX_SOCKET1);
3757 +            return (-1);
3758 +        }
3759 +        f = fopen(_PATH_PROCNET_IPX_SOCKET2, "r");
3760 +
3761 +        /* We need to check for directory */
3762 +        if (f) {
3763 +            fstat(fileno(f), &s);
3764 +            if (!S_ISREG(s.st_mode)) {
3765 +                fclose(f);
3766 +                f=NULL;
3767 +            }
3768 +        }
3769 +
3770 +        if (!f) {
3771 +            if (errno != ENOENT) {
3772 +               perror(_PATH_PROCNET_IPX_SOCKET2);
3773 +               return (-1);
3774 +           }
3775 +           if (flag_arg || flag_ver)
3776 +               ESYSNOT("netstat", "AF IPX");
3777 +           if (flag_arg)
3778 +               return (1);
3779 +           else
3780 +               return (0);
3781 +        }
3782      }
3783      printf(_("Active IPX sockets\nProto Recv-Q Send-Q Local Address              Foreign Address            State"));  /* xxx */
3784      if (flag_exp > 1)
3785 @@ -1381,7 +1413,7 @@
3786             sscanf(st, "%X", &sport);   /* net byt order */
3787             sport = ntohs(sport);
3788         } else {
3789 -           EINTERN("netstat.c", _PATH_PROCNET_IPX " sport format error");
3790 +           EINTERN("netstat.c", "ipx socket format error in source port");
3791             return (-1);
3792         }
3793         nc = 0;
3794 @@ -1391,7 +1423,7 @@
3795                 sscanf(st, "%X", &dport);       /* net byt order */
3796                 dport = ntohs(dport);
3797             } else {
3798 -               EINTERN("netstat.c", _PATH_PROCNET_IPX " dport format error");
3799 +               EINTERN("netstat.c", "ipx soket format error in destination port");
3800                 return (-1);
3801             }
3802         } else
3803 @@ -1449,7 +1481,7 @@
3804      }
3805      if (flag_exp < 2) {
3806         ife_short = 1;
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"));
3809      }
3810  
3811      if (for_all_interfaces(do_if_print, &flag_all) < 0) {
3812 @@ -1457,7 +1489,7 @@
3813         exit(1);
3814      }
3815      if (flag_cnt)
3816 -       free_interface_list();
3817 +       if_cache_free();
3818      else {
3819         close(skfd);
3820         skfd = -1;
3821 @@ -1503,7 +1535,7 @@
3822      fprintf(stderr, _("        -C, --cache              display routing cache instead of FIB\n\n"));
3823  
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 */
3829      exit(E_USAGE);
3830 @@ -1514,7 +1546,7 @@
3831   (int argc, char *argv[]) {
3832      int i;
3833      int lop;
3834 -    struct option longopts[] =
3835 +    static struct option longopts[] =
3836      {
3837         AFTRANS_OPTS,
3838         {"version", 0, 0, 'V'},
3839 @@ -1556,7 +1588,7 @@
3840      getroute_init();           /* Set up AF routing support */
3841  
3842      afname[0] = '\0';
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)
3845         switch (i) {
3846         case -1:
3847             break;
3848 @@ -1624,6 +1656,14 @@
3849         case 'o':
3850             flag_opt++;
3851             break;
3852 +       case '6':
3853 +           if (aftrans_opt("inet6"))
3854 +               exit(1);
3855 +           break;
3856 +       case '4':
3857 +           if (aftrans_opt("inet"))
3858 +               exit(1);
3859 +           break;
3860         case 'V':
3861             version();
3862             /*NOTREACHED */
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
3865 @@ -1,4 +1,4 @@
3866 -# $Id$
3867 +# $Id$
3868  # German translation for net-tools 1.51
3869  # Copyright (C) 1999 Ralf Bächle <ralf@gnu.org>
3870  msgid ""
3871 @@ -64,7 +64,7 @@
3872  
3873  #: ../arp.c:467
3874  msgid "(incomplete)"
3875 -msgstr "(unvollsändig)"
3876 +msgstr "(unvollständig)"
3877  
3878  #: ../arp.c:484
3879  #, c-format
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
3882 @@ -1,66 +1,65 @@
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.
3888  #
3889 -#, fuzzy
3890  msgid ""
3891  msgstr ""
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"
3903  
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"
3908  
3909 -#: ../arp.c:207 ../arp.c:221
3910 +#: ../arp.c:208 ../arp.c:222
3911  #, c-format
3912  msgid "No ARP entry for %s\n"
3913  msgstr "%s jaoks pole ARP kirjet\n"
3914  
3915 -#: ../arp.c:239
3916 +#: ../arp.c:240
3917  #, c-format
3918  msgid "arp: cant get HW-Address for `%s': %s.\n"
3919  msgstr "arp: ei saa riistvaralist aadressi `%s' jaoks: %s\n"
3920  
3921 -#: ../arp.c:243
3922 +#: ../arp.c:244
3923  msgid "arp: protocol type mismatch.\n"
3924  msgstr "arp: vale protokolli tüüp\n"
3925  
3926 -#: ../arp.c:252
3927 +#: ../arp.c:253
3928  #, c-format
3929  msgid "arp: device `%s' has HW address %s `%s'.\n"
3930  msgstr "arp: seadmel `%s' on riistvaraline aadress %s `%s'\n"
3931  
3932 -#: ../arp.c:282
3933 +#: ../arp.c:283
3934  msgid "arp: need hardware address\n"
3935  msgstr "arp: puudub riistvaraline aadress\n"
3936  
3937 -#: ../arp.c:290
3938 +#: ../arp.c:291
3939  msgid "arp: invalid hardware address\n"
3940  msgstr "arp: vigane riistvaraline aadress\n"
3941  
3942 -#: ../arp.c:387
3943 +#: ../arp.c:388
3944  #, c-format
3945  msgid "arp: cannot open etherfile %s !\n"
3946  msgstr "arp: ei saa avada faili %s\n"
3947  
3948 -#: ../arp.c:403
3949 +#: ../arp.c:404
3950  #, c-format
3951  msgid "arp: format error on line %u of etherfile %s !\n"
3952  msgstr "arp: formaadiviga real %u failis %s\n"
3953  
3954 -#: ../arp.c:416
3955 +#: ../arp.c:417
3956  #, c-format
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"
3959  
3960 -#: ../arp.c:437
3961 +#: ../arp.c:438
3962  msgid ""
3963  "Address                  HWtype  HWaddress           Flags Mask            "
3964  "Iface\n"
3965 @@ -68,45 +67,45 @@
3966  "Aadress                  HWtüüp  HWaadress           Lipud Mask            "
3967  "Liides\n"
3968  
3969 -#: ../arp.c:467
3970 +#: ../arp.c:468
3971  msgid "(incomplete)"
3972  msgstr "(mittetäielik)"
3973  
3974 -#: ../arp.c:484
3975 +#: ../arp.c:485
3976  #, c-format
3977  msgid "%s (%s) at "
3978  msgstr "%s (%s) aadressil "
3979  
3980 -#: ../arp.c:490
3981 +#: ../arp.c:491
3982  msgid "<incomplete> "
3983  msgstr "<mittetäielik>"
3984  
3985 -#: ../arp.c:496
3986 +#: ../arp.c:497
3987  #, c-format
3988  msgid "netmask %s "
3989  msgstr "võrgumask %s "
3990  
3991 -#: ../arp.c:513
3992 +#: ../arp.c:514
3993  #, c-format
3994  msgid "on %s\n"
3995  msgstr "liides %s\n"
3996  
3997 -#: ../arp.c:592
3998 +#: ../arp.c:593
3999  #, c-format
4000  msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
4001  msgstr "ARP kirjeid kokku: %s\tignoreerisin: %d\tleidsin: %d\n"
4002  
4003 -#: ../arp.c:596
4004 +#: ../arp.c:597
4005  #, c-format
4006  msgid "%s (%s) -- no entry\n"
4007  msgstr "%s (%s) -- pole kirjet\n"
4008  
4009 -#: ../arp.c:598
4010 +#: ../arp.c:599
4011  #, c-format
4012  msgid "arp: in %d entries no match found.\n"
4013  msgstr "arp: ei leidnud %d kirje hulgast sobivat\n"
4014  
4015 -#: ../arp.c:613
4016 +#: ../arp.c:614
4017  msgid ""
4018  "Usage:\n"
4019  "  arp [-vn]  [<HW>] [-i <if>] [-a] [<hostname>]             <-Display ARP "
4020 @@ -116,7 +115,7 @@
4021  "ARP cache vaatamine:\n"
4022  "  arp [-vn]  [<HW>] [-i <if>] [-a] [<hosti nimi>]\n"
4023  
4024 -#: ../arp.c:614
4025 +#: ../arp.c:615
4026  msgid ""
4027  "  arp [-v]          [-i <if>] -d  <hostname> [pub][nopub]    <-Delete ARP "
4028  "entry\n"
4029 @@ -124,7 +123,7 @@
4030  "ARP kirje kustutamine:\n"
4031  "  arp [-v]          [-i <if>] -d  <hosti nimi> [pub] [nopub]\n"
4032  
4033 -#: ../arp.c:615
4034 +#: ../arp.c:616
4035  msgid ""
4036  "  arp [-vnD] [<HW>] [-i <if>] -f  [<filename>]              <-Add entry from "
4037  "file\n"
4038 @@ -132,7 +131,7 @@
4039  "ARP kirjete lisamine failist:\n"
4040  "  arp [-vnD] [<HW>] [-i <if>] -f  [<failinimi>]\n"
4041  
4042 -#: ../arp.c:616
4043 +#: ../arp.c:617
4044  msgid ""
4045  "  arp [-v]   [<HW>] [-i <if>] -s  <hostname> <hwaddr> [temp][nopub] <-Add "
4046  "entry\n"
4047 @@ -140,14 +139,14 @@
4048  "ARP kirje lisamine:\n"
4049  "  arp [-v]   [<HW>] [-i <if>] -s  <hosti nimi> <hwaddr> [temp] [nopub]\n"
4050  
4051 -#: ../arp.c:617
4052 +#: ../arp.c:618
4053  msgid ""
4054  "  arp [-v]   [<HW>] [-i <if>] -s  <hostname> <hwaddr> [netmask <nm>] pub  "
4055  "<-''-\n"
4056  msgstr ""
4057  "  arp [-v]   [<HW>] [-i <if>] -s  <hosti nimi> <hwaddr> [netmask <nm>] pub\n"
4058  
4059 -#: ../arp.c:618
4060 +#: ../arp.c:619
4061  msgid ""
4062  "  arp [-v]   [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub      "
4063  "<-''-\n"
4064 @@ -156,7 +155,7 @@
4065  "  arp [-v]   [<HW>] [-i <if>] -Ds <hosti nimi> <if> [netmask <nm>] pub\n"
4066  "\n"
4067  
4068 -#: ../arp.c:620
4069 +#: ../arp.c:621
4070  msgid ""
4071  "        -a                       display (all) hosts in alternative (BSD) "
4072  "style\n"
4073 @@ -164,37 +163,37 @@
4074  "        -a                       näita kõiki hoste alternatiivsel (BSD) "
4075  "kujul\n"
4076  
4077 -#: ../arp.c:621
4078 +#: ../arp.c:622
4079  msgid "        -s, --set                set a new ARP entry\n"
4080  msgstr "        -s, --set                uue ARP kirje seadmine\n"
4081  
4082 -#: ../arp.c:622
4083 +#: ../arp.c:623
4084  msgid "        -d, --delete             delete a specified entry\n"
4085  msgstr "        -d, --delete             määratud kirje kustutamine\n"
4086  
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"
4091  
4092 -#: ../arp.c:624
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"
4096  
4097 -#: ../arp.c:625
4098 +#: ../arp.c:626
4099  msgid ""
4100  "        -i, --device             specify network interface (e.g. eth0)\n"
4101  msgstr ""
4102  "        -i, --device             võrguliidese täpsustamine (näiteks eth0)\n"
4103  
4104 -#: ../arp.c:626
4105 +#: ../arp.c:627
4106  msgid "        -D, --use-device         read <hwaddr> from given device\n"
4107  msgstr "        -D, --use-device         lugeda <hwaddr> vastavalt liideselt\n"
4108  
4109 -#: ../arp.c:627
4110 +#: ../arp.c:628
4111  msgid "        -A, -p, --protocol       specify protocol family\n"
4112  msgstr "        -A, -p, --protocol       protokollipere määramine\n"
4113  
4114 -#: ../arp.c:628
4115 +#: ../arp.c:629
4116  msgid ""
4117  "        -f, --file               read new entries from file or from "
4118  "/etc/ethers\n"
4119 @@ -204,125 +203,125 @@
4120  "/etc/ethers'st\n"
4121  "\n"
4122  
4123 -#: ../arp.c:630 ../rarp.c:181
4124 +#: ../arp.c:631 ../rarp.c:182
4125  #, c-format
4126  msgid "  <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
4127  msgstr ""
4128  "  <HW>=kasutage '-H <hw>' riistvaralise aadressi määramiseks.\n"
4129  "       Vaikimisi: %s\n"
4130  
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"
4135  
4136 -#: ../arp.c:664 ../arp.c:749
4137 +#: ../arp.c:666 ../arp.c:751
4138  #, c-format
4139  msgid "%s: hardware type not supported!\n"
4140  msgstr "arp: riistvara tüüpi %s ei toetata\n"
4141  
4142 -#: ../arp.c:668
4143 +#: ../arp.c:670
4144  #, c-format
4145  msgid "%s: address family not supported!\n"
4146  msgstr "arp: aadressiperekonda %s ei toetata\n"
4147  
4148 -#: ../arp.c:703
4149 +#: ../arp.c:705
4150  msgid "arp: -N not yet supported.\n"
4151  msgstr "arp: -N toetust pole veel\n"
4152  
4153 -#: ../arp.c:713
4154 +#: ../arp.c:715
4155  #, c-format
4156  msgid "arp: %s: unknown address family.\n"
4157  msgstr "arp: tundmatu aadressiperekond %s\n"
4158  
4159 -#: ../arp.c:722
4160 +#: ../arp.c:724
4161  #, c-format
4162  msgid "arp: %s: unknown hardware type.\n"
4163  msgstr "arp: tundmatu riistvara tüüp %s\n"
4164  
4165 -#: ../arp.c:741
4166 +#: ../arp.c:743
4167  #, c-format
4168  msgid "arp: %s: kernel only supports 'inet'.\n"
4169  msgstr "arp: tuumas on ainult 'inet' aadressiperekonna toetus\n"
4170  
4171 -#: ../arp.c:754
4172 +#: ../arp.c:756
4173  #, c-format
4174  msgid "arp: %s: hardware type without ARP support.\n"
4175  msgstr "arp: riistvara tüübil %s pole ARP toetust\n"
4176  
4177 -#: ../hostname.c:69
4178 +#: ../hostname.c:70
4179  #, c-format
4180  msgid "Setting nodename to `%s'\n"
4181  msgstr "Sean sõlme nimeks `%s'\n"
4182  
4183 -#: ../hostname.c:74
4184 +#: ../hostname.c:75
4185  #, c-format
4186  msgid "%s: you must be root to change the node name\n"
4187  msgstr "%s: ainult root saab sõlme nime muuta\n"
4188  
4189 -#: ../hostname.c:77 ../hostname.c:97 ../hostname.c:116
4190 +#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
4191  #, c-format
4192  msgid "%s: name too long\n"
4193  msgstr "%s: nimi on liiga pikk\n"
4194  
4195 -#: ../hostname.c:89
4196 +#: ../hostname.c:90
4197  #, c-format
4198  msgid "Setting hostname to `%s'\n"
4199  msgstr "Sean hosti nimeks `%s'\n"
4200  
4201 -#: ../hostname.c:94
4202 +#: ../hostname.c:95
4203  #, c-format
4204  msgid "%s: you must be root to change the host name\n"
4205  msgstr "%s: ainult root saab hosti nime muuta\n"
4206  
4207 -#: ../hostname.c:108
4208 +#: ../hostname.c:109
4209  #, c-format
4210  msgid "Setting domainname to `%s'\n"
4211  msgstr "Sean domeeni nimeks `%s'\n"
4212  
4213 -#: ../hostname.c:113
4214 +#: ../hostname.c:114
4215  #, c-format
4216  msgid "%s: you must be root to change the domain name\n"
4217  msgstr "%s: ainult root saab domeeni nime muuta\n"
4218  
4219 -#: ../hostname.c:131
4220 +#: ../hostname.c:132
4221  #, c-format
4222  msgid "Resolving `%s' ...\n"
4223  msgstr "Lahendan `%s' ...\n"
4224  
4225 -#: ../hostname.c:137
4226 +#: ../hostname.c:138
4227  #, c-format
4228  msgid "Result: h_name=`%s'\n"
4229  msgstr "Tulemus: h_name=`%s'\n"
4230  
4231 -#: ../hostname.c:142
4232 +#: ../hostname.c:143
4233  #, c-format
4234  msgid "Result: h_aliases=`%s'\n"
4235  msgstr "Tulemus: h_aliases=`%s'\n"
4236  
4237 -#: ../hostname.c:147
4238 +#: ../hostname.c:148
4239  #, c-format
4240  msgid "Result: h_addr_list=`%s'\n"
4241  msgstr "Tulemus: h_addr_list=`%s'\n"
4242  
4243 -#: ../hostname.c:209
4244 +#: ../hostname.c:210
4245  #, c-format
4246  msgid "%s: can't open `%s'\n"
4247  msgstr "%s: ei saa avada faili `%s'\n"
4248  
4249 -#: ../hostname.c:223
4250 +#: ../hostname.c:224
4251  msgid "Usage: hostname [-v] {hostname|-F file}      set hostname (from file)\n"
4252  msgstr ""
4253  "Kasutamine:\n"
4254  "  hostname [-v] {hosti nimi|-F fail}         hosti nime seadmine (ka "
4255  "failist)\n"
4256  
4257 -#: ../hostname.c:224
4258 +#: ../hostname.c:225
4259  msgid ""
4260  "       domainname [-v] {nisdomain|-F file}   set NIS domainname (from file)\n"
4261  msgstr ""
4262  "  domainname [-v] {nisdomeen|-F fail}        NIS domeeni nime seadmine\n"
4263  
4264 -#: ../hostname.c:226
4265 +#: ../hostname.c:227
4266  msgid ""
4267  "       nodename [-v] {nodename|-F file}      set DECnet node name (from "
4268  "file)\n"
4269 @@ -330,18 +329,18 @@
4270  "  nodename [-v] {nodename|-F fail}           DECneti võrgusõlme nime "
4271  "seadmine\n"
4272  
4273 -#: ../hostname.c:228
4274 +#: ../hostname.c:229
4275  msgid "       hostname [-v] [-d|-f|-s|-a|-i|-y|-n]  display formatted name\n"
4276  msgstr ""
4277  "  hostname [-v] [-d|-f|-s|-a|-i|-y|-n]       nime näitamine antud formaadis\n"
4278  
4279 -#: ../hostname.c:229
4280 +#: ../hostname.c:230
4281  msgid ""
4282  "       hostname [-v]                         display hostname\n"
4283  "\n"
4284  msgstr "  hostname [-v]                              hosti nime näitamine\n"
4285  
4286 -#: ../hostname.c:230
4287 +#: ../hostname.c:231
4288  msgid ""
4289  "       hostname -V|--version|-h|--help       print info and exit\n"
4290  "\n"
4291 @@ -350,7 +349,7 @@
4292  "  hostname -h|--help                         seesama abiinfo\n"
4293  "\n"
4294  
4295 -#: ../hostname.c:231
4296 +#: ../hostname.c:232
4297  msgid ""
4298  "    dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
4299  "\n"
4300 @@ -358,36 +357,36 @@
4301  "  dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
4302  "\n"
4303  
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"
4308  
4309 -#: ../hostname.c:233
4310 +#: ../hostname.c:234
4311  msgid "    -a, --alias           alias names\n"
4312  msgstr "     -a, --alias          alias-nimed\n"
4313  
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"
4318  
4319 -#: ../hostname.c:235
4320 +#: ../hostname.c:236
4321  msgid "    -f, --fqdn, --long    long host name (FQDN)\n"
4322  msgstr ""
4323  "    -f, --fqdn, --long    pikk hosti nimi (FQDN - täielik süsteeminimi)\n"
4324  
4325 -#: ../hostname.c:236
4326 +#: ../hostname.c:237
4327  msgid "    -d, --domain          DNS domain name\n"
4328  msgstr "    -d, --domain          DNS domeeni nimi\n"
4329  
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"
4334  
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"
4339  
4340 -#: ../hostname.c:241
4341 +#: ../hostname.c:242
4342  msgid ""
4343  "    -F, --file            read hostname or NIS domainname from given file\n"
4344  "\n"
4345 @@ -395,7 +394,7 @@
4346  "    -F, --file            lugeda hosti või NIS domeeni nimi failist\n"
4347  "\n"
4348  
4349 -#: ../hostname.c:243
4350 +#: ../hostname.c:244
4351  msgid ""
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"
4357  
4358 -#: ../hostname.c:338
4359 +#: ../hostname.c:340
4360  #, c-format
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"
4363  
4364 -#: ../hostname.c:339
4365 +#: ../hostname.c:341
4366  msgid ""
4367  "\n"
4368  "Unless you are using bind or NIS for host lookups you can change the DNS\n"
4369 @@ -422,26 +421,26 @@
4370  "\n"
4371  "Kui Te EI kasuta bind'i ega NIS'i nimede lahendamiseks, saate DNS domeeni\n"
4372  
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"
4377  
4378 -#: ../hostname.c:357
4379 +#: ../hostname.c:359
4380  #, c-format
4381  msgid "gethostname()=`%s'\n"
4382  msgstr "gethostname()=`%s'\n"
4383  
4384 -#: ../hostname.c:374
4385 +#: ../hostname.c:376
4386  #, c-format
4387  msgid "getdomainname()=`%s'\n"
4388  msgstr "getdomainname()=`%s'\n"
4389  
4390 -#: ../hostname.c:389
4391 +#: ../hostname.c:391
4392  #, c-format
4393  msgid "getnodename()=`%s'\n"
4394  msgstr "getnodename()=`%s'\n"
4395  
4396 -#: ../ifconfig.c:110
4397 +#: ../ifconfig.c:108
4398  msgid ""
4399  "Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR "
4400  "Flg\n"
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 "
4403  "Lip\n"
4404  
4405 -#: ../ifconfig.c:132 ../ifconfig.c:164
4406 +#: ../ifconfig.c:130 ../ifconfig.c:162
4407  #, c-format
4408  msgid "%s: unknown interface: %s\n"
4409  msgstr "ifconfig: tundmatu liides %s: %s\n"
4410  
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"
4415  
4416 -#: ../ifconfig.c:179
4417 +#: ../ifconfig.c:177
4418  msgid ""
4419  "Usage:\n"
4420  "  ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
4421 @@ -466,51 +465,51 @@
4422  "Kasutamine:\n"
4423  "  ifconfig [-a] [-i] [-v] [-s] <liides> [[<AF>] <aadress>]\n"
4424  
4425 -#: ../ifconfig.c:181
4426 +#: ../ifconfig.c:179
4427  msgid "  [add <address>[/<prefixlen>]]\n"
4428  msgstr "  [add <aadress>[/<prefiksi pikkus>]]\n"
4429  
4430 -#: ../ifconfig.c:182
4431 +#: ../ifconfig.c:180
4432  msgid "  [del <address>[/<prefixlen>]]\n"
4433  msgstr "  [del <aadress>[/<prefiksi pikkus>]]\n"
4434  
4435 -#: ../ifconfig.c:183
4436 +#: ../ifconfig.c:181
4437  msgid "  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]\n"
4438  msgstr "  [[-]broadcast [<aadress>]]  [[-]pointopoint [<aadress>]]\n"
4439  
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"
4444  
4445 -#: ../ifconfig.c:187
4446 +#: ../ifconfig.c:185
4447  msgid "  [outfill <NN>] [keepalive <NN>]\n"
4448  msgstr "  [outfill <NN>] [keepalive <NN>]\n"
4449  
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"
4454  
4455 -#: ../ifconfig.c:190
4456 +#: ../ifconfig.c:188
4457  msgid "  [[-]trailers]  [[-]arp]  [[-]allmulti]\n"
4458  msgstr "  [[-]trailers]  [[-]arp]  [[-]allmulti]\n"
4459  
4460 -#: ../ifconfig.c:191
4461 +#: ../ifconfig.c:189
4462  msgid "  [multicast]  [[-]promisc]\n"
4463  msgstr "  [multicast]  [[-]promisc]\n"
4464  
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"
4469  
4470 -#: ../ifconfig.c:194
4471 +#: ../ifconfig.c:192
4472  msgid "  [txqueuelen <NN>]\n"
4473  msgstr "  [txqueuelen <NN>]\n"
4474  
4475 -#: ../ifconfig.c:197
4476 +#: ../ifconfig.c:195
4477  msgid "  [[-]dynamic]\n"
4478  msgstr "  [[-]dynamic]\n"
4479  
4480 -#: ../ifconfig.c:199
4481 +#: ../ifconfig.c:197
4482  msgid ""
4483  "  [up|down] ...\n"
4484  "\n"
4485 @@ -518,73 +517,86 @@
4486  "  [up|down] ...\n"
4487  "\n"
4488  
4489 -#: ../ifconfig.c:201
4490 +#: ../ifconfig.c:199
4491  msgid "  <HW>=Hardware Type.\n"
4492  msgstr "  <HW>=riistvara tüüp\n"
4493  
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"
4498  
4499  #. 1 = ARPable
4500 -#: ../ifconfig.c:204
4501 +#: ../ifconfig.c:202
4502  #, c-format
4503  msgid "  <AF>=Address family. Default: %s\n"
4504  msgstr "  <AF>=aadressiperekond, vaikimisi %s\n"
4505  
4506 -#: ../ifconfig.c:205
4507 +#: ../ifconfig.c:203
4508  msgid "  List of possible address families:\n"
4509  msgstr "  Võimalike aadressiperekondade nimekiri:\n"
4510  
4511 -#: ../ifconfig.c:361
4512 +#: ../ifconfig.c:278
4513 +#, c-format
4514 +msgid "ifconfig: option `%s' not recognised.\n"
4515 +msgstr ""
4516 +
4517 +#: ../ifconfig.c:280 ../ifconfig.c:925
4518 +msgid "ifconfig: `--help' gives usage information.\n"
4519 +msgstr ""
4520 +
4521 +#: ../ifconfig.c:355
4522  msgid "Unknown media type.\n"
4523  msgstr "Tundmatu meedia tüüp\n"
4524  
4525 -#: ../ifconfig.c:653
4526 +#: ../ifconfig.c:647
4527  #, c-format
4528  msgid "hw address type `%s' has no handler to set address. failed.\n"
4529  msgstr ""
4530  "riistvara aadressi tüübil `%s' pole käsitlejat aadressi seadmiseks - ebaõnn\n"
4531  
4532 -#: ../ifconfig.c:662
4533 +#: ../ifconfig.c:656
4534  #, c-format
4535  msgid "%s: invalid %s address.\n"
4536  msgstr "%s: vigane %s aadress\n"
4537  
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"
4542  
4543 -#: ../ifconfig.c:749 ../ifconfig.c:840
4544 +#: ../ifconfig.c:743 ../ifconfig.c:834
4545  #, c-format
4546  msgid "Interface %s not initialized\n"
4547  msgstr "Liides %s pole initsialiseeritud\n"
4548  
4549 -#: ../ifconfig.c:761 ../ifconfig.c:851
4550 +#: ../ifconfig.c:755 ../ifconfig.c:845
4551  msgid "Bad address.\n"
4552  msgstr "Vigane aadress\n"
4553  
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"
4558  
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"
4563 +
4564 +#: ../ifconfig.c:946
4565  msgid "No support for ECONET on this system.\n"
4566  msgstr "Antud süsteem ei toeta ECONET aadressiperekonda\n"
4567  
4568 -#: ../ifconfig.c:955
4569 +#: ../ifconfig.c:954
4570  #, c-format
4571  msgid "Don't know how to set addresses for family %d.\n"
4572  msgstr "Ei oska seada aadresse aadressiperekonna %d jaoks\n"
4573  
4574 -#: ../netstat.c:429
4575 +#: ../netstat.c:430
4576  #, c-format
4577  msgid ""
4578  "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
4579  msgstr ""
4580  "(\"-p\" jaoks ei saanud infot lugeda: geteuid()=%d, aga vaja oleks root'u)\n"
4581  
4582 -#: ../netstat.c:433
4583 +#: ../netstat.c:434
4584  msgid ""
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"
4590  
4591 -#: ../netstat.c:440 ../netstat.c:1171 ../netstat.c:1248
4592 +#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
4593  msgid "LISTENING"
4594  msgstr "LISTENING"
4595  
4596 -#: ../netstat.c:441
4597 +#: ../netstat.c:442
4598  msgid "CONN SENT"
4599  msgstr "CONN SENT"
4600  
4601 -#: ../netstat.c:442 ../netstat.c:1250
4602 +#: ../netstat.c:443 ../netstat.c:1255
4603  msgid "DISC SENT"
4604  msgstr "DISC SENT"
4605  
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
4608  msgid "ESTABLISHED"
4609  msgstr "ESTABLISHED"
4610  
4611 -#: ../netstat.c:465
4612 +#: ../netstat.c:466
4613  msgid "Active NET/ROM sockets\n"
4614  msgstr "Aktiivsed NET/ROM soklid\n"
4615  
4616 -#: ../netstat.c:466
4617 +#: ../netstat.c:467
4618  msgid ""
4619  "User       Dest       Source     Device  State        Vr/Vs    Send-Q  "
4620  "Recv-Q\n"
4621 @@ -620,182 +632,182 @@
4622  "Kasutaja   Sihtpunkt  Lähtepunkt Liides  Olek         Vr/Vs    SaatJrk "
4623  "VvJrk\n"
4624  
4625 -#: ../netstat.c:476 ../netstat.c:1290
4626 +#: ../netstat.c:477 ../netstat.c:1295
4627  #, c-format
4628  msgid "Problem reading data from %s\n"
4629  msgstr "Probleem andmete lugemisel failist %s\n"
4630  
4631 -#: ../netstat.c:511
4632 +#: ../netstat.c:512
4633  msgid "SYN_SENT"
4634  msgstr "SYN_SENT"
4635  
4636 -#: ../netstat.c:512
4637 +#: ../netstat.c:513
4638  msgid "SYN_RECV"
4639  msgstr "SYN_RECV"
4640  
4641 -#: ../netstat.c:513
4642 +#: ../netstat.c:514
4643  msgid "FIN_WAIT1"
4644  msgstr "FIN_WAIT1"
4645  
4646 -#: ../netstat.c:514
4647 +#: ../netstat.c:515
4648  msgid "FIN_WAIT2"
4649  msgstr "FIN_WAIT2"
4650  
4651 -#: ../netstat.c:515
4652 +#: ../netstat.c:516
4653  msgid "TIME_WAIT"
4654  msgstr "TIME_WAIT"
4655  
4656 -#: ../netstat.c:516
4657 +#: ../netstat.c:517
4658  msgid "CLOSE"
4659  msgstr "CLOSE"
4660  
4661 -#: ../netstat.c:517
4662 +#: ../netstat.c:518
4663  msgid "CLOSE_WAIT"
4664  msgstr "CLOSE_WAIT"
4665  
4666 -#: ../netstat.c:518
4667 +#: ../netstat.c:519
4668  msgid "LAST_ACK"
4669  msgstr "LAST_ACK"
4670  
4671 -#: ../netstat.c:519
4672 +#: ../netstat.c:520
4673  msgid "LISTEN"
4674  msgstr "LISTEN"
4675  
4676 -#: ../netstat.c:520
4677 +#: ../netstat.c:521
4678  msgid "CLOSING"
4679  msgstr "CLOSING"
4680  
4681 -#: ../netstat.c:587
4682 +#: ../netstat.c:592
4683  #, c-format
4684  msgid "warning, got bogus igmp6 line %d.\n"
4685  msgstr "Hoiatus - sain imeliku igmp6 rea (nr. %d)\n"
4686  
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
4691  #, c-format
4692  msgid "netstat: unsupported address family %d !\n"
4693  msgstr "netstat: aadressiperekonda %d ei toetata\n"
4694  
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
4697  #, c-format
4698  msgid "warning, got bogus igmp line %d.\n"
4699  msgstr "Hoiatus - sain imeliku igmp rea (nr. %d)\n"
4700  
4701 -#: ../netstat.c:668
4702 +#: ../netstat.c:673
4703  msgid "Active X.25 sockets\n"
4704  msgstr "Aktiivsed X.25 soklid\n"
4705  
4706  #. IMHO, Vr/Vs is not very usefull --SF
4707 -#: ../netstat.c:670
4708 +#: ../netstat.c:675
4709  msgid ""
4710  "Dest         Source          Device  LCI  State        Vr/Vs  Send-Q  "
4711  "Recv-Q\n"
4712  msgstr ""
4713  "Sihtpunkt    Lähtepunkt      Liides  LCI  Olek         Vr/Vs  SaatJrk VvJrk\n"
4714  
4715 -#: ../netstat.c:747
4716 +#: ../netstat.c:752
4717  msgid "warning, got bogus tcp line.\n"
4718  msgstr "Hoiatus - sain imeliku tcp rea\n"
4719  
4720 -#: ../netstat.c:788 ../netstat.c:938 ../netstat.c:1057
4721 +#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
4722  #, c-format
4723  msgid "off (0.00/%ld/%d)"
4724  msgstr "eikäi ((0.00/%ld/%d)"
4725  
4726 -#: ../netstat.c:792
4727 +#: ../netstat.c:797
4728  #, c-format
4729  msgid "on (%2.2f/%ld/%d)"
4730  msgstr "käib (%2.2f/%ld/%d)"
4731  
4732 -#: ../netstat.c:797
4733 +#: ../netstat.c:802
4734  #, c-format
4735  msgid "keepalive (%2.2f/%ld/%d)"
4736  msgstr "keepalive (%2.2f/%ld/%d)"
4737  
4738 -#: ../netstat.c:802
4739 +#: ../netstat.c:807
4740  #, c-format
4741  msgid "timewait (%2.2f/%ld/%d)"
4742  msgstr "timewait (%2.2f/%ld/%d)"
4743  
4744 -#: ../netstat.c:807 ../netstat.c:947 ../netstat.c:1067
4745 +#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
4746  #, c-format
4747  msgid "unkn-%d (%2.2f/%ld/%d)"
4748  msgstr "eitea-%d (%2.2f/%ld/%d)"
4749  
4750 -#: ../netstat.c:879
4751 +#: ../netstat.c:884
4752  msgid "warning, got bogus udp line.\n"
4753  msgstr "Hoiatus - sain imeliku udp rea\n"
4754  
4755 -#: ../netstat.c:897 ../netstat.c:1157 ../netstat.c:1190
4756 +#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
4757  msgid "UNKNOWN"
4758  msgstr "TUNDMATU"
4759  
4760 -#: ../netstat.c:943 ../netstat.c:1062
4761 +#: ../netstat.c:948 ../netstat.c:1067
4762  #, c-format
4763  msgid "on%d (%2.2f/%ld/%d)"
4764  msgstr "käib-%d (%2.2f/%ld/%d)"
4765  
4766 -#: ../netstat.c:1028
4767 +#: ../netstat.c:1033
4768  msgid "warning, got bogus raw line.\n"
4769  msgstr "Hoiatus - sain imeliku raw rea\n"
4770  
4771 -#: ../netstat.c:1110
4772 +#: ../netstat.c:1115
4773  msgid "warning, got bogus unix line.\n"
4774  msgstr "Hoiatus - sain imeliku unix rea\n"
4775  
4776 -#: ../netstat.c:1137
4777 +#: ../netstat.c:1142
4778  msgid "STREAM"
4779  msgstr "STREAM"
4780  
4781 -#: ../netstat.c:1141
4782 +#: ../netstat.c:1146
4783  msgid "DGRAM"
4784  msgstr "DGRAM"
4785  
4786 -#: ../netstat.c:1145
4787 +#: ../netstat.c:1150
4788  msgid "RAW"
4789  msgstr "RAW"
4790  
4791 -#: ../netstat.c:1149
4792 +#: ../netstat.c:1154
4793  msgid "RDM"
4794  msgstr "RDM"
4795  
4796 -#: ../netstat.c:1153
4797 +#: ../netstat.c:1158
4798  msgid "SEQPACKET"
4799  msgstr "SEQPACKET"
4800  
4801 -#: ../netstat.c:1162
4802 +#: ../netstat.c:1167
4803  msgid "FREE"
4804  msgstr "VABA"
4805  
4806 -#: ../netstat.c:1178
4807 +#: ../netstat.c:1183
4808  msgid "CONNECTING"
4809  msgstr "ÃœHENDUMAS"
4810  
4811 -#: ../netstat.c:1182
4812 +#: ../netstat.c:1187
4813  msgid "CONNECTED"
4814  msgstr "ÃœHENDATUD"
4815  
4816 -#: ../netstat.c:1186
4817 +#: ../netstat.c:1191
4818  msgid "DISCONNECTING"
4819  msgstr "LAHTIÃœHENDUMAS"
4820  
4821 -#: ../netstat.c:1217
4822 +#: ../netstat.c:1222
4823  msgid "Active UNIX domain sockets "
4824  msgstr "Aktiivsed UNIX domeeni soklid "
4825  
4826 -#: ../netstat.c:1219 ../netstat.c:1729
4827 +#: ../netstat.c:1224 ../netstat.c:1735
4828  msgid "(servers and established)"
4829  msgstr "(serverid ja Ã¼hendatud)"
4830  
4831 -#: ../netstat.c:1222 ../netstat.c:1732
4832 +#: ../netstat.c:1227 ../netstat.c:1738
4833  msgid "(only servers)"
4834  msgstr "(ainult serverid)"
4835  
4836 -#: ../netstat.c:1224 ../netstat.c:1734
4837 +#: ../netstat.c:1229 ../netstat.c:1740
4838  msgid "(w/o servers)"
4839  msgstr "(ilma serveriteta)"
4840  
4841 -#: ../netstat.c:1227
4842 +#: ../netstat.c:1232
4843  msgid ""
4844  "\n"
4845  "Proto RefCnt Flags       Type       State         I-Node"
4846 @@ -803,32 +815,32 @@
4847  "\n"
4848  "Proto Mitu   Lipud       Tüüp       Olek         I-kirje "
4849  
4850 -#: ../netstat.c:1229
4851 +#: ../netstat.c:1234
4852  msgid " Path\n"
4853  msgstr "Tee\n"
4854  
4855 -#: ../netstat.c:1249
4856 +#: ../netstat.c:1254
4857  msgid "SABM SENT"
4858  msgstr "SABM SENT"
4859  
4860 -#: ../netstat.c:1252
4861 +#: ../netstat.c:1257
4862  msgid "RECOVERY"
4863  msgstr "RECOVERY"
4864  
4865 -#: ../netstat.c:1266
4866 +#: ../netstat.c:1271
4867  msgid "Active AX.25 sockets\n"
4868  msgstr "Aktiivsed AX.25 soklid\n"
4869  
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"
4874  
4875 -#: ../netstat.c:1310
4876 +#: ../netstat.c:1315
4877  #, c-format
4878  msgid "problem reading data from %s\n"
4879  msgstr "Probleem andmete lugemisel failist %s\n"
4880  
4881 -#: ../netstat.c:1361
4882 +#: ../netstat.c:1366
4883  msgid ""
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             "
4888  "Olek "
4889  
4890 -#: ../netstat.c:1363
4891 +#: ../netstat.c:1368
4892  msgid " User"
4893  msgstr " Kasutaja"
4894  
4895 -#: ../netstat.c:1397
4896 +#: ../netstat.c:1402
4897  msgid "ESTAB"
4898  msgstr "ESTAB"
4899  
4900 -#: ../netstat.c:1405
4901 +#: ../netstat.c:1410
4902  msgid "UNK."
4903  msgstr "UNK."
4904  
4905 -#: ../netstat.c:1443
4906 +#: ../netstat.c:1448
4907  msgid "Kernel Interface table\n"
4908  msgstr "Tuuma liideste tabel\n"
4909  
4910 -#: ../netstat.c:1447
4911 +#: ../netstat.c:1452
4912  msgid ""
4913  "Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR "
4914  "Flg\n"
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 "
4917  "Lip\n"
4918  
4919 -#: ../netstat.c:1451
4920 +#: ../netstat.c:1456
4921  msgid "missing interface information"
4922  msgstr "Puudulik informatsioon liideste kohta"
4923  
4924 -#: ../netstat.c:1474
4925 +#: ../netstat.c:1479
4926  msgid ""
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"
4932  
4933 -#: ../netstat.c:1475
4934 +#: ../netstat.c:1480
4935  msgid "       netstat [-vnNcaeol] [<Socket> ...]\n"
4936  msgstr "            netstat [-vnNcaeol] [<Sokkel> ...]\n"
4937  
4938 -#: ../netstat.c:1476
4939 +#: ../netstat.c:1481
4940  msgid ""
4941  "       netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
4942  "\n"
4943 @@ -886,25 +898,25 @@
4944  "            netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
4945  "\n"
4946  
4947 -#: ../netstat.c:1478
4948 +#: ../netstat.c:1483
4949  msgid "        -r, --route              display routing table\n"
4950  msgstr "        -r, --route              ruutingutabeli näitamine\n"
4951  
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"
4956  
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"
4961  
4962 -#: ../netstat.c:1481
4963 +#: ../netstat.c:1486
4964  msgid ""
4965  "        -s, --statistics         display networking statistics (like SNMP)\n"
4966  msgstr ""
4967  "        -s, --statistics         võrgu statistika näitamine (SNMP stiilis)\n"
4968  
4969 -#: ../netstat.c:1483
4970 +#: ../netstat.c:1488
4971  msgid ""
4972  "        -M, --masquerade         display masqueraded connections\n"
4973  "\n"
4974 @@ -912,36 +924,32 @@
4975  "        -M, --masquerade         maskeeritavate Ã¼henduste näitamine\n"
4976  "\n"
4977  
4978 -#: ../netstat.c:1486 ../route.c:86
4979 -msgid "        -n, --numeric            dont resolve names\n"
4980 -msgstr "        -n, --numeric            mitte lahendada numbreid nimedeks\n"
4981 -
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"
4987  
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"
4993  
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"
4999  
5000 -#: ../netstat.c:1490
5001 +#: ../netstat.c:1495
5002  msgid "        -N, --symbolic           resolve hardware names\n"
5003  msgstr "        -N, --symbolic           lahendada riistvara aadressid\n"
5004  
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"
5009  
5010 -#: ../netstat.c:1492
5011 +#: ../netstat.c:1497
5012  msgid "        -p, --programs           display PID/Program name for sockets\n"
5013  msgstr ""
5014  "        -p, --programs           soklite kohta PID/protsessi nime näitamine\n"
5015  
5016 -#: ../netstat.c:1493
5017 +#: ../netstat.c:1498
5018  msgid ""
5019  "        -c, --continuous         continuous listing\n"
5020  "\n"
5021 @@ -949,22 +957,22 @@
5022  "        -c, --continuous         pidevalt uuenev nimekiri\n"
5023  "\n"
5024  
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"
5029  
5030 -#: ../netstat.c:1495
5031 +#: ../netstat.c:1500
5032  msgid ""
5033  "        -a, --all, --listening   display all sockets (default: connected)\n"
5034  msgstr ""
5035  "        -a, --all, --listening   kõigi soklite näitamine (vaikimisi "
5036  "ühendatud)\n"
5037  
5038 -#: ../netstat.c:1496
5039 +#: ../netstat.c:1501
5040  msgid "        -o, --timers             display timers\n"
5041  msgstr "        -o, --timers             taimerite näitamine\n"
5042  
5043 -#: ../netstat.c:1497 ../route.c:88
5044 +#: ../netstat.c:1502 ../route.c:89
5045  msgid ""
5046  "        -F, --fib                display Forwarding Information Base "
5047  "(default)\n"
5048 @@ -972,7 +980,7 @@
5049  "        -F, --fib                Ã¼ldiste ruutingutabelite näitamine "
5050  "(vaikimisi)\n"
5051  
5052 -#: ../netstat.c:1498 ../route.c:89
5053 +#: ../netstat.c:1503 ../route.c:90
5054  msgid ""
5055  "        -C, --cache              display routing cache instead of FIB\n"
5056  "\n"
5057 @@ -981,7 +989,7 @@
5058  "näitamine\n"
5059  "\n"
5060  
5061 -#: ../netstat.c:1500
5062 +#: ../netstat.c:1505
5063  msgid ""
5064  "  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
5065  "--netrom\n"
5066 @@ -989,20 +997,19 @@
5067  "  <Sokkel>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
5068  "--netrom\n"
5069  
5070 -#: ../netstat.c:1501 ../route.c:91
5071 -#, c-format
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"
5077  
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"
5082  
5083 -#: ../netstat.c:1726
5084 +#: ../netstat.c:1732
5085  msgid "Active Internet connections "
5086  msgstr "Aktiivsed internetiühendused "
5087  
5088 -#: ../netstat.c:1736
5089 +#: ../netstat.c:1742
5090  msgid ""
5091  "\n"
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     "
5095  "  "
5096  
5097 -#: ../netstat.c:1738
5098 +#: ../netstat.c:1744
5099  msgid " User       Inode     "
5100  msgstr " Kasutaja   I-kirje   "
5101  
5102 -#: ../netstat.c:1741
5103 +#: ../netstat.c:1747
5104  msgid " Timer"
5105  msgstr " Taimer"
5106  
5107 -#: ../netstat.c:1771
5108 +#: ../netstat.c:1777
5109  msgid "IPv4 Group Memberships\n"
5110  msgstr "IPv4 grupikuuluvused\n"
5111  
5112 -#: ../netstat.c:1772
5113 +#: ../netstat.c:1778
5114  msgid "Interface       RefCnt Group\n"
5115  msgstr "Liides          Mitu   Grupp\n"
5116  
5117 -#: ../rarp.c:43
5118 +#: ../rarp.c:44
5119  msgid "This kernel does not support RARP.\n"
5120  msgstr "rarp: tuum ei toeta RARP'i\n"
5121  
5122 -#: ../rarp.c:82
5123 +#: ../rarp.c:83
5124  #, c-format
5125  msgid "no RARP entry for %s.\n"
5126  msgstr "rarp: %s jaoks pole RARP kirjet\n"
5127  
5128 -#: ../rarp.c:95
5129 +#: ../rarp.c:96
5130  #, c-format
5131  msgid "%s: bad hardware address\n"
5132  msgstr "rarp: vigane riistvaraline aadress %s\n"
5133  
5134 -#: ../rarp.c:127
5135 +#: ../rarp.c:128
5136  #, c-format
5137  msgid "rarp: cannot open file %s:%s.\n"
5138  msgstr "rarp: ei saa avada faili %s:%s\n"
5139  
5140 -#: ../rarp.c:139
5141 +#: ../rarp.c:140
5142  #, c-format
5143  msgid "rarp: format error at %s:%u\n"
5144  msgstr "rarp: vorminguviga failis %s real %u\n"
5145  
5146 -#: ../rarp.c:143 ../rarp.c:287
5147 +#: ../rarp.c:144 ../rarp.c:289
5148  #, c-format
5149  msgid "rarp: %s: unknown host\n"
5150  msgstr "rarp: tundmatu host %s\n"
5151  
5152 -#: ../rarp.c:146
5153 +#: ../rarp.c:147
5154  #, c-format
5155  msgid "rarp: cannot set entry from %s:%u\n"
5156  msgstr "rarp: ei saa kehtestada kirjet failist %s realt %u\n"
5157  
5158 -#: ../rarp.c:175
5159 +#: ../rarp.c:176
5160  msgid "Usage: rarp -a                               list entries in cache.\n"
5161  msgstr ""
5162  "Kasutamine:\n"
5163  "  rarp -a                              puhvris olevate kirjete vaatamine\n"
5164  
5165 -#: ../rarp.c:176
5166 +#: ../rarp.c:177
5167  msgid "       rarp -d <hostname>                    delete entry from cache.\n"
5168  msgstr "  rarp -d <hosti nimi>                 kirje kustutamine puhvrist\n"
5169  
5170 -#: ../rarp.c:177
5171 +#: ../rarp.c:178
5172  msgid "       rarp [<HW>] -s <hostname> <hwaddr>    add entry to cache.\n"
5173  msgstr "  rarp [<HW>] -s <hosti nimi> <hwaddr> kirje lisamine puhvrisse\n"
5174  
5175 -#: ../rarp.c:178
5176 +#: ../rarp.c:179
5177  msgid ""
5178  "       rarp -f                               add entries from /etc/ethers.\n"
5179  msgstr ""
5180  "  rarp -f                              kirjete lisamine failist /etc/ethers\n"
5181  
5182 -#: ../rarp.c:179
5183 +#: ../rarp.c:180
5184  msgid ""
5185  "       rarp -V                               display program version.\n"
5186  "\n"
5187 @@ -1090,24 +1097,24 @@
5188  "  rarp -V                              programmi versiooni näitamine\n"
5189  "\n"
5190  
5191 -#: ../rarp.c:236
5192 +#: ../rarp.c:238
5193  #, c-format
5194  msgid "%s: illegal option mix.\n"
5195  msgstr "%s: lubamatu võtmete kombinatsioon\n"
5196  
5197 -#: ../rarp.c:267
5198 +#: ../rarp.c:269
5199  #, c-format
5200  msgid "rarp: %s: unknown hardware type.\n"
5201  msgstr "rarp: tundmatu riistvara tüüp %s\n"
5202  
5203 -#: ../route.c:79
5204 +#: ../route.c:80
5205  msgid ""
5206  "Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables\n"
5207  msgstr ""
5208  "Kasutamine:\n"
5209  "    route [-nNvee] [-FC] [<AF>]           Tuuma ruutingutabeli näitamine\n"
5210  
5211 -#: ../route.c:80
5212 +#: ../route.c:81
5213  msgid ""
5214  "       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.\n"
5215  "\n"
5216 @@ -1115,7 +1122,7 @@
5217  "    route [-v] [-FC] {add|del|flush} ...  Tuuma ruutingutabeli muutmine\n"
5218  "\n"
5219  
5220 -#: ../route.c:82
5221 +#: ../route.c:83
5222  msgid ""
5223  "       route {-h|--help} [<AF>]              Detailed usage syntax for "
5224  "specified AF.\n"
5225 @@ -1123,7 +1130,7 @@
5226  "    route {-h|--help} [<AF>]              Detailne süntaks perekonna AF "
5227  "jaoks\n"
5228  
5229 -#: ../route.c:83
5230 +#: ../route.c:84
5231  msgid ""
5232  "       route {-V|--version}                  Display version/author and "
5233  "exit.\n"
5234 @@ -1149,25 +1156,25 @@
5235  msgid "%s\tnibble %lu  trigger %lu\n"
5236  msgstr "%s\tnibble %lu  trigger %lu\n"
5237  
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"
5242  
5243 -#: ../iptunnel.c:85
5244 +#: ../iptunnel.c:86
5245  msgid ""
5246  "          [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
5247  msgstr ""
5248  "             [ mode { ipip | gre | sit } ] [ remote AADR ] [ local AADR ]\n"
5249  
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"
5254  
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"
5259  
5260 -#: ../iptunnel.c:88
5261 +#: ../iptunnel.c:89
5262  msgid ""
5263  "       iptunnel -V | --version\n"
5264  "\n"
5265 @@ -1175,83 +1182,83 @@
5266  "             iptunnel -V | --version\n"
5267  "\n"
5268  
5269 -#: ../iptunnel.c:89
5270 +#: ../iptunnel.c:90
5271  msgid "Where: NAME := STRING\n"
5272  msgstr "Kus:   NIMI := STRING\n"
5273  
5274 -#: ../iptunnel.c:90
5275 +#: ../iptunnel.c:91
5276  msgid "       ADDR := { IP_ADDRESS | any }\n"
5277  msgstr "       AADR := { IP_AADRESS | any }\n"
5278  
5279 -#: ../iptunnel.c:91
5280 +#: ../iptunnel.c:92
5281  msgid "       TOS  := { NUMBER | inherit }\n"
5282  msgstr "       TOS  := { ARV | inherit }\n"
5283  
5284 -#: ../iptunnel.c:92
5285 +#: ../iptunnel.c:93
5286  msgid "       TTL  := { 1..255 | inherit }\n"
5287  msgstr "       TTL  := { 1..255 | inherit }\n"
5288  
5289 -#: ../iptunnel.c:93
5290 +#: ../iptunnel.c:94
5291  msgid "       KEY  := { DOTTED_QUAD | NUMBER }\n"
5292  msgstr ""
5293  "       KEY  := { PUNKTIDEGA_ARVUNELIK | ARV }\n"
5294  "       LIIDES := FÜÜSILISE_LIIDESE_NIMI\n"
5295  
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"
5300  
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"
5305  
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"
5310  
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"
5315  
5316 -#: ../iptunnel.c:416
5317 +#: ../iptunnel.c:417
5318  #, c-format
5319  msgid "%s: %s/ip  remote %s  local %s "
5320  msgstr "%s: %s/ip teises otsas %s  siin %s "
5321  
5322 -#: ../iptunnel.c:420
5323 +#: ../iptunnel.c:421
5324  msgid "unknown"
5325  msgstr "tundmatu"
5326  
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"
5331  
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"
5336  
5337 -#: ../iptunnel.c:456
5338 +#: ../iptunnel.c:457
5339  msgid "  Sequence packets on output.\n"
5340  msgstr "  Väljuvad paketid varustatakse järjekorranumbritega\n"
5341  
5342 -#: ../iptunnel.c:458
5343 +#: ../iptunnel.c:459
5344  msgid "  Checksum output packets.\n"
5345  msgstr "  Väljuvad paketid varustatakse kontrollsummaga\n"
5346  
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"
5351  
5352 -#: ../iptunnel.c:499
5353 +#: ../iptunnel.c:500
5354  #, c-format
5355  msgid "Failed to get type of [%s]\n"
5356  msgstr "Ei suutnud kindlaks teha liidese %s tüüpi\n"
5357  
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"
5362  
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"
5367  
5368 @@ -1972,15 +1979,15 @@
5369  msgid "[UNKNOWN]"
5370  msgstr "[TUNDMATU]"
5371  
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"
5376  
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"
5381  
5382 -#: ../lib/inet6_gr.c:84
5383 +#: ../lib/inet6_gr.c:76
5384  msgid ""
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"
5390  
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"
5395  
5396 -#: ../lib/inet6_gr.c:161
5397 +#: ../lib/inet6_gr.c:153
5398  msgid ""
5399  "Neighbour                                   HW Address        Iface    Flags "
5400  "Ref State\n"
5401 @@ -2000,7 +2007,7 @@
5402  "Naaber                                      HW Aadress        Liides   Lipud "
5403  "Mitu Olek\n"
5404  
5405 -#: ../lib/inet6_gr.c:165
5406 +#: ../lib/inet6_gr.c:157
5407  msgid ""
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"
5413  
5414 -#: ../ipmaddr.c:58
5415 +#: ../ipmaddr.c:61
5416  msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
5417  msgstr "Kasutamine: ipmaddr [ add | del ] MULTIAADR dev STRING\n"
5418  
5419 -#: ../ipmaddr.c:59
5420 +#: ../ipmaddr.c:62
5421  msgid "       ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
5422  msgstr "            ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
5423  
5424 -#: ../ipmaddr.c:60
5425 +#: ../ipmaddr.c:63
5426  msgid "       ipmaddr -V | -version\n"
5427  msgstr "            ipmaddr -V | -version\n"
5428  
5429 -#: ../ipmaddr.c:260
5430 +#: ../ipmaddr.c:263
5431  #, c-format
5432  msgid "family %d "
5433  msgstr "perekond %d "
5434  
5435 -#: ../ipmaddr.c:269
5436 +#: ../ipmaddr.c:272
5437  #, c-format
5438  msgid " users %d"
5439  msgstr " kasutajaid %d"
5440  
5441 -#: ../ipmaddr.c:355
5442 +#: ../ipmaddr.c:358
5443  msgid "Cannot create socket"
5444  msgstr "Ei saa avada soklit"
5445  
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
5448 @@ -3,7 +3,7 @@
5449  INSTALL_DATA= ${INSTALL} -m 644
5450  INSTALLNLSDIR=${BASEDIR}/usr/share/locale
5451  
5452 -TUPDATE = tupdate
5453 +TUPDATE = msgmerge
5454  
5455  NLSPACKAGE = net-tools
5456  
5457 @@ -49,7 +49,7 @@
5458                 lang=`echo $$cat | sed 's/.mo//'`; \
5459                 mv $$lang.po $$lang.old.po; \
5460                 echo "$$lang:"; \
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; \
5464         else \
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
5468 @@ -1,263 +1,285 @@
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.
5474  #
5475  #, fuzzy
5476  msgid ""
5477  msgstr ""
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"
5489  
5490 -#: ../arp.c:111 ../arp.c:270
5491 +#: ../arp.c:111 ../arp.c:276
5492 +#, c-format
5493  msgid "arp: need host name\n"
5494  msgstr ""
5495  
5496 -#: ../arp.c:208 ../arp.c:222
5497 +#: ../arp.c:213 ../arp.c:228
5498  #, c-format
5499  msgid "No ARP entry for %s\n"
5500  msgstr ""
5501  
5502 -#: ../arp.c:240
5503 +#: ../arp.c:246
5504  #, c-format
5505  msgid "arp: cant get HW-Address for `%s': %s.\n"
5506  msgstr ""
5507  
5508 -#: ../arp.c:244
5509 +#: ../arp.c:250
5510 +#, c-format
5511  msgid "arp: protocol type mismatch.\n"
5512  msgstr ""
5513  
5514 -#: ../arp.c:253
5515 +#: ../arp.c:259
5516  #, c-format
5517  msgid "arp: device `%s' has HW address %s `%s'.\n"
5518  msgstr ""
5519  
5520 -#: ../arp.c:283
5521 +#: ../arp.c:289
5522 +#, c-format
5523  msgid "arp: need hardware address\n"
5524  msgstr ""
5525  
5526 -#: ../arp.c:291
5527 +#: ../arp.c:297
5528 +#, c-format
5529  msgid "arp: invalid hardware address\n"
5530  msgstr ""
5531  
5532 -#: ../arp.c:388
5533 +#: ../arp.c:394
5534  #, c-format
5535  msgid "arp: cannot open etherfile %s !\n"
5536  msgstr ""
5537  
5538 -#: ../arp.c:404
5539 +#: ../arp.c:410
5540  #, c-format
5541  msgid "arp: format error on line %u of etherfile %s !\n"
5542  msgstr ""
5543  
5544 -#: ../arp.c:417
5545 +#: ../arp.c:423
5546  #, c-format
5547  msgid "arp: cannot set entry on line %u of etherfile %s !\n"
5548  msgstr ""
5549  
5550 -#: ../arp.c:438
5551 +#: ../arp.c:444
5552 +#, c-format
5553  msgid ""
5554  "Address                  HWtype  HWaddress           Flags Mask            "
5555  "Iface\n"
5556  msgstr ""
5557  
5558 -#: ../arp.c:468
5559 +#: ../arp.c:472
5560 +msgid "<from_interface>"
5561 +msgstr ""
5562 +
5563 +#: ../arp.c:474
5564  msgid "(incomplete)"
5565  msgstr ""
5566  
5567 -#: ../arp.c:485
5568 +#: ../arp.c:491
5569  #, c-format
5570  msgid "%s (%s) at "
5571  msgstr ""
5572  
5573 -#: ../arp.c:491
5574 +#: ../arp.c:497
5575 +#, c-format
5576  msgid "<incomplete> "
5577  msgstr ""
5578  
5579 -#: ../arp.c:497
5580 +#: ../arp.c:503
5581  #, c-format
5582  msgid "netmask %s "
5583  msgstr ""
5584  
5585 -#: ../arp.c:514
5586 +#: ../arp.c:520
5587  #, c-format
5588  msgid "on %s\n"
5589  msgstr ""
5590  
5591 -#: ../arp.c:593
5592 +#: ../arp.c:599
5593  #, c-format
5594  msgid "Entries: %d\tSkipped: %d\tFound: %d\n"
5595  msgstr ""
5596  
5597 -#: ../arp.c:597
5598 +#: ../arp.c:603
5599  #, c-format
5600  msgid "%s (%s) -- no entry\n"
5601  msgstr ""
5602  
5603 -#: ../arp.c:599
5604 +#: ../arp.c:605
5605  #, c-format
5606  msgid "arp: in %d entries no match found.\n"
5607  msgstr ""
5608  
5609 -#: ../arp.c:614
5610 +#: ../arp.c:620
5611 +#, c-format
5612  msgid ""
5613  "Usage:\n"
5614  "  arp [-vn]  [<HW>] [-i <if>] [-a] [<hostname>]             <-Display ARP "
5615  "cache\n"
5616  msgstr ""
5617  
5618 -#: ../arp.c:615
5619 +#: ../arp.c:621
5620 +#, c-format
5621  msgid ""
5622  "  arp [-v]          [-i <if>] -d  <hostname> [pub][nopub]    <-Delete ARP "
5623  "entry\n"
5624  msgstr ""
5625  
5626 -#: ../arp.c:616
5627 +#: ../arp.c:622
5628 +#, c-format
5629  msgid ""
5630 -"  arp [-vnD] [<HW>] [-i <if>] -f  [<filename>]              <-Add entry from "
5631 +"  arp [-vnD] [<HW>] [-i <if>] -f  [<filename>]            <-Add entry from "
5632  "file\n"
5633  msgstr ""
5634  
5635 -#: ../arp.c:617
5636 +#: ../arp.c:623
5637 +#, c-format
5638  msgid ""
5639  "  arp [-v]   [<HW>] [-i <if>] -s  <hostname> <hwaddr> [temp][nopub] <-Add "
5640  "entry\n"
5641  msgstr ""
5642  
5643 -#: ../arp.c:618
5644 -msgid ""
5645 -"  arp [-v]   [<HW>] [-i <if>] -s  <hostname> <hwaddr> [netmask <nm>] pub  "
5646 -"<-''-\n"
5647 -msgstr ""
5648 -
5649 -#: ../arp.c:619
5650 +#: ../arp.c:624
5651 +#, c-format
5652  msgid ""
5653  "  arp [-v]   [<HW>] [-i <if>] -Ds <hostname> <if> [netmask <nm>] pub      "
5654  "<-''-\n"
5655  "\n"
5656  msgstr ""
5657  
5658 -#: ../arp.c:621
5659 +#: ../arp.c:626
5660 +#, c-format
5661  msgid ""
5662  "        -a                       display (all) hosts in alternative (BSD) "
5663  "style\n"
5664  msgstr ""
5665  
5666 -#: ../arp.c:622
5667 +#: ../arp.c:627
5668 +#, c-format
5669  msgid "        -s, --set                set a new ARP entry\n"
5670  msgstr ""
5671  
5672 -#: ../arp.c:623
5673 +#: ../arp.c:628
5674 +#, c-format
5675  msgid "        -d, --delete             delete a specified entry\n"
5676  msgstr ""
5677  
5678 -#: ../arp.c:624 ../netstat.c:1490 ../route.c:86
5679 +#: ../arp.c:629 ../netstat.c:1503 ../route.c:86
5680 +#, c-format
5681  msgid "        -v, --verbose            be verbose\n"
5682  msgstr ""
5683  
5684 -#: ../arp.c:625 ../netstat.c:1491 ../route.c:87
5685 +#: ../arp.c:630 ../netstat.c:1504 ../route.c:87
5686 +#, c-format
5687  msgid "        -n, --numeric            don't resolve names\n"
5688  msgstr ""
5689  
5690 -#: ../arp.c:626
5691 +#: ../arp.c:631
5692 +#, c-format
5693  msgid ""
5694  "        -i, --device             specify network interface (e.g. eth0)\n"
5695  msgstr ""
5696  
5697 -#: ../arp.c:627
5698 +#: ../arp.c:632
5699 +#, c-format
5700  msgid "        -D, --use-device         read <hwaddr> from given device\n"
5701  msgstr ""
5702  
5703 -#: ../arp.c:628
5704 +#: ../arp.c:633
5705 +#, c-format
5706  msgid "        -A, -p, --protocol       specify protocol family\n"
5707  msgstr ""
5708  
5709 -#: ../arp.c:629
5710 +#: ../arp.c:634
5711 +#, c-format
5712  msgid ""
5713 -"        -f, --file               read new entries from file or from "
5714 -"/etc/ethers\n"
5715 +"        -f, --file               read new entries from file or from /etc/"
5716 +"ethers\n"
5717  "\n"
5718  msgstr ""
5719  
5720 -#: ../arp.c:631 ../rarp.c:182
5721 +#: ../arp.c:636 ../rarp.c:182
5722  #, c-format
5723  msgid "  <HW>=Use '-H <hw>' to specify hardware address type. Default: %s\n"
5724  msgstr ""
5725  
5726 -#: ../arp.c:632 ../rarp.c:183
5727 +#: ../arp.c:637 ../rarp.c:183
5728 +#, c-format
5729  msgid "  List of possible hardware types (which support ARP):\n"
5730  msgstr ""
5731  
5732 -#: ../arp.c:666 ../arp.c:751
5733 +#: ../arp.c:671 ../arp.c:756
5734  #, c-format
5735  msgid "%s: hardware type not supported!\n"
5736  msgstr ""
5737  
5738 -#: ../arp.c:670
5739 +#: ../arp.c:675
5740  #, c-format
5741  msgid "%s: address family not supported!\n"
5742  msgstr ""
5743  
5744 -#: ../arp.c:705
5745 +#: ../arp.c:710
5746 +#, c-format
5747  msgid "arp: -N not yet supported.\n"
5748  msgstr ""
5749  
5750 -#: ../arp.c:715
5751 +#: ../arp.c:720
5752  #, c-format
5753  msgid "arp: %s: unknown address family.\n"
5754  msgstr ""
5755  
5756 -#: ../arp.c:724
5757 +#: ../arp.c:729
5758  #, c-format
5759  msgid "arp: %s: unknown hardware type.\n"
5760  msgstr ""
5761  
5762 -#: ../arp.c:743
5763 +#: ../arp.c:748
5764  #, c-format
5765  msgid "arp: %s: kernel only supports 'inet'.\n"
5766  msgstr ""
5767  
5768 -#: ../arp.c:756
5769 +#: ../arp.c:761
5770  #, c-format
5771  msgid "arp: %s: hardware type without ARP support.\n"
5772  msgstr ""
5773  
5774 -#: ../hostname.c:70
5775 +#: ../hostname.c:71
5776  #, c-format
5777  msgid "Setting nodename to `%s'\n"
5778  msgstr ""
5779  
5780 -#: ../hostname.c:75
5781 +#: ../hostname.c:76
5782  #, c-format
5783  msgid "%s: you must be root to change the node name\n"
5784  msgstr ""
5785  
5786 -#: ../hostname.c:78 ../hostname.c:98 ../hostname.c:117
5787 +#: ../hostname.c:79 ../hostname.c:100 ../hostname.c:118
5788  #, c-format
5789  msgid "%s: name too long\n"
5790  msgstr ""
5791  
5792 -#: ../hostname.c:90
5793 +#: ../hostname.c:92
5794  #, c-format
5795  msgid "Setting hostname to `%s'\n"
5796  msgstr ""
5797  
5798 -#: ../hostname.c:95
5799 +#: ../hostname.c:97
5800  #, c-format
5801  msgid "%s: you must be root to change the host name\n"
5802  msgstr ""
5803  
5804 -#: ../hostname.c:109
5805 +#: ../hostname.c:110
5806  #, c-format
5807  msgid "Setting domainname to `%s'\n"
5808  msgstr ""
5809  
5810 -#: ../hostname.c:114
5811 +#: ../hostname.c:115
5812  #, c-format
5813  msgid "%s: you must be root to change the domain name\n"
5814  msgstr ""
5815 @@ -282,83 +304,99 @@
5816  msgid "Result: h_addr_list=`%s'\n"
5817  msgstr ""
5818  
5819 -#: ../hostname.c:210
5820 +#: ../hostname.c:209
5821  #, c-format
5822  msgid "%s: can't open `%s'\n"
5823  msgstr ""
5824  
5825 -#: ../hostname.c:224
5826 +#: ../hostname.c:223
5827 +#, c-format
5828  msgid "Usage: hostname [-v] {hostname|-F file}      set hostname (from file)\n"
5829  msgstr ""
5830  
5831 -#: ../hostname.c:225
5832 +#: ../hostname.c:224
5833 +#, c-format
5834  msgid ""
5835  "       domainname [-v] {nisdomain|-F file}   set NIS domainname (from file)\n"
5836  msgstr ""
5837  
5838 -#: ../hostname.c:227
5839 +#: ../hostname.c:226
5840 +#, c-format
5841  msgid ""
5842  "       nodename [-v] {nodename|-F file}      set DECnet node name (from "
5843  "file)\n"
5844  msgstr ""
5845  
5846 -#: ../hostname.c:229
5847 +#: ../hostname.c:228
5848 +#, c-format
5849  msgid "       hostname [-v] [-d|-f|-s|-a|-i|-y|-n]  display formatted name\n"
5850  msgstr ""
5851  
5852 -#: ../hostname.c:230
5853 +#: ../hostname.c:229
5854 +#, c-format
5855  msgid ""
5856  "       hostname [-v]                         display hostname\n"
5857  "\n"
5858  msgstr ""
5859  
5860 -#: ../hostname.c:231
5861 +#: ../hostname.c:230
5862 +#, c-format
5863  msgid ""
5864  "       hostname -V|--version|-h|--help       print info and exit\n"
5865  "\n"
5866  msgstr ""
5867  
5868 -#: ../hostname.c:232
5869 +#: ../hostname.c:231
5870 +#, c-format
5871  msgid ""
5872  "    dnsdomainname=hostname -d, {yp,nis,}domainname=hostname -y\n"
5873  "\n"
5874  msgstr ""
5875  
5876 -#: ../hostname.c:233
5877 +#: ../hostname.c:232
5878 +#, c-format
5879  msgid "    -s, --short           short host name\n"
5880  msgstr ""
5881  
5882 -#: ../hostname.c:234
5883 +#: ../hostname.c:233
5884 +#, c-format
5885  msgid "    -a, --alias           alias names\n"
5886  msgstr ""
5887  
5888 -#: ../hostname.c:235
5889 +#: ../hostname.c:234
5890 +#, c-format
5891  msgid "    -i, --ip-address      addresses for the hostname\n"
5892  msgstr ""
5893  
5894 -#: ../hostname.c:236
5895 +#: ../hostname.c:235
5896 +#, c-format
5897  msgid "    -f, --fqdn, --long    long host name (FQDN)\n"
5898  msgstr ""
5899  
5900 -#: ../hostname.c:237
5901 +#: ../hostname.c:236
5902 +#, c-format
5903  msgid "    -d, --domain          DNS domain name\n"
5904  msgstr ""
5905  
5906 -#: ../hostname.c:238
5907 +#: ../hostname.c:237
5908 +#, c-format
5909  msgid "    -y, --yp, --nis       NIS/YP domainname\n"
5910  msgstr ""
5911  
5912 -#: ../hostname.c:240
5913 +#: ../hostname.c:239
5914 +#, c-format
5915  msgid "    -n, --node            DECnet node name\n"
5916  msgstr ""
5917  
5918 -#: ../hostname.c:242
5919 +#: ../hostname.c:241
5920 +#, c-format
5921  msgid ""
5922  "    -F, --file            read hostname or NIS domainname from given file\n"
5923  "\n"
5924  msgstr ""
5925  
5926 -#: ../hostname.c:244
5927 +#: ../hostname.c:243
5928 +#, c-format
5929  msgid ""
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 @@
5933  msgstr ""
5934  
5935  #: ../hostname.c:341
5936 +#, c-format
5937  msgid ""
5938  "\n"
5939  "Unless you are using bind or NIS for host lookups you can change the DNS\n"
5940  msgstr ""
5941  
5942  #: ../hostname.c:342
5943 +#, c-format
5944  msgid "domain name (which is part of the FQDN) in the /etc/hosts file.\n"
5945  msgstr ""
5946  
5947 @@ -397,557 +437,697 @@
5948  msgid "getnodename()=`%s'\n"
5949  msgstr ""
5950  
5951 -#: ../ifconfig.c:108
5952 +#: ../ifconfig.c:107 ../netstat.c:1465
5953 +#, c-format
5954  msgid ""
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 "
5957  "Flg\n"
5958  msgstr ""
5959  
5960 -#: ../ifconfig.c:130 ../ifconfig.c:162
5961 +#: ../ifconfig.c:129 ../ifconfig.c:161
5962  #, c-format
5963 -msgid "%s: unknown interface: %s\n"
5964 +msgid "%s: ERROR while getting interface flags: %s\n"
5965  msgstr ""
5966  
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
5970 +#, c-format
5971  msgid "No support for INET on this system.\n"
5972  msgstr ""
5973  
5974 -#: ../ifconfig.c:177
5975 +#: ../ifconfig.c:193
5976 +#, c-format
5977 +msgid "%s: ERROR while testing interface flags: %s\n"
5978 +msgstr ""
5979 +
5980 +#: ../ifconfig.c:202
5981 +#, c-format
5982  msgid ""
5983  "Usage:\n"
5984 -"  ifconfig [-a] [-i] [-v] [-s] <interface> [[<AF>] <address>]\n"
5985 +"  ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]\n"
5986  msgstr ""
5987  
5988 -#: ../ifconfig.c:179
5989 +#: ../ifconfig.c:204
5990 +#, c-format
5991  msgid "  [add <address>[/<prefixlen>]]\n"
5992  msgstr ""
5993  
5994 -#: ../ifconfig.c:180
5995 +#: ../ifconfig.c:205
5996 +#, c-format
5997  msgid "  [del <address>[/<prefixlen>]]\n"
5998  msgstr ""
5999  
6000 -#: ../ifconfig.c:181
6001 +#: ../ifconfig.c:206
6002 +#, c-format
6003  msgid "  [[-]broadcast [<address>]]  [[-]pointopoint [<address>]]\n"
6004  msgstr ""
6005  
6006 -#: ../ifconfig.c:182
6007 +#: ../ifconfig.c:207
6008 +#, c-format
6009  msgid "  [netmask <address>]  [dstaddr <address>]  [tunnel <address>]\n"
6010  msgstr ""
6011  
6012 -#: ../ifconfig.c:185
6013 +#: ../ifconfig.c:210
6014 +#, c-format
6015  msgid "  [outfill <NN>] [keepalive <NN>]\n"
6016  msgstr ""
6017  
6018 -#: ../ifconfig.c:187
6019 +#: ../ifconfig.c:212
6020 +#, c-format
6021  msgid "  [hw <HW> <address>]  [metric <NN>]  [mtu <NN>]\n"
6022  msgstr ""
6023  
6024 -#: ../ifconfig.c:188
6025 +#: ../ifconfig.c:213
6026 +#, c-format
6027  msgid "  [[-]trailers]  [[-]arp]  [[-]allmulti]\n"
6028  msgstr ""
6029  
6030 -#: ../ifconfig.c:189
6031 +#: ../ifconfig.c:214
6032 +#, c-format
6033  msgid "  [multicast]  [[-]promisc]\n"
6034  msgstr ""
6035  
6036 -#: ../ifconfig.c:190
6037 +#: ../ifconfig.c:215
6038 +#, c-format
6039  msgid "  [mem_start <NN>]  [io_addr <NN>]  [irq <NN>]  [media <type>]\n"
6040  msgstr ""
6041  
6042 -#: ../ifconfig.c:192
6043 +#: ../ifconfig.c:217
6044 +#, c-format
6045  msgid "  [txqueuelen <NN>]\n"
6046  msgstr ""
6047  
6048 -#: ../ifconfig.c:195
6049 +#: ../ifconfig.c:220
6050 +#, c-format
6051  msgid "  [[-]dynamic]\n"
6052  msgstr ""
6053  
6054 -#: ../ifconfig.c:197
6055 +#: ../ifconfig.c:222
6056 +#, c-format
6057  msgid ""
6058  "  [up|down] ...\n"
6059  "\n"
6060  msgstr ""
6061  
6062 -#: ../ifconfig.c:199
6063 +#: ../ifconfig.c:224
6064 +#, c-format
6065  msgid "  <HW>=Hardware Type.\n"
6066  msgstr ""
6067  
6068 -#: ../ifconfig.c:200
6069 +#: ../ifconfig.c:225
6070 +#, c-format
6071  msgid "  List of possible hardware types:\n"
6072  msgstr ""
6073  
6074  #. 1 = ARPable
6075 -#: ../ifconfig.c:202
6076 +#: ../ifconfig.c:227
6077  #, c-format
6078  msgid "  <AF>=Address family. Default: %s\n"
6079  msgstr ""
6080  
6081 -#: ../ifconfig.c:203
6082 +#: ../ifconfig.c:228
6083 +#, c-format
6084  msgid "  List of possible address families:\n"
6085  msgstr ""
6086  
6087 -#: ../ifconfig.c:278
6088 +#: ../ifconfig.c:304
6089  #, c-format
6090  msgid "ifconfig: option `%s' not recognised.\n"
6091  msgstr ""
6092  
6093 -#: ../ifconfig.c:280 ../ifconfig.c:925
6094 +#: ../ifconfig.c:306 ../ifconfig.c:987
6095 +#, c-format
6096  msgid "ifconfig: `--help' gives usage information.\n"
6097  msgstr ""
6098  
6099 -#: ../ifconfig.c:355
6100 +#: ../ifconfig.c:381
6101 +#, c-format
6102  msgid "Unknown media type.\n"
6103  msgstr ""
6104  
6105 -#: ../ifconfig.c:647
6106 +#: ../ifconfig.c:418
6107 +#, c-format
6108 +msgid ""
6109 +"Warning: Interface %s still in promisc mode... maybe other application is "
6110 +"running?\n"
6111 +msgstr ""
6112 +
6113 +#: ../ifconfig.c:430
6114 +#, c-format
6115 +msgid "Warning: Interface %s still in MULTICAST mode.\n"
6116 +msgstr ""
6117 +
6118 +#: ../ifconfig.c:442
6119 +#, c-format
6120 +msgid "Warning: Interface %s still in ALLMULTI mode.\n"
6121 +msgstr ""
6122 +
6123 +#: ../ifconfig.c:466
6124 +#, c-format
6125 +msgid "Warning: Interface %s still in DYNAMIC mode.\n"
6126 +msgstr ""
6127 +
6128 +#: ../ifconfig.c:524
6129 +#, c-format
6130 +msgid "Warning: Interface %s still in BROADCAST mode.\n"
6131 +msgstr ""
6132 +
6133 +#: ../ifconfig.c:535
6134 +#, c-format
6135 +msgid "ifconfig: Error resolving '%s' for broadcast\n"
6136 +msgstr ""
6137 +
6138 +#: ../ifconfig.c:560
6139 +#, c-format
6140 +msgid "ifconfig: Error resolving '%s' for dstaddr\n"
6141 +msgstr ""
6142 +
6143 +#: ../ifconfig.c:583
6144 +#, c-format
6145 +msgid "ifconfig: Error resolving '%s' for netmask\n"
6146 +msgstr ""
6147 +
6148 +#: ../ifconfig.c:662
6149 +#, c-format
6150 +msgid "Warning: Interface %s still in POINTOPOINT mode.\n"
6151 +msgstr ""
6152 +
6153 +#: ../ifconfig.c:673
6154 +#, c-format
6155 +msgid "ifconfig: Error resolving '%s' for pointopoint\n"
6156 +msgstr ""
6157 +
6158 +#: ../ifconfig.c:697
6159  #, c-format
6160  msgid "hw address type `%s' has no handler to set address. failed.\n"
6161  msgstr ""
6162  
6163 -#: ../ifconfig.c:656
6164 +#: ../ifconfig.c:706
6165  #, c-format
6166  msgid "%s: invalid %s address.\n"
6167  msgstr ""
6168  
6169 -#: ../ifconfig.c:700 ../ifconfig.c:790 ../ifconfig.c:876
6170 +#: ../ifconfig.c:746
6171 +#, c-format
6172 +msgid "ifconfig: Error resolving '%s' for add\n"
6173 +msgstr ""
6174 +
6175 +#: ../ifconfig.c:757 ../ifconfig.c:847 ../ifconfig.c:935
6176 +#, c-format
6177  msgid "No support for INET6 on this system.\n"
6178  msgstr ""
6179  
6180 -#: ../ifconfig.c:743 ../ifconfig.c:834
6181 +#: ../ifconfig.c:800 ../ifconfig.c:893
6182  #, c-format
6183  msgid "Interface %s not initialized\n"
6184  msgstr ""
6185  
6186 -#: ../ifconfig.c:755 ../ifconfig.c:845
6187 +#: ../ifconfig.c:812 ../ifconfig.c:904
6188 +#, c-format
6189  msgid "Bad address.\n"
6190  msgstr ""
6191  
6192 -#: ../ifconfig.c:848
6193 +#: ../ifconfig.c:907
6194 +#, c-format
6195  msgid "Address deletion not supported on this system.\n"
6196  msgstr ""
6197  
6198 -#: ../ifconfig.c:920
6199 +#: ../ifconfig.c:979
6200 +#, c-format
6201  msgid "ifconfig: Cannot set address for this protocol family.\n"
6202  msgstr ""
6203  
6204 -#: ../ifconfig.c:946
6205 +#: ../ifconfig.c:986
6206 +#, c-format
6207 +msgid "ifconfig: error resolving '%s' to set address for af=%s\n"
6208 +msgstr ""
6209 +
6210 +#: ../ifconfig.c:1007
6211 +#, c-format
6212  msgid "No support for ECONET on this system.\n"
6213  msgstr ""
6214  
6215 -#: ../ifconfig.c:954
6216 +#: ../ifconfig.c:1015
6217  #, c-format
6218  msgid "Don't know how to set addresses for family %d.\n"
6219  msgstr ""
6220  
6221 -#: ../netstat.c:430
6222 +#: ../ifconfig.c:1050
6223 +#, c-format
6224 +msgid "WARNING: at least one error occured. (%d)\n"
6225 +msgstr ""
6226 +
6227 +#: ../netstat.c:434
6228  #, c-format
6229  msgid ""
6230  "(No info could be read for \"-p\": geteuid()=%d but you should be root.)\n"
6231  msgstr ""
6232  
6233 -#: ../netstat.c:434
6234 +#: ../netstat.c:438
6235 +#, c-format
6236  msgid ""
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"
6239  msgstr ""
6240  
6241 -#: ../netstat.c:441 ../netstat.c:1176 ../netstat.c:1253
6242 +#: ../netstat.c:445 ../netstat.c:1189 ../netstat.c:1266
6243  msgid "LISTENING"
6244  msgstr ""
6245  
6246 -#: ../netstat.c:442
6247 +#: ../netstat.c:446
6248  msgid "CONN SENT"
6249  msgstr ""
6250  
6251 -#: ../netstat.c:443 ../netstat.c:1255
6252 +#: ../netstat.c:447 ../netstat.c:1268
6253  msgid "DISC SENT"
6254  msgstr ""
6255  
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
6258  msgid "ESTABLISHED"
6259  msgstr ""
6260  
6261 -#: ../netstat.c:466
6262 +#: ../netstat.c:470
6263 +#, c-format
6264  msgid "Active NET/ROM sockets\n"
6265  msgstr ""
6266  
6267 -#: ../netstat.c:467
6268 +#: ../netstat.c:471
6269 +#, c-format
6270  msgid ""
6271 -"User       Dest       Source     Device  State        Vr/Vs    Send-Q  "
6272 -"Recv-Q\n"
6273 +"User       Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-"
6274 +"Q\n"
6275  msgstr ""
6276  
6277 -#: ../netstat.c:477 ../netstat.c:1295
6278 +#: ../netstat.c:481 ../netstat.c:1308
6279  #, c-format
6280  msgid "Problem reading data from %s\n"
6281  msgstr ""
6282  
6283 -#: ../netstat.c:512
6284 +#: ../netstat.c:516
6285  msgid "SYN_SENT"
6286  msgstr ""
6287  
6288 -#: ../netstat.c:513
6289 +#: ../netstat.c:517
6290  msgid "SYN_RECV"
6291  msgstr ""
6292  
6293 -#: ../netstat.c:514
6294 +#: ../netstat.c:518
6295  msgid "FIN_WAIT1"
6296  msgstr ""
6297  
6298 -#: ../netstat.c:515
6299 +#: ../netstat.c:519
6300  msgid "FIN_WAIT2"
6301  msgstr ""
6302  
6303 -#: ../netstat.c:516
6304 +#: ../netstat.c:520
6305  msgid "TIME_WAIT"
6306  msgstr ""
6307  
6308 -#: ../netstat.c:517
6309 +#: ../netstat.c:521
6310  msgid "CLOSE"
6311  msgstr ""
6312  
6313 -#: ../netstat.c:518
6314 +#: ../netstat.c:522
6315  msgid "CLOSE_WAIT"
6316  msgstr ""
6317  
6318 -#: ../netstat.c:519
6319 +#: ../netstat.c:523
6320  msgid "LAST_ACK"
6321  msgstr ""
6322  
6323 -#: ../netstat.c:520
6324 +#: ../netstat.c:524
6325  msgid "LISTEN"
6326  msgstr ""
6327  
6328 -#: ../netstat.c:521
6329 +#: ../netstat.c:525
6330  msgid "CLOSING"
6331  msgstr ""
6332  
6333 -#: ../netstat.c:592
6334 +#: ../netstat.c:596
6335  #, c-format
6336  msgid "warning, got bogus igmp6 line %d.\n"
6337  msgstr ""
6338  
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
6343  #, c-format
6344  msgid "netstat: unsupported address family %d !\n"
6345  msgstr ""
6346  
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
6349  #, c-format
6350  msgid "warning, got bogus igmp line %d.\n"
6351  msgstr ""
6352  
6353 -#: ../netstat.c:673
6354 +#: ../netstat.c:677
6355 +#, c-format
6356  msgid "Active X.25 sockets\n"
6357  msgstr ""
6358  
6359  #. IMHO, Vr/Vs is not very usefull --SF
6360 -#: ../netstat.c:675
6361 +#: ../netstat.c:679
6362 +#, c-format
6363  msgid ""
6364 -"Dest         Source          Device  LCI  State        Vr/Vs  Send-Q  "
6365 -"Recv-Q\n"
6366 +"Dest         Source          Device  LCI  State        Vr/Vs  Send-Q  Recv-"
6367 +"Q\n"
6368  msgstr ""
6369  
6370 -#: ../netstat.c:752
6371 +#: ../netstat.c:759
6372 +#, c-format
6373  msgid "warning, got bogus tcp line.\n"
6374  msgstr ""
6375  
6376 -#: ../netstat.c:793 ../netstat.c:943 ../netstat.c:1062
6377 +#: ../netstat.c:800 ../netstat.c:953 ../netstat.c:1075
6378  #, c-format
6379  msgid "off (0.00/%ld/%d)"
6380  msgstr ""
6381  
6382 -#: ../netstat.c:797
6383 +#: ../netstat.c:804
6384  #, c-format
6385  msgid "on (%2.2f/%ld/%d)"
6386  msgstr ""
6387  
6388 -#: ../netstat.c:802
6389 +#: ../netstat.c:809
6390  #, c-format
6391  msgid "keepalive (%2.2f/%ld/%d)"
6392  msgstr ""
6393  
6394 -#: ../netstat.c:807
6395 +#: ../netstat.c:814
6396  #, c-format
6397  msgid "timewait (%2.2f/%ld/%d)"
6398  msgstr ""
6399  
6400 -#: ../netstat.c:812 ../netstat.c:952 ../netstat.c:1072
6401 +#: ../netstat.c:819 ../netstat.c:962 ../netstat.c:1085
6402  #, c-format
6403  msgid "unkn-%d (%2.2f/%ld/%d)"
6404  msgstr ""
6405  
6406 -#: ../netstat.c:884
6407 +#: ../netstat.c:894
6408 +#, c-format
6409  msgid "warning, got bogus udp line.\n"
6410  msgstr ""
6411  
6412 -#: ../netstat.c:902 ../netstat.c:1162 ../netstat.c:1195
6413 +#: ../netstat.c:912 ../netstat.c:1175 ../netstat.c:1208
6414  msgid "UNKNOWN"
6415  msgstr ""
6416  
6417 -#: ../netstat.c:948 ../netstat.c:1067
6418 +#: ../netstat.c:958 ../netstat.c:1080
6419  #, c-format
6420  msgid "on%d (%2.2f/%ld/%d)"
6421  msgstr ""
6422  
6423 -#: ../netstat.c:1033
6424 +#: ../netstat.c:1046
6425 +#, c-format
6426  msgid "warning, got bogus raw line.\n"
6427  msgstr ""
6428  
6429 -#: ../netstat.c:1115
6430 +#: ../netstat.c:1128
6431 +#, c-format
6432  msgid "warning, got bogus unix line.\n"
6433  msgstr ""
6434  
6435 -#: ../netstat.c:1142
6436 +#: ../netstat.c:1155
6437  msgid "STREAM"
6438  msgstr ""
6439  
6440 -#: ../netstat.c:1146
6441 +#: ../netstat.c:1159
6442  msgid "DGRAM"
6443  msgstr ""
6444  
6445 -#: ../netstat.c:1150
6446 +#: ../netstat.c:1163
6447  msgid "RAW"
6448  msgstr ""
6449  
6450 -#: ../netstat.c:1154
6451 +#: ../netstat.c:1167
6452  msgid "RDM"
6453  msgstr ""
6454  
6455 -#: ../netstat.c:1158
6456 +#: ../netstat.c:1171
6457  msgid "SEQPACKET"
6458  msgstr ""
6459  
6460 -#: ../netstat.c:1167
6461 +#: ../netstat.c:1180
6462  msgid "FREE"
6463  msgstr ""
6464  
6465 -#: ../netstat.c:1183
6466 +#: ../netstat.c:1196
6467  msgid "CONNECTING"
6468  msgstr ""
6469  
6470 -#: ../netstat.c:1187
6471 +#: ../netstat.c:1200
6472  msgid "CONNECTED"
6473  msgstr ""
6474  
6475 -#: ../netstat.c:1191
6476 +#: ../netstat.c:1204
6477  msgid "DISCONNECTING"
6478  msgstr ""
6479  
6480 -#: ../netstat.c:1222
6481 +#: ../netstat.c:1235
6482 +#, c-format
6483  msgid "Active UNIX domain sockets "
6484  msgstr ""
6485  
6486 -#: ../netstat.c:1224 ../netstat.c:1735
6487 +#: ../netstat.c:1237 ../netstat.c:1756
6488 +#, c-format
6489  msgid "(servers and established)"
6490  msgstr ""
6491  
6492 -#: ../netstat.c:1227 ../netstat.c:1738
6493 +#: ../netstat.c:1240 ../netstat.c:1759
6494 +#, c-format
6495  msgid "(only servers)"
6496  msgstr ""
6497  
6498 -#: ../netstat.c:1229 ../netstat.c:1740
6499 +#: ../netstat.c:1242 ../netstat.c:1761
6500 +#, c-format
6501  msgid "(w/o servers)"
6502  msgstr ""
6503  
6504 -#: ../netstat.c:1232
6505 +#: ../netstat.c:1245
6506 +#, c-format
6507  msgid ""
6508  "\n"
6509  "Proto RefCnt Flags       Type       State         I-Node"
6510  msgstr ""
6511  
6512 -#: ../netstat.c:1234
6513 +#: ../netstat.c:1247
6514 +#, c-format
6515  msgid " Path\n"
6516  msgstr ""
6517  
6518 -#: ../netstat.c:1254
6519 +#: ../netstat.c:1267
6520  msgid "SABM SENT"
6521  msgstr ""
6522  
6523 -#: ../netstat.c:1257
6524 +#: ../netstat.c:1270
6525  msgid "RECOVERY"
6526  msgstr ""
6527  
6528 -#: ../netstat.c:1271
6529 +#: ../netstat.c:1284
6530 +#, c-format
6531  msgid "Active AX.25 sockets\n"
6532  msgstr ""
6533  
6534 -#: ../netstat.c:1272
6535 +#: ../netstat.c:1285
6536 +#, c-format
6537  msgid "Dest       Source     Device  State        Vr/Vs    Send-Q  Recv-Q\n"
6538  msgstr ""
6539  
6540 -#: ../netstat.c:1315
6541 +#: ../netstat.c:1328
6542  #, c-format
6543  msgid "problem reading data from %s\n"
6544  msgstr ""
6545  
6546 -#: ../netstat.c:1366
6547 +#: ../netstat.c:1379
6548 +#, c-format
6549  msgid ""
6550  "Active IPX sockets\n"
6551  "Proto Recv-Q Send-Q Local Address              Foreign Address            "
6552  "State"
6553  msgstr ""
6554  
6555 -#: ../netstat.c:1368
6556 +#: ../netstat.c:1381
6557 +#, c-format
6558  msgid " User"
6559  msgstr ""
6560  
6561 -#: ../netstat.c:1402
6562 +#: ../netstat.c:1415
6563  msgid "ESTAB"
6564  msgstr ""
6565  
6566 -#: ../netstat.c:1410
6567 +#: ../netstat.c:1423
6568  msgid "UNK."
6569  msgstr ""
6570  
6571 -#: ../netstat.c:1448
6572 +#: ../netstat.c:1461
6573 +#, c-format
6574  msgid "Kernel Interface table\n"
6575  msgstr ""
6576  
6577 -#: ../netstat.c:1452
6578 -msgid ""
6579 -"Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR "
6580 -"Flg\n"
6581 -msgstr ""
6582 -
6583 -#: ../netstat.c:1456
6584 +#: ../netstat.c:1469
6585  msgid "missing interface information"
6586  msgstr ""
6587  
6588 -#: ../netstat.c:1479
6589 +#: ../netstat.c:1492
6590 +#, c-format
6591  msgid ""
6592 -"usage: netstat [-veenNcCF] [<Af>] -r         netstat "
6593 -"{-V|--version|-h|--help}\n"
6594 +"usage: netstat [-veenNcCF] [<Af>] -r         netstat {-V|--version|-h|--"
6595 +"help}\n"
6596  msgstr ""
6597  
6598 -#: ../netstat.c:1480
6599 +#: ../netstat.c:1493
6600 +#, c-format
6601  msgid "       netstat [-vnNcaeol] [<Socket> ...]\n"
6602  msgstr ""
6603  
6604 -#: ../netstat.c:1481
6605 +#: ../netstat.c:1494
6606 +#, c-format
6607  msgid ""
6608  "       netstat { [-veenNac] -i | [-cnNe] -M | -s }\n"
6609  "\n"
6610  msgstr ""
6611  
6612 -#: ../netstat.c:1483
6613 +#: ../netstat.c:1496
6614 +#, c-format
6615  msgid "        -r, --route              display routing table\n"
6616  msgstr ""
6617  
6618 -#: ../netstat.c:1484
6619 +#: ../netstat.c:1497
6620 +#, c-format
6621  msgid "        -i, --interfaces         display interface table\n"
6622  msgstr ""
6623  
6624 -#: ../netstat.c:1485
6625 +#: ../netstat.c:1498
6626 +#, c-format
6627  msgid "        -g, --groups             display multicast group memberships\n"
6628  msgstr ""
6629  
6630 -#: ../netstat.c:1486
6631 +#: ../netstat.c:1499
6632 +#, c-format
6633  msgid ""
6634  "        -s, --statistics         display networking statistics (like SNMP)\n"
6635  msgstr ""
6636  
6637 -#: ../netstat.c:1488
6638 +#: ../netstat.c:1501
6639 +#, c-format
6640  msgid ""
6641  "        -M, --masquerade         display masqueraded connections\n"
6642  "\n"
6643  msgstr ""
6644  
6645 -#: ../netstat.c:1492
6646 +#: ../netstat.c:1505
6647 +#, c-format
6648  msgid "        --numeric-hosts          don't resolve host names\n"
6649  msgstr ""
6650  
6651 -#: ../netstat.c:1493
6652 +#: ../netstat.c:1506
6653 +#, c-format
6654  msgid "        --numeric-ports          don't resolve port names\n"
6655  msgstr ""
6656  
6657 -#: ../netstat.c:1494
6658 +#: ../netstat.c:1507
6659 +#, c-format
6660  msgid "        --numeric-users          don't resolve user names\n"
6661  msgstr ""
6662  
6663 -#: ../netstat.c:1495
6664 +#: ../netstat.c:1508
6665 +#, c-format
6666  msgid "        -N, --symbolic           resolve hardware names\n"
6667  msgstr ""
6668  
6669 -#: ../netstat.c:1496 ../route.c:88
6670 +#: ../netstat.c:1509 ../route.c:88
6671 +#, c-format
6672  msgid "        -e, --extend             display other/more information\n"
6673  msgstr ""
6674  
6675 -#: ../netstat.c:1497
6676 +#: ../netstat.c:1510
6677 +#, c-format
6678  msgid "        -p, --programs           display PID/Program name for sockets\n"
6679  msgstr ""
6680  
6681 -#: ../netstat.c:1498
6682 +#: ../netstat.c:1511
6683 +#, c-format
6684  msgid ""
6685  "        -c, --continuous         continuous listing\n"
6686  "\n"
6687  msgstr ""
6688  
6689 -#: ../netstat.c:1499
6690 +#: ../netstat.c:1512
6691 +#, c-format
6692  msgid "        -l, --listening          display listening server sockets\n"
6693  msgstr ""
6694  
6695 -#: ../netstat.c:1500
6696 +#: ../netstat.c:1513
6697 +#, c-format
6698  msgid ""
6699  "        -a, --all, --listening   display all sockets (default: connected)\n"
6700  msgstr ""
6701  
6702 -#: ../netstat.c:1501
6703 +#: ../netstat.c:1514
6704 +#, c-format
6705  msgid "        -o, --timers             display timers\n"
6706  msgstr ""
6707  
6708 -#: ../netstat.c:1502 ../route.c:89
6709 +#: ../netstat.c:1515 ../route.c:89
6710 +#, c-format
6711  msgid ""
6712  "        -F, --fib                display Forwarding Information Base "
6713  "(default)\n"
6714  msgstr ""
6715  
6716 -#: ../netstat.c:1503 ../route.c:90
6717 +#: ../netstat.c:1516 ../route.c:90
6718 +#, c-format
6719  msgid ""
6720  "        -C, --cache              display routing cache instead of FIB\n"
6721  "\n"
6722  msgstr ""
6723  
6724 -#: ../netstat.c:1505
6725 +#: ../netstat.c:1518
6726 +#, c-format
6727  msgid ""
6728 -"  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx "
6729 -"--netrom\n"
6730 +"  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --"
6731 +"netrom\n"
6732  msgstr ""
6733  
6734 -#: ../netstat.c:1506 ../route.c:92
6735 +#: ../netstat.c:1519
6736  #, c-format
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"
6739  msgstr ""
6740  
6741 -#: ../netstat.c:1507 ../route.c:93
6742 +#: ../netstat.c:1520 ../route.c:93
6743 +#, c-format
6744  msgid "  List of possible address families (which support routing):\n"
6745  msgstr ""
6746  
6747 -#: ../netstat.c:1732
6748 +#: ../netstat.c:1753
6749 +#, c-format
6750  msgid "Active Internet connections "
6751  msgstr ""
6752  
6753 -#: ../netstat.c:1742
6754 +#: ../netstat.c:1763
6755 +#, c-format
6756  msgid ""
6757  "\n"
6758 -"Proto Recv-Q Send-Q Local Address           Foreign Address         State    "
6759 -"  "
6760 +"Proto Recv-Q Send-Q Local Address           Foreign Address         "
6761 +"State      "
6762  msgstr ""
6763  
6764 -#: ../netstat.c:1744
6765 +#: ../netstat.c:1765
6766 +#, c-format
6767  msgid " User       Inode     "
6768  msgstr ""
6769  
6770 -#: ../netstat.c:1747
6771 +#: ../netstat.c:1768
6772 +#, c-format
6773  msgid " Timer"
6774  msgstr ""
6775  
6776 -#: ../netstat.c:1777
6777 +#: ../netstat.c:1798
6778 +#, c-format
6779  msgid "IPv4 Group Memberships\n"
6780  msgstr ""
6781  
6782 -#: ../netstat.c:1778
6783 +#: ../netstat.c:1799
6784 +#, c-format
6785  msgid "Interface       RefCnt Group\n"
6786  msgstr ""
6787  
6788 @@ -986,23 +1166,28 @@
6789  msgstr ""
6790  
6791  #: ../rarp.c:176
6792 +#, c-format
6793  msgid "Usage: rarp -a                               list entries in cache.\n"
6794  msgstr ""
6795  
6796  #: ../rarp.c:177
6797 +#, c-format
6798  msgid "       rarp -d <hostname>                    delete entry from cache.\n"
6799  msgstr ""
6800  
6801  #: ../rarp.c:178
6802 +#, c-format
6803  msgid "       rarp [<HW>] -s <hostname> <hwaddr>    add entry to cache.\n"
6804  msgstr ""
6805  
6806  #: ../rarp.c:179
6807 +#, c-format
6808  msgid ""
6809  "       rarp -f                               add entries from /etc/ethers.\n"
6810  msgstr ""
6811  
6812  #: ../rarp.c:180
6813 +#, c-format
6814  msgid ""
6815  "       rarp -V                               display program version.\n"
6816  "\n"
6817 @@ -1019,38 +1204,50 @@
6818  msgstr ""
6819  
6820  #: ../route.c:80
6821 +#, c-format
6822  msgid ""
6823  "Usage: route [-nNvee] [-FC] [<AF>]           List kernel routing tables\n"
6824  msgstr ""
6825  
6826  #: ../route.c:81
6827 +#, c-format
6828  msgid ""
6829  "       route [-v] [-FC] {add|del|flush} ...  Modify routing table for AF.\n"
6830  "\n"
6831  msgstr ""
6832  
6833  #: ../route.c:83
6834 +#, c-format
6835  msgid ""
6836  "       route {-h|--help} [<AF>]              Detailed usage syntax for "
6837  "specified AF.\n"
6838  msgstr ""
6839  
6840  #: ../route.c:84
6841 +#, c-format
6842  msgid ""
6843  "       route {-V|--version}                  Display version/author and "
6844  "exit.\n"
6845  "\n"
6846  msgstr ""
6847  
6848 +#: ../route.c:92
6849 +#, c-format
6850 +msgid "  <AF>=Use '-A <af>' or '--<af>'; default: %s\n"
6851 +msgstr ""
6852 +
6853  #: ../plipconfig.c:66
6854 +#, c-format
6855  msgid "Usage: plipconfig [-a] [-i] [-v] interface\n"
6856  msgstr ""
6857  
6858  #: ../plipconfig.c:67
6859 +#, c-format
6860  msgid "                  [nibble NN] [trigger NN]\n"
6861  msgstr ""
6862  
6863  #: ../plipconfig.c:68
6864 +#, c-format
6865  msgid "       plipconfig -V | --version\n"
6866  msgstr ""
6867  
6868 @@ -1060,61 +1257,75 @@
6869  msgstr ""
6870  
6871  #: ../iptunnel.c:85
6872 +#, c-format
6873  msgid "Usage: iptunnel { add | change | del | show } [ NAME ]\n"
6874  msgstr ""
6875  
6876  #: ../iptunnel.c:86
6877 +#, c-format
6878  msgid ""
6879  "          [ mode { ipip | gre | sit } ] [ remote ADDR ] [ local ADDR ]\n"
6880  msgstr ""
6881  
6882  #: ../iptunnel.c:87
6883 +#, c-format
6884  msgid "          [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]\n"
6885  msgstr ""
6886  
6887  #: ../iptunnel.c:88
6888 +#, c-format
6889  msgid "          [ ttl TTL ] [ tos TOS ] [ nopmtudisc ] [ dev PHYS_DEV ]\n"
6890  msgstr ""
6891  
6892  #: ../iptunnel.c:89
6893 +#, c-format
6894  msgid ""
6895  "       iptunnel -V | --version\n"
6896  "\n"
6897  msgstr ""
6898  
6899  #: ../iptunnel.c:90
6900 +#, c-format
6901  msgid "Where: NAME := STRING\n"
6902  msgstr ""
6903  
6904  #: ../iptunnel.c:91
6905 +#, c-format
6906  msgid "       ADDR := { IP_ADDRESS | any }\n"
6907  msgstr ""
6908  
6909  #: ../iptunnel.c:92
6910 +#, c-format
6911  msgid "       TOS  := { NUMBER | inherit }\n"
6912  msgstr ""
6913  
6914  #: ../iptunnel.c:93
6915 +#, c-format
6916  msgid "       TTL  := { 1..255 | inherit }\n"
6917  msgstr ""
6918  
6919  #: ../iptunnel.c:94
6920 +#, c-format
6921  msgid "       KEY  := { DOTTED_QUAD | NUMBER }\n"
6922  msgstr ""
6923  
6924  #: ../iptunnel.c:332
6925 +#, c-format
6926  msgid "Keys are not allowed with ipip and sit.\n"
6927  msgstr ""
6928  
6929  #: ../iptunnel.c:352
6930 +#, c-format
6931  msgid "Broadcast tunnel requires a source address.\n"
6932  msgstr ""
6933  
6934  #: ../iptunnel.c:367
6935 +#, c-format
6936  msgid "ttl != 0 and noptmudisc are incompatible\n"
6937  msgstr ""
6938  
6939  #: ../iptunnel.c:379
6940 +#, c-format
6941  msgid "cannot determine tunnel mode (ipip, gre or sit)\n"
6942  msgstr ""
6943  
6944 @@ -1128,22 +1339,27 @@
6945  msgstr ""
6946  
6947  #: ../iptunnel.c:453
6948 +#, c-format
6949  msgid "  Drop packets out of sequence.\n"
6950  msgstr ""
6951  
6952  #: ../iptunnel.c:455
6953 +#, c-format
6954  msgid "  Checksum in received packet is required.\n"
6955  msgstr ""
6956  
6957  #: ../iptunnel.c:457
6958 +#, c-format
6959  msgid "  Sequence packets on output.\n"
6960  msgstr ""
6961  
6962  #: ../iptunnel.c:459
6963 +#, c-format
6964  msgid "  Checksum output packets.\n"
6965  msgstr ""
6966  
6967  #: ../iptunnel.c:487
6968 +#, c-format
6969  msgid "Wrong format of /proc/net/dev. Sorry.\n"
6970  msgstr ""
6971  
6972 @@ -1153,10 +1369,12 @@
6973  msgstr ""
6974  
6975  #: ../iptunnel.c:516
6976 +#, c-format
6977  msgid "RX: Packets    Bytes        Errors CsumErrs OutOfSeq Mcasts\n"
6978  msgstr ""
6979  
6980  #: ../iptunnel.c:519
6981 +#, c-format
6982  msgid "TX: Packets    Bytes        Errors DeadLoop NoRoute  NoBufs\n"
6983  msgstr ""
6984  
6985 @@ -1323,287 +1541,487 @@
6986  
6987  #: ../statistics.c:99
6988  #, c-format
6989 -msgid "address mask request: %u"
6990 +msgid "address mask request: %u"
6991 +msgstr ""
6992 +
6993 +#. ?
6994 +#: ../statistics.c:100 ../statistics.c:113
6995 +#, c-format
6996 +msgid "address mask replies: %u"
6997 +msgstr ""
6998 +
6999 +#. ?
7000 +#: ../statistics.c:101
7001 +#, c-format
7002 +msgid "%u ICMP messages sent"
7003 +msgstr ""
7004 +
7005 +#: ../statistics.c:102
7006 +#, c-format
7007 +msgid "%u ICMP messages failed"
7008 +msgstr ""
7009 +
7010 +#: ../statistics.c:104
7011 +#, c-format
7012 +msgid "time exceeded: %u"
7013 +msgstr ""
7014 +
7015 +#. ?
7016 +#: ../statistics.c:106
7017 +#, c-format
7018 +msgid "source quench: %u"
7019 +msgstr ""
7020 +
7021 +#: ../statistics.c:107
7022 +#, c-format
7023 +msgid "redirect: %u"
7024 +msgstr ""
7025 +
7026 +#: ../statistics.c:108
7027 +#, c-format
7028 +msgid "echo request: %u"
7029 +msgstr ""
7030 +
7031 +#: ../statistics.c:110
7032 +#, c-format
7033 +msgid "timestamp requests: %u"
7034 +msgstr ""
7035 +
7036 +#: ../statistics.c:111
7037 +#, c-format
7038 +msgid "timestamp replies: %u"
7039 +msgstr ""
7040 +
7041 +#: ../statistics.c:112
7042 +#, c-format
7043 +msgid "address mask requests: %u"
7044 +msgstr ""
7045 +
7046 +#: ../statistics.c:118
7047 +#, c-format
7048 +msgid "RTO algorithm is %s"
7049 +msgstr ""
7050 +
7051 +#: ../statistics.c:122
7052 +#, c-format
7053 +msgid "%u active connections openings"
7054 +msgstr ""
7055 +
7056 +#: ../statistics.c:123
7057 +#, c-format
7058 +msgid "%u passive connection openings"
7059 +msgstr ""
7060 +
7061 +#: ../statistics.c:124
7062 +#, c-format
7063 +msgid "%u failed connection attempts"
7064 +msgstr ""
7065 +
7066 +#: ../statistics.c:125
7067 +#, c-format
7068 +msgid "%u connection resets received"
7069 +msgstr ""
7070 +
7071 +#: ../statistics.c:126
7072 +#, c-format
7073 +msgid "%u connections established"
7074 +msgstr ""
7075 +
7076 +#: ../statistics.c:127
7077 +#, c-format
7078 +msgid "%u segments received"
7079 +msgstr ""
7080 +
7081 +#: ../statistics.c:128
7082 +#, c-format
7083 +msgid "%u segments send out"
7084 +msgstr ""
7085 +
7086 +#: ../statistics.c:129
7087 +#, c-format
7088 +msgid "%u segments retransmited"
7089 +msgstr ""
7090 +
7091 +#: ../statistics.c:130
7092 +#, c-format
7093 +msgid "%u bad segments received."
7094 +msgstr ""
7095 +
7096 +#: ../statistics.c:131
7097 +#, c-format
7098 +msgid "%u resets sent"
7099 +msgstr ""
7100 +
7101 +#: ../statistics.c:136
7102 +#, c-format
7103 +msgid "%u packets received"
7104 +msgstr ""
7105 +
7106 +#: ../statistics.c:137
7107 +#, c-format
7108 +msgid "%u packets to unknown port received."
7109 +msgstr ""
7110 +
7111 +#: ../statistics.c:138
7112 +#, c-format
7113 +msgid "%u packet receive errors"
7114 +msgstr ""
7115 +
7116 +#: ../statistics.c:139
7117 +#, c-format
7118 +msgid "%u packets sent"
7119 +msgstr ""
7120 +
7121 +#: ../statistics.c:144
7122 +#, c-format
7123 +msgid "%u SYN cookies sent"
7124 +msgstr ""
7125 +
7126 +#: ../statistics.c:145
7127 +#, c-format
7128 +msgid "%u SYN cookies received"
7129 +msgstr ""
7130 +
7131 +#: ../statistics.c:146
7132 +#, c-format
7133 +msgid "%u invalid SYN cookies received"
7134 +msgstr ""
7135 +
7136 +#: ../statistics.c:148
7137 +#, c-format
7138 +msgid "%u resets received for embryonic SYN_RECV sockets"
7139 +msgstr ""
7140 +
7141 +#: ../statistics.c:150
7142 +#, c-format
7143 +msgid "%u packets pruned from receive queue because of socket buffer overrun"
7144 +msgstr ""
7145 +
7146 +#. obsolete: 2.2.0 doesn't do that anymore
7147 +#: ../statistics.c:153
7148 +#, c-format
7149 +msgid "%u packets pruned from receive queue"
7150 +msgstr ""
7151 +
7152 +#: ../statistics.c:154
7153 +#, c-format
7154 +msgid ""
7155 +"%u packets dropped from out-of-order queue because of socket buffer overrun"
7156 +msgstr ""
7157 +
7158 +#: ../statistics.c:156
7159 +#, c-format
7160 +msgid "%u ICMP packets dropped because they were out-of-window"
7161 +msgstr ""
7162 +
7163 +#: ../statistics.c:158
7164 +#, c-format
7165 +msgid "%u ICMP packets dropped because socket was locked"
7166 +msgstr ""
7167 +
7168 +#: ../statistics.c:160
7169 +#, c-format
7170 +msgid "%u TCP sockets finished time wait in fast timer"
7171 +msgstr ""
7172 +
7173 +#: ../statistics.c:161
7174 +#, c-format
7175 +msgid "%u time wait sockets recycled by time stamp"
7176 +msgstr ""
7177 +
7178 +#: ../statistics.c:162
7179 +#, c-format
7180 +msgid "%u TCP sockets finished time wait in slow timer"
7181 +msgstr ""
7182 +
7183 +#: ../statistics.c:163
7184 +#, c-format
7185 +msgid "%u passive connections rejected because of time stamp"
7186 +msgstr ""
7187 +
7188 +#: ../statistics.c:165
7189 +#, c-format
7190 +msgid "%u active connections rejected because of time stamp"
7191 +msgstr ""
7192 +
7193 +#: ../statistics.c:167
7194 +#, c-format
7195 +msgid "%u packets rejects in established connections because of timestamp"
7196  msgstr ""
7197  
7198 -#. ?
7199 -#: ../statistics.c:100 ../statistics.c:113
7200 +#: ../statistics.c:169
7201  #, c-format
7202 -msgid "address mask replies: %u"
7203 +msgid "%u delayed acks sent"
7204  msgstr ""
7205  
7206 -#. ?
7207 -#: ../statistics.c:101
7208 +#: ../statistics.c:170
7209  #, c-format
7210 -msgid "%u ICMP messages sent"
7211 +msgid "%u delayed acks further delayed because of locked socket"
7212  msgstr ""
7213  
7214 -#: ../statistics.c:102
7215 +#: ../statistics.c:172
7216  #, c-format
7217 -msgid "%u ICMP messages failed"
7218 +msgid "Quick ack mode was activated %u times"
7219  msgstr ""
7220  
7221 -#: ../statistics.c:104
7222 +#: ../statistics.c:173
7223  #, c-format
7224 -msgid "time exceeded: %u"
7225 +msgid "%u times the listen queue of a socket overflowed"
7226  msgstr ""
7227  
7228 -#. ?
7229 -#: ../statistics.c:106
7230 +#: ../statistics.c:175
7231  #, c-format
7232 -msgid "source quench: %u"
7233 +msgid "%u SYNs to LISTEN sockets dropped"
7234  msgstr ""
7235  
7236 -#: ../statistics.c:107
7237 +#: ../statistics.c:176
7238  #, c-format
7239 -msgid "redirect: %u"
7240 +msgid "%u packets directly queued to recvmsg prequeue."
7241  msgstr ""
7242  
7243 -#: ../statistics.c:108
7244 +#: ../statistics.c:178
7245  #, c-format
7246 -msgid "echo request: %u"
7247 +msgid "%u bytes directly in process context from backlog"
7248  msgstr ""
7249  
7250 -#: ../statistics.c:110
7251 +#: ../statistics.c:179
7252  #, c-format
7253 -msgid "timestamp requests: %u"
7254 +msgid "%u bytes directly received in process context from prequeue"
7255  msgstr ""
7256  
7257 -#: ../statistics.c:111
7258 +#: ../statistics.c:181
7259  #, c-format
7260 -msgid "timestamp replies: %u"
7261 +msgid "%u packets dropped from prequeue"
7262  msgstr ""
7263  
7264 -#: ../statistics.c:112
7265 +#: ../statistics.c:182
7266  #, c-format
7267 -msgid "address mask requests: %u"
7268 +msgid "%u packet headers predicted"
7269  msgstr ""
7270  
7271 -#: ../statistics.c:118
7272 +#: ../statistics.c:183
7273  #, c-format
7274 -msgid "RTO algorithm is %s"
7275 +msgid "%u packets header predicted and directly queued to user"
7276  msgstr ""
7277  
7278 -#: ../statistics.c:122
7279 +#: ../statistics.c:185
7280  #, c-format
7281 -msgid "%u active connections openings"
7282 +msgid "Ran %u times out of system memory during packet sending"
7283  msgstr ""
7284  
7285 -#: ../statistics.c:123
7286 +#: ../statistics.c:187
7287  #, c-format
7288 -msgid "%u passive connection openings"
7289 +msgid "%u acknowledgments not containing data payload received"
7290  msgstr ""
7291  
7292 -#: ../statistics.c:124
7293 +#: ../statistics.c:188
7294  #, c-format
7295 -msgid "%u failed connection attempts"
7296 +msgid "%u predicted acknowledgments"
7297  msgstr ""
7298  
7299 -#: ../statistics.c:125
7300 +#: ../statistics.c:189
7301  #, c-format
7302 -msgid "%u connection resets received"
7303 +msgid "%u times recovered from packet loss due to fast retransmit"
7304  msgstr ""
7305  
7306 -#: ../statistics.c:126
7307 +#: ../statistics.c:190
7308  #, c-format
7309 -msgid "%u connections established"
7310 +msgid "%u times recovered from packet loss by selective acknowledgements"
7311  msgstr ""
7312  
7313 -#: ../statistics.c:127
7314 +#: ../statistics.c:191
7315  #, c-format
7316 -msgid "%u segments received"
7317 +msgid "%u bad SACK blocks received"
7318  msgstr ""
7319  
7320 -#: ../statistics.c:128
7321 +#: ../statistics.c:192
7322  #, c-format
7323 -msgid "%u segments send out"
7324 +msgid "Detected reordering %u times using FACK"
7325  msgstr ""
7326  
7327 -#: ../statistics.c:129
7328 +#: ../statistics.c:193
7329  #, c-format
7330 -msgid "%u segments retransmited"
7331 +msgid "Detected reordering %u times using SACK"
7332  msgstr ""
7333  
7334 -#: ../statistics.c:130
7335 +#: ../statistics.c:194
7336  #, c-format
7337 -msgid "%u bad segments received."
7338 +msgid "Detected reordering %u times using time stamp"
7339  msgstr ""
7340  
7341 -#: ../statistics.c:131
7342 +#: ../statistics.c:195
7343  #, c-format
7344 -msgid "%u resets sent"
7345 +msgid "Detected reordering %u times using reno fast retransmit"
7346  msgstr ""
7347  
7348 -#: ../statistics.c:136
7349 +#: ../statistics.c:196
7350  #, c-format
7351 -msgid "%u packets received"
7352 +msgid "%u congestion windows fully recovered without slow start"
7353  msgstr ""
7354  
7355 -#: ../statistics.c:137
7356 +#: ../statistics.c:197
7357  #, c-format
7358 -msgid "%u packets to unknown port received."
7359 +msgid "%u congestion windows partially recovered using Hoe heuristic"
7360  msgstr ""
7361  
7362 -#: ../statistics.c:138
7363 +#: ../statistics.c:198
7364  #, c-format
7365 -msgid "%u packet receive errors"
7366 +msgid "%u congestion window recovered without slow start using DSACK"
7367  msgstr ""
7368  
7369 -#: ../statistics.c:139
7370 +#: ../statistics.c:199
7371  #, c-format
7372 -msgid "%u packets sent"
7373 +msgid "%u congestion windows recovered without slow start after partial ack"
7374  msgstr ""
7375  
7376 -#: ../statistics.c:144
7377 +#: ../statistics.c:200
7378  #, c-format
7379 -msgid "%u SYN cookies sent"
7380 +msgid "%u retransmits lost"
7381  msgstr ""
7382  
7383 -#: ../statistics.c:145
7384 +#: ../statistics.c:201
7385  #, c-format
7386 -msgid "%u SYN cookies received"
7387 +msgid "%u timeouts after reno fast retransmit"
7388  msgstr ""
7389  
7390 -#: ../statistics.c:146
7391 +#: ../statistics.c:202
7392  #, c-format
7393 -msgid "%u invalid SYN cookies received"
7394 +msgid "%u timeouts after SACK recovery"
7395  msgstr ""
7396  
7397 -#: ../statistics.c:148
7398 +#: ../statistics.c:203
7399  #, c-format
7400 -msgid "%u resets received for embryonic SYN_RECV sockets"
7401 +msgid "%u timeouts in loss state"
7402  msgstr ""
7403  
7404 -#: ../statistics.c:150
7405 +#: ../statistics.c:204
7406  #, c-format
7407 -msgid "%u packets pruned from receive queue because of socket buffer overrun"
7408 +msgid "%u fast retransmits"
7409  msgstr ""
7410  
7411 -#. obsolete: 2.2.0 doesn't do that anymore
7412 -#: ../statistics.c:153
7413 +#: ../statistics.c:205
7414  #, c-format
7415 -msgid "%u packets pruned from receive queue"
7416 +msgid "%u forward retransmits"
7417  msgstr ""
7418  
7419 -#: ../statistics.c:154
7420 +#: ../statistics.c:206
7421  #, c-format
7422 -msgid ""
7423 -"%u packets dropped from out-of-order queue because of socket buffer overrun"
7424 +msgid "%u retransmits in slow start"
7425  msgstr ""
7426  
7427 -#: ../statistics.c:156
7428 +#: ../statistics.c:207
7429  #, c-format
7430 -msgid "%u ICMP packets dropped because they were out-of-window"
7431 +msgid "%u other TCP timeouts"
7432  msgstr ""
7433  
7434 -#: ../statistics.c:158
7435 +#: ../statistics.c:208
7436  #, c-format
7437 -msgid "%u ICMP packets dropped because socket was locked"
7438 +msgid "%u reno fast retransmits failed"
7439  msgstr ""
7440  
7441 -#: ../statistics.c:160
7442 +#: ../statistics.c:209
7443  #, c-format
7444 -msgid "%u TCP sockets finished time wait in fast timer"
7445 +msgid "%u SACK retransmits failed"
7446  msgstr ""
7447  
7448 -#: ../statistics.c:161
7449 +#: ../statistics.c:210
7450  #, c-format
7451 -msgid "%u time wait sockets recycled by time stamp"
7452 +msgid "%u times receiver scheduled too late for direct processing"
7453  msgstr ""
7454  
7455 -#: ../statistics.c:162
7456 +#: ../statistics.c:211
7457  #, c-format
7458 -msgid "%u TCP sockets finished time wait in slow timer"
7459 +msgid "%u packets collapsed in receive queue due to low socket buffer"
7460  msgstr ""
7461  
7462 -#: ../statistics.c:163
7463 +#: ../statistics.c:212
7464  #, c-format
7465 -msgid "%u passive connections rejected because of time stamp"
7466 +msgid "%u DSACKs sent for old packets"
7467  msgstr ""
7468  
7469 -#: ../statistics.c:165
7470 +#: ../statistics.c:213
7471  #, c-format
7472 -msgid "%u active connections rejected because of time stamp"
7473 +msgid "%u DSACKs sent for out of order packets"
7474  msgstr ""
7475  
7476 -#: ../statistics.c:167
7477 +#: ../statistics.c:214
7478  #, c-format
7479 -msgid "%u packets rejects in established connections because of timestamp"
7480 +msgid "%u DSACKs received"
7481  msgstr ""
7482  
7483 -#: ../statistics.c:169
7484 +#: ../statistics.c:215
7485  #, c-format
7486 -msgid "%u delayed acks sent"
7487 +msgid "%u DSACKs for out of order packets received"
7488  msgstr ""
7489  
7490 -#: ../statistics.c:170
7491 +#: ../statistics.c:216
7492  #, c-format
7493 -msgid "%u delayed acks further delayed because of locked socket"
7494 +msgid "%u connections reset due to unexpected SYN"
7495  msgstr ""
7496  
7497 -#: ../statistics.c:172
7498 +#: ../statistics.c:217
7499  #, c-format
7500 -msgid "Quick ack mode was activated %u times"
7501 +msgid "%u connections reset due to unexpected data"
7502  msgstr ""
7503  
7504 -#: ../statistics.c:173
7505 +#: ../statistics.c:218
7506  #, c-format
7507 -msgid "%u times the listen queue of a socket overflowed"
7508 +msgid "%u connections reset due to early user close"
7509  msgstr ""
7510  
7511 -#: ../statistics.c:175
7512 +#: ../statistics.c:219
7513  #, c-format
7514 -msgid "%u SYNs to LISTEN sockets ignored"
7515 +msgid "%u connections aborted due to memory pressure"
7516  msgstr ""
7517  
7518 -#: ../statistics.c:176
7519 +#: ../statistics.c:220
7520  #, c-format
7521 -msgid "%u packets directly queued to recvmsg prequeue."
7522 +msgid "%u connections aborted due to timeout"
7523  msgstr ""
7524  
7525 -#: ../statistics.c:178
7526 +#: ../statistics.c:221
7527  #, c-format
7528 -msgid "%u packets directly received from backlog"
7529 +msgid "%u connections aborted after user close in linger timeout"
7530  msgstr ""
7531  
7532 -#: ../statistics.c:180
7533 +#: ../statistics.c:222
7534  #, c-format
7535 -msgid "%u packets directly received from prequeue"
7536 +msgid "%u times unabled to send RST due to no memory"
7537  msgstr ""
7538  
7539 -#: ../statistics.c:182
7540 +#: ../statistics.c:223
7541  #, c-format
7542 -msgid "%u packets dropped from prequeue"
7543 +msgid "TCP ran low on memory %u times"
7544  msgstr ""
7545  
7546 -#: ../statistics.c:183
7547 +#: ../statistics.c:224
7548  #, c-format
7549 -msgid "%u packets header predicted"
7550 +msgid "%u TCP data loss events"
7551  msgstr ""
7552  
7553 -#: ../statistics.c:184
7554 +#: ../statistics.c:225
7555  #, c-format
7556 -msgid "%u packets header predicted and directly queued to user"
7557 +msgid "%u congestion windows recovered without slow start by DSACK"
7558  msgstr ""
7559  
7560 -#: ../statistics.c:186
7561 +#: ../statistics.c:227
7562  #, c-format
7563 -msgid "Ran %u times out of system memory during packet sending"
7564 +msgid "%u classic Reno fast retransmits failed"
7565  msgstr ""
7566  
7567 -#: ../statistics.c:253
7568 +#: ../statistics.c:294
7569  msgid "enabled"
7570  msgstr ""
7571  
7572 -#: ../statistics.c:253
7573 +#: ../statistics.c:294
7574  msgid "disabled"
7575  msgstr ""
7576  
7577 -#: ../statistics.c:336
7578 +#: ../statistics.c:377
7579  msgid "error parsing /proc/net/snmp"
7580  msgstr ""
7581  
7582 -#: ../statistics.c:349
7583 +#: ../statistics.c:390
7584  msgid "cannot open /proc/net/snmp"
7585  msgstr ""
7586  
7587 @@ -1617,7 +2035,7 @@
7588  msgid "Cannot change line discipline to `%s'.\n"
7589  msgstr ""
7590  
7591 -#: ../lib/af.c:153 ../lib/hw.c:156
7592 +#: ../lib/af.c:153 ../lib/hw.c:161
7593  msgid "UNSPEC"
7594  msgstr ""
7595  
7596 @@ -1633,11 +2051,11 @@
7597  msgid "IPv6"
7598  msgstr ""
7599  
7600 -#: ../lib/af.c:164 ../lib/hw.c:177
7601 +#: ../lib/af.c:164 ../lib/hw.c:182
7602  msgid "AMPR AX.25"
7603  msgstr ""
7604  
7605 -#: ../lib/af.c:167 ../lib/hw.c:183
7606 +#: ../lib/af.c:167 ../lib/hw.c:188
7607  msgid "AMPR NET/ROM"
7608  msgstr ""
7609  
7610 @@ -1649,7 +2067,7 @@
7611  msgid "Appletalk DDP"
7612  msgstr ""
7613  
7614 -#: ../lib/af.c:176 ../lib/hw.c:218
7615 +#: ../lib/af.c:176 ../lib/hw.c:223
7616  msgid "Econet"
7617  msgstr ""
7618  
7619 @@ -1657,19 +2075,21 @@
7620  msgid "CCITT X.25"
7621  msgstr ""
7622  
7623 -#: ../lib/af.c:182 ../lib/hw.c:180
7624 +#: ../lib/af.c:182 ../lib/hw.c:185
7625  msgid "AMPR ROSE"
7626  msgstr ""
7627  
7628 -#: ../lib/af.c:185 ../lib/hw.c:168
7629 +#: ../lib/af.c:185 ../lib/hw.c:173
7630  msgid "Ash"
7631  msgstr ""
7632  
7633  #: ../lib/af.c:243
7634 +#, c-format
7635  msgid "Please don't supply more than one address family.\n"
7636  msgstr ""
7637  
7638  #: ../lib/af.c:304
7639 +#, c-format
7640  msgid "Too much address family arguments.\n"
7641  msgstr ""
7642  
7643 @@ -1694,11 +2114,12 @@
7644  msgstr ""
7645  
7646  #: ../lib/ash.c:81
7647 +#, c-format
7648  msgid "Malformed Ash address"
7649  msgstr ""
7650  
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
7655  msgid "[NONE SET]"
7656  msgstr ""
7657 @@ -1712,22 +2133,21 @@
7658  msgstr ""
7659  
7660  #: ../lib/ax25_gr.c:47
7661 +#, c-format
7662  msgid "AX.25 not configured in this system.\n"
7663  msgstr ""
7664  
7665  #: ../lib/ax25_gr.c:50
7666 +#, c-format
7667  msgid "Kernel AX.25 routing table\n"
7668  msgstr ""
7669  
7670  #. xxx
7671  #: ../lib/ax25_gr.c:51 ../lib/rose_gr.c:55
7672 +#, c-format
7673  msgid "Destination  Iface    Use\n"
7674  msgstr ""
7675  
7676 -#: ../lib/ddp_gr.c:21
7677 -msgid "Routing table for `ddp' not yet supported.\n"
7678 -msgstr ""
7679 -
7680  #: ../lib/ether.c:74 ../lib/ether.c:91
7681  #, c-format
7682  msgid "in_ether(%s): invalid ether address!\n"
7683 @@ -1783,225 +2203,260 @@
7684  msgid "in_hippi(%s): trailing junk!\n"
7685  msgstr ""
7686  
7687 -#: ../lib/hw.c:155
7688 +#: ../lib/hw.c:160
7689  msgid "Local Loopback"
7690  msgstr ""
7691  
7692 -#: ../lib/hw.c:158
7693 +#: ../lib/hw.c:163
7694  msgid "Serial Line IP"
7695  msgstr ""
7696  
7697 -#: ../lib/hw.c:159
7698 +#: ../lib/hw.c:164
7699  msgid "VJ Serial Line IP"
7700  msgstr ""
7701  
7702 -#: ../lib/hw.c:160
7703 +#: ../lib/hw.c:165
7704  msgid "6-bit Serial Line IP"
7705  msgstr ""
7706  
7707 -#: ../lib/hw.c:161
7708 +#: ../lib/hw.c:166
7709  msgid "VJ 6-bit Serial Line IP"
7710  msgstr ""
7711  
7712 -#: ../lib/hw.c:162
7713 +#: ../lib/hw.c:167
7714  msgid "Adaptive Serial Line IP"
7715  msgstr ""
7716  
7717 -#: ../lib/hw.c:165
7718 +#: ../lib/hw.c:170
7719  msgid "Ethernet"
7720  msgstr ""
7721  
7722 -#: ../lib/hw.c:171
7723 +#: ../lib/hw.c:176
7724  msgid "Fiber Distributed Data Interface"
7725  msgstr ""
7726  
7727 -#: ../lib/hw.c:174
7728 +#: ../lib/hw.c:179
7729  msgid "HIPPI"
7730  msgstr ""
7731  
7732 -#: ../lib/hw.c:186
7733 +#: ../lib/hw.c:191
7734  msgid "generic X.25"
7735  msgstr ""
7736  
7737 -#: ../lib/hw.c:189
7738 +#: ../lib/hw.c:194
7739  msgid "IPIP Tunnel"
7740  msgstr ""
7741  
7742 -#: ../lib/hw.c:192
7743 +#: ../lib/hw.c:197
7744  msgid "Point-to-Point Protocol"
7745  msgstr ""
7746  
7747 -#: ../lib/hw.c:195
7748 +#: ../lib/hw.c:200
7749  msgid "(Cisco)-HDLC"
7750  msgstr ""
7751  
7752 -#: ../lib/hw.c:196
7753 +#: ../lib/hw.c:201
7754  msgid "LAPB"
7755  msgstr ""
7756  
7757 -#: ../lib/hw.c:199
7758 +#: ../lib/hw.c:204
7759  msgid "ARCnet"
7760  msgstr ""
7761  
7762 -#: ../lib/hw.c:202
7763 +#: ../lib/hw.c:207
7764  msgid "Frame Relay DLCI"
7765  msgstr ""
7766  
7767 -#: ../lib/hw.c:203
7768 +#: ../lib/hw.c:208
7769  msgid "Frame Relay Access Device"
7770  msgstr ""
7771  
7772 -#: ../lib/hw.c:206
7773 +#: ../lib/hw.c:211
7774  msgid "IPv6-in-IPv4"
7775  msgstr ""
7776  
7777 -#: ../lib/hw.c:209
7778 +#: ../lib/hw.c:214
7779  msgid "IrLAP"
7780  msgstr ""
7781  
7782 -#: ../lib/hw.c:212
7783 +#: ../lib/hw.c:217
7784  msgid "16/4 Mbps Token Ring"
7785  msgstr ""
7786  
7787 -#: ../lib/hw.c:214
7788 +#: ../lib/hw.c:219
7789  msgid "16/4 Mbps Token Ring (New)"
7790  msgstr ""
7791  
7792 -#: ../lib/inet.c:153 ../lib/inet6.c:79
7793 +#: ../lib/hw.c:226
7794 +msgid "Generic EUI-64"
7795 +msgstr ""
7796 +
7797 +#: ../lib/inet.c:153 ../lib/inet6.c:94
7798  #, c-format
7799  msgid "rresolve: unsupport address family %d !\n"
7800  msgstr ""
7801  
7802 -#: ../lib/inet6.c:131
7803 +#: ../lib/inet6.c:147
7804  msgid "[UNKNOWN]"
7805  msgstr ""
7806  
7807  #: ../lib/inet6_gr.c:71
7808 +#, c-format
7809  msgid "INET6 (IPv6) not configured in this system.\n"
7810  msgstr ""
7811  
7812 -#: ../lib/inet6_gr.c:74
7813 +#: ../lib/inet6_gr.c:76
7814 +#, c-format
7815 +msgid "Kernel IPv6 routing cache\n"
7816 +msgstr ""
7817 +
7818 +#: ../lib/inet6_gr.c:78
7819 +#, c-format
7820  msgid "Kernel IPv6 routing table\n"
7821  msgstr ""
7822  
7823 -#: ../lib/inet6_gr.c:76
7824 +#: ../lib/inet6_gr.c:80
7825 +#, c-format
7826  msgid ""
7827 -"Destination                                 Next Hop                         "
7828 -"       Flags Metric Ref    Use Iface\n"
7829 +"Destination                    Next Hop                   Flag Met Ref Use "
7830 +"If\n"
7831  msgstr ""
7832  
7833 -#: ../lib/inet6_gr.c:150
7834 +#: ../lib/inet6_gr.c:174
7835 +#, c-format
7836  msgid "Kernel IPv6 Neighbour Cache\n"
7837  msgstr ""
7838  
7839 -#: ../lib/inet6_gr.c:153
7840 +#: ../lib/inet6_gr.c:177
7841 +#, c-format
7842  msgid ""
7843  "Neighbour                                   HW Address        Iface    Flags "
7844  "Ref State\n"
7845  msgstr ""
7846  
7847 -#: ../lib/inet6_gr.c:157
7848 +#: ../lib/inet6_gr.c:181
7849 +#, c-format
7850  msgid ""
7851  "Neighbour                                   HW Address        Iface    Flags "
7852  "Ref State            Stale(sec) Delete(sec)\n"
7853  msgstr ""
7854  
7855  #: ../lib/inet6_sr.c:46
7856 +#, c-format
7857  msgid "Usage: inet6_route [-vF] del Target\n"
7858  msgstr ""
7859  
7860  #: ../lib/inet6_sr.c:47
7861 +#, c-format
7862  msgid "       inet6_route [-vF] add Target [gw Gw] [metric M] [[dev] If]\n"
7863  msgstr ""
7864  
7865  #: ../lib/inet6_sr.c:48
7866 +#, c-format
7867  msgid "       inet6_route [-FC] flush      NOT supported\n"
7868  msgstr ""
7869  
7870  #: ../lib/inet6_sr.c:188
7871 +#, c-format
7872  msgid "Flushing `inet6' routing table not supported\n"
7873  msgstr ""
7874  
7875  #: ../lib/inet_gr.c:50 ../lib/inet_gr.c:220
7876 +#, c-format
7877  msgid "INET (IPv4) not configured in this system.\n"
7878  msgstr ""
7879  
7880  #: ../lib/inet_gr.c:53
7881 +#, c-format
7882  msgid "Kernel IP routing table\n"
7883  msgstr ""
7884  
7885  #: ../lib/inet_gr.c:56
7886 +#, c-format
7887  msgid ""
7888  "Destination     Gateway         Genmask         Flags Metric Ref    Use "
7889  "Iface\n"
7890  msgstr ""
7891  
7892  #: ../lib/inet_gr.c:59
7893 +#, c-format
7894  msgid ""
7895  "Destination     Gateway         Genmask         Flags   MSS Window  irtt "
7896  "Iface\n"
7897  msgstr ""
7898  
7899  #: ../lib/inet_gr.c:62
7900 +#, c-format
7901  msgid ""
7902  "Destination     Gateway         Genmask         Flags Metric Ref    Use "
7903  "Iface    MSS   Window irtt\n"
7904  msgstr ""
7905  
7906  #: ../lib/inet_gr.c:237
7907 +#, c-format
7908  msgid "Kernel IP routing cache\n"
7909  msgstr ""
7910  
7911  #: ../lib/inet_gr.c:258
7912 +#, c-format
7913  msgid ""
7914  "Source          Destination     Gateway         Flags Metric Ref    Use "
7915  "Iface\n"
7916  msgstr ""
7917  
7918  #: ../lib/inet_gr.c:261
7919 +#, c-format
7920  msgid ""
7921  "Source          Destination     Gateway         Flags   MSS Window  irtt "
7922  "Iface\n"
7923  msgstr ""
7924  
7925  #: ../lib/inet_gr.c:266
7926 +#, c-format
7927  msgid ""
7928  "Source          Destination     Gateway         Flags Metric Ref    Use "
7929  "Iface    MSS   Window irtt  HH  Arp\n"
7930  msgstr ""
7931  
7932  #: ../lib/inet_gr.c:290
7933 +#, c-format
7934  msgid ""
7935  "Source          Destination     Gateway         Flags Metric Ref    Use "
7936  "Iface    MSS   Window irtt  TOS HHRef HHUptod     SpecDst\n"
7937  msgstr ""
7938  
7939 -#: ../lib/inet_sr.c:50
7940 +#: ../lib/inet_sr.c:51
7941 +#, c-format
7942  msgid ""
7943  "Usage: inet_route [-vF] del {-host|-net} Target[/prefix] [gw Gw] [metric M] "
7944  "[[dev] If]\n"
7945  msgstr ""
7946  
7947 -#: ../lib/inet_sr.c:51
7948 +#: ../lib/inet_sr.c:52
7949 +#, c-format
7950  msgid ""
7951  "       inet_route [-vF] add {-host|-net} Target[/prefix] [gw Gw] [metric M]\n"
7952  msgstr ""
7953  
7954 -#: ../lib/inet_sr.c:52
7955 +#: ../lib/inet_sr.c:53
7956 +#, c-format
7957  msgid ""
7958  "                              [netmask N] [mss Mss] [window W] [irtt I]\n"
7959  msgstr ""
7960  
7961 -#: ../lib/inet_sr.c:53
7962 +#: ../lib/inet_sr.c:54
7963 +#, c-format
7964  msgid "                              [mod] [dyn] [reinstate] [[dev] If]\n"
7965  msgstr ""
7966  
7967 -#: ../lib/inet_sr.c:54
7968 +#: ../lib/inet_sr.c:55
7969 +#, c-format
7970  msgid ""
7971  "       inet_route [-vF] add {-host|-net} Target[/prefix] [metric M] reject\n"
7972  msgstr ""
7973  
7974 -#: ../lib/inet_sr.c:55
7975 +#: ../lib/inet_sr.c:56
7976 +#, c-format
7977  msgid "       inet_route [-FC] flush      NOT supported\n"
7978  msgstr ""
7979  
7980 @@ -2011,14 +2466,17 @@
7981  msgstr ""
7982  
7983  #: ../lib/inet_sr.c:174
7984 +#, c-format
7985  msgid "route: Invalid MSS/MTU.\n"
7986  msgstr ""
7987  
7988  #: ../lib/inet_sr.c:187
7989 +#, c-format
7990  msgid "route: Invalid window.\n"
7991  msgstr ""
7992  
7993  #: ../lib/inet_sr.c:203
7994 +#, c-format
7995  msgid "route: Invalid initial rtt.\n"
7996  msgstr ""
7997  
7998 @@ -2033,73 +2491,90 @@
7999  msgstr ""
8000  
8001  #: ../lib/inet_sr.c:270
8002 +#, c-format
8003  msgid "route: netmask doesn't match route address\n"
8004  msgstr ""
8005  
8006  #: ../lib/inet_sr.c:306
8007 +#, c-format
8008  msgid "Flushing `inet' routing table not supported\n"
8009  msgstr ""
8010  
8011  #: ../lib/inet_sr.c:310
8012 +#, c-format
8013  msgid "Modifying `inet' routing cache not supported\n"
8014  msgstr ""
8015  
8016  #: ../lib/ipx_gr.c:52
8017 +#, c-format
8018  msgid "IPX not configured in this system.\n"
8019  msgstr ""
8020  
8021  #: ../lib/ipx_gr.c:56
8022 +#, c-format
8023  msgid "Kernel IPX routing table\n"
8024  msgstr ""
8025  
8026  #. xxx
8027  #: ../lib/ipx_gr.c:57
8028 +#, c-format
8029  msgid "Destination               Router Net                Router Node\n"
8030  msgstr ""
8031  
8032  #: ../lib/ipx_sr.c:33
8033 +#, c-format
8034  msgid "IPX: this needs to be written\n"
8035  msgstr ""
8036  
8037  #: ../lib/masq_info.c:198
8038 +#, c-format
8039  msgid "IP masquerading entries\n"
8040  msgstr ""
8041  
8042  #: ../lib/masq_info.c:201
8043 +#, c-format
8044  msgid "prot   expire source               destination          ports\n"
8045  msgstr ""
8046  
8047  #: ../lib/masq_info.c:204
8048 +#, c-format
8049  msgid ""
8050 -"prot   expire    initseq delta prevd source               destination        "
8051 -"  ports\n"
8052 +"prot   expire    initseq delta prevd source               "
8053 +"destination          ports\n"
8054  msgstr ""
8055  
8056  #: ../lib/netrom_gr.c:48
8057 +#, c-format
8058  msgid "NET/ROM not configured in this system.\n"
8059  msgstr ""
8060  
8061  #: ../lib/netrom_gr.c:51
8062 +#, c-format
8063  msgid "Kernel NET/ROM routing table\n"
8064  msgstr ""
8065  
8066  #: ../lib/netrom_gr.c:52
8067 +#, c-format
8068  msgid "Destination  Mnemonic  Quality  Neighbour  Iface\n"
8069  msgstr ""
8070  
8071  #: ../lib/netrom_sr.c:34
8072 +#, c-format
8073  msgid "netrom usage\n"
8074  msgstr ""
8075  
8076  #: ../lib/netrom_sr.c:44
8077 +#, c-format
8078  msgid "NET/ROM: this needs to be written\n"
8079  msgstr ""
8080  
8081  #: ../lib/ppp.c:44
8082 +#, c-format
8083  msgid "You cannot start PPP with this program.\n"
8084  msgstr ""
8085  
8086  #: ../lib/ppp_ac.c:38
8087 +#, c-format
8088  msgid "Sorry, use pppd!\n"
8089  msgstr ""
8090  
8091 @@ -2108,287 +2583,314 @@
8092  msgstr ""
8093  
8094  #: ../lib/rose_gr.c:51
8095 +#, c-format
8096  msgid "ROSE not configured in this system.\n"
8097  msgstr ""
8098  
8099  #: ../lib/rose_gr.c:54
8100 +#, c-format
8101  msgid "Kernel ROSE routing table\n"
8102  msgstr ""
8103  
8104 -#: ../lib/tr.c:70 ../lib/tr.c:85
8105 +#: ../lib/tr.c:86 ../lib/tr.c:101
8106  #, c-format
8107  msgid "in_tr(%s): invalid token ring address!\n"
8108  msgstr ""
8109  
8110 -#: ../lib/tr.c:97
8111 +#: ../lib/tr.c:113
8112  #, c-format
8113  msgid "in_tr(%s): trailing : ignored!\n"
8114  msgstr ""
8115  
8116 -#: ../lib/tr.c:109
8117 +#: ../lib/tr.c:125
8118  #, c-format
8119  msgid "in_tr(%s): trailing junk!\n"
8120  msgstr ""
8121  
8122 -#: ../lib/interface.c:164
8123 +#: ../lib/interface.c:174
8124  #, c-format
8125  msgid "warning: no inet socket available: %s\n"
8126  msgstr ""
8127  
8128 -#: ../lib/interface.c:316
8129 +#: ../lib/interface.c:323
8130  #, c-format
8131  msgid "Warning: cannot open %s (%s). Limited output.\n"
8132  msgstr ""
8133  
8134  #. Give better error message for this case.
8135 -#: ../lib/interface.c:556
8136 +#: ../lib/interface.c:570
8137  msgid "Device not found"
8138  msgstr ""
8139  
8140 -#: ../lib/interface.c:560
8141 +#: ../lib/interface.c:574
8142  #, c-format
8143  msgid "%s: error fetching interface information: %s\n"
8144  msgstr ""
8145  
8146 -#: ../lib/interface.c:593
8147 +#: ../lib/interface.c:607
8148  msgid "     - no statistics available -"
8149  msgstr ""
8150  
8151 -#: ../lib/interface.c:597
8152 +#: ../lib/interface.c:611
8153 +#, c-format
8154  msgid "[NO FLAGS]"
8155  msgstr ""
8156  
8157 -#: ../lib/interface.c:673
8158 +#: ../lib/interface.c:687
8159  #, c-format
8160  msgid "%-9.9s Link encap:%s  "
8161  msgstr ""
8162  
8163 -#: ../lib/interface.c:678
8164 +#: ../lib/interface.c:692
8165  #, c-format
8166  msgid "HWaddr %s  "
8167  msgstr ""
8168  
8169 -#: ../lib/interface.c:681
8170 +#: ../lib/interface.c:695
8171  #, c-format
8172  msgid "Media:%s"
8173  msgstr ""
8174  
8175 -#: ../lib/interface.c:683
8176 +#: ../lib/interface.c:697
8177 +#, c-format
8178  msgid "(auto)"
8179  msgstr ""
8180  
8181 -#: ../lib/interface.c:690
8182 +#: ../lib/interface.c:704
8183  #, c-format
8184  msgid "          %s addr:%s "
8185  msgstr ""
8186  
8187 -#: ../lib/interface.c:693
8188 +#: ../lib/interface.c:707
8189  #, c-format
8190  msgid " P-t-P:%s "
8191  msgstr ""
8192  
8193 -#: ../lib/interface.c:696
8194 +#: ../lib/interface.c:710
8195  #, c-format
8196  msgid " Bcast:%s "
8197  msgstr ""
8198  
8199 -#: ../lib/interface.c:698
8200 +#: ../lib/interface.c:712
8201  #, c-format
8202  msgid " Mask:%s\n"
8203  msgstr ""
8204  
8205 -#: ../lib/interface.c:715
8206 +#: ../lib/interface.c:729
8207  #, c-format
8208  msgid "          inet6 addr: %s/%d"
8209  msgstr ""
8210  
8211 -#: ../lib/interface.c:717
8212 +#: ../lib/interface.c:731
8213 +#, c-format
8214  msgid " Scope:"
8215  msgstr ""
8216  
8217 -#: ../lib/interface.c:720
8218 +#: ../lib/interface.c:734
8219 +#, c-format
8220  msgid "Global"
8221  msgstr ""
8222  
8223 -#: ../lib/interface.c:723
8224 +#: ../lib/interface.c:737
8225 +#, c-format
8226  msgid "Link"
8227  msgstr ""
8228  
8229 -#: ../lib/interface.c:726
8230 +#: ../lib/interface.c:740
8231 +#, c-format
8232  msgid "Site"
8233  msgstr ""
8234  
8235 -#: ../lib/interface.c:729
8236 +#: ../lib/interface.c:743
8237 +#, c-format
8238  msgid "Compat"
8239  msgstr ""
8240  
8241 -#: ../lib/interface.c:732
8242 +#: ../lib/interface.c:746
8243 +#, c-format
8244  msgid "Host"
8245  msgstr ""
8246  
8247 -#: ../lib/interface.c:735
8248 +#: ../lib/interface.c:749
8249 +#, c-format
8250  msgid "Unknown"
8251  msgstr ""
8252  
8253 -#: ../lib/interface.c:750
8254 +#: ../lib/interface.c:764
8255  #, c-format
8256  msgid "          IPX/Ethernet II addr:%s\n"
8257  msgstr ""
8258  
8259 -#: ../lib/interface.c:753
8260 +#: ../lib/interface.c:767
8261  #, c-format
8262  msgid "          IPX/Ethernet SNAP addr:%s\n"
8263  msgstr ""
8264  
8265 -#: ../lib/interface.c:756
8266 +#: ../lib/interface.c:770
8267  #, c-format
8268  msgid "          IPX/Ethernet 802.2 addr:%s\n"
8269  msgstr ""
8270  
8271 -#: ../lib/interface.c:759
8272 +#: ../lib/interface.c:773
8273  #, c-format
8274  msgid "          IPX/Ethernet 802.3 addr:%s\n"
8275  msgstr ""
8276  
8277 -#: ../lib/interface.c:769
8278 +#: ../lib/interface.c:783
8279  #, c-format
8280  msgid "          EtherTalk Phase 2 addr:%s\n"
8281  msgstr ""
8282  
8283 -#: ../lib/interface.c:778
8284 +#: ../lib/interface.c:792
8285  #, c-format
8286  msgid "          econet addr:%s\n"
8287  msgstr ""
8288  
8289 -#: ../lib/interface.c:785
8290 +#: ../lib/interface.c:799
8291 +#, c-format
8292  msgid "[NO FLAGS] "
8293  msgstr ""
8294  
8295 -#: ../lib/interface.c:787
8296 +#: ../lib/interface.c:801
8297 +#, c-format
8298  msgid "UP "
8299  msgstr ""
8300  
8301 -#: ../lib/interface.c:789
8302 +#: ../lib/interface.c:803
8303 +#, c-format
8304  msgid "BROADCAST "
8305  msgstr ""
8306  
8307 -#: ../lib/interface.c:791
8308 +#: ../lib/interface.c:805
8309 +#, c-format
8310  msgid "DEBUG "
8311  msgstr ""
8312  
8313 -#: ../lib/interface.c:793
8314 +#: ../lib/interface.c:807
8315 +#, c-format
8316  msgid "LOOPBACK "
8317  msgstr ""
8318  
8319 -#: ../lib/interface.c:795
8320 +#: ../lib/interface.c:809
8321 +#, c-format
8322  msgid "POINTOPOINT "
8323  msgstr ""
8324  
8325 -#: ../lib/interface.c:797
8326 +#: ../lib/interface.c:811
8327 +#, c-format
8328  msgid "NOTRAILERS "
8329  msgstr ""
8330  
8331 -#: ../lib/interface.c:799
8332 +#: ../lib/interface.c:813
8333 +#, c-format
8334  msgid "RUNNING "
8335  msgstr ""
8336  
8337 -#: ../lib/interface.c:801
8338 +#: ../lib/interface.c:815
8339 +#, c-format
8340  msgid "NOARP "
8341  msgstr ""
8342  
8343 -#: ../lib/interface.c:803
8344 +#: ../lib/interface.c:817
8345 +#, c-format
8346  msgid "PROMISC "
8347  msgstr ""
8348  
8349 -#: ../lib/interface.c:805
8350 +#: ../lib/interface.c:819
8351 +#, c-format
8352  msgid "ALLMULTI "
8353  msgstr ""
8354  
8355 -#: ../lib/interface.c:807
8356 +#: ../lib/interface.c:821
8357 +#, c-format
8358  msgid "SLAVE "
8359  msgstr ""
8360  
8361 -#: ../lib/interface.c:809
8362 +#: ../lib/interface.c:823
8363 +#, c-format
8364  msgid "MASTER "
8365  msgstr ""
8366  
8367 -#: ../lib/interface.c:811
8368 +#: ../lib/interface.c:825
8369 +#, c-format
8370  msgid "MULTICAST "
8371  msgstr ""
8372  
8373 -#: ../lib/interface.c:814
8374 +#: ../lib/interface.c:828
8375 +#, c-format
8376  msgid "DYNAMIC "
8377  msgstr ""
8378  
8379  #. DONT FORGET TO ADD THE FLAGS IN ife_print_short
8380 -#: ../lib/interface.c:817
8381 +#: ../lib/interface.c:831
8382  #, c-format
8383  msgid " MTU:%d  Metric:%d"
8384  msgstr ""
8385  
8386 -#: ../lib/interface.c:821
8387 +#: ../lib/interface.c:835
8388  #, c-format
8389  msgid "  Outfill:%d  Keepalive:%d"
8390  msgstr ""
8391  
8392 -#: ../lib/interface.c:835
8393 +#: ../lib/interface.c:849
8394  #, c-format
8395  msgid "RX packets:%llu errors:%lu dropped:%lu overruns:%lu frame:%lu\n"
8396  msgstr ""
8397  
8398 -#: ../lib/interface.c:840
8399 +#: ../lib/interface.c:854
8400  #, c-format
8401  msgid "             compressed:%lu\n"
8402  msgstr ""
8403  
8404 -#: ../lib/interface.c:852
8405 +#: ../lib/interface.c:894
8406  #, c-format
8407  msgid "TX packets:%llu errors:%lu dropped:%lu overruns:%lu carrier:%lu\n"
8408  msgstr ""
8409  
8410 -#: ../lib/interface.c:856
8411 +#: ../lib/interface.c:898
8412  #, c-format
8413  msgid "          collisions:%lu "
8414  msgstr ""
8415  
8416 -#: ../lib/interface.c:858
8417 +#: ../lib/interface.c:900
8418  #, c-format
8419  msgid "compressed:%lu "
8420  msgstr ""
8421  
8422 -#: ../lib/interface.c:860
8423 +#: ../lib/interface.c:902
8424  #, c-format
8425  msgid "txqueuelen:%d "
8426  msgstr ""
8427  
8428 -#: ../lib/interface.c:862
8429 +#: ../lib/interface.c:904
8430  #, c-format
8431  msgid "RX bytes:%llu (%lu.%lu %s)  TX bytes:%llu (%lu.%lu %s)\n"
8432  msgstr ""
8433  
8434 -#: ../lib/interface.c:873
8435 +#: ../lib/interface.c:915
8436  #, c-format
8437  msgid "Interrupt:%d "
8438  msgstr ""
8439  
8440  #. Only print devices using it for
8441  #. I/O maps
8442 -#: ../lib/interface.c:876
8443 +#: ../lib/interface.c:918
8444  #, c-format
8445  msgid "Base address:0x%x "
8446  msgstr ""
8447  
8448 -#: ../lib/interface.c:878
8449 +#: ../lib/interface.c:920
8450  #, c-format
8451  msgid "Memory:%lx-%lx "
8452  msgstr ""
8453  
8454 -#: ../lib/interface.c:881
8455 +#: ../lib/interface.c:923
8456  #, c-format
8457  msgid "DMA chan:%x "
8458  msgstr ""
8459  
8460  #: ../lib/sockets.c:63
8461 +#, c-format
8462  msgid "No usable address families found.\n"
8463  msgstr ""
8464  
8465 @@ -2413,14 +2915,17 @@
8466  msgstr ""
8467  
8468  #: ../ipmaddr.c:61
8469 +#, c-format
8470  msgid "Usage: ipmaddr [ add | del ] MULTIADDR dev STRING\n"
8471  msgstr ""
8472  
8473  #: ../ipmaddr.c:62
8474 +#, c-format
8475  msgid "       ipmaddr show [ dev STRING ] [ ipv4 | ipv6 | link | all ]\n"
8476  msgstr ""
8477  
8478  #: ../ipmaddr.c:63
8479 +#, c-format
8480  msgid "       ipmaddr -V | -version\n"
8481  msgstr ""
8482  
8483 @@ -2449,6 +2954,7 @@
8484  msgstr ""
8485  
8486  #: ../slattach.c:192
8487 +#, c-format
8488  msgid "slattach: cannot write PID file\n"
8489  msgstr ""
8490  
8491 @@ -2468,18 +2974,22 @@
8492  msgstr ""
8493  
8494  #: ../slattach.c:468
8495 +#, c-format
8496  msgid "slattach: tty name too long\n"
8497  msgstr ""
8498  
8499  #: ../slattach.c:498
8500 +#, c-format
8501  msgid "slattach: tty_open: cannot get current state!\n"
8502  msgstr ""
8503  
8504  #: ../slattach.c:505
8505 +#, c-format
8506  msgid "slattach: tty_open: cannot get current line disc!\n"
8507  msgstr ""
8508  
8509  #: ../slattach.c:513
8510 +#, c-format
8511  msgid "slattach: tty_open: cannot set RAW mode!\n"
8512  msgstr ""
8513  
8514 @@ -2489,6 +2999,7 @@
8515  msgstr ""
8516  
8517  #: ../slattach.c:530
8518 +#, c-format
8519  msgid "slattach: tty_open: cannot set 8N1 mode!\n"
8520  msgstr ""
8521  
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
8524 @@ -2,7 +2,7 @@
8525  # Copyright (C) 2000 Free Software Foundation, Inc.
8526  # Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2000.
8527  #
8528 -# $Id$
8529 +# $Id$
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"
8536  
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"
8543  
8544  #: ../lib/interface.c:508
8545  #, c-format
8546  msgid "%s: error fetching interface information: %s\n"
8547 -msgstr ""
8548 -"%s: erro obtendo informações da interface: %s\n"
8549 -"\n"
8550 +msgstr "%s: erro obtendo informações da interface: %s\n"
8551  
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
8556 @@ -10,7 +10,7 @@
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,
8562  ipmaddr).
8563  
8564  Please include the output of "program --version" when reporting bugs.
8565 @@ -24,15 +24,21 @@
8566  
8567     INSTALLING          Installation instructions.
8568  
8569 -   COPYING             Your free copy of the GNU Public License.
8570 +   COPYING             Your free copy of the GNU General Public License.
8571  
8572     TODO                        Some things that need to be done.
8573  
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:
8577 +
8578 +                  http://net-tools.berlios.de/
8579 +
8580  
8581                            Notes
8582                            -----
8583  
8584 -This is net-tools 1.60.
8585 +This is net-tools 1.6x.
8586  
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
8591 @@ -2,7 +2,7 @@
8592   * route        This file contains an implementation of the command
8593   *              that manages the IP routing table in the kernel.
8594   *
8595 - * Version:     $Id$
8596 + * Version:     $Id$
8597   *
8598   * Maintainer:  Bernd 'eckes' Eckenfels, <net-tools@lina.inka.de>
8599   *
8600 @@ -142,7 +142,7 @@
8601      }
8602  
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)
8606         switch (i) {
8607         case -1:
8608             break;
8609 @@ -176,6 +176,14 @@
8610             if ((i = aftrans_opt(optarg)))
8611                 exit(i);
8612             break;
8613 +       case '6':
8614 +           if ((i = aftrans_opt("inet6")))
8615 +               exit(i);
8616 +           break;
8617 +       case '4':
8618 +           if ((i = aftrans_opt("inet")))
8619 +               exit(i);
8620 +           break;
8621         case 'V':
8622             version();
8623         case 'h':
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
8626 @@ -73,7 +73,7 @@
8627  
8628  
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.";
8633  
8634  
8635 @@ -115,7 +115,7 @@
8636  int            opt_k = 0;              /* "keepalive" value            */
8637  #endif
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           */
8643  #ifdef SIOCSOUTFILL
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           */
8650    if (opt_L) 
8651         tty->c_cflag |= CLOCAL;
8652 +  else
8653 +       tty->c_cflag |= CRTSCTS;
8654    tty->c_cflag |= speed;                       /* restore speed        */
8655    return(0);
8656  }
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
8659 @@ -1,6 +1,6 @@
8660  /*
8661   * Copyright 1997,1999,2000 Andi Kleen. Subject to the GPL. 
8662 - * $Id$
8663 + * $Id$
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"),
8670        opt_number },
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."), 
8674        opt_number },
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"),
8681 +                                     opt_number },
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"), 
8728 +       opt_number },
8729 +    { "TCPRenoRecoveryFail", N_("%u classic Reno fast retransmits failed"), opt_number },
8730  };
8731  
8732  struct tabtab {
8733 @@ -222,7 +262,8 @@
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);
8738 +       if (val) 
8739 +               printf("%*s%s: %d\n", states[state].indent, "", title, val);
8740         return;
8741      }
8742      type = ent->type;
This page took 0.749797 seconds and 3 git commands to generate.