Date: Wed, 1 Jun 2011 19:52:30 +0400 (MSD) From: "Lev A. Serebryakov" <lev@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: douglas@douglasthrift.net Subject: ports/157501: [PATCH] Add support for isc-dhcrelay6 analogious to isc-dhcpd6 Message-ID: <20110601155230.6386D4AC2D@onlyone.friendlyhosting.spb.ru> Resent-Message-ID: <201106011600.p51G0NT7030688@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 157501 >Category: ports >Synopsis: [PATCH] Add support for isc-dhcrelay6 analogious to isc-dhcpd6 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 01 16:00:23 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Lev A. Serebryakov >Release: FreeBSD 8.2-STABLE amd64 >Organization: >Environment: System: FreeBSD blob.home.serebryakov.spb.ru 8.2-STABLE FreeBSD 8.2-STABLE #17: Tue May 31 22:07:48 MSD 2011 lev@blob.home.serebryakov.spb.ru:/usr/obj/usr/src/sys/BLOB amd64 >Description: net/isc-dchp41-server port installs two RC_SUPR scripts: isc-dhcpd and isc-dhcpd6 when it is built with IPv6 support. net/isc-dchp41-relay could be built with IPv6 support, but it doesn't provide way to start two realys (for IPv4 and IPv6) simultaneously. This PR changes RC_SUBR script isc-dhcrelay to support such operations, and install link from isc-dhcrelay to isc-dhcrelay6 when port is built with IPv6 support. NB: patch is rooted in `net' directory, as it changes files in TWO ports directories. >How-To-Repeat: >Fix: Index: isc-dhcp41-relay/pkg-plist =================================================================== RCS file: /home/pcvs/ports/net/isc-dhcp41-relay/pkg-plist,v retrieving revision 1.1 diff -u -r1.1 pkg-plist --- isc-dhcp41-relay/pkg-plist 6 May 2010 20:24:00 -0000 1.1 +++ isc-dhcp41-relay/pkg-plist 1 Jun 2011 15:40:19 -0000 @@ -1,4 +1,6 @@ @comment $FreeBSD: ports/net/isc-dhcp41-relay/pkg-plist,v 1.1 2010/05/06 20:24:00 wxs Exp $ @unexec %D/etc/rc.d/isc-dhcrelay.sh forcestop 2>/dev/null || true @unexec %D/etc/rc.d/isc-dhcrelay forcestop 2>/dev/null || true +%%IPV6%%@unexec %D/etc/rc.d/isc-dhcrelay6 forcestop 2>/dev/null || true +%%IPV6%%etc/rc.d/isc-dhcrelay6 sbin/dhcrelay Index: isc-dhcp41-server/Makefile =================================================================== RCS file: /home/pcvs/ports/net/isc-dhcp41-server/Makefile,v retrieving revision 1.20 diff -u -r1.20 Makefile --- isc-dhcp41-server/Makefile 9 May 2011 00:58:17 -0000 1.20 +++ isc-dhcp41-server/Makefile 1 Jun 2011 15:40:20 -0000 @@ -24,7 +24,7 @@ PATCHLEVEL= R2 PORTREVISION_SERVER= 0 PORTREVISION_CLIENT= 0 -PORTREVISION_RELAY= 0 +PORTREVISION_RELAY= 1 SUBSYS?= server WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}-${PATCHLEVEL} Index: isc-dhcp41-server/files/isc-dhcrelay.in =================================================================== RCS file: /home/pcvs/ports/net/isc-dhcp41-server/files/isc-dhcrelay.in,v retrieving revision 1.1 diff -u -r1.1 isc-dhcrelay.in --- isc-dhcp41-server/files/isc-dhcrelay.in 6 May 2010 20:24:01 -0000 1.1 +++ isc-dhcp41-server/files/isc-dhcrelay.in 1 Jun 2011 15:40:20 -0000 @@ -16,25 +16,49 @@ # dhcrelay_servers="" # dhcrelay server(s) # dhcrelay_ifaces="" # ethernet interface(s) +case $0 in +/etc/rc*) + # during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown), + # so get the name of the script from $_file + name=$_file + ;; +*) + name=$0 + ;; +esac + +name=${name##*/isc-} + +case ${name} in +*6) + ipversion=-6 + ;; +*) + ipversion=-4 + ;; +esac + dhcrelay_precmd () { - local ifaces + local ifaces _servers _ifaces + + eval "_servers=\${${name}_servers}" + eval "_ifaces=\${${name}_ifaces}" - if [ -z "${dhcrelay_servers}" ]; then - err 1 "no dhcrelay server(s) configured." + if [ -z "${_servers}" ]; then + err 1 "no ${name} server(s) configured." fi ifaces= - for iface in ${dhcrelay_ifaces}; do + for iface in ${_ifaces}; do ifaces="${ifaces} -i ${iface}" done - rc_flags="${rc_flags} ${ifaces} ${dhcrelay_servers}" + rc_flags="${rc_flags} ${ipversion} ${ifaces} ${_servers}" } . /etc/rc.subr -name=dhcrelay rcvar=${name}_enable command=%%PREFIX%%/sbin/${name} >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110601155230.6386D4AC2D>