5a3797e
diff -up dhcp-4.2.0/client/dhclient.8.man dhcp-4.2.0/client/dhclient.8
5a3797e
--- dhcp-4.2.0/client/dhclient.8.man	2010-07-10 05:25:51.000000000 +0200
5a3797e
+++ dhcp-4.2.0/client/dhclient.8	2010-07-21 14:27:13.000000000 +0200
5a3797e
@@ -115,6 +115,33 @@ relay
82186fd
 .B -w
82186fd
 ]
82186fd
 [
82186fd
+.B -B
82186fd
+]
82186fd
+[
82186fd
+.B -I
82186fd
+.I dhcp-client-identifier
82186fd
+]
82186fd
+[
82186fd
+.B -H
82186fd
+.I host-name
82186fd
+]
82186fd
+[
82186fd
+.B -F
82186fd
+.I fqdn.fqdn
82186fd
+]
82186fd
+[
82186fd
+.B -V
82186fd
+.I vendor-class-identifier
82186fd
+]
82186fd
+[
82186fd
+.B -R
82186fd
+.I request-option-list
82186fd
+]
82186fd
+[
4bf24c8
+.B -timeout
82186fd
+.I timeout
82186fd
+]
82186fd
+[
82186fd
 .B -v
82186fd
 ]
82186fd
 [
5a3797e
@@ -142,46 +169,6 @@ important details about the network to w
82186fd
 the location of a default router, the location of a name server, and
82186fd
 so on.
82186fd
 .PP
5a3797e
-If given the 
5a3797e
-.B -4
5a3797e
-command line argument (default), dhclient will use the
82186fd
-DHCPv4 protocol to obtain an IPv4 address and configuration parameters.
82186fd
-.PP
5a3797e
-If given the
5a3797e
-.B -6
5a3797e
-command line argument, dhclient will use the DHCPv6
82186fd
-protocol to obtain whatever IPv6 addresses are available along with
4bf24c8
-configuration parameters. But with
4bf24c8
-.B -S
4bf24c8
-it uses Information-request to get only (i.e., without address)
4bf24c8
-stateless configuration parameters.
4bf24c8
-.PP
4bf24c8
-The default DHCPv6 behavior is modified too with
4bf24c8
-.B -T
4bf24c8
-which asks for IPv6 temporary addresses, one set per
4bf24c8
-.B -T
4bf24c8
-flag.
4bf24c8
-.B -P
4bf24c8
-enables the IPv6 prefix delegation.
4bf24c8
-As temporary addresses or prefix delegation disables the normal
4bf24c8
-address query,
4bf24c8
-.B -N
4bf24c8
-restores it. Note it is not recommended to mix queries of different types
4bf24c8
-together, or even to share the lease file between them.
82186fd
-.PP
5a3797e
-By default, DHCPv6 dhclient creates an identifier based on the
5a3797e
-link-layer address (DUID-LL) if it is running in stateless mode (with
5a3797e
--S, not requesting an address), or it creates an identifier based on
5a3797e
-the link-layer address plus a timestamp (DUID-LLT) if it is running in
5a3797e
-stateful mode (without -S, requesting an address).
5a3797e
-.B -D
5a3797e
-overrides this default, with a value of either "LL" or "LLT".
5a3797e
-.PP
5a3797e
-If given the 
5a3797e
-.B --version
5a3797e
-command line argument, dhclient will print its
82186fd
-version number and exit.
82186fd
-.PP
82186fd
 On startup, dhclient reads the
82186fd
 .IR dhclient.conf
82186fd
 for configuration instructions.   It then gets a list of all the
5a3797e
@@ -235,141 +222,269 @@ file.   If interfaces are specified in t
82186fd
 only configure interfaces that are either specified in the
82186fd
 configuration file or on the command line, and will ignore all other
82186fd
 interfaces.
82186fd
-.PP
82186fd
-If the DHCP client should listen and transmit on a port other than the
82186fd
-standard (port 68), the
82186fd
-.B -p
82186fd
-flag may used.  It should be followed by the udp port number that
82186fd
-dhclient should use.  This is mostly useful for debugging purposes.
82186fd
-If a different port is specified for the client to listen on and
82186fd
-transmit on, the client will also use a different destination port -
4bf24c8
-one less than the specified port.
82186fd
-.PP
82186fd
-The DHCP client normally transmits any protocol messages it sends
82186fd
-before acquiring an IP address to, 255.255.255.255, the IP limited
82186fd
-broadcast address.   For debugging purposes, it may be useful to have
82186fd
-the server transmit these messages to some other address.   This can
82186fd
-be specified with the 
82186fd
-.B -s
82186fd
-flag, followed by the IP address or domain name of the destination.
4bf24c8
-This feature is not supported by DHCPv6.
82186fd
-.PP
82186fd
-For testing purposes, the giaddr field of all packets that the client
82186fd
-sends can be set using the
82186fd
-.B -g
82186fd
-flag, followed by the IP address to send.   This is only useful for testing,
82186fd
-and should not be expected to work in any consistent or useful way.
82186fd
-.PP
82186fd
-The DHCP client will normally run in the foreground until it has
82186fd
-configured an interface, and then will revert to running in the
82186fd
-background.   To run force dhclient to always run as a foreground
82186fd
-process, the
82186fd
-.B -d
82186fd
-flag should be specified.  This is useful when running the client
82186fd
-under a debugger, or when running it out of inittab on System V
82186fd
-systems.
82186fd
-.PP
82186fd
-The dhclient daemon creates its own environment when executing the
82186fd
-dhclient-script to do the grunt work of interface configuration.
82186fd
-To define extra environment variables and their values, use the
82186fd
-.B -e
82186fd
-flag, followed by the environment variable name and value assignment,
82186fd
-just as one would assign a variable in a shell.  Eg:
82186fd
-.B -e
82186fd
-.I IF_METRIC=1
82186fd
-.PP
82186fd
-The client normally prints no output during its startup sequence.  It
82186fd
-can be made to emit verbose messages displaying the startup sequence events
82186fd
-until it has acquired an address by supplying the
82186fd
-.B -v
82186fd
-command line argument.  In either case, the client logs messages using
82186fd
-the
82186fd
-.B syslog (3)
82186fd
-facility.  A
82186fd
-.B -q
82186fd
-command line argument is provided for backwards compatibility, but since
82186fd
-dhclient is quiet by default, it has no effect.
82186fd
-.PP
82186fd
-The client normally doesn't release the current lease as it is not
82186fd
-required by the DHCP protocol.  Some cable ISPs require their clients
82186fd
-to notify the server if they wish to release an assigned IP address.
4bf24c8
-The
4bf24c8
-.B -r
4bf24c8
-flag explicitly releases the current lease, and once the lease has been
4bf24c8
-released, the client exits.
4bf24c8
-.PP
82186fd
+.SH OPTIONS
82186fd
+.TP
82186fd
+.BI \-4
82186fd
+Use the DHCPv4 protocol to obtain an IPv4 address and configuration
4bf24c8
+parameters (default).
82186fd
+
82186fd
+.TP
82186fd
+.BI \-6
82186fd
+Use the DHCPv6 protocol to obtain whatever IPv6 addresses are available
4bf24c8
+along with configuration parameters.  The functionality of DHCPv6 mode
4bf24c8
+may be modified with the
4bf24c8
+.BI \-S
4bf24c8
+,
4bf24c8
+.BI \-T
4bf24c8
+, and
4bf24c8
+.BI \-N
4bf24c8
+options.
4bf24c8
+
4bf24c8
+.TP
4bf24c8
+.BI \-S
4bf24c8
+Perform an information-only request over DHCPv6 to get stateless
4bf24c8
+configuration parameters.  It is not recommended to combine this option
4bf24c8
+with the
4bf24c8
+.BI \-N
4bf24c8
+,
4bf24c8
+.BI \-P
4bf24c8
+, or
4bf24c8
+.BI \-T
4bf24c8
+options or to share lease files between different modes of operation.  Only
4bf24c8
+valid with the
4bf24c8
+.BI \-6
4bf24c8
+option.
4bf24c8
+
4bf24c8
+.TP
4bf24c8
+.BI \-N
4bf24c8
+Perform a normal (IA_NA) address query over DHCPv6.  It is not recommended
4bf24c8
+to combine this option with the
4bf24c8
+.BI \-P
4bf24c8
+,
4bf24c8
+.BI \-S
4bf24c8
+, or
4bf24c8
+.BI \-T
4bf24c8
+options or to share lease files between different modes of operation.  Only
4bf24c8
+valid with the
4bf24c8
+.BI \-6
4bf24c8
+option.
4bf24c8
+
4bf24c8
+.TP
4bf24c8
+.BI \-T
4bf24c8
+Perform a temporary (IA_TA) address query over DHCPv6 (disables normal address
4bf24c8
+query).  It is not recommended to combine this option with the
4bf24c8
+.BI \-N
4bf24c8
+,
4bf24c8
+.BI \-P
4bf24c8
+, or
4bf24c8
+.BI \-S
4bf24c8
+options or to share lease files between different modes of operation.  Only
4bf24c8
+valid with the
4bf24c8
+.BI \-6
4bf24c8
+option.
4bf24c8
+
4bf24c8
+.TP
4bf24c8
+.BI \-P
4bf24c8
+Enable IPv6 prefix delegation (disables normal address query).  It is not
4bf24c8
+not recommended to combine this option with the
4bf24c8
+.BI \-N
4bf24c8
+,
4bf24c8
+.BI \-S
4bf24c8
+, or
4bf24c8
+.BI \-T
4bf24c8
+options or to share lease files between different modes of operation.  Only
4bf24c8
+valid with the
4bf24c8
+.BI \-6
4bf24c8
+option.
82186fd
+
82186fd
+.TP
5a3797e
+.BI \-D
5a3797e
+By default, DHCPv6 dhclient creates an identifier based on the
5a3797e
+link-layer address (DUID-LL) if it is running in stateless mode (with
5a3797e
+-S, not requesting an address), or it creates an identifier based on
5a3797e
+the link-layer address plus a timestamp (DUID-LLT) if it is running in
5a3797e
+stateful mode (without -S, requesting an address).
5a3797e
+.BI \-D
5a3797e
+overrides this default, with a value of either "LL" or "LLT".
5a3797e
+
5a3797e
+.TP
82186fd
+.BI \-p\ <port\ number>
82186fd
+The UDP port number the DHCP client should listen and transmit on.  If
82186fd
+unspecified,
82186fd
+.B dhclient
82186fd
+uses the default port 68.  This option is mostly useful for debugging
82186fd
+purposes.  If a different port is specified for the client to listen and
82186fd
+transmit on, the client will also use a different destination port - one
4bf24c8
+less than the specified port.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-d
82186fd
+Force
82186fd
+.B dhclient
82186fd
+to run as a foreground process.  This is useful when running the client
82186fd
+under a debugger, or when running it out of inittab on System V systems.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-e\ VAR=value
82186fd
+Define additional environment variables for the environment where
4bf24c8
+dhclient-script executes.  You may specify multiplate
82186fd
+.B \-e
4bf24c8
+options on the command line.  For example:
4bf24c8
+.B \-e IF_METRIC=1
82186fd
+
82186fd
+.TP
82186fd
+.BI \-q
82186fd
+Suppress all terminal and log output except error messages.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-1
4bf24c8
+Try once to get a lease.  One failure, exit with code 2.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-r
82186fd
+Tell
82186fd
+.B dhclient
82186fd
+to release the current lease it has from the server.  This is not required
82186fd
+by the DHCP protocol, but some ISPs require their clients to notify the
82186fd
+server if they wish to release an assigned IP address.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-lf\ <lease-file>
82186fd
+Path to the lease database file.  If unspecified, the default
4bf24c8
+.B DBDIR/dhclient.leases
82186fd
+is used.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-pf\ <pid-file>
82186fd
+Path to the process ID file.  If unspecified, the default
4bf24c8
+.B RUNDIR/dhclient.pid
82186fd
+is used.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-cf\ <config-file>
82186fd
+Path to the client configuration file.  If unspecified, the default
4bf24c8
+.B ETCDIR/dhclient.conf
82186fd
+is used.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-sf\ <script-file>
82186fd
+Path to the network configuration script invoked by
82186fd
+.B dhclient
82186fd
+when it gets a lease.  If unspecified, the default
64b0222
+.B CLIENTBINDIR/dhclient-script
82186fd
+is used.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-s\ <server>
82186fd
+Specifiy the server IP address or fully qualified domain name to transmit
82186fd
+DHCP protocol messages to.  Normally,
82186fd
+.B dhclient
82186fd
+transmits these messages to 255.255.255.255 (the IP limited broadcast
82186fd
+address).  Overriding this is mostly useful for debugging purposes.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-g\ <relay>
82186fd
+Only for debugging.  Set the giaddr field of all packets the client
82186fd
+sends to the IP address specified.  This should not be expected to work
82186fd
+in any consistent or useful way.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-n
82186fd
+Do not configure any interfaces.  Most useful combined with the
82186fd
+.B -w
82186fd
+option.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-nw
82186fd
+Become a daemon process immediately (nowait) rather than waiting until an IP
82186fd
+address has been acquired.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-w
82186fd
+Keep running even if no network interfaces are found.  The
82186fd
+.B omshell
82186fd
+program can be used to notify the client when a network interface has been
82186fd
+added or removed so it can attempt to configure an IP address on that
82186fd
+interface.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-B
82186fd
+Set the BOOTP broadcast flag in request packets so servers will always
82186fd
+broadcast replies.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-I\ <dhcp-client-identifier>
82186fd
+Specify the dhcp-client-identifier option to send to the DHCP server.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-H\ <host-name>
82186fd
+Specify the host-name option to send to the DHCP server.  The host-name
82186fd
+string only contains the client's hostname prefix, to which the server will
82186fd
+append the ddns-domainname or domain-name options, if any, to derive the
82186fd
+fully qualified domain name of the client.  The
82186fd
+.B -H
82186fd
+option cannot be used with the
82186fd
+.B -F
82186fd
+option.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-F\ <fqdn.fqdn>
82186fd
+Specify the fqdn.fqdn option to send to the DHCP server.  This option cannot
82186fd
+be used with the
82186fd
+.B -H
82186fd
+option.  The fqdn.fqdn option must specify the complete domain name of the
82186fd
+client host, which the server may use for dynamic DNS updates.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-V\ <vendor-class-identifier>
82186fd
+Specify the vendor-class-identifier option to send to the DHCP server.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-R\ <option>[,<option>...]
82186fd
+Specify the list of options the client is to request from the server.  The
82186fd
+option list must be a single string consisting of option names separated
82186fd
+by at least one command and optional space characters.  The default option
82186fd
+list is:
82186fd
+
82186fd
+.BR
82186fd
+    subnet-mask, broadcast-address, time-offset, routers,
82186fd
+.BR
9115422
+    domain-search, domain-name, domain-name-servers, host-name, 
82186fd
+.BR
64b0222
+    nis-domain, nis-servers, ntp-servers, interface-mtu
82186fd
+
82186fd
 The
4bf24c8
-.B -x
4bf24c8
-flag tells any currently running client to exit gracefully without
4bf24c8
-releasing leases first.
82186fd
+.B -R
82186fd
+option does not append options to the default request, it overrides the
82186fd
+default request list.  Keep this in mind if you want to request an
82186fd
+additional option besides the default request list.  You will have to
82186fd
+specify all option names for the
82186fd
+.B -R
82186fd
+parameter.
82186fd
+
82186fd
+.TP
4bf24c8
+.BI \-timeout\ <timeout>
82186fd
+Specify the time after which
82186fd
+.B dhclient
82186fd
+will decide that no DHCP servers can be contacted when no responses have been
82186fd
+received.
82186fd
+
82186fd
+.TP
82186fd
+.BI \-v
82186fd
+Enable verbose log messages.
82186fd
+
82186fd
 .PP
4bf24c8
-If the client is killed by a signal (for example at shutdown or reboot)
4bf24c8
-it won't execute the
4bf24c8
+If the client is killed by a signale (for example at shutdown or reboot), it
4bf24c8
+will not execute the
4bf24c8
 .B dhclient-script (8)
4bf24c8
-at exit. However if you shut the client down gracefully with
4bf24c8
-.B -r
4bf24c8
+at exit.  However, if you shut the client down gracefully with
4bf24c8
+.BI \-r
4bf24c8
 or
4bf24c8
-.B -x
4bf24c8
+.BI \-x
82186fd
 it will execute
82186fd
 .B dhclient-script (8)
4bf24c8
-at shutdown with the specific reason for calling the script set.
82186fd
-.PP
82186fd
-The
82186fd
-.B -1
82186fd
-flag will cause dhclient to try once to get a lease.  If it fails, dhclient
4bf24c8
-exits with exit code two. In DHCPv6 the
4bf24c8
-.B -1
4bf24c8
-flag sets the max duration of the initial exchange to
4bf24c8
-.I timeout
4bf24c8
-(from
4bf24c8
-.IR dhclient.conf ,
4bf24c8
-default sixty seconds).
82186fd
-.PP
82186fd
-The DHCP client normally gets its configuration information from
82186fd
-.B ETCDIR/dhclient.conf,
82186fd
-its lease database from
82186fd
-.B DBDIR/dhclient.leases,
82186fd
-stores its process ID in a file called
82186fd
-.B RUNDIR/dhclient.pid,
82186fd
-and configures the network interface using
82186fd
-.B CLIENTBINDIR/dhclient-script
82186fd
-To specify different names and/or locations for these files, use the
82186fd
-.B -cf,
82186fd
-.B -lf,
82186fd
-.B -pf
82186fd
-and
82186fd
-.B -sf
82186fd
-flags, respectively, followed by the name of the file.   This can be
82186fd
-particularly useful if, for example,
82186fd
-.B DBDIR
82186fd
-or
82186fd
-.B RUNDIR
82186fd
-has not yet been mounted when the DHCP client is started.
82186fd
-.PP
82186fd
-The DHCP client normally exits if it isn't able to identify any
82186fd
-network interfaces to configure.   On laptop computers and other
82186fd
-computers with hot-swappable I/O buses, it is possible that a
82186fd
-broadcast interface may be added after system startup.   The
82186fd
-.B -w
82186fd
-flag can be used to cause the client not to exit when it doesn't find
82186fd
-any such interfaces.   The
82186fd
-.B omshell (1)
82186fd
-program can then be used to notify the client when a network interface
82186fd
-has been added or removed, so that the client can attempt to configure an IP
82186fd
-address on that interface.
82186fd
-.PP
82186fd
-The DHCP client can be directed not to attempt to configure any interfaces
82186fd
-using the
82186fd
-.B -n
82186fd
-flag.   This is most likely to be useful in combination with the
82186fd
-.B -w
82186fd
-flag.
82186fd
-.PP
82186fd
-The client can also be instructed to become a daemon immediately, rather
82186fd
-than waiting until it has acquired an IP address.   This can be done by
82186fd
-supplying the
82186fd
-.B -nw
82186fd
-flag.
4bf24c8
+at shutdown with the specific reason for calling the script set in the
4bf24c8
+environment table.
82186fd
 .SH CONFIGURATION
82186fd
 The syntax of the dhclient.conf(5) file is discussed separately.
82186fd
 .SH OMAPI
5a3797e
diff -up dhcp-4.2.0/client/dhclient.conf.5.man dhcp-4.2.0/client/dhclient.conf.5
5a3797e
--- dhcp-4.2.0/client/dhclient.conf.5.man	2010-07-10 05:25:51.000000000 +0200
5a3797e
+++ dhcp-4.2.0/client/dhclient.conf.5	2010-07-21 14:14:00.000000000 +0200
5a3797e
@@ -186,7 +186,8 @@ responding to the client send the client
eb72a55
 options.   Only the option names should be specified in the request
5a3797e
 statement - not option parameters.   By default, the DHCPv4 client
eb72a55
 requests the subnet-mask, broadcast-address, time-offset, routers,
5a3797e
-domain-name, domain-name-servers and host-name options while the DHCPv6
5a3797e
+domain-search, domain-name, domain-name-servers, host-name, nis-domain,
5a3797e
+nis-servers, ntp-servers and interface-mtu options while the DHCPv6
5a3797e
 client requests the dhcp6 name-servers and domain-search options.  Note
5a3797e
 that if you enter a \'request\' statement, you over-ride these defaults
5a3797e
 and these options will not be requested.
5a3797e
@@ -672,6 +673,17 @@ know the DHCP service(s) anycast MAC add
5a3797e
 client.  The \fIlink-type\fR and \fImac-address\fR parameters are configured
5a3797e
 in a similar manner to the \fBhardware\fR statement.
eb72a55
 .PP
eb72a55
+ \fBbootp-broadcast-always;\fR
eb72a55
+.PP
eb72a55
+The
eb72a55
+.B bootp-broadcast-always
eb72a55
+statement instructs dhclient to always set the bootp broadcast flag in
eb72a55
+request packets, so that servers will always broadcast replies.
eb72a55
+This is equivalent to supplying the dhclient -B argument, and has
eb72a55
+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
eb72a55
+This option is provided as an extension to enable dhclient to work
eb72a55
+on IBM s390 Linux guests.
eb72a55
+.PP
eb72a55
 .SH SAMPLE
eb72a55
 The following configuration file is used on a laptop running NetBSD
eb72a55
 1.3.   The laptop has an IP alias of 192.5.5.213, and has one
5a3797e
@@ -694,10 +706,10 @@ interface "ep0" {
5a3797e
     hardware ethernet 00:a0:24:ab:fb:9c;
eb72a55
     send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
eb72a55
     send dhcp-lease-time 3600;
eb72a55
-    supersede domain-name "fugue.com rc.vix.com home.vix.com";
f3dd4cf
+    supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
eb72a55
     prepend domain-name-servers 127.0.0.1;
eb72a55
     request subnet-mask, broadcast-address, time-offset, routers,
eb72a55
-	    domain-name, domain-name-servers, host-name;
eb72a55
+	    domain-search, domain-name, domain-name-servers, host-name;
eb72a55
     require subnet-mask, domain-name-servers;
64b0222
     script "CLIENTBINDIR/dhclient-script";
eb72a55
     media "media 10baseT/UTP", "media 10base2/BNC";
5a3797e
diff -up dhcp-4.2.0/client/dhclient-script.8.man dhcp-4.2.0/client/dhclient-script.8
5a3797e
--- dhcp-4.2.0/client/dhclient-script.8.man	2010-07-10 05:25:51.000000000 +0200
5a3797e
+++ dhcp-4.2.0/client/dhclient-script.8	2010-07-21 14:00:16.000000000 +0200
64b0222
@@ -47,7 +47,7 @@ customizations are needed, they should b
4bf24c8
 exit hooks provided (see HOOKS for details).   These hooks will allow the
4bf24c8
 user to override the default behaviour of the client in creating a
4bf24c8
 .B /etc/resolv.conf
4bf24c8
-file.
4bf24c8
+file, and to handle DHCP options not handled by default.
4bf24c8
 .PP
4bf24c8
 No standard client script exists for some operating systems, even though
4bf24c8
 the actual client may work, so a pioneering user may well need to create
64b0222
@@ -91,6 +91,26 @@ present.   The
64b0222
 .B ETCDIR/dhclient-exit-hooks
4bf24c8
 script can modify the valid of exit_status to change the exit status
4bf24c8
 of dhclient-script.
4bf24c8
+.PP
4bf24c8
+Immediately after dhclient brings an interface UP with a new IP address,
4bf24c8
+subnet mask, and routes, in the REBOOT/BOUND states, it will check for the
4bf24c8
+existence of an executable
64b0222
+.B ETCDIR/dhclient-up-hooks
4bf24c8
+script, and source it if found. This script can handle DHCP options in
4bf24c8
+the environment that are not handled by default. A per-interface.
64b0222
+.B ETCDIR/dhclient-${IF}-up-hooks
4bf24c8
+script will override the generic script and be sourced when interface
4bf24c8
+$IF has been brought up.
4bf24c8
+.PP
4bf24c8
+Immediately before dhclient brings an interface DOWN, removing its IP
4bf24c8
+address, subnet mask, and routes, in the STOP/RELEASE  states, it will
4bf24c8
+check for the existence of an executable
64b0222
+.B ETCDIR/dhclient-down-hooks
4bf24c8
+script, and source it if found. This script can handle DHCP options in
4bf24c8
+the environment that are not handled by default. A per-interface
64b0222
+.B ETCDIR/dhclient-${IF}-down-hooks
4bf24c8
+script will override the generic script and be sourced when interface
4bf24c8
+$IF is about to be brought down.
4bf24c8
 .SH OPERATION
4bf24c8
 When dhclient needs to invoke the client configuration script, it
4bf24c8
 defines a set of variables in the environment, and then invokes
5a3797e
diff -up dhcp-4.2.0/common/dhcp-options.5.man dhcp-4.2.0/common/dhcp-options.5
5a3797e
--- dhcp-4.2.0/common/dhcp-options.5.man	2010-07-10 05:25:51.000000000 +0200
5a3797e
+++ dhcp-4.2.0/common/dhcp-options.5	2010-07-21 14:00:16.000000000 +0200
5a3797e
@@ -913,6 +913,21 @@ classless IP routing - it does not inclu
eb72a55
 classless IP routing is now the most widely deployed routing standard,
eb72a55
 this option is virtually useless, and is not implemented by any of the
eb72a55
 popular DHCP clients, for example the Microsoft DHCP client.
eb72a55
+.PP
eb72a55
+NOTE to Fedora dhclient users:
eb72a55
+.br
eb72a55
+dhclient-script interprets trailing 0 octets of the target as indicating
eb72a55
+the subnet class of the route, so for the following static-routes value:
eb72a55
+.br
eb72a55
+        option static-routes 172.0.0.0 172.16.2.254,
eb72a55
+.br
eb72a55
+                             192.168.0.0 192.168.2.254;
eb72a55
+.br
eb72a55
+dhclient-script will create routes:
eb72a55
+.br
eb72a55
+        172/8 via 172.16.2.254 dev $interface
eb72a55
+.br
eb72a55
+        192.168/16 via 192.168.2.254 dev $interface
eb72a55
 .RE
eb72a55
 .PP
eb72a55
 .nf
5a3797e
diff -up dhcp-4.2.0/server/dhcpd.conf.5.man dhcp-4.2.0/server/dhcpd.conf.5
5a3797e
--- dhcp-4.2.0/server/dhcpd.conf.5.man	2010-07-10 05:25:51.000000000 +0200
5a3797e
+++ dhcp-4.2.0/server/dhcpd.conf.5	2010-07-21 14:00:16.000000000 +0200
4bf24c8
@@ -519,6 +519,9 @@ pool {
eb72a55
 };
eb72a55
 .fi
eb72a55
 .PP
eb72a55
+Dynamic BOOTP leases are not compatible with failover, and, as such,
eb72a55
+you need to disallow BOOTP in pools that you are using failover for.
eb72a55
+.PP
eb72a55
 The  server currently  does very  little  sanity checking,  so if  you
eb72a55
 configure it wrong, it will just  fail in odd ways.  I would recommend
eb72a55
 therefore that you either do  failover or don't do failover, but don't
4bf24c8
@@ -533,9 +536,9 @@ primary server might look like this:
eb72a55
 failover peer "foo" {
eb72a55
   primary;
eb72a55
   address anthrax.rc.vix.com;
eb72a55
-  port 519;
eb72a55
+  port 647;
eb72a55
   peer address trantor.rc.vix.com;
eb72a55
-  peer port 520;
eb72a55
+  peer port 847;
eb72a55
   max-response-delay 60;
eb72a55
   max-unacked-updates 10;
eb72a55
   mclt 3600;
5a3797e
@@ -1305,7 +1308,7 @@ the zone containing PTR records - for IS
eb72a55
 .PP
eb72a55
 .nf
eb72a55
 key DHCP_UPDATER {
eb72a55
-  algorithm HMAC-MD5.SIG-ALG.REG.INT;
eb72a55
+  algorithm hmac-md5;
eb72a55
   secret pRP5FapFoJ95JEL06sv4PQ==;
eb72a55
 };
eb72a55
 
5a3797e
@@ -1328,7 +1331,7 @@ dhcpd.conf file:
eb72a55
 .PP
eb72a55
 .nf
eb72a55
 key DHCP_UPDATER {
eb72a55
-  algorithm HMAC-MD5.SIG-ALG.REG.INT;
eb72a55
+  algorithm hmac-md5;
eb72a55
   secret pRP5FapFoJ95JEL06sv4PQ==;
eb72a55
 };
eb72a55
 
5a3797e
@@ -2540,7 +2543,8 @@ statement
eb72a55
 The \fInext-server\fR statement is used to specify the host address of
eb72a55
 the server from which the initial boot file (specified in the
eb72a55
 \fIfilename\fR statement) is to be loaded.   \fIServer-name\fR should
eb72a55
-be a numeric IP address or a domain name.
eb72a55
+be a numeric IP address or a domain name.  If no \fInext-server\fR statement
eb72a55
+applies to a given client, the address 0.0.0.0 is used.
eb72a55
 .RE
eb72a55
 .PP
eb72a55
 The