diff --git a/ether-wake.c b/ether-wake.c index 3d63e73..3a145f2 100644 --- a/ether-wake.c +++ b/ether-wake.c @@ -3,30 +3,30 @@ static char version_msg[] = "ether-wake.c: v1.05 12/28/2000 Donald Becker, http://www.scyld.com/"; static char brief_usage_msg[] = -"usage: ether-wake [-i ] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n" -" Use '-u' to see the complete set of options.\n"; +"usage: ether-wake [-i ] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n\ + Use '-u' to see the complete set of options.\n"; static char usage_msg[] = -"usage: ether-wake [-i ] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55 - - This program generates and transmits a Wake-On-LAN (WOL) \"Magic Packet\", - used for restarting machines that have been soft-powered-down - (ACPI D3-warm state). It currently generates the standard AMD Magic Packet - format, with an optional password appended. - - The single required parameter is the Ethernet MAC (station) address - of the machine to wake. This is typically retrieved with the 'arp' - program while the target machine is awake. - - Options: - -b Send wake-up packet to the broadcast address. - -D Increase the debug level. - -i ifname Use interface IFNAME instead of the default 'eth0'. - -p Append the four or six byte password PW to the packet. - A password is only required for a few adapter types. - The password may be specified in ethernet hex format - or dotted decimal (Internet address) - -p 00:22:44:66:88:aa - -p 192.168.1.1 +"usage: ether-wake [-i ] [-p aa:bb:cc:dd[:ee:ff]] 00:11:22:33:44:55\n\ +\n\ +This program generates and transmits a Wake-On-LAN (WOL) \"Magic Packet\",\n\ +used for restarting machines that have been soft-powered-down\n\ +(ACPI D3-warm state). It currently generates the standard AMD Magic Packet\n\ +format, with an optional password appended.\n\ +\n\ +The single required parameter is the Ethernet MAC (station) address\n\ +of the machine to wake. This is typically retrieved with the 'arp'\n\ +program while the target machine is awake.\n\ +\n\ +Options:\n\ + -b Send wake-up packet to the broadcast address.\n\ + -D Increase the debug level.\n\ + -i ifname Use interface IFNAME instead of the default 'eth0'.\n\ + -p Append the four or six byte password PW to the packet.\n\ + A password is only required for a few adapter types.\n\ + The password may be specified in ethernet hex format\n\ + or dotted decimal (Internet address)\n\ + -p 00:22:44:66:88:aa\n\ + -p 192.168.1.1\n\ "; /* diff --git a/net-tools-1.60-cycle.patch b/net-tools-1.60-cycle.patch index 623c247..ce659ec 100644 --- a/net-tools-1.60-cycle.patch +++ b/net-tools-1.60-cycle.patch @@ -149,9 +149,9 @@ } if (flag_exp < 2) { ife_short = 1; -- printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); +- printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); + if(!(count % 8)) -+ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); ++ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); } if (for_all_interfaces(do_if_print, &flag_all) < 0) { diff --git a/net-tools-1.60-gcc33.patch b/net-tools-1.60-gcc33.patch new file mode 100644 index 0000000..a6ae422 --- /dev/null +++ b/net-tools-1.60-gcc33.patch @@ -0,0 +1,31 @@ +--- net-tools-1.60/mii-tool.c.gcc33 2003-05-22 23:34:06.000000000 -0400 ++++ net-tools-1.60/mii-tool.c 2003-05-22 23:34:57.000000000 -0400 +@@ -378,17 +378,17 @@ + + /*--------------------------------------------------------------------*/ + +-const char *usage = +-"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...] +- -V, --version display version information +- -v, --verbose more verbose output +- -R, --reset reset MII to poweron state +- -r, --restart restart autonegotiation +- -w, --watch monitor for link status changes +- -l, --log with -w, write events to syslog +- -A, --advertise=media,... advertise only specified media +- -F, --force=media force specified media technology +-media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD, ++const char *usage = "\ ++usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\ ++ -V, --version display version information\n\ ++ -v, --verbose more verbose output\n\ ++ -R, --reset reset MII to poweron state\n\ ++ -r, --restart restart autonegotiation\n\ ++ -w, --watch monitor for link status changes\n\ ++ -l, --log with -w, write events to syslog\n\ ++ -A, --advertise=media,... advertise only specified media\n\ ++ -F, --force=media force specified media technology\n\ ++media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\ + (to advertise both HD and FD) 100baseTx, 10baseT\n"; + + int main(int argc, char **argv) diff --git a/net-tools-1.60-inet6-lookup.patch b/net-tools-1.60-inet6-lookup.patch new file mode 100644 index 0000000..3d4854a --- /dev/null +++ b/net-tools-1.60-inet6-lookup.patch @@ -0,0 +1,81 @@ +--- net-tools-1.60/lib/inet6.c.inet6-lookup 2000-10-28 13:04:00.000000000 +0200 ++++ net-tools-1.60/lib/inet6.c 2003-05-21 15:28:50.000000000 +0200 +@@ -133,28 +133,9 @@ + } + + +-static int INET6_getsock(char *bufp, struct sockaddr *sap) +-{ +- struct sockaddr_in6 *sin6; +- +- sin6 = (struct sockaddr_in6 *) sap; +- sin6->sin6_family = AF_INET6; +- sin6->sin6_port = 0; +- +- if (inet_pton(AF_INET6, bufp, sin6->sin6_addr.s6_addr) <= 0) +- return (-1); +- +- return 16; /* ?;) */ +-} +- + static int INET6_input(int type, char *bufp, struct sockaddr *sap) + { +- switch (type) { +- case 1: +- return (INET6_getsock(bufp, sap)); +- default: +- return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); +- } ++ return (INET6_resolve(bufp, (struct sockaddr_in6 *) sap)); + } + + +--- net-tools-1.60/lib/inet6_gr.c.inet6-lookup 2001-04-01 16:48:06.000000000 +0200 ++++ net-tools-1.60/lib/inet6_gr.c 2003-05-21 15:28:50.000000000 +0200 +@@ -100,7 +100,7 @@ + addr6p[4], addr6p[5], addr6p[6], addr6p[7]); + inet6_aftype.input(1, addr6, (struct sockaddr *) &saddr6); + snprintf(addr6, sizeof(addr6), "%s/%d", +- inet6_aftype.sprint((struct sockaddr *) &saddr6, 1), ++ inet6_aftype.sprint((struct sockaddr *) &saddr6, numeric), + prefix_len); + + /* Fetch and resolve the nexthop address. */ +@@ -109,7 +109,7 @@ + naddr6p[4], naddr6p[5], naddr6p[6], naddr6p[7]); + inet6_aftype.input(1, naddr6, (struct sockaddr *) &snaddr6); + snprintf(naddr6, sizeof(naddr6), "%s", +- inet6_aftype.sprint((struct sockaddr *) &snaddr6, 1)); ++ inet6_aftype.sprint((struct sockaddr *) &snaddr6, numeric)); + + /* Decode the flags. */ + strcpy(flags, "U"); +--- net-tools-1.60/lib/inet6_sr.c.inet6-lookup 2000-05-22 23:18:37.000000000 +0200 ++++ net-tools-1.60/lib/inet6_sr.c 2003-05-21 15:28:50.000000000 +0200 +@@ -63,7 +63,7 @@ + if (*args == NULL) + return (usage()); + +- strcpy(target, *args++); ++ safe_strncpy(target, *args++, sizeof(target)); + if (!strcmp(target, "default")) { + prefix_len = 0; + memset(&sa6, 0, sizeof(sa6)); +@@ -112,7 +112,7 @@ + return (usage()); + if (rt.rtmsg_flags & RTF_GATEWAY) + return (usage()); +- strcpy(gateway, *args); ++ safe_strncpy(gateway, *args, sizeof(gateway)); + if (inet6_aftype.input(1, gateway, + (struct sockaddr *) &sa6) < 0) { + inet6_aftype.herror(gateway); +@@ -152,7 +152,7 @@ + } + if (devname) { + memset(&ifr, 0, sizeof(ifr)); +- strcpy(ifr.ifr_name, devname); ++ safe_strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name)); + + if (ioctl(skfd, SIOGIFINDEX, &ifr) < 0) { + perror("SIOGIFINDEX"); diff --git a/net-tools-1.60-interface.patch b/net-tools-1.60-interface.patch new file mode 100644 index 0000000..3a1bc91 --- /dev/null +++ b/net-tools-1.60-interface.patch @@ -0,0 +1,110 @@ +--- net-tools-1.60/netstat.c.interface 2003-08-25 17:06:30.000000000 +0200 ++++ net-tools-1.60/netstat.c 2003-08-25 17:08:41.000000000 +0200 +@@ -129,6 +129,7 @@ + #define E_IOCTL -3 + + int flag_int = 0; ++char *flag_int_name = NULL; + int flag_rou = 0; + int flag_mas = 0; + int flag_sta = 0; +@@ -1441,6 +1442,7 @@ + static int iface_info(void) + { + static int count=0; ++ struct interface *ife = NULL; + + if (skfd < 0) { + if ((skfd = sockets_open(0)) < 0) { +@@ -1455,7 +1457,11 @@ + printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); + } + +- if (for_all_interfaces(do_if_print, &flag_all) < 0) { ++ if (flag_int_name) { ++ ife = lookup_interface(flag_int_name); ++ do_if_print(ife, &flag_all); ++ } ++ else if (for_all_interfaces(do_if_print, &flag_all) < 0) { + perror(_("missing interface information")); + exit(1); + } +@@ -1481,30 +1487,31 @@ + { + fprintf(stderr, _("usage: netstat [-veenNcCF] [] -r netstat {-V|--version|-h|--help}\n")); + fprintf(stderr, _(" netstat [-vnNcaeol] [ ...]\n")); +- fprintf(stderr, _(" netstat { [-veenNac] -i | [-cnNe] -M | -s } [delay]\n\n")); ++ fprintf(stderr, _(" netstat { [-veenNac] -i[] | [-cnNe] -M | -s } [delay]\n\n")); + +- fprintf(stderr, _(" -r, --route display routing table\n")); +- fprintf(stderr, _(" -i, --interfaces display interface table\n")); +- fprintf(stderr, _(" -g, --groups display multicast group memberships\n")); +- fprintf(stderr, _(" -s, --statistics display networking statistics (like SNMP)\n")); ++ fprintf(stderr, _(" -r, --route display routing table\n")); ++ fprintf(stderr, _(" -i, --interfaces=[] display interface table\n")); ++ fprintf(stderr, _(" -g, --groups display multicast group memberships\n")); ++ fprintf(stderr, _(" -s, --statistics display networking statistics (like SNMP)\n")); + #if HAVE_FW_MASQUERADE +- fprintf(stderr, _(" -M, --masquerade display masqueraded connections\n\n")); ++ fprintf(stderr, _(" -M, --masquerade display masqueraded connections\n\n")); + #endif +- fprintf(stderr, _(" -v, --verbose be verbose\n")); +- fprintf(stderr, _(" -n, --numeric don't resolve names\n")); +- fprintf(stderr, _(" --numeric-hosts don't resolve host names\n")); +- fprintf(stderr, _(" --numeric-ports don't resolve port names\n")); +- fprintf(stderr, _(" --numeric-users don't resolve user names\n")); +- fprintf(stderr, _(" -N, --symbolic resolve hardware names\n")); +- fprintf(stderr, _(" -e, --extend display other/more information\n")); +- fprintf(stderr, _(" -p, --programs display PID/Program name for sockets\n")); +- fprintf(stderr, _(" -c, --continuous continuous listing\n\n")); +- fprintf(stderr, _(" -l, --listening display listening server sockets\n")); +- fprintf(stderr, _(" -a, --all, --listening display all sockets (default: connected)\n")); +- fprintf(stderr, _(" -o, --timers display timers\n")); +- fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n")); +- fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n")); ++ fprintf(stderr, _(" -v, --verbose be verbose\n")); ++ fprintf(stderr, _(" -n, --numeric don't resolve names\n")); ++ fprintf(stderr, _(" --numeric-hosts don't resolve host names\n")); ++ fprintf(stderr, _(" --numeric-ports don't resolve port names\n")); ++ fprintf(stderr, _(" --numeric-users don't resolve user names\n")); ++ fprintf(stderr, _(" -N, --symbolic resolve hardware names\n")); ++ fprintf(stderr, _(" -e, --extend display other/more information\n")); ++ fprintf(stderr, _(" -p, --programs display PID/Program name for sockets\n")); ++ fprintf(stderr, _(" -c, --continuous continuous listing\n\n")); ++ fprintf(stderr, _(" -l, --listening display listening server sockets\n")); ++ fprintf(stderr, _(" -a, --all, --listening display all sockets (default: connected)\n")); ++ fprintf(stderr, _(" -o, --timers display timers\n")); ++ fprintf(stderr, _(" -F, --fib display Forwarding Information Base (default)\n")); ++ fprintf(stderr, _(" -C, --cache display routing cache instead of FIB\n\n")); + ++ fprintf(stderr, _(" : Name of interface to monitor/list.\n")); + fprintf(stderr, _(" ={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom\n")); + fprintf(stderr, _(" =Use '-A ' or '--'; default: %s\n"), DFLT_AF); + fprintf(stderr, _(" List of possible address families (which support routing):\n")); +@@ -1522,7 +1529,7 @@ + { + AFTRANS_OPTS, + {"version", 0, 0, 'V'}, +- {"interfaces", 0, 0, 'i'}, ++ {"interfaces", 2, 0, 'i'}, + {"help", 0, 0, 'h'}, + {"route", 0, 0, 'r'}, + #if HAVE_FW_MASQUERADE +@@ -1560,7 +1567,7 @@ + getroute_init(); /* Set up AF routing support */ + + afname[0] = '\0'; +- while ((i = getopt_long(argc, argv, "MCFA:acdegphinNorstuVv?wxl", longopts, &lop)) != EOF) ++ while ((i = getopt_long(argc, argv, "MCFA:acdegphi::nNorstuVv?wxl", longopts, &lop)) != EOF) + switch (i) { + case -1: + break; +@@ -1602,6 +1609,8 @@ + flag_prg++; + break; + case 'i': ++ if (optarg && strcmp(optarg, "(null)")) ++ flag_int_name = strdup(optarg); + flag_int++; + break; + case 'n': diff --git a/net-tools-1.60-ipx.patch b/net-tools-1.60-ipx.patch new file mode 100644 index 0000000..d4458b9 --- /dev/null +++ b/net-tools-1.60-ipx.patch @@ -0,0 +1,36 @@ +diff -urN net-tools-1.60/lib/ipx_gr.c net-tools-1.60.new/lib/ipx_gr.c +--- net-tools-1.60/lib/ipx_gr.c 2000-10-28 12:59:42.000000000 +0200 ++++ net-tools-1.60.new/lib/ipx_gr.c 2003-05-20 10:54:37.000000000 +0200 +@@ -64,7 +64,7 @@ + continue; + + /* Fetch and resolve the Destination */ +- (void) ap->input(5, net, &sa); ++ (void) ap->input(1, net, &sa); + strcpy(net, ap->sprint(&sa, numeric)); + + /* Fetch and resolve the Router Net */ +diff -urN net-tools-1.60/netstat.c net-tools-1.60.new/netstat.c +--- net-tools-1.60/netstat.c 2003-05-20 11:00:57.000000000 +0200 ++++ net-tools-1.60.new/netstat.c 2003-05-20 10:58:25.000000000 +0200 +@@ -1412,13 +1412,13 @@ + } + + /* Fetch and resolve the Source */ +- (void) ap->input(4, sad, &sa); ++ (void) ap->input(0, sad, &sa); + safe_strncpy(buf, ap->sprint(&sa, flag_not), sizeof(buf)); + snprintf(sad, sizeof(sad), "%s:%04X", buf, sport); + + if (!nc) { + /* Fetch and resolve the Destination */ +- (void) ap->input(4, dad, &sa); ++ (void) ap->input(0, dad, &sa); + safe_strncpy(buf, ap->sprint(&sa, flag_not), sizeof(buf)); + snprintf(dad, sizeof(dad), "%s:%04X", buf, dport); + } else +diff -urN net-tools-1.60/version.h net-tools-1.60.new/version.h +--- net-tools-1.60/version.h 1970-01-01 01:00:00.000000000 +0100 ++++ net-tools-1.60.new/version.h 2003-05-19 16:07:49.000000000 +0200 +@@ -0,0 +1 @@ ++#define RELEASE "net-tools 1.60" diff --git a/net-tools-1.60-man.patch b/net-tools-1.60-man.patch new file mode 100644 index 0000000..2deac4a --- /dev/null +++ b/net-tools-1.60-man.patch @@ -0,0 +1,132 @@ +--- net-tools-1.60/man/en_US/ifconfig.8.man 2000-10-28 12:59:42.000000000 +0200 ++++ net-tools-1.60/man/en_US/ifconfig.8 2003-05-22 16:58:41.000000000 +0200 +@@ -177,7 +177,7 @@ + command. + .LP + Interrupt problems with Ethernet device drivers fail with EAGAIN. See +-.I http://cesdis.gsfc.nasa.gov/linux/misc/irq-conflict.html ++.I http://www.scyld.com/expert/irq-conflict.html + for more information. + .SH FILES + .I /proc/net/socket +--- net-tools-1.60/man/en_US/hostname.1.man 1999-02-27 13:11:14.000000000 +0100 ++++ net-tools-1.60/man/en_US/hostname.1 2003-05-22 17:04:30.000000000 +0200 +@@ -10,8 +10,6 @@ + nisdomainname \- show or set system's NIS/YP domain name + .br + ypdomainname \- show or set the system's NIS/YP domain name +-.br +-nodename \- show or set the system's DECnet node name + + .SH SYNOPSIS + .B hostname +@@ -96,12 +94,6 @@ + function. This is also known as the YP/NIS domain name of the system. + + .LP +-.B nodename +-will print the DECnet node name of the system as returned by the +-.BR getnodename (2) +-function. +- +-.LP + .B dnsdomainname + will print the domain part of the FQDN (Fully Qualified Domain Name). The + complete FQDN of the system is returned with +@@ -184,11 +176,6 @@ + .I "\-i, \-\-ip-address" + Display the IP address(es) of the host. + .TP +-.I "\-n, \-\-node" +-Display the DECnet node name. If a parameter is given (or +-.B \-\-file name +-) the root can also set a new node name. +-.TP + .I "\-s, \-\-short" + Display the short host name. This is the host name cut at the first dot. + .TP +--- net-tools-1.60/man/fr_FR/hostname.1.man 1999-04-18 21:23:46.000000000 +0200 ++++ net-tools-1.60/man/fr_FR/hostname.1 2003-05-22 17:05:04.000000000 +0200 +@@ -9,8 +9,6 @@ + nisdomainname \- affiche ou d�finit le nom de domaine NIS/YP du syst�me + .br + ypdomainname \- affiche ou d�finit le nom de domaine NIS/YP du syst�me +-.br +-nodename \- affiche ou d�finit le nom de domaine DECnet du syst�me + + .SH SYNOPSIS + .B hostname +@@ -87,14 +85,6 @@ + .BR getdomainname (2) + . Ceci est connu comme nom de domaine YP/NIS du syst�me. + +- +-.LP +-.B nodename +-fournit le nom de noeud DECnet du syst�me tel qu'il est retourn� par la +-fonction +-.BR getnodename (2) +-. +- + .LP + .B dnsdomainname + fournit la partie domaine du nom compl�tement qualifi� - FQDN (Fully +@@ -180,11 +170,6 @@ + .I "\-i, \-\-ip-address" + Affiche la (les) adresse(s) IP de l'h�te. + .TP +-.I "\-n, \-\-node" +-Affiche le nom de noeud DECnet. Si un param�tre est fourni (ou +-.B \-\-file nom_fichier +-) le super-utilisateur peut �galement d�finir un nouveau nom de neud. +-.TP + .I "\-s, \-\-short" + Affiche le nom d'h�te en format court. Il s'agit du nom d'h�te coup� au + premier point. +--- net-tools-1.60/man/de_DE/hostname.1.man 1999-03-15 21:31:16.000000000 +0100 ++++ net-tools-1.60/man/de_DE/hostname.1 2003-05-22 17:06:01.000000000 +0200 +@@ -15,8 +15,6 @@ + nisdomainname \- den NIS/YP Domainnamen anzeigen oder setzen + .br + ypdomainname \- den NIS/YP Domainnamen anzeigen oder setzen +-.br +-nodename \- den DECnet-Knotennamen anzeigen oder setzen + + .SH SYNOPSIS + .B hostname +@@ -101,12 +99,6 @@ + des Systems genannt. + + .LP +-.B nodename +-druckt den DECnet-Knotennamen des Systems, wie er von der +-.BR getnodename (2) +-Function ermittelt wird, aus. +- +-.LP + .B dnsdomainname + druckt den Domainteil des FQDN (Fully Qualified Domain Name oder zu deutsch + vollst\(:andig spezifizierter Domainname) aus. Der vollst\(:andige FQDN +@@ -117,8 +109,8 @@ + .SS "NAME SETZEN" + Wenn mit nur einem Argument oder mit der + .B \-\-file +-Option aufgerufen, dann setzen diese Kommandos den Rechnernamen, den NIS/YP +-Domainnamen oder den DECnet-Knotennamen. ++Option aufgerufen, dann setzen diese Kommandos den Rechnernamen oder den NIS/YP ++Domainnamen. + + .LP + Nur der Superuser darf den Namen \(:andern. +@@ -198,11 +190,6 @@ + .I "\-i, \-\-ip-address" + Die IP-Adresse(n) des Rechners anzeigen und beenden. + .TP +-.I "\-n, \-\-node" +-Den DECnet-Knotennamen anzeigen. Wenn ein Argument oder die +-.B \-\-file name +-Option angegeben wird, dann kann Root auch einen neuen Knotennamen setzen. +-.TP + .I "\-s, \-\-short" + Den Kurznamen anzeigen. Dies ist der ab dem ersten Punkt abgeschnittene + Rechnername. diff --git a/net-tools-1.60-nameif.patch b/net-tools-1.60-nameif.patch new file mode 100644 index 0000000..7ba1f00 --- /dev/null +++ b/net-tools-1.60-nameif.patch @@ -0,0 +1,67 @@ +--- net-tools-1.60/nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200 ++++ net-tools-1.60/nameif.c 2003-03-19 11:02:01.000000000 +0100 +@@ -3,7 +3,7 @@ + * Writen 2000 by Andi Kleen. + * Subject to the Gnu Public License, version 2. + * TODO: make it support token ring etc. +- * $Id: nameif.c,v 1.1 2000/10/18 17:26:29 ak Exp $ ++ * $Id: nameif.c,v 1.3 2003/03/06 23:26:52 ecki Exp $ + */ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE +@@ -117,7 +117,8 @@ + } + + struct change { +- struct change *next,**pprev; ++ struct change *next; ++ int found; + char ifname[IFNAMSIZ+1]; + unsigned char mac[6]; + }; +@@ -139,10 +140,7 @@ + ch->ifname, pos); + if (parsemac(p,ch->mac) < 0) + complain(_("cannot parse MAC `%s' at %s"), p, pos); +- if (clist) +- clist->pprev = &ch->next; + ch->next = clist; +- ch->pprev = &clist; + clist = ch; + return 0; + } +@@ -200,7 +198,7 @@ + + void usage(void) + { +- fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}")); ++ fprintf(stderr, _("usage: nameif [-c configurationfile] [-s] {ifname macaddress}\n")); + exit(1); + } + +@@ -277,21 +275,21 @@ + ch = lookupmac(mac); + if (!ch) + continue; +- +- *ch->pprev = ch->next; ++ ++ ch->found = 1; + if (strcmp(p, ch->ifname)) { + if (setname(p, ch->ifname) < 0) + complain(_("cannot change name of %s to %s: %s"), + p, ch->ifname, strerror(errno)); + } +- free(ch); + } + fclose(ifh); + + while (clist) { + struct change *ch = clist; + clist = clist->next; +- warning(_("interface '%s' not found"), ch->ifname); ++ if (!ch->found) ++ warning(_("interface '%s' not found"), ch->ifname); + free(ch); + } + diff --git a/net-tools-1.60-trailingblank.patch b/net-tools-1.60-trailingblank.patch new file mode 100644 index 0000000..8c75228 --- /dev/null +++ b/net-tools-1.60-trailingblank.patch @@ -0,0 +1,26 @@ +--- net-tools-1.60/hostname.c.trailingblank 2001-04-08 19:04:23.000000000 +0200 ++++ net-tools-1.60/hostname.c 2003-08-19 14:21:17.000000000 +0200 +@@ -153,13 +153,19 @@ + + switch (c) { + case 'a': +- while (hp->h_aliases[0]) +- printf("%s ", *hp->h_aliases++); ++ while (hp->h_aliases[0]) { ++ printf("%s", *hp->h_aliases++); ++ if (hp->h_aliases[0]) ++ printf(" "); ++ } + printf("\n"); + break; + case 'i': +- while (hp->h_addr_list[0]) +- printf("%s ", inet_ntoa(*(struct in_addr *) *hp->h_addr_list++)); ++ while (hp->h_addr_list[0]) { ++ printf("%s", inet_ntoa(*(struct in_addr *) *hp->h_addr_list++)); ++ if (hp->h_addr_list[0]) ++ printf(" "); ++ } + printf("\n"); + break; + case 'd': diff --git a/net-tools-1.60-virtualname.patch b/net-tools-1.60-virtualname.patch index f56f171..326df1d 100644 --- a/net-tools-1.60-virtualname.patch +++ b/net-tools-1.60-virtualname.patch @@ -1,24 +1,36 @@ -diff -uNr net-tools-1.60/lib/interface.c net-tools-1.60-2/lib/interface.c ---- net-tools-1.60/lib/interface.c Sat Feb 10 14:31:15 2001 -+++ net-tools-1.60-2/lib/interface.c Thu Jul 18 13:15:37 2002 -@@ -579,7 +579,7 @@ +--- net-tools-1.60/lib/interface.c.virtualname 2001-02-10 20:31:15.000000000 +0100 ++++ net-tools-1.60/lib/interface.c 2003-08-19 13:18:01.000000000 +0200 +@@ -579,18 +579,18 @@ void ife_print_short(struct interface *ptr) { - printf("%-5.5s ", ptr->name); -+ printf("%-9.8s ", ptr->name); - printf("%5d %3d", ptr->mtu, ptr->metric); +- printf("%5d %3d", ptr->mtu, ptr->metric); ++ printf("%-9.9s ", ptr->name); ++ printf("%5d %3d ", ptr->mtu, ptr->metric); /* If needed, display the interface statistics. */ if (ptr->statistics_valid) { -diff -uNr net-tools-1.60/netstat.c net-tools-1.60-2/netstat.c ---- net-tools-1.60/netstat.c Sun Apr 15 10:41:17 2001 -+++ net-tools-1.60-2/netstat.c Thu Jul 18 12:48:33 2002 +- printf("%8llu %6lu %6lu %6lu", ++ printf("%8llu %6lu %6lu %6lu ", + ptr->stats.rx_packets, ptr->stats.rx_errors, + ptr->stats.rx_dropped, ptr->stats.rx_fifo_errors); + printf("%8llu %6lu %6lu %6lu ", + ptr->stats.tx_packets, ptr->stats.tx_errors, + ptr->stats.tx_dropped, ptr->stats.tx_fifo_errors); + } else { +- printf("%-56s", _(" - no statistics available -")); ++ printf("%-60s", _(" - no statistics available -")); + } + /* DONT FORGET TO ADD THE FLAGS IN ife_print_long, too */ + if (ptr->flags == 0) +--- net-tools-1.60/netstat.c.virtualname 2001-04-15 16:41:17.000000000 +0200 ++++ net-tools-1.60/netstat.c 2003-08-19 13:18:34.000000000 +0200 @@ -1449,7 +1449,7 @@ } if (flag_exp < 2) { ife_short = 1; - printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); -+ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); ++ printf(_("Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg\n")); } if (for_all_interfaces(do_if_print, &flag_all) < 0) { diff --git a/net-tools.spec b/net-tools.spec index 6a360b8..9aa810f 100644 --- a/net-tools.spec +++ b/net-tools.spec @@ -1,18 +1,25 @@ Summary: Basic networking tools. Name: net-tools Version: 1.60 -Release: 12 +Release: 20.1 License: GPL Group: System Environment/Base Source0: http://www.tazenda.demon.co.uk/phil/net-tools/net-tools-%{version}.tar.bz2 Source1: net-tools-%{version}-config.h Source2: net-tools-%{version}-config.make Source3: ether-wake.c -Patch4: net-tools-1.57-bug22040.patch -Patch5: net-tools-1.60-miiioctl.patch -Patch6: net-tools-1.60-manydevs.patch -Patch7: net-tools-1.60-virtualname.patch -Patch8: net-tools-1.60-cycle.patch +Patch1: net-tools-1.57-bug22040.patch +Patch2: net-tools-1.60-miiioctl.patch +Patch3: net-tools-1.60-manydevs.patch +Patch4: net-tools-1.60-virtualname.patch +Patch5: net-tools-1.60-cycle.patch +Patch6: net-tools-1.60-nameif.patch +Patch7: net-tools-1.60-ipx.patch +Patch8: net-tools-1.60-inet6-lookup.patch +Patch9: net-tools-1.60-man.patch +Patch10: net-tools-1.60-gcc33.patch +Patch11: net-tools-1.60-trailingblank.patch +Patch12: net-tools-1.60-interface.patch BuildRoot: %{_tmppath}/%{name}-root %description @@ -21,16 +28,27 @@ ifconfig, netstat, route, and others. %prep %setup -q -%patch4 -p 1 -b .bug22040 -%patch5 -p 1 -b .miiioctl -%patch6 -p 0 -b .manydevs -%patch7 -p 1 -b .virtualname -%patch8 -p 1 -b .cycle +%patch1 -p 1 -b .bug22040 +%patch2 -p 1 -b .miiioctl +%patch3 -p 0 -b .manydevs +%patch4 -p 1 -b .virtualname +%patch5 -p 1 -b .cycle +%patch6 -p 1 -b .nameif +%patch7 -p 1 -b .ipx +%patch8 -p 1 -b .inet6-lookup +%patch9 -p 1 -b .man +%patch10 -p1 -b .gcc33 +%patch11 -p1 -b .trailingblank +%patch12 -p1 -b .interface cp %SOURCE1 ./config.h cp %SOURCE2 ./config.make cp %SOURCE3 . +%ifarch alpha +perl -pi -e "s|-O2||" Makefile +%endif + %build make gcc $RPM_OPT_FLAGS -o ether-wake ether-wake.c @@ -38,6 +56,10 @@ gcc $RPM_OPT_FLAGS -o ether-wake ether-wake.c %install rm -rf $RPM_BUILD_ROOT +mv man/de_DE man/de +mv man/fr_FR man/fr +mv man/pt_BR man/pt + make BASEDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install install -m 755 ether-wake %{buildroot}/sbin @@ -55,12 +77,59 @@ rm -rf $RPM_BUILD_ROOT /bin/* /sbin/* %{_mandir}/man[158]/* -%lang(de_DE) %{_mandir}/de_DE/man[158]/* -%lang(fr_FR) %{_mandir}/fr_FR/man[158]/* -%lang(pt_BR) %{_mandir}/pt_BR/man[158]/* +%lang(de) %{_mandir}/de/man[158]/* +%lang(fr) %{_mandir}/fr/man[158]/* +%lang(pt) %{_mandir}/pt/man[158]/* %changelog -* Fri Feb 07 2003 Phil Knirsch +* Mon Aug 25 2003 Phil Knirsch 1.60-20.1 +-rebuilt + +* Mon Aug 25 2003 Phil Knirsch 1.60-20 +- interface option now works as described in the man page (#61113). + +* Tue Aug 19 2003 Phil Knirsch 1.60-19.1 +- rebuilt + +* Tue Aug 19 2003 Phil Knirsch 1.60-19 +- Fixed trailing blank bug in hostname output (#101263). +- Remove -O2 fir alpha (#78955). +- Updated netstat statistic output, was still broken. + +* Tue Jun 17 2003 Phil Knirsch 1.60-18.1 +- rebuilt + +* Tue Jun 17 2003 Phil Knirsch 1.60-18 +- fix ether-wake.c build with gcc 3.3 +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jun 04 2003 Phil Knirsch 1.60-16.1 +- Bumped release and rebuilt + +* Fri May 23 2003 Phil Knirsch 1.60-16 +- Fixed ether-wake usage output (#55801). + +* Thu May 22 2003 Jeremy Katz 1.60-15 +- fix build with gcc 3.3 + +* Thu May 22 2003 Phil Knirsch 1.60-14 +- Fixed wrong manpage (#55473). + +* Wed May 21 2003 Phil Knirsch +- Added inet6-lookup patch from John van Krieken (#84108). +- Fixed outdated link in ifconfig manpage (#91287). + +* Tue May 20 2003 Phil Knirsch +- Fixed incorrect address display for ipx (#46434). +- Fixed wrongly installed manpage dirs (#50664). + +* Wed Mar 19 2003 Phil Knirsch 1.60-13 +- Fixed nameif problem (#85748). + +* Fri Feb 07 2003 Phil Knirsch 1.60-12 - Fixed -s parameter. - Fix /proc statistics for -nic operation. - Fixed -i operation in general.