Hello community,
here is the log from the commit of package dhcpcd
checked in at Mon Apr 21 18:41:04 CEST 2008.
--------
--- dhcpcd/dhcpcd.changes 2007-05-22 14:31:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/dhcpcd/dhcpcd.changes 2008-04-18 16:32:26.311498000 +0200
@@ -1,0 +2,7 @@
+Fri Apr 18 16:27:05 CEST 2008 - varkoly@suse.de
+
+- Change to the code base of Roy Marples
+ The initial version is 3.1.9
+ For differences please read /usr/share/doc/packages/dhcpcd/dhcpcd-1-vs-3
+
+-------------------------------------------------------------------
Old:
----
dhcpcd-1.3.22pl4-chksum.diff
dhcpcd-1.3.22pl4-dhcpMsgSize.dif
dhcpcd-1.3.22pl4-dnsSearchPath.dif
dhcpcd-1.3.22pl4-exe-script.dif
dhcpcd-1.3.22pl4-INIT-REBOOT-timeout.dif
dhcpcd-1.3.22pl4-malformed-packet-crash.dif
dhcpcd-1.3.22pl4-more-options.dif
dhcpcd-1.3.22pl4-ntp-pathnames.dif
dhcpcd-1.3.22pl4-pid_file_path.dif
dhcpcd-1.3.22pl4-resolv.conf.dif
dhcpcd-1.3.22pl4-reuseaddr.dif
dhcpcd-1.3.22pl4-strip-domainname.dif
dhcpcd-1.3.22pl4.tar.bz2
dhcpcd-1.3.22pl4-unaligned.diff
dhcpcd-1.3.22pl4-ypdomainname.dif
dhcpcd-alignment
dhcpcd-hook.example
dhcpcd-test
README.SuSE.dhcpcd
New:
----
dhcpcd-1-vs-3
dhcpcd-3.1.9-more-params.diff
dhcpcd-3.1.9-ntp-runtime-servers.diff
dhcpcd-3.1.9-set-route.diff
dhcpcd-3.1.9-suse.diff
dhcpcd-3.1.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dhcpcd.spec ++++++
--- /var/tmp/diff_new_pack.TE6910/_old 2008-04-21 18:40:35.000000000 +0200
+++ /var/tmp/diff_new_pack.TE6910/_new 2008-04-21 18:40:35.000000000 +0200
@@ -1,56 +1,33 @@
#
-# spec file for package dhcpcd (Version 1.3.22pl4)
+# spec file for package dhcpcd (Version 3.1.9)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
+
Name: dhcpcd
-Version: 1.3.22pl4
-Release: 262
+Version: 3.1.9
+Release: 1
Summary: A DHCP Client Daemon
-URL: http://www.phystech.com/download/dhcpcd.html
-License: GNU General Public License (GPL)
+Url: http://www.phystech.com/download/dhcpcd.html
+#Source: http://prdownload.berlios.de/dhcpcd/dhcpcd-3.1.8.tar.bz2
+Source: dhcpcd-%{version}.tar.bz2
+Source1: dhcpcd-1-vs-3
+Patch1: dhcpcd-3.1.9-suse.diff
+Patch2: dhcpcd-3.1.9-more-params.diff
+Patch3: dhcpcd-3.1.9-set-route.diff
+Patch4: dhcpcd-3.1.9-ntp-runtime-servers.diff
+License: GPL v2 or later
Group: Productivity/Networking/Boot/Clients
Provides: dhcp_client
Requires: net-tools
-Autoreqprov: on
-Source: ftp://ftp.phystech.com/pub/dhcpcd-%{version}.tar.bz2
-Source3: dhcpcd-hook.example
-Source4: dhcpcd-test
-Source5: README.SuSE.dhcpcd
-Patch: dhcpcd-1.3.22pl4-chksum.diff
-# use /var/run for pid file
-Patch1: dhcpcd-1.3.22pl4-pid_file_path.dif
-## let dhcpcd use modify_resolvconf(8) and add a KeepSearchlist option (-K)
-Patch2: dhcpcd-1.3.22pl4-resolv.conf.dif
-## request more options (and write the data to %{localstatedir}/dhcpcd-*-info)
-Patch3: dhcpcd-1.3.22pl4-more-options.dif
-## strip the DNS domain from the hostname (we don't want to set the FQDN as hostname)
-Patch4: dhcpcd-1.3.22pl4-strip-domainname.dif
-## set the ypdomainname to the NIS domainname, not the DNS one
-Patch6: dhcpcd-1.3.22pl4-ypdomainname.dif
-## make timeout for INIT-REBOOT state a seperate one from the -t timeout
-Patch9: dhcpcd-1.3.22pl4-INIT-REBOOT-timeout.dif
-# fix path to dhcpcd-*.exe
-Patch11: dhcpcd-1.3.22pl4-exe-script.dif
-# adjust pathnames to xntpd's chroot jail
-Patch12: dhcpcd-1.3.22pl4-ntp-pathnames.dif
-Patch13: dhcpcd-1.3.22pl4-malformed-packet-crash.dif
-Patch14: dhcpcd-1.3.22pl4-dnsSearchPath.dif
-Patch15: dhcpcd-1.3.22pl4-dhcpMsgSize.dif
-Patch16: dhcpcd-alignment
-Patch17: dhcpcd-1.3.22pl4-reuseaddr.dif
-Patch18: dhcpcd-1.3.22pl4-unaligned.diff
+AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%define localstatedir /var/lib/dhcpcd/
-#define debugging 1
-%define debug_cflags %{?debugging:-DDEBUG}
%description
dhcpcd gets an IP address and other information from a corresponding
@@ -66,79 +43,52 @@
%prep
%setup -n dhcpcd-%{version}
-%patch
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch6 -p1
-%patch9 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18
-cp %{S:3} %{S:4} %{S:5} .
-for i in README dhcpcd.8 pathnames.h; do
- cp -p $i $i.orig
- sed "
- s@/etc/dhcpc/\(.*\.exe\)@/sbin/\1@
- s@/etc/dhcpc/\(.*\.cache\)@%{localstatedir}\1@
- s@/etc/dhcpc@%{localstatedir}@
- s@<ConfigDir>/dhcpcd\.exe@/sbin/dhcpd.exe@
- " < $i.orig > $i.t
- diff -u $i.orig $i.t || mv $i.t $i
-done
+cp %{S:1} .
%build
-autoreconf --force --install
-./configure --prefix=/usr --sbindir=/sbin || cat config.log
-make CFLAGS="$RPM_OPT_FLAGS -Wall -fPIE %{debug_cflags}" LDFLAGS=-pie
+make CFLAGS="$RPM_OPT_FLAGS -O2 -pipe -fpie -DENABLE_SYSV=1" LDFLAGS="-pie"
%install
-mkdir -p $RPM_BUILD_ROOT/sbin
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-mkdir -p $RPM_BUILD_ROOT/%{localstatedir}
-make DESTDIR=$RPM_BUILD_ROOT sbindir=/sbin mandir=%{_mandir} INSTALL_STRIP_PROGRAM=install install
-cp -p $RPM_SOURCE_DIR/README.SuSE.dhcpcd README.SuSE
-install -m 755 dhcpcd-test $RPM_BUILD_ROOT/usr/sbin/
+make install DESTDIR="$RPM_BUILD_ROOT"
%postun
%{insserv_cleanup}
%files
%defattr(-,root,root)
-%doc AUTHORS ChangeLog COPYING INSTALL NEWS README dhcpcd.exe
-%doc README.SuSE dhcpcd-hook.example
+%doc README dhcpcd-1-vs-3
%doc %{_mandir}/man8/dhcpcd.8*
/sbin/dhcpcd
-/usr/sbin/dhcpcd-test
-%dir %{localstatedir}
%clean
rm -rf $RPM_BUILD_ROOT
%changelog
-* Tue May 22 2007 - schwab@suse.de
+* Fri Apr 18 2008 varkoly@suse.de
+- Change to the code base of Roy Marples
+ The initial version is 3.1.9
+ For differences please read /usr/share/doc/packages/dhcpcd/dhcpcd-1-vs-3
+* Tue May 22 2007 schwab@suse.de
- Fix unaligned data.
-* Fri May 11 2007 - varkoly@suse.de
+* Fri May 11 2007 varkoly@suse.de
- make rpm build more verbose if ./config failed
-* Wed Dec 20 2006 - poeml@suse.de
+* Wed Dec 20 2006 poeml@suse.de
- allow other programs to use the port which dhcpcd uses [#117090]
dhcpcd-1.3.22pl4-reuseaddr.dif
-* Tue Jan 31 2006 - ak@suse.de
+* Tue Jan 31 2006 ak@suse.de
- fix unalignment messages on ia64 (#146764)
-* Wed Jan 25 2006 - mls@suse.de
+* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
-* Wed Sep 28 2005 - dmueller@suse.de
+* Thu Sep 29 2005 dmueller@suse.de
- add norootforbuild
-* Mon Sep 05 2005 - poeml@suse.de
+* Mon Sep 05 2005 poeml@suse.de
- fix parsing of resolv.conf file when no 'search' line is present,
preventing garbage from ending up in the new resolv.conf [#96662]
-* Thu Aug 04 2005 - poeml@suse.de
+* Thu Aug 04 2005 poeml@suse.de
- security fix: a malformed DHCP packet could make dhcpcd read
beyond the end of a buffer and therefore possibly crash.
[#94547] no CVE number.
@@ -147,64 +97,64 @@
- Fix the value of the "Maximum message size" option. This value
includes the IP and UDP headers, and it's minium value is
therefore 576, according to RFC2131. (patch from Debian)
-* Thu Jun 23 2005 - poeml@suse.de
+* Fri Jun 24 2005 poeml@suse.de
- build with -fPIE/-pie
- (hopefully) fix creation of debug package
- add %%clean section
-* Thu Jun 16 2005 - poeml@suse.de
+* Thu Jun 16 2005 poeml@suse.de
- revert compiled in default path of the hook script to
/sbin/dhcpcd.exe, update man page for this change and remove
surplus snprintf() argument in dhcpconfig.c [#85849]
- fix usage info in dhcpcd-test
-* Mon Mar 07 2005 - poeml@suse.de
+* Mon Mar 07 2005 poeml@suse.de
- fix uninitialized NewSearchlist variable. Binary garbage could
have been passed to modify_resolvconf if a DHCP server was
configured without domain option. Consequentially, do not call
modify_resolvconf with -l if there's no domain name [#66869]
-* Wed Sep 29 2004 - poeml@suse.de
+* Wed Sep 29 2004 poeml@suse.de
- netBIOSnodeType is a single byte option [#46395]
-* Wed Sep 15 2004 - schwab@suse.de
+* Wed Sep 15 2004 schwab@suse.de
- Fix checksumming for big endian [#44670].
-* Mon Sep 13 2004 - poeml@suse.de
+* Mon Sep 13 2004 poeml@suse.de
- make sure that dhcpcd has terminated after dhcpcd-test [#44557]
-* Mon Sep 06 2004 - poeml@suse.de
+* Mon Sep 06 2004 poeml@suse.de
- add '-e $interface' to all calls of modify_resolvconf [#44706]
-* Thu Aug 26 2004 - lmuelle@suse.de
+* Thu Aug 26 2004 lmuelle@suse.de
- Request netBIOSdgramDistServer, netBIOSnodeType, and netBIOSscope options
and write it to /var/lib/dhcpcd/dhcpcd-*.info.
- Remove sohoServer option.
-* Mon Mar 29 2004 - poeml@suse.de
+* Mon Mar 29 2004 poeml@suse.de
- fix path of xntpd's driftfile and logfile in the /etc/ntp.conf
that is written [#37138]
-* Thu Jan 15 2004 - uli@suse.de
+* Thu Jan 15 2004 uli@suse.de
- removed fake LLC header patch (bug #33452)
-* Mon Sep 08 2003 - poeml@suse.de
+* Mon Sep 08 2003 poeml@suse.de
- update README
- -> http://www.suse.com/feedback
-* Fri Sep 05 2003 - poeml@suse.de
+* Fri Sep 05 2003 poeml@suse.de
- in the dhcpcd-test wrapper, do not run hook scripts by default
(it can be called with -c /path/to/script to override the
default, though) [#29945]
-* Mon Aug 25 2003 - poeml@suse.de
+* Mon Aug 25 2003 poeml@suse.de
- rename the hook script from dhcpcd.exe to dhcpcd-hook, and fix
all places of the man page mentioning it. The dhcpcd-hook script
itself is part of the sysconfig package.
- minor updates to the dhcpcd.exe example and addition of a comment
that there is now a more general framework for such hooks
-* Sun Jul 27 2003 - poeml@suse.de
+* Sun Jul 27 2003 poeml@suse.de
- don't explicitely strip binaries since RPM handles it, and may
keep the stripped information somewhere
-* Mon Jun 30 2003 - uli@suse.de
+* Mon Jun 30 2003 uli@suse.de
- add fake LLC header on S/390 to make DHCP work with OSA-Express
in QDIO mode
-* Wed Apr 02 2003 - ro@suse.de
+* Wed Apr 02 2003 ro@suse.de
- fix sed call
-* Thu Mar 13 2003 - poeml@suse.de
+* Thu Mar 13 2003 poeml@suse.de
- don't set the low timeout when in INIT state, and restore it as
soon as we got an address. This partially fixes #25272 where the
alarm clock was still set while doing stuff that is potentially
time intensive (calling external scripts, resolving hostname)
-* Thu Jan 02 2003 - poeml@suse.de
+* Thu Jan 02 2003 poeml@suse.de
- update to dhcpcd-1.3.22pl4, relevant changes:
- set the netmask properly for static routes provided by the server
- randomize XID better by including CLientHwAddr into the seed
@@ -228,11 +178,11 @@
LOG_CONS.dif
token-ring.dif
noshellmeta.patch
-* Thu Sep 26 2002 - okir@suse.de
+* Thu Sep 26 2002 okir@suse.de
- properly quote string data in info file (sourced by dhcpcd.exe)
-* Wed Sep 18 2002 - ro@suse.de
+* Wed Sep 18 2002 ro@suse.de
- removed bogus self-provides
-* Mon Aug 19 2002 - poeml@suse.de
+* Mon Aug 19 2002 poeml@suse.de
- add Token Ring support, using a very old GPL'ed patch by Olicom
as a start
ftp://ftp.olicom.dk/sw/releases/Unix-Driver/Linux/unsupported/DHCP/22/
@@ -246,23 +196,23 @@
- request netBIOSnameServer (WINS server) option and write it to
/var/lib/dhcpcd/dhcpcd-*.info
- make it easy to build an unstripped debug binary
-* Tue Apr 16 2002 - poeml@suse.de
+* Tue Apr 16 2002 poeml@suse.de
- the man page talked about 10 seconds as RebootTimeOut default,
while it is actually 5 seconds
-* Mon Apr 08 2002 - ro@suse.de
+* Mon Apr 08 2002 ro@suse.de
- run autoreconf
-* Mon Mar 04 2002 - poeml@suse.de
+* Mon Mar 04 2002 poeml@suse.de
- the default info text that modify_resolvconf writes has changed.
-* Mon Feb 18 2002 - poeml@suse.de
+* Mon Feb 18 2002 poeml@suse.de
- don't log to the console when not in debug mode.
(replaces the terminate_quietly diff)
- decrease RebootTimeOut to 5 seconds
-* Fri Feb 15 2002 - poeml@suse.de
+* Fri Feb 15 2002 poeml@suse.de
- improve the test mode: the pid file goes to /var/run by default,
but goes to the specified "data dir" (-L) so testing is possible
while another dhcpcd is running
- don't restore resolv.conf when called with -R
-* Fri Feb 15 2002 - poeml@suse.de
+* Fri Feb 15 2002 poeml@suse.de
- depending on the -t timeout option, dhcpcd will not make the
transition from the INIT-REBOOT state (trying to reacquire a
previous lease) to the INIT state (acquire a new lease), if it
@@ -273,7 +223,7 @@
DHCPNAK, and an old cache file is present. It works also in the
rebinding state. So a large value for -t can still be used, to
keep the daemon running.
-* Sat Feb 09 2002 - poeml@suse.de
+* Sun Feb 10 2002 poeml@suse.de
- strip the DNS domain before setting the hostname. We don't want
'hostname' to return the FQDN -- which can be and has to be the
resolver's job.
@@ -287,7 +237,7 @@
- don't depend on a second DHCPOFFER -- breaks with Lucent
Technologies server
- set the *NIS* domainname if one was supplied
-* Mon Feb 04 2002 - poeml@suse.de
+* Mon Feb 04 2002 poeml@suse.de
- update to dhcpcd-1.3.22pl1
- ntp.conf and yp.conf is written by default now, unless -N and
-Y are specified on the commandline
@@ -316,16 +266,16 @@
- add new options to sysconfig.dhcp-dhcpcd (these are meant to be
used by ISC dhclient with a wrapper as well)
- remove Conflicts: with ISC dhclient
-* Tue Jan 29 2002 - poeml@suse.de
+* Tue Jan 29 2002 poeml@suse.de
- drop /etc/init.d/dhclient script (new script in sysconfig.rpm)
-* Thu Dec 13 2001 - ro@suse.de
+* Thu Dec 13 2001 ro@suse.de
- moved rc.config.d -> sysconfig
-* Tue Sep 04 2001 - poeml@suse.de
+* Tue Sep 04 2001 poeml@suse.de
- fix a possible segfault when the DHCP server doesn't give a
domain-name option (thanks to Nico Lumma who helped me to track
this down)
- make sure that OldSearchList is initialized
-* Tue Aug 28 2001 - poeml@suse.de
+* Tue Aug 28 2001 poeml@suse.de
- update to 1.3.20pl0 (the single change is the removement of 0x0
from ClientID and ClassID options)
- use the modify_resolvconf tool for all resolv.conf modifications
@@ -346,7 +296,7 @@
instead of patching the sources)
- actually use the RPM_OPT_FLAGS
- rename README.SuSE to README.SuSE.dhcpcd and update it
-* Fri May 11 2001 - poeml@suse.de
+* Fri May 11 2001 poeml@suse.de
- if resolv.conf does not exist, touch it; so that there is a file
to back up and restore later and the temporary resolv.conf would
not persist after stopping the client [#8078]
@@ -354,7 +304,7 @@
starting the daemon, because it does it intelligently [#8077]
- don't send DHCPRELEASE by default when stopping (to avoid error
messages when the interface has already disappeared [#8019])
-* Sun Apr 15 2001 - poeml@suse.de
+* Sun Apr 15 2001 poeml@suse.de
- don't KeepSearchlist if there is no resolv.conf (fixes a bug
where garbage was appended)
- set the default for KeepSearchlist to "no"
@@ -363,17 +313,17 @@
- replace meaningless ${2+"$2"} with $2
- fix probe section to take the correct pid file(s)
- update info header for resolv.conf acc. to guidelines
-* Thu Apr 12 2001 - poeml@suse.de
+* Thu Apr 12 2001 poeml@suse.de
- fix start script [#6961] (-D and -H were mixed up)
-* Mon Apr 09 2001 - poeml@suse.de
+* Mon Apr 09 2001 poeml@suse.de
- don't use of rc_status with -u (option was dropped)
- move rcdhclient link from /usr/sbin/ to /sbin, since the binary
is also there
-* Thu Apr 05 2001 - poeml@suse.de
+* Thu Apr 05 2001 poeml@suse.de
- update to 1.3.19pl9 (fixes a bug which resulted in 7-byte long
MAC address with 0x0 at the end)
- fix Version tag
-* Wed Mar 28 2001 - poeml@suse.de
+* Wed Mar 28 2001 poeml@suse.de
- update to 1.3.19pl8
- add -S switch to keep searchlist when resolv.conf is replaced
- change backup name of resolv.conf and write info header to the
@@ -385,37 +335,37 @@
* move variables to /etc/rc.config.d/
* make more stuff configurable
- bzipped sources
-* Wed Jan 24 2001 - poeml@suse.de
+* Wed Jan 24 2001 poeml@suse.de
- update to 1.3.19pl6
- dhcpcd-<interface>.exe scripts, to be called by dhcpcd, are
expected in /usr/sbin now, no longer in /var/state
- added a README.SuSE explaining the SuSE changes to the package
- the configuration has improved, so some patches are no longer
necessary
-* Mon Jan 15 2001 - poeml@suse.de
+* Mon Jan 15 2001 poeml@suse.de
- added patch to write resolv.conf and call res_init() before
resolving the hostname (fixes bug #4526)
- added comments on how to build for different runlevel scheme in 7.0 or
earlier
- insert missing "" in Nov 17 patch for configure script
-* Thu Jan 11 2001 - poeml@suse.de
+* Thu Jan 11 2001 poeml@suse.de
- fix path in comment (/sbin/init.d -> /etc/init.d)
-* Tue Nov 28 2000 - poeml@suse.de
+* Tue Nov 28 2000 poeml@suse.de
- moved init script to /etc/init.d
- create links via insserv
- extracted source files from the patch to separate files
- cleaned up spec file
-* Fri Nov 17 2000 - poeml@suse.de
+* Fri Nov 17 2000 poeml@suse.de
- fixed spec file to remove stale config.cache
- fixed configure script to make testing for 2.0.x kernel work
-* Fri Nov 17 2000 - kukuk@suse.de
+* Fri Nov 17 2000 kukuk@suse.de
- Fix Requires
-* Thu Oct 19 2000 - grimmer@suse.de
+* Thu Oct 19 2000 grimmer@suse.de
- Update to 1.3.19pl2 (Bugfix: don't use nisDomainName in
/etc/resolv.conf)
-* Mon Aug 07 2000 - grimmer@suse.de
+* Mon Aug 07 2000 grimmer@suse.de
- Update to 1.3.19p1 (bugfix for dhcpStop function, see ChangeLog)
-* Mon Aug 07 2000 - grimmer@suse.de
+* Mon Aug 07 2000 grimmer@suse.de
- Update to 1.3.19p0 (Andreas Schwab's IA64 patch now officially
included, uncommented ioctl call in dhcpStop to prevent interface
from having an invalid IP address during DHCP negotiation,
@@ -423,17 +373,17 @@
- added sample script dhcpcd-eth0.exe.SuSE from Pieter Hollants
- Reworked rc.config comments
-* Thu Jul 13 2000 - zoz@suse.de
+* Thu Jul 13 2000 zoz@suse.de
- changed test for availability of device: now using ifconfig, so
automatically loading of modules will be triggered (Bug 3415)
-* Tue Jul 11 2000 - zoz@suse.de
+* Tue Jul 11 2000 zoz@suse.de
- reworked /sbin/init.d/dhclient once again due to problems with
PCMCIA devices.
- added DHCLIENT_SET_HOSTNAME (default =no) to rc.config and
/sbin/init.d/dhclient. (same as in package dhclient)
-* Thu Jul 06 2000 - zoz@suse.de
+* Thu Jul 06 2000 zoz@suse.de
- removed a lost and lonly "fi" from rcdhclient (Bug 3208)
-* Tue Jul 04 2000 - zoz@suse.de
+* Wed Jul 05 2000 zoz@suse.de
- changed /sbin/init.d/dhclient:
- It now starts without "DHCLIENT".
Just setting IFCONFIG_x with NETCONFIG contains _x is enough.
@@ -441,7 +391,7 @@
but writes a message what to do then.
- changed rc.config.dhclient: removed "DHCLIENT", but left the
comment.
-* Fri Jun 16 2000 - grimmer@suse.de
+* Fri Jun 16 2000 grimmer@suse.de
- Update to dhcpcd-1.3.18-pl8 (new -T flag to go through normal
DHCP negotiation sequence without configuring the interface or
otherwise change anything on the system, fix possible problem
@@ -456,24 +406,24 @@
- added BuildRoot and RPM macros
- added /sbin/icmprequest to file list
- added more docu to file list
-* Tue Mar 28 2000 - grimmer@suse.de
+* Tue Mar 28 2000 grimmer@suse.de
- Update to dhcpcd-1.3.18-pl5 (reverse lookup patch is now
officially included)
- removed our (now obsolete) patch
-* Mon Mar 27 2000 - grimmer@suse.de
+* Mon Mar 27 2000 grimmer@suse.de
- Update to dhcpcd-1.3.18-pl4 (minor fixes)
-* Mon Mar 13 2000 - grimmer@suse.de
+* Mon Mar 13 2000 grimmer@suse.de
- reverted init script to original behaviour since automatic
setting of host name is not always desirable (e.g. X11)
-* Sun Mar 12 2000 - bk@suse.de
+* Sun Mar 12 2000 bk@suse.de
- added reverse lookup for sethostname; if -H option is given
and dhcpcd didn't get a hostname from the dhcp server.
- Olaf added silent startup of dhcpcd.
-* Sun Mar 12 2000 - grimmer@suse.de
+* Sun Mar 12 2000 grimmer@suse.de
- added Option -D -H (set domain- and hostname) to init script
-* Fri Feb 18 2000 - grimmer@suse.de
+* Fri Feb 18 2000 grimmer@suse.de
- added Option -d (for logging via syslog) to init script
-* Thu Jan 27 2000 - grimmer@suse.de
+* Thu Jan 27 2000 grimmer@suse.de
- initial version (1.3.18-pl3)
- changed man path to /usr/share/man
- adjusted path for leases from /etc/dhcpc to /var/state/dhcp
++++++ dhcpcd-3.1.9-more-params.diff ++++++
diff -u dhcpcd-3.1.9/dhcp.c dhcpcd-3.1.9-more-params/dhcp.c
--- dhcpcd-3.1.9/dhcp.c 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-more-params/dhcp.c 2008-03-26 21:14:36.000000000 +0100
@@ -226,6 +226,12 @@
*p++ = DHCP_ROOTPATH;
*p++ = DHCP_SIPSERVER;
#endif
+ *p++ = DHCP_LPRSERVER;
+ *p++ = DHCP_LOGSERVER;
+ *p++ = DHCP_NETBIOSNAMESERVER;
+ *p++ = DHCP_NETBIOSDDSERVER;
+ *p++ = DHCP_NETBIOSSCOPE;
+ *p++ = DHCP_NETBIOSNAMESERVER;
}
*n_params = p - n_params - 1;
@@ -460,6 +466,12 @@
free (dhcp->fqdn->name);
free (dhcp->fqdn);
}
+ free (dhcp->lprservers);
+ free (dhcp->logservers);
+ free (dhcp->netbiosnameservers);
+ free (dhcp->netbiosddservers);
+ free (dhcp->netbiosscope);
+ free (dhcp->netbiosnodetype);
}
static bool dhcp_add_address(address_t **address, const unsigned char *data, int length)
@@ -725,6 +737,13 @@
GETSTR (dhcp->nisdomain);
break;
#endif
+ case DHCP_NETBIOSNODETYPE:
+ GETSTR (dhcp->netbiosnodetype);
+ break;
+ case DHCP_NETBIOSSCOPE:
+ GETSTR (dhcp->netbiosscope);
+ break;
+
#undef GETSTR
#define GETADDR(_var) \
@@ -747,6 +766,18 @@
GETADDR (dhcp->nisservers);
break;
#endif
+ case DHCP_LPRSERVER:
+ GETADDR (dhcp->lprservers);
+ break;
+ case DHCP_LOGSERVER:
+ GETADDR (dhcp->logservers);
+ break;
+ case DHCP_NETBIOSNAMESERVER:
+ GETADDR (dhcp->netbiosnameservers);
+ break;
+ case DHCP_NETBIOSDDSERVER:
+ GETADDR (dhcp->netbiosddservers);
+ break;
#undef GETADDR
case DHCP_DNSSEARCH:
diff -u dhcpcd-3.1.9/dhcp.h dhcpcd-3.1.9-more-params/dhcp.h
--- dhcpcd-3.1.9/dhcp.h 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-more-params/dhcp.h 2008-03-26 20:55:24.000000000 +0100
@@ -75,18 +75,47 @@
DHCP_DNSSERVER = 6,
DHCP_LOGSERVER = 7,
DHCP_COOKIESERVER = 8,
+ DHCP_LPRSERVER = 9,
+ DHCP_IMPRESSSERVER = 10,
+ DHCP_RLSSERVER = 11,
DHCP_HOSTNAME = 12,
+ DHCP_BOOTFILESIZE = 13,
+ DHCP_MERITDUMPFILE = 14,
DHCP_DNSDOMAIN = 15,
+ DHCP_SWAPSERVER = 16,
DHCP_ROOTPATH = 17,
+ DHCP_EXTENTIONSPATH = 18,
+ DHCP_IPFORWARDING = 19,
+ DHCP_NONLOCALSOURCEROUTING = 20,
+ DHCP_POLICYFILTER = 21,
+ DHCP_MAXDGRAMREASMSIZE = 22,
DHCP_DEFAULTIPTTL = 23,
+ DHCP_PATHMTUAGINGTIMEOUT = 24,
+ DHCP_PATHMTUPLATEAUTABLE = 25,
DHCP_MTU = 26,
+ DHCP_ALLSUBNETSLOCAL = 27,
DHCP_BROADCAST = 28,
DHCP_MASKDISCOVERY = 29,
+ DHCP_MASKSUPPLIER = 30,
DHCP_ROUTERDISCOVERY = 31,
+ DHCP_ROUTERSOLICITATIONADDR = 32,
DHCP_STATICROUTE = 33,
+ DHCP_TRAILERENCAPSULATION = 34,
+ DHCP_ARPCACHETIMEOUT = 35,
+ DHCP_ETHERNETENCAPSULATION = 36,
+ DHCP_TCPDEFAULTTTL = 37,
+ DHCP_TCPKEEPALIVEINTERVAL = 38,
+ DHCP_TCPKEEPALIVEGARBAGE = 39,
DHCP_NISDOMAIN = 40,
DHCP_NISSERVER = 41,
DHCP_NTPSERVER = 42,
+ DHCP_VENDORSPECIFICINFO = 43,
+ DHCP_NETBIOSNAMESERVER = 44,
+ DHCP_NETBIOSDDSERVER = 45,
+ DHCP_NETBIOSNODETYPE = 46,
+ DHCP_NETBIOSSCOPE = 47,
+ DHCP_XFONTSERVER = 48,
+ DHCP_XDISPLAYMANAGER = 49,
DHCP_ADDRESS = 50,
DHCP_LEASETIME = 51,
DHCP_OPTIONSOVERLOADED = 52,
@@ -164,6 +193,14 @@
char *rootpath;
bool frominfo;
+
+ address_t *lprservers;
+ address_t *logservers;
+ address_t *netbiosnameservers;
+ address_t *netbiosddservers;
+ char *netbiosscope;
+ char *netbiosnodetype;
+
} dhcp_t;
Nur in dhcpcd-3.1.9: .gitignore.
diff -u dhcpcd-3.1.9/info.c dhcpcd-3.1.9-more-params/info.c
--- dhcpcd-3.1.9/info.c 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-more-params/info.c 2008-03-28 10:21:07.000000000 +0100
@@ -268,6 +268,44 @@
}
#endif
+ if (dhcp->lprservers) {
+ fprintf (f, "LPRSERVER='");
+ for (address = dhcp->lprservers; address; address = address->next) {
+ fprintf (f, "%s", inet_ntoa (address->address));
+ if (address->next)
+ fprintf (f, " ");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->logservers) {
+ fprintf (f, "LOGSERVER='");
+ for (address = dhcp->logservers; address; address = address->next) {
+ fprintf (f, "%s", inet_ntoa (address->address));
+ if (address->next)
+ fprintf (f, " ");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->netbiosnameservers) {
+ fprintf (f, "NETBIOSNAMESERVER='");
+ for (address = dhcp->netbiosnameservers; address; address = address->next) {
+ fprintf (f, "%s", inet_ntoa (address->address));
+ if (address->next)
+ fprintf (f, " ");
+ }
+ fprintf (f, "'\n");
+ }
+ if (dhcp->netbiosddservers) {
+ fprintf (f, "NETBIOSDDSERVER='");
+ for (address = dhcp->netbiosddservers; address; address = address->next) {
+ fprintf (f, "%s", inet_ntoa (address->address));
+ if (address->next)
+ fprintf (f, " ");
+ }
+ fprintf (f, "'\n");
+ }
+ print_clean (f, "NETBIOSSCOPE", dhcp->netbiosscope);
+ print_clean (f, "NETBIOSNODETYPE", dhcp->netbiosnodetype);
if (! options->test)
fclose (f);
return (true);
@@ -489,6 +527,18 @@
parse_uint (&dhcp->renewaltime, value, "RENEWALTIME");
else if (strcmp (var, "REBINDTIME") == 0)
parse_uint (&dhcp->rebindtime, value, "REBINDTIME");
+ else if (strcmp (var, "NETBIOSSCOPE") == 0)
+ parse_uint (&dhcp->rebindtime, value, "NETBIOSSCOPE");
+ else if (strcmp (var, "NETBIOSNAMESERVER") == 0)
+ parse_uint (&dhcp->rebindtime, value, "NETBIOSNAMESERVER");
+ else if (strcmp (var, "LPRSERVER") == 0)
+ parse_address (&dhcp->lprservers, value, "LPRSERVER");
+ else if (strcmp (var, "LOGSERVER") == 0)
+ parse_address (&dhcp->logservers, value, "LOGSERVER");
+ else if (strcmp (var, "NETBIOSNAMESERVER") == 0)
+ parse_address (&dhcp->netbiosnameservers, value, "NETBIOSNAMESERVER");
+ else if (strcmp (var, "NETBIOSDDSERVER") == 0)
+ parse_address (&dhcp->netbiosddservers, value, "NETBIOSDDSERVER");
next:
free (line);
Nur in dhcpcd-3.1.9: mk.
++++++ dhcpcd-3.1.9-ntp-runtime-servers.diff ++++++
--- dhcpcd-3.1.9-suse/configure.c 2008-03-26 16:27:27.000000000 +0100
+++ dhcpcd-3.1.9-NTP/configure.c 2008-04-18 13:25:57.000000000 +0200
@@ -451,6 +451,41 @@
}
#ifdef ENABLE_NTP
+#ifdef NTP_RUNTIME_SERVERS
+static int make_runtime_ntp (const char *ifname, const dhcp_t *dhcp)
+{
+ int retval = 0;
+ address_t *address;
+ char *a;
+ char *b;
+ char servers[4096] = {'\0'};
+ char buf_pid[16];
+ char file[1024];
+ FILE *f;
+
+ b = servers;
+ snprintf(buf_pid, sizeof(buf_pid), "%d", getpid());
+ size_t len = strlen(NTP_RUNTIME_SERVERS) + strlen(ifname) - 1;
+ snprintf(file,len,NTP_RUNTIME_SERVERS,ifname);
+ logger (LOG_DEBUG, "ntp server file %s", file, strerror (errno));
+
+ if (! (f = fopen (file, "w")))
+ {
+ logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno));
+ return -1;
+ }
+
+ char ipaddr4[INET_ADDRSTRLEN] = {'\0'};
+ for (address = dhcp->ntpservers; address; address = address->next)
+ {
+ if(inet_ntop(AF_INET, address, ipaddr4, sizeof(ipaddr4))) { snprintf(servers + strlen(servers), sizeof(servers) - strlen(servers), "%s%s", (*servers ? " " : ""), ipaddr4); }
+ }
+ fprintf(f,NTP_RUNTIME_INFO,buf_pid,servers);
+ fclose(f);
+ retval = exec_cmd("/etc/init.d/ntp", "try-restart", (char *) NULL);
+ return retval;
+}
+#else
static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp)
{
FILE *f;
@@ -580,6 +618,7 @@
return retval;
}
#endif
+#endif
#ifdef ENABLE_NIS
#define PREFIXSIZE 256
@@ -883,8 +922,12 @@
#ifdef ENABLE_NTP
if (options->dontp && dhcp->ntpservers)
+#ifdef NTP_RUNTIME_SERVERS
+ make_runtime_ntp(iface->name, dhcp);
+#else
make_ntp(iface->name, dhcp);
#endif
+#endif
#ifdef ENABLE_NIS
if (options->donis && (dhcp->nisservers || dhcp->nisdomain))
--- dhcpcd-3.1.9-suse/configure.h 2008-03-20 14:45:26.000000000 +0100
+++ dhcpcd-3.1.9-NTP/configure.h 2008-04-18 13:28:04.000000000 +0200
@@ -32,6 +32,21 @@
#include "interface.h"
#include "dhcp.h"
+#define NTP_RUNTIME_SERVERS "/dev/shm/sysconfig/ntp/runtime-servers.%s"
+
+#define NTP_RUNTIME_INFO "### BEGIN INFO\n\
+#\n\
+# Modified_by: dhcpcd\n\
+# Process: /sbin/dhcpcd\n\
+# Process_id: %s\n\
+#\n\
+# Info: This is a temporary autogenerated config by the NTP init script.\n\
+# In the case of a restart these infomrmations are used to\n\
+# configure ntpd during runtime.\n\
+### END INFO\n\
+RUNTIME_SERVERS=\"%s\"\n\
+"
+
#define MODIFY_RESOLVCONF "/sbin/modify_resolvconf"
#define RESOLVCONF_INFO "\
++++++ dhcpcd-3.1.9-set-route.diff ++++++
diff -u dhcpcd-3.1.9/configure.c dhcpcd-3.1.9-SET-ROUTE/configure.c
--- dhcpcd-3.1.9/configure.c 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-SET-ROUTE/configure.c 2008-03-31 14:53:31.000000000 +0200
@@ -532,6 +532,15 @@
&& ! options->dogateway)
continue;
+ /*If the gateway address is not in our network we have to set a route for it */
+ if ((route->gateway.s_addr & dhcp->netmask.s_addr ) != ( dhcp->address.s_addr & dhcp->netmask.s_addr ))
+ {
+ struct in_addr tg;
+ memset (&tg, 0, sizeof (tg));
+ struct in_addr tn; tn.s_addr = INADDR_BROADCAST;
+ remember = add_route (iface->name, route->gateway, tg, tn, options->metric);
+ }
+
remember = add_route (iface->name, route->destination,
route->netmask, route->gateway,
options->metric);
Nur in dhcpcd-3.1.9: .gitignore.
Nur in dhcpcd-3.1.9: mk.
++++++ dhcpcd-3.1.9-suse.diff ++++++
diff -u dhcpcd-3.1.9/configure.c dhcpcd-3.1.9-suse/configure.c
--- dhcpcd-3.1.9/configure.c 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/configure.c 2008-03-26 16:27:27.000000000 +0100
@@ -29,6 +29,7 @@
#include
#include
#include
+#include
#include
@@ -43,6 +44,7 @@
#include
#include
#include
+#include
#include "config.h"
#include "common.h"
@@ -143,11 +145,234 @@
#endif
}
-static int make_resolv (const char *ifname, const dhcp_t *dhcp)
+
+struct search_node_t {
+ struct search_node_t *next;
+ char *str;
+};
+struct search_list_t {
+ struct search_node_t *head;
+ struct search_node_t *tail;
+};
+
+static struct search_list_t *search_list_init()
+{
+ struct search_list_t *list;
+ list = xmalloc(sizeof(struct search_list_t));
+ if(list) {
+ list->head = NULL;
+ list->tail = NULL;
+ }
+ return list;
+}
+
+static void search_list_clear(struct search_list_t *list)
+{
+ struct search_node_t *tmp;
+ if(list) {
+ while( list && list->head) {
+ tmp = list->head;
+ list->head = tmp->next;
+ free(tmp->str);
+ free(tmp);
+ }
+ list->head = NULL;
+ list->tail = NULL;
+ }
+}
+
+static void search_list_free(struct search_list_t *list)
+{
+ if( list) {
+ search_list_clear(list);
+ free(list);
+ }
+}
+
+static void search_list_append(struct search_list_t *list,
+ const char *str, size_t len)
+{
+ struct search_node_t *tmp;
+ if( list && str && len) {
+ for(tmp = list->head; tmp && tmp->str; tmp = tmp->next) {
+ if(strlen(tmp->str) == len &&
+ strncmp(tmp->str, str, len) == 0)
+ return;
+ }
+
+ tmp = xmalloc(sizeof(struct search_node_t));
+ if(tmp) {
+ tmp->next = NULL;
+ tmp->str = malloc(len + 1);
+ if( !tmp->str) {
+ free(tmp);
+ return;
+ }
+ strncpy(tmp->str, str, len);
+ tmp->str[len] = '\0';
+
+ if(list->tail) {
+ list->tail->next = tmp;
+ list->tail = tmp;
+ } else {
+ list->tail = tmp;
+ list->head = tmp;
+ }
+ }
+ }
+}
+
+static void search_list_parse(struct search_list_t *list, const char *str)
+{
+ if(str && list) {
+ size_t len;
+ const char *beg;
+ const char *ptr;
+
+ while(*str && isspace(*str)) str++;
+ ptr = str + strlen(str);
+ while(ptr > str && isspace(*(ptr-1)))
+ ptr--;
+ len = ptr - str;
+ beg = str;
+ while( (size_t)(beg - str) < len) {
+ ptr = strchr(beg, ' ');
+ if(ptr) {
+ search_list_append(list, beg, ptr - beg);
+ while(*ptr && *ptr == ' ') ptr++;
+ beg = ptr;
+ } else {
+ search_list_append(list, beg, strlen(beg));
+ len = 0;
+ }
+ }
+ }
+}
+
+static void read_resolv(struct search_list_t *old_searchlist)
+{
+ char s[1025] = {'\0'};
+ FILE *f = NULL;
+
+ if(!old_searchlist)
+ return;
+
+ f = fopen(RESOLVFILE,"r");
+ if( f ) {
+ while( fgets( s, sizeof(s)-1, f) ) {
+ if( ! strncmp(s,"search",sizeof("search")-1)) {
+ *(s + strlen(s)-1) = '\0';
+
+ /* use last search line */
+ if(old_searchlist)
+ search_list_clear(old_searchlist);
+
+ search_list_parse(old_searchlist, s + sizeof("search"));
+ }
+ }
+ fclose(f);
+ }
+}
+
+static int make_resolv (const char *ifname, const dhcp_t *dhcp,
+ struct search_list_t *old_searchlist)
{
- FILE *f = NULL;
address_t *address;
+#ifdef MODIFY_RESOLVCONF
+ const char *cmdline[20];
+ int a;
+ int ret;
+ char buf_pid[16];
+ char buf_searchlist[512] = {'\0'};
+ char buf_nameserver[512] = {'\0'};
+ struct search_list_t *new_searchlist = search_list_init();
+ struct search_node_t *tmp;
+
+ a = 0;
+ cmdline[a++] = MODIFY_RESOLVCONF;
+ cmdline[a++] = "modify";
+ cmdline[a++] = "-s";
+ cmdline[a++] = PACKAGE;
+ cmdline[a++] = "-p";
+ cmdline[a++] = PACKAGE;
+ cmdline[a++] = "-i";
+ snprintf(buf_pid, sizeof(buf_pid), "%d", getpid());
+ cmdline[a++] = buf_pid;
+
+ if (dhcp->dnssearch)
+ {
+ search_list_parse(new_searchlist, dhcp->dnssearch);
+ }
+ else
+ if (dhcp->dnsdomain)
+ {
+ search_list_parse(new_searchlist, dhcp->dnsdomain);
+ }
+ if (old_searchlist)
+ {
+ for(tmp = old_searchlist->head; tmp && tmp->str; tmp = tmp->next) {
+ search_list_append(new_searchlist, tmp->str, strlen(tmp->str));
+ }
+ }
+ if (new_searchlist)
+ {
+ for(tmp = new_searchlist->head; tmp && tmp->str; tmp = tmp->next) {
+ snprintf(buf_searchlist + strlen(buf_searchlist),
+ sizeof(buf_searchlist) - strlen(buf_searchlist),
+ "%s%s", (*buf_searchlist ? " " : ""), tmp->str);
+ }
+ }
+ if (*buf_searchlist)
+ {
+ cmdline[a++] = "-l";
+ cmdline[a++] = buf_searchlist;
+ }
+
+ for (address = dhcp->dnsservers; address; address = address->next)
+ {
+ snprintf(buf_nameserver + strlen(buf_nameserver),
+ sizeof(buf_nameserver) - strlen(buf_nameserver),
+ "%s%s", (*buf_nameserver ? " " : ""),
+ inet_ntoa (address->address));
+ }
+ if (*buf_nameserver)
+ {
+ cmdline[a++] = "-n";
+ cmdline[a++] = buf_nameserver;
+ }
+ cmdline[a++] = "-f";
+ cmdline[a++] = MODIFY_RESOLVCONF;
+ cmdline[a++] = "-e";
+ cmdline[a++] = ifname;
+ cmdline[a++] = "-t";
+ cmdline[a++] = RESOLVCONF_INFO;
+ cmdline[a++] = NULL;
+
+ {
+ int child = fork();
+ if (child == 0)
+ {
+ execv(MODIFY_RESOLVCONF, cmdline);
+ _exit(127);
+ }
+ if (child > 0)
+ {
+ int err;
+ do
+ err = waitpid(child, &ret, 0);
+ while (err == -1 && errno == EINTR);
+ }
+ else
+ {
+ logger (LOG_ERR, "Can not modify resolv.conf via MODIFY_RESOLVCONF: %s",
+ strerror (errno));
+ }
+ }
+
+#else
+ FILE *f = NULL;
+
#ifdef ENABLE_RESOLVCONF
char *resolvconf = NULL;
@@ -190,7 +415,7 @@
else
#endif
fclose (f);
-
+#endif
/* Refresh the local resolver */
res_init ();
return (0);
@@ -198,7 +423,26 @@
static void restore_resolv (const char *ifname)
{
-#ifdef ENABLE_RESOLVCONF
+#ifdef MODIFY_RESOLVCONF
+ int child = fork();
+ int ret;
+ if (child == 0)
+ {
+ execl(MODIFY_RESOLVCONF, MODIFY_RESOLVCONF, "restore", "-s", PACKAGE, "-e", ifname, NULL);
+ _exit(127);
+ }
+ if (child > 0)
+ {
+ int status;
+ do
+ status = waitpid(child, &ret, 0);
+ while (status == -1 && errno == EINTR);
+ }
+ else
+ {
+ logger (LOG_ERR, "Can not restore resolv.conf via MODIFY_RESOLVCONF: %s", strerror (errno));
+ }
+#elif defined ENABLE_RESOLVCONF
if (file_in_path ("resolvconf") == 0) {
logger (LOG_DEBUG, "removing information from resolvconf");
exec_cmd("resolvconf", "-d", ifname, (char *) NULL);
@@ -339,7 +583,7 @@
#ifdef ENABLE_NIS
#define PREFIXSIZE 256
-static int make_nis (const char *ifname, const dhcp_t *dhcp)
+static int make_nis (const char *ifname, const dhcp_t *dhcp, const options_t *options)
{
FILE *f;
address_t *address;
@@ -356,7 +600,7 @@
fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname);
if (dhcp->nisdomain) {
- setdomainname (dhcp->nisdomain, strlen (dhcp->nisdomain));
+ if( options->donisdom) setdomainname (dhcp->nisdomain, strlen (dhcp->nisdomain));
if (dhcp->nisservers)
snprintf (prefix, PREFIXSIZE, "domain %s server", dhcp->nisdomain);
@@ -624,7 +868,16 @@
iface->previous_routes = new_routes;
if (options->dodns && dhcp->dnsservers)
- make_resolv(iface->name, dhcp);
+ {
+ struct search_list_t *old_searchlist = search_list_init();
+ if( options->keepsearch )
+ read_resolv(old_searchlist);
+
+ make_resolv(iface->name, dhcp, old_searchlist);
+
+ if(old_searchlist)
+ search_list_free(old_searchlist);
+ }
else
logger (LOG_DEBUG, "no dns information to write");
@@ -635,7 +888,7 @@
#ifdef ENABLE_NIS
if (options->donis && (dhcp->nisservers || dhcp->nisdomain))
- make_nis(iface->name, dhcp);
+ make_nis(iface->name, dhcp, options);
#endif
curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN);
diff -u dhcpcd-3.1.9/configure.h dhcpcd-3.1.9-suse/configure.h
--- dhcpcd-3.1.9/configure.h 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/configure.h 2008-03-20 14:45:26.000000000 +0100
@@ -32,6 +32,19 @@
#include "interface.h"
#include "dhcp.h"
+#define MODIFY_RESOLVCONF "/sbin/modify_resolvconf"
+
+#define RESOLVCONF_INFO "\
+If you don't like dhcpcd to change your nameserver settings \n\
+then either set DHCLIENT_MODIFY_RESOLV_CONF=no in \n\
+/etc/sysconfig/network/dhcp, or set \n\
+MODIFY_RESOLV_CONF_DYNAMICALLY=no in /etc/sysconfig/network/config\n\
+or (manually) use dhcpcd with -R. \n\
+If you only want to keep your searchlist, set \n\
+DHCLIENT_KEEP_SEARCHLIST=yes in \n\
+/etc/sysconfig/network/dhcp or (manually) use \n\
+the -K option."
+
int configure (const options_t *options, interface_t *iface,
const dhcp_t *dhcp, bool up);
diff -u dhcpcd-3.1.9/dhcpcd.8.in dhcpcd-3.1.9-suse/dhcpcd.8.in
--- dhcpcd-3.1.9/dhcpcd.8.in 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/dhcpcd.8.in 2008-03-20 14:45:26.000000000 +0100
@@ -279,6 +279,15 @@
uses the MAC address of the network interface. If \fB-I\fR is not given
an option then we use the MAC address of the network interface.
.TP
+.BI \-K
+Keep the searchlist from an existing resolv.conf when replacing the file.
+.B dhcpcd
+will add it to the domainname received from the DHCP server.
+.TP
+.BI \-D
+Forces
+.B dhcpcd
+to set domainname of the host to the domainname option supplied by DHCP server.
.BI \-L
Prevents dhcpcd from probing for IPV4LL addresses. IPV4LL is otherwise
known as ZeroConf or APIPA and is \fBRFC 3927\fR.
diff -u dhcpcd-3.1.9/dhcpcd.c dhcpcd-3.1.9-suse/dhcpcd.c
--- dhcpcd-3.1.9/dhcpcd.c 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/dhcpcd.c 2008-03-26 14:39:58.000000000 +0100
@@ -84,8 +84,10 @@
{"nomtu", no_argument, NULL, 'M'},
{"nontp", no_argument, NULL, 'N'},
{"nodns", no_argument, NULL, 'R'},
+ {"keepsearch", no_argument, NULL, 'K'},
{"test", no_argument, NULL, 'T'},
{"nonis", no_argument, NULL, 'Y'},
+ {"nonisdom", no_argument, NULL, 'D'},
{"help", no_argument, &dohelp, 1},
{"version", no_argument, &doversion, 1},
#ifdef THERE_IS_NO_FORK
@@ -139,7 +141,7 @@
static void usage (void)
{
- printf ("usage: "PACKAGE" [-adknpEGHMNRTY] [-c script] [-h hostname] [-i classID]\n"
+ printf ("usage: "PACKAGE" [-adknpEGHMNRTYDK] [-c script] [-h hostname] [-i classID]\n"
" [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n"
" [-t timeout] [-u userclass] [-F none | ptr | both]\n"
" [-I clientID] <interface>\n");
@@ -171,10 +173,12 @@
snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", PACKAGE, VERSION);
options->classid_len = strlen (options->classid);
+ options->keepsearch = false;
options->doarp = true;
options->dodns = true;
options->domtu = true;
options->donis = true;
+ options->donisdom = false;
options->dontp = true;
options->dogateway = true;
options->daemonise = true;
@@ -190,7 +194,7 @@
/* Don't set any optional arguments here so we retain POSIX
* compatibility with getopt */
while ((opt = getopt_long(argc, argv, EXTRA_OPTS
- "c:dh:i:kl:m:npr:s:t:u:xAEF:GHI:LMNRTY",
+ "c:dh:i:kl:m:npr:s:t:u:xAEF:GHI:LMNRTYDK",
longopts, &option_index)) != -1)
{
switch (opt) {
@@ -383,6 +387,10 @@
case 'R':
options->dodns = false;
break;
+ case 'K':
+ options->keepsearch = true;
+ break;
+
case 'T':
#ifndef ENABLE_INFO
logger (LOG_ERR, "info support not compiled into dhcpcd");
@@ -394,6 +402,9 @@
case 'Y':
options->donis = false;
break;
+ case 'D':
+ options->donisdom = true;
+ break;
case '?':
usage ();
exit (EXIT_FAILURE);
diff -u dhcpcd-3.1.9/dhcpcd.h dhcpcd-3.1.9-suse/dhcpcd.h
--- dhcpcd-3.1.9/dhcpcd.h 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/dhcpcd.h 2008-03-26 14:35:50.000000000 +0100
@@ -72,11 +72,13 @@
int dohostname;
bool domtu;
bool donis;
+ bool donisdom;
bool dontp;
bool dolastlease;
bool doinform;
bool dorequest;
bool doipv4ll;
+ bool keepsearch;
struct in_addr request_address;
struct in_addr request_netmask;
diff -u dhcpcd-3.1.9/Makefile dhcpcd-3.1.9-suse/Makefile
--- dhcpcd-3.1.9/Makefile 2008-01-09 16:51:04.000000000 +0100
+++ dhcpcd-3.1.9-suse/Makefile 2008-03-20 14:45:26.000000000 +0100
@@ -32,4 +32,4 @@
echo "#define VERSION \"${VERSION}\""> version.h
dhcpcd.8: dhcpcd.8.in
- sed 's:%%INFODIR%%:${INFOD}:g' dhcpcd.8.in > dhcpcd.8
+ sed 's#%%INFODIR%%#${INFOD}#g' dhcpcd.8.in > dhcpcd.8
Gemeinsame Unterverzeichnisse: dhcpcd-3.1.9/mk und dhcpcd-3.1.9-suse/mk.
++++++ dhcpcd-1.3.22pl4.tar.bz2 -> dhcpcd-3.1.9.tar.bz2 ++++++
++++ 24659 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org