]> git.ipfire.org Git - thirdparty/dhcp.git/blobdiff - README
pre release changes
[thirdparty/dhcp.git] / README
diff --git a/README b/README
index f917e8b94d8c6f42e0a79b4fd66de2854697438b..13ead11395be0c63102486ffa60e800fc961d584 100644 (file)
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
              Internet Systems Consortium DHCP Distribution
-                             Version 4.2.0
-                            21 December 2012
+                            Version 4.4.3-P1
+                             5 October 2022
 
                              README FILE
 
@@ -27,16 +27,10 @@ the ISC DHCP Distribution.
          5.2.4   BROADCAST
          5.2.6   IP BOOTP AGENT
          5.2.7   MULTIPLE INTERFACES
-        5.3     SCO
-        5.4     HP-UX
-        5.5     ULTRIX
-        5.6     FreeBSD
-        5.7     NeXTSTEP
-        5.8     SOLARIS
-        5.9     AIX
-        5.10    MacOS X
+     5.3    ATF
        6       SUPPORT
         6.1     HOW TO REPORT BUGS
+       7       HISTORY
 
                      WHERE TO FIND DOCUMENTATION
 
@@ -46,7 +40,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.
@@ -55,8 +50,8 @@ DHCP server documentation is in the dhcpd man page.  Information about
 the DHCP server lease database is in the dhcpd.leases man page.
 Server configuration documentation is in the dhcpd.conf man page as
 well as the dhcp-options man page.   A sample DHCP server
-configuration is in the file server/dhcpd.conf.   The source for the
-dhcpd, dhcpd.leases and dhcpd.conf man pages is in the server/ sub-
+configuration is in the file server/dhcpd.conf.example.   The source for
+the dhcpd, dhcpd.leases and dhcpd.conf man pages is in the server/ sub-
 directory in the distribution.   The source for the dhcp-options.5
 man page is in the common/ subdirectory.
 
@@ -67,10 +62,15 @@ documented in the dhclient-script man page.   The format of the DHCP
 client lease database is documented in the dhclient.leases man page.
 The source for all these man pages is in the client/ subdirectory in
 the distribution.   In addition, the dhcp-options man page should be
-referred to for information about DHCP options.
+referred to for information about DHCP options. The client component
+is End-of-Life and will not be part of future releases.
 
 DHCP relay agent documentation is in the dhcrelay man page, the source
-for which is distributed in the relay/ subdirectory.
+for which is distributed in the relay/ subdirectory. The relay component
+is End-of-Life and will not be part of future releases.
+
+KEA Migration Assistant documentation, including how to build, install
+and use it, is included in the keama/ directory.
 
 To read installed manual pages, use the man command.  Type "man page"
 where page is the name of the manual page.   This will only work if
@@ -92,36 +92,11 @@ will not be correct for your operating system until after you iterate
 'make install' (so if you're reading a manpage out of the source
 directory, it may not have up-to-date information).
 
-                           RELEASE STATUS
-
-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
-except on Solaris.
-
-The DHCPv4 server, relay, and client, should be fully functional
-on Linux, Solaris, any BSD, HPUX, SCO, NextSTEP, and Irix.
-
-If you are running the DHCP distribution on a machine which is a
-firewall, or if there is a firewall between your DHCP server(s) and
-DHCP clients, please read the section on firewalls which appears later
-in this document.
-
-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.
-
-If you start dhcpd and get a message, "no free bpf", that means you
-need to configure the Berkeley Packet Filter into your operating
-system kernel.   On NetBSD, FreeBSD and BSD/os, type ``man bpf'' for
-information.   On Digital Unix, type ``man pfilt''.
+                               RELEASE STATUS
 
+Version 4.4.3-P1 is a maintenance release of the DHCP client, relay and
+server. It is the final release for the client and relay components,
+which have reached end-of-life and will no longer be maintained.
 
                    BUILDING THE DHCP DISTRIBUTION
 
@@ -130,12 +105,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.0.tar.gz
-       tar xvf dhcp-4.2.0.tar
+       gunzip dhcp-4.4.3-P1.tar.gz
+       tar xvf dhcp-4.4.3-P1.tar
 
                            CONFIGURING IT
 
-Now, cd to the dhcp-4.2.0 subdirectory that you've just created and
+Now, cd to the dhcp-4.4.3-P1 subdirectory that you've just created and
 configure the source tree by typing:
 
        ./configure
@@ -146,6 +121,38 @@ system; otherwise, it will complain.  If it can't figure out what
 system you are using, that system is not supported - you are on
 your own.
 
+Several options may be enabled or disabled via the configure command.
+You can get a list of these by typing:
+
+       ./configure --help
+
+If you want to use dynamic shared libraries automake, autoconf
+(aka GNU autotools) and libtool must be available. The DHCP
+distribution provides 3 configure.ac* files: the -lt version
+has no libtool support and was copied to the configure.ac
+standard file in the distribution. To enable libtool support
+you should perform these steps:
+
+       cp configure.ac+lt configure.ac
+       autoreconf -i
+
+after you can use the regenerated configure as usual
+(with libtool support (--enable-libtool) on by default):
+
+       ./configure
+
+For compatibility (and people who don't read this documentation)
+the --enable-libtool configuration file is supported even by
+the distributed configure (and off by default). The previous
+steps are performed and the regenerated configure called with
+almost the same parameters (this "almost" makes the use of
+this feature not recommended).
+
+Note you can't go back from with libtool support to without libtool
+support by restoring configure.ac and rerun autoreconf. If you
+want or need to restore the without libtool support state the
+required way is to simply restore the whole distribution.
+
                         DYNAMIC DNS UPDATES
 
 A fully-featured implementation of dynamic DNS updates is included in
@@ -182,6 +189,10 @@ If you get errors on a system not mentioned above, you will need
 to do some programming or debugging on your own to get the DHCP
 Distribution working.
 
+If you cross compile you have to follow the instructions from
+the BIND README, in particular you must set the BUILD_CC
+environment variable.
+
                   INSTALLING THE DHCP DISTRIBUTION
 
 Once you have successfully gotten the DHCP Distribution to build, you
@@ -236,7 +247,7 @@ and the "protocol not configured" problem.
                    LINUX: PROTOCOL NOT CONFIGURED
 
 If you get the following message, it's because your kernel doesn't
-have the linux packetfilter or raw packet socket configured:
+have the Linux packetfilter or raw packet socket configured:
 
  Make sure CONFIG_PACKET (Packet socket) and CONFIG_FILTER (Socket
  Filtering) are enabled in your kernel configuration
@@ -265,7 +276,7 @@ we completely bypass the Linux IP stack, but on old versions of Linux
 DHCP clients connected to the same network as the ISC DHCP server or
 ISC relay agent will not see messages from the DHCP server.   It *is*
 possible to run into trouble with this on Linux 2.2 and later if you
-are running a verson of the DHCP server that was compiled on a Linux
+are running a version of the DHCP server that was compiled on a Linux
 2.0 system, though.
 
 It is possible to work around this problem on some versions of Linux
@@ -341,169 +352,17 @@ Note that this may affect the performance of your system, since the
 Linux kernel must rewrite packets received via this interface.  For
 more information, consult the vconfig man pages.
 
-                                SCO
-
-ISC DHCP will now work correctly on newer versions of SCO out of the
-box (tested on OpenServer 5.05b, assumed to work on UnixWare 7).
-
-Older versions of SCO have the same problem as Linux (described earlier).
-The thing is, SCO *really* doesn't want to let you add a host route to
-the all-ones broadcast address.
-
-You can try the following:
-
-  ifconfig net0 xxx.xxx.xxx.xxx netmask 0xNNNNNNNN broadcast 255.255.255.255
-
-If this doesn't work, you can also try the following strange hack:
-
-  ifconfig net0 alias 10.1.1.1 netmask 8.0.0.0
-
-Apparently this works because of an interaction between SCO's support
-for network classes and the weird netmask.  The 10.* network is just a
-dummy that can generally be assumed to be safe.   Don't ask why this
-works.   Just try it.   If it works for you, great.
-
-                               HP-UX
-
-HP-UX has the same problem with the all-ones broadcast address that
-SCO and Linux have.   One user reported that adding the following to
-/etc/rc.config.d/netconf helped (you may have to modify this to suit
-your local configuration):
-
-INTERFACE_NAME[0]=lan0
-IP_ADDRESS[0]=1.1.1.1
-SUBNET_MASK[0]=255.255.255.0
-BROADCAST_ADDRESS[0]="255.255.255.255"
-LANCONFIG_ARGS[0]="ether"
-DHCP_ENABLE[0]=0
 
-                               ULTRIX
+                              ATF
 
-Now that we have Ultrix packet filter support, the DHCP Distribution
-on Ultrix should be pretty trouble-free.  However, one thing you do
-need to be aware of is that it now requires that the pfilt device be
-configured into your kernel and present in /dev.  If you type ``man
-packetfilter'', you will get some information on how to configure your
-kernel for the packet filter (if it isn't already) and how to make an
-entry for it in /dev.
+Please see the file DHCP/doc/devel/atf.dox for a description of building
+and using these tools.
 
-                              FreeBSD
-
-Versions of FreeBSD prior to 2.2 have a bug in BPF support in that the
-ethernet driver swaps the ethertype field in the ethernet header
-downstream from BPF, which corrupts the output packet.   If you are
-running a version of FreeBSD prior to 2.2, and you find that dhcpd
-can't communicate with its clients, you should #define BROKEN_FREEBSD_BPF 
-in site.h and recompile.
-
-Modern versions of FreeBSD include the ISC DHCP 3.0 client as part of
-the base system, and the full distribution (for the DHCP server and
-relay agent) is available from the Ports Collection in
-/usr/ports/net/isc-dhcp3, or as a package on FreeBSD installation
-CDROMs.
-
-                             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  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
-
-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.
-This has been observed with Solaris 2.6 and Solaris 7 on Intel x86
-systems, although it may occur with other systems as well.  If you
-encounter this symptom, and you are running the DHCP server on a
-machine with a single broadcast network interface, you may wish to
-edit the includes/site.h file and uncomment the #define USE_SOCKETS
-line.  Then type ``make clean; make''.  As an alternative workaround,
-it has been reported that running 'snoop' will cause the dhcp server
-to start receiving packets.  So the practice reported to us is to run
-snoop at dhcpd startup time, with arguments to cause it to receive one
-packet and exit.
-
-       snoop -c 1 udp port 67 > /dev/null &
-
-The DHCP client on Solaris will only work with DLPI.  If you run it
-and it just keeps saying it's sending DHCPREQUEST packets, but never
-gets a response, you may be having DLPI trouble as described above.
-If so, we have no solution to offer at this time, aside from the above
-workaround which should also work here.  Also, because Solaris requires
-you to "plumb" an interface before it can be detected by the DHCP client,
-you must either specify the name(s) of the interface(s) you want to
-configure on the command line, or must plumb the interfaces prior to
-invoking the DHCP client.  This can be done with ``ifconfig iface plumb'',
-where iface is the name of the interface (e.g., ``ifconfig hme0 plumb'').
-
-It should be noted that Solaris versions from 2.6 onward include a
-DHCP client that you can run with ``/sbin/ifconfig iface dhcp start''
-rather than using the ISC DHCP client, including DHCPv6.  Consequently,
-we don't believe there is a need for the client to run on Solaris, and
-have not engineered the needed DHCPv6 modifications for the dhclient-script.
-If you feel this is in error, or have a need, please contact us.
-
-                               AIX
-
-The AIX support uses the BSD socket API, which cannot differentiate on
-which network interface a broadcast packet was received; thus the DHCP
-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.)
-
-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
-user-friendly interface named the System Configuration Framework.
-As it includes a builtin DHCPv4 client (you are better just using that),
-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).
-
-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.
-
-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.
+The optional unit tests use ATF (Automated Testing Framework) including
+the atf-run and atf-report tools. ATF deprecated these tools in
+version 0.19 and removed these tools from its sources in version 0.20,
+requiring you to get an older version, use Kyua with an ATF compatibility
+package or use the version included in the Bind sources.
 
                               SUPPORT
 
@@ -513,7 +372,7 @@ sponsors.  ISC now also offers commercial quality support contracts for
 ISC DHCP, more information about ISC Support Contracts can be found at
 the following URL:
 
-       https://www.isc.org/services/support/
+       https://www.isc.org/support/
 
 Please understand that we may not respond to support inquiries unless
 you have a support contract.  ISC will continue its practice of always
@@ -533,8 +392,8 @@ the dhcp-users or dhcp-announce mailing lists.
 WHERE TO SEND FEATURE REQUESTS: We like to hear your feedback.  We may
 not respond to it all the time, but we do read it.  If ISC DHCP doesn't
 work well for you, or you have an idea that would improve it for your
-use, please send your suggestion to dhcp-suggest@isc.org.  This is also
-an excellent place to send patches that add new features.
+use, please create an issue at https://gitlab.isc.org/isc-projects/dhcp/issues.
+This is also an excellent place to send patches that add new features.
 
 WHERE TO REPORT BUGS: If you want the act of sending in a bug report
 to result in you getting help in the form of a fixed piece of
@@ -542,17 +401,20 @@ software, you are asking for help.  Your bug report is helpful to us,
 but fundamentally you are making a support request, so please use the
 addresses described in the previous paragraphs.  If you are _sure_ that
 your problem is a bug, and not user error, or if your bug report
-includes a patch, you can send it to our ticketing system at
-dhcp-bugs@isc.org.  If you have not received a notice that the ticket
-has been resolved, then we're still working on it.
+includes a patch, you can submit it to our ticketing system at
+https://gitlab.isc.org/isc-projects/dhcp/issues.  If you have not received
+a notice that the ticket has been resolved, then we're still working on it.
+Notice that this is the final release that features client and relay
+components. Reporting bugs in them makes limited sense. The ISC team
+will not be fixing any issues related to client or relay. They may be
+useful for other users to document some problems or perhaps discuss
+and share workarounds.
 
 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
-releases: for example, 1.0.0 and 0.9.0, but not 0.8.* or prior.
+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.
 
 PLEASE take a moment to determine where the ISC DHCP distribution
 that you're using came from.  ISC DHCP is sometimes heavily modified
@@ -592,7 +454,7 @@ bug reports are more likely to get handled more quickly overall.
          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
+         this large, please make them available to us, e.g., 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.
@@ -617,6 +479,23 @@ bug reports are more likely to get handled more quickly overall.
          This assumes that it's the dhcp server you're debugging, and
          that the core file is in dhcpd.core.
 
-Please see https://www.isc.org/software/dhcp/ for details on how to subscribe
+Please see https://www.isc.org/dhcp/ for details on how to subscribe
 to the ISC DHCP mailing lists.
 
+                              HISTORY
+
+ISC DHCP was originally written by Ted Lemon under a contract with
+Vixie Labs with the goal of being a complete reference implementation
+of the DHCP protocol.  Funding for this project was provided by
+Internet Systems Consortium. The first release of the ISC DHCP
+distribution in December 1997 included just the DHCP server.
+Release 2 in June 1999 added a DHCP client and a BOOTP/DHCP relay
+agent. DHCP 3 was released in October 2001 and included DHCP failover
+support, OMAPI, Dynamic DNS, conditional behaviour, client classing,
+and more. Version 3 of the DHCP server was funded by Nominum, Inc.
+The 4.0 release in December 2007 introduced DHCPv6 protocol support
+for the server and client. The client and relay components reached
+their End-of-Life in January 2022.
+
+This product includes cryptographic software written
+by Eric Young (eay@cryptsoft.com).