--- /dev/null
+--- dhcpcd-1.3.21-pl2/client.c.sopwith Tue Feb 5 14:47:35 2002
++++ dhcpcd-1.3.21-pl2/client.c Tue Feb 5 14:50:23 2002
+@@ -718,7 +718,7 @@
+ ((unsigned char *)&DhcpIface.ciaddr)[1],
+ ((unsigned char *)&DhcpIface.ciaddr)[2],
+ ((unsigned char *)&DhcpIface.ciaddr)[3]);
+- if ( ReplResolvConf )
++ if ( ReplResolvConf && DhcpOptions.len[dns])
+ {
+ resolv_renamed=1+rename(RESOLV_CONF,""RESOLV_CONF".sv");
+ f=fopen(RESOLV_CONF,"w");
+@@ -785,7 +785,7 @@
+ 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");
--- /dev/null
+--- dhcpcd-1.3.21-pl2/client.c.sopwith Thu Jan 31 18:58:26 2002
++++ dhcpcd-1.3.21-pl2/client.c Thu Jan 31 19:01:35 2002
+@@ -764,18 +764,14 @@
+ * because the resolver won't notice the change in resolv.conf */
+ (void)res_init();
+ }
+- if ( ReplNISConf )
++ if ( ReplNISConf && DhcpOptions.len[nisDomainName] )
+ {
+ yp_renamed=1+rename(NIS_CONF,""NIS_CONF".sv");
+ f=fopen(NIS_CONF,"w");
+ if ( f )
+ {
+ int i;
+- char *domain=NULL;
+- if ( DhcpOptions.len[nisDomainName] )
+- domain=(char *)DhcpOptions.val[nisDomainName];
+- else
+- domain=(char *)DhcpOptions.val[domainName];
++ char *domain=(char *)DhcpOptions.val[nisDomainName]; setdomainname(domain, strlen(domain)+1);
+ for (i=0;i<DhcpOptions.len[nisServers];i+=4)
+ fprintf(f,"domain %s server %u.%u.%u.%u\n",(domain?domain:"localdomain"),
+ ((unsigned char *)DhcpOptions.val[nisServers])[i],
--- /dev/null
+--- dhcpcd-1.3.22-pl1/client.c.sopwith Thu Jun 20 15:15:49 2002
++++ dhcpcd-1.3.22-pl1/client.c Thu Jun 20 15:16:34 2002
+@@ -902,7 +902,7 @@
+ fprintf(f, "fudge 127.127.1.0 stratum 3\n");
+ fprintf(f, "server 127.127.1.0\n");
+ }
+- fprintf(f, "driftfile /etc/ntp.drift\n");
++ fprintf(f, "driftfile /etc/ntp/drift\n");
+ fprintf(f, "logfile /var/log/ntp.log\n");
+ fclose(f);
+ }