Permalink
Browse files

Imported Upstream version 4.2.4

  • Loading branch information...
1 parent 0e3760a commit 9e4af76f2097f3d6fb17531ef7468d0939286983 @andrewpollock andrewpollock committed Jun 9, 2012
Showing with 2,156 additions and 938 deletions.
  1. +1 −1 LICENSE
  2. +4 −3 Makefile.in
  3. +21 −18 README
  4. +130 −5 RELNOTES
  5. +29 −0 aclocal.m4
  6. +27 −13 bind/Makefile
  7. BIN bind/bind.tar.gz
  8. +4 −4 bind/version.tmp
  9. +4 −3 client/Makefile.in
  10. +10 −3 client/clparse.c
  11. +70 −47 client/dhclient.c
  12. +4 −3 client/dhclient.conf.5
  13. +7 −2 client/scripts/macos
  14. +4 −3 common/Makefile.in
  15. +34 −25 common/comapi.c
  16. +8 −2 common/conflex.c
  17. +5 −5 common/dhcp-eval.5
  18. +155 −65 common/dns.c
  19. +40 −39 common/execute.c
  20. +6 −4 common/options.c
  21. +33 −18 common/packet.c
  22. +93 −33 common/parse.c
  23. +2 −3 common/print.c
  24. +53 −32 common/socket.c
  25. +2 −1 common/tables.c
  26. +4 −3 common/tests/Makefile.in
  27. +1 −0 common/tree.c
  28. +121 −19 configure
  29. +24 −5 configure.ac
  30. +4 −3 dhcpctl/Makefile.in
  31. +9 −3 doc/References.html
  32. +123 −67 doc/References.txt
  33. +9 −2 doc/References.xml
  34. +4 −3 dst/Makefile.in
  35. +3 −2 dst/dst_api.c
  36. +2 −4 dst/prandom.c
  37. +5 −4 includes/Makefile.in
  38. +14 −4 includes/cdefs.h
  39. +3 −0 includes/config.h.in
  40. +5 −0 includes/dhcp.h
  41. +21 −9 includes/dhcpd.h
  42. +5 −2 includes/dhctoken.h
  43. +1 −1 includes/omapip/omapip_p.h
  44. +10 −0 includes/site.h
  45. +4 −3 omapip/Makefile.in
  46. +1 −3 omapip/handle.c
  47. +7 −2 omapip/listener.c
  48. +6 −7 omapip/protocol.c
  49. +4 −3 relay/Makefile.in
  50. +3 −1 relay/dhcrelay.8
  51. +2 −2 relay/dhcrelay.c
  52. +4 −3 server/Makefile.in
  53. +37 −22 server/bootp.c
  54. +112 −59 server/confpars.c
  55. +24 −3 server/db.c
  56. +339 −166 server/ddns.c
  57. +56 −22 server/dhcp.c
  58. +2 −2 server/dhcpd.c
  59. +10 −8 server/dhcpd.conf.5
  60. +4 −2 server/dhcpd.leases.5
  61. +3 −12 server/dhcpleasequery.c
  62. +87 −79 server/dhcpv6.c
  63. +13 −9 server/failover.c
  64. +44 −9 server/mdb.c
  65. +249 −20 server/mdb6.c
  66. +26 −34 server/omapi.c
  67. +1 −1 server/stables.c
  68. +4 −3 tests/Makefile.in
View
@@ -1,4 +1,4 @@
-# Copyright (c) 2004-2011 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (c) 2004-2012 by Internet Systems Consortium, Inc. ("ISC")
# Copyright (c) 1995-2003 by Internet Software Consortium
#
# Permission to use, copy, modify, and distribute this software for any
View
@@ -107,6 +107,7 @@ LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@
@@ -193,7 +194,7 @@ all: all-recursive
.SUFFIXES:
am--refresh:
@:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -211,9 +212,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
-$(top_srcdir)/configure: $(am__configure_deps)
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
install-nobase_includeHEADERS: $(nobase_include_HEADERS)
@$(NORMAL_INSTALL)
View
39 README
@@ -1,8 +1,8 @@
Internet Systems Consortium DHCP Distribution
- Version 4.2.2
- 27 July 2011
+ Version 4.2.4
+ 29 May 2012
- README FILE
+ README FILE
You should read this file carefully before trying to install or use
the ISC DHCP Distribution.
@@ -97,7 +97,7 @@ directory, it may not have up-to-date information).
RELEASE STATUS
-This is ISC DHCP 4.2.2, a maintenance release containing patches.
+This is ISC DHCP 4.2.4, a maintenance release containing patches.
In this release, the DHCPv6 server should be fully functional on Linux,
Solaris, or any BSD. The DHCPv6 client should be similarly functional
@@ -132,12 +132,12 @@ information. On Digital Unix, type ``man pfilt''.
To build the DHCP Distribution, unpack the compressed tar file using
the tar utility and the gzip command - type something like:
- gunzip dhcp-4.2.2.tar.gz
- tar xvf dhcp-4.2.2.tar
+ gunzip dhcp-4.2.4.tar.gz
+ tar xvf dhcp-4.2.4.tar
CONFIGURING IT
-Now, cd to the dhcp-4.2.2 subdirectory that you've just created and
+Now, cd to the dhcp-4.2.4 subdirectory that you've just created and
configure the source tree by typing:
./configure
@@ -523,20 +523,23 @@ this text is only about the DHCPv6 client (``dhclient -6 ...''). The DNS
configuration (domain search list and name servers' addresses) is managed
by a System Configuration agent, not by /etc/resolv.conf (which is a link
to /var/run/resolv.conf, which itself only reflects the internal state;
-the System Configuration agent's Dynamic Store).
+the System Configuration framework's Dynamic Store).
-This means that modifying resolv.conf directly doesn't have the intended
-effect, so the macos script sample uses its own resolv.conf.dhclient6 in
-/var/run, and inserts the contents of this file into the System
-Configuration agent. Because the System Configuration agent expects the
-prefix along with the configured address, and a default router, this is
-not usable (the DHCPv6 protocol does not today deliver this information).
-Instead, ifconfig is directly used for address configuration.
+This means that modifying resolv.conf directly doesn't have the
+intended effect, instead the macos script sample creates its own
+resolv.conf.dhclient6 in /var/run, and inserts the contents of this
+file into the Dynamic Store.
+
+When updating the address configuration the System Configuration
+framework expects the prefix and a default router along with the
+configured address. As this extra information is not available via
+the DHCPv6 protocol the System Configuration framework isn't usable
+for address configuration, instead ifconfig is used directly.
Note the Dynamic Store (from which /var/run/resolv.conf is built) is
-recomputed from scratch when the current location/set is changed, for
-instance when a laptop is resumed from sleep. In this case running the
-dhclient-script could reinstall the resolv.conf.dhclient6 configuration.
+recomputed from scratch when the current location/set is changed.
+Running the dhclient-script reinstalls the resolv.conf.dhclient6
+configuration.
SUPPORT
View
135 RELNOTES
@@ -1,6 +1,6 @@
Internet Systems Consortium DHCP Distribution
- Version 4.2.2
- 27 July 2011
+ Version 4.2.4
+ 29 May 2012
Release Notes
@@ -10,7 +10,7 @@ ISC DHCP 4.2.x includes features that were not included in DHCP 4.1.x.
These include:
Processing the DHCP to DNS server transactions in an asynchronous fashion.
-The DHCP server or client can now continue with it's processing while
+The DHCP server or client can now continue with its processing while
awaiting replies from the DNS server.
There are a number of DHCPv6 limitations and features missing in this
@@ -39,6 +39,131 @@ The system has only been tested on Linux, FreeBSD, and Solaris, and may not
work on other platforms. Please report any problems and suggested fixes to
<dhcp-users@isc.org>.
+ Changes since 4.2.4rc1
+
+- Rotate the lease file when running in v6 mode.
+ Thanks to Christoph Moench-Tegeder at Astaro for the
+ report and the first version of the patch.
+ [ISC-Bugs #24887]
+
+ Changes since 4.2.4b1
+
+- None
+
+ Changes since 4.2.3
+
+! Add a check for a null pointer before calling the regexec function.
+ Without this check we could, under some circumstances, pass
+ a null pointer to the regexec function causing it to segfault.
+ Thanks to a report from BlueCat Networks.
+ [ISC-Bugs #26704].
+ CVE: CVE-2011-4539
+
+! Modify the DDNS handling code. In a previous patch we added logging
+ code to the DDNS handling. This code included a bug that caused it
+ to attempt to dereference a NULL pointer and eventually segfault.
+ While reviewing the code as we addressed this problem, we determined
+ that some of the updates to the lease structures would not work as
+ planned since the structures being updated were in the process of
+ being freed: these updates were removed. In addition we removed an
+ incorrect call to the DDNS removal function that could cause a failure
+ during the removal of DDNS information from the DNS server.
+ Thanks to Jasper Jongmans for reporting this issue.
+ [ISC-Bugs #27078]
+ CVE: CVE-2011-4868
+
+- Fixed the code that checks if an address the server is planning
+ to hand out is in a reserved range. This would appear as
+ the server being out of addresses in pools with particular ranges.
+ [ISC-Bugs #26498]
+
+- In the DDNS code handle error conditions more gracefully and add more
+ logging code. The major change is to handle unexpected cancel events
+ from the DNS client code.
+ [ISC-Bugs #26287]
+
+- Tidy up the receive calls and eliminate the need for found_pkt.
+ [ISC-Bugs #25066]
+
+- Add support for Infiniband over sockets to the server and
+ relay code. We've tested this on Solaris and hope to expand
+ support for Infiniband in the future. This patch also corrects
+ some issues we found in the socket code.
+ [ISC-Bugs #24245]
+
+- Add a compile time check for the presence of the noreturn attribute
+ and use it for log_fatal if it's available. This will help code
+ checking programs to eliminate false positives.
+ [ISC-Bugs #27539]
+
+- Fixed many compilation problems ("set, but not used" warnings) for
+ gcc 4.6 that may affect Ubuntu 11.10 users. [ISC-Bugs #27588]
+
+- Modify the code that determines if an outstanding DDNS request
+ should be cancelled. This patch results in cancelling the
+ outstanding request less often. It fixes the problem caused
+ by a client doing a release where the TXT and PTR records
+ weren't removed from the DNS.
+ [ISC-BUGS #27858]
+
+- Use offsetof() instead of sizeof() to get the sizes for dhcpv6_relay_packet
+ and dhcpv6_packet in several more places. Thanks to a report from
+ Bruno Verstuyft and Vincent Demaertelaere of Excentis.
+ [ISC-Bugs #27941]
+
+- Remove outdated note in the description of the bootp keyword about the
+ option not satisfying the requirement of failover peers for denying
+ dynamic bootp clients.
+ [ISC-bugs #28574]
+
+- Multiple items to clean up IPv6 address processing.
+ When processing an IA that we've seen check to see if the
+ addresses are usable (not in use by somebody else) before
+ handing it out.
+ When reading in leases from the file discard expired addresses.
+ When picking an address for a client include the IA ID in
+ addition to the client ID to generally pick different addresses
+ for different IAs.
+ [ISC-Bugs #23138] [ISC-Bugs #27945] [ISC-Bugs #25586]
+ [ISC-Bugs #27684]
+
+- Remove unnecessary checks in the lease query code and clean up
+ several compiler issues (some dereferences of NULL and treating
+ an int as a boolean).
+ [ISC-Bugs #26203]
+
+- Fix the NA and PD allocation code to handle the case where a client
+ provides a preference and the server doesn't have any addresses or
+ prefixes available. Previoulsy the server ignored the request with
+ this patch it replies with a NoAddrsAvail or NoPrefixAvail response.
+ By default the code performs according to the errata of August 2010
+ for RFC 3315 section 17.2.2; to enable the previous style see the
+ section on RFC3315_PRE_ERRATA_2010_08 in includes/site.h. This option
+ may be removed in the future.
+ Thanks to Jiri Popelka at Red Hat for the patch.
+ [ISC-Bugs #22676]
+
+- Fix up some issues found by static analysis.
+ A potential memory leak and NULL dereference in omapi.
+ The use of a boolean test instead of a bitwise test in dst.
+ [ISC-Bugs #28941]
+
+ Changes since 4.2.2
+
+- Fix the code that checks for an existing DDNS transaction to cancel
+ when removing DDNS information, so that we will continue with the
+ processing if we have a lease even if it doesn't have an outstanding
+ transaction. [ISC-Bugs #24682]
+
+- Add AM_MAINTAINER_MODE to configure.ac to avoid rebuilding
+ configuration files. [ISC-Bugs #24107]
+
+- Add support for passing DDNS information to a DNS server over
+ an IPv6 address. [ISC-Bugs #22647]
+
+- Enhanced patch for 23595 to handle IPv4 fixed addresses more
+ cleanly. [ISC-Bugs #23595]
+
Changes since 4.2.2rc1
! Two packets were found that cause a server to halt. The code
@@ -350,7 +475,7 @@ work on other platforms. Please report any problems and suggested fixes to
decline request for it previously) don't attempt to move it from
the inactive to active pool as doing so can result in the server
crashing on an assert failure. Also retag the lease as active
- and reset it's timeout value.
+ and reset its timeout value.
[ISC-Bugs #21921]
- Relay no longer crashes, when DHCP packet is received over interface without
@@ -494,7 +619,7 @@ work on other platforms. Please report any problems and suggested fixes to
determined lease time) are omitted.
- Processing the DHCP to DNS server transactions in an asyncrhonous fashion.
- The DHCP server or client can now continue with it's processing while
+ The DHCP server or client can now continue with its processing while
awaiting replies from the DNS server.
- The 'hardware [ethernet|etc] ...;' parameter in host records has been
View
@@ -531,6 +531,35 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
# Check to see how 'make' treats includes. -*- Autoconf -*-
# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
View
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2009-2010 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2009-2012 by 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
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-# $Id: Makefile.bind,v 1.2.2.7 2011-04-06 22:00:40 marka Exp $
+# $Id: Makefile.bind,v 1.2.2.8 2012-04-05 22:17:08 sar Exp $
# Configure and build the bind libraries for use by DHCP
@@ -44,18 +44,31 @@ all:
# 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-kqueue --disable-epoll --disable-devpoll --without-openssl --without-libxml2 --enable-exportlib --enable-threads=no --with-export-includedir=${binddir}/include --with-export-libdir=${binddir}/lib --with-gssapi=no > ${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)
+# If the top-level Bind Makefile exists we skip the configuration step
+# as we assume it's done and won't change. Doing a make clean will
+# reset things if necessary.
+ @if test -f ${bindsrcdir}/Makefile ; then \
+ echo Bind export libraries already configured ; \
+ else \
+ echo Configuring BIND Export libraries for DHCP. ; \
+ rm -rf ./lib ./include ./configure.log ./build.log ./install.log ; \
+ (cd ${bindsrcdir} && ./configure --disable-kqueue --disable-epoll --disable-devpoll --without-openssl --without-libxml2 --enable-exportlib --enable-threads=no --with-export-includedir=${binddir}/include --with-export-libdir=${binddir}/lib --with-gssapi=no > ${binddir}/configure.log); \
+ fi
- @echo Installing BIND Export libraries to ${binddir}.
- @(cd ${bindsrcdir}/lib/export ; \
- MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log)
+# Build and install the export libraries
+# No need to do anything if we already have something installed.
+ @if test -d ${binddir}/lib ; then \
+ echo Bind export libraries already installed ; \
+ else \
+ 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) ; \
+ fi
clean:
@echo Cleaning BIND export library.
@@ -73,3 +86,4 @@ install:
check:
+uninstall:
View
Binary file not shown.
View
@@ -1,10 +1,10 @@
-# $Id: version,v 1.53.8.2.2.4 2011-06-21 20:44:01 each Exp $
+# $Id$
#
# This file must follow /bin/sh rules. It is imported directly via
# configure.
#
MAJORVER=9
MINORVER=8
-PATCHVER=0
-RELEASETYPE=-P
-RELEASEVER=4
+PATCHVER=3
+RELEASETYPE=
+RELEASEVER=
Oops, something went wrong.

0 comments on commit 9e4af76

Please sign in to comment.