aboutsummaryrefslogtreecommitdiff
path: root/net/dhcp6
diff options
context:
space:
mode:
authorSUZUKI Shinsuke <suz@FreeBSD.org>2006-06-24 05:57:26 +0000
committerSUZUKI Shinsuke <suz@FreeBSD.org>2006-06-24 05:57:26 +0000
commiteef2566455d8c89e2dfc0ef32f0f5811ba2ad0ae (patch)
tree9c2c5eb921a3c9095b3d451636a063f018f819fc /net/dhcp6
parent1bb0d81cd9cc45cc14a947c24a2198bf6dcf1067 (diff)
downloadports-eef2566455d8c89e2dfc0ef32f0f5811ba2ad0ae.tar.gz
ports-eef2566455d8c89e2dfc0ef32f0f5811ba2ad0ae.zip
Notes
Diffstat (limited to 'net/dhcp6')
-rw-r--r--net/dhcp6/Makefile20
-rw-r--r--net/dhcp6/distinfo6
-rw-r--r--net/dhcp6/files/dhcp6c.sh36
-rw-r--r--net/dhcp6/files/dhcp6c.sh.in53
-rw-r--r--net/dhcp6/files/dhcp6relay.sh35
-rw-r--r--net/dhcp6/files/dhcp6relay.sh.in46
-rw-r--r--net/dhcp6/files/dhcp6s.sh36
-rw-r--r--net/dhcp6/files/dhcp6s.sh.in49
-rw-r--r--net/dhcp6/files/patch-lease.c28
-rw-r--r--net/dhcp6/pkg-plist9
10 files changed, 189 insertions, 129 deletions
diff --git a/net/dhcp6/Makefile b/net/dhcp6/Makefile
index 5a9b06e6cb67..62d727579bda 100644
--- a/net/dhcp6/Makefile
+++ b/net/dhcp6/Makefile
@@ -6,33 +6,24 @@
#
PORTNAME= dhcp6
-PORTVERSION= 20060114
-PORTREVISION= 0
+PORTVERSION= 20060322
+#PORTREVISION= 0
CATEGORIES= net ipv6
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= wide-dhcpv6
-DISTNAME= wide-dhcpv6-${PORTVERSION}
+DISTNAME= wide-dhcpv6-${PORTVERSION}
MAINTAINER= suz@FreeBSD.org
COMMENT= KAME DHCP6 client, server, and relay
WRKSRC= ${WRKDIR}/${DISTNAME}
-USE_RC_SUBR= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --sysconfdir=${LOCALBASE}/etc --with-localdbdir=/var/db
MAN5= dhcp6c.conf.5 dhcp6s.conf.5
MAN8= dhcp6c.8 dhcp6s.8 dhcp6relay.8 dhcp6ctl.8
-RC_SCRIPTS= dhcp6c.sh dhcp6relay.sh dhcp6s.sh
-RC_SCRIPTS_SUB= PREFIX=${PREFIX} \
- RC_SUBR=${RC_SUBR}
-
-post-patch:
-.for f in ${RC_SCRIPTS}
- @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
- ${FILESDIR}/${f} > ${WRKDIR}/${f}
-.endfor
+USE_RC_SUBR= dhcp6c.sh dhcp6relay.sh dhcp6s.sh
post-install:
.if !defined(NOPORTDOCS)
@@ -41,8 +32,5 @@ post-install:
.endif
${INSTALL_DATA} ${WRKSRC}/dhcp6c.conf.sample ${PREFIX}/etc
${INSTALL_DATA} ${WRKSRC}/dhcp6s.conf.sample ${PREFIX}/etc
-.for f in ${RC_SCRIPTS}
- @${INSTALL_SCRIPT} ${WRKDIR}/${f} ${PREFIX}/etc/rc.d/${f}
-.endfor
.include <bsd.port.mk>
diff --git a/net/dhcp6/distinfo b/net/dhcp6/distinfo
index 0cc95a6bf2c1..97d1f8967e69 100644
--- a/net/dhcp6/distinfo
+++ b/net/dhcp6/distinfo
@@ -1,3 +1,3 @@
-MD5 (wide-dhcpv6-20060114.tar.gz) = af600c0a0eb8e31a36e96c650d4f1945
-SHA256 (wide-dhcpv6-20060114.tar.gz) = ce2eaef614ad615b215abfb95374f0c027920b60fa634623f780c78a0c97aae9
-SIZE (wide-dhcpv6-20060114.tar.gz) = 177849
+MD5 (wide-dhcpv6-20060322.tar.gz) = f6464d893b7b8fdeb7ea941ac8532ed9
+SHA256 (wide-dhcpv6-20060322.tar.gz) = 2902335f71a3c782375064889c5d9154583a97453464eab6ca5d1eb99f24aed5
+SIZE (wide-dhcpv6-20060322.tar.gz) = 161026
diff --git a/net/dhcp6/files/dhcp6c.sh b/net/dhcp6/files/dhcp6c.sh
deleted file mode 100644
index 95ecedc1be37..000000000000
--- a/net/dhcp6/files/dhcp6c.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: dhcp6c
-# REQUIRE: DAEMON
-# BEFORE: LOGIN
-# KEYWORD: shutdown
-#
-# NOTE for FreeBSD 5.0+:
-# If you want this script to start with the base rc scripts
-# move dhcp6c.sh to /etc/rc.d/dhcp6c
-
-prefix=%%PREFIX%%
-
-# Define these dhcp6c_* variables in one of these files:
-# /etc/rc.conf
-# /etc/rc.conf.local
-# /etc/rc.conf.d/dhcp6c
-#
-# DO NOT CHANGE THESE DEFAULT VALUES HERE
-#
-dhcp6c_enable=${dhcp6c_enable:-"NO"} # Enable dhcp6c
-#dhcp6c_program="${prefix}/sbin/${name}" # Location of dhcp6c
-#dhcp6c_flags="fxp0" # Flags to dhcp6c program
-
-. %%RC_SUBR%%
-
-name="dhcp6c"
-rcvar=`set_rcvar`
-command="${prefix}/sbin/${name}"
-required_files="${prefix}/etc/${name}.conf"
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/net/dhcp6/files/dhcp6c.sh.in b/net/dhcp6/files/dhcp6c.sh.in
new file mode 100644
index 000000000000..a37fc52c3363
--- /dev/null
+++ b/net/dhcp6/files/dhcp6c.sh.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: dhcp6c
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following lines to
+# /etc/rc.conf.d/dhcp6c /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# dhcp6c_enable (bool): Set to NO by default.
+# Set it to YES to enable dhcp6c.
+# dhcp6c_config (path): Set to %%PREFIX%%/etc/dhcp6c.conf
+# by default.
+# dhcp6c_pidfile (path): Set to /var/run/dhcp6c.pid
+# by default.
+# dhcp6c_interfaces (NIC list): Not defined by default.
+# Set it to the network interface(s) where dhcp6c should work on.
+# dhcp6c_flags (additional arguments): Not defined by default.
+#
+
+. %%RC_SUBR%%
+
+name="dhcp6c"
+rcvar=${name}_enable
+
+prefix="%%PREFIX%%"
+command="${prefix}/sbin/${name}"
+start_precmd="${name}_precmd"
+
+load_rc_config $name
+
+: ${dhcp6c_enable="NO"}
+: ${dhcp6c_config="${prefix}/etc/${name}.conf"}
+: ${dhcp6c_pidfile="/var/run/${name}.pid"}
+
+required_files="${dhcp6c_config}"
+pidfile="${dhcp6c_pidfile}"
+command_args="-c ${dhcp6c_config} -p ${dhcp6c_pidfile} ${dhcp6c_flags} ${dhcp6c_interfaces}"
+
+dhcp6c_precmd()
+{
+ if [ -z ${dhcp6c_interfaces} ]; then
+ warn "dhcp6c_interfaces is not set."
+ return 1
+ fi
+}
+
+run_rc_command "$1"
diff --git a/net/dhcp6/files/dhcp6relay.sh b/net/dhcp6/files/dhcp6relay.sh
deleted file mode 100644
index cece41dbf6b9..000000000000
--- a/net/dhcp6/files/dhcp6relay.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: dhcp6relay
-# REQUIRE: DAEMON
-# BEFORE: LOGIN
-# KEYWORD: shutdown
-#
-# NOTE for FreeBSD 5.0+:
-# If you want this script to start with the base rc scripts
-# move dhcp6relay.sh to /etc/rc.d/dhcp6relay
-
-prefix=%%PREFIX%%
-
-# Define these dhcp6relay_* variables in one of these files:
-# /etc/rc.conf
-# /etc/rc.conf.local
-# /etc/rc.conf.d/dhcp6relay
-#
-# DO NOT CHANGE THESE DEFAULT VALUES HERE
-#
-dhcp6relay_enable=${dhcp6relay_enable:-"NO"} # Enable dhcp6relay
-#dhcp6relay_program="${prefix}/sbin/${name}" # Location of dhcp6relay
-#dhcp6relay_flags="-r fxp1 fxp0" # Flags to dhcp6relay program
-
-. %%RC_SUBR%%
-
-name="dhcp6relay"
-rcvar=`set_rcvar`
-command="${prefix}/sbin/${name}"
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/net/dhcp6/files/dhcp6relay.sh.in b/net/dhcp6/files/dhcp6relay.sh.in
new file mode 100644
index 000000000000..2b7e79da8457
--- /dev/null
+++ b/net/dhcp6/files/dhcp6relay.sh.in
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: dhcp6relay
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following lines to
+# /etc/rc.conf.d/dhcp6relay /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# dhcp6relay_enable (bool): Set to NO by default.
+# Set it to YES to enable dhcp6relay.
+# dhcp6relay_interfaces (NIC list): Not defined by default.
+# Set it to the network interface(s) where dhcp6relay should work
+# on.
+# dhcp6relay_flags (additional arguments): Not defined by default.
+#
+
+. %%RC_SUBR%%
+
+name="dhcp6relay"
+rcvar=${name}_enable
+
+prefix=%%PREFIX%%
+command=${prefix}/sbin/${name}
+start_precmd="${name}_precmd"
+
+load_rc_config $name
+
+: ${dhcp6relay_enable="NO"}
+
+command_args="${dhcp6relay_flags} ${dhcp6relay_interfaces}"
+
+dhcp6relay_precmd()
+{
+ if [ -z ${dhcp6relay_interfaces} ]; then
+ warn "dhcp6relay_interfaces is not set."
+ return 1
+ fi
+}
+
+run_rc_command "$1"
diff --git a/net/dhcp6/files/dhcp6s.sh b/net/dhcp6/files/dhcp6s.sh
deleted file mode 100644
index a9428b1c72f5..000000000000
--- a/net/dhcp6/files/dhcp6s.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: dhcp6s
-# REQUIRE: DAEMON
-# BEFORE: LOGIN
-# KEYWORD: shutdown
-#
-# NOTE for FreeBSD 5.0+:
-# If you want this script to start with the base rc scripts
-# move dhcp6s.sh to /etc/rc.d/dhcp6s
-
-prefix=%%PREFIX%%
-
-# Define these dhcp6s_* variables in one of these files:
-# /etc/rc.conf
-# /etc/rc.conf.local
-# /etc/rc.conf.d/dhcp6s
-#
-# DO NOT CHANGE THESE DEFAULT VALUES HERE
-#
-dhcp6s_enable=${dhcp6s_enable:-"NO"} # Enable dhcp6s
-#dhcp6s_program="${prefix}/sbin/${name}" # Location of dhcp6s
-#dhcp6s_flags="fxp0" # Flags to dhcp6s program
-
-. %%RC_SUBR%%
-
-name="dhcp6s"
-rcvar=`set_rcvar`
-command="${prefix}/sbin/${name}"
-required_files="${prefix}/etc/${name}.conf"
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/net/dhcp6/files/dhcp6s.sh.in b/net/dhcp6/files/dhcp6s.sh.in
new file mode 100644
index 000000000000..f31a405d8651
--- /dev/null
+++ b/net/dhcp6/files/dhcp6s.sh.in
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: dhcp6s
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Add the following lines to
+# /etc/rc.conf.d/dhcp6s /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# dhcp6s_enable (bool): Set to NO by default.
+# Set it to YES to enable dhcp6s.
+# dhcp6s_config (path): Set to %%PREFIX%%/etc/dhcp6s.conf
+# by default.
+# dhcp6s_interface (NIC): Not defined by default.
+# Set it to the network interface where dhcp6s should work on.
+# dhcp6s_flags (additional arguments): Not defined by default.
+#
+
+. %%RC_SUBR%%
+
+name="dhcp6s"
+rcvar=${name}_enable
+
+prefix=%%PREFIX%%
+command=${prefix}/sbin/${name}
+start_precmd="${name}_precmd"
+
+load_rc_config $name
+
+: ${dhcp6s_enable="NO"}
+: ${dhcp6s_config="${prefix}/etc/${name}.conf"}
+
+required_files=${dhcp6s_config}
+command_args="-c ${dhcp6s_config} ${dhcp6s_flags} ${dhcp6s_interface}"
+
+dhcp6s_precmd()
+{
+ if [ -z ${dhcp6s_interface} ]; then
+ warn "dhcp6s_interface is not set."
+ return 1
+ fi
+}
+
+run_rc_command "$1"
diff --git a/net/dhcp6/files/patch-lease.c b/net/dhcp6/files/patch-lease.c
new file mode 100644
index 000000000000..3baad14ee375
--- /dev/null
+++ b/net/dhcp6/files/patch-lease.c
@@ -0,0 +1,28 @@
+--- lease.c.orig Thu Jan 26 07:48:28 2006
++++ lease.c Thu Jun 8 22:05:22 2006
+@@ -33,6 +33,16 @@
+ #include <string.h>
+ #include <sys/socket.h>
+ #include <sys/queue.h>
++#if TIME_WITH_SYS_TIME
++# include <sys/time.h>
++# include <time.h>
++#else
++# if HAVE_SYS_TIME_H
++# include <sys/time.h>
++# else
++# include <time.h>
++# endif
++#endif
+ #include <netinet/in.h>
+ #include "dhcp6.h"
+ #include "config.h"
+@@ -45,7 +55,7 @@
+
+ struct hash_entry {
+ LIST_ENTRY(hash_entry) list;
+- char val[];
++ char *val;
+ };
+
+ LIST_HEAD(hash_head, hash_entry);
diff --git a/net/dhcp6/pkg-plist b/net/dhcp6/pkg-plist
index d8ede4a58ea6..bc93c7bbe30a 100644
--- a/net/dhcp6/pkg-plist
+++ b/net/dhcp6/pkg-plist
@@ -1,8 +1,11 @@
+@unexec %D/etc/rc.d/dhcp6s.sh forcestop 2>/dev/null || true
+@unexec %D/etc/rc.d/dhcp6relay.sh forcestop 2>/dev/null || true
+@unexec %D/etc/rc.d/dhcp6c.sh forcestop 2>/dev/null || true
+@unexec %D/etc/rc.d/dhcp6s forcestop 2>/dev/null || true
+@unexec %D/etc/rc.d/dhcp6relay forcestop 2>/dev/null || true
+@unexec %D/etc/rc.d/dhcp6c forcestop 2>/dev/null || true
etc/dhcp6s.conf.sample
etc/dhcp6c.conf.sample
-etc/rc.d/dhcp6c.sh
-etc/rc.d/dhcp6relay.sh
-etc/rc.d/dhcp6s.sh
sbin/dhcp6c
sbin/dhcp6relay
sbin/dhcp6s