Merges in rt18183a.
to Pierre Clerissi for bringing this issue to our attention.
[ISC-Bugs #44373]
-- Client now calls the script with reason set to FAIL when run with -1
- (one try) and there are no server responses. Thanks for a patch by Martin
- Pitt which got to us via Andrew Pollock.
+- By defining CALL_SCRIPT_ON_ONETRY_FAIL in includes/site.h, dhclient will
+ now call the script with reason set to FAIL when run with -1 (one try) and
+ 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]
- The server now detects failover peers that are not referenced in at least
destroy_client_lease(client->new);
client->new = NULL;
if (onetry) {
- if (!quiet)
+ if (!quiet) {
log_info("Unable to obtain a lease on first "
"try (declined). Exiting.");
+ }
+#if defined (CALL_SCRIPT_ON_ONETRY_FAIL)
/* Let's call a script and we're done */
script_init(client, "FAIL", (struct string_list *)0);
script_go(client);
-
+#endif
exit(2);
} else {
state_init(client);
tell the shell script that we failed to allocate an address,
and try again later. */
if (onetry) {
- if (!quiet)
+ if (!quiet) {
log_info ("Unable to obtain a lease on first try.%s",
" Exiting.");
+ }
+#if defined (CALL_SCRIPT_ON_ONETRY_FAIL)
/* Let's call a script and we're done */
script_init(client, "FAIL", (struct string_list *)0);
script_go(client);
-
+#endif
exit (2);
}
* offered leases that do not contain all options specified as required
* in the client's configuration file. The client already enforces this
* 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 */