Permalink
Browse files

Imported Upstream version 4.2.2

  • Loading branch information...
1 parent 5b8af02 commit 0e3760ae110a506e06d88d1b5132de83c0c8f0e4 @andrewpollock andrewpollock committed Aug 21, 2011
Showing with 16,318 additions and 14,701 deletions.
  1. +1 −1 LICENSE
  2. +6 −3 Makefile.am
  3. +8 −3 Makefile.in
  4. +104 −45 README
  5. +547 −115 RELNOTES
  6. +2 −2 aclocal.m4
  7. +75 −0 bind/Makefile
  8. BIN bind/bind.tar.gz
  9. +10 −0 bind/version.tmp
  10. +4 −4 client/Makefile.am
  11. +8 −6 client/Makefile.in
  12. +47 −49 client/clparse.c
  13. +144 −265 client/dhc6.c
  14. +10 −10 client/dhclient-script.8
  15. +234 −167 client/dhclient.8
  16. +620 −162 client/dhclient.c
  17. +2 −2 client/dhclient.conf
  18. +54 −25 client/dhclient.conf.5
  19. +9 −8 client/dhclient.leases.5
  20. +21 −1 client/scripts/bsdos
  21. +28 −2 client/scripts/freebsd
  22. +33 −1 client/scripts/linux
  23. +9 −2 client/scripts/macos
  24. +23 −3 client/scripts/netbsd
  25. +2 −2 client/scripts/nextstep
  26. +23 −3 client/scripts/openbsd
  27. +30 −1 client/scripts/openwrt
  28. +13 −0 client/scripts/solaris
  29. +4 −3 common/Makefile.am
  30. +11 −8 common/Makefile.in
  31. +3 −0 common/bpf.c
  32. +36 −36 common/comapi.c
  33. +153 −98 common/conflex.c
  34. +17 −6 common/dhcp-eval.5
  35. +46 −26 common/dhcp-options.5
  36. +88 −35 common/discover.c
  37. +260 −66 common/dispatch.c
  38. +44 −51 common/dlpi.c
  39. +1,229 −559 common/dns.c
  40. +0 −242 common/heap.c
  41. +2 −1 common/icmp.c
  42. +13 −12 common/inet.c
  43. +11 −5 common/lpf.c
  44. +3 −3 common/memory.c
  45. +3 −0 common/nit.c
  46. +26 −31 {minires → common}/ns_name.c
  47. +15 −6 common/options.c
  48. +225 −108 common/parse.c
  49. +284 −261 common/print.c
  50. +332 −47 common/socket.c
  51. +10 −5 common/tables.c
  52. +2 −1 common/tests/Makefile.am
  53. +6 −3 common/tests/Makefile.in
  54. +4 −3 common/tr.c
  55. +83 −20 common/tree.c
  56. +3 −0 common/upf.c
  57. +640 −195 configure
  58. +85 −6 configure.ac
  59. +2 −2 contrib/3.0b1-lease-convert
  60. +191 −0 contrib/ldap/README.ldap
  61. +462 −0 contrib/ldap/dhcp.schema
  62. +760 −0 contrib/ldap/dhcpd-conf-to-ldap
  63. +4 −4 dhcpctl/Makefile.am
  64. +8 −6 dhcpctl/Makefile.in
  65. +5 −5 dhcpctl/callback.c
  66. +1 −1 dhcpctl/cltest.c
  67. +11 −6 dhcpctl/dhcpctl.3
  68. +9 −4 dhcpctl/dhcpctl.c
  69. +1 −1 dhcpctl/dhcpctl.h
  70. +1 −1 dhcpctl/omshell.1
  71. +35 −20 dhcpctl/omshell.c
  72. +6 −6 dhcpctl/remote.c
  73. +367 −176 doc/References.html
  74. +497 −217 doc/References.txt
  75. +252 −132 doc/References.xml
  76. +8 −0 doc/examples/dhcpd-dhcpv6.conf
  77. +1 −1 doc/ja_JP.eucJP/dhclient-script.8
  78. +1 −1 doc/ja_JP.eucJP/dhclient.8
  79. +1 −1 doc/ja_JP.eucJP/dhclient.conf.5
  80. +1 −1 doc/ja_JP.eucJP/dhclient.leases.5
  81. +1 −1 doc/ja_JP.eucJP/dhcp-eval.5
  82. +4 −3 doc/ja_JP.eucJP/dhcp-options.5
  83. +2 −0 dst/Makefile.in
  84. +3 −2 dst/base64.c
  85. +3 −2 dst/dst_api.c
  86. +11 −1 dst/dst_internal.h
  87. +4 −3 dst/dst_support.c
  88. +4 −3 dst/hmac_link.c
  89. +1 −2 dst/md5.h
  90. +3 −3 dst/md5_dgst.c
  91. +1 −2 dst/md5_locl.h
  92. +5 −3 dst/prandom.c
  93. +5 −9 includes/Makefile.am
  94. +7 −9 includes/Makefile.in
  95. +1 −1 includes/arpa/nameser.h
  96. +1 −1 includes/arpa/nameser_compat.h
  97. +3 −19 includes/cdefs.h
  98. +34 −0 includes/config.h.in
  99. +3 −3 includes/dhcp6.h
  100. +1,025 −790 includes/dhcpd.h
  101. +11 −3 includes/dhctoken.h
  102. +13 −2 includes/failover.h
  103. +1 −1 includes/heap.h
  104. +0 −38 includes/isc-dhcp/boolean.h
  105. +0 −50 includes/isc-dhcp/commandline.h
  106. +0 −40 includes/isc-dhcp/formatcheck.h
  107. +0 −35 includes/isc-dhcp/lang.h
  108. +0 −122 includes/isc-dhcp/list.h
  109. +0 −552 includes/isc-dhcp/mem.h
  110. +0 −87 includes/isc-dhcp/print.h
  111. +0 −119 includes/isc-dhcp/result.h
  112. +0 −234 includes/isc-dhcp/string.h
  113. +0 −46 includes/isc-dhcp/types.h
  114. +20 −19 includes/{isc-dhcp/int.h → minires.h}
  115. +0 −234 includes/minires/minires.h
  116. +0 −57 includes/minires/res_update.h
  117. +0 −323 includes/minires/resolv.h
  118. +1 −2 includes/netinet/udp.h
  119. +122 −0 includes/omapip/isclib.h
  120. +4 −1 includes/omapip/omapip.h
  121. +18 −8 includes/omapip/omapip_p.h
  122. +120 −0 includes/omapip/result.h
  123. +1 −2 includes/omapip/trace.h
  124. +1 −9 includes/osdep.h
  125. +32 −0 includes/site.h
  126. +5 −5 includes/t_api.h
  127. +6 −4 includes/tree.h
  128. +0 −8 minires/Makefile.am
  129. +0 −413 minires/Makefile.in
  130. +0 −135 minires/ns_date.c
  131. +0 −214 minires/ns_parse.c
  132. +0 −216 minires/ns_samedomain.c
  133. +0 −362 minires/ns_sign.c
  134. +0 −482 minires/ns_verify.c
  135. +0 −243 minires/res_comp.c
  136. +0 −614 minires/res_findzonecut.c
  137. +0 −484 minires/res_init.c
  138. +0 −202 minires/res_mkquery.c
  139. +0 −1,153 minires/res_mkupdate.c
  140. +0 −408 minires/res_query.c
  141. +0 −901 minires/res_send.c
  142. +0 −145 minires/res_sendsigned.c
  143. +0 −225 minires/res_update.c
  144. +3 −2 omapip/Makefile.am
  145. +9 −6 omapip/Makefile.in
  146. +45 −36 omapip/alloc.c
  147. +6 −6 omapip/array.c
  148. +37 −16 omapip/auth.c
  149. +34 −17 omapip/buffer.c
  150. +162 −87 omapip/connection.c
  151. +186 −22 omapip/dispatch.c
  152. +5 −5 omapip/generic.c
  153. +40 −25 omapip/handle.c
  154. +16 −12 omapip/hash.c
  155. +219 −0 omapip/isclib.c
  156. +2 −2 omapip/iscprint.c
  157. +8 −8 omapip/listener.c
  158. +32 −32 omapip/message.c
  159. +0 −480 omapip/mrtrace.c
  160. +10 −11 omapip/omapi.3
  161. +31 −31 omapip/protocol.c
  162. +62 −97 omapip/result.c
  163. +6 −8 omapip/support.c
  164. +13 −2 omapip/test.c
  165. +12 −114 omapip/toisc.c
  166. +116 −116 omapip/trace.c
  167. +2 −1 relay/Makefile.am
  168. +6 −2 relay/Makefile.in
  169. +32 −6 relay/dhcrelay.8
  170. +61 −27 relay/dhcrelay.c
  171. +5 −5 server/Makefile.am
  172. +276 −29 server/Makefile.in
  173. +10 −3 server/class.c
  174. +143 −70 server/confpars.c
  175. +18 −4 server/db.c
  176. +1,192 −333 server/ddns.c
  177. +370 −184 server/dhcp.c
  178. +109 −86 server/dhcpd.8
  179. +84 −40 server/dhcpd.c
  180. +110 −65 server/dhcpd.conf.5
  181. +6 −1 server/dhcpd.leases.5
  182. +85 −19 server/dhcpleasequery.c
  183. +146 −25 server/dhcpv6.c
  184. +193 −81 server/failover.c
  185. +2,004 −0 server/ldap.c
  186. +159 −0 server/ldap_casa.c
  187. +115 −37 server/mdb.c
  188. +99 −75 server/mdb6.c
  189. +110 −105 server/omapi.c
  190. +1 −1 server/salloc.c
  191. +78 −0 server/stables.c
  192. +1 −1 tests/HOWTO-unit-test
  193. +2 −0 tests/Makefile.in
  194. +7 −7 tests/t_api.c
  195. +35 −0 util/bindvar.sh
View
@@ -1,4 +1,4 @@
-# Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
+# Copyright (c) 2004-2011 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
@@ -10,15 +10,18 @@ EXTRA_DIST = RELNOTES LICENSE \
contrib/3.0b1-lease-convert contrib/dhclient-tz-exithook.sh \
contrib/dhcp.spec contrib/sethostname.sh contrib/solaris.init \
contrib/ms2isc/Registry.pm contrib/ms2isc/ms2isc.pl \
- contrib/ms2isc/readme.txt \
+ contrib/ms2isc/readme.txt contrib/ldap/dhcpd-conf-to-ldap \
+ contrib/ldap/dhcp.schema contrib/ldap/README.ldap \
doc/IANA-arp-parameters doc/Makefile doc/References.html \
doc/References.txt doc/References.xml doc/api+protocol \
doc/ja_JP.eucJP/dhclient-script.8 doc/ja_JP.eucJP/dhclient.8 \
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
+ doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
+ util/bindvar.sh \
+ bind/Makefile bind/bind.tar.gz bind/version.tmp
-SUBDIRS = includes tests common minires dst omapip client dhcpctl relay server
+SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
nobase_include_HEADERS = dhcpctl/dhcpctl.h
View
@@ -102,6 +102,7 @@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDAP_CFLAGS = @LDAP_CFLAGS@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
@@ -114,6 +115,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
@@ -173,15 +175,18 @@ EXTRA_DIST = RELNOTES LICENSE \
contrib/3.0b1-lease-convert contrib/dhclient-tz-exithook.sh \
contrib/dhcp.spec contrib/sethostname.sh contrib/solaris.init \
contrib/ms2isc/Registry.pm contrib/ms2isc/ms2isc.pl \
- contrib/ms2isc/readme.txt \
+ contrib/ms2isc/readme.txt contrib/ldap/dhcpd-conf-to-ldap \
+ contrib/ldap/dhcp.schema contrib/ldap/README.ldap \
doc/IANA-arp-parameters doc/Makefile doc/References.html \
doc/References.txt doc/References.xml doc/api+protocol \
doc/ja_JP.eucJP/dhclient-script.8 doc/ja_JP.eucJP/dhclient.8 \
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
+ doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
+ util/bindvar.sh \
+ bind/Makefile bind/bind.tar.gz bind/version.tmp
-SUBDIRS = includes tests common minires dst omapip client dhcpctl relay server
+SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
nobase_include_HEADERS = dhcpctl/dhcpctl.h
all: all-recursive
View
@@ -1,6 +1,6 @@
Internet Systems Consortium DHCP Distribution
- Version 4.1.1-P1
- 17 May 2010
+ Version 4.2.2
+ 27 July 2011
README FILE
@@ -33,6 +33,8 @@ the ISC DHCP Distribution.
5.6 FreeBSD
5.7 NeXTSTEP
5.8 SOLARIS
+ 5.8.1 Solaris 11
+ 5.8.2 Other Solaris Items
5.9 AIX
5.10 MacOS X
6 SUPPORT
@@ -46,7 +48,8 @@ client and relay subdirectories. The README file (this file) includes
late-breaking operational and system-specific information that you
should read even if you don't want to read the manual pages, and that
you should *certainly* read if you run into trouble. Internet
-standards relating to the DHCP protocol are stored in the doc
+standards relating to the DHCP protocol are listed in the References
+document that is available in html, txt and xml formats in doc/
subdirectory. You will have the best luck reading the manual pages if
you build this software and then install it, although you can read
them directly out of the distribution if you need to.
@@ -94,10 +97,7 @@ directory, it may not have up-to-date information).
RELEASE STATUS
-This is ISC DHCP 4.1.1-P1, a patch release which fixes a bug that could
-cause the DHCPv6 server to advertise/assign a previously allocated
-(active) lease to a client that has changed subnets, despite being on
-different shared networks.
+This is ISC DHCP 4.2.2, 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
@@ -115,10 +115,9 @@ If you wish to run the DHCP Distribution on Linux, please see the
Linux-specific notes later in this document. If you wish to run on an
SCO release, please see the SCO-specific notes later in this document.
You particularly need to read these notes if you intend to support
-Windows 95 clients. If you are running a version of FreeBSD prior to
-2.2, please read the note on FreeBSD. If you are running HP-UX or
-Ultrix, please read the notes for those operating systems below. If
-you are running NeXTSTEP, please see the notes on NeXTSTEP below.
+Windows 95 clients. If you are running HP-UX or Ultrix, please read the
+notes for those operating systems below. If you are running NeXTSTEP,
+please see the notes on NeXTSTEP below.
If you start dhcpd and get a message, "no free bpf", that means you
need to configure the Berkeley Packet Filter into your operating
@@ -133,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.1.1-P1.tar.gz
- tar xvf dhcp-4.1.1-P1.tar
+ gunzip dhcp-4.2.2.tar.gz
+ tar xvf dhcp-4.2.2.tar
CONFIGURING IT
-Now, cd to the dhcp-4.1.1-P1 subdirectory that you've just created and
+Now, cd to the dhcp-4.2.2 subdirectory that you've just created and
configure the source tree by typing:
./configure
@@ -152,8 +151,12 @@ your own.
DYNAMIC DNS UPDATES
A fully-featured implementation of dynamic DNS updates is included in
-this release. There are no build dependencies with any BIND version
-- this version can and should just use the resolver in your C library.
+this release. It uses libraries from BIND and, to avoid issues with
+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
@@ -401,14 +404,54 @@ relay agent) is available from the Ports Collection in
/usr/ports/net/isc-dhcp3, or as a package on FreeBSD installation
CDROMs.
- NeXTSTEP
+ NeXTSTEP
The NeXTSTEP support uses the NeXTSTEP Berkeley Packet Filter
extension, which is not included in the base NextStep system. You
must install this extension in order to get dhcpd or dhclient to work.
SOLARIS
+There are two known issues seen when compiling using the Sun compiler.
+
+The first is that older Sun compilers generate an error on some of
+our uses of the flexible array option. Newer versions only generate
+a warning, which can be safely ignored. If you run into this error
+("type of struct member "buf" can not be derived from structure with
+flexible array member"), upgrade your tools to Oracle Solaris Studio
+(previously Sun Studio) 12 or something newer.
+
+The second is the interaction between the configure script and the
+makefiles for the Bind libraries. Currently we don't pass all
+environment variables between the DHCP configure and the Bind configure.
+
+If you attempt to specify the compiler you wish to use like this:
+
+ CC=/opt/SUNWspro/bin/cc ./configure
+
+"make" may not build the Bind libraries with that compiler.
+
+In order to use the same compiler for Bind and DHCP we suggest the
+following commands:
+
+ CC=/opt/SUNWspro/bin/cc ./configure
+ CC=/opt/SUNWspro/bin/cc make
+
+ Solaris 11
+
+We have integrated a patch from Oracle to use sockets instead of
+DLPI on Solaris 11. This functionality was written for use with
+Solaris Studio 12.2 and requires the system/header package.
+
+By default this code is disabled in order to minimize disruptions
+for current users. In order to enable this code you will need to
+enable both USE_SOCKETS and USE_V4_PKTINFO as part of the
+configuration step. The command line would be something like:
+
+ ./configure --enable-use-sockets --enable-ipv4-pktinfo
+
+ Other Solaris Items
+
One problem which has been observed and is not fixed in this
patchlevel has to do with using DLPI on Solaris machines. The symptom
of this problem is that the DHCP server never receives any requests.
@@ -451,10 +494,26 @@ server and relay will work only on a single interface. (They do work
on multi-interface machines if configured to listen on only one of the
interfaces.)
+We have reports of Windows XP clients having difficutly retrieving
+addresses from a server running on an AIX machine. This issue
+was traced to the client requiring messages be sent to the all ones
+broadcast address (255.255.255.255) while the AIX server was sending
+to 192.168.0.255.
+
+You may be able to solve this by including a relay between the client
+and server with the relay configured to use a broadcast of all-ones.
+
+A second option that worked for AIX 5.1 but doesn't seem to work for
+AIX 5.3 was to:
+ create a host file entry for all-ones (255.255.255.255)
+and then add a route:
+ route add -host all-ones -interface <local-ip-address>
+
The ISC DHCP distribution does not include a dhclient-script for AIX--
AIX comes with a DHCP client. Contribution of a working dhclient-script
for AIX would be welcome.
+
MacOS X
The MacOS X system uses a TCP/IP stack derived from FreeBSD with a
@@ -522,10 +581,10 @@ has been resolved, then we're still working on it.
PLEASE DO NOT REPORT BUGS IN OLD SOFTWARE RELEASES! Fetch the latest
release and see if the bug is still in that version of the software,
-and if it's not, _then_ report it. ISC release versions always have
-three numbers, for example: 1.2.3. The 'major release' is 1 here,
-the 'minor release' is 2, and the 'maintenance release' is 3. ISC
-will accept bug reports against the most recent two major.minor
+and if it is still present, _then_ report it. ISC release versions
+always have three numbers, for example: 1.2.3. The 'major release' is
+1 here, the 'minor release' is 2, and the 'maintenance release' is 3.
+ISC will accept bug reports against the most recent two major.minor
releases: for example, 1.0.0 and 0.9.0, but not 0.8.* or prior.
PLEASE take a moment to determine where the ISC DHCP distribution
@@ -546,42 +605,42 @@ report. This will save us a great deal of time and more informative
bug reports are more likely to get handled more quickly overall.
1. The specific operating system name and version of the
- machine on which the DHCP server or client is running.
+ machine on which the DHCP server or client is running.
2. The specific operating system name and version of the
- machine on which the client is running, if you are having
- trouble getting a client working with the server.
+ machine on which the client is running, if you are having
+ trouble getting a client working with the server.
3. If you're running Linux, the version number we care about is
- the kernel version and maybe the library version, not the
- distribution version - e.g., while we don't mind knowing
- that you're running Redhat version mumble.foo, we must know
- what kernel version you're running, and it helps if you can
- tell us what version of the C library you're running,
- although if you don't know that off the top of your head it
- may be hard for you to figure it out, so don't go crazy
- trying.
+ the kernel version and maybe the library version, not the
+ distribution version - e.g., while we don't mind knowing
+ that you're running Redhat version mumble.foo, we must know
+ what kernel version you're running, and it helps if you can
+ tell us what version of the C library you're running,
+ although if you don't know that off the top of your head it
+ may be hard for you to figure it out, so don't go crazy
+ trying.
4. The specific version of the DHCP distribution you're
- running, as reported by dhcpd -t.
+ running, as reported by dhcpd -t.
5. Please explain the problem carefully, thinking through what
- you're saying to ensure that you don't assume we know
- something about your situation that we don't know.
+ you're saying to ensure that you don't assume we know
+ something about your situation that we don't know.
6. Include your dhcpd.conf and dhcpd.leases file as MIME attachments
if they're not over 100 kilobytes in size each. If they are
this large, please make them available to us eg via a hidden
http:// URL or FTP site. If you're not comfortable releasing
this information due to sensitive contents, you may encrypt
the file to our release signing key, available on our website.
7. Include a log of your server or client running until it
- encounters the problem - for example, if you are having
- trouble getting some client to get an address, restart the
- server with the -d flag and then restart the client, and
- send us what the server prints. Likewise, with the client,
- include the output of the client as it fails to get an
- address or otherwise does the wrong thing. Do not leave
- out parts of the output that you think aren't interesting.
+ encounters the problem - for example, if you are having
+ trouble getting some client to get an address, restart the
+ server with the -d flag and then restart the client, and
+ send us what the server prints. Likewise, with the client,
+ include the output of the client as it fails to get an
+ address or otherwise does the wrong thing. Do not leave
+ out parts of the output that you think aren't interesting.
8. If the client or server is dumping core, please run the
- debugger and get a stack trace, and include that in your
- bug report. For example, if your debugger is gdb, do the
- following:
+ debugger and get a stack trace, and include that in your
+ bug report. For example, if your debugger is gdb, do the
+ following:
gdb dhcpd dhcpd.core
(gdb) where
Oops, something went wrong.

0 comments on commit 0e3760a

Please sign in to comment.