ssahani / rpms / dhcp

Forked from rpms/dhcp 6 years ago
Clone
4bf24c8
diff -up dhcp-4.1.0/client/dhclient.8.man dhcp-4.1.0/client/dhclient.8
4bf24c8
--- dhcp-4.1.0/client/dhclient.8.man	2008-11-20 04:55:14.000000000 -1000
4bf24c8
+++ dhcp-4.1.0/client/dhclient.8	2009-01-06 11:51:30.000000000 -1000
4bf24c8
@@ -111,6 +111,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
 [
4bf24c8
@@ -138,32 +165,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
82186fd
-If given the -4 command line argument (default), dhclient will use the
82186fd
-DHCPv4 protocol to obtain an IPv4 address and configuration parameters.
82186fd
-.PP
82186fd
-If given the -6 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
82186fd
-If given the --version 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
4bf24c8
@@ -217,141 +218,259 @@ 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
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
eb72a55
+.B /sbin/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
82186fd
+    domain-name, domain-name-servers, host-name, nis-domain,
82186fd
+.BR
82186fd
+    nis-servers, ntp-servers
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
4bf24c8
@@ -386,7 +505,7 @@ do a DHCPRELEASE.   To pause it, set its
eb72a55
 resume it, set its state attribute to 4.
eb72a55
 .PP
eb72a55
 .SH FILES
eb72a55
-.B CLIENTBINDIR/dhclient-script,
eb72a55
+.B /sbin/dhclient-script,
4bf24c8
 .B ETCDIR/dhclient.conf, DBDIR/dhclient.leases, RUNDIR/dhclient.pid,
4bf24c8
 .B DBDIR/dhclient.leases~.
eb72a55
 .SH SEE ALSO
4bf24c8
diff -up dhcp-4.1.0/client/dhclient.conf.5.man dhcp-4.1.0/client/dhclient.conf.5
4bf24c8
--- dhcp-4.1.0/client/dhclient.conf.5.man	2008-03-07 08:58:29.000000000 -1000
4bf24c8
+++ dhcp-4.1.0/client/dhclient.conf.5	2009-01-06 10:50:40.000000000 -1000
eb72a55
@@ -186,9 +186,9 @@ responding to the client send the client
eb72a55
 options.   Only the option names should be specified in the request
eb72a55
 statement - not option parameters.   By default, the DHCP server
eb72a55
 requests the subnet-mask, broadcast-address, time-offset, routers,
eb72a55
-domain-name, domain-name-servers and host-name options.  Note that if
eb72a55
-you enter a 'request' statement, you over-ride this default and these
eb72a55
-options will not be requested.
eb72a55
+domain-name, domain-name-servers host-name, nis-domain, nis-servers,
eb72a55
+and ntp-servers options.  Note that if you enter a 'request' statement,
eb72a55
+you over-ride this default and these options will not be requested.
eb72a55
 .PP
eb72a55
 In some cases, it may be desirable to send no parameter request list
eb72a55
 at all.   To do this, simply write the request statement but specify
4bf24c8
@@ -627,6 +627,18 @@ database and will record the media type 
eb72a55
 Whenever the client tries to renew the lease, it will use that same
eb72a55
 media type.   The lease must expire before the client will go back to
eb72a55
 cycling through media types.
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
4bf24c8
@@ -648,12 +660,12 @@ interface "ep0" {
eb72a55
     send host-name "andare.fugue.com";
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";
eb72a55
+    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;
eb72a55
-    script "CLIENTBINDIR/dhclient-script";
eb72a55
+    script "/sbin/dhclient-script";
eb72a55
     media "media 10baseT/UTP", "media 10base2/BNC";
eb72a55
 }
eb72a55
 
4bf24c8
diff -up dhcp-4.1.0/client/dhclient-script.8.man dhcp-4.1.0/client/dhclient-script.8
4bf24c8
--- dhcp-4.1.0/client/dhclient-script.8.man	2006-02-24 13:16:27.000000000 -1000
4bf24c8
+++ dhcp-4.1.0/client/dhclient-script.8	2009-01-06 10:50:40.000000000 -1000
4bf24c8
@@ -47,16 +47,16 @@ 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
4bf24c8
 a new script or modify an existing one.  In general, customizations specific
4bf24c8
 to a particular computer should be done in the
4bf24c8
-.B ETCDIR/dhclient.conf
4bf24c8
+.B /usr/local/etc/dhclient.conf
4bf24c8
 file.   If you find that you can't make such a customization without
4bf24c8
 customizing
4bf24c8
-.B ETCDIR/dhclient.conf
4bf24c8
+.B /usr/local/etc/dhclient.conf
4bf24c8
 or using the enter and exit hooks, please submit a bug report.
4bf24c8
 .SH HOOKS
4bf24c8
 When it starts, the client script first defines a shell function,
4bf24c8
@@ -68,33 +68,53 @@ the enter hook script.
4bf24c8
 .PP
4bf24c8
 On after defining the make_resolv_conf function, the client script checks
4bf24c8
 for the presence of an executable
4bf24c8
-.B ETCDIR/dhclient-enter-hooks
4bf24c8
+.B /usr/local/etc/dhclient-enter-hooks
4bf24c8
 script, and if present, it invokes the script inline, using the Bourne
4bf24c8
 shell '.' command.   The entire environment documented under OPERATION
4bf24c8
 is available to this script, which may modify the environment if needed
4bf24c8
 to change the behaviour of the script.   If an error occurs during the
4bf24c8
 execution of the script, it can set the exit_status variable to a nonzero
4bf24c8
 value, and
4bf24c8
-.B CLIENTBINDIR/dhclient-script
4bf24c8
+.B /sbin/dhclient-script
4bf24c8
 will exit with that error code immediately after the client script exits.
4bf24c8
 .PP
4bf24c8
 After all processing has completed,
4bf24c8
-.B CLIENTBINDIR/dhclient-script
4bf24c8
+.B /sbin/dhclient-script
4bf24c8
 checks for the presence of an executable
4bf24c8
-.B ETCDIR/dhclient-exit-hooks
4bf24c8
+.B /usr/local/etc/dhclient-exit-hooks
4bf24c8
 script, which if present is invoked using the '.' command.  The exit
4bf24c8
 status of dhclient-script will be passed to dhclient-exit-hooks in the
4bf24c8
 exit_status shell variable, and will always be zero if the script
4bf24c8
 succeeded at the task for which it was invoked.   The rest of the
4bf24c8
 environment as described previously for dhclient-enter-hooks is also
4bf24c8
 present.   The
4bf24c8
-.B ETCDIR/dhclient-exit-hooks
4bf24c8
+.B /usr/local/etc/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
4bf24c8
+.B /usr/local/etc/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.
4bf24c8
+.B /usr/local/etc/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
4bf24c8
+.B /usr/local/etc/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
4bf24c8
+.B /usr/local/etc/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
4bf24c8
-.B CLIENTBINDIR/dhclient-script.
4bf24c8
+.B /sbin/dhclient-script.
4bf24c8
 In all cases, $reason is set to the name of the reason why the script
4bf24c8
 has been invoked.   The following reasons are currently defined:
4bf24c8
 MEDIUM, PREINIT, BOUND, RENEW, REBIND, REBOOT, EXPIRE, FAIL, STOP, RELEASE,
4bf24c8
diff -up dhcp-4.1.0/common/dhcp-options.5.man dhcp-4.1.0/common/dhcp-options.5
4bf24c8
--- dhcp-4.1.0/common/dhcp-options.5.man	2008-11-21 03:59:56.000000000 -1000
4bf24c8
+++ dhcp-4.1.0/common/dhcp-options.5	2009-01-06 10:50:40.000000000 -1000
4bf24c8
@@ -905,6 +905,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
4bf24c8
diff -up dhcp-4.1.0/server/dhcpd.conf.5.man dhcp-4.1.0/server/dhcpd.conf.5
4bf24c8
--- dhcp-4.1.0/server/dhcpd.conf.5.man	2008-11-03 08:13:58.000000000 -1000
4bf24c8
+++ dhcp-4.1.0/server/dhcpd.conf.5	2009-01-06 10:50:40.000000000 -1000
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;
4bf24c8
@@ -594,9 +597,7 @@ statement
eb72a55
 .B port \fIport-number\fR\fB;\fR
eb72a55
 .PP
eb72a55
 The \fBport\fR statement declares the TCP port on which the server
eb72a55
-should listen for connections from its failover peer.   This statement
eb72a55
-may not currently be omitted, because the failover protocol does not
eb72a55
-yet have a reserved TCP port number.
eb72a55
+should listen for connections from its failover peer.
eb72a55
 .RE
eb72a55
 .PP
eb72a55
 The 
4bf24c8
@@ -608,10 +609,8 @@ statement
eb72a55
 .PP
eb72a55
 The \fBpeer port\fR statement declares the TCP port to which the
eb72a55
 server should connect to reach its failover peer for failover
eb72a55
-messages.   This statement may not be omitted because the failover
eb72a55
-protocol does not yet have a reserved TCP port number.   The port
eb72a55
-number declared in the \fBpeer port\fR statement may be the same as
eb72a55
-the port number declared in the \fBport\fR statement.
eb72a55
+messages.  The port number declared in the \fBpeer port\fR statement
eb72a55
+may be the same as the port number declared in the \fBport\fR statement.
eb72a55
 .RE
eb72a55
 .PP
eb72a55
 The
4bf24c8
@@ -1278,7 +1277,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
 
4bf24c8
@@ -1301,7 +1300,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
 
4bf24c8
@@ -2302,7 +2301,7 @@ statement
eb72a55
 .PP
eb72a55
 .I Name
eb72a55
 should be the name of the DHCP server's lease file.   By default, this
eb72a55
-is DBDIR/dhcpd.leases.   This statement \fBmust\fR appear in the outer
eb72a55
+is /private/var/db/dhcpd/dhcpd.leases.   This statement \fBmust\fR appear in the outer
eb72a55
 scope of the configuration file - if it appears in some other scope,
eb72a55
 it will have no effect.  Furthermore, it has no effect if overridden
eb72a55
 by the
4bf24c8
@@ -2337,7 +2336,7 @@ statement
eb72a55
 .PP
eb72a55
 .I Name
eb72a55
 is the name of the lease file to use if and only if the server is running
eb72a55
-in DHCPv6 mode.  By default, this is DBDIR/dhcpd6.leases.  This statement,
eb72a55
+in DHCPv6 mode.  By default, this is /private/var/db/dhcpd/dhcpd6.leases.  This statement,
eb72a55
 like
eb72a55
 .I lease-file-name,
eb72a55
 \fBmust\fR appear in the outer scope of the configuration file.  It
4bf24c8
@@ -2495,7 +2494,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
4bf24c8
@@ -2540,7 +2540,7 @@ statement
eb72a55
 .I Name
eb72a55
 should be the name of the DHCP server's process ID file.   This is the
eb72a55
 file in which the DHCP server's process ID is stored when the server
eb72a55
-starts.   By default, this is RUNDIR/dhcpd.pid.   Like the
eb72a55
+starts.   By default, this is /private/var/run/dhcpd.pid.   Like the
eb72a55
 .I lease-file-name
eb72a55
 statement, this statement must appear in the outer scope
eb72a55
 of the configuration file.  It has no effect if overridden by the
4bf24c8
@@ -2558,7 +2558,7 @@ statement
eb72a55
 .PP
eb72a55
 .I Name
eb72a55
 is the name of the pid file to use if and only if the server is running
eb72a55
-in DHCPv6 mode.  By default, this is DBDIR/dhcpd6.pid.  This statement,
eb72a55
+in DHCPv6 mode.  By default, this is /private/var/db/dhcpd/dhcpd6.pid.  This statement,
eb72a55
 like
eb72a55
 .I pid-file-name,
eb72a55
 \fBmust\fR appear in the outer scope of the configuration file.  It