]> git.ipfire.org Git - thirdparty/dhcp.git/blobdiff - README
[#223] Minor edits
[thirdparty/dhcp.git] / README
diff --git a/README b/README
index 44fec624f490477da8db1a1c2847d7829cf729bd..2e9203dc773cb56ec42d1d220af57362700f2fb3 100644 (file)
--- a/README
+++ b/README
@@ -1,13 +1,9 @@
-              Internet Systems Consortium DHCP Distribution
-                        Version 4.0.0-2007041300
-                            April 13, 2007
+             Internet Systems Consortium DHCP Distribution
+                            Version 4.4.3b1
+                           26 January 2022
 
                              README FILE
 
- **********************************************************************
- *** This is NOT a public release, and should not be redistributed. ***
- **********************************************************************
-
 You should read this file carefully before trying to install or use
 the ISC DHCP Distribution.
 
@@ -31,14 +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.3    ATF
        6       SUPPORT
         6.1     HOW TO REPORT BUGS
+       7       HISTORY
 
                      WHERE TO FIND DOCUMENTATION
 
@@ -48,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.
@@ -57,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.
 
@@ -69,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
@@ -94,40 +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 a snapshot release of work leading up to the first alpha
-of ISC DHCP 4.0.0, a feature release bent to the purpose of implemeting
-DHCPv6.
-
-In this release, the server and relay agent are currently fully
-functional on Linux, and Solaris.  The software may also runon other
-systems.
-
-The DHCP client currently only knows how to configure the network on
-Linux.  The client depends on a system-dependent shell script to do
-network configuration - support for other operating systems is simply
-a matter of porting this shell script to the new platform.
-
-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.3b1 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
 
@@ -136,13 +105,13 @@ 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.0.0-2007041300.tar.gz
-       tar xvf dhcp-4.0.0-2007041300.tar
+       gunzip dhcp-4.4.3b1.tar.gz
+       tar xvf dhcp-4.4.3b1.tar
 
                            CONFIGURING IT
 
-Now, cd to the dhcp-dhcp-4.0.0-2007041300 subdirectory that you've
-just created and configure the source tree by typing:
+Now, cd to the dhcp-4.4.3b1 subdirectory that you've just created and
+configure the source tree by typing:
 
        ./configure
 
@@ -152,11 +121,47 @@ 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
-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
@@ -184,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
@@ -238,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
@@ -267,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
@@ -323,6 +332,14 @@ Linux 2.1 and later kernels do not use SO_BINDTODEVICE or require the
 broadcast address hack, but do support multiple interfaces, using the
 Linux Packet Filter.
 
+                            LINUX: OpenWrt
+
+DHCP 4.1 has been tested on OpenWrt 7.09 and 8.09.  In keeping with
+standard practice, client/scripts now includes a dhclient-script file
+for OpenWrt.  However, this is not sufficient by itself to run dhcp on
+OpenWrt; a full OpenWrt package for DHCP is available at
+ftp://ftp.isc.org/isc/dhcp/dhcp-4.1.0-openwrt.tar.gz
+
                    LINUX: 802.1q VLAN INTERFACES
 
 If you're using 802.1q vlan interfaces on Linux, it is necessary to
@@ -335,124 +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
-
-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.
-
-                              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
-
-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.  The feature set of the Solaris
-client is different (not necessarily better or worse) than that of the
-ISC client, but in most cases it will be a lot easier for you to just
-use that.  Please do not ask for help in using the Solaris DHCP client
-on Internet Systems Consortium mailing lists - that's why you're
-paying Sun the big bucks.   If you're having a problem with the
-Solaris client interoperating with the ISC dhcp server, that's another
-matter, but please check with Sun first.
-
-                               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.
+
+                              ATF
+
+Please see the file DHCP/doc/devel/atf.dox for a description of building
+and using these tools.
+
+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
 
@@ -462,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:
 
-       http://www.isc.org/sw/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
@@ -471,7 +381,7 @@ responding to all other requests for support upon ISC's mailing lists
 on a best-effort basis.
 
 However, ISC DHCP has attracted a fairly sizable following on the
-Internet, which means that there are a lot of knowledgable users who
+Internet, which means that there are a lot of knowledgeable users who
 may be able to help you if you get stuck.  These people generally
 read the dhcp-users@isc.org mailing list.  Be sure to provide as much
 detail in your query as possible.
@@ -482,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
@@ -491,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
@@ -521,42 +434,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
+         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.
       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
@@ -566,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 http://www.isc.org/sw/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).