Hello community,
here is the log from the commit of package dhcp
checked in at Sat Sep 13 00:24:41 CEST 2008.
--------
--- dhcp/dhcp.changes 2008-08-22 13:34:24.000000000 +0200
+++ dhcp/dhcp.changes 2008-09-12 17:01:06.000000000 +0200
@@ -1,0 +2,36 @@
+Fri Sep 12 16:58:22 CEST 2008 - mt@suse.de
+
+- Removed one of two option_state_dereference calls in dhclient.c
+ causing null pointer messages (not critical) in the log.
+- Fixed a forgotten fi typo in the dhclient-script
+
+-------------------------------------------------------------------
+Mon Sep 8 18:29:00 CEST 2008 - mt@suse.de
+
+- Updated to dhcp-3.1.1, providing following major new features
+ compared to its 3.0.x derivative:
+ * A significantly enhanced Failover protocol implementation,
+ which:
+ + Implements MAC Address Affinity to reduce the frequency
+ of clients being assigned new IP addresses;
+ + Supports the assignment of failover-protected addresses
+ to legacy BOOTP clients;
+ + Implements a dynamic lease reservation system that provides
+ improved accounting of the use of fixed address assignments,
+ by allocating fixed addresses out of the pool of dynamic leases
+ + Improves tools and reduces operator oversight necessary for
+ maintaining a functioning system.
+ * Support for DHCP leasequery, and the VIVCO/VIVSO options, which
+ makes easy and comfortable integration with DOCSIS devices and
+ the environment in which they are used.
+ * Management of class and subclass statements via OMAPI
+ * Several server configuration options related to dynamic DNS
+ behavior
+ * Other new configuration functions, including "execute()",
+ which runs a shell command from within a dhcpd or dhclient
+ configuration file
+ For a full list of new features added in this release, please
+ observe the changes list.
+- Adopted/merged patches, dropped obsolete dhcdbd (NM) patches.
+
+-------------------------------------------------------------------
Old:
----
dhclient.c.dif
dhcp-3.0.2-extended_option_environment.patch
dhcp-3.0.3b1-pie.dif
dhcp-3.0.3-dhclient-script-dhcdbd.patch
dhcp-3.0.3-man.dif
dhcp-3.0.5-ldap-patch.gz
dhcp-3.0.5-tmpfile.dif
dhcp-3.0.6-dhclient-conf-no-script.patch
dhcp-3.0.6-dhclient-conf-requests.patch
dhcp-3.0.6-dhclient-conf-requires.patch
dhcp-3.0.6-dhclient-exec-filedes.dif
dhcp-3.0.6-dhclient-script-default-gw.patch
dhcp-3.0.6-dhclient-script-ntp-runtime.patch
dhcp-3.0.6-dhclient-script-sethostname.patch
dhcp-3.0.7-dhclient-script-netconfig.dif
dhcp-3.0.7-dhclient-script-skip-ifconfig-down.dif
dhcp-3.0.7.tar.gz
dhcp-3.0.7.tar.gz.asc
dhcp-3.0b2pl18.paranoia.dif
dhcp-3.0b2pl24.resolv.conf.dif
dhcp-3.0rc10.dif
dhcp-send-hostname-rml.patch
makefile.diff
test.c.dif
New:
----
dhcp-3.0.5-ldap-patch_3.1.1.bz2
dhcp-3.1.1-dhclient-conf.dif
dhcp-3.1.1-dhclient-exec-filedes.dif
dhcp-3.1.1-dhclient-no-dereference-twice.dif
dhcp-3.1.1-dhclient-script.dif
dhcp-3.1.1-dhclient-send-hostname-rml.dif
dhcp-3.1.1-dhclient-use-script-cmdline.dif
dhcp-3.1.1-man-includes.dif
dhcp-3.1.1-omapi-test.c.dif
dhcp-3.1.1-paranoia.dif
dhcp-3.1.1-paths.dif
dhcp-3.1.1-pie.dif
dhcp-3.1.1.tar.gz
dhcp-3.1.1.tar.gz.asc
dhcp-3.1.1-tmpfile.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dhcp.spec ++++++
--- /var/tmp/diff_new_pack.V12795/_old 2008-09-13 00:16:59.000000000 +0200
+++ /var/tmp/diff_new_pack.V12795/_new 2008-09-13 00:16:59.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package dhcp (Version 3.0.7)
+# spec file for package dhcp (Version 3.1.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -26,12 +26,12 @@
%if %{?with_casa:%with_casa}
BuildRequires: CASA-devel
%endif
-BuildRequires: openldap2-devel
+BuildRequires: dos2unix openldap2-devel
License: BSD 3-Clause
Group: Productivity/Networking/Boot/Servers
AutoReqProv: on
-Version: 3.0.7
-Release: 1
+Version: 3.1.1
+Release: 2
Summary: Common Files Used by ISC DHCP Software
Url: http://www.isc.org/isc/dhcp.html
Source0: http://ftp.isc.org/isc/dhcp/dhcp-%{version}.tar.gz
@@ -56,48 +56,34 @@
Source41: http://www.suse.de/~poeml/dnscompr.py
Source42: dhcpd.xml
Source43: SuSEfirewall2.dhcp-server
-## adjust some paths
-Patch: dhcp-3.0rc10.dif
+Patch0: dhcp-3.1.1-paths.dif
## chroot patch by Ari Edelkind (see readme)
## and patch supplied by
-Patch1: dhcp-3.0b2pl18.paranoia.dif
-## add missing include
-Patch2: test.c.dif
-## improve resolv.conf handling:
-Patch31: dhcp-3.0b2pl24.resolv.conf.dif
-Patch32: dhclient.c.dif
-## duplicate stdin, stdout and stderr for dhclient childs
-Patch40: dhcp-3.0.6-dhclient-exec-filedes.dif
-## other stuff
-Patch41: makefile.diff
-Patch51: dhcp-3.0.5-tmpfile.dif
-Patch52: dhcp-3.0.3-man.dif
+Patch1: dhcp-3.1.1-paranoia.dif
+Patch2: dhcp-3.1.1-omapi-test.c.dif
+Patch3: dhcp-3.1.1-man-includes.dif
+Patch4: dhcp-3.1.1-tmpfile.dif
## LDAP support for DHCP server
## patch lives here: http://home.ntelos.net/~masneyb/
%define DHCPD_LDAP 1
%if %DHCPD_LDAP
-Patch60: dhcp-3.0.5-ldap-patch.gz
-Patch61: dhcp-3.0.5-ldap-patch_object-order.dif
-Patch62: dhcp-3.0.5-ldap-patch_server_dn.dif
-Patch63: dhcp-3.0.5-ldap-patch_host_brace.dif
-Patch64: dhcp-3.0.6-ldap-patch_hwaddr-icase.dif
-Patch65: dhcp-3.0.6-ldap-patch_external-dn.diff
+Patch10: dhcp-3.0.5-ldap-patch_3.1.1.bz2
+Patch11: dhcp-3.0.5-ldap-patch_object-order.dif
+Patch12: dhcp-3.0.5-ldap-patch_server_dn.dif
+Patch13: dhcp-3.0.5-ldap-patch_host_brace.dif
+Patch14: dhcp-3.0.6-ldap-patch_hwaddr-icase.dif
+Patch15: dhcp-3.0.6-ldap-patch_external-dn.diff
%endif
%if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930
-Patch70: dhcp-3.0.3b1-pie.dif
+Patch30: dhcp-3.1.1-pie.dif
%endif
-# Add support for dhcdbd
-Patch80: dhcp-3.0.2-extended_option_environment.patch
-Patch81: dhcp-3.0.3-dhclient-script-dhcdbd.patch
-Patch82: dhcp-3.0.6-dhclient-script-ntp-runtime.patch
-Patch83: dhcp-3.0.6-dhclient-script-default-gw.patch
-Patch84: dhcp-send-hostname-rml.patch
-Patch85: dhcp-3.0.6-dhclient-conf-requests.patch
-Patch86: dhcp-3.0.6-dhclient-conf-no-script.patch
-Patch87: dhcp-3.0.6-dhclient-conf-requires.patch
-Patch88: dhcp-3.0.6-dhclient-script-sethostname.patch
-Patch89: dhcp-3.0.7-dhclient-script-skip-ifconfig-down.dif
-Patch90: dhcp-3.0.7-dhclient-script-netconfig.dif
+Patch40: dhcp-3.1.1-dhclient-exec-filedes.dif
+Patch41: dhcp-3.1.1-dhclient-send-hostname-rml.dif
+Patch42: dhcp-3.1.1-dhclient-use-script-cmdline.dif
+Patch43: dhcp-3.1.1-dhclient-no-dereference-twice.dif
+Patch50: dhcp-3.1.1-dhclient-conf.dif
+Patch60: dhcp-3.1.1-dhclient-script.dif
+##
Obsoletes: dhcp-base
Provides: dhcp-base:/usr/bin/omshell
PreReq: /bin/touch /sbin/chkconfig
@@ -205,37 +191,30 @@
%prep
%setup -q -n %{name}-%{version}
-%patch0 -p0 -b ".paths"
+##
+%patch0 -p0
%patch1 -p0
-%patch2
-%patch31 -p1
-%patch32 -p1
-%patch40
-%patch41
-%patch51 -p1
-%patch52 -p1
+%patch2 -p0
+%patch3 -p0
+%patch4 -p0
%if %DHCPD_LDAP
-%patch60 -p1
-%patch61 -p0
-%patch62 -p0
-%patch63 -p0
-%patch64 -p0
-%patch65 -p0
+%patch10 -p1
+%patch11 -p0
+%patch12 -p0
+%patch13 -p0
+%patch14 -p0
+%patch15 -p0
%endif
%if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930
-%patch70
+%patch30 -p0
%endif
-%patch80 -p1
-%patch81 -p1
-%patch82 -p1
-%patch83 -p1
-%patch84 -p1
-%patch85 -p1
-%patch86 -p1
-%patch87 -p1
-%patch88 -p1
-%patch89 -p0
-%patch90 -p0
+%patch40 -p0
+%patch41 -p0
+%patch42 -p0
+%patch43 -p0
+%patch50 -p0
+%patch60 -p0
+##
find . -type f -name \*.cat\* -exec rm -f {} \;
cp -p %{S:2} %{S:3} %{S:11} %{S:12} %{S:14} %{S:32} %{S:33} .
for i in README LIESMICH; do
@@ -245,6 +224,7 @@
cp -p $RPM_SOURCE_DIR/DDNS-howto.txt .
echo "exec /usr/bin/genDDNSkey \"$@\"" > genDDNSKey.sh
tar xzf $RPM_SOURCE_DIR/examples.tar.gz
+dos2unix contrib/ms2isc/*
%build
export CFLAGS
@@ -252,9 +232,10 @@
%if %{?with_casa:%with_casa}
CFLAGS="$CFLAGS -DLDAP_CASA_AUTH"
%endif
-%ifarch ia64 sparc64 alpha s390x ppc64 x86_64
- CFLAGS="$CFLAGS -DPTRSIZE_64BIT"
-%endif
+# seems obsolete (redefined reports) => double check
+#%ifarch ia64 sparc64 alpha s390x ppc64 x86_64
+# CFLAGS="$CFLAGS -DPTRSIZE_64BIT"
+#%endif
%ifarch ppc ppc64 s390x
# bugs 134590, 171532
CFLAGS="$CFLAGS -fsigned-char"
@@ -315,6 +296,7 @@
install -m 644 sysconfig.dhcpd $RPM_BUILD_ROOT/var/adm/fillup-templates/
install -m 644 sysconfig.syslog-dhcpd $RPM_BUILD_ROOT/var/adm/fillup-templates/
install -m 644 sysconfig.dhcrelay $RPM_BUILD_ROOT/var/adm/fillup-templates/
+rm -f $RPM_BUILD_ROOT/var/lib/dhcp/dhcpd.leases
touch $RPM_BUILD_ROOT/var/lib/dhcp/dhclient.leases
install -m 644 client/dhclient.conf $RPM_BUILD_ROOT/etc/dhclient.conf
sed '/^max-lease-time/ a \
@@ -504,6 +486,36 @@
%doc %{_mandir}/man3/dhcpctl.3.gz
%changelog
+* Fri Sep 12 2008 mt@suse.de
+- Removed one of two option_state_dereference calls in dhclient.c
+ causing null pointer messages (not critical) in the log.
+- Fixed a forgotten fi typo in the dhclient-script
+* Mon Sep 08 2008 mt@suse.de
+- Updated to dhcp-3.1.1, providing following major new features
+ compared to its 3.0.x derivative:
+ * A significantly enhanced Failover protocol implementation,
+ which:
+ + Implements MAC Address Affinity to reduce the frequency
+ of clients being assigned new IP addresses;
+ + Supports the assignment of failover-protected addresses
+ to legacy BOOTP clients;
+ + Implements a dynamic lease reservation system that provides
+ improved accounting of the use of fixed address assignments,
+ by allocating fixed addresses out of the pool of dynamic leases
+ + Improves tools and reduces operator oversight necessary for
+ maintaining a functioning system.
+ * Support for DHCP leasequery, and the VIVCO/VIVSO options, which
+ makes easy and comfortable integration with DOCSIS devices and
+ the environment in which they are used.
+ * Management of class and subclass statements via OMAPI
+ * Several server configuration options related to dynamic DNS
+ behavior
+ * Other new configuration functions, including "execute()",
+ which runs a shell command from within a dhcpd or dhclient
+ configuration file
+ For a full list of new features added in this release, please
+ observe the changes list.
+- Adopted/merged patches, dropped obsolete dhcdbd (NM) patches.
* Fri Aug 22 2008 mt@suse.de
- Adopted dhclient-script and manual page to use /sbin/netconfig
that is replacing the modify_resolvconf mechanizm by default.
++++++ dhcp-3.0.5-ldap-patch_3.1.1.bz2 ++++++
++++ 5652 lines (skipped)
++++++ dhcp-3.1.1-dhclient-conf.dif ++++++
--- client/dhclient.conf
+++ client/dhclient.conf 2008/09/08 14:57:18
@@ -1,36 +1,46 @@
-send host-name "andare.fugue.com";
-send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
+#
+# /etc/dhclient.conf -- dhclient configuration file
+# see "man dhclient.conf" for further details
+#
+
+######################################################
+# Sometimes, a special configuration is required for
+# e.g. Cable Modem providers (@Home -- TCI).
+# For example, it may be required to send out a special
+# dhcp-client-identifier or to override some settings.
+#
+# Uncomment and fill in the appropriate settings:
+#
+#send dhcp-client-identifier "c32423-a"
+# or as hex octets
+#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
+#
+#send host-name "andare.fugue.com";
+#
+#supersede domain-name "fugue.com home.vix.com";
+#prepend domain-name-servers 127.0.0.1;
+#
+#####################################################
+
send dhcp-lease-time 3600;
-supersede domain-name "fugue.com home.vix.com";
-prepend domain-name-servers 127.0.0.1;
-request subnet-mask, broadcast-address, time-offset, routers,
- domain-name, domain-name-servers, host-name;
-require subnet-mask, domain-name-servers;
+
+# Request several well known/usefull dhcp options.
+request subnet-mask, broadcast-address, routers,
+ host-name, domain-name, domain-name-servers,
+ nis-domain, nis-servers, netbios-name-servers,
+ ntp-servers, time-offset;
+
+# We request above options, require only the IP configuration:
+require subnet-mask;
+# All another options (DNS, NTP, NIS, ...) are applied using
+# netconfig(8) modules.
+
+# To enforce the availability of the dns server list, set to:
+#require subnet-mask, domain-name-servers;
+
timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;
-script "/etc/dhclient-script";
-media "-link0 -link1 -link2", "link0 link1";
-reject 192.33.137.209;
-
-alias {
- interface "ep0";
- fixed-address 192.5.5.213;
- option subnet-mask 255.255.255.255;
-}
-
-lease {
- interface "ep0";
- fixed-address 192.33.137.200;
- medium "link0 link1";
- option host-name "andare.swiftmedia.com";
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.33.137.255;
- option routers 192.33.137.250;
- option domain-name-servers 127.0.0.1;
- renew 2 2000/1/12 00:00:01;
- rebind 2 2000/1/12 00:00:01;
- expire 2 2000/1/12 00:00:01;
-}
+
++++++ dhcp-3.0.6-dhclient-exec-filedes.dif -> dhcp-3.1.1-dhclient-exec-filedes.dif ++++++
--- dhcp/dhcp-3.0.6-dhclient-exec-filedes.dif 2007-07-30 13:07:22.000000000 +0200
+++ dhcp/dhcp-3.1.1-dhclient-exec-filedes.dif 2008-09-08 11:27:24.000000000 +0200
@@ -1,6 +1,6 @@
--- client/dhclient.c
-+++ client/dhclient.c 2007/07/19 12:35:45
-@@ -2629,6 +2629,12 @@
++++ client/dhclient.c 2008/09/08 09:27:16
+@@ -2659,6 +2659,12 @@ int script_go (client)
*/
if (leaseFile != NULL)
fclose(leaseFile);
++++++ dhcp-3.1.1-dhclient-no-dereference-twice.dif ++++++
--- client/dhclient.c
+++ client/dhclient.c 2008/09/12 11:37:53
@@ -2156,7 +2156,6 @@
(struct option_state *)0, options,
&global_scope, 0, 0, 0, (struct data_string *)0,
client -> config -> vendor_space_name);
- option_state_dereference (&options, MDL);
if (client -> packet_length < BOOTP_MIN_LEN)
client -> packet_length = BOOTP_MIN_LEN;
option_state_dereference (&options, MDL);
++++++ dhcp-3.0.7-dhclient-script-netconfig.dif -> dhcp-3.1.1-dhclient-script.dif ++++++
--- dhcp/dhcp-3.0.7-dhclient-script-netconfig.dif 2008-08-22 12:05:26.000000000 +0200
+++ dhcp/dhcp-3.1.1-dhclient-script.dif 2008-09-12 13:43:21.000000000 +0200
@@ -1,6 +1,6 @@
--- client/dhclient-script.8
-+++ client/dhclient-script.8 2008/08/22 10:05:02
-@@ -45,9 +45,10 @@ any, and also called once if no valid le
++++ client/dhclient-script.8 2008/09/12 11:42:47
+@@ -45,9 +45,10 @@
This script is not meant to be customized by the end user. If local
customizations are needed, they should be possible using the enter and
exit hooks provided (see HOOKS for details). These hooks will allow the
@@ -13,181 +13,312 @@
.PP
No standard client script exists for some operating systems, even though
the actual client may work, so a pioneering user may well need to create
-@@ -59,14 +60,46 @@ customizing
+@@ -59,12 +60,43 @@
.B ETCDIR/dhclient.conf
or using the enter and exit hooks, please submit a bug report.
.SH HOOKS
-When it starts, the client script first defines a shell function,
-.B make_resolv_conf ,
-which is later used to create the
--.B /etc/resolv.conf
--file. To override the default behaviour, redefine this function in
--the enter hook script.
+When it starts, the client script first defines several shell functions:
+.BR use_netconfig ,
+.BR netconfig_modify ,
+.BR netconfig_remove ,
+.BR make_resolv_conf ,
-+.BR make_ntp_runtime_conf ,
-+.BR restore_resolv_conf ,
+and
-+.BR remove_ntp_runtime_conf .
++.BR restore_resolv_conf .
+These functions are later used to apply DNS, NTP, YP, and other additional
+settings to the system.
+
+The
+.B use_netconfig
-+returns true (0), when the /sbin/netconfig script is supported / installed
-+and enables the use of
++returns true (0), when the /sbin/netconfig script is installed and enables
++the use of the
+.B netconfig_modify
+and
+.B netconfig_remove
-+functions. See also the netconfig(8) manual page.
++functions.
+.br
-+Otherwise, the compatibility functions
-+.BR make_resolv_conf ,
-+.BR restore_resolv_conf ,
-+.BR make_ntp_runtime_conf ,
++Otherwise, the
++.BR make_resolv_conf
+and
-+.B remove_ntp_runtime_conf
-+functions are used. The default implementation of make_resolv_conf is to
-+modify the /etc/resolv.conf file in /sbin/modify_resolvconf script
-+compatible way. The make_ntp_runtime_conf makes use of the /etc/init.d/ntp
-+init script mechanism to apply the NTP server provided by dhcp at runtime.
++.BR restore_resolv_conf
++functions are used. These functions are modified to create
++/var/lib/dhcp/resolv.conf.dhclient.$interface files only
++instead of the
+ .B /etc/resolv.conf
+-file. To override the default behaviour, redefine this function in
+-the enter hook script.
++file.
++To override the default behaviour, redefine these function in the enter
++hook script. Before you start doing this, consider to implement own
++netconfig modules.
+
+.IR Note :
-+The /sbin/modify_resolvconf script and mechanizm is obsoleted by netconfig
-+and not shipped or supported any more since openSUSE 11.1.
++Note, that since openSUSE 11.1, the modify_resolvconf script / mechanizm
++is obsoleted by netconfig and not shipped or supported any more.
++See the netconfig(8) manual page for more informations.
+
-+To override the default behaviour, redefine these functions in the enter
-+hook script.
.PP
--On after defining the make_resolv_conf function, the client script checks
-+On after defining the netconfig functions, the client script checks
+ On after defining the make_resolv_conf function, the client script checks
for the presence of an executable
- .B ETCDIR/dhclient-enter-hooks
- script, and if present, it invokes the script inline, using the Bourne
-@@ -220,8 +253,8 @@ the other. Assuming the information pr
- valid, this shouldn't cause any real problems, but it could be
+@@ -221,7 +253,7 @@
confusing.
.SH SEE ALSO
--dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
+ dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
-dhclient.leases(5).
-+dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5),
+dhclient.leases(5) and netconfig(8).
.SH AUTHOR
.B dhclient-script(8)
has been written for Internet Systems Consortium
--- client/scripts/linux
-+++ client/scripts/linux 2008/08/22 09:52:12
-@@ -57,6 +57,36 @@ if [ -n "${dhc_dbus}" ]; then
- fi;
- fi;
++++ client/scripts/linux 2008/09/12 11:43:12
+@@ -22,25 +22,87 @@
+ # 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious
+ # of the $1 in its args.
++
++# Debugging:
++#
++# logs entire run of dhclient-script to /var/log/dhclient-script,
++# if DHCLIENT_DEBUG is set in sysconfig/network/dhcp
++#
++eval `grep "^DHCLIENT_DEBUG=" /etc/sysconfig/network/dhcp`
++if [ "$DHCLIENT_DEBUG" = yes ]; then
++ set -a # allexport
++ (
++ echo '****************'
++ echo "$0 $*"
++ date
++ echo '----------------'
++ set
++ echo '----------------'
++ ) >> /var/log/dhclient-script.log
++ exec 2>> /var/log/dhclient-script.log
++ set +a
++ set -x
++fi
++
++# netconfig makes all "additional" modifications as DNS or NTP
+use_netconfig() {
-+ test -x /sbin/netconfig
++ test -x /sbin/netconfig
+}
-+
+netconfig_modify() {
-+ {
-+ echo "INTERFACE='$interface'"
-+ for v in ${!new_*}; do
-+ case $v in
-+ (new_ip_address) k='IPADDR' ;;
-+ (new_subnet_mask) k='NETMASK' ;;
-+ (new_network_number) k='NETWORK' ;;
-+ (new_broadcast_address) k='BROADCAST' ;;
-+ (new_routers) k='GATEWAYS' ;;
-+ (new_domain_name) k='DNSDOMAIN' ;;
-+ (new_domain_name_servers) k='DNSSERVERS' ;;
-+ (new_ntp_servers) k='NTPSERVERS' ;;
-+ (new_nis_domain) k='NISDOMAIN' ;;
-+ (new_nis_servers) k='NISSERVERS' ;;
-+ (new_netbios_name_servers) k='NETBIOSNAMESERVER' ;;
-+ (*) : skip $v ; continue ;;
-+ esac
-+ [ "k${k}" != k ] && echo "${k}='${!v}'"
-+ done
-+ } | /sbin/netconfig modify -s "dhclient3" -i "$interface"
++ if test -x /sbin/netconfig ; then
++ {
++ echo "INTERFACE='$interface'"
++ for v in ${!new_*}; do
++ case $v in
++ (new_ip_address) k='IPADDR' ;;
++ (new_subnet_mask) k='NETMASK' ;;
++ (new_network_number) k='NETWORK' ;;
++ (new_broadcast_address) k='BROADCAST' ;;
++ (new_routers) k='GATEWAYS' ;;
++ (new_domain_name) k='DNSDOMAIN' ;;
++ (new_domain_name_servers) k='DNSSERVERS' ;;
++ (new_ntp_servers) k='NTPSERVERS' ;;
++ (new_nis_domain) k='NISDOMAIN' ;;
++ (new_nis_servers) k='NISSERVERS' ;;
++ (new_netbios_name_servers) k='NETBIOSNAMESERVER' ;;
++ (*) : skip $v ; continue ;;
++ esac
++ [ "k${k}" != k ] && echo "${k}='${!v}'"
++ done
++ } | /sbin/netconfig modify -s "dhclient3" -i "$interface"
++ fi
+}
-+
+netconfig_remove() {
-+ /sbin/netconfig remove -s "dhclient3" -i "$interface" /etc/resolv.conf.dhclient
+- chmod 644 /etc/resolv.conf.dhclient
++ cat /dev/null > /var/lib/dhcp/resolv.conf.dhclient.$interface
++ chmod 644 /var/lib/dhcp/resolv.conf.dhclient.$interface
+ if [ x"$new_domain_search" != x ]; then
+- echo search $new_domain_search >> /etc/resolv.conf.dhclient
++ echo search $new_domain_search >> /var/lib/dhcp/resolv.conf.dhclient.$interface
+ elif [ x"$new_domain_name" != x ]; then
+ # Note that the DHCP 'Domain Name Option' is really just a domain
+ # name, and that this practice of using the domain name option as
+ # a search path is both nonstandard and deprecated.
+- echo search $new_domain_name >> /etc/resolv.conf.dhclient
++ echo search $new_domain_name >> /var/lib/dhcp/resolv.conf.dhclient.$interface
fi
-+ fi
+ for nameserver in $new_domain_name_servers; do
+- echo nameserver $nameserver >>/etc/resolv.conf.dhclient
++ echo nameserver $nameserver >> /var/lib/dhcp/resolv.conf.dhclient.$interface
+ done
+-
+- mv /etc/resolv.conf.dhclient /etc/resolv.conf
+ fi
}
++restore_resolv_conf()
++{
++ rm -f /var/lib/dhcp/resolv.conf.dhclient.$interface
++}
- make_ntp_runtime_conf() {
-@@ -313,8 +351,12 @@ if [ x$reason = xBOUND ] || [ x$reason =
+ # Must be used on exit. Invokes the local dhcp client exit hooks, if any.
+ exit_with_hooks() {
+@@ -97,7 +159,7 @@
+ if [ $relmajor -lt 2 ] || ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] )
+ then
+ ifconfig $interface inet 0.0.0.0 netmask 0.0.0.0 \
+- broadcast 255.255.255.255 up
++ broadcast 255.255.255.255 up
+ # Add route to make broadcast work. Do not omit netmask.
+ route add default dev $interface netmask 0.0.0.0
+ else
+@@ -116,38 +178,45 @@
+
+ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
+ [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
+- current_hostname=`hostname`
+- if [ x$current_hostname = x ] || \
+- [ x$current_hostname = x$old_host_name ]; then
+- if [ x$current_hostname = x ] || \
+- [ x$new_host_name != x$old_host_name ]; then
+- hostname $new_host_name
+- fi
+- fi
+-
+ if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
+- [ x$alias_ip_address != x$old_ip_address ]; then
++ [ x$alias_ip_address != x$old_ip_address ]; then
+ # Possible new alias. Remove old alias.
+ ifconfig $interface:0- inet 0
+ fi
+ if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
+ # IP address changed. Bringing down the interface will delete all routes,
+ # and clear the ARP cache.
+- ifconfig $interface inet 0 down
++ ifconfig $interface inet 0
+
+ fi
+ if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
+ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
+
+ ifconfig $interface inet $new_ip_address $new_subnet_arg \
+- $new_broadcast_arg
++ $new_broadcast_arg
+ # Add a network route to the computed network address.
+ if [ $relmajor -lt 2 ] || \
+- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
++ ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+ route add -net $new_network_number $new_subnet_arg dev $interface
fi
+ for router in $new_routers; do
+- route add default gw $router
++ err=`route add default gw $router 2>&1` && break || \
++ case "$err" in
++ SIOCADDRT:*)
++ # The gateway seems to be not reachable via local network
++ # route (implicitely created by ifconfig based on the IP
++ # an netmask provided by dhcp).
++ # Check this, set an explicit host route to the gateway
++ # over the current interface and try again (bnc#266215).
++ matches=$(test -x /sbin/ip && \
++ /sbin/ip -f inet -o route list match $router | \
++ grep -v ^default | grep -c -v "^$" 2>/dev/null)
++ if test -n "$matches" -a $(($matches)) -eq 0 ; then
++ route add -host $router dev $interface && \
++ route add default gw $router && break
++ fi
++ ;;
++ esac
+ done
fi
- if [ -z "${dhc_dbus}" ] || (( ( dhc_dbus & 1 ) != 1 )); then
-- make_resolv_conf
-- make_ntp_runtime_conf
-+ if use_netconfig ; then
-+ netconfig_modify
-+ else
-+ make_resolv_conf
-+ make_ntp_runtime_conf
+ if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
+@@ -156,7 +225,31 @@
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address $interface:0
+ fi
+- make_resolv_conf
++ if use_netconfig ; then
++ netconfig_modify
++ else
++ make_resolv_conf
++ fi
++ eval `grep --no-filename "^DHCLIENT_SET_HOSTNAME=" /etc/sysconfig/network/dhcp`
++ if [ "$DHCLIENT_SET_HOSTNAME" = yes ] ; then
++
++ current_hostname=`hostname`
++ if [ x$current_hostname = x ] || \
++ [ x$current_hostname != x$new_host_name ]; then
++
++ if [ x$new_host_name != x ]; then
++ hostname $new_host_name
++ else
++ if [ -x /usr/bin/host ] ; then
++ if out=`host -W 2 "$new_ip_address" 2>/dev/null` ; then
++ hostname `echo "$out" | sed 's:^.* ::; s:\..*::'`
++ fi
++ fi
++ fi
++
+ fi
- eval `grep --no-filename "^DHCLIENT_SET_HOSTNAME=" /etc/sysconfig/network/dhcp`
- if [ "$DHCLIENT_SET_HOSTNAME" = yes ] ; then
++
++ fi
+ exit_with_hooks 0
+ fi
-@@ -377,19 +419,22 @@ if [ x$reason = xTIMEOUT ]; then
+@@ -168,7 +261,7 @@
+ fi
+ if [ x$old_ip_address != x ]; then
+ # Shut down interface, which will delete routes and clear arp cache.
+- ifconfig $interface inet 0 down
++ ifconfig $interface inet 0
+ fi
+ if [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+@@ -182,27 +275,37 @@
+ ifconfig $interface:0- inet 0
+ fi
+ ifconfig $interface inet $new_ip_address $new_subnet_arg \
+- $new_broadcast_arg
++ $new_broadcast_arg
+ set $new_routers
+ ############## what is -w in ping?
+ if ping -q -c 1 $1; then
+ if [ x$new_ip_address != x$alias_ip_address ] && \
+- [ x$alias_ip_address != x ]; then
++ [ x$alias_ip_address != x ]; then
+ ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
+ route add -host $alias_ip_address dev $interface:0
+ fi
+ if [ $relmajor -lt 2 ] || \
+- ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
++ ( [ $relmajor -eq 2 ] && [ $relminor -eq 0 ] ); then
+ route add -net $new_network_number
+ fi
for router in $new_routers; do
route add default gw $router
done
- make_resolv_conf
-- make_ntp_runtime_conf
+ if use_netconfig ; then
+ netconfig_modify
+ else
+ make_resolv_conf
-+ make_ntp_runtime_conf
+ fi
exit_with_hooks 0
fi
- ifconfig $interface inet 0
+- ifconfig $interface inet 0 down
++ ifconfig $interface inet 0
exit_with_hooks 1
fi
--# restore backup copy of resolv.conf
--if test -f /etc/resolv.conf.saved.by.dhclient ; then
-- mv /etc/resolv.conf.saved.by.dhclient /etc/resolv.conf
+if use_netconfig ; then
+ netconfig_remove
+else
+ restore_resolv_conf
-+ remove_ntp_runtime_conf
- fi
--# remove runtime ntp conf
--remove_ntp_runtime_conf
--
++fi
++
exit_with_hooks 0
++++++ dhcp-3.1.1-dhclient-send-hostname-rml.dif ++++++
--- client/dhclient.8
+++ client/dhclient.8 2008/09/08 15:19:13
@@ -36,6 +36,9 @@
.I port
]
[
+.B -H hostname
+]
+[
.B -d
]
[
@@ -172,6 +175,11 @@
transmit on, the client will also use a different destination port -
one less than the specified port.
.PP
+The
+.B -H
+flag may be used to specify a client hostname that should be sent to
+the DHCP server.
+.PP
The DHCP client normally transmits any protocol messages it sends
before acquiring an IP address to, 255.255.255.255, the IP limited
broadcast address. For debugging purposes, it may be useful to have
--- client/dhclient.c
+++ client/dhclient.c 2008/09/08 15:17:50
@@ -100,6 +100,7 @@ int main (argc, argv, envp)
int no_dhclient_db = 0;
int no_dhclient_pid = 0;
int no_dhclient_script = 0;
+ char *dhclient_hostname = NULL;
char *s;
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
@@ -189,6 +190,15 @@ int main (argc, argv, envp)
if (++i == argc)
usage ();
relay = argv [i];
+ } else if (!strcmp (argv [i], "-H")) {
+ if (++i == argc || !argv[i] || *(argv[i]) == '\0')
+ usage ();
+ if (strlen (argv[i]) > HOST_NAME_MAX) {
+ log_error("-H option host-name string \"%s\" is too long:"
+ "maximum length is %d characters", argv[i], HOST_NAME_MAX);
+ exit(1);
+ }
+ dhclient_hostname = argv [i];
} else if (!strcmp (argv [i], "-nw")) {
nowait = 1;
} else if (!strcmp (argv [i], "-n")) {
@@ -345,6 +355,32 @@ int main (argc, argv, envp)
/* Parse the dhclient.conf file. */
read_client_conf ();
+ /* If the user specified a hostname, send it here and now */
+ if ((dhclient_hostname != NULL) && (*dhclient_hostname != '\0') ) {
+ struct parse *cfile = NULL;
+ char buf[HOST_NAME_MAX + 40];
+ int len;
+
+ snprintf (buf, sizeof(buf), "send host-name \"%s\";", dhclient_hostname);
+ len = strlen(buf);
+
+ status = new_parse (&cfile, -1, buf, len, "host-name option", 0);
+ if (status != ISC_R_SUCCESS)
+ log_fatal ("Cannot parse send host-name statement!");
+
+ for (;;) {
+ const char *val = NULL;
+ int token;
+
+ token = peek_token (&val, (unsigned *)0, cfile);
+ if (token == END_OF_FILE)
+ break;
+
+ parse_client_statement (cfile, NULL, &top_level_config);
+ }
+ end_parse (&cfile);
+ }
+
/* Parse the lease database. */
read_client_leases ();
@@ -483,9 +519,9 @@ static void usage ()
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-1dqrx] [-nw] [-p <port>] %s",
+ log_error ("Usage: dhclient [-1dqrx] [-nw] [-H <hostname>] [-p <port>] %s",
"[-s server]");
- log_error (" [-cf config-file] [-lf lease-file]%s",
+ log_error (" [-cf config-file] [-lf lease-file] %s",
"[-pf pid-file] [-e VAR=val]");
log_fatal (" [-sf script-file] [interface]");
}
++++++ dhcp-3.1.1-dhclient-use-script-cmdline.dif ++++++
--- client/dhclient.c
+++ client/dhclient.c 2008/09/08 15:31:00
@@ -355,6 +355,14 @@ int main (argc, argv, envp)
/* Parse the dhclient.conf file. */
read_client_conf ();
+ /*
+ ** Override the script name definition in the config file
+ ** with the one provided as command line argument...:
+ */
+ if(no_dhclient_script) {
+ top_level_config.script_name = path_dhclient_script;
+ }
+
/* If the user specified a hostname, send it here and now */
if ((dhclient_hostname != NULL) && (*dhclient_hostname != '\0') ) {
struct parse *cfile = NULL;
++++++ dhcp-3.1.1-man-includes.dif ++++++
--- dhcpctl/dhcpctl.3
+++ dhcpctl/dhcpctl.3 2008/09/08 10:02:38
@@ -425,8 +425,8 @@ that most error checking has been ommitt
#include
#include
-#include
-#include
+#include
+#include
int main (int argc, char **argv) {
dhcpctl_data_string ipaddrstring = NULL;
--- omapip/omapi.3
+++ omapip/omapi.3 2008/09/08 10:02:38
@@ -87,8 +87,8 @@ the lease ends.
#include
#include
- #include
- #include
+ #include
+ #include
int main (int argc, char **argv) {
dhcpctl_data_string ipaddrstring = NULL;
++++++ dhcp-3.1.1-omapi-test.c.dif ++++++
--- omapip/test.c
+++ omapip/test.c 2008/09/05 08:24:16
@@ -40,6 +40,7 @@
#include
#include
#include
+#include
int main (int argc, char **argv)
{
++++++ dhcp-3.1.1-paranoia.dif ++++++
--- server/dhcpd.c
+++ server/dhcpd.c 2008/09/05 08:22:38
@@ -47,6 +47,15 @@ static char url [] = "For info, please v
#include "version.h"
#include
+#ifdef PARANOIA
+# include
+# include
+/* get around the ISC's declaration of group */
+#define group real_group
+# include
+#undef group
+#endif
+
static void usage PROTO ((void));
struct iaddr server_identifier;
@@ -225,6 +234,15 @@ int main (argc, argv, envp)
char *traceinfile = (char *)0;
char *traceoutfile = (char *)0;
#endif
+#ifdef PARANOIA
+ char *set_user = NULL;
+ char *set_group = NULL;
+ char *set_chroot = NULL;
+
+ uid_t set_uid = 0;
+ gid_t set_gid = 0;
+#endif
+
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
2 (stderr) are open. To do this, we assume that when we
@@ -286,6 +304,20 @@ int main (argc, argv, envp)
daemon = 0;
#endif
log_perror = -1;
+#ifdef PARANOIA
+ } else if (!strcmp (argv [i], "-user")) {
+ if (++i == argc)
+ usage ();
+ set_user = argv [i];
+ } else if (!strcmp (argv [i], "-group")) {
+ if (++i == argc)
+ usage ();
+ set_group = argv [i];
+ } else if (!strcmp (argv [i], "-chroot")) {
+ if (++i == argc)
+ usage ();
+ set_chroot = argv [i];
+#endif
} else if (!strcmp (argv [i], "-s")) {
if (++i == argc)
usage ();
@@ -347,7 +379,7 @@ int main (argc, argv, envp)
log_fatal ("Insufficient memory to %s %s: %s",
"record interface", argv [i],
isc_result_totext (result));
- strcpy (tmp -> name, argv [i]);
+ strncpy (tmp -> name, argv [i], sizeof(tmp->name)-1);
if (interfaces) {
interface_reference (&tmp -> next,
interfaces, MDL);
@@ -412,6 +444,66 @@ int main (argc, argv, envp)
}
}
+#ifdef PARANOIA
+ /* get user and group info if those options were given */
+ if (set_user) {
+ struct passwd *tmp_pwd;
+
+ /*
+ ** I query for the real UID and not for the effective UID
+ ** just to force the user to run this server as root and
+ ** not setting it suid. It should be a paranoia patch and
+ ** not a teletubbie patch. *eg*
+ ** Note: That the user is still able to set it suid! *zitter*
+ ** thomas@suse.de
+ */
+ if (getuid())
+ error ("you must be root to set user");
+
+ if (!(tmp_pwd = getpwnam(set_user)))
+ error ("no such user: %s", set_user);
+
+ set_uid = tmp_pwd->pw_uid;
+
+ /* use the user's group as the default gid */
+ if (!set_group)
+ set_gid = tmp_pwd->pw_gid;
+
+ }
+
+ if (set_group) {
+/* get around the ISC's declaration of group */
+#define group real_group
+ struct group *tmp_grp;
+
+ /*
+ ** getuid() instead of geteuid(), see above
+ */
+ if (getuid())
+ error ("you must be root to set group");
+
+ if (!(tmp_grp = getgrnam(set_group)))
+ error ("no such group: %s", set_group);
+
+ set_gid = tmp_grp->gr_gid;
+#undef group
+ }
+
+ if (set_chroot) {
+ if (getuid()) /* see above */
+ error ("you must be root to use chroot");
+
+ if (chroot(set_chroot) != 0) {
+ error ("chroot(\"%s\"): %s", set_chroot,
+ strerror(errno));
+ }
+ if (chdir ("/") != 0) {
+ /* probably permission denied */
+ error ("chdir(\"/\"): %s", strerror(errno));
+ }
+ }
+#endif /* PARANOIA */
+
remote_port = htons (ntohs (local_port) + 1);
if (server) {
@@ -601,6 +693,27 @@ int main (argc, argv, envp)
omapi_set_int_value ((omapi_object_t *)dhcp_control_object,
(omapi_object_t *)0, "state", server_running);
+#ifdef PARANOIA
+ /* change uid to the specified one */
+
+ /*
+ ** common failure: forget to drop supplementary GID'S ;->
+ ** thomas@suse.de
+ */
+
+ if (set_gid) {
+ if(setgroups(0, NULL) < 0)
+ error("couldn't drop supplementary groups!");
+ if (setgid (set_gid) != 0)
+ error ("couldn't set gid to %d", set_gid);
+ }
+
+ if (set_uid) {
+ if (setuid (set_uid) != 0)
+ error ("couldn't set uid to %d", set_uid);
+ }
+#endif
+
/* Receive packets and dispatch them... */
dispatch ();
@@ -879,6 +992,10 @@ static void usage ()
log_fatal ("Usage: dhcpd [-p ] [-d] [-f]%s%s%s%s",
"\n [-cf config-file] [-lf lease-file]",
+#ifdef PARANOIA
+ "\n [-user <user>] [-group <group>]",
+ "\n [-chroot <dir>]",
+#endif
#if defined (TRACING)
"\n [-tf trace-output-file]",
"\n [-play trace-input-file]",
++++++ dhcp-3.1.1-paths.dif ++++++
--- includes/cf/linux.h
+++ includes/cf/linux.h 2008/09/08 09:56:54
@@ -75,7 +75,7 @@ extern int h_errno;
#include /* gettimeofday()*/
-/* Databases go in /var/state/dhcp. It would also be valid to put them
+/* Databases go in /var/lib/dhcp. It would also be valid to put them
in /var/state/misc - indeed, given that there's only one lease file, it
would probably be better. However, I have some ideas for optimizing
the lease database that may result in a _lot_ of smaller files being
@@ -83,11 +83,11 @@ extern int h_errno;
directory. */
#ifndef _PATH_DHCPD_DB
-#define _PATH_DHCPD_DB "/var/state/dhcp/dhcpd.leases"
+#define _PATH_DHCPD_DB "/var/lib/dhcp/db/dhcpd.leases"
#endif
#ifndef _PATH_DHCLIENT_DB
-#define _PATH_DHCLIENT_DB "/var/state/dhcp/dhclient.leases"
+#define _PATH_DHCLIENT_DB "/var/lib/dhcp/dhclient.leases"
#endif
/* Varargs stuff... */
--- includes/dhcpd.h
+++ includes/dhcpd.h 2008/09/08 09:56:54
@@ -1062,7 +1062,7 @@ typedef unsigned char option_mask [16];
#endif
#ifndef _PATH_DHCPD_DB
-#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
+#define _PATH_DHCPD_DB "/var/lib/dhcp/db/dhcpd.leases"
#endif
#ifndef _PATH_DHCPD_PID
@@ -1083,7 +1083,7 @@ typedef unsigned char option_mask [16];
#endif
#ifndef _PATH_DHCLIENT_DB
-#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
+#define _PATH_DHCLIENT_DB "/var/run/dhclient.leases"
#endif
#ifndef _PATH_RESOLV_CONF
--- Makefile.conf
+++ Makefile.conf 2008/09/08 09:56:58
@@ -42,8 +42,10 @@ CATMANPAGES =
ETC = /etc
VARRUN = /var/run
VARDB = /var/db
-LIBDIR=/usr/local/lib
-INCDIR=/usr/local/include
+ifeq (${LIBDIR},)
+LIBDIR=/usr/lib
+endif
+INCDIR=/usr/include
LIBS =
COPTS = $(BINDDEF) $(CC_OPTIONS)
DEBUG = -g
@@ -277,17 +279,17 @@ MINORVERSION=MinorVersion
#COPTS = -DLINUX_MAJOR=$(MAJORVERSION) -DLINUX_MINOR=$(MINORVERSION) \
# $(BINDDEF) $(CC_OPTIONS)
#CF = cf/linux.h
-#ADMMANDIR = /usr/man/man8
+#ADMMANDIR = /usr/share/man/man8
#ADMMANEXT = .8
-#FFMANDIR = /usr/man/man5
+#FFMANDIR = /usr/share/man/man5
#FFMANEXT = .5
-#LIBMANDIR = /usr/man/man3
+#LIBMANDIR = /usr/share/man/man3
#LIBMANEXT = .3
-#USRMANDIR = /usr/man/man1
+#USRMANDIR = /usr/share/man/man1
#USRMANEXT = .1
#MANCAT = man
#VARRUN = /var/run
-#VARDB = /var/state/dhcp
+#VARDB = /var/lib/dhcp
#SCRIPT=linux
##--linux-2.0--
@@ -296,17 +298,17 @@ MINORVERSION=MinorVersion
#COPTS = -DLINUX_MAJOR=$(MAJORVERSION) -DLINUX_MINOR=$(MINORVERSION) \
# $(BINDDEF) $(CC_OPTIONS)
#CF = cf/linux.h
-#ADMMANDIR = /usr/man/man8
+#ADMMANDIR = /usr/share/man/man8
#ADMMANEXT = .8
-#FFMANDIR = /usr/man/man5
+#FFMANDIR = /usr/share/man/man5
#FFMANEXT = .5
-#LIBMANDIR = /usr/man/man3
+#LIBMANDIR = /usr/share/man/man3
#LIBMANEXT = .3
-#USRMANDIR = /usr/man/man1
+#USRMANDIR = /usr/share/man/man1
#USRMANEXT = .1
#MANCAT = man
#VARRUN = /var/run
-#VARDB = /var/state/dhcp
+#VARDB = /var/lib/dhcp
#SCRIPT=linux
##--linux-2.1--
@@ -315,20 +317,36 @@ MINORVERSION=MinorVersion
#COPTS = -DLINUX_MAJOR=$(MAJORVERSION) -DLINUX_MINOR=$(MINORVERSION) \
# $(BINDDEF) $(CC_OPTIONS)
#CF = cf/linux.h
-#ADMMANDIR = /usr/man/man8
+#ADMMANDIR = /usr/share/man/man8
#ADMMANEXT = .8
-#FFMANDIR = /usr/man/man5
+#FFMANDIR = /usr/share/man/man5
#FFMANEXT = .5
-#LIBMANDIR = /usr/man/man3
+#LIBMANDIR = /usr/share/man/man3
#LIBMANEXT = .3
-#USRMANDIR = /usr/man/man1
+#USRMANDIR = /usr/share/man/man1
#USRMANEXT = .1
#MANCAT = man
#VARRUN = /var/run
-#VARDB = /var/state/dhcp
+#VARDB = /var/lib/dhcp
#SCRIPT=linux
##--linux-2.2--
+## Linux 2.4
+##--linux-2.4--
+#COPTS = -DLINUX_MAJOR=$(MAJORVERSION) -DLINUX_MINOR=$(MINORVERSION) $(BINDDEF)
+#CF = cf/linux.h
+#ADMMANDIR = /usr/share/man/man8
+#ADMMANEXT = .8
+#FFMANDIR = /usr/share/man/man5
+#FFMANEXT = .5
+#LIBMANDIR = /usr/share/man/man3
+#LIBMANEXT = .3
+#MANCAT = man
+#VARRUN = /var/run
+#VARDB = /var/lib/dhcp
+#SCRIPT=linux
+##--linux-2.4--
+
## SCO UnixWare 7
##--uw7--
#CF = cf/uw7.h
++++++ dhcp-3.0.3b1-pie.dif -> dhcp-3.1.1-pie.dif ++++++
++++++ dhcp-3.0.7.tar.gz -> dhcp-3.1.1.tar.gz ++++++
++++ 36989 lines of diff (skipped)
++++++ dhcp-3.0.5-tmpfile.dif -> dhcp-3.1.1-tmpfile.dif ++++++
--- dhcp/dhcp-3.0.5-tmpfile.dif 2007-07-30 13:07:22.000000000 +0200
+++ dhcp/dhcp-3.1.1-tmpfile.dif 2008-09-08 18:22:12.000000000 +0200
@@ -1,5 +1,5 @@
---- dhcp-3.0.5/server/db.c
-+++ dhcp-3.0.5/server/db.c 2006/11/07 10:19:41
+--- server/db.c
++++ server/db.c 2006/11/07 10:19:41
@@ -782,21 +782,16 @@
db_validity = lease_file_is_corrupt;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org