Dynamic host configuration protocol software
Go to file
Jiri Popelka 278a2ea405 dhclient-script: run also scripts in dhclient-[enter/exit]-hooks.d dir
Debian does it similar way.
Not yet documented in dhclient-script man page.

Initial patch by Neal Gompa.
2015-05-26 18:05:19 +02:00
.gitignore 4.3.2 2015-03-05 19:36:52 +01:00
11-dhclient Fix 11-dhclient to export variables (#702735) 2011-05-09 14:32:51 +02:00
12-dhcpd decrease the sleep in 12-dhcpd due to timeout (#1003695#8) 2013-09-27 10:43:27 +02:00
56dhclient 56dhclient: ifcfg file was not sourced (#742482) 2011-09-30 15:59:33 +02:00
dhclient-script dhclient-script: run also scripts in dhclient-[enter/exit]-hooks.d dir 2015-05-26 18:05:19 +02:00
dhcp-64_bit_lease_parse.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-add_timeout_when_NULL.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-capability.patch rebuild against bind99 9.9.7 package 2015-03-13 11:39:06 +01:00
dhcp-client-request-release-bind-iface.patch send unicast request/release via correct interface (#800561, #1177351) 2015-02-03 12:10:31 +01:00
dhcp-CLOEXEC.patch 4.3.2b1 2015-02-08 18:31:39 +01:00
dhcp-default-requested-options.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-dhclient-decline-backoff.patch 4.3.1b1 2014-07-10 19:01:31 +02:00
dhcp-dhclient-options.patch amend dhcp-dhclient-options.patch 2014-12-17 11:00:18 +01:00
dhcp-duidv4.patch correctly set IB's hw->hlen (#1185075) 2015-02-26 10:16:23 +01:00
dhcp-errwarn-message.patch 4.3.0b1 2014-01-21 10:34:27 +01:00
dhcp-failOverPeer.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-garbage-chars.patch 4.3.0rc1 2014-01-29 10:08:47 +01:00
dhcp-getifaddrs.patch 4.3.2b1 2015-02-08 18:31:39 +01:00
dhcp-gpxe-cid.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-honor-expired.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-improved-xid.patch dhcp-improved-xid.patch: correct byte order so the printed xid is the same as in tcpdump/wireshark 2015-01-30 17:08:15 +01:00
dhcp-interval.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-IPoIB-log-id.patch correctly set IB's hw->hlen (#1185075) 2015-02-26 10:16:23 +01:00
dhcp-ldapgssapi.patch 4.3.2b1 2015-02-08 18:31:39 +01:00
dhcp-lpf-ib.patch correctly set IB's hw->hlen (#1185075) 2015-02-26 10:16:23 +01:00
dhcp-manpages.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-no-subnet-error2info.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-omapi-leak.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-option97-pxe-client-id.patch option 97 - pxe-client-id (#1058674) 2014-12-17 10:57:39 +01:00
dhcp-paranoia.patch 4.3.1b1 2014-07-10 19:01:31 +02:00
dhcp-paths.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-PPP.patch 4.3.1b1 2014-07-10 19:01:31 +02:00
dhcp-release-by-ifup.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-remove-bind.patch rebuild against bind99 9.9.7 package 2015-03-13 11:39:06 +01:00
dhcp-remove-dst.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-rfc3442-classless-static-routes.patch 4.3.0rc1 2014-01-29 10:08:47 +01:00
dhcp-sd_notify.patch dhcp-sd_notify.patch BuildRequires: pkgconfig(libsystemd) 2014-05-29 16:28:10 +02:00
dhcp-sendDecline.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-sharedlib.patch rebuild against bind99 9.9.7 package 2015-03-13 11:39:06 +01:00
dhcp-stateless-DUID-LLT.patch dhclient: write DUID_LLT even in stateless mode (#1156356) 2014-12-18 13:46:37 +01:00
dhcp-systemtap.patch rebuild against bind99 9.9.7 package 2015-03-13 11:39:06 +01:00
dhcp-unicast-bootp.patch 4.3.0a1: requires bind-9.9.5 2013-12-20 16:19:14 +01:00
dhcp-UseMulticast.patch 4.3.1b1 2014-07-10 19:01:31 +02:00
dhcp.spec dhclient-script: run also scripts in dhclient-[enter/exit]-hooks.d dir 2015-05-26 18:05:19 +02:00
dhcpd6.service Use network-online.target instead of network.target (#1120656) 2014-07-22 19:00:42 +02:00
dhcpd.service Use network-online.target instead of network.target (#1120656) 2014-07-22 19:00:42 +02:00
dhcrelay.service Use network-online.target instead of network.target (#1120656) 2014-07-22 19:00:42 +02:00
README.dhclient.d move dhclient & dhclient-script from /sbin to /usr/sbin 2012-04-02 12:05:14 +02:00
sources 4.3.2 2015-03-05 19:36:52 +01:00
tap_all.stp SystemTap support: spec file change, some dummy probes, tapset, simple script 2011-09-21 15:40:15 +02:00

The /etc/dhcp/dhclient.d directory allows other packages and system
administrators to create application-specific option handlers for dhclient.

When dhclient is run, any option listed in the dhcp-options(5) man page can
be requested.  dhclient-script does not handle every option available
because doing so would make the script unmaintainable as the components
using those options might change over time.  The knowledge of how to handle
those options should be under the responsibility of the package maintainer
for that component (e.g., NTP options belong in a handler in the ntp
package).

To make maintenance easier, application specific DHCP options can be handled
by creating a script with two functions and placing it in /etc/dhcp/dhclient.d

The script must follow a specific form:

(1) The script must be named NAME.sh.  NAME can be anything, but it makes
    sense to name it for the service it handles.  e.g., ntp.sh

(2) The script must provide a NAME_config() function to read the options and
    do whatever it takes to put those options in place.

(3) The script must provide a NAME_restore() function to restore original
    configuration state when dhclient stops.

(4) The script must be 'chmod +x' or dhclient-script will ignore it.

The scripts execute in the same environment as dhclient-script.  That means
all of the functions and variables available to it are available to your
NAME.sh script.  Things of note:

    ${SAVEDIR} is where original configuration files are saved.  Save your
    original configuration files here before you take the DHCP provided
    values and generate new files.

    Variables set in /etc/sysconfig/network, /etc/sysconfig/networking/network,
    and /etc/sysconfig/network-scripts/ifcfg-$interface are available to
    you.

See the scripts in /etc/dhcp/dhclient.d for examples.

NOTE:  Do not use functions defined in /usr/sbin/dhclient-script.  Consider
dhclient-script a black box.  This script may change over time, so the
dhclient.d scripts should not be using functions defined in it.

-- 
David Cantrell <dcantrell@redhat.com>