doc/ja_JP.eucJP/dhclient.conf.5 doc/ja_JP.eucJP/dhclient.leases.5 \
doc/ja_JP.eucJP/dhcp-eval.5 doc/ja_JP.eucJP/dhcp-options.5 \
doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
- util/bind.sh util/bindlib.sh util/bindcus.sh \
- bind/bind.tar.gz bind/version.tmp
+ util/bindvar.sh \
+ bind/Makefile bind/bind.tar.gz bind/version.tmp
-SUBDIRS = includes tests common dst omapip client dhcpctl relay server
+SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
nobase_include_HEADERS = dhcpctl/dhcpctl.h
RELEASE STATUS
-This is ISC DHCP 4.1.0, which adds new DHCPv6 features omitted from
-ISC DHCP 4.0.0.
+This is ISC DHCP 4.2.0, which modifies the DDNS code to be asynchronous.
In this release, the DHCPv6 server should be fully functional on Linux,
Solaris, or any BSD. The DHCPv6 client should be similarly functional
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
- gunzip dhcp-4.1.0.tar.gz
- tar xvf dhcp-4.1.0.tar
-
- BUILDING BIND LIBRARIES
-
-To build the BIND libraries used by DHCP cd to the dhcp-4.1.0 subdirectory
-that you've just created and run the bindcus.sh from the the util
-subdirectory - something like this:
-
- sh util/bindcus.sh
-
-In order to build the necessary libraries you will need to have "gmake"
-available on your build system.
+ gunzip dhcp-4.2.0.tar.gz
+ tar xvf dhcp-4.2.0.tar
CONFIGURING IT
-Now, cd to the dhcp-4.1.0 subdirectory that you've just created and
+Now, cd to the dhcp-4.2.0 subdirectory that you've just created and
configure the source tree by typing:
./configure
A fully-featured implementation of dynamic DNS updates is included in
this release. It uses libraries from BIND and, to avoid issues with
-different versions, includes the necessary BIND version.
+different versions, includes the necessary BIND version. The appropriate
+BIND libraries will be compiled and installed in the bind subdirectory
+as part of the make step. In order to build the necessary libraries you
+will need to have "gmake" available on your build system.
+
There is documentation for the DDNS support in the dhcpd.conf manual
page - see the beginning of this document for information on finding
<dhcp-users@isc.org>.
- Changes since 4.2.0a1
-
-- Clean up to allow compilation with gcc 2.95.4 on FreeBSD. Remove an
- extra semi-colon from common/dns.c and moved setting a variable to NULL
- in server/dhcpv6.c to allow the compiler to decide that the variable
- was always properly set.
-
Changes since 4.1.0 (new features)
- Failover port configuration can now be left to defaults (port 647) as
this error was a segfault when a failover secondary attempted to connect
to the failover primary if their clocks were not synchronized.
+- Clean up to allow compilation with gcc 2.95.4 on FreeBSD. Remove an
+ extra semi-colon from common/dns.c and moved setting a variable to NULL
+ in server/dhcpv6.c to allow the compiler to decide that the variable
+ was always properly set.
+
Changes since 4.1.0b1
- A missing "else" in dhcrelay.c could have caused an interface not to
tests/Makefile
])
+sh util/bindvar.sh
--- /dev/null
+#
+# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: Makefile.bind,v 1.2 2009/12/02 20:43:52 sar Exp $
+
+# Configure and build the bind libraries for use by DHCP
+
+include ./version.tmp
+version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
+
+# bindvar.tmp is constructed by configure, it has the paths for
+# if GMAKE is blank the shell script couldn't find a gmake to use.
+# binddir=
+# GMAKE=
+include ./bindvar.tmp
+
+bindsrcdir=bind-${version}
+
+all:
+# Extract the source from the tarball, if it hasn't been already.
+ @if test -d ${bindsrcdir} ; then \
+ echo ${bindsrcdir} already unpacked... ; \
+ else \
+ gunzip -c bind.tar.gz | tar xf - ; \
+ fi
+
+ @if test -z "${GMAKE}"; then \
+ echo "unable to find gmake" 1>&2 ; \
+ exit 1; \
+ fi
+
+# Configure the export libraries
+# Currently disable the epoll and devpoll options as they don't interact
+# well with the DHCP code.
+ @echo Configuring BIND Export libraries for DHCP.
+ @(cd ${bindsrcdir} && ./configure --disable-epoll --disable-devpoll --without-openssl --without-libxml2 --enable-exportlib --enable-threads=no --with-export-includedir=${binddir}/include --with-export-libdir=${binddir}/lib > ${binddir}/configure.log)
+
+# Build the export libraries
+ @echo Building BIND Export libraries - this takes some time.
+ @(cd ${bindsrcdir}/lib/export ; \
+ echo building in `pwd` ; \
+ MAKE=${GMAKE} ${GMAKE} > ${binddir}/build.log)
+
+ @echo Installing BIND Export libraries to ${binddir}.
+ @(cd ${bindsrcdir}/lib/export ; \
+ MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log)
+
+clean:
+ @echo Cleaning BIND export library.
+ rm -rf ${bindsrcdir} ./lib ./include ./configure.log ./build.log \
+ ./install.log
+
+distdir:
+
+
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: bind.sh,v 1.6 2009/11/20 00:10:14 sar Exp $
+# $Id: bind.sh,v 1.7 2009/12/02 20:43:52 sar Exp $
# Get the bind distribution for the libraries
# This script is used to build the DHCP distribution and shouldn't be shipped
#
-# Usage: sh bind.sh
+# Usage: sh bind.sh <DHCP version>
#
-# Currently no arguments
#
topdir=`pwd`
# Make and move to our directory for all things bind
mkdir $binddir
+cp util/Makefile.bind bind/Makefile
cd $binddir
# Get the bind release kit shell script
#mv $binddir/bind-9.7* $binddir/$bindsrcdir
# Run the script to build and install the export libraries
-sh $topdir/util/bindlib.sh $binddir $bindsrcdir
+# Let make do this now.
+#sh $topdir/util/bindlib.sh $binddir $bindsrcdir
--- /dev/null
+#!/bin/sh
+#
+# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: bindvar.sh,v 1.2 2009/12/02 20:43:52 sar Exp $
+
+# Create a file with the base directory and gmake pat for
+# use by the bind/Makefile, we do this to minimize portability
+# concerns.
+
+binddir=`pwd`
+gmake=
+for x in gmake gnumake make; do
+ if $x --version 2>/dev/null | grep GNU > /dev/null; then
+ gmake=$x
+ break;
+ fi
+done
+
+cat <<EOF > bind/bindvar.tmp
+binddir=$binddir/bind
+GMAKE=$gmake
+EOF