summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2005-09-17 01:22:40 +0000
committerRoy Marples <uberlord@gentoo.org>2005-09-17 01:22:40 +0000
commitad228a617b7abad44dbb9baea6147f333f2e46b9 (patch)
tree425865903c855017e48f06022d8dea9e68770531 /net-misc/dhcpcd
parentbug 106150 (diff)
downloadgentoo-2-ad228a617b7abad44dbb9baea6147f333f2e46b9.tar.gz
gentoo-2-ad228a617b7abad44dbb9baea6147f333f2e46b9.tar.bz2
gentoo-2-ad228a617b7abad44dbb9baea6147f333f2e46b9.zip
Punted old versions - no more -z "release lease but keep cache" option :)
(Portage version: 2.0.51.22-r2)
Diffstat (limited to 'net-misc/dhcpcd')
-rw-r--r--net-misc/dhcpcd/ChangeLog13
-rw-r--r--net-misc/dhcpcd/dhcpcd-1.3.22_p4-r11.ebuild69
-rw-r--r--net-misc/dhcpcd/dhcpcd-1.3.22_p4-r12.ebuild89
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gcc2.patch84
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gentoo-config.patch389
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-man.patch11
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-no-iface-down.diff80
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-optionFQDN.patch531
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-routemetric.patch152
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-security.patch11
-rw-r--r--net-misc/dhcpcd/files/digest-dhcpcd-1.3.22_p4-r113
11 files changed, 12 insertions, 1420 deletions
diff --git a/net-misc/dhcpcd/ChangeLog b/net-misc/dhcpcd/ChangeLog
index 79c1e1508c5f..9c32feb54145 100644
--- a/net-misc/dhcpcd/ChangeLog
+++ b/net-misc/dhcpcd/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for net-misc/dhcpcd
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.66 2005/09/16 02:56:50 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/ChangeLog,v 1.67 2005/09/17 01:22:40 uberlord Exp $
+
+ 17 Sep 2005; Roy Marples <uberlord@gentoo.org>
+ -files/dhcpcd-1.3.22_p4-gcc2.patch,
+ -files/dhcpcd-1.3.22_p4-gentoo-config.patch,
+ -files/dhcpcd-1.3.22_p4-man.patch,
+ -files/dhcpcd-1.3.22_p4-no-iface-down.diff,
+ -files/dhcpcd-1.3.22_p4-optionFQDN.patch,
+ -files/dhcpcd-1.3.22_p4-routemetric.patch,
+ -files/dhcpcd-1.3.22_p4-security.patch, -dhcpcd-1.3.22_p4-r11.ebuild,
+ -dhcpcd-1.3.22_p4-r12.ebuild:
+ Punted old versions - no more -z "release lease but keep cache" option :)
15 Sep 2005; Aron Griffis <agriffis@gentoo.org> dhcpcd-2.0.0.ebuild:
Mark 2.0.0 stable on alpha
diff --git a/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r11.ebuild b/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r11.ebuild
deleted file mode 100644
index 9ee2d8bc2cac..000000000000
--- a/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r11.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r11.ebuild,v 1.10 2005/07/17 06:34:29 vapier Exp $
-
-inherit gnuconfig flag-o-matic eutils
-
-DESCRIPTION="A dhcp client only"
-HOMEPAGE="http://www.phystech.com/download/"
-SRC_URI="ftp://ftp.phystech.com/pub/${P/_p/-pl}.tar.gz
- http://dev.gentoo.org/~drobbins/${P}.diff.bz2
- http://dev.gentoo.org/~drobbins/${P}-keepCacheAndResolv.diff.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 s390 sparc x86"
-IUSE="build static"
-
-DEPEND="virtual/libc"
-PROVIDE="virtual/dhcpc"
-
-S=${WORKDIR}/${P/_p/-pl}
-
-src_unpack() {
- unpack ${A}
- gnuconfig_update
-
- cd ${S}
- #Started working on this patch from an older version I found; then
- #discovered that LFS had an updated one. We're using a patch that is
- #identical to theirs. It makes dhcpcd FHS-compliant. (drobbins, 06
- #Sep 2003)
- epatch ${DISTDIR}/${P}.diff.bz2
- #This next patch from Alwyn Schoeman <alwyn@smart.com.ph> is great;
- #it adds a -z (shutdown, keep cache) and various other little tweaks.
- #See http://bugs.gentoo.org/show_bug.cgi?id=23428 for more info.
- epatch ${DISTDIR}/${P}-keepCacheAndResolv.diff.bz2
- #This patch remove the iface down instruction from dhcpcd allowing us
- #to have physical iface scripts (gmsoft, 11 Nov 2003)
- epatch ${FILESDIR}/${P}-no-iface-down.diff
- #remove hard-coded arch stuff (drobbins, 06 Sep 2003)
-
- # Stop a possible DoS issue - fixes #98394
- epatch "${FILESDIR}"/${P}-security.patch
-
- sed -i "s/ -march=i.86//g" configure
- sed -i 's:/etc/ntp\.drift:/var/lib/ntp/ntp.drift:' dhcpconfig.c
-}
-
-src_compile() {
- use static && append-flags -static
-
- ./configure \
- --prefix="" \
- --sysconfdir=/var/lib \
- --mandir=/usr/share/man || die
-
- emake || die
-}
-
-src_install() {
- einstall sbindir=${D}/sbin || die "Install failed"
- rmdir ${D}/etc/dhcpc
- if ! use build
- then
- dodoc AUTHORS ChangeLog NEWS README
- else
- rm -rf ${D}/usr/share
- fi
-}
diff --git a/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r12.ebuild b/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r12.ebuild
deleted file mode 100644
index ef13eed0abcb..000000000000
--- a/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r12.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2005 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/dhcpcd/dhcpcd-1.3.22_p4-r12.ebuild,v 1.2 2005/07/24 10:53:28 azarah Exp $
-
-inherit flag-o-matic eutils
-
-DESCRIPTION="A dhcp client only"
-HOMEPAGE="http://www.phystech.com/download/"
-SRC_URI="ftp://ftp.phystech.com/pub/${P/_p/-pl}.tar.gz
- http://dev.gentoo.org/~drobbins/${P}.diff.bz2
- http://dev.gentoo.org/~drobbins/${P}-keepCacheAndResolv.diff.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
-IUSE="build static"
-
-DEPEND=""
-PROVIDE="virtual/dhcpc"
-
-S=${WORKDIR}/${P/_p/-pl}
-
-src_unpack() {
- unpack ${A}
-
- cd "${S}"
- #Started working on this patch from an older version I found; then
- #discovered that LFS had an updated one. We're using a patch that is
- #identical to theirs. It makes dhcpcd FHS-compliant. (drobbins, 06
- #Sep 2003)
- epatch "${DISTDIR}"/${P}.diff.bz2
- #This next patch from Alwyn Schoeman <alwyn@smart.com.ph> is great;
- #it adds a -z (shutdown, keep cache) and various other little tweaks.
- #See http://bugs.gentoo.org/show_bug.cgi?id=23428 for more info.
- epatch "${DISTDIR}"/${P}-keepCacheAndResolv.diff.bz2
- #This patch remove the iface down instruction from dhcpcd allowing us
- #to have physical iface scripts (gmsoft, 11 Nov 2003)
- epatch "${FILESDIR}"/${P}-no-iface-down.diff
- #remove hard-coded arch stuff (drobbins, 06 Sep 2003)
- sed -i "s/ -march=i.86//g" configure
- sed -i 's:/etc/ntp\.drift:/var/lib/ntp/ntp.drift:' dhcpconfig.c
-
- # Add route metric option -m - fixes #76694 thanks to Andy Dustman
- epatch "${FILESDIR}"/${P}-routemetric.patch
-
- # man page buglet caused by drobbins patch - fixes #78839
- epatch "${FILESDIR}"/${P}-man.patch
-
- # Allow dhcpcd to use the FQDN option - fixes #64307
- epatch "${FILESDIR}"/${P}-optionFQDN.patch
-
- # Make dhcpcd mirror baselayout-1.11.x /etc/{resolv,ntp,yp}.conf files
- # Also enables the -e option to specify the /etc dir where dhcpcd
- # creates {resolv,ntp,yp}.conf
- epatch "${FILESDIR}"/${P}-gentoo-config.patch
-
- # Stop a possible DoS issue - fixes #98394
- epatch "${FILESDIR}"/${P}-security.patch
-
- # Fix compiling on gcc2
- epatch "${FILESDIR}"/${P}-gcc2.patch
-
- # Make sure we use paths from configure rather than hardcoded crap
- sed -i \
- -e '/^mandir/s:=.*:=@mandir@:' \
- -e "/^docdir/s:=.*:=@datadir@/doc/${PF}:" \
- Makefile.in || die
-
- # Brand dhcpcd with the gentoo version
- sed -i '/^#define VERSION/s/"$/-gentoo-'"${PR}"'"/' dhcpcd.h
- sed -i '/^DHCPCD_REL=/s/$/-gentoo-'"${PR}"'/' configure
-}
-
-src_compile() {
- use static && append-flags -static
- append-flags -DDRAFT_OPTION_FQDN
- econf --prefix=/ || die
- emake || die
-}
-
-src_install() {
- make install DESTDIR="${D}" || die "Install failed"
- rm -r "${D}"/etc
- if ! use build ; then
- dodoc AUTHORS ChangeLog NEWS README
- else
- rm -r "${D}"/usr/share
- fi
-}
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gcc2.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gcc2.patch
deleted file mode 100644
index e62013fea3e0..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gcc2.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- dhcpcd-1.3.22-pl4/dhcpconfig.c 2005-07-24 12:51:33 +0200
-+++ dhcpcd-1.3.22-pl4.az/dhcpconfig.c 2005-07-24 12:53:34 +0200
-@@ -382,8 +382,8 @@
- f=fopen(resolv_file, "w");
- if ( f )
- {
-- fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int i;
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- if ( DhcpOptions.len[domainName] )
- fprintf(f,"domain %s\n",(char *)DhcpOptions.val[domainName]);
-
-@@ -413,9 +413,9 @@
- f=fopen(nis_file, "w");
- if ( f )
- {
-- fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int i;
- char *prefix=NULL;
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- if ( DhcpOptions.len[nisDomainName] ) {
- if ( DhcpOptions.len[nisServers] ) {
- prefix=(char *)malloc(DhcpOptions.len[nisDomainName] + 15);
-@@ -447,8 +447,10 @@
- f=fopen(ntp_file, "w");
- if ( f )
- {
-- fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int net, mask;
-+ int i;
-+ char addr[4*3+3*1+1];
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- memcpy(&mask,DhcpOptions.val[subnetMask],4);
- net = DhcpIface.ciaddr & mask;
-
-@@ -456,17 +458,15 @@
- fprintf(f,"restrict default noquery notrust nomodify\n");
- fprintf(f,"restrict 127.0.0.1\n");
-
-- int i;
-- char addr[4*3+3*1+1];
-- for (i=0;i<DhcpOptions.len[ntpServers];i+=4)
-- {
-- snprintf(addr,sizeof(addr),"%u.%u.%u.%u",
-- ((unsigned char *)DhcpOptions.val[ntpServers])[i],
-- ((unsigned char *)DhcpOptions.val[ntpServers])[i+1],
-- ((unsigned char *)DhcpOptions.val[ntpServers])[i+2],
-- ((unsigned char *)DhcpOptions.val[ntpServers])[i+3]);
-- fprintf(f,"restrict %s nomodify notrap noquery\nserver %s\n",addr,addr);
-- }
-+ for (i=0;i<DhcpOptions.len[ntpServers];i+=4)
-+ {
-+ snprintf(addr,sizeof(addr),"%u.%u.%u.%u",
-+ ((unsigned char *)DhcpOptions.val[ntpServers])[i],
-+ ((unsigned char *)DhcpOptions.val[ntpServers])[i+1],
-+ ((unsigned char *)DhcpOptions.val[ntpServers])[i+2],
-+ ((unsigned char *)DhcpOptions.val[ntpServers])[i+3]);
-+ fprintf(f,"restrict %s nomodify notrap noquery\nserver %s\n",addr,addr);
-+ }
-
- fprintf(f, "driftfile /var/lib/ntp/ntp.drift\n");
- fprintf(f, "logfile /var/log/ntp.log\n");
---- dhcpcd-1.3.22-pl4/dhcpcd.c 2005-07-24 12:53:57 +0200
-+++ dhcpcd-1.3.22-pl4.az/dhcpcd.c 2005-07-24 12:55:42 +0200
-@@ -146,6 +146,8 @@
- if ( argc[i][0]=='-' )
- prgs: switch ( argc[i][s] )
- {
-+ char *tmp;
-+ long m;
- case 0:
- i++;
- s=1;
-@@ -158,9 +160,8 @@
- if ( argc[i][s+1] ) goto usage;
- i++;
- if ( ! argc[i] ) goto usage;
-- char *tmp;
- errno = 0;
-- long m=strtol(argc[i], &tmp, 0);
-+ m=strtol(argc[i], &tmp, 0);
- if (argc[i][0] == '\0' || *tmp != '\0' ) goto usage;
- if ((errno == ERANGE &&
- (m == LONG_MAX || m == LONG_MIN )) ||
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gentoo-config.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gentoo-config.patch
deleted file mode 100644
index c04022522286..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-gentoo-config.patch
+++ /dev/null
@@ -1,389 +0,0 @@
---- client.c.orig 2005-06-02 23:26:17.293931424 +0100
-+++ client.c 2005-06-02 23:53:14.186126448 +0100
-@@ -75,6 +75,13 @@
- extern char *InitialHostName,*InitialDomainName;
- extern int DownIfaceOnStop;
-
-+extern char resolv_file[128];
-+extern char resolv_file_sv[128];
-+extern char ntp_file[128];
-+extern char ntp_file_sv[128];
-+extern char nis_file[128];
-+extern char nis_file_sv[128];
-+
- #if 0
- extern unsigned char ClientMACaddr[ETH_ALEN];
- extern int ClientMACaddr_ind;
-@@ -1183,11 +1190,11 @@
- tsc:
- close(dhcpSocket);
- if ( resolv_renamed )
-- rename(""RESOLV_CONF".sv",RESOLV_CONF);
-+ rename(resolv_file_sv, resolv_file);
- if ( yp_renamed )
-- rename(""NIS_CONF".sv",NIS_CONF);
-+ rename(nis_file_sv, nis_file);
- if ( ntp_renamed )
-- rename(""NTP_CONF".sv",NTP_CONF);
-+ rename(ntp_file_sv, ntp_file);
- execute_on_change("down");
- return &dhcpStart;
- }
---- dhcpcd.8.orig 2005-06-02 23:34:18.549769416 +0100
-+++ dhcpcd.8 2005-06-02 23:38:53.617952696 +0100
-@@ -22,6 +22,7 @@
- \%[\-w\ <windowsize>]
- \%[\-L\ <ConfigDir>]
- \%[\-m\ <routemetric>]
-+\%[\-e\ <etcDir>]
- \%[interface]
- .in -.5i
- .SH DESCRIPTION
-@@ -207,21 +208,21 @@
- Prevents
- .B dhcpcd
- from replacing existing
--.I /etc/resolv.conf
-+.I <etcDir>/resolv.conf
- file.
- .TP
- .BI \-Y
- Prevents
- .B dhcpcd
- from replacing existing
--.I /etc/yp.conf
-+.I <etcDir>/yp.conf
- file. Domainname is not updated unless \fB-D\fP is specified.
- .TP
- .BI \-N
- Prevents
- .B dhcpcd
- from replacing existing
--.I /etc/ntp.conf
-+.I <etcDir>/ntp.conf
- file.
- .TP
- .BI \-T
-@@ -328,6 +329,12 @@
- .BI \-w \ <windowsize>
- Specifies the window size for the gateway route. Default = 32768.
- .TP
-+.TP
-+.NI \-e \ <etcDir>
-+Specifies where
-+.B dhcpcd
-+should create resolv.conf, ntp.conf and yp.conf. Default is the /etc
-+directory.
- .BI interface
- Specifies the network interface name (eth0, eth1, etc.).
- .B dhcpcd
-@@ -400,38 +407,38 @@
- .B dhcpcd
- is attached.
- .TP
--.BI /etc/resolv.conf
-+.BI <etcDir>/resolv.conf
- file created by
- .B dhcpcd
- when the client receives DNS and domain name options.
- The old
--.B /etc/resolv.conf
-+.B <etcDir>/resolv.conf
- file is renamed to
--.B /etc/resolv.conf.sv
-+.B <etcDir>/resolv.conf.sv
- and will be restored back when
- .B dhcpcd
- exits for any reason.
- .TP
--.BI /etc/yp.conf
-+.BI <etcDir>/yp.conf
- file created by
- .B dhcpcd
- when the client receives NIS options.
- The old
--.B /etc/yp.conf
-+.B <etcDir>/yp.conf
- file is renamed to
--.B /etc/yp.conf.sv
-+.B <etcDir>/yp.conf.sv
- and is restored back when
- .B dhcpcd
- exits for any reason.
- .TP
--.BI /etc/ntp.conf
-+.BI <etcDir>/ntp.conf
- file created by
- .B dhcpcd
- when the client receives NTP options.
- The old
--.B /etc/ntp.conf
-+.B <etcDir>/ntp.conf
- file is renamed to
--.B /etc/ntp.conf.sv
-+.B <etcDir>/ntp.conf.sv
- and is restored back when
- .B dhcpcd
- exits for any reason.
---- dhcpcd.c.orig 2005-06-02 22:59:57.597081848 +0100
-+++ dhcpcd.c 2005-06-02 23:48:04.753167408 +0100
-@@ -76,6 +76,15 @@
- unsigned char ClientMACaddr[ETH_ALEN];
- int ClientMACaddr_ind = 0;
- #endif
-+
-+char *etcDir = ETC_DIR;
-+char resolv_file[128];
-+char resolv_file_sv[128];
-+char nis_file[128];
-+char nis_file_sv[128];
-+char ntp_file[128];
-+char ntp_file_sv[128];
-+
- #ifdef DRAFT_OPTION_FQDN
- int SetFQDNHostName = FQDNdisable;
- #endif
-@@ -216,6 +225,13 @@
- if ( ConfigDir == NULL || ConfigDir[0] != '/' ) goto usage;
- s=1;
- break;
-+ case 'e':
-+ if (argc[i][s+1] ) goto usage;
-+ i++;
-+ etcDir=argc[i++];
-+ if (etcDir == NULL || etcDir[0] != '/' ) goto usage;
-+ s=1;
-+ break;
- #if 0
- case 'M':
- if ( argc[i][s+1] ) goto usage;
-@@ -379,13 +395,13 @@
- "Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
- [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
- [-w windowsize] [-L ConfigDir] [-G [gateway]] [-m routemetric]\n\
-- [interface]\n");
-+ [-e etcDir] [interface]\n");
- #else
- fprintf(stderr,
- "Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
- [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
- [-w windowsize] [-L ConfigDir] [-G [gateway]] [-m routemetric]\n\
-- [-F none|ptr|both] [interface]\n");
-+ [-e etcDir] [-F none|ptr|both] [interface]\n");
- #endif
- exit(1);
- }
-@@ -423,6 +439,18 @@
- syslog(LOG_ERR,"mkdir(\"%s\",0): %m\n",ConfigDir);
- exit(1);
- }
-+ if ( mkdir(etcDir,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) && errno != EEXIST )
-+ {
-+ syslog(LOG_ERR,"mkdir(\"%s\",0): %m\n", etcDir);
-+ exit(1);
-+ }
-+ snprintf(resolv_file, sizeof(resolv_file), RESOLV_FILE, etcDir);
-+ snprintf(resolv_file_sv, sizeof(resolv_file_sv), ""RESOLV_FILE"-%s.sv", etcDir, IfName);
-+ snprintf(nis_file, sizeof(nis_file), NIS_FILE, etcDir);
-+ snprintf(nis_file_sv, sizeof(nis_file_sv), ""NIS_FILE"-%s.sv", etcDir, IfName);
-+ snprintf(ntp_file, sizeof(ntp_file), NTP_FILE, etcDir);
-+ snprintf(ntp_file_sv, sizeof(ntp_file_sv), ""NTP_FILE"-%s.sv", etcDir, IfName);
-+
- magic_cookie = htonl(MAGIC_COOKIE);
- dhcpMsgSize = htons(sizeof(dhcpMessage));
- nleaseTime = htonl(LeaseTime);
---- dhcpconfig.c.orig 2005-06-02 22:57:14.614858912 +0100
-+++ dhcpconfig.c 2005-06-02 23:52:15.702017384 +0100
-@@ -62,6 +62,13 @@
- extern dhcpOptions DhcpOptions;
- extern const dhcpMessage *DhcpMsgRecv;
-
-+extern char resolv_file[128];
-+extern char resolv_file_sv[128];
-+extern char ntp_file[128];
-+extern char ntp_file_sv[128];
-+extern char nis_file[128];
-+extern char nis_file_sv[128];
-+
- #ifdef DRAFT_OPTION_FQDN
- extern int SetFQDNHostName;
- #endif
-@@ -363,46 +370,30 @@
- /* In the case where machine dies for some reason, resolv.conf.sv would
- * not have been restored to original glory
- */
-- if ( 1+rename(""RESOLV_CONF".sv",RESOLV_CONF) ) {
-+ if ( 1+rename(resolv_file_sv, resolv_file) ) {
- if ( DebugFlag ) syslog (LOG_DEBUG, "Restored resolv.conf.sv from improper shutdown");
- } else {
- if ( DebugFlag ) syslog (LOG_DEBUG, "No resolv.conf.sv to restore");
- }
-
-- if ( ReplResolvConf )
-+ if ( ReplResolvConf && (DhcpOptions.len[domainName] || DhcpOptions.len[dns]))
- {
-- resolv_renamed=1+rename(RESOLV_CONF,""RESOLV_CONF".sv");
-- f=fopen(RESOLV_CONF,"w");
-+ resolv_renamed=1+rename(resolv_file, resolv_file_sv);
-+ f=fopen(resolv_file, "w");
- if ( f )
- {
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int i;
--#if 0
-- if ( DhcpOptions.len[nisDomainName] )
-- fprintf(f,"domain %s\n",(char *)DhcpOptions.val[nisDomainName]);
-- else
-- if ( DhcpOptions.len[domainName] )
-- fprintf(f,"domain %s\n",(char *)DhcpOptions.val[domainName]);
--#endif
-+ if ( DhcpOptions.len[domainName] )
-+ fprintf(f,"domain %s\n",(char *)DhcpOptions.val[domainName]);
-+
- for (i=0;i<DhcpOptions.len[dns];i+=4)
- fprintf(f,"nameserver %u.%u.%u.%u\n",
- ((unsigned char *)DhcpOptions.val[dns])[i],
- ((unsigned char *)DhcpOptions.val[dns])[i+1],
- ((unsigned char *)DhcpOptions.val[dns])[i+2],
- ((unsigned char *)DhcpOptions.val[dns])[i+3]);
--#if 0
-- if ( DhcpOptions.len[nisDomainName] + DhcpOptions.len[domainName] )
-- {
-- fprintf(f,"search");
-- if ( DhcpOptions.len[nisDomainName] )
-- fprintf(f," %s",(char *)DhcpOptions.val[nisDomainName]);
-- if ( DhcpOptions.len[domainName] )
-- fprintf(f," %s",(char *)DhcpOptions.val[domainName]);
-- fprintf(f,"\n");
-- }
--#else
-- if ( DhcpOptions.len[domainName] )
-- fprintf(f,"search %s\n",(char *)DhcpOptions.val[domainName]);
--#endif
-+
- fclose(f);
- }
- else
-@@ -416,37 +407,47 @@
- * because the resolver won't notice the change in resolv.conf */
- (void)res_init();
- }
-- if ( ReplNISConf )
-+ if ( ReplNISConf && (DhcpOptions.len[nisDomainName] || DhcpOptions.len[nisServers]))
- {
-- yp_renamed=1+rename(NIS_CONF,""NIS_CONF".sv");
-- f=fopen(NIS_CONF,"w");
-+ yp_renamed=1+rename(nis_file, nis_file_sv);
-+ f=fopen(nis_file, "w");
- if ( f )
- {
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int i;
-- char *domain=NULL;
-- if ( DhcpOptions.len[nisDomainName] )
-- domain=(char *)DhcpOptions.val[nisDomainName];
-+ char *prefix=NULL;
-+ if ( DhcpOptions.len[nisDomainName] ) {
-+ if ( DhcpOptions.len[nisServers] ) {
-+ prefix=(char *)malloc(DhcpOptions.len[nisDomainName] + 15);
-+ sprintf(prefix, "domain %s server", (char *)DhcpOptions.val[nisDomainName]);
-+ }
-+ else
-+ fprintf(f, "domain %s broadcast\n", (char *)DhcpOptions.val[nisDomainName]);
-+ }
- else
-- domain=(char *)DhcpOptions.val[domainName];
-+ prefix=strdup("ypserver");
-+
- for (i=0;i<DhcpOptions.len[nisServers];i+=4)
-- fprintf(f,"domain %s server %u.%u.%u.%u\n",(domain?domain:"localdomain"),
-+ fprintf(f, "%s %u.%u.%u.%u\n", prefix,
- ((unsigned char *)DhcpOptions.val[nisServers])[i],
- ((unsigned char *)DhcpOptions.val[nisServers])[i+1],
- ((unsigned char *)DhcpOptions.val[nisServers])[i+2],
- ((unsigned char *)DhcpOptions.val[nisServers])[i+3]);
-- if ( !DhcpOptions.len[nisServers] )
-- fprintf(f,"domain %s broadcast\n", (domain?domain:"localdomain"));
-+
- fclose(f);
-+
-+ if (prefix) free(prefix);
- }
- else
- syslog(LOG_ERR,"dhcpConfig: fopen: %m\n");
- }
-- if ( ReplNTPConf )
-+ if ( ReplNTPConf && DhcpOptions.len[ntpServers]>=4 )
- {
-- ntp_renamed=1+rename(NTP_CONF,""NTP_CONF".sv");
-- f=fopen(NTP_CONF,"w");
-+ ntp_renamed=1+rename(ntp_file, ntp_file_sv);
-+ f=fopen(ntp_file, "w");
- if ( f )
- {
-+ fprintf(f, "# Generated by dhcpcd for interface %s\n", IfName);
- int net, mask;
- memcpy(&mask,DhcpOptions.val[subnetMask],4);
- net = DhcpIface.ciaddr & mask;
-@@ -454,17 +455,7 @@
- /* Note: Revise drift/log file names and stratum for local clock */
- fprintf(f,"restrict default noquery notrust nomodify\n");
- fprintf(f,"restrict 127.0.0.1\n");
-- fprintf(f,"restrict %u.%u.%u.%u mask %u.%u.%u.%u\n",
-- ((unsigned char *)&net)[0],
-- ((unsigned char *)&net)[1],
-- ((unsigned char *)&net)[2],
-- ((unsigned char *)&net)[3],
-- ((unsigned char *)&mask)[0],
-- ((unsigned char *)&mask)[1],
-- ((unsigned char *)&mask)[2],
-- ((unsigned char *)&mask)[3]);
-- if ( DhcpOptions.len[ntpServers]>=4 )
-- {
-+
- int i;
- char addr[4*3+3*1+1];
- for (i=0;i<DhcpOptions.len[ntpServers];i+=4)
-@@ -474,15 +465,10 @@
- ((unsigned char *)DhcpOptions.val[ntpServers])[i+1],
- ((unsigned char *)DhcpOptions.val[ntpServers])[i+2],
- ((unsigned char *)DhcpOptions.val[ntpServers])[i+3]);
-- fprintf(f,"restrict %s\nserver %s\n",addr,addr);
-+ fprintf(f,"restrict %s nomodify notrap noquery\nserver %s\n",addr,addr);
- }
-- }
-- else
-- { /* No servers found, use local clock */
-- fprintf(f, "fudge 127.127.1.0 stratum 3\n");
-- fprintf(f, "server 127.127.1.0\n");
-- }
-- fprintf(f, "driftfile /var/lib/ntp/ntp.drift\n");
-+
-+ fprintf(f, "driftfile /var/lib/ntp/ntp.drift\n");
- fprintf(f, "logfile /var/log/ntp.log\n");
- fclose(f);
- }
---- pathnames.h.orig 2005-06-02 23:27:39.011508464 +0100
-+++ pathnames.h 2005-06-02 23:29:32.415268472 +0100
-@@ -34,15 +34,15 @@
- #define EXEC_ON_CHANGE "%s/"PROGRAM_NAME".exe"
-
- #ifdef EMBED
-+#define ETC_DIR "/etc/config"
- #define CONFIG_DIR "/etc/config/dhcpc"
--#define RESOLV_CONF "/etc/config/resolv.conf"
--#define NIS_CONF "/etc/config/yp.conf"
--#define NTP_CONF "/etc/config/ntp.conf"
- #else
-+#define ETC_DIR "/etc"
- #define CONFIG_DIR "/var/lib/dhcpc"
--#define RESOLV_CONF "/etc/resolv.conf"
--#define NIS_CONF "/etc/yp.conf"
--#define NTP_CONF "/etc/ntp.conf"
- #endif
-
-+#define RESOLV_FILE "%s/resolv.conf"
-+#define NIS_FILE "%s/yp.conf"
-+#define NTP_FILE "%s/ntp.conf"
-+
- #endif
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-man.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-man.patch
deleted file mode 100644
index 4e0ba4c17151..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-man.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- dhcpcd.8.orig 2005-06-01 14:15:16.506055236 +0100
-+++ dhcpcd.8 2005-06-01 14:17:50.878717049 +0100
-@@ -307,7 +307,7 @@
- .SH FILES
- .PD 0
- .TP
-+.BI /var/lib/dhcpc
--.BI /etc/dhcpc
- Default
- .I <ConfigDir>
- directory used for storing files
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-no-iface-down.diff b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-no-iface-down.diff
deleted file mode 100644
index 5736a5e6f1dd..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-no-iface-down.diff
+++ /dev/null
@@ -1,80 +0,0 @@
-diff -uNr dhcpcd-1.3.22-pl4.orig/client.c dhcpcd-1.3.22-pl4/client.c
---- dhcpcd-1.3.22-pl4.orig/client.c 2003-11-12 13:19:38.000000000 +0100
-+++ dhcpcd-1.3.22-pl4/client.c 2003-11-12 14:39:45.000000000 +0100
-@@ -73,6 +73,7 @@
- extern int resolv_renamed,yp_renamed,ntp_renamed;
- extern int InitialHostName_len,InitialDomainName_len;
- extern char *InitialHostName,*InitialDomainName;
-+extern int DownIfaceOnStop;
-
- #if 0
- extern unsigned char ClientMACaddr[ETH_ALEN];
-@@ -1142,9 +1143,12 @@
- if ( ioctl(dhcpSocket,SIOCSIFADDR,&ifr) == -1 )
- syslog(LOG_ERR,"dhcpStop: ioctl SIOCSIFADDR: %m\n");
- #endif
-- ifr.ifr_flags = saved_if_flags & ~IFF_UP;
-- if ( (IfName_len==IfNameExt_len) && ioctl(dhcpSocket,SIOCSIFFLAGS,&ifr) )
-- syslog(LOG_ERR,"dhcpStop: ioctl SIOCSIFFLAGS: %m\n");
-+ if (DownIfaceOnStop)
-+ {
-+ ifr.ifr_flags = saved_if_flags & ~IFF_UP;
-+ if ( (IfName_len==IfNameExt_len) && ioctl(dhcpSocket,SIOCSIFFLAGS,&ifr) )
-+ syslog(LOG_ERR,"dhcpStop: ioctl SIOCSIFFLAGS: %m\n");
-+ }
- tsc:
- close(dhcpSocket);
- if ( resolv_renamed )
-diff -uNr dhcpcd-1.3.22-pl4.orig/dhcpcd.8 dhcpcd-1.3.22-pl4/dhcpcd.8
---- dhcpcd-1.3.22-pl4.orig/dhcpcd.8 2003-11-12 13:19:38.000000000 +0100
-+++ dhcpcd-1.3.22-pl4/dhcpcd.8 2003-11-12 14:39:45.000000000 +0100
-@@ -9,7 +9,7 @@
- .in +.5i
- .ti -.5i
- dhcpcd
--\%[\-dknrzBCDHNRSTY]
-+\%[\-dknorzBCDHNRSTY]
- \%[\-t\ <timeout>]
- \%[\-c\ <ExecFilePath>]
- \%[-h\ <hostname>]
-@@ -121,6 +121,13 @@
- .B dhcpcd
- follows the normal startup procedure.
- .TP
-+.BI \-o
-+Prevents
-+.B dhcpcd
-+from bringing
-+.B interface
-+down on exit.
-+.TP
- .BI \-r
- Makes dhcpcd RFC1541 (obsolete) compliant.
- .B dhcpcd
-diff -uNr dhcpcd-1.3.22-pl4.orig/dhcpcd.c dhcpcd-1.3.22-pl4/dhcpcd.c
---- dhcpcd-1.3.22-pl4.orig/dhcpcd.c 2003-11-12 13:19:38.000000000 +0100
-+++ dhcpcd-1.3.22-pl4/dhcpcd.c 2003-11-12 15:20:11.000000000 +0100
-@@ -70,6 +70,7 @@
- int Window = 0;
- char *ConfigDir = CONFIG_DIR;
- int SetDHCPDefaultRoutes= 1;
-+int DownIfaceOnStop = 1;
- #if 0
- unsigned char ClientMACaddr[ETH_ALEN];
- int ClientMACaddr_ind = 0;
-@@ -326,10 +327,14 @@
- goto usage;
- s=1;
- if ( LeaseTime > 0 ) break;
-+ case 'o':
-+ s++;
-+ DownIfaceOnStop=0;
-+ break;
- default:
- usage: print_version();
- fprintf(stderr,
--"Usage: dhcpcd [-dknrzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
-+"Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
- [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
- [-w windowsize] [-L ConfigDir] [-G [gateway]] [interface]\n");
- exit(1);
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-optionFQDN.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-optionFQDN.patch
deleted file mode 100644
index fb65c8791196..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-optionFQDN.patch
+++ /dev/null
@@ -1,531 +0,0 @@
-diff -ur dhcpcd-1.3.22-pl4.orig/buildmsg.c dhcpcd-1.3.22-pl4/buildmsg.c
---- dhcpcd-1.3.22-pl4.orig/buildmsg.c 2004-11-27 13:59:31.745759928 +0100
-+++ dhcpcd-1.3.22-pl4/buildmsg.c 2004-11-27 13:59:07.477449272 +0100
-@@ -43,6 +43,10 @@
- extern int BroadcastResp;
- extern struct in_addr inform_ipaddr;
-
-+#ifdef DRAFT_OPTION_FQDN
-+extern int SetFQDNHostName;
-+#endif
-+
- /*****************************************************************************/
- void buildDhcpDiscover(xid)
- unsigned xid;
-@@ -107,7 +111,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -120,6 +129,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- /* build UDP/IP header */
-@@ -194,7 +222,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -207,6 +240,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- /* build UDP/IP header */
-@@ -269,7 +321,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -282,6 +339,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- udpipgen((udpiphdr *)UdpIpMsgSend.udpipmsg,
-@@ -342,7 +418,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -355,6 +436,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- udpipgen((udpiphdr *)UdpIpMsgSend.udpipmsg,
-@@ -423,7 +523,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -436,6 +541,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- udpipgen((udpiphdr *)UdpIpMsgSend.udpipmsg,0,INADDR_BROADCAST,
-@@ -571,7 +695,12 @@
- *p++ = nisDomainName;
- *p++ = nisServers;
- *p++ = ntpServers;
-+#ifdef DRAFT_OPTION_FQDN
-+ /* FQDN option (81) replaces HostName option (12) if requested */
-+ if (( HostName ) && ( SetFQDNHostName == FQDNdisable ))
-+#else
- if ( HostName )
-+#endif
- {
- *p++ = hostName;
- *p++ = HostName_len;
-@@ -584,6 +713,25 @@
- p += DhcpIface.class_len;
- memcpy(p,DhcpIface.client_id,DhcpIface.client_len);
- p += DhcpIface.client_len;
-+#ifdef DRAFT_OPTION_FQDN
-+ if (( HostName ) && ( SetFQDNHostName != FQDNdisable ))
-+ {
-+ /* Draft IETF DHC-FQDN option (81) */
-+ *p++ = dhcpFQDNHostName;
-+ *p++ = HostName_len + 3;
-+ /* Flags: 0000NEOS
-+ * S: 1 => Client requests Server to update A RR in DNS as well as PTR
-+ * O: 1 => Server indicates to client that DNS has been updated regardless
-+ * E: 1 => Name data is DNS format, i.e. <4>host<6>domain<4>com<0> not "host.domain.com"
-+ * N: 1 => Client requests Server to not update DNS
-+ */
-+ *p++ = SetFQDNHostName & 0x9;
-+ *p++ = 0; /* rcode1, response from DNS server to DHCP for PTR RR */
-+ *p++ = 0; /* rcode2, response from DNS server to DHCP for A RR if S=1 */
-+ memcpy(p,HostName,HostName_len);
-+ p += HostName_len;
-+ }
-+#endif
- *p = endOption;
-
- udpipgen((udpiphdr *)UdpIpMsgSend.udpipmsg,0,INADDR_BROADCAST,
-diff -ur dhcpcd-1.3.22-pl4.orig/client.c dhcpcd-1.3.22-pl4/client.c
---- dhcpcd-1.3.22-pl4.orig/client.c 2004-11-27 13:59:31.754758560 +0100
-+++ dhcpcd-1.3.22-pl4/client.c 2004-11-27 13:58:24.101043488 +0100
-@@ -80,6 +80,10 @@
- extern int ClientMACaddr_ind;
- #endif
-
-+#ifdef DRAFT_OPTION_FQDN
-+extern int SetFQDNHostName;
-+#endif
-+
- #ifdef ARPCHECK
- int arpCheck();
- #endif
-@@ -187,6 +191,16 @@
- fprintf(stderr,"i=%-2d len=%-2d option = %u\n",
- i,DhcpOptions.len[i],*(unsigned char *)DhcpOptions.val[i]);
- break;
-+#ifdef DRAFT_OPTION_FQDN
-+ case 81:/* dhcpFQDNHostName */
-+ fprintf(stderr,"i=%-2d len=%-2d flags = %02X rcode1 = %02X rcode2 = %02X name = \"%s\"\n",
-+ i,DhcpOptions.len[i],
-+ ((unsigned char *)DhcpOptions.val[i])[0],
-+ ((unsigned char *)DhcpOptions.val[i])[1],
-+ ((unsigned char *)DhcpOptions.val[i])[2],
-+ ((char *)DhcpOptions.val[i])+3);
-+ break;
-+#endif
- default:
- fprintf(stderr,"i=%-2d len=%-2d option = \"%s\"\n",
- i,DhcpOptions.len[i],(char *)DhcpOptions.val[i]);
-@@ -393,6 +407,23 @@
- if ( DebugFlag )
- syslog(LOG_DEBUG,"dhcpT2value is missing in DHCP server response. Assuming %u sec\n",t2);
- }
-+#ifdef DRAFT_OPTION_FQDN
-+ if ( DhcpOptions.val[dhcpFQDNHostName] )
-+ {
-+ syslog(LOG_DEBUG,"dhcpFQDNHostName response flags = %02X rcode1 = %02X rcode2 = %02X name = \"%s\"\n",
-+ ((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[0],
-+ ((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[1],
-+ ((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[2],
-+ ((char *)DhcpOptions.val[dhcpFQDNHostName])+3);
-+ }
-+ else
-+ {
-+ if ( DebugFlag && (SetFQDNHostName != FQDNdisable) )
-+ {
-+ syslog(LOG_DEBUG,"dhcpFQDNHostName is missing in DHCP server response.\n");
-+ }
-+ }
-+#endif
- if ( DhcpOptions.val[dhcpMessageType] )
- return *(unsigned char *)DhcpOptions.val[dhcpMessageType];
- return 0;
-diff -ur dhcpcd-1.3.22-pl4.orig/client.h dhcpcd-1.3.22-pl4/client.h
---- dhcpcd-1.3.22-pl4.orig/client.h 2004-11-27 13:59:31.754758560 +0100
-+++ dhcpcd-1.3.22-pl4/client.h 2004-11-27 13:58:24.103043184 +0100
-@@ -131,9 +131,25 @@
- dhcpT2value = 59,
- dhcpClassIdentifier = 60,
- dhcpClientIdentifier = 61,
-+#ifdef DRAFT_OPTION_FQDN
-+ dhcpFQDNHostName = 81,
-+#endif
- endOption = 255
- };
-
-+#ifdef DRAFT_OPTION_FQDN
-+/* SetFQDNHostName values - lsnybble used in flags
-+ * byte (see buildmsg.c), hsnybble to create order
-+ * and to allow 0x00 to mean disable
-+ */
-+enum {
-+ FQDNdisable = 0x00,
-+ FQDNnone = 0x18,
-+ FQDNptr = 0x20,
-+ FQDNboth = 0x31
-+};
-+#endif
-+
- typedef struct dhcpInterface
- {
- unsigned char version[11];
-diff -ur dhcpcd-1.3.22-pl4.orig/dhcpcd.8 dhcpcd-1.3.22-pl4/dhcpcd.8
---- dhcpcd-1.3.22-pl4.orig/dhcpcd.8 2004-11-27 13:59:31.753758712 +0100
-+++ dhcpcd-1.3.22-pl4/dhcpcd.8 2004-11-27 13:58:24.105042880 +0100
-@@ -9,14 +9,15 @@
- .in +.5i
- .ti -.5i
- dhcpcd
--\%[\-dknorzBCDHNRSTY]
-+\%[\-dknorzBCDHNRSTY]
- \%[\-t\ <timeout>]
- \%[\-c\ <ExecFilePath>]
--\%[-h\ <hostname>]
--\%[-i\ <vendorClassID>]
--\%[-I\ <clientID>]
-+\%[\-h\ <hostname>]
-+\%[\-i\ <vendorClassID>]
-+\%[\-I\ <clientID>]
- \%[\-l\ <leasetime>]
- \%[\-s\ [ipaddr]]
-+\%[\-F\ none|ptr|both]
- \%[\-G\ [gateway]]
- \%[\-w\ <windowsize>]
- \%[\-L\ <ConfigDir>]
-@@ -28,7 +29,10 @@
- .B RFC2131
- (when -r option is not specified) and
- .B RFC1541
--(when -r option is specified).
-+(when -r option is specified). Support for
-+.B draft-ietf-dhc-fqdn-option
-+in use in many systems (particularly networks using Microsoft DHCP
-+servers) is also provided.
-
- It gets the host information (IP address, netmask, broadcast address,
- etc.) from a DHCP server and configures the network interface of the
-@@ -145,6 +149,31 @@
- to set domainname of the host to the domainname option
- supplied by DHCP server.
- .TP
-+.BI \-F \ none|ptr|both
-+Forces
-+.B dhcpcd
-+to request the DHCP server update the DNS using the FQDN option
-+instead of the Hostname option. The name used by this option
-+is specified with the \fB-h\fP switch, which must be present. If
-+the \fB-h\fP switch is not present, the FQDN option is ignored.
-+The name should be fully qualified, although servers usually
-+accept a simple name.
-+.I both
-+requests that the DHCP server update both the A and PTR
-+records in the DNS.
-+.I ptr
-+requests that the DHCP server updates only the PTR record in
-+the DNS.
-+.I none
-+requests that the DHCP server perform no updates.
-+.B dhcpcd
-+does not perform any DNS update, even when the server is
-+requested to perform no updates. This can be easily
-+implemented outside the client; all the necessary
-+information is recorded in the
-+.I <ConfigDir>/dhcpcd-<interface>.info
-+file.
-+.TP
- .BI \-H
- Forces
- .B dhcpcd
-@@ -249,6 +278,8 @@
- sends DHCP messages. Some DHCP servers, notably those used by
- @Home Networks, require the hostname option
- field containing a specific string in the DHCP messages from clients.
-+When combined with the -F switch, specifies the string used for the
-+FQDN option field instead of the hostname option field.
- .TP
- .BI \-i \ <vendorClassID>
- Specifies the vendor class identifier string.
-@@ -413,10 +444,18 @@
- is attached.
-
- .SH SEE ALSO
-+.BR dig (1),
-+.BR nslookup (8),
-+.BR nsupdate (8)
-+.LP
- .I Dynamic Host Configuration Protocol,
- RFC2131 and RFC1541 (obsolete)
-+.LP
- .I DHCP Options and BOOTP Vendor Extensions,
- RFC2132
-+.LP
-+.I Draft DHC FQDN Option specification,
-+draft-ietf-dhc-fqdn-option
-
- .SH BUGS
- .PD 0
-diff -ur dhcpcd-1.3.22-pl4.orig/dhcpcd.c dhcpcd-1.3.22-pl4/dhcpcd.c
---- dhcpcd-1.3.22-pl4.orig/dhcpcd.c 2004-11-27 13:59:31.753758712 +0100
-+++ dhcpcd-1.3.22-pl4/dhcpcd.c 2004-11-27 13:58:24.107042576 +0100
-@@ -75,6 +75,9 @@
- unsigned char ClientMACaddr[ETH_ALEN];
- int ClientMACaddr_ind = 0;
- #endif
-+#ifdef DRAFT_OPTION_FQDN
-+int SetFQDNHostName = FQDNdisable;
-+#endif
- /*****************************************************************************/
- void print_version()
- {
-@@ -109,6 +112,9 @@
- int k = 1;
- int i = 1;
- int j;
-+#ifdef DRAFT_OPTION_FQDN
-+ char *FQDNOption = NULL;
-+#endif
-
- /*
- * Ensure that fds 0, 1, 2 are open, to /dev/null if nowhere else.
-@@ -262,6 +268,23 @@
- fprintf(stderr,"**** %s: too long HostName string: strlen=%d\n",
- argc[0],HostName_len);
- break;
-+#ifdef DRAFT_OPTION_FQDN
-+ case 'F':
-+ if ( argc[i][s+1] ) goto usage;
-+ i++;
-+ FQDNOption=argc[i++];
-+ if ( FQDNOption == NULL || FQDNOption[0] == '-' ) goto usage;
-+ if ( strcmp(FQDNOption,"none") == 0 )
-+ SetFQDNHostName=FQDNnone;
-+ else if ( strcmp(FQDNOption,"ptr") == 0 )
-+ SetFQDNHostName=FQDNptr;
-+ else if ( strcmp(FQDNOption,"both") == 0 )
-+ SetFQDNHostName=FQDNboth;
-+ else
-+ goto usage;
-+ s=1;
-+ break;
-+#endif
- case 't':
- if ( argc[i][s+1] ) goto usage;
- i++;
-@@ -373,11 +373,19 @@
- break;
- default:
- usage: print_version();
-+#ifndef DRAFT_OPTION_FQDN
- fprintf(stderr,
- "Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
- [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
- [-w windowsize] [-L ConfigDir] [-G [gateway]] [-m routemetric]\n\
- [interface]\n");
-+#else
-+ fprintf(stderr,
-+"Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
-+ [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
-+ [-w windowsize] [-L ConfigDir] [-G [gateway]] [-m routemetric]\n\
-+ [-F none|ptr|both] [interface]\n");
-+#endif
- exit(1);
- }
- else
-diff -ur dhcpcd-1.3.22-pl4.orig/dhcpconfig.c dhcpcd-1.3.22-pl4/dhcpconfig.c
---- dhcpcd-1.3.22-pl4.orig/dhcpconfig.c 2004-11-27 13:59:31.752758864 +0100
-+++ dhcpcd-1.3.22-pl4/dhcpconfig.c 2004-11-27 13:58:24.261019168 +0100
-@@ -61,6 +61,10 @@
- extern dhcpOptions DhcpOptions;
- extern const dhcpMessage *DhcpMsgRecv;
-
-+#ifdef DRAFT_OPTION_FQDN
-+extern int SetFQDNHostName;
-+#endif
-+
- int arpInform();
-
- char hostinfo_file[128];
-@@ -735,6 +739,22 @@
- fprintf(f,"CLIENTID=%02X:%02X:%02X:%02X:%02X:%02X\n",
- DhcpIface.client_id[3],DhcpIface.client_id[4],DhcpIface.client_id[5],
- DhcpIface.client_id[6],DhcpIface.client_id[7],DhcpIface.client_id[8]);
-+#ifdef DRAFT_OPTION_FQDN
-+ if ( SetFQDNHostName != FQDNdisable )
-+ {
-+ if ( DhcpOptions.len[dhcpFQDNHostName] )
-+ {
-+fprintf(f,"FQDNFLAGS=%u\n\
-+FQDNRCODE1=%u\n\
-+FQDNRCODE2=%u\n\
-+FQDNHOSTNAME=%s\n",
-+((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[0],
-+((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[1],
-+((unsigned char *)DhcpOptions.val[dhcpFQDNHostName])[2],
-+(((char *)DhcpOptions.val[dhcpFQDNHostName])+3));
-+ }
-+ }
-+#endif
- fclose(f);
- }
- else
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-routemetric.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-routemetric.patch
deleted file mode 100644
index 453b0191ddc1..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-routemetric.patch
+++ /dev/null
@@ -1,152 +0,0 @@
---- dhcpconfig.c.orig 2005-06-01 11:30:15.141614117 +0100
-+++ dhcpconfig.c 2005-06-01 13:14:09.131020527 +0100
-@@ -52,6 +52,7 @@
- extern int ReplResolvConf;
- extern int ReplNISConf;
- extern int ReplNTPConf;
-+extern int RouteMetric;
- extern int IfName_len,IfNameExt_len;
- extern char *IfName,*IfNameExt,*Cfilename,*ConfigDir;
- extern char **ProgramEnviron;
-@@ -157,7 +158,7 @@
- #else
- rtent.rt_dev = IfNameExt;
- #endif
--rtent.rt_metric = 1;
-+rtent.rt_metric = RouteMetric;
- rtent.rt_window = Window;
- rtent.rt_flags = RTF_UP|RTF_GATEWAY|(Window ? RTF_WINDOW : 0);
- if ( ioctl(dhcpSocket,SIOCADDRT,&rtent) == -1 )
-@@ -179,7 +180,7 @@
- #else
- rtent.rt_dev = IfNameExt;
- #endif
-- rtent.rt_metric = 0;
-+ rtent.rt_metric = RouteMetric;
- rtent.rt_flags = RTF_UP|RTF_HOST;
- if ( ioctl(dhcpSocket,SIOCADDRT,&rtent) == 0 )
- {
-@@ -198,7 +199,7 @@
- #else
- rtent.rt_dev = IfNameExt;
- #endif
-- rtent.rt_metric = 1;
-+ rtent.rt_metric = RouteMetric;
- rtent.rt_window = Window;
- rtent.rt_flags = RTF_UP|RTF_GATEWAY|(Window ? RTF_WINDOW : 0);
- if ( ioctl(dhcpSocket,SIOCADDRT,&rtent) == -1 )
-@@ -260,8 +261,11 @@
- if ( ioctl(dhcpSocket,SIOCSIFBRDADDR,&ifr) == -1 ) /* setting broadcast address */
- syslog(LOG_ERR,"dhcpConfig: ioctl SIOCSIFBRDADDR: %m\n");
-
-- /* setting local route - not needed on later kernels */
--#ifdef OLD_LINUX_VERSION
-+ /*
-+ * setting local route
-+ * need to delete kernel added route on newer kernels
-+ */
-+#ifndef OLD_LINUX_VERSION
- memset(&rtent,0,sizeof(struct rtentry));
- p = (struct sockaddr_in *)&rtent.rt_dst;
- p->sin_family = AF_INET;
-@@ -276,9 +280,26 @@
- rtent.rt_dev = IfName;
- rtent.rt_metric = 1;
- rtent.rt_flags = RTF_UP;
-+ if ( ioctl(dhcpSocket,SIOCDELRT,&rtent) )
-+ syslog(LOG_ERR,"dhcpConfig: ioctl SIOCDELRT: %m\n");
-+#endif
-+
-+ memset(&rtent,0,sizeof(struct rtentry));
-+ p = (struct sockaddr_in *)&rtent.rt_dst;
-+ p->sin_family = AF_INET;
-+ memcpy(&p->sin_addr.s_addr,DhcpOptions.val[subnetMask],4);
-+ p->sin_addr.s_addr &= DhcpIface.ciaddr;
-+ p = (struct sockaddr_in *)&rtent.rt_gateway;
-+ p->sin_family = AF_INET;
-+ p->sin_addr.s_addr = 0;
-+ p = (struct sockaddr_in *)&rtent.rt_genmask;
-+ p->sin_family = AF_INET;
-+ memcpy(&p->sin_addr.s_addr,DhcpOptions.val[subnetMask],4);
-+ rtent.rt_dev = IfName;
-+ rtent.rt_metric = RouteMetric;
-+ rtent.rt_flags = RTF_UP;
- if ( ioctl(dhcpSocket,SIOCADDRT,&rtent) )
- syslog(LOG_ERR,"dhcpConfig: ioctl SIOCADDRT: %m\n");
--#endif
-
- for (i=0;i<DhcpOptions.len[staticRoute];i+=8)
- { /* setting static routes */
-@@ -303,7 +324,7 @@
- #else
- rtent.rt_dev = IfNameExt;
- #endif
-- rtent.rt_metric = 1;
-+ rtent.rt_metric = RouteMetric;
- if ( ioctl(dhcpSocket,SIOCADDRT,&rtent) )
- syslog(LOG_ERR,"dhcpConfig: ioctl SIOCADDRT: %m\n");
- }
---- dhcpcd.c.orig 2005-06-01 11:38:08.987350330 +0100
-+++ dhcpcd.c 2005-06-01 13:13:44.174087798 +0100
-@@ -57,6 +57,7 @@
- int ReplResolvConf = 1;
- int ReplNISConf = 1;
- int ReplNTPConf = 1;
-+int RouteMetric = 1;
- int SetDomainName = 0;
- int SetHostName = 0;
- int BroadcastResp = 0;
-@@ -138,6 +139,23 @@
- s++;
- killFlag=SIGHUP;
- goto prgs;
-+ case 'm':
-+ if ( argc[i][s+1] ) goto usage;
-+ i++;
-+ if ( ! argc[i] ) goto usage;
-+ char *tmp;
-+ errno = 0;
-+ long m=strtol(argc[i], &tmp, 0);
-+ if (argc[i][0] == '\0' || *tmp != '\0' ) goto usage;
-+ if ((errno == ERANGE &&
-+ (m == LONG_MAX || m == LONG_MIN )) ||
-+ (m > INT_MAX || m < INT_MIN))
-+ goto usage;
-+ RouteMetric=m;
-+ if (RouteMetric < INT_MAX) RouteMetric++;
-+ i++;
-+ s=1;
-+ break;
- case 'n':
- s++;
- killFlag=SIGALRM;
-@@ -336,7 +353,8 @@
- fprintf(stderr,
- "Usage: dhcpcd [-dknorzBCDHNRSTY] [-l leasetime] [-h hostname] [-t timeout]\n\
- [-i vendorClassID] [-I ClientID] [-c filename] [-s [ipaddr]]\n\
-- [-w windowsize] [-L ConfigDir] [-G [gateway]] [interface]\n");
-+ [-w windowsize] [-L ConfigDir] [-G [gateway]] [-m routemetric]\n\
-+ [interface]\n");
- exit(1);
- }
- else
---- dhcpcd.8.orig 2005-06-01 13:28:30.899167422 +0100
-+++ dhcpcd.8 2005-06-01 13:31:39.003123246 +0100
-@@ -20,6 +20,7 @@
- \%[\-G\ [gateway]]
- \%[\-w\ <windowsize>]
- \%[\-L\ <ConfigDir>]
-+\%[\-m\ <routemetric>]
- \%[interface]
- .in -.5i
- .SH DESCRIPTION
-@@ -108,6 +109,9 @@
- .B without
- destroying the dhcpcd cache.
- .TP
-+.BI \-m \ <routemetric>
-+routes will be added with the given metric. The default is 0.
-+.TP
- .BI \-n
- Sends
- .B SIGALRM
diff --git a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-security.patch b/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-security.patch
deleted file mode 100644
index c8d8fb6448de..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-1.3.22_p4-security.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- client.c.orig 2005-07-10 10:16:43.000000000 +0100
-+++ client.c 2005-07-10 10:22:31.000000000 +0100
-@@ -129,6 +129,8 @@
- default:
- if ( p[1] )
- {
-+ if (p + 2 + p[1] >= end)
-+ goto swend; /* Corrupt packet */
- if ( DhcpOptions.len[*p] == p[1] )
- memcpy(DhcpOptions.val[*p],p+2,p[1]);
- else
diff --git a/net-misc/dhcpcd/files/digest-dhcpcd-1.3.22_p4-r11 b/net-misc/dhcpcd/files/digest-dhcpcd-1.3.22_p4-r11
deleted file mode 100644
index 80b4247cc65e..000000000000
--- a/net-misc/dhcpcd/files/digest-dhcpcd-1.3.22_p4-r11
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 dd627a121e43835bead3ffef5b1a72fd dhcpcd-1.3.22-pl4.tar.gz 148455
-MD5 0960ef5d5070da205ffacd5107492e36 dhcpcd-1.3.22_p4.diff.bz2 1646
-MD5 6a502cc0c572f898f8ba5daa34c37901 dhcpcd-1.3.22_p4-keepCacheAndResolv.diff.bz2 1800