Patches from Archlinux. --- config.in 2000-05-21 07:32:12.000000000 -0700 +++ config.in 2004-05-31 12:36:00.000000000 -0700 @@ -49,7 +49,7 @@ * bool 'UNIX protocol family' HAVE_AFUNIX y bool 'INET (TCP/IP) protocol family' HAVE_AFINET y -bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 n +bool 'INET6 (IPv6) protocol family' HAVE_AFINET6 y bool 'Novell IPX/SPX protocol family' HAVE_AFIPX y bool 'Appletalk DDP protocol family' HAVE_AFATALK y bool 'AX25 (packet radio) protocol family' HAVE_AFAX25 y @@ -86,6 +86,6 @@ * * Other Features. * -bool 'IP Masquerading support' HAVE_FW_MASQUERADE n -bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS n -bool 'Build mii-tool' HAVE_MII n +bool 'IP Masquerading support' HAVE_FW_MASQUERADE y +bool 'Build iptunnel and ipmaddr' HAVE_IP_TOOLS y +bool 'Build mii-tool' HAVE_MII y --- mii-tool.c 2000-05-21 07:31:17.000000000 -0700 +++ mii-tool.c 2004-05-31 12:35:21.000000000 -0700 @@ -379,16 +379,16 @@ /*--------------------------------------------------------------------*/ 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, +"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) --- include/mii.h.bar Tue Jul 31 11:49:39 2001 +++ include/mii.h Tue Jul 31 11:49:33 2001 @@ -11,11 +11,9 @@ /* network interface ioctl's for MII commands */ #ifndef SIOCGMIIPHY -#define SIOCGMIIPHY (SIOCDEVPRIVATE) /* Read from current PHY */ -#define SIOCGMIIREG (SIOCDEVPRIVATE+1) /* Read any PHY register */ -#define SIOCSMIIREG (SIOCDEVPRIVATE+2) /* Write any PHY register */ -#define SIOCGPARAMS (SIOCDEVPRIVATE+3) /* Read operational parameters */ -#define SIOCSPARAMS (SIOCDEVPRIVATE+4) /* Set operational parameters */ +#define SIOCGMIIPHY 0x8947 /* Read from current PHY */ +#define SIOCGMIIREG 0x8948 /* Read any PHY register */ +#define SIOCSMIIREG 0x8949 /* Write any PHY register */ #endif #include --- lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200 +++ lib/x25_sr.c 2003-10-18 20:33:31.927574928 +0200 @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -77,7 +78,11 @@ rt.sigdigits=sigdigits; /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address)); +#else + memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address)); +#endif while (*args) { if (!strcmp(*args,"device") || !strcmp(*args,"dev")) { --- hostname.c 2001-04-08 10:04:23.000000000 -0700 +++ hostname.c 2004-05-07 17:22:14.000000000 -0700 @@ -78,6 +78,7 @@ fprintf(stderr, _("%s: name too long\n"), program_name); break; default: + ; } exit(1); } @@ -98,6 +99,7 @@ fprintf(stderr, _("%s: name too long\n"), program_name); break; default: + ; } exit(1); }; @@ -117,6 +119,7 @@ fprintf(stderr, _("%s: name too long\n"), program_name); break; default: + ; } exit(1); }; @@ -174,6 +177,7 @@ printf("%s\n", hp->h_name); break; default: + ; } } --- lib/inet_sr.c 2000-02-20 13:46:45.000000000 -0800 +++ lib/inet_sr.c 2004-05-07 17:20:14.000000000 -0700 @@ -105,6 +105,7 @@ case 2: isnet = 0; break; default: + ; } /* Fill in the other fields. */ --- nameif.c.nameif 2000-10-18 19:26:29.000000000 +0200 +++ nameif.c 2003-03-19 11:02:01.000000000 +0100 @@ -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); } --- nameif.c.ncpy 2006-10-03 14:24:21.000000000 +0200 +++ nameif.c 2006-10-03 14:22:43.000000000 +0200 @@ -100,8 +100,8 @@ struct ifreq ifr; opensock(); memset(&ifr,0,sizeof(struct ifreq)); - strcpy(ifr.ifr_name, oldname); - strcpy(ifr.ifr_newname, newname); + strncpy(ifr.ifr_name, oldname, IF_NAMESIZE); + strncpy(ifr.ifr_newname, newname, IF_NAMESIZE); return ioctl(ctl_sk, SIOCSIFNAME, &ifr); } --- Makefile.orig 2009-03-05 17:48:38.050953553 +0100 +++ Makefile 2009-03-05 17:49:47.449932082 +0100 @@ -76,7 +76,7 @@ NET_LIB_PATH = lib NET_LIB_NAME = net-tools -PROGS := ifconfig hostname arp netstat route rarp slattach plipconfig nameif +PROGS := ifconfig arp netstat route rarp slattach plipconfig nameif -include config.make ifeq ($(HAVE_IP_TOOLS),1) @@ -224,7 +224,6 @@ installbin: install -m 0755 -d ${BASEDIR}/sbin install -m 0755 -d ${BASEDIR}/bin install -m 0755 arp ${BASEDIR}/sbin - install -m 0755 hostname ${BASEDIR}/bin install -m 0755 ifconfig ${BASEDIR}/sbin install -m 0755 nameif ${BASEDIR}/sbin install -m 0755 netstat ${BASEDIR}/bin @@ -239,21 +238,11 @@ endif ifeq ($(HAVE_MII),1) install -m 0755 mii-tool $(BASEDIR)/sbin endif - ln -fs hostname $(BASEDIR)/bin/dnsdomainname - ln -fs hostname $(BASEDIR)/bin/ypdomainname - ln -fs hostname $(BASEDIR)/bin/nisdomainname - ln -fs hostname $(BASEDIR)/bin/domainname -ifeq ($(HAVE_AFDECnet),1) - ln -fs hostname $(BASEDIR)/bin/nodename -endif savebin: @for i in ${BASEDIR}/sbin/arp ${BASEDIR}/sbin/ifconfig \ ${BASEDIR}/bin/netstat \ - ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route \ - ${BASEDIR}/bin/hostname ${BASEDIR}/bin/ypdomainname \ - ${BASEDIR}/bin/dnsdomainname ${BASEDIR}/bin/nisdomainname \ - ${BASEDIR}/bin/domainname ; do \ + ${BASEDIR}/sbin/rarp ${BASEDIR}/sbin/route; do [ -f $$i ] && cp -f $$i $$i.old ; done ; echo Saved. installdata: