From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Jun 1 16:00:24 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A309A106564A for ; Wed, 1 Jun 2011 16:00:24 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 824818FC0C for ; Wed, 1 Jun 2011 16:00:24 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p51G0NQF030689 for ; Wed, 1 Jun 2011 16:00:23 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p51G0NT7030688; Wed, 1 Jun 2011 16:00:23 GMT (envelope-from gnats) Resent-Date: Wed, 1 Jun 2011 16:00:23 GMT Resent-Message-Id: <201106011600.p51G0NT7030688@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "Lev A. Serebryakov" Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 28BF01065673 for ; Wed, 1 Jun 2011 15:52:32 +0000 (UTC) (envelope-from lev@onlyone.friendlyhosting.spb.ru) Received: from onlyone.friendlyhosting.spb.ru (onlyone.friendlyhosting.spb.ru [IPv6:2a01:4f8:131:60a2::2]) by mx1.freebsd.org (Postfix) with ESMTP id C12308FC12 for ; Wed, 1 Jun 2011 15:52:31 +0000 (UTC) Received: by onlyone.friendlyhosting.spb.ru (Postfix, from userid 1000) id 6386D4AC2D; Wed, 1 Jun 2011 19:52:30 +0400 (MSD) Message-Id: <20110601155230.6386D4AC2D@onlyone.friendlyhosting.spb.ru> Date: Wed, 1 Jun 2011 19:52:30 +0400 (MSD) From: "Lev A. Serebryakov" To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: douglas@douglasthrift.net Subject: ports/157501: [PATCH] Add support for isc-dhcrelay6 analogious to isc-dhcpd6 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Lev A. Serebryakov" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2011 16:00:24 -0000 >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: