2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-29 13:28:14 +00:00

[master] Added conditional comp flag, CALL_SCRIPT_ON_ONETRY_FAIL

Merges in rt18183a.
This commit is contained in:
tmarkwalder 2017-06-28 13:25:22 -04:00
parent 63ccfbb045
commit 5c03ed373d
3 changed files with 18 additions and 8 deletions

View File

@ -1,5 +1,5 @@
Internet Systems Consortium DHCP Distribution Internet Systems Consortium DHCP Distribution
Version 4.4.0-pre-alpha Version 4.4.0-dev
29 March 2016 29 March 2016
Release Notes Release Notes
@ -164,9 +164,10 @@ by Eric Young (eay@cryptsoft.com).
to Pierre Clerissi for bringing this issue to our attention. to Pierre Clerissi for bringing this issue to our attention.
[ISC-Bugs #44373] [ISC-Bugs #44373]
- Client now calls the script with reason set to FAIL when run with -1 - By defining CALL_SCRIPT_ON_ONETRY_FAIL in includes/site.h, dhclient will
(one try) and there are no server responses. Thanks for a patch by Martin now call the script with reason set to FAIL when run with -1 (one try) and
Pitt which got to us via Andrew Pollock. there are no server responses. This applies to IPv4 mode only. Thanks for a
patch by Martin Pitt which got to us via Andrew Pollock.
[ISC-bugs #18183] [ISC-bugs #18183]
- Linux script updated. The script is now based on Debian version. It uses - Linux script updated. The script is now based on Debian version. It uses

View File

@ -1479,14 +1479,16 @@ void bind_lease (client)
destroy_client_lease(client->new); destroy_client_lease(client->new);
client->new = NULL; client->new = NULL;
if (onetry) { if (onetry) {
if (!quiet) if (!quiet) {
log_info("Unable to obtain a lease on first " log_info("Unable to obtain a lease on first "
"try (declined). Exiting."); "try (declined). Exiting.");
}
#if defined (CALL_SCRIPT_ON_ONETRY_FAIL)
/* Let's call a script and we're done */ /* Let's call a script and we're done */
script_init(client, "FAIL", (struct string_list *)0); script_init(client, "FAIL", (struct string_list *)0);
script_go(client); script_go(client);
#endif
finish(2); finish(2);
} else { } else {
state_init(client); state_init(client);
@ -2493,14 +2495,16 @@ void state_panic (cpp)
tell the shell script that we failed to allocate an address, tell the shell script that we failed to allocate an address,
and try again later. */ and try again later. */
if (onetry) { if (onetry) {
if (!quiet) if (!quiet) {
log_info ("Unable to obtain a lease on first try.%s", log_info ("Unable to obtain a lease on first try.%s",
" Exiting."); " Exiting.");
}
#if defined (CALL_SCRIPT_ON_ONETRY_FAIL)
/* Let's call a script and we're done */ /* Let's call a script and we're done */
script_init(client, "FAIL", (struct string_list *)0); script_init(client, "FAIL", (struct string_list *)0);
script_go(client); script_go(client);
#endif
finish(2); finish(2);
} }

View File

@ -339,6 +339,11 @@
* in -4 mode. */ * in -4 mode. */
#define ENFORCE_DHCPV6_CLIENT_REQUIRE #define ENFORCE_DHCPV6_CLIENT_REQUIRE
/* Enable the invocation of the client script with a FAIL state code
* by dhclient when running in one-try mode (-T) and the attempt to
* obtain the desired lease(s) fails. Applies to IPv4 mode only. */
/* #define CALL_SCRIPT_ON_ONETRY_FAIL */
/* Include definitions for various options. In general these /* Include definitions for various options. In general these
should be left as is, but if you have already defined one should be left as is, but if you have already defined one
of these and prefer your definition you can comment the of these and prefer your definition you can comment the