From c98d1cc5ee914046a1628c5bf0091e2372263854897cfd9e0552ea16ea72e699 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Wed, 29 Sep 2010 10:28:25 +0000 Subject: [PATCH 01/11] - Fixed server lease file path in contrib/listlease and leasestate changed to extract contrib and examples using setup macro. OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=37 --- contrib-lease-path.diff | 22 ++++++++++++++++++++++ dhcp.changes | 6 ++++++ dhcp.spec | 8 ++++---- 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 contrib-lease-path.diff diff --git a/contrib-lease-path.diff b/contrib-lease-path.diff new file mode 100644 index 0000000..5da3db8 --- /dev/null +++ b/contrib-lease-path.diff @@ -0,0 +1,22 @@ +--- contrib/leasestate ++++ contrib/leasestate 2010/09/29 10:07:09 +@@ -16,7 +16,7 @@ my %Update; + my $level = 1; + my $IP = ''; + my ($ip, $bs, $nbs, $join); +-open(FILE, "/var/lib/dhcp/dhcpd.leases"); ++open(FILE, "/var/lib/dhcp/db/dhcpd.leases"); + while(my $line = ) { + next if ($line =~ /^\#/); + if ($level == 1) { +--- contrib/listlease ++++ contrib/listlease 2010/09/29 10:08:10 +@@ -14,7 +14,7 @@ use strict; + my $LastLease = ''; + my $savelease = 0; + my $prlease = 0; +-my $LFILE = "/var/lib/dhcp/dhcpd.leases"; ++my $LFILE = "/var/lib/dhcp/db/dhcpd.leases"; + $LFILE = $ARGV[1] if ($ARGV[1] ne ''); + + open(FILE, $LFILE); diff --git a/dhcp.changes b/dhcp.changes index 3d2938e..25df296 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Sep 29 10:26:37 UTC 2010 - mt@suse.de + +- Fixed server lease file path in contrib/listlease and leasestate + changed to extract contrib and examples using setup macro. + ------------------------------------------------------------------- Wed Aug 4 12:52:03 UTC 2010 - mt@suse.de diff --git a/dhcp.spec b/dhcp.spec index d3fdb66..721d1c4 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -73,6 +73,7 @@ Patch11: dhcp-4.1.1-paranoia.diff Patch12: dhcp-4.1.1-man-includes.diff Patch13: dhcp-4.1.1-tmpfile.diff Patch14: dhcp-4.1.1-in6_pktinfo-prototype.diff +Patch15: contrib-lease-path.diff Patch20: dhcp-4.1.1-dhclient-exec-filedes.diff Patch21: dhcp-4.1.1-dhclient-send-hostname-rml.diff ## patch lives here: http://www.suse.de/~mt/git/dhcp-ldap.git/ @@ -191,13 +192,14 @@ Authors: %prep -%setup -q -n %{name}-%{isc_version} +%setup -q -n %{name}-%{isc_version} -a 44 -a 45 ## %patch10 -p1 %patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p0 %patch20 -p1 %patch21 -p1 %if 0%{?with_ldap:%with_ldap} @@ -339,9 +341,7 @@ install -m0644 $RPM_SOURCE_DIR/dhcp.LIESMICH LIESMICH.SuSE install -m0644 $RPM_SOURCE_DIR/dhcp.README README.SuSE install -m0644 $RPM_SOURCE_DIR/dhcp.README.upgrade README.upgrade install -m0644 $RPM_SOURCE_DIR/DDNS-howto.txt . -tar xzf $RPM_SOURCE_DIR/contrib.tar.gz -mv doc/examples . -tar xzf $RPM_SOURCE_DIR/examples.tar.gz +cp doc/examples/* ./examples/ rm -f doc/{References.xml,Makefile*} rm -f contrib/dhcp.spec %if ! 0%{?with_ldap:%with_ldap} From 1071b12d0679fbf1c732889ab064cda70074214ebdc695dfa705fcf16b3bc6b4 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 2 Nov 2010 10:29:02 +0000 Subject: [PATCH 02/11] - Fixed a dhcrelay segfault while receiving packets on interfaces without any IPv4 address assigned (bnc#631305, reported upsteam as [ISC-Bugs #22409]). - Fixed a common infinite loop while parsing options with optional parts in the value such as in slp-service-scope option (bnc#643845, reported upsteam as [ISC-Bugs #22410]). - Fixed init scripts to report correct LSB codes in status action, when the config file or the binary do not exists (bnc#640336). - Fixed syntax of a check in the rcdhcrelay[6] (bnc#648580) - Avoid pid check error message in the rcdhcpd[6] (bnc#646875) OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=38 --- ...4.1.1-P1-optional-value-infinite-loop.diff | 46 +++++++++++++++++++ dhcp-4.1.1-P1-relay-no-ip-on-interface.diff | 31 +++++++++++++ dhcp.changes | 14 ++++++ dhcp.spec | 5 ++ rc.dhcpd | 33 ++++++++++--- rc.dhcpd6 | 33 ++++++++++--- rc.dhcrelay | 21 ++++++--- rc.dhcrelay6 | 21 ++++++--- 8 files changed, 178 insertions(+), 26 deletions(-) create mode 100644 dhcp-4.1.1-P1-optional-value-infinite-loop.diff create mode 100644 dhcp-4.1.1-P1-relay-no-ip-on-interface.diff diff --git a/dhcp-4.1.1-P1-optional-value-infinite-loop.diff b/dhcp-4.1.1-P1-optional-value-infinite-loop.diff new file mode 100644 index 0000000..cfe480d --- /dev/null +++ b/dhcp-4.1.1-P1-optional-value-infinite-loop.diff @@ -0,0 +1,46 @@ +From 912eb17103f764ef4486b30a4801af64321a23ed Mon Sep 17 00:00:00 2001 +From: Marius Tomaschewski +Date: Fri, 29 Oct 2010 18:51:02 +0200 +Subject: [PATCH] dhcp-4.1.1-P1-optional-value-infinite-loop + +Fixed dhcp server infinite loop while parsing options with optional +parts in the value such as in slp-service-scope option (bnc#643845, +[ISC-Bugs #22410]). + +Signed-off-by: Marius Tomaschewski +--- + common/parse.c | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) + +diff --git a/common/parse.c b/common/parse.c +index 34b909a..081dcc9 100644 +--- a/common/parse.c ++++ b/common/parse.c +@@ -4931,8 +4931,23 @@ struct option *option; + do { + if ((*fmt == 'A') || (*fmt == 'a')) + break; +- if (*fmt == 'o') ++ if (*fmt == 'o') { ++ /* previous value were optional */ ++ fmt++; + continue; ++ } ++ if (fmt[1] == 'o') { ++ /* ++ * value for current format code is optional ++ * check if the next token is a semicolon; ++ * it is expected to be read by our caller. ++ */ ++ token = peek_token (&val, (unsigned *)0, cfile); ++ if (token == SEMI) { ++ fmt++; ++ continue; ++ } ++ } + + tmp = *expr; + *expr = NULL; +-- +1.7.1 + diff --git a/dhcp-4.1.1-P1-relay-no-ip-on-interface.diff b/dhcp-4.1.1-P1-relay-no-ip-on-interface.diff new file mode 100644 index 0000000..68e1e3f --- /dev/null +++ b/dhcp-4.1.1-P1-relay-no-ip-on-interface.diff @@ -0,0 +1,31 @@ +From 4509d956715297469469ab0e207c2641f521470d Mon Sep 17 00:00:00 2001 +From: Marius Tomaschewski +Date: Fri, 29 Oct 2010 18:49:06 +0200 +Subject: [PATCH] dhcp-4.1.1-P1-relay-no-ip-on-interface + +Fix for a dhcrelay segfault while receiving packets on interfaces +without any IPv4 address assigned (bnc#631305, [ISC-Bugs #22409]). + +Signed-off-by: Marius Tomaschewski +--- + relay/dhcrelay.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c +index 11676ae..c375c83 100644 +--- a/relay/dhcrelay.c ++++ b/relay/dhcrelay.c +@@ -565,6 +565,10 @@ do_relay4(struct interface_info *ip, struct dhcp_packet *packet, + log_info("Discarding packet with invalid hlen."); + return; + } ++ if (ip->address_count < 1 || ip->addresses == NULL) { ++ log_info("Discarding packet from interface without IP address"); ++ return; ++ } + + /* Find the interface that corresponds to the giaddr + in the packet. */ +-- +1.7.1 + diff --git a/dhcp.changes b/dhcp.changes index 25df296..6ac32ac 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Tue Nov 2 09:48:56 UTC 2010 - mt@suse.de + +- Fixed a dhcrelay segfault while receiving packets on interfaces + without any IPv4 address assigned (bnc#631305, reported upsteam + as [ISC-Bugs #22409]). +- Fixed a common infinite loop while parsing options with optional + parts in the value such as in slp-service-scope option (bnc#643845, + reported upsteam as [ISC-Bugs #22410]). +- Fixed init scripts to report correct LSB codes in status action, + when the config file or the binary do not exists (bnc#640336). +- Fixed syntax of a check in the rcdhcrelay[6] (bnc#648580) +- Avoid pid check error message in the rcdhcpd[6] (bnc#646875) + ------------------------------------------------------------------- Wed Sep 29 10:26:37 UTC 2010 - mt@suse.de diff --git a/dhcp.spec b/dhcp.spec index 721d1c4..9ec3883 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -84,6 +84,8 @@ Patch31: dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff Patch30: dhcp-4.1.1-dhclient-no-libcrypto.diff %endif Patch40: dhcp-4.1.1-P1-lpf-bind-msg-fix.diff +Patch41: dhcp-4.1.1-P1-relay-no-ip-on-interface.diff +Patch42: dhcp-4.1.1-P1-slp-loop.diff ## PreReq: /bin/touch /sbin/chkconfig sysconfig BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -209,12 +211,15 @@ Authors: %patch30 -p1 %endif %patch40 -p1 +%patch41 -p0 +%patch42 -p0 ## find . -type f -name \*.cat\* -exec rm -f {} \; dos2unix contrib/ms2isc/* %build CFLAGS="$RPM_OPT_FLAGS -W -Wall -fno-strict-aliasing -Wno-unused" +CFLAGS=$(echo "$CFLAGS" | sed -e "s/-O./-O0/g") %ifarch ppc ppc64 s390x # bugs 134590, 171532 CFLAGS="$CFLAGS -fsigned-char" diff --git a/rc.dhcpd b/rc.dhcpd index a4d94a8..3e109e0 100644 --- a/rc.dhcpd +++ b/rc.dhcpd @@ -96,14 +96,33 @@ rc_reset # considered a success. if ! [ -x "$DAEMON_BIN" ]; then - if [ "$1" = "stop" ]; then exit 0; fi - echo >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." - exit 5 + case $1 in + stop) ;; + *) echo -n >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." + case $1 in + status) rc_failed 4 ;; + *) rc_failed 5 ;; + esac + rc_status -v + ;; + esac + rc_exit fi if ! [ -r "$DAEMON_CONF" ] ; then - if [ "$1" = "stop" ]; then exit 0; fi - echo >&2 "$0: \"$DAEMON_CONF\" config file missed. Exiting." - exit 6 + case $1 in + stop|status) + if test ! -s /etc/sysconfig/dhcpd ; then + test -e $DAEMON_STATE/$DAEMON_PIDFILE && \ + CHROOT_PREFIX="$DAEMON_STATE" || CHROOT_PREFIX='' + fi + ;; + *) + echo -n >&2 "$0: \"$DAEMON_CONF\" config file missed. Exiting." + rc_failed 6 + rc_status -v + rc_exit + ;; + esac fi # remove empty pid files to avoid disturbing warnings by checkproc/killproc @@ -223,7 +242,7 @@ case "$1" in ## we remove the pid. (dhcpd itself only checks whether the pid is alive or not.) if test -e $CHROOT_PREFIX/$DAEMON_PIDFILE -a -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then p=$(<$CHROOT_PREFIX/$DAEMON_PIDFILE) - if test -n "$p" && grep -qE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then + if test -n "$p" && grep -qsE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then echo -n '(already running) ' else rm $CHROOT_PREFIX/$DAEMON_PIDFILE diff --git a/rc.dhcpd6 b/rc.dhcpd6 index 29770a9..a6ebd7a 100644 --- a/rc.dhcpd6 +++ b/rc.dhcpd6 @@ -100,14 +100,33 @@ rc_reset # considered a success. if ! [ -x "$DAEMON_BIN" ]; then - if [ "$1" = "stop" ]; then exit 0; fi - echo >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." - exit 5 + case $1 in + stop) ;; + *) echo -n >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." + case $1 in + status) rc_failed 4 ;; + *) rc_failed 5 ;; + esac + rc_status -v + ;; + esac + rc_exit fi if ! [ -r "$DAEMON_CONF" ] ; then - if [ "$1" = "stop" ]; then exit 0; fi - echo >&2 "$0: \"$DAEMON_CONF\" config file missed. Exiting." - exit 6 + case $1 in + stop|status) + if test ! -s /etc/sysconfig/dhcpd ; then + test -e $DAEMON_STATE/$DAEMON_PIDFILE && \ + CHROOT_PREFIX="$DAEMON_STATE" || CHROOT_PREFIX='' + fi + ;; + *) + echo -n >&2 "$0: \"$DAEMON_CONF\" config file missed. Exiting." + rc_failed 6 + rc_status -v + rc_exit + ;; + esac fi # remove empty pid files to avoid disturbing warnings by checkproc/killproc @@ -227,7 +246,7 @@ case "$1" in ## we remove the pid. (dhcpd itself only checks whether the pid is alive or not.) if test -e $CHROOT_PREFIX/$DAEMON_PIDFILE -a -s $CHROOT_PREFIX/$DAEMON_PIDFILE; then p=$(<$CHROOT_PREFIX/$DAEMON_PIDFILE) - if test -n "$p" && grep -qE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then + if test -n "$p" && grep -qsE "^${DAEMON_BIN}" "/proc/$p/cmdline" ; then echo -n '(already running) ' else rm $CHROOT_PREFIX/$DAEMON_PIDFILE diff --git a/rc.dhcrelay b/rc.dhcrelay index 47c49d2..2ceef2a 100644 --- a/rc.dhcrelay +++ b/rc.dhcrelay @@ -33,10 +33,19 @@ STARTPROC_LOGFILE=/var/log/rc.dhcrelay.log SUPPORTS_HUP="no" test -s "$DAEMON_CONF" && . "$DAEMON_CONF" -test -x $DAEMON_BIN || { - echo >&2 "$0: \"$DAEMON_BIN\" is not executable." - test "x$1" = xstop && exit 0 || exit 5 -} +if ! [ -x "$DAEMON_BIN" ]; then + case $1 in + stop) ;; + *) echo -n >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." + case $1 in + status) rc_failed 4 ;; + *) rc_failed 5 ;; + esac + rc_status -v + ;; + esac + rc_exit +fi # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status @@ -152,7 +161,7 @@ case "$1" in echo -n "Reload service $DAEMON" - if "$SUPPORTS_HUP" = "yes" ; then + if [ "$SUPPORTS_HUP" = "yes" ] ; then killproc -p $DAEMON_PIDFILE -HUP $DAEMON_BIN #touch $DAEMON_PIDFILE rc_status -v @@ -165,7 +174,7 @@ case "$1" in ## Like force-reload, but if daemon does not support ## signalling, do nothing (!) - if "$SUPPORTS_HUP" = "yes" ; then + if [ "$SUPPORTS_HUP" = "yes" ] ; then # If it supports signalling: echo -n "Reload service $DAEMON" killproc -p $DAEMON_PIDFILE -HUP $DAEMON_BIN diff --git a/rc.dhcrelay6 b/rc.dhcrelay6 index ddecca8..8bd273d 100644 --- a/rc.dhcrelay6 +++ b/rc.dhcrelay6 @@ -34,10 +34,19 @@ STARTPROC_LOGFILE=/var/log/rc.dhcrelay6.log SUPPORTS_HUP="no" test -s "$DAEMON_CONF" && . "$DAEMON_CONF" -test -x $DAEMON_BIN || { - echo >&2 "$0: \"$DAEMON_BIN\" is not executable." - test "x$1" = xstop && exit 0 || exit 5 -} +if ! [ -x "$DAEMON_BIN" ]; then + case $1 in + stop) ;; + *) echo -n >&2 "$0: \"$DAEMON_BIN\" is not an executable file. Exiting." + case $1 in + status) rc_failed 4 ;; + *) rc_failed 5 ;; + esac + rc_status -v + ;; + esac + rc_exit +fi # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status @@ -160,7 +169,7 @@ case "$1" in echo -n "Reload service $DAEMON" - if "$SUPPORTS_HUP" = "yes" ; then + if [ "$SUPPORTS_HUP" = "yes" ] ; then killproc -p $DAEMON_PIDFILE -HUP $DAEMON_BIN #touch $DAEMON_PIDFILE rc_status -v @@ -173,7 +182,7 @@ case "$1" in ## Like force-reload, but if daemon does not support ## signalling, do nothing (!) - if "$SUPPORTS_HUP" = "yes" ; then + if [ "$SUPPORTS_HUP" = "yes" ] ; then # If it supports signalling: echo -n "Reload service $DAEMON" killproc -p $DAEMON_PIDFILE -HUP $DAEMON_BIN From 0cecb6bbafa468ed24757e650c1d6e311723c30c3b953527568f210aa56803fd Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 2 Nov 2010 10:29:45 +0000 Subject: [PATCH 03/11] reverted release tag change OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=39 --- dhcp.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dhcp.spec b/dhcp.spec index 9ec3883..6d544c3 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -33,7 +33,7 @@ License: BSD3c(or similar) Group: Productivity/Networking/Boot/Servers AutoReqProv: on Version: 4.1.1.P1 -Release: 6 +Release: 4. Summary: Common Files Used by ISC DHCP Software Url: http://www.isc.org/software/dhcp Source0: dhcp-%{isc_version}.tar.bz2 From e624e22e67894aed51a688155a2d4e944f7136d10e567412af3e8c04006b828d Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 2 Nov 2010 10:31:59 +0000 Subject: [PATCH 04/11] the release change was OK here OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=40 --- dhcp.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dhcp.spec b/dhcp.spec index 6d544c3..9ec3883 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -33,7 +33,7 @@ License: BSD3c(or similar) Group: Productivity/Networking/Boot/Servers AutoReqProv: on Version: 4.1.1.P1 -Release: 4. +Release: 6 Summary: Common Files Used by ISC DHCP Software Url: http://www.isc.org/software/dhcp Source0: dhcp-%{isc_version}.tar.bz2 From d782b73affbc5a0b5bfb7a78536bb5551d3a5d65c6398b32ebbbfef46be81c80 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 2 Nov 2010 11:55:23 +0000 Subject: [PATCH 05/11] fixed patch file name and patch prefix strip in spec file OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=41 --- dhcp.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dhcp.spec b/dhcp.spec index 9ec3883..1758f94 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -85,7 +85,7 @@ Patch30: dhcp-4.1.1-dhclient-no-libcrypto.diff %endif Patch40: dhcp-4.1.1-P1-lpf-bind-msg-fix.diff Patch41: dhcp-4.1.1-P1-relay-no-ip-on-interface.diff -Patch42: dhcp-4.1.1-P1-slp-loop.diff +Patch42: dhcp-4.1.1-P1-optional-value-infinite-loop.diff ## PreReq: /bin/touch /sbin/chkconfig sysconfig BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -211,8 +211,8 @@ Authors: %patch30 -p1 %endif %patch40 -p1 -%patch41 -p0 -%patch42 -p0 +%patch41 -p1 +%patch42 -p1 ## find . -type f -name \*.cat\* -exec rm -f {} \; dos2unix contrib/ms2isc/* From 1a182da2e91052e2bf4431441794d10d90ebf4c8212a51ca735f7bca841f8c88 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Fri, 26 Nov 2010 14:57:47 +0000 Subject: [PATCH 06/11] - WIP: update to 4.2.0-P1 OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=42 --- dhcp-4.1.1-P1.tar.bz2 | 3 - dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 | 3 - ...4.1.1-ldap-patch-mt-01_option-numbers.diff | 57 ------------------- ...p-4.2.0-P1-dhclient-send-hostname-rml.diff | 9 +-- dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 | 3 + dhcp-4.2.0-P1-no-libcrypto.diff | 17 ++++++ dhcp-4.2.0-P1.tar.bz2 | 3 + dhcp.changes | 5 ++ dhcp.spec | 44 ++++++-------- 9 files changed, 51 insertions(+), 93 deletions(-) delete mode 100644 dhcp-4.1.1-P1.tar.bz2 delete mode 100644 dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 delete mode 100644 dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff rename dhcp-4.1.1-dhclient-send-hostname-rml.diff => dhcp-4.2.0-P1-dhclient-send-hostname-rml.diff (91%) create mode 100644 dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 create mode 100644 dhcp-4.2.0-P1-no-libcrypto.diff create mode 100644 dhcp-4.2.0-P1.tar.bz2 diff --git a/dhcp-4.1.1-P1.tar.bz2 b/dhcp-4.1.1-P1.tar.bz2 deleted file mode 100644 index ee5ee99..0000000 --- a/dhcp-4.1.1-P1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6041d1658d814bee5a863964c748dc2f79dd2c618ce9db716b2846177861282a -size 877572 diff --git a/dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 b/dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 deleted file mode 100644 index fd34c11..0000000 --- a/dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:176dec01acb2704866f516ed21b6210c9d16bd4667db9b265c57bb2b07735510 -size 46012 diff --git a/dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff b/dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff deleted file mode 100644 index 09dafb9..0000000 --- a/dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff +++ /dev/null @@ -1,57 +0,0 @@ -From 68249388d6974933059023eea4cf750688e8a11d Mon Sep 17 00:00:00 2001 -From: Marius Tomaschewski -Date: Tue, 27 Jul 2010 15:27:28 +0200 -Subject: [PATCH] Fixed ldap option numbers conflict - - -diff --git dhcp/includes/dhcpd.h dhcp/includes/dhcpd.h -index 6792497..95c2786 100644 ---- dhcp/includes/dhcpd.h -+++ dhcp/includes/dhcpd.h -@@ -677,25 +677,25 @@ struct lease_state { - #endif - - #if defined(LDAP_CONFIGURATION) --# define SV_LDAP_SERVER 57 --# define SV_LDAP_PORT 58 --# define SV_LDAP_USERNAME 59 --# define SV_LDAP_PASSWORD 60 --# define SV_LDAP_BASE_DN 61 --# define SV_LDAP_METHOD 62 --# define SV_LDAP_DEBUG_FILE 63 --# define SV_LDAP_DHCP_SERVER_CN 64 --# define SV_LDAP_REFERRALS 65 -+# define SV_LDAP_SERVER 60 -+# define SV_LDAP_PORT 61 -+# define SV_LDAP_USERNAME 62 -+# define SV_LDAP_PASSWORD 63 -+# define SV_LDAP_BASE_DN 64 -+# define SV_LDAP_METHOD 65 -+# define SV_LDAP_DEBUG_FILE 66 -+# define SV_LDAP_DHCP_SERVER_CN 67 -+# define SV_LDAP_REFERRALS 68 - #if defined (USE_SSL) --# define SV_LDAP_SSL 66 --# define SV_LDAP_TLS_REQCERT 67 --# define SV_LDAP_TLS_CA_FILE 68 --# define SV_LDAP_TLS_CA_DIR 69 --# define SV_LDAP_TLS_CERT 70 --# define SV_LDAP_TLS_KEY 71 --# define SV_LDAP_TLS_CRLCHECK 72 --# define SV_LDAP_TLS_CIPHERS 73 --# define SV_LDAP_TLS_RANDFILE 74 -+# define SV_LDAP_SSL 69 -+# define SV_LDAP_TLS_REQCERT 70 -+# define SV_LDAP_TLS_CA_FILE 71 -+# define SV_LDAP_TLS_CA_DIR 72 -+# define SV_LDAP_TLS_CERT 73 -+# define SV_LDAP_TLS_KEY 74 -+# define SV_LDAP_TLS_CRLCHECK 75 -+# define SV_LDAP_TLS_CIPHERS 76 -+# define SV_LDAP_TLS_RANDFILE 77 - #endif - #endif - --- -1.7.1 - diff --git a/dhcp-4.1.1-dhclient-send-hostname-rml.diff b/dhcp-4.2.0-P1-dhclient-send-hostname-rml.diff similarity index 91% rename from dhcp-4.1.1-dhclient-send-hostname-rml.diff rename to dhcp-4.2.0-P1-dhclient-send-hostname-rml.diff index 5d90ef0..6aca931 100644 --- a/dhcp-4.1.1-dhclient-send-hostname-rml.diff +++ b/dhcp-4.2.0-P1-dhclient-send-hostname-rml.diff @@ -86,14 +86,15 @@ index 15c31a5..65e9c23 100644 /* Parse the lease database. */ read_client_leases(); -@@ -653,12 +690,12 @@ static void usage() +@@ -674,12 +711,12 @@ static void usage() log_error("Usage: dhclient %s %s", #ifdef DHCPv6 -- "[-4|-6] [-SNTP1dvrx] [-nw] [-p ]", -+ "[-4|-6] [-SNTP1dvrx] [-nw] [-H ] [-p ]", +- "[-4|-6] [-SNTP1dvrx] [-nw] [-p ] [-D LL|LLT]", ++ "[-4|-6] [-SNTP1dvrx] [-nw] [-H ] [-p ] [-D LL|LLT]", #else /* DHCPv6 */ - "[-1dvrx] [-nw] [-p ]", +- "[-1dvrx] [-nw] [-p ]", ++ "[-1dvrx] [-nw] [-H ] [-p ]", #endif /* DHCPv6 */ "[-s server]"); - log_error(" [-cf config-file] [-lf lease-file]%s", diff --git a/dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 b/dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 new file mode 100644 index 0000000..d5d9410 --- /dev/null +++ b/dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e58b92113ba2502a7f3957065dac709d8d7e8fe3e23bc3e2543cec0a2c11450 +size 9915 diff --git a/dhcp-4.2.0-P1-no-libcrypto.diff b/dhcp-4.2.0-P1-no-libcrypto.diff new file mode 100644 index 0000000..2ee2481 --- /dev/null +++ b/dhcp-4.2.0-P1-no-libcrypto.diff @@ -0,0 +1,17 @@ +diff --git a/configure.ac b/configure.ac +index b880616..3e0d11b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -420,8 +420,12 @@ AC_TRY_LINK( + AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) + + # find an MD5 library ++saved_LIBS="$LIBS" ++LIBS="" + AC_SEARCH_LIBS(MD5_Init, [crypto]) + AC_SEARCH_LIBS(MD5Init, [crypto]) ++CRYPTO_LIBS="$LIBS" ++LIBS="$saved_LIBS" + + # Solaris needs some libraries for functions + AC_SEARCH_LIBS(socket, [socket]) diff --git a/dhcp-4.2.0-P1.tar.bz2 b/dhcp-4.2.0-P1.tar.bz2 new file mode 100644 index 0000000..09fcc3b --- /dev/null +++ b/dhcp-4.2.0-P1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f4249504f17f1696f0d8ec9b975f193564f460e50c58c631e560dce130aadfe2 +size 8434029 diff --git a/dhcp.changes b/dhcp.changes index 6ac32ac..dd673a8 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Nov 26 14:54:43 UTC 2010 - mt@suse.de + +- FIXME: update to 4.2.0-P1 + ------------------------------------------------------------------- Tue Nov 2 09:48:56 UTC 2010 - mt@suse.de diff --git a/dhcp.spec b/dhcp.spec index 1758f94..ca411f4 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -1,5 +1,5 @@ # -# spec file for package dhcp (Version 4.1.1.P1) +# spec file for package dhcp (Version 4.2.0.P1) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -17,7 +17,7 @@ # norootforbuild -%define isc_version 4.1.1-P1 +%define isc_version 4.2.0-P1 %define susefw2dir %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services %define omc_prefix /usr/share/omc %define omc_svcdir %{omc_prefix}/svcinfo.d @@ -32,13 +32,11 @@ BuildRequires: dos2unix License: BSD3c(or similar) Group: Productivity/Networking/Boot/Servers AutoReqProv: on -Version: 4.1.1.P1 -Release: 6 +Version: 4.2.0.P1 +Release: 0 Summary: Common Files Used by ISC DHCP Software Url: http://www.isc.org/software/dhcp Source0: dhcp-%{isc_version}.tar.bz2 -#Source0: http://ftp.isc.org/isc/dhcp/dhcp-%{isc_version}.tar.gz -#Source1: http://ftp.isc.org/isc/dhcp/dhcp-%{isc_version}.tar.gz.asc # Source10: rc.dhcpd Source11: rc.dhcpd6 @@ -75,14 +73,10 @@ Patch13: dhcp-4.1.1-tmpfile.diff Patch14: dhcp-4.1.1-in6_pktinfo-prototype.diff Patch15: contrib-lease-path.diff Patch20: dhcp-4.1.1-dhclient-exec-filedes.diff -Patch21: dhcp-4.1.1-dhclient-send-hostname-rml.diff +Patch21: dhcp-4.2.0-P1-dhclient-send-hostname-rml.diff ## patch lives here: http://www.suse.de/~mt/git/dhcp-ldap.git/ -%if 0%{?with_ldap:1} -Patch30: dhcp-4.1.1-ldap-patch-mt-01.diff.bz2 -Patch31: dhcp-4.1.1-ldap-patch-mt-01_option-numbers.diff -%else -Patch30: dhcp-4.1.1-dhclient-no-libcrypto.diff -%endif +Patch30: dhcp-4.2.0-P1-ldap-patch-mt01.diff.bz2 +Patch39: dhcp-4.2.0-P1-no-libcrypto.diff Patch40: dhcp-4.1.1-P1-lpf-bind-msg-fix.diff Patch41: dhcp-4.1.1-P1-relay-no-ip-on-interface.diff Patch42: dhcp-4.1.1-P1-optional-value-infinite-loop.diff @@ -204,12 +198,10 @@ Authors: %patch15 -p0 %patch20 -p1 %patch21 -p1 -%if 0%{?with_ldap:%with_ldap} -%patch30 -p1 -%patch31 -p1 -%else +%if 0%{?with_ldap:1} %patch30 -p1 %endif +%patch39 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 @@ -245,8 +237,9 @@ autoreconf --enable-paranoia \ --enable-early-chroot \ %if 0%{?with_ldap:%with_ldap} - --enable-ldap-conf \ - --enable-ldap-casa \ + --with-ldap \ + --with-ldapcrypto \ + --with-ldapcasa \ %endif --with-cli-pid-file=%{_localstatedir}/run/dhclient.pid \ --with-cli-lease-file=%{_localstatedir}/lib/dhcp/dhclient.leases \ @@ -280,7 +273,9 @@ install -d -m0755 $RPM_BUILD_ROOT/sbin install -d -m0755 $RPM_BUILD_ROOT%{_sysconfdir}/init.d install -d -m0755 $RPM_BUILD_ROOT/%{susefw2dir} install -d -m0755 $RPM_BUILD_ROOT/%{omc_svcdir} +%if 0%{?with_ldap:%with_ldap} install -d -m0755 $RPM_BUILD_ROOT%{_sysconfdir}/openldap/schema +%endif install -d -m0755 $RPM_BUILD_ROOT%{_localstatedir}/run install -d -m0755 $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates # chroot jail @@ -326,8 +321,10 @@ install -m0644 $RPM_SOURCE_DIR/sysconfig.syslog-dhcpd \ install -m0644 $RPM_SOURCE_DIR/sysconfig.dhcrelay \ $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/ # another config files and scripts -install -m0644 contrib/dhcp.schema \ +%if 0%{?with_ldap:%with_ldap} +install -m0644 contrib/ldap/dhcp.schema \ $RPM_BUILD_ROOT%{_sysconfdir}/openldap/schema +%endif install -m0644 $RPM_SOURCE_DIR/dhcpd.xml \ $RPM_SOURCE_DIR/dhcpd6.xml \ $RPM_BUILD_ROOT/%{omc_svcdir}/ @@ -349,11 +346,6 @@ install -m0644 $RPM_SOURCE_DIR/DDNS-howto.txt . cp doc/examples/* ./examples/ rm -f doc/{References.xml,Makefile*} rm -f contrib/dhcp.spec -%if ! 0%{?with_ldap:%with_ldap} -rm -f doc/draft-ietf-dhc-ldap-schema-01.txt -rm -f contrib/dhcp.schema README.ldap -rm -f contrib/dhcpd-conf-to-ldap.pl -%endif %pre server /usr/sbin/useradd -r -g nogroup -s /bin/false -c "DHCP server daemon" -d /var/lib/dhcp dhcpd 2> /dev/null ||: @@ -450,7 +442,7 @@ if ! test -f /.buildenv; then rm -rf $RPM_BUILD_ROOT; fi %doc %{_mandir}/man8/dhcpd.8.gz %doc %{_mandir}/man5/dhcpd.conf.5.gz %doc %{_mandir}/man5/dhcpd.leases.5.gz -%if 0%{?with_ldap:1} +%if 0%{?with_ldap:%with_ldap} %dir %{_sysconfdir}/openldap %dir %{_sysconfdir}/openldap/schema %attr(0644, root, root) %config %{_sysconfdir}/openldap/schema/dhcp.schema From 817245d4dd2d762f049b061b503233887b4ef94e3367dcc523d7cc8ce9f49c12 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Mon, 29 Nov 2010 14:45:24 +0000 Subject: [PATCH 07/11] - Updated to ISC DHCP 4.2.0-P1 release, providing a security fix to handle a relay forward message with an unspecified address in the link address field. Previously such a message would cause the server to crash. Thanks to a report from John Gibbons. [ISC-Bugs #21992] CERT: VU#102047 CVE: CVE-2010-3611 (bnc#650902) The 4.2.0 version is a feature release, implementing asynchronous DDNS processing and includes "The LDAP Patch". For a complete list of changes from any previous release, please consult the RELNOTES file within the source distribution or on the ISC website: http://www.isc.org/software/dhcp/420 - Fixed compilation to avoid segfaults as soon as ldap is enabled, merged our ldap patches from 4.1.x branch. OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=43 --- dhcp.changes | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/dhcp.changes b/dhcp.changes index dd673a8..b3fc424 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,7 +1,18 @@ ------------------------------------------------------------------- -Fri Nov 26 14:54:43 UTC 2010 - mt@suse.de +Mon Nov 29 15:45:09 CET 2010 - mt@suse.de -- FIXME: update to 4.2.0-P1 +- Updated to ISC DHCP 4.2.0-P1 release, providing a security fix to + handle a relay forward message with an unspecified address in the + link address field. Previously such a message would cause the + server to crash. Thanks to a report from John Gibbons. + [ISC-Bugs #21992] CERT: VU#102047 CVE: CVE-2010-3611 (bnc#650902) + The 4.2.0 version is a feature release, implementing asynchronous + DDNS processing and includes "The LDAP Patch". + For a complete list of changes from any previous release, please + consult the RELNOTES file within the source distribution or on + the ISC website: http://www.isc.org/software/dhcp/420 +- Fixed compilation to avoid segfaults as soon as ldap is enabled, + merged our ldap patches from 4.1.x branch. ------------------------------------------------------------------- Tue Nov 2 09:48:56 UTC 2010 - mt@suse.de From 31926767de603f04c18a285275ade8949f85a7e9ee55cc8ea315eceb39082526 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Mon, 29 Nov 2010 14:55:05 +0000 Subject: [PATCH 08/11] Applied init script & sysconfig variable fixes cleaned up debug build hooks OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=44 --- dhcp.spec | 1 - rc.dhcrelay | 9 ++++++--- rc.dhcrelay6 | 14 ++++++++------ sysconfig.dhcrelay | 12 ++++++------ 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/dhcp.spec b/dhcp.spec index ca411f4..a9d84c7 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -211,7 +211,6 @@ dos2unix contrib/ms2isc/* %build CFLAGS="$RPM_OPT_FLAGS -W -Wall -fno-strict-aliasing -Wno-unused" -CFLAGS=$(echo "$CFLAGS" | sed -e "s/-O./-O0/g") %ifarch ppc ppc64 s390x # bugs 134590, 171532 CFLAGS="$CFLAGS -fsigned-char" diff --git a/rc.dhcrelay b/rc.dhcrelay index 2ceef2a..40ee2e2 100644 --- a/rc.dhcrelay +++ b/rc.dhcrelay @@ -25,6 +25,7 @@ # physical network segment to another. ### END INIT INFO +DHCPv_OPT=-4 DAEMON="ISC DHCPv4 relay agent" DAEMON_BIN=/usr/sbin/dhcrelay DAEMON_CONF=/etc/sysconfig/dhcrelay @@ -79,7 +80,9 @@ rc_reset case "$1" in start) echo -n "Starting $DAEMON" - checkproc $DAEMON_BIN && { echo -n "... already running"; rc_status -v; exit 0; } + checkproc -p $DAEMON_PIDFILE $DAEMON_BIN && { + echo -n "... already running"; rc_status -v; exit 0; + } ## If interfaces or servers are not set, skip starting of dhcrelay ## and return with "program not configured" @@ -100,8 +103,8 @@ case "$1" in # startproc should return 0, even if service is # already running to match LSB spec. test "$2" = "-v" && echo -en \ - "\nexecuting '$DAEMON_BIN $DHCRELAY_OPTIONS $DHCRELAY_INTERFACES_ARGS $DHCRELAY_SERVERS'" - startproc -q -l $STARTPROC_LOGFILE $DAEMON_BIN $DHCRELAY_OPTIONS $DHCRELAY_INTERFACES_ARGS $DHCRELAY_SERVERS + "\nexecuting '$DAEMON_BIN $DHCPv_OPT $DHCRELAY_OPTIONS $DHCRELAY_INTERFACES_ARGS $DHCRELAY_SERVERS'" + startproc -q -l $STARTPROC_LOGFILE -p $DAEMON_PIDFILE $DAEMON_BIN $DHCPv_OPT $DHCRELAY_OPTIONS $DHCRELAY_INTERFACES_ARGS $DHCRELAY_SERVERS rc=$? if ! [ $rc -eq 0 ]; then if [ $link = $base ] ; then diff --git a/rc.dhcrelay6 b/rc.dhcrelay6 index 8bd273d..15b137b 100644 --- a/rc.dhcrelay6 +++ b/rc.dhcrelay6 @@ -25,7 +25,7 @@ # physical network segment to another. ### END INIT INFO - +DHCPv_OPT=-6 DAEMON="ISC DHCPv6 relay agent" DAEMON_BIN=/usr/sbin/dhcrelay6 DAEMON_CONF=/etc/sysconfig/dhcrelay @@ -80,14 +80,16 @@ rc_reset case "$1" in start) echo -n "Starting $DAEMON" - checkproc $DAEMON_BIN && { echo -n "... already running"; rc_status -v; exit 0; } + checkproc -p $DAEMON_PIDFILE $DAEMON_BIN && { + echo -n "... already running"; rc_status -v; exit 0; + } for l in $DHCRELAY6_LOWER_INTERFACES ; do - test x"$l" = x && continue + test "x$l" = x -o "x$l" = "x-l" && continue DHCRELAY6_LOWER_INTERFACES_ARGS="$DHCRELAY6_LOWER_INTERFACES_ARGS -l $l" done for u in $DHCRELAY6_UPPER_INTERFACES ; do - test x"$u" = x && continue + test "x$u" = x -o "x$u" = "x-u" && continue DHCRELAY6_UPPER_INTERFACES_ARGS="$DHCRELAY6_UPPER_INTERFACES_ARGS -u $u" done @@ -108,8 +110,8 @@ case "$1" in # startproc should return 0, even if service is # already running to match LSB spec. test "$2" = "-v" && echo -en \ - "\nexecuting '$DAEMON_BIN $DHCRELAY6_OPTIONS $DHCRELAY6_LOWER_INTERFACES_ARGS $DHCRELAY6_UPPER_INTERFACES_ARGS'" - startproc -q -l $STARTPROC_LOGFILE $DAEMON_BIN $DHCRELAY6_OPTIONS $DHCRELAY6_LOWER_INTERFACES_ARGS $DHCRELAY6_UPPER_INTERFACES_ARGS + "\nexecuting '$DAEMON_BIN $DHCPv_OPT $DHCRELAY6_OPTIONS $DHCRELAY6_LOWER_INTERFACES_ARGS $DHCRELAY6_UPPER_INTERFACES_ARGS'" + startproc -q -l $STARTPROC_LOGFILE -p $DAEMON_PIDFILE $DAEMON_BIN $DHCPv_OPT $DHCRELAY6_OPTIONS $DHCRELAY6_LOWER_INTERFACES_ARGS $DHCRELAY6_UPPER_INTERFACES_ARGS rc=$? if ! [ $rc -eq 0 ]; then if [ $link = $base ] ; then diff --git a/sysconfig.dhcrelay b/sysconfig.dhcrelay index c51c45c..3d6ee67 100644 --- a/sysconfig.dhcrelay +++ b/sysconfig.dhcrelay @@ -32,21 +32,21 @@ DHCRELAY_OPTIONS="" ## Default: "" ## ServiceRestart: dhcrelay6 # -# Specifies the ``lower'' network interface for DHCPv6 relay mode -# separated by spaces. +# Specifies the ``lower'' client link network interfaces for DHCPv6 +# relay -- separated by spaces. # The format of the lower interface is: "[address%]ifname[#index]". # -DHCRELAY6_LOWER_INTERFACES_ARGS="" +DHCRELAY6_LOWER_INTERFACES="" ## Type: string ## Default: "" ## ServiceRestart: dhcrelay6 # -# Specifies the ``upper'' network interface for DHCPv6 relay mode -# separated by spaces. +# Specifies the ``upper'' server link network interfaces for DHCPv6 +# relay -- separated by spaces. # The format of the upper interface is "[address%]ifname". # -DHCRELAY6_UPPER_INTERFACES_ARGS="" +DHCRELAY6_UPPER_INTERFACES="" ## Type: string ## Default: "" From 77f196bc3a80ba7425bbcd53cc3bc12733f2e6d4420d7e174879139cf03abfcd Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 30 Nov 2010 12:11:57 +0000 Subject: [PATCH 09/11] Removed obsolete dhcp-4.1.1-dhclient-no-libcrypto.diff OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=45 --- dhcp-4.1.1-dhclient-no-libcrypto.diff | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 dhcp-4.1.1-dhclient-no-libcrypto.diff diff --git a/dhcp-4.1.1-dhclient-no-libcrypto.diff b/dhcp-4.1.1-dhclient-no-libcrypto.diff deleted file mode 100644 index bfd5c15..0000000 --- a/dhcp-4.1.1-dhclient-no-libcrypto.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- dhcp-4.1.1/configure.ac -+++ dhcp-4.1.1/configure.ac 2010/05/03 12:25:59 -@@ -420,8 +420,13 @@ AC_TRY_LINK( - AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) - - # find an MD5 library -+saved_LIBS="$LIBS" -+LIBS="" - AC_SEARCH_LIBS(MD5_Init, [crypto]) - AC_SEARCH_LIBS(MD5Init, [crypto]) -+CRYPTO_LIBS="$LIBS" -+LIBS="$saved_LIBS" -+AC_SUBST(CRYPTO_LIBS) - - # Solaris needs some libraries for functions - AC_SEARCH_LIBS(socket, [socket]) From 73d4520f2c852781fb8904bb3fc97cfed92b900992c2d0d6cebdde559f6b5e44 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 30 Nov 2010 21:53:03 +0000 Subject: [PATCH 10/11] Added missed DHCRELAY6_LOWER_INTERFACES_ARGS variable rename Initialized DHCRELAY[6_LOWER,6_UPPER]_INTERFACES_ARGS variables OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=46 --- dhcp.spec | 4 ++++ rc.dhcrelay | 1 + rc.dhcrelay6 | 2 ++ 3 files changed, 7 insertions(+) diff --git a/dhcp.spec b/dhcp.spec index a9d84c7..27929eb 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -379,6 +379,10 @@ exit 0 %insserv_cleanup %post relay +%{rename_sysconfig_variable -f etc/sysconfig/dhcrelay + DHCRELAY6_LOWER_INTERFACES_ARGS DHCRELAY6_LOWER_INTERFACES} +%{rename_sysconfig_variable -f etc/sysconfig/dhcrelay + DHCRELAY6_UPPER_INTERFACES_ARGS DHCRELAY6_UPPER_INTERFACES} %{fillup_and_insserv -n dhcrelay dhcrelay dhcrelay6} %preun relay diff --git a/rc.dhcrelay b/rc.dhcrelay index 40ee2e2..01f0100 100644 --- a/rc.dhcrelay +++ b/rc.dhcrelay @@ -93,6 +93,7 @@ case "$1" in exit 6; fi + DHCRELAY_INTERFACES_ARGS='' for i in $DHCRELAY_INTERFACES ; do DHCRELAY_INTERFACES_ARGS="$DHCRELAY_INTERFACES_ARGS -i $i" done diff --git a/rc.dhcrelay6 b/rc.dhcrelay6 index 15b137b..7d6964e 100644 --- a/rc.dhcrelay6 +++ b/rc.dhcrelay6 @@ -84,10 +84,12 @@ case "$1" in echo -n "... already running"; rc_status -v; exit 0; } + DHCRELAY6_LOWER_INTERFACES_ARGS='' for l in $DHCRELAY6_LOWER_INTERFACES ; do test "x$l" = x -o "x$l" = "x-l" && continue DHCRELAY6_LOWER_INTERFACES_ARGS="$DHCRELAY6_LOWER_INTERFACES_ARGS -l $l" done + DHCRELAY6_UPPER_INTERFACES_ARGS='' for u in $DHCRELAY6_UPPER_INTERFACES ; do test "x$u" = x -o "x$u" = "x-u" && continue DHCRELAY6_UPPER_INTERFACES_ARGS="$DHCRELAY6_UPPER_INTERFACES_ARGS -u $u" From 7c0c55f5f00015c3ea42235244fd89dc16d15e0aa562db5ca3c733db56f5d5a9 Mon Sep 17 00:00:00 2001 From: Marius Tomaschewski Date: Tue, 30 Nov 2010 22:01:13 +0000 Subject: [PATCH 11/11] - Fixed to use same/correct dhcrelay6 interface variables in the sysconfig file and in the dhcrelay6 init script. OBS-URL: https://build.opensuse.org/package/show/network:dhcp/dhcp?expand=0&rev=47 --- dhcp.changes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dhcp.changes b/dhcp.changes index b3fc424..f81f908 100644 --- a/dhcp.changes +++ b/dhcp.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Nov 30 21:56:04 UTC 2010 - mt@suse.de + +- Fixed to use same/correct dhcrelay6 interface variables in the + sysconfig file and in the dhcrelay6 init script. + ------------------------------------------------------------------- Mon Nov 29 15:45:09 CET 2010 - mt@suse.de