aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorroam <roam@FreeBSD.org>2001-02-17 22:17:30 +0800
committerroam <roam@FreeBSD.org>2001-02-17 22:17:30 +0800
commitbb72cada91afb18208e9499c7366eea67aac131b (patch)
tree5842f3c38c1d98626e92814ac08aaf4409a83639 /net
parentaeee2e320b1ecb6d33edf2f1811d4a6d5b065889 (diff)
downloadfreebsd-ports-gnome-bb72cada91afb18208e9499c7366eea67aac131b.tar.gz
freebsd-ports-gnome-bb72cada91afb18208e9499c7366eea67aac131b.tar.zst
freebsd-ports-gnome-bb72cada91afb18208e9499c7366eea67aac131b.zip
Update to 3.0b2pl16, assign maintainership to Cyrille Lefevre.
PR: 24911 Submitted by: Cyrille Lefevre <clefevre@citeweb.net> - new maintainer
Diffstat (limited to 'net')
-rw-r--r--net/isc-dhcp3-server/Makefile118
-rw-r--r--net/isc-dhcp3-server/distinfo2
-rw-r--r--net/isc-dhcp3-server/files/isc-dhcpd.sh.sample7
-rw-r--r--net/isc-dhcp3-server/files/patch-aj63
-rw-r--r--net/isc-dhcp3-server/files/patch-clparse.c14
-rw-r--r--net/isc-dhcp3-server/files/patch-dhclient.856
-rw-r--r--net/isc-dhcp3-server/files/patch-dhclient.c52
-rw-r--r--net/isc-dhcp3-server/files/patch-freebsd76
-rw-r--r--net/isc-dhcp3-server/files/patch-site.conf21
-rw-r--r--net/isc-dhcp3-server/files/patch-site.h5
-rw-r--r--net/isc-dhcp3-server/pkg-descr23
-rw-r--r--net/isc-dhcp3-server/pkg-plist31
-rw-r--r--net/isc-dhcp3/Makefile118
-rw-r--r--net/isc-dhcp3/distinfo2
-rw-r--r--net/isc-dhcp3/files/isc-dhcpd.sh.sample7
-rw-r--r--net/isc-dhcp3/files/patch-aj63
-rw-r--r--net/isc-dhcp3/files/patch-clparse.c14
-rw-r--r--net/isc-dhcp3/files/patch-dhclient.856
-rw-r--r--net/isc-dhcp3/files/patch-dhclient.c52
-rw-r--r--net/isc-dhcp3/files/patch-freebsd76
-rw-r--r--net/isc-dhcp3/files/patch-site.conf21
-rw-r--r--net/isc-dhcp3/files/patch-site.h5
-rw-r--r--net/isc-dhcp3/pkg-descr23
-rw-r--r--net/isc-dhcp3/pkg-plist31
-rw-r--r--net/isc-dhcp30-server/Makefile118
-rw-r--r--net/isc-dhcp30-server/distinfo2
-rw-r--r--net/isc-dhcp30-server/files/isc-dhcpd.sh.sample7
-rw-r--r--net/isc-dhcp30-server/files/patch-aj63
-rw-r--r--net/isc-dhcp30-server/files/patch-clparse.c14
-rw-r--r--net/isc-dhcp30-server/files/patch-dhclient.856
-rw-r--r--net/isc-dhcp30-server/files/patch-dhclient.c52
-rw-r--r--net/isc-dhcp30-server/files/patch-freebsd76
-rw-r--r--net/isc-dhcp30-server/files/patch-site.conf21
-rw-r--r--net/isc-dhcp30-server/files/patch-site.h5
-rw-r--r--net/isc-dhcp30-server/pkg-descr23
-rw-r--r--net/isc-dhcp30-server/pkg-plist31
-rw-r--r--net/isc-dhcp31-server/Makefile118
-rw-r--r--net/isc-dhcp31-server/distinfo2
-rw-r--r--net/isc-dhcp31-server/files/isc-dhcpd.sh.sample7
-rw-r--r--net/isc-dhcp31-server/files/patch-aj63
-rw-r--r--net/isc-dhcp31-server/files/patch-clparse.c14
-rw-r--r--net/isc-dhcp31-server/files/patch-dhclient.856
-rw-r--r--net/isc-dhcp31-server/files/patch-dhclient.c52
-rw-r--r--net/isc-dhcp31-server/files/patch-freebsd76
-rw-r--r--net/isc-dhcp31-server/files/patch-site.conf21
-rw-r--r--net/isc-dhcp31-server/files/patch-site.h5
-rw-r--r--net/isc-dhcp31-server/pkg-descr23
-rw-r--r--net/isc-dhcp31-server/pkg-plist31
-rw-r--r--net/isc-dhcp40-server/Makefile118
-rw-r--r--net/isc-dhcp40-server/distinfo2
-rw-r--r--net/isc-dhcp40-server/files/isc-dhcpd.sh.sample7
-rw-r--r--net/isc-dhcp40-server/files/patch-aj63
-rw-r--r--net/isc-dhcp40-server/files/patch-clparse.c14
-rw-r--r--net/isc-dhcp40-server/files/patch-dhclient.856
-rw-r--r--net/isc-dhcp40-server/files/patch-dhclient.c52
-rw-r--r--net/isc-dhcp40-server/files/patch-freebsd76
-rw-r--r--net/isc-dhcp40-server/files/patch-site.conf21
-rw-r--r--net/isc-dhcp40-server/files/patch-site.h5
-rw-r--r--net/isc-dhcp40-server/pkg-descr23
-rw-r--r--net/isc-dhcp40-server/pkg-plist31
60 files changed, 1660 insertions, 680 deletions
diff --git a/net/isc-dhcp3-server/Makefile b/net/isc-dhcp3-server/Makefile
index 0c565a531cd7..d13a14b692c4 100644
--- a/net/isc-dhcp3-server/Makefile
+++ b/net/isc-dhcp3-server/Makefile
@@ -7,19 +7,16 @@
#
PORTNAME= isc-dhcp3
-PORTVERSION= 3.0.b2.11
+PORTVERSION= 3.0.b2.16
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/
-DISTNAME= dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME= ${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= clefevre@citeweb.net
-.if defined(USE_FACILITY)
-_USE_FACILITY:= `${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY= ${_USE_FACILITY}
-.else
-USE_FACILITY= DAEMON
-.endif
+#
+# Global variables
+#
HAS_CONFIGURE= yes
@@ -29,34 +26,89 @@ MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
- @${ECHO} ""
- @${ECHO} " You can choose which syslog faciliy by setting LOG_FACILITY to:"
- @${ECHO} " daemon, local{0-7}"
- @${ECHO} " 'daemon' is the default option if one is not defined."
- @${ECHO} " Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
- @${ECHO} " if you wish to use a different logging facility."
- @${ECHO} ""
- @sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS= client common dhcpctl minires omapip relay server
+
+BIN_FILES= dhclient dhcpd dhcrelay
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
+RCD_FILES= isc-dhcpd.sh.sample
+DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+DATA_FILES= dhclient.leases dhcpd.leases
+CONF_FILES= dhclient.conf
+
+BIN_DIR= ${PREFIX}/sbin
+ETC_DIR= ${PREFIX}/etc
+RCD_DIR= ${PREFIX}/etc/rc.d
+DOC_DIR= ${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR= /var/db
+
+STRIP?= strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+ @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ ${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+ @${PERL} -pi.fbsd -e \
+ 's|^DEBUG[ ]*=|DEBUG ?=|g;s|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ ${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+ install-doc-files install-sample-files \
+ create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+ @${STRIP} ${BIN_DIR}/${file}
.endif
+.endfor
-post-patch:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
- @${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|DEBUG ?=|g ; s|^CFLAGS[ ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
+install-startup-files:
+.for file in ${RCD_FILES}
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
.endfor
-post-install:
- ${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
- if [ -f ${PREFIX}/sbin/${file} ]; then \
- strip ${PREFIX}/sbin/${file}; \
- fi
+install-doc-files:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+ @${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+ @${TOUCH} ${ETC_DIR}/${file}
+.endif
.endfor
- ${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample \
- ${PREFIX}/etc/rc.d
.include <bsd.port.mk>
diff --git a/net/isc-dhcp3-server/distinfo b/net/isc-dhcp3-server/distinfo
index 969f9ab9d973..bdb0966a924d 100644
--- a/net/isc-dhcp3-server/distinfo
+++ b/net/isc-dhcp3-server/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff --git a/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample
index f07d745c3772..3cc86c5e65a3 100644
--- a/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp3-server/files/isc-dhcpd.sh.sample
@@ -2,6 +2,7 @@
# $FreeBSD$
+OPTIONS=""
IFACES="SET_THIS"
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@ fi
case "$1" in
start)
- ${PREFIX}/sbin/dhcpd $IFACES
+ ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
;;
stop)
- kill `cat /var/run/dhcpd.pid`
+ killall dhcpd
;;
restart)
$0 stop
@@ -24,7 +25,7 @@ status)
ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
;;
*)
- echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+ echo "usage: ${0##*/} {start|stop|restart|status}" >&2
;;
esac
diff --git a/net/isc-dhcp3-server/files/patch-aj b/net/isc-dhcp3-server/files/patch-aj
index 14f7db13ff15..b8a356216c52 100644
--- a/net/isc-dhcp3-server/files/patch-aj
+++ b/net/isc-dhcp3-server/files/patch-aj
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig Wed Feb 2 18:01:17 2000
-+++ includes/dhcpd.h Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
-
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
-
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB "dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF "!!PREFIX!!/etc/dhcpd.conf"
- #endif
-
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB "!!PREFIX!!/etc/dhcpd.leases"
- #endif
-
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF "!!PREFIX!!/etc/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB "!!PREFIX!!/etc/dhclient.leases"
- #endif
-
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ u_int32_t requested_lease; /* Requested lease time, if user
+ doesn't configure one. */
+ struct string_list *media; /* Possible network media values. */
+- char *script_name; /* Name of config script. */
++ const char *script_name; /* Name of config script. */
+ char *vendor_space_name; /* Name of config script. */
+ enum policy bootp_policy;
+ /* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff --git a/net/isc-dhcp3-server/files/patch-clparse.c b/net/isc-dhcp3-server/files/patch-clparse.c
index f2da52a15884..48c125d11094 100644
--- a/net/isc-dhcp3-server/files/patch-clparse.c
+++ b/net/isc-dhcp3-server/files/patch-clparse.c
@@ -1,5 +1,11 @@
---- client/clparse.c.orig Wed Jul 19 21:13:10 2000
-+++ client/clparse.c Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig Thu Jan 25 09:17:17 2001
++++ client/clparse.c Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+
+ static TIME parsed_time;
+
-char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+
+ struct client_config top_level_config;
+
diff --git a/net/isc-dhcp3-server/files/patch-dhclient.8 b/net/isc-dhcp3-server/files/patch-dhclient.8
index 160c451e445b..2ba9899869c3 100644
--- a/net/isc-dhcp3-server/files/patch-dhclient.8
+++ b/net/isc-dhcp3-server/files/patch-dhclient.8
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig Wed May 10 02:36:03 2000
-+++ client/dhclient.8 Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig Mon May 1 19:11:36 2000
++++ client/dhclient.8 Fri Jan 26 05:12:37 2001
@@ -34,7 +34,7 @@
.B -q
]
@@ -9,15 +9,59 @@
]
[
.B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
flag prevents any messages other than errors from being printed to the
standard error descriptor.
-+.PP
+ .PP
+The
+.B -1
+flag cause dhclient to try once to get a lease. If it fails, dhclient exits
+with exit code two.
- .PP
++.PP
The DHCP client normally gets its configuration information from
.B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file. This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff --git a/net/isc-dhcp3-server/files/patch-dhclient.c b/net/isc-dhcp3-server/files/patch-dhclient.c
index bb43074fbd36..ebbd815ecc5e 100644
--- a/net/isc-dhcp3-server/files/patch-dhclient.c
+++ b/net/isc-dhcp3-server/files/patch-dhclient.c
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig Thu Jan 25 09:18:06 2001
++++ client/dhclient.c Fri Jan 26 06:15:50 2001
@@ -78,6 +78,7 @@
u_int16_t remote_port;
int no_daemon;
@@ -8,7 +8,27 @@
static void usage PROTO ((void));
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ int no_dhclient_conf = 0;
+ int no_dhclient_db = 0;
+ int no_dhclient_pid = 0;
++ int no_dhclient_script = 0;
+ char *s;
+
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+ usage ();
+ path_dhclient_db = argv [i];
+ no_dhclient_db = 1;
++ } else if (!strcmp (argv [i], "-sf")) {
++ if (++i == argc)
++ usage ();
++ client_script_name = argv [i];
++ no_dhclient_script = 1;
+ } else if (!strcmp (argv [i], "-q")) {
+ quiet = 1;
+ quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
@@ -17,16 +37,32 @@
} else if (argv [i][0] == '-') {
usage ();
} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ path_dhclient_pid = s;
+ }
++ if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++ client_script_name = s;
++ }
+
+ /* first kill of any currently running client */
+ if (release_mode) {
+@@ -423,10 +435,11 @@
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+ log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
"[-s server]");
- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
- "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
+- "[-cf config-file] [interface]");
++ log_error (" [-cf config-file] [-lf lease-file] %s",
++ "[-pf pid-file] [-sf script-file]");
++ log_fatal (" [interface]");
+ }
+
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
/* No leases were available, or what was available didn't work, so
tell the shell script that we failed to allocate an address,
and try again later. */
diff --git a/net/isc-dhcp3-server/files/patch-freebsd b/net/isc-dhcp3-server/files/patch-freebsd
index 293aa2a33130..2376cbb7ec40 100644
--- a/net/isc-dhcp3-server/files/patch-freebsd
+++ b/net/isc-dhcp3-server/files/patch-freebsd
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd Sat Jan 27 02:17:01 2001
@@ -1,5 +1,11 @@
#!/bin/sh
@@ -55,12 +55,26 @@
hostname $new_host_name
fi
fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+ 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_netmask_arg \
$new_broadcast_arg $medium
+ $LOGGER "New IP Address($interface): $new_ip_address"
-+ $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++ $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
+ if [ "$new_routers" != "" ]; then
+ $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
route add default $router >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
+- set $new_static_routes
+ $LOGGER "New Static Routes: $new_static_routes"
- set $new_static_routes
++ set -- $new_static_routes
while [ $# -gt 1 ]; do
route add $1 $2
-@@ -161,8 +174,12 @@
+ shift; shift
+@@ -138,13 +151,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ fi
+ if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
fi
ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
sleep 1
if [ "$new_routers" != "" ]; then
+- set $new_routers
+ $LOGGER "New Routers: $new_routers"
- set $new_routers
++ set -- $new_routers
if ping -q -c 1 $1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+ for router in $new_routers; do
+ route add default $router >/dev/null 2>&1
+ done
+- set $new_static_routes
++ set -- $new_static_routes
+ while [ $# -gt 1 ]; do
+- route add $0 $1
++ route add $1 $2
+ shift; shift
+ done
+ make_resolv_conf
+@@ -188,13 +205,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ exit_with_hooks 1
+ fi
diff --git a/net/isc-dhcp3-server/files/patch-site.conf b/net/isc-dhcp3-server/files/patch-site.conf
index afe3d066ff89..5efe4195aa73 100644
--- a/net/isc-dhcp3-server/files/patch-site.conf
+++ b/net/isc-dhcp3-server/files/patch-site.conf
@@ -1,23 +1,32 @@
---- site.conf.orig Wed Jul 7 08:20:10 1999
-+++ site.conf Tue Oct 3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig Wed Jul 7 17:20:10 1999
++++ site.conf Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
# Put local site configuration stuff here to override the default
# settings in Makefile.conf
+
+PREFIX ?= /usr/local
+
-+ETC = $(PREFIX)/etc
+BINDIR = $(PREFIX)/sbin
+CLIENTBINDIR = $(PREFIX)/sbin
-+MANCAT = man
+ADMMANDIR = $(PREFIX)/man/man8
+ADMMANEXT = .8
+FFMANDIR = $(PREFIX)/man/man5
+FFMANEXT = .5
+LIBMANDIR = $(PREFIX)/man/man3
+LIBMANEXT = .3
++MANCAT = man
++# INSTALL = ${INSTALL_DATA}
++# MANINSTALL = ${INSTALL_MAN}
++ETC = $(PREFIX)/etc
++LIBDIR = ${PREFIX}/lib
++INCDIR = ${PREFIX}/include
+
+DEBUG ?= #none
-+CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
+CFLAGS += -D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS += -D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff --git a/net/isc-dhcp3-server/files/patch-site.h b/net/isc-dhcp3-server/files/patch-site.h
deleted file mode 100644
index c411dd071f23..000000000000
--- a/net/isc-dhcp3-server/files/patch-site.h
+++ /dev/null
@@ -1,5 +0,0 @@
---- includes/site.h.orig Thu Sep 28 11:24:17 2000
-+++ includes/site.h Sat Dec 2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff --git a/net/isc-dhcp3-server/pkg-descr b/net/isc-dhcp3-server/pkg-descr
index 46bdf5ebae8e..ec2d72947025 100644
--- a/net/isc-dhcp3-server/pkg-descr
+++ b/net/isc-dhcp3-server/pkg-descr
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd). In this release, support for the core
-DHCP protocol is provided. BOOTP support is also provided for
-backwards compatibility.
+ * A DHCP server
+ * A DHCP client
+ * A DHCP relay agent
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0:
+features that are new since version 2.0:
* DHCP Failover Protocol support
* OMAPI, an API for accessing and modifying the DHCP
- server and client state.
+ server and client state.
* Conditional behaviour
* Storing arbitrary information on leases
* Address pools with access control
@@ -19,10 +20,12 @@ features that are new since version 2.0:
* Relay agent information option support
* Dynamic DNS updates
* Many bug fixes, performance enhancements, and minor
- new DHCP protocol features.
+ new DHCP protocol features.
-A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
WWW: http://www.isc.org/products/DHCP/
diff --git a/net/isc-dhcp3-server/pkg-plist b/net/isc-dhcp3-server/pkg-plist
index dc0dc00ce17a..9cca499d267d 100644
--- a/net/isc-dhcp3-server/pkg-plist
+++ b/net/isc-dhcp3-server/pkg-plist
@@ -1,9 +1,8 @@
@comment $FreeBSD$
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
include/isc/boolean.h
include/isc/dst.h
include/isc/int.h
@@ -11,13 +10,25 @@ include/isc/lang.h
include/isc/list.h
include/isc/result.h
include/isc/types.h
-@dirrm include/isc
include/omapip/alloc.h
include/omapip/buffer.h
include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf
diff --git a/net/isc-dhcp3/Makefile b/net/isc-dhcp3/Makefile
index 0c565a531cd7..d13a14b692c4 100644
--- a/net/isc-dhcp3/Makefile
+++ b/net/isc-dhcp3/Makefile
@@ -7,19 +7,16 @@
#
PORTNAME= isc-dhcp3
-PORTVERSION= 3.0.b2.11
+PORTVERSION= 3.0.b2.16
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/
-DISTNAME= dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME= ${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= clefevre@citeweb.net
-.if defined(USE_FACILITY)
-_USE_FACILITY:= `${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY= ${_USE_FACILITY}
-.else
-USE_FACILITY= DAEMON
-.endif
+#
+# Global variables
+#
HAS_CONFIGURE= yes
@@ -29,34 +26,89 @@ MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
- @${ECHO} ""
- @${ECHO} " You can choose which syslog faciliy by setting LOG_FACILITY to:"
- @${ECHO} " daemon, local{0-7}"
- @${ECHO} " 'daemon' is the default option if one is not defined."
- @${ECHO} " Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
- @${ECHO} " if you wish to use a different logging facility."
- @${ECHO} ""
- @sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS= client common dhcpctl minires omapip relay server
+
+BIN_FILES= dhclient dhcpd dhcrelay
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
+RCD_FILES= isc-dhcpd.sh.sample
+DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+DATA_FILES= dhclient.leases dhcpd.leases
+CONF_FILES= dhclient.conf
+
+BIN_DIR= ${PREFIX}/sbin
+ETC_DIR= ${PREFIX}/etc
+RCD_DIR= ${PREFIX}/etc/rc.d
+DOC_DIR= ${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR= /var/db
+
+STRIP?= strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+ @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ ${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+ @${PERL} -pi.fbsd -e \
+ 's|^DEBUG[ ]*=|DEBUG ?=|g;s|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ ${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+ install-doc-files install-sample-files \
+ create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+ @${STRIP} ${BIN_DIR}/${file}
.endif
+.endfor
-post-patch:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
- @${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|DEBUG ?=|g ; s|^CFLAGS[ ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
+install-startup-files:
+.for file in ${RCD_FILES}
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
.endfor
-post-install:
- ${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
- if [ -f ${PREFIX}/sbin/${file} ]; then \
- strip ${PREFIX}/sbin/${file}; \
- fi
+install-doc-files:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+ @${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+ @${TOUCH} ${ETC_DIR}/${file}
+.endif
.endfor
- ${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample \
- ${PREFIX}/etc/rc.d
.include <bsd.port.mk>
diff --git a/net/isc-dhcp3/distinfo b/net/isc-dhcp3/distinfo
index 969f9ab9d973..bdb0966a924d 100644
--- a/net/isc-dhcp3/distinfo
+++ b/net/isc-dhcp3/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff --git a/net/isc-dhcp3/files/isc-dhcpd.sh.sample b/net/isc-dhcp3/files/isc-dhcpd.sh.sample
index f07d745c3772..3cc86c5e65a3 100644
--- a/net/isc-dhcp3/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp3/files/isc-dhcpd.sh.sample
@@ -2,6 +2,7 @@
# $FreeBSD$
+OPTIONS=""
IFACES="SET_THIS"
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@ fi
case "$1" in
start)
- ${PREFIX}/sbin/dhcpd $IFACES
+ ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
;;
stop)
- kill `cat /var/run/dhcpd.pid`
+ killall dhcpd
;;
restart)
$0 stop
@@ -24,7 +25,7 @@ status)
ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
;;
*)
- echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+ echo "usage: ${0##*/} {start|stop|restart|status}" >&2
;;
esac
diff --git a/net/isc-dhcp3/files/patch-aj b/net/isc-dhcp3/files/patch-aj
index 14f7db13ff15..b8a356216c52 100644
--- a/net/isc-dhcp3/files/patch-aj
+++ b/net/isc-dhcp3/files/patch-aj
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig Wed Feb 2 18:01:17 2000
-+++ includes/dhcpd.h Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
-
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
-
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB "dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF "!!PREFIX!!/etc/dhcpd.conf"
- #endif
-
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB "!!PREFIX!!/etc/dhcpd.leases"
- #endif
-
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF "!!PREFIX!!/etc/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB "!!PREFIX!!/etc/dhclient.leases"
- #endif
-
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ u_int32_t requested_lease; /* Requested lease time, if user
+ doesn't configure one. */
+ struct string_list *media; /* Possible network media values. */
+- char *script_name; /* Name of config script. */
++ const char *script_name; /* Name of config script. */
+ char *vendor_space_name; /* Name of config script. */
+ enum policy bootp_policy;
+ /* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff --git a/net/isc-dhcp3/files/patch-clparse.c b/net/isc-dhcp3/files/patch-clparse.c
index f2da52a15884..48c125d11094 100644
--- a/net/isc-dhcp3/files/patch-clparse.c
+++ b/net/isc-dhcp3/files/patch-clparse.c
@@ -1,5 +1,11 @@
---- client/clparse.c.orig Wed Jul 19 21:13:10 2000
-+++ client/clparse.c Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig Thu Jan 25 09:17:17 2001
++++ client/clparse.c Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+
+ static TIME parsed_time;
+
-char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+
+ struct client_config top_level_config;
+
diff --git a/net/isc-dhcp3/files/patch-dhclient.8 b/net/isc-dhcp3/files/patch-dhclient.8
index 160c451e445b..2ba9899869c3 100644
--- a/net/isc-dhcp3/files/patch-dhclient.8
+++ b/net/isc-dhcp3/files/patch-dhclient.8
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig Wed May 10 02:36:03 2000
-+++ client/dhclient.8 Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig Mon May 1 19:11:36 2000
++++ client/dhclient.8 Fri Jan 26 05:12:37 2001
@@ -34,7 +34,7 @@
.B -q
]
@@ -9,15 +9,59 @@
]
[
.B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
flag prevents any messages other than errors from being printed to the
standard error descriptor.
-+.PP
+ .PP
+The
+.B -1
+flag cause dhclient to try once to get a lease. If it fails, dhclient exits
+with exit code two.
- .PP
++.PP
The DHCP client normally gets its configuration information from
.B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file. This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff --git a/net/isc-dhcp3/files/patch-dhclient.c b/net/isc-dhcp3/files/patch-dhclient.c
index bb43074fbd36..ebbd815ecc5e 100644
--- a/net/isc-dhcp3/files/patch-dhclient.c
+++ b/net/isc-dhcp3/files/patch-dhclient.c
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig Thu Jan 25 09:18:06 2001
++++ client/dhclient.c Fri Jan 26 06:15:50 2001
@@ -78,6 +78,7 @@
u_int16_t remote_port;
int no_daemon;
@@ -8,7 +8,27 @@
static void usage PROTO ((void));
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ int no_dhclient_conf = 0;
+ int no_dhclient_db = 0;
+ int no_dhclient_pid = 0;
++ int no_dhclient_script = 0;
+ char *s;
+
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+ usage ();
+ path_dhclient_db = argv [i];
+ no_dhclient_db = 1;
++ } else if (!strcmp (argv [i], "-sf")) {
++ if (++i == argc)
++ usage ();
++ client_script_name = argv [i];
++ no_dhclient_script = 1;
+ } else if (!strcmp (argv [i], "-q")) {
+ quiet = 1;
+ quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
@@ -17,16 +37,32 @@
} else if (argv [i][0] == '-') {
usage ();
} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ path_dhclient_pid = s;
+ }
++ if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++ client_script_name = s;
++ }
+
+ /* first kill of any currently running client */
+ if (release_mode) {
+@@ -423,10 +435,11 @@
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+ log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
"[-s server]");
- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
- "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
+- "[-cf config-file] [interface]");
++ log_error (" [-cf config-file] [-lf lease-file] %s",
++ "[-pf pid-file] [-sf script-file]");
++ log_fatal (" [interface]");
+ }
+
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
/* No leases were available, or what was available didn't work, so
tell the shell script that we failed to allocate an address,
and try again later. */
diff --git a/net/isc-dhcp3/files/patch-freebsd b/net/isc-dhcp3/files/patch-freebsd
index 293aa2a33130..2376cbb7ec40 100644
--- a/net/isc-dhcp3/files/patch-freebsd
+++ b/net/isc-dhcp3/files/patch-freebsd
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd Sat Jan 27 02:17:01 2001
@@ -1,5 +1,11 @@
#!/bin/sh
@@ -55,12 +55,26 @@
hostname $new_host_name
fi
fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+ 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_netmask_arg \
$new_broadcast_arg $medium
+ $LOGGER "New IP Address($interface): $new_ip_address"
-+ $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++ $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
+ if [ "$new_routers" != "" ]; then
+ $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
route add default $router >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
+- set $new_static_routes
+ $LOGGER "New Static Routes: $new_static_routes"
- set $new_static_routes
++ set -- $new_static_routes
while [ $# -gt 1 ]; do
route add $1 $2
-@@ -161,8 +174,12 @@
+ shift; shift
+@@ -138,13 +151,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ fi
+ if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
fi
ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
sleep 1
if [ "$new_routers" != "" ]; then
+- set $new_routers
+ $LOGGER "New Routers: $new_routers"
- set $new_routers
++ set -- $new_routers
if ping -q -c 1 $1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+ for router in $new_routers; do
+ route add default $router >/dev/null 2>&1
+ done
+- set $new_static_routes
++ set -- $new_static_routes
+ while [ $# -gt 1 ]; do
+- route add $0 $1
++ route add $1 $2
+ shift; shift
+ done
+ make_resolv_conf
+@@ -188,13 +205,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ exit_with_hooks 1
+ fi
diff --git a/net/isc-dhcp3/files/patch-site.conf b/net/isc-dhcp3/files/patch-site.conf
index afe3d066ff89..5efe4195aa73 100644
--- a/net/isc-dhcp3/files/patch-site.conf
+++ b/net/isc-dhcp3/files/patch-site.conf
@@ -1,23 +1,32 @@
---- site.conf.orig Wed Jul 7 08:20:10 1999
-+++ site.conf Tue Oct 3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig Wed Jul 7 17:20:10 1999
++++ site.conf Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
# Put local site configuration stuff here to override the default
# settings in Makefile.conf
+
+PREFIX ?= /usr/local
+
-+ETC = $(PREFIX)/etc
+BINDIR = $(PREFIX)/sbin
+CLIENTBINDIR = $(PREFIX)/sbin
-+MANCAT = man
+ADMMANDIR = $(PREFIX)/man/man8
+ADMMANEXT = .8
+FFMANDIR = $(PREFIX)/man/man5
+FFMANEXT = .5
+LIBMANDIR = $(PREFIX)/man/man3
+LIBMANEXT = .3
++MANCAT = man
++# INSTALL = ${INSTALL_DATA}
++# MANINSTALL = ${INSTALL_MAN}
++ETC = $(PREFIX)/etc
++LIBDIR = ${PREFIX}/lib
++INCDIR = ${PREFIX}/include
+
+DEBUG ?= #none
-+CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
+CFLAGS += -D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS += -D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff --git a/net/isc-dhcp3/files/patch-site.h b/net/isc-dhcp3/files/patch-site.h
deleted file mode 100644
index c411dd071f23..000000000000
--- a/net/isc-dhcp3/files/patch-site.h
+++ /dev/null
@@ -1,5 +0,0 @@
---- includes/site.h.orig Thu Sep 28 11:24:17 2000
-+++ includes/site.h Sat Dec 2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff --git a/net/isc-dhcp3/pkg-descr b/net/isc-dhcp3/pkg-descr
index 46bdf5ebae8e..ec2d72947025 100644
--- a/net/isc-dhcp3/pkg-descr
+++ b/net/isc-dhcp3/pkg-descr
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd). In this release, support for the core
-DHCP protocol is provided. BOOTP support is also provided for
-backwards compatibility.
+ * A DHCP server
+ * A DHCP client
+ * A DHCP relay agent
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0:
+features that are new since version 2.0:
* DHCP Failover Protocol support
* OMAPI, an API for accessing and modifying the DHCP
- server and client state.
+ server and client state.
* Conditional behaviour
* Storing arbitrary information on leases
* Address pools with access control
@@ -19,10 +20,12 @@ features that are new since version 2.0:
* Relay agent information option support
* Dynamic DNS updates
* Many bug fixes, performance enhancements, and minor
- new DHCP protocol features.
+ new DHCP protocol features.
-A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
WWW: http://www.isc.org/products/DHCP/
diff --git a/net/isc-dhcp3/pkg-plist b/net/isc-dhcp3/pkg-plist
index dc0dc00ce17a..9cca499d267d 100644
--- a/net/isc-dhcp3/pkg-plist
+++ b/net/isc-dhcp3/pkg-plist
@@ -1,9 +1,8 @@
@comment $FreeBSD$
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
include/isc/boolean.h
include/isc/dst.h
include/isc/int.h
@@ -11,13 +10,25 @@ include/isc/lang.h
include/isc/list.h
include/isc/result.h
include/isc/types.h
-@dirrm include/isc
include/omapip/alloc.h
include/omapip/buffer.h
include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf
diff --git a/net/isc-dhcp30-server/Makefile b/net/isc-dhcp30-server/Makefile
index 0c565a531cd7..d13a14b692c4 100644
--- a/net/isc-dhcp30-server/Makefile
+++ b/net/isc-dhcp30-server/Makefile
@@ -7,19 +7,16 @@
#
PORTNAME= isc-dhcp3
-PORTVERSION= 3.0.b2.11
+PORTVERSION= 3.0.b2.16
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/
-DISTNAME= dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME= ${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= clefevre@citeweb.net
-.if defined(USE_FACILITY)
-_USE_FACILITY:= `${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY= ${_USE_FACILITY}
-.else
-USE_FACILITY= DAEMON
-.endif
+#
+# Global variables
+#
HAS_CONFIGURE= yes
@@ -29,34 +26,89 @@ MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
- @${ECHO} ""
- @${ECHO} " You can choose which syslog faciliy by setting LOG_FACILITY to:"
- @${ECHO} " daemon, local{0-7}"
- @${ECHO} " 'daemon' is the default option if one is not defined."
- @${ECHO} " Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
- @${ECHO} " if you wish to use a different logging facility."
- @${ECHO} ""
- @sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS= client common dhcpctl minires omapip relay server
+
+BIN_FILES= dhclient dhcpd dhcrelay
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
+RCD_FILES= isc-dhcpd.sh.sample
+DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+DATA_FILES= dhclient.leases dhcpd.leases
+CONF_FILES= dhclient.conf
+
+BIN_DIR= ${PREFIX}/sbin
+ETC_DIR= ${PREFIX}/etc
+RCD_DIR= ${PREFIX}/etc/rc.d
+DOC_DIR= ${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR= /var/db
+
+STRIP?= strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+ @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ ${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+ @${PERL} -pi.fbsd -e \
+ 's|^DEBUG[ ]*=|DEBUG ?=|g;s|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ ${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+ install-doc-files install-sample-files \
+ create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+ @${STRIP} ${BIN_DIR}/${file}
.endif
+.endfor
-post-patch:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
- @${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|DEBUG ?=|g ; s|^CFLAGS[ ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
+install-startup-files:
+.for file in ${RCD_FILES}
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
.endfor
-post-install:
- ${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
- if [ -f ${PREFIX}/sbin/${file} ]; then \
- strip ${PREFIX}/sbin/${file}; \
- fi
+install-doc-files:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+ @${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+ @${TOUCH} ${ETC_DIR}/${file}
+.endif
.endfor
- ${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample \
- ${PREFIX}/etc/rc.d
.include <bsd.port.mk>
diff --git a/net/isc-dhcp30-server/distinfo b/net/isc-dhcp30-server/distinfo
index 969f9ab9d973..bdb0966a924d 100644
--- a/net/isc-dhcp30-server/distinfo
+++ b/net/isc-dhcp30-server/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff --git a/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample
index f07d745c3772..3cc86c5e65a3 100644
--- a/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp30-server/files/isc-dhcpd.sh.sample
@@ -2,6 +2,7 @@
# $FreeBSD$
+OPTIONS=""
IFACES="SET_THIS"
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@ fi
case "$1" in
start)
- ${PREFIX}/sbin/dhcpd $IFACES
+ ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
;;
stop)
- kill `cat /var/run/dhcpd.pid`
+ killall dhcpd
;;
restart)
$0 stop
@@ -24,7 +25,7 @@ status)
ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
;;
*)
- echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+ echo "usage: ${0##*/} {start|stop|restart|status}" >&2
;;
esac
diff --git a/net/isc-dhcp30-server/files/patch-aj b/net/isc-dhcp30-server/files/patch-aj
index 14f7db13ff15..b8a356216c52 100644
--- a/net/isc-dhcp30-server/files/patch-aj
+++ b/net/isc-dhcp30-server/files/patch-aj
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig Wed Feb 2 18:01:17 2000
-+++ includes/dhcpd.h Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
-
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
-
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB "dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF "!!PREFIX!!/etc/dhcpd.conf"
- #endif
-
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB "!!PREFIX!!/etc/dhcpd.leases"
- #endif
-
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF "!!PREFIX!!/etc/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB "!!PREFIX!!/etc/dhclient.leases"
- #endif
-
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ u_int32_t requested_lease; /* Requested lease time, if user
+ doesn't configure one. */
+ struct string_list *media; /* Possible network media values. */
+- char *script_name; /* Name of config script. */
++ const char *script_name; /* Name of config script. */
+ char *vendor_space_name; /* Name of config script. */
+ enum policy bootp_policy;
+ /* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff --git a/net/isc-dhcp30-server/files/patch-clparse.c b/net/isc-dhcp30-server/files/patch-clparse.c
index f2da52a15884..48c125d11094 100644
--- a/net/isc-dhcp30-server/files/patch-clparse.c
+++ b/net/isc-dhcp30-server/files/patch-clparse.c
@@ -1,5 +1,11 @@
---- client/clparse.c.orig Wed Jul 19 21:13:10 2000
-+++ client/clparse.c Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig Thu Jan 25 09:17:17 2001
++++ client/clparse.c Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+
+ static TIME parsed_time;
+
-char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+
+ struct client_config top_level_config;
+
diff --git a/net/isc-dhcp30-server/files/patch-dhclient.8 b/net/isc-dhcp30-server/files/patch-dhclient.8
index 160c451e445b..2ba9899869c3 100644
--- a/net/isc-dhcp30-server/files/patch-dhclient.8
+++ b/net/isc-dhcp30-server/files/patch-dhclient.8
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig Wed May 10 02:36:03 2000
-+++ client/dhclient.8 Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig Mon May 1 19:11:36 2000
++++ client/dhclient.8 Fri Jan 26 05:12:37 2001
@@ -34,7 +34,7 @@
.B -q
]
@@ -9,15 +9,59 @@
]
[
.B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
flag prevents any messages other than errors from being printed to the
standard error descriptor.
-+.PP
+ .PP
+The
+.B -1
+flag cause dhclient to try once to get a lease. If it fails, dhclient exits
+with exit code two.
- .PP
++.PP
The DHCP client normally gets its configuration information from
.B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file. This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff --git a/net/isc-dhcp30-server/files/patch-dhclient.c b/net/isc-dhcp30-server/files/patch-dhclient.c
index bb43074fbd36..ebbd815ecc5e 100644
--- a/net/isc-dhcp30-server/files/patch-dhclient.c
+++ b/net/isc-dhcp30-server/files/patch-dhclient.c
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig Thu Jan 25 09:18:06 2001
++++ client/dhclient.c Fri Jan 26 06:15:50 2001
@@ -78,6 +78,7 @@
u_int16_t remote_port;
int no_daemon;
@@ -8,7 +8,27 @@
static void usage PROTO ((void));
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ int no_dhclient_conf = 0;
+ int no_dhclient_db = 0;
+ int no_dhclient_pid = 0;
++ int no_dhclient_script = 0;
+ char *s;
+
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+ usage ();
+ path_dhclient_db = argv [i];
+ no_dhclient_db = 1;
++ } else if (!strcmp (argv [i], "-sf")) {
++ if (++i == argc)
++ usage ();
++ client_script_name = argv [i];
++ no_dhclient_script = 1;
+ } else if (!strcmp (argv [i], "-q")) {
+ quiet = 1;
+ quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
@@ -17,16 +37,32 @@
} else if (argv [i][0] == '-') {
usage ();
} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ path_dhclient_pid = s;
+ }
++ if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++ client_script_name = s;
++ }
+
+ /* first kill of any currently running client */
+ if (release_mode) {
+@@ -423,10 +435,11 @@
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+ log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
"[-s server]");
- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
- "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
+- "[-cf config-file] [interface]");
++ log_error (" [-cf config-file] [-lf lease-file] %s",
++ "[-pf pid-file] [-sf script-file]");
++ log_fatal (" [interface]");
+ }
+
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
/* No leases were available, or what was available didn't work, so
tell the shell script that we failed to allocate an address,
and try again later. */
diff --git a/net/isc-dhcp30-server/files/patch-freebsd b/net/isc-dhcp30-server/files/patch-freebsd
index 293aa2a33130..2376cbb7ec40 100644
--- a/net/isc-dhcp30-server/files/patch-freebsd
+++ b/net/isc-dhcp30-server/files/patch-freebsd
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd Sat Jan 27 02:17:01 2001
@@ -1,5 +1,11 @@
#!/bin/sh
@@ -55,12 +55,26 @@
hostname $new_host_name
fi
fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+ 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_netmask_arg \
$new_broadcast_arg $medium
+ $LOGGER "New IP Address($interface): $new_ip_address"
-+ $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++ $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
+ if [ "$new_routers" != "" ]; then
+ $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
route add default $router >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
+- set $new_static_routes
+ $LOGGER "New Static Routes: $new_static_routes"
- set $new_static_routes
++ set -- $new_static_routes
while [ $# -gt 1 ]; do
route add $1 $2
-@@ -161,8 +174,12 @@
+ shift; shift
+@@ -138,13 +151,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ fi
+ if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
fi
ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
sleep 1
if [ "$new_routers" != "" ]; then
+- set $new_routers
+ $LOGGER "New Routers: $new_routers"
- set $new_routers
++ set -- $new_routers
if ping -q -c 1 $1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+ for router in $new_routers; do
+ route add default $router >/dev/null 2>&1
+ done
+- set $new_static_routes
++ set -- $new_static_routes
+ while [ $# -gt 1 ]; do
+- route add $0 $1
++ route add $1 $2
+ shift; shift
+ done
+ make_resolv_conf
+@@ -188,13 +205,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ exit_with_hooks 1
+ fi
diff --git a/net/isc-dhcp30-server/files/patch-site.conf b/net/isc-dhcp30-server/files/patch-site.conf
index afe3d066ff89..5efe4195aa73 100644
--- a/net/isc-dhcp30-server/files/patch-site.conf
+++ b/net/isc-dhcp30-server/files/patch-site.conf
@@ -1,23 +1,32 @@
---- site.conf.orig Wed Jul 7 08:20:10 1999
-+++ site.conf Tue Oct 3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig Wed Jul 7 17:20:10 1999
++++ site.conf Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
# Put local site configuration stuff here to override the default
# settings in Makefile.conf
+
+PREFIX ?= /usr/local
+
-+ETC = $(PREFIX)/etc
+BINDIR = $(PREFIX)/sbin
+CLIENTBINDIR = $(PREFIX)/sbin
-+MANCAT = man
+ADMMANDIR = $(PREFIX)/man/man8
+ADMMANEXT = .8
+FFMANDIR = $(PREFIX)/man/man5
+FFMANEXT = .5
+LIBMANDIR = $(PREFIX)/man/man3
+LIBMANEXT = .3
++MANCAT = man
++# INSTALL = ${INSTALL_DATA}
++# MANINSTALL = ${INSTALL_MAN}
++ETC = $(PREFIX)/etc
++LIBDIR = ${PREFIX}/lib
++INCDIR = ${PREFIX}/include
+
+DEBUG ?= #none
-+CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
+CFLAGS += -D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS += -D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff --git a/net/isc-dhcp30-server/files/patch-site.h b/net/isc-dhcp30-server/files/patch-site.h
deleted file mode 100644
index c411dd071f23..000000000000
--- a/net/isc-dhcp30-server/files/patch-site.h
+++ /dev/null
@@ -1,5 +0,0 @@
---- includes/site.h.orig Thu Sep 28 11:24:17 2000
-+++ includes/site.h Sat Dec 2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff --git a/net/isc-dhcp30-server/pkg-descr b/net/isc-dhcp30-server/pkg-descr
index 46bdf5ebae8e..ec2d72947025 100644
--- a/net/isc-dhcp30-server/pkg-descr
+++ b/net/isc-dhcp30-server/pkg-descr
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd). In this release, support for the core
-DHCP protocol is provided. BOOTP support is also provided for
-backwards compatibility.
+ * A DHCP server
+ * A DHCP client
+ * A DHCP relay agent
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0:
+features that are new since version 2.0:
* DHCP Failover Protocol support
* OMAPI, an API for accessing and modifying the DHCP
- server and client state.
+ server and client state.
* Conditional behaviour
* Storing arbitrary information on leases
* Address pools with access control
@@ -19,10 +20,12 @@ features that are new since version 2.0:
* Relay agent information option support
* Dynamic DNS updates
* Many bug fixes, performance enhancements, and minor
- new DHCP protocol features.
+ new DHCP protocol features.
-A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
WWW: http://www.isc.org/products/DHCP/
diff --git a/net/isc-dhcp30-server/pkg-plist b/net/isc-dhcp30-server/pkg-plist
index dc0dc00ce17a..9cca499d267d 100644
--- a/net/isc-dhcp30-server/pkg-plist
+++ b/net/isc-dhcp30-server/pkg-plist
@@ -1,9 +1,8 @@
@comment $FreeBSD$
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
include/isc/boolean.h
include/isc/dst.h
include/isc/int.h
@@ -11,13 +10,25 @@ include/isc/lang.h
include/isc/list.h
include/isc/result.h
include/isc/types.h
-@dirrm include/isc
include/omapip/alloc.h
include/omapip/buffer.h
include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf
diff --git a/net/isc-dhcp31-server/Makefile b/net/isc-dhcp31-server/Makefile
index 0c565a531cd7..d13a14b692c4 100644
--- a/net/isc-dhcp31-server/Makefile
+++ b/net/isc-dhcp31-server/Makefile
@@ -7,19 +7,16 @@
#
PORTNAME= isc-dhcp3
-PORTVERSION= 3.0.b2.11
+PORTVERSION= 3.0.b2.16
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/
-DISTNAME= dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME= ${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= clefevre@citeweb.net
-.if defined(USE_FACILITY)
-_USE_FACILITY:= `${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY= ${_USE_FACILITY}
-.else
-USE_FACILITY= DAEMON
-.endif
+#
+# Global variables
+#
HAS_CONFIGURE= yes
@@ -29,34 +26,89 @@ MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
- @${ECHO} ""
- @${ECHO} " You can choose which syslog faciliy by setting LOG_FACILITY to:"
- @${ECHO} " daemon, local{0-7}"
- @${ECHO} " 'daemon' is the default option if one is not defined."
- @${ECHO} " Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
- @${ECHO} " if you wish to use a different logging facility."
- @${ECHO} ""
- @sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS= client common dhcpctl minires omapip relay server
+
+BIN_FILES= dhclient dhcpd dhcrelay
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
+RCD_FILES= isc-dhcpd.sh.sample
+DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+DATA_FILES= dhclient.leases dhcpd.leases
+CONF_FILES= dhclient.conf
+
+BIN_DIR= ${PREFIX}/sbin
+ETC_DIR= ${PREFIX}/etc
+RCD_DIR= ${PREFIX}/etc/rc.d
+DOC_DIR= ${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR= /var/db
+
+STRIP?= strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+ @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ ${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+ @${PERL} -pi.fbsd -e \
+ 's|^DEBUG[ ]*=|DEBUG ?=|g;s|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ ${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+ install-doc-files install-sample-files \
+ create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+ @${STRIP} ${BIN_DIR}/${file}
.endif
+.endfor
-post-patch:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
- @${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|DEBUG ?=|g ; s|^CFLAGS[ ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
+install-startup-files:
+.for file in ${RCD_FILES}
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
.endfor
-post-install:
- ${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
- if [ -f ${PREFIX}/sbin/${file} ]; then \
- strip ${PREFIX}/sbin/${file}; \
- fi
+install-doc-files:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+ @${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+ @${TOUCH} ${ETC_DIR}/${file}
+.endif
.endfor
- ${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample \
- ${PREFIX}/etc/rc.d
.include <bsd.port.mk>
diff --git a/net/isc-dhcp31-server/distinfo b/net/isc-dhcp31-server/distinfo
index 969f9ab9d973..bdb0966a924d 100644
--- a/net/isc-dhcp31-server/distinfo
+++ b/net/isc-dhcp31-server/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff --git a/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
index f07d745c3772..3cc86c5e65a3 100644
--- a/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp31-server/files/isc-dhcpd.sh.sample
@@ -2,6 +2,7 @@
# $FreeBSD$
+OPTIONS=""
IFACES="SET_THIS"
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@ fi
case "$1" in
start)
- ${PREFIX}/sbin/dhcpd $IFACES
+ ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
;;
stop)
- kill `cat /var/run/dhcpd.pid`
+ killall dhcpd
;;
restart)
$0 stop
@@ -24,7 +25,7 @@ status)
ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
;;
*)
- echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+ echo "usage: ${0##*/} {start|stop|restart|status}" >&2
;;
esac
diff --git a/net/isc-dhcp31-server/files/patch-aj b/net/isc-dhcp31-server/files/patch-aj
index 14f7db13ff15..b8a356216c52 100644
--- a/net/isc-dhcp31-server/files/patch-aj
+++ b/net/isc-dhcp31-server/files/patch-aj
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig Wed Feb 2 18:01:17 2000
-+++ includes/dhcpd.h Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
-
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
-
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB "dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF "!!PREFIX!!/etc/dhcpd.conf"
- #endif
-
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB "!!PREFIX!!/etc/dhcpd.leases"
- #endif
-
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF "!!PREFIX!!/etc/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB "!!PREFIX!!/etc/dhclient.leases"
- #endif
-
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ u_int32_t requested_lease; /* Requested lease time, if user
+ doesn't configure one. */
+ struct string_list *media; /* Possible network media values. */
+- char *script_name; /* Name of config script. */
++ const char *script_name; /* Name of config script. */
+ char *vendor_space_name; /* Name of config script. */
+ enum policy bootp_policy;
+ /* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff --git a/net/isc-dhcp31-server/files/patch-clparse.c b/net/isc-dhcp31-server/files/patch-clparse.c
index f2da52a15884..48c125d11094 100644
--- a/net/isc-dhcp31-server/files/patch-clparse.c
+++ b/net/isc-dhcp31-server/files/patch-clparse.c
@@ -1,5 +1,11 @@
---- client/clparse.c.orig Wed Jul 19 21:13:10 2000
-+++ client/clparse.c Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig Thu Jan 25 09:17:17 2001
++++ client/clparse.c Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+
+ static TIME parsed_time;
+
-char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+
+ struct client_config top_level_config;
+
diff --git a/net/isc-dhcp31-server/files/patch-dhclient.8 b/net/isc-dhcp31-server/files/patch-dhclient.8
index 160c451e445b..2ba9899869c3 100644
--- a/net/isc-dhcp31-server/files/patch-dhclient.8
+++ b/net/isc-dhcp31-server/files/patch-dhclient.8
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig Wed May 10 02:36:03 2000
-+++ client/dhclient.8 Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig Mon May 1 19:11:36 2000
++++ client/dhclient.8 Fri Jan 26 05:12:37 2001
@@ -34,7 +34,7 @@
.B -q
]
@@ -9,15 +9,59 @@
]
[
.B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
flag prevents any messages other than errors from being printed to the
standard error descriptor.
-+.PP
+ .PP
+The
+.B -1
+flag cause dhclient to try once to get a lease. If it fails, dhclient exits
+with exit code two.
- .PP
++.PP
The DHCP client normally gets its configuration information from
.B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file. This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff --git a/net/isc-dhcp31-server/files/patch-dhclient.c b/net/isc-dhcp31-server/files/patch-dhclient.c
index bb43074fbd36..ebbd815ecc5e 100644
--- a/net/isc-dhcp31-server/files/patch-dhclient.c
+++ b/net/isc-dhcp31-server/files/patch-dhclient.c
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig Thu Jan 25 09:18:06 2001
++++ client/dhclient.c Fri Jan 26 06:15:50 2001
@@ -78,6 +78,7 @@
u_int16_t remote_port;
int no_daemon;
@@ -8,7 +8,27 @@
static void usage PROTO ((void));
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ int no_dhclient_conf = 0;
+ int no_dhclient_db = 0;
+ int no_dhclient_pid = 0;
++ int no_dhclient_script = 0;
+ char *s;
+
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+ usage ();
+ path_dhclient_db = argv [i];
+ no_dhclient_db = 1;
++ } else if (!strcmp (argv [i], "-sf")) {
++ if (++i == argc)
++ usage ();
++ client_script_name = argv [i];
++ no_dhclient_script = 1;
+ } else if (!strcmp (argv [i], "-q")) {
+ quiet = 1;
+ quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
@@ -17,16 +37,32 @@
} else if (argv [i][0] == '-') {
usage ();
} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ path_dhclient_pid = s;
+ }
++ if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++ client_script_name = s;
++ }
+
+ /* first kill of any currently running client */
+ if (release_mode) {
+@@ -423,10 +435,11 @@
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+ log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
"[-s server]");
- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
- "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
+- "[-cf config-file] [interface]");
++ log_error (" [-cf config-file] [-lf lease-file] %s",
++ "[-pf pid-file] [-sf script-file]");
++ log_fatal (" [interface]");
+ }
+
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
/* No leases were available, or what was available didn't work, so
tell the shell script that we failed to allocate an address,
and try again later. */
diff --git a/net/isc-dhcp31-server/files/patch-freebsd b/net/isc-dhcp31-server/files/patch-freebsd
index 293aa2a33130..2376cbb7ec40 100644
--- a/net/isc-dhcp31-server/files/patch-freebsd
+++ b/net/isc-dhcp31-server/files/patch-freebsd
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd Sat Jan 27 02:17:01 2001
@@ -1,5 +1,11 @@
#!/bin/sh
@@ -55,12 +55,26 @@
hostname $new_host_name
fi
fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+ 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_netmask_arg \
$new_broadcast_arg $medium
+ $LOGGER "New IP Address($interface): $new_ip_address"
-+ $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++ $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
+ if [ "$new_routers" != "" ]; then
+ $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
route add default $router >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
+- set $new_static_routes
+ $LOGGER "New Static Routes: $new_static_routes"
- set $new_static_routes
++ set -- $new_static_routes
while [ $# -gt 1 ]; do
route add $1 $2
-@@ -161,8 +174,12 @@
+ shift; shift
+@@ -138,13 +151,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ fi
+ if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
fi
ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
sleep 1
if [ "$new_routers" != "" ]; then
+- set $new_routers
+ $LOGGER "New Routers: $new_routers"
- set $new_routers
++ set -- $new_routers
if ping -q -c 1 $1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+ for router in $new_routers; do
+ route add default $router >/dev/null 2>&1
+ done
+- set $new_static_routes
++ set -- $new_static_routes
+ while [ $# -gt 1 ]; do
+- route add $0 $1
++ route add $1 $2
+ shift; shift
+ done
+ make_resolv_conf
+@@ -188,13 +205,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ exit_with_hooks 1
+ fi
diff --git a/net/isc-dhcp31-server/files/patch-site.conf b/net/isc-dhcp31-server/files/patch-site.conf
index afe3d066ff89..5efe4195aa73 100644
--- a/net/isc-dhcp31-server/files/patch-site.conf
+++ b/net/isc-dhcp31-server/files/patch-site.conf
@@ -1,23 +1,32 @@
---- site.conf.orig Wed Jul 7 08:20:10 1999
-+++ site.conf Tue Oct 3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig Wed Jul 7 17:20:10 1999
++++ site.conf Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
# Put local site configuration stuff here to override the default
# settings in Makefile.conf
+
+PREFIX ?= /usr/local
+
-+ETC = $(PREFIX)/etc
+BINDIR = $(PREFIX)/sbin
+CLIENTBINDIR = $(PREFIX)/sbin
-+MANCAT = man
+ADMMANDIR = $(PREFIX)/man/man8
+ADMMANEXT = .8
+FFMANDIR = $(PREFIX)/man/man5
+FFMANEXT = .5
+LIBMANDIR = $(PREFIX)/man/man3
+LIBMANEXT = .3
++MANCAT = man
++# INSTALL = ${INSTALL_DATA}
++# MANINSTALL = ${INSTALL_MAN}
++ETC = $(PREFIX)/etc
++LIBDIR = ${PREFIX}/lib
++INCDIR = ${PREFIX}/include
+
+DEBUG ?= #none
-+CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
+CFLAGS += -D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS += -D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff --git a/net/isc-dhcp31-server/files/patch-site.h b/net/isc-dhcp31-server/files/patch-site.h
deleted file mode 100644
index c411dd071f23..000000000000
--- a/net/isc-dhcp31-server/files/patch-site.h
+++ /dev/null
@@ -1,5 +0,0 @@
---- includes/site.h.orig Thu Sep 28 11:24:17 2000
-+++ includes/site.h Sat Dec 2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff --git a/net/isc-dhcp31-server/pkg-descr b/net/isc-dhcp31-server/pkg-descr
index 46bdf5ebae8e..ec2d72947025 100644
--- a/net/isc-dhcp31-server/pkg-descr
+++ b/net/isc-dhcp31-server/pkg-descr
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd). In this release, support for the core
-DHCP protocol is provided. BOOTP support is also provided for
-backwards compatibility.
+ * A DHCP server
+ * A DHCP client
+ * A DHCP relay agent
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0:
+features that are new since version 2.0:
* DHCP Failover Protocol support
* OMAPI, an API for accessing and modifying the DHCP
- server and client state.
+ server and client state.
* Conditional behaviour
* Storing arbitrary information on leases
* Address pools with access control
@@ -19,10 +20,12 @@ features that are new since version 2.0:
* Relay agent information option support
* Dynamic DNS updates
* Many bug fixes, performance enhancements, and minor
- new DHCP protocol features.
+ new DHCP protocol features.
-A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
WWW: http://www.isc.org/products/DHCP/
diff --git a/net/isc-dhcp31-server/pkg-plist b/net/isc-dhcp31-server/pkg-plist
index dc0dc00ce17a..9cca499d267d 100644
--- a/net/isc-dhcp31-server/pkg-plist
+++ b/net/isc-dhcp31-server/pkg-plist
@@ -1,9 +1,8 @@
@comment $FreeBSD$
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
include/isc/boolean.h
include/isc/dst.h
include/isc/int.h
@@ -11,13 +10,25 @@ include/isc/lang.h
include/isc/list.h
include/isc/result.h
include/isc/types.h
-@dirrm include/isc
include/omapip/alloc.h
include/omapip/buffer.h
include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf
diff --git a/net/isc-dhcp40-server/Makefile b/net/isc-dhcp40-server/Makefile
index 0c565a531cd7..d13a14b692c4 100644
--- a/net/isc-dhcp40-server/Makefile
+++ b/net/isc-dhcp40-server/Makefile
@@ -7,19 +7,16 @@
#
PORTNAME= isc-dhcp3
-PORTVERSION= 3.0.b2.11
+PORTVERSION= 3.0.b2.16
CATEGORIES= net
MASTER_SITES= ftp://ftp.isc.org/isc/dhcp/
-DISTNAME= dhcp-3.0b2pl${PORTVERSION:S/3.0.b2.//g}
+DISTNAME= ${PORTNAME:S/isc-//:S/3/-/}${PORTVERSION:S/.b/b/:R}pl${PORTVERSION:E}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= clefevre@citeweb.net
-.if defined(USE_FACILITY)
-_USE_FACILITY:= `${ECHO} ${USE_FACILITY} | ${TR} "[:lower:]" "[:upper:]"`
-USE_FACILITY= ${_USE_FACILITY}
-.else
-USE_FACILITY= DAEMON
-.endif
+#
+# Global variables
+#
HAS_CONFIGURE= yes
@@ -29,34 +26,89 @@ MAN5= dhclient.conf.5 dhclient.leases.5 dhcp-contrib.5 \
dhcpd.leases.5
MAN8= dhclient.8 dhclient-script.8 dhcpd.8 dhcrelay.8
-pre-fetch:
-.if ${USE_FACILITY} == "DAEMON"
- @${ECHO} ""
- @${ECHO} " You can choose which syslog faciliy by setting LOG_FACILITY to:"
- @${ECHO} " daemon, local{0-7}"
- @${ECHO} " 'daemon' is the default option if one is not defined."
- @${ECHO} " Press Control-C and run make clean build LOG_FACILITY=<local{0-7}>,"
- @${ECHO} " if you wish to use a different logging facility."
- @${ECHO} ""
- @sleep 2
+#
+# Local variables
+#
+
+PATCH_SUBDIRS= client common dhcpctl minires omapip relay server
+
+BIN_FILES= dhclient dhcpd dhcrelay
+SAMP_FILES= client/dhclient.conf server/dhcpd.conf
+RCD_FILES= isc-dhcpd.sh.sample
+DOC_FILES= CHANGES COPYRIGHT README RELNOTES
+DATA_FILES= dhclient.leases dhcpd.leases
+CONF_FILES= dhclient.conf
+
+BIN_DIR= ${PREFIX}/sbin
+ETC_DIR= ${PREFIX}/etc
+RCD_DIR= ${PREFIX}/etc/rc.d
+DOC_DIR= ${PREFIX}/share/doc/${PORTNAME}
+VARDB_DIR= /var/db
+
+STRIP?= strip
+
+#
+# Post-patch
+#
+
+post-patch: patch-scripts patch-makefiles
+
+patch-scripts:
+ @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' \
+ ${WRKSRC}/client/scripts/freebsd
+
+patch-makefiles:
+.for subdir in ${PATCH_SUBDIRS}
+ @${PERL} -pi.fbsd -e \
+ 's|^DEBUG[ ]*=|DEBUG ?=|g;s|^CFLAGS[ ]*=|CFLAGS +=|g' \
+ ${WRKSRC}/${subdir}/Makefile.dist
+.endfor
+
+#
+# Post-install
+#
+
+post-install: strip-binary-files install-startup-files \
+ install-doc-files install-sample-files \
+ create-data-files create-conf-files
+
+strip-binary-files:
+.for file in ${BIN_FILES}
+.if exists({BIN_DIR}/${file})
+ @${STRIP} ${BIN_DIR}/${file}
.endif
+.endfor
-post-patch:
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/includes/dhcpd.h
- @${PERL} -pi.fbsd -e "s.!!USE_FACILITY!!.${USE_FACILITY}.g" ${WRKSRC}/includes/site.h
- @${PERL} -pi.fbsd -e 's.!!PREFIX!!.${PREFIX}.g' ${WRKSRC}/client/scripts/freebsd
-.for MF in relay/Makefile.dist server/Makefile.dist client/Makefile.dist common/Makefile.dist dhcpctl/Makefile.dist minires/Makefile.dist omapip/Makefile.dist
- @${PERL} -pi.fbsd -e 's|^DEBUG[ ]*=|DEBUG ?=|g ; s|^CFLAGS[ ]*=|CFLAGS +=|g' ${WRKSRC}/${MF}
+install-startup-files:
+.for file in ${RCD_FILES}
+ @${INSTALL_SCRIPT} ${FILESDIR}/${file} ${RCD_DIR}/${file}
.endfor
-post-install:
- ${TOUCH} /var/db/dhcpd.leases
-.for file in dhclient dhcpd dhcrelay
- if [ -f ${PREFIX}/sbin/${file} ]; then \
- strip ${PREFIX}/sbin/${file}; \
- fi
+install-doc-files:
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOC_DIR}
+.for file in ${DOC_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${DOC_DIR}/${file}
+.endfor
+.endif
+
+install-sample-files:
+.for file in ${SAMP_FILES}
+ @${INSTALL_DATA} ${WRKSRC}/${file} ${ETC_DIR}/${file:T}.sample
+.endfor
+
+create-data-files:
+.for file in ${DATA_FILES}
+.if !exists(${VARDB_DIR}/${file})
+ @${TOUCH} ${VARDB_DIR}/${file}
+.endif
+.endfor
+
+create-conf-files:
+.for file in ${CONF_FILES}
+.if !exists(${ETC_DIR}/${file})
+ @${TOUCH} ${ETC_DIR}/${file}
+.endif
.endfor
- ${INSTALL_SCRIPT} ${FILESDIR}/isc-dhcpd.sh.sample \
- ${PREFIX}/etc/rc.d
.include <bsd.port.mk>
diff --git a/net/isc-dhcp40-server/distinfo b/net/isc-dhcp40-server/distinfo
index 969f9ab9d973..bdb0966a924d 100644
--- a/net/isc-dhcp40-server/distinfo
+++ b/net/isc-dhcp40-server/distinfo
@@ -1 +1 @@
-MD5 (dhcp-3.0b2pl11.tar.gz) = 5fd2c97d850c41e6445648a4108b509f
+MD5 (dhcp-3.0b2pl16.tar.gz) = 88fb65480a1b66c8d011957ea6c2e138
diff --git a/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample b/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample
index f07d745c3772..3cc86c5e65a3 100644
--- a/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample
+++ b/net/isc-dhcp40-server/files/isc-dhcpd.sh.sample
@@ -2,6 +2,7 @@
# $FreeBSD$
+OPTIONS=""
IFACES="SET_THIS"
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
@@ -11,10 +12,10 @@ fi
case "$1" in
start)
- ${PREFIX}/sbin/dhcpd $IFACES
+ ${PREFIX}/sbin/dhcpd $OPTIONS $IFACES
;;
stop)
- kill `cat /var/run/dhcpd.pid`
+ killall dhcpd
;;
restart)
$0 stop
@@ -24,7 +25,7 @@ status)
ps -auxww | egrep '(conserver|console)' | egrep -v "($0|egrep)"
;;
*)
- echo "Usage: `basename $0` {start|stop|restart|status}" >&2
+ echo "usage: ${0##*/} {start|stop|restart|status}" >&2
;;
esac
diff --git a/net/isc-dhcp40-server/files/patch-aj b/net/isc-dhcp40-server/files/patch-aj
index 14f7db13ff15..b8a356216c52 100644
--- a/net/isc-dhcp40-server/files/patch-aj
+++ b/net/isc-dhcp40-server/files/patch-aj
@@ -1,43 +1,20 @@
---- includes/dhcpd.h.orig Wed Feb 2 18:01:17 2000
-+++ includes/dhcpd.h Mon Jul 17 21:21:04 2000
-@@ -329,7 +329,7 @@
- #endif
-
- #ifndef CL_DEFAULT_SCRIPT_NAME
--# define CL_DEFAULT_SCRIPT_NAME "/etc/dhclient-script"
-+# define CL_DEFAULT_SCRIPT_NAME "!!PREFIX!!/etc/dhclient-script"
- #endif
-
- #ifndef CL_DEFAULT_REQUESTED_OPTIONS
-@@ -771,11 +771,11 @@
- #define _PATH_DHCPD_DB "dhcpd.leases"
- #else
- #ifndef _PATH_DHCPD_CONF
--#define _PATH_DHCPD_CONF "/etc/dhcpd.conf"
-+#define _PATH_DHCPD_CONF "!!PREFIX!!/etc/dhcpd.conf"
- #endif
-
- #ifndef _PATH_DHCPD_DB
--#define _PATH_DHCPD_DB "/etc/dhcpd.leases"
-+#define _PATH_DHCPD_DB "!!PREFIX!!/etc/dhcpd.leases"
- #endif
-
- #ifndef _PATH_DHCPD_PID
-@@ -784,7 +784,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_CONF
--#define _PATH_DHCLIENT_CONF "/etc/dhclient.conf"
-+#define _PATH_DHCLIENT_CONF "!!PREFIX!!/etc/dhclient.conf"
- #endif
-
- #ifndef _PATH_DHCLIENT_PID
-@@ -792,7 +792,7 @@
- #endif
-
- #ifndef _PATH_DHCLIENT_DB
--#define _PATH_DHCLIENT_DB "/etc/dhclient.leases"
-+#define _PATH_DHCLIENT_DB "!!PREFIX!!/etc/dhclient.leases"
- #endif
-
- #ifndef _PATH_RESOLV_CONF
+--- includes/dhcpd.h.orig Thu Jan 25 09:25:12 2001
++++ includes/dhcpd.h Fri Jan 26 06:46:12 2001
+@@ -672,7 +672,7 @@
+ u_int32_t requested_lease; /* Requested lease time, if user
+ doesn't configure one. */
+ struct string_list *media; /* Possible network media values. */
+- char *script_name; /* Name of config script. */
++ const char *script_name; /* Name of config script. */
+ char *vendor_space_name; /* Name of config script. */
+ enum policy bootp_policy;
+ /* Ignore, accept or prefer BOOTP
+@@ -1864,6 +1864,8 @@
+ void set_ip_address PROTO ((struct interface_info *, struct in_addr));
+
+ /* clparse.c */
++extern const char *client_script_name;
++
+ isc_result_t read_client_conf PROTO ((void));
+ void read_client_leases PROTO ((void));
+ void parse_client_statement PROTO ((struct parse *, struct interface_info *,
diff --git a/net/isc-dhcp40-server/files/patch-clparse.c b/net/isc-dhcp40-server/files/patch-clparse.c
index f2da52a15884..48c125d11094 100644
--- a/net/isc-dhcp40-server/files/patch-clparse.c
+++ b/net/isc-dhcp40-server/files/patch-clparse.c
@@ -1,5 +1,11 @@
---- client/clparse.c.orig Wed Jul 19 21:13:10 2000
-+++ client/clparse.c Thu Jul 20 21:52:53 2000
-@@ -46 +46 @@
+--- client/clparse.c.orig Thu Jan 25 09:17:17 2001
++++ client/clparse.c Fri Jan 26 06:11:01 2001
+@@ -50,7 +50,7 @@
+
+ static TIME parsed_time;
+
-char client_script_name [] = "/etc/dhclient-script";
-+char client_script_name [] = CL_DEFAULT_SCRIPT_NAME;
++const char *client_script_name = CL_DEFAULT_SCRIPT_NAME;
+
+ struct client_config top_level_config;
+
diff --git a/net/isc-dhcp40-server/files/patch-dhclient.8 b/net/isc-dhcp40-server/files/patch-dhclient.8
index 160c451e445b..2ba9899869c3 100644
--- a/net/isc-dhcp40-server/files/patch-dhclient.8
+++ b/net/isc-dhcp40-server/files/patch-dhclient.8
@@ -1,5 +1,5 @@
---- client/dhclient.8.orig Wed May 10 02:36:03 2000
-+++ client/dhclient.8 Wed May 10 02:39:43 2000
+--- client/dhclient.8.orig Mon May 1 19:11:36 2000
++++ client/dhclient.8 Fri Jan 26 05:12:37 2001
@@ -34,7 +34,7 @@
.B -q
]
@@ -9,15 +9,59 @@
]
[
.B -lf
-@@ -170,6 +170,11 @@
- .B -q
+@@ -49,6 +49,10 @@
+ .I config-file
+ ]
+ [
++.B -sf
++.I script-file
++]
++[
+ .B -s
+ server
+ ]
+@@ -174,17 +178,25 @@
flag prevents any messages other than errors from being printed to the
standard error descriptor.
-+.PP
+ .PP
+The
+.B -1
+flag cause dhclient to try once to get a lease. If it fails, dhclient exits
+with exit code two.
- .PP
++.PP
The DHCP client normally gets its configuration information from
.B ETCDIR/dhclient.conf,
+ its lease database from
+-.B DBDIR/dhclient.leases
+-and stores its process ID in a file called
++.B DBDIR/dhclient.leases,
++stores its process ID in a file called
+ .B RUNDIR/dhclient.pid.
++and configure the network interface using
++.B CLIENTBINDIR/dhclient-script.
+ To specify different names and/or locations for these files, use the
+ .B -cf,
+-.B -lf
+-and
++.B -lf,
+ .B -pf
++and
++.B -sf
+ flags, respectively, followed by the name of the file. This can be
+ particularly useful if, for example,
+ .B DBDIR
+@@ -206,10 +218,12 @@
+ .SH CONFIGURATION
+ The syntax of the dhclient.conf(8) file is discussed seperately.
+ .SH FILES
++.B CLIENTBINDIR/dhclient-script,
+ .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
+-.B DBDIR/dhclient.leases~.
++.B DBDIR/dhclient.leases.
+ .SH SEE ALSO
+-dhcpd(8), dhcrelay(8), dhclient.conf(5), dhclient.leases(5)
++dhcpd(8), dhcrelay(8), dhclient-script(8), dhclient.conf(5) and
++dhclient.leases(5).
+ .SH AUTHOR
+ .B dhclient(8)
+ has been written for the Internet Software Consortium
diff --git a/net/isc-dhcp40-server/files/patch-dhclient.c b/net/isc-dhcp40-server/files/patch-dhclient.c
index bb43074fbd36..ebbd815ecc5e 100644
--- a/net/isc-dhcp40-server/files/patch-dhclient.c
+++ b/net/isc-dhcp40-server/files/patch-dhclient.c
@@ -1,5 +1,5 @@
---- client/dhclient.c.orig Thu Sep 14 05:42:01 2000
-+++ client/dhclient.c Wed Sep 27 03:31:33 2000
+--- client/dhclient.c.orig Thu Jan 25 09:18:06 2001
++++ client/dhclient.c Fri Jan 26 06:15:50 2001
@@ -78,6 +78,7 @@
u_int16_t remote_port;
int no_daemon;
@@ -8,7 +8,27 @@
static void usage PROTO ((void));
-@@ -176,6 +177,8 @@
+@@ -104,6 +105,7 @@
+ int no_dhclient_conf = 0;
+ int no_dhclient_db = 0;
+ int no_dhclient_pid = 0;
++ int no_dhclient_script = 0;
+ char *s;
+
+ #ifdef SYSLOG_4_2
+@@ -159,6 +161,11 @@
+ usage ();
+ path_dhclient_db = argv [i];
+ no_dhclient_db = 1;
++ } else if (!strcmp (argv [i], "-sf")) {
++ if (++i == argc)
++ usage ();
++ client_script_name = argv [i];
++ no_dhclient_script = 1;
+ } else if (!strcmp (argv [i], "-q")) {
+ quiet = 1;
+ quiet_interface_discovery = 1;
+@@ -176,6 +183,8 @@
} else if (!strcmp (argv [i], "-w")) {
/* do not exit if there are no broadcast interfaces. */
persist = 1;
@@ -17,16 +37,32 @@
} else if (argv [i][0] == '-') {
usage ();
} else {
-@@ -417,7 +420,7 @@
+@@ -208,6 +217,9 @@
+ if (!no_dhclient_pid && (s = getenv ("PATH_DHCLIENT_PID"))) {
+ path_dhclient_pid = s;
+ }
++ if (!no_dhclient_script && (s = getenv ("PATH_DHCLIENT_SCRIPT"))) {
++ client_script_name = s;
++ }
+
+ /* first kill of any currently running client */
+ if (release_mode) {
+@@ -423,10 +435,11 @@
log_info (arr);
log_info (url);
- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
-+ log_error ("Usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("usage: dhclient [-1] [-d] [-D] [-q] [-p <port>] %s",
"[-s server]");
- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
- "[-cf config-file] [interface]");
-@@ -1402,6 +1405,10 @@
+- log_fatal (" [-lf lease-file] [-pf pid-file]%s",
+- "[-cf config-file] [interface]");
++ log_error (" [-cf config-file] [-lf lease-file] %s",
++ "[-pf pid-file] [-sf script-file]");
++ log_fatal (" [interface]");
+ }
+
+ isc_result_t find_class (struct class **c,
+@@ -1432,6 +1445,10 @@
/* No leases were available, or what was available didn't work, so
tell the shell script that we failed to allocate an address,
and try again later. */
diff --git a/net/isc-dhcp40-server/files/patch-freebsd b/net/isc-dhcp40-server/files/patch-freebsd
index 293aa2a33130..2376cbb7ec40 100644
--- a/net/isc-dhcp40-server/files/patch-freebsd
+++ b/net/isc-dhcp40-server/files/patch-freebsd
@@ -1,5 +1,5 @@
---- client/scripts/freebsd.orig Wed Sep 20 02:38:03 2000
-+++ client/scripts/freebsd Wed Sep 27 03:33:29 2000
+--- client/scripts/freebsd.orig Wed Sep 20 11:38:03 2000
++++ client/scripts/freebsd Sat Jan 27 02:17:01 2001
@@ -1,5 +1,11 @@
#!/bin/sh
@@ -55,12 +55,26 @@
hostname $new_host_name
fi
fi
-@@ -105,11 +111,18 @@
+@@ -93,24 +99,31 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' |sh
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
+ 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_netmask_arg \
$new_broadcast_arg $medium
+ $LOGGER "New IP Address($interface): $new_ip_address"
-+ $LOGGER "New Subnet Mask ($interface): $new_subnet_mask"
++ $LOGGER "New Subnet Mask($interface): $new_subnet_mask"
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
+ if [ "$new_routers" != "" ]; then
+ $LOGGER "New Routers: $new_routers"
@@ -70,11 +84,29 @@
route add default $router >/dev/null 2>&1
done
if [ "$new_static_routes" != "" ]; then
+- set $new_static_routes
+ $LOGGER "New Static Routes: $new_static_routes"
- set $new_static_routes
++ set -- $new_static_routes
while [ $# -gt 1 ]; do
route add $1 $2
-@@ -161,8 +174,12 @@
+ shift; shift
+@@ -138,13 +151,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ fi
+ if [ x$alias_ip_address != x ]; then
+@@ -161,9 +174,13 @@
fi
ifconfig $interface inet $new_ip_address $new_netmask_arg \
$new_broadcast_arg $medium
@@ -83,7 +115,37 @@
+ $LOGGER "New Broadcast Address($interface): $new_broadcast_address"
sleep 1
if [ "$new_routers" != "" ]; then
+- set $new_routers
+ $LOGGER "New Routers: $new_routers"
- set $new_routers
++ set -- $new_routers
if ping -q -c 1 $1; then
if [ x$new_ip_address != x$alias_ip_address ] && \
+ [ x$alias_ip_address != x ]; then
+@@ -174,9 +191,9 @@
+ for router in $new_routers; do
+ route add default $router >/dev/null 2>&1
+ done
+- set $new_static_routes
++ set -- $new_static_routes
+ while [ $# -gt 1 ]; do
+- route add $0 $1
++ route add $1 $2
+ shift; shift
+ done
+ make_resolv_conf
+@@ -188,13 +205,13 @@
+ route delete default $router >/dev/null 2>&1
+ done
+ if [ "$old_static_routes" != "" ]; then
+- set $old_static_routes
++ set -- $old_static_routes
+ while [ $# -gt 1 ]; do
+ route delete $1 $2
+ shift; shift
+ done
+ fi
+- arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -n -d \1/p' \
++ arp -n -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' \
+ |sh >/dev/null 2>&1
+ exit_with_hooks 1
+ fi
diff --git a/net/isc-dhcp40-server/files/patch-site.conf b/net/isc-dhcp40-server/files/patch-site.conf
index afe3d066ff89..5efe4195aa73 100644
--- a/net/isc-dhcp40-server/files/patch-site.conf
+++ b/net/isc-dhcp40-server/files/patch-site.conf
@@ -1,23 +1,32 @@
---- site.conf.orig Wed Jul 7 08:20:10 1999
-+++ site.conf Tue Oct 3 08:59:57 2000
-@@ -1,2 +1,20 @@
+--- site.conf.orig Wed Jul 7 17:20:10 1999
++++ site.conf Fri Jan 26 06:58:15 2001
+@@ -1,2 +1,29 @@
# Put local site configuration stuff here to override the default
# settings in Makefile.conf
+
+PREFIX ?= /usr/local
+
-+ETC = $(PREFIX)/etc
+BINDIR = $(PREFIX)/sbin
+CLIENTBINDIR = $(PREFIX)/sbin
-+MANCAT = man
+ADMMANDIR = $(PREFIX)/man/man8
+ADMMANEXT = .8
+FFMANDIR = $(PREFIX)/man/man5
+FFMANEXT = .5
+LIBMANDIR = $(PREFIX)/man/man3
+LIBMANEXT = .3
++MANCAT = man
++# INSTALL = ${INSTALL_DATA}
++# MANINSTALL = ${INSTALL_MAN}
++ETC = $(PREFIX)/etc
++LIBDIR = ${PREFIX}/lib
++INCDIR = ${PREFIX}/include
+
+DEBUG ?= #none
-+CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(ETC)/dhclient-script\"
++
++CFLAGS += -DCL_DEFAULT_SCRIPT_NAME=\"$(CLIENTBINDIR)/dhclient-script\"
++
+CFLAGS += -D_PATH_DHCPD_CONF=\"$(ETC)/dhcpd.conf\"
++CFLAGS += -D_PATH_DHCPD_DB=\"$(VARDB)/dhcpd.leases\"
++
+CFLAGS += -D_PATH_DHCLIENT_CONF=\"$(ETC)/dhclient.conf\"
++CFLAGS += -D_PATH_DHCLIENT_DB=\"$(VARDB)/dhclient.leases\"
diff --git a/net/isc-dhcp40-server/files/patch-site.h b/net/isc-dhcp40-server/files/patch-site.h
deleted file mode 100644
index c411dd071f23..000000000000
--- a/net/isc-dhcp40-server/files/patch-site.h
+++ /dev/null
@@ -1,5 +0,0 @@
---- includes/site.h.orig Thu Sep 28 11:24:17 2000
-+++ includes/site.h Sat Dec 2 00:46:53 2000
-@@ -159 +159 @@
--/* #define DHCPD_LOG_FACILITY LOG_DAEMON */
-+#define DHCPD_LOG_FACILITY LOG_!!USE_FACILITY!!
diff --git a/net/isc-dhcp40-server/pkg-descr b/net/isc-dhcp40-server/pkg-descr
index 46bdf5ebae8e..ec2d72947025 100644
--- a/net/isc-dhcp40-server/pkg-descr
+++ b/net/isc-dhcp40-server/pkg-descr
@@ -1,16 +1,17 @@
-ISC-DHCP Dynamic Host Configuration Protocol server
+The ISC Dynamic Host Configuration Protocol Distribution provides
+a freely redistributable reference implementation of all aspects
+of the DHCP protocol, through a suite of DHCP tools:
-This is a release of the Internet Software Consortium
-DHCP Server (ISC dhcpd). In this release, support for the core
-DHCP protocol is provided. BOOTP support is also provided for
-backwards compatibility.
+ * A DHCP server
+ * A DHCP client
+ * A DHCP relay agent
Version 3, Beta 2 of the ISC DHCP Distribution includes the following
-features that are new since version 2.0:
+features that are new since version 2.0:
* DHCP Failover Protocol support
* OMAPI, an API for accessing and modifying the DHCP
- server and client state.
+ server and client state.
* Conditional behaviour
* Storing arbitrary information on leases
* Address pools with access control
@@ -19,10 +20,12 @@ features that are new since version 2.0:
* Relay agent information option support
* Dynamic DNS updates
* Many bug fixes, performance enhancements, and minor
- new DHCP protocol features.
+ new DHCP protocol features.
-A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version.
+Also, a fully-featured implementation of dynamic DNS updates is
+included and there are no build dependencies with any BIND version.
+Since patch-level 15, a log-facility configuration parameter has
+been added, see the manual pages for details.
WWW: http://www.isc.org/products/DHCP/
diff --git a/net/isc-dhcp40-server/pkg-plist b/net/isc-dhcp40-server/pkg-plist
index dc0dc00ce17a..9cca499d267d 100644
--- a/net/isc-dhcp40-server/pkg-plist
+++ b/net/isc-dhcp40-server/pkg-plist
@@ -1,9 +1,8 @@
@comment $FreeBSD$
-etc/dhclient-script
-sbin/dhclient
-sbin/dhcpd
-sbin/dhcrelay
+etc/dhclient.conf.sample
+etc/dhcpd.conf.sample
etc/rc.d/isc-dhcpd.sh.sample
+include/dhcpctl.h
include/isc/boolean.h
include/isc/dst.h
include/isc/int.h
@@ -11,13 +10,25 @@ include/isc/lang.h
include/isc/list.h
include/isc/result.h
include/isc/types.h
-@dirrm include/isc
include/omapip/alloc.h
include/omapip/buffer.h
include/omapip/omapip.h
-@dirrm include/omapip
-include/dhcpctl.h
-lib/libomapi.a
lib/libdhcpctl.a
-@exec touch /var/db/dhcpd.leases
-@exec touch %D/etc/dhclient.conf
+lib/libomapi.a
+sbin/dhclient
+sbin/dhclient-script
+sbin/dhcpd
+sbin/dhcrelay
+share/doc/isc-dhcp3/CHANGES
+share/doc/isc-dhcp3/COPYRIGHT
+share/doc/isc-dhcp3/README
+share/doc/isc-dhcp3/RELNOTES
+@dirrm include/isc
+@dirrm include/omapip
+@dirrm share/doc/isc-dhcp3
+@exec [ -f /var/db/dhclient.leases ] || touch /var/db/dhclient.leases
+@unexec [ -s /var/db/dhclient.leases ] || rm -f /var/db/dhclient.leases
+@exec [ -f /var/db/dhcpd.leases ] || touch /var/db/dhcpd.leases
+@unexec [ -s /var/db/dhcpd.leases ] || rm -f /var/db/dhcpd.leases
+@exec [ -f %D/etc/dhclient.conf ] || touch %D/etc/dhclient.conf
+@unexec [ -L %D/etc/dhclient.conf -o -s %D/etc/dhclient.conf ] || rm -f %D/etc/dhclient.conf