]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
[master] Added conditional comp flag, CALL_SCRIPT_ON_ONETRY_FAIL
authortmarkwalder <tmark@isc.org>
Wed, 28 Jun 2017 17:25:22 +0000 (13:25 -0400)
committertmarkwalder <tmark@isc.org>
Wed, 28 Jun 2017 17:25:22 +0000 (13:25 -0400)
    Merges in rt18183a.

RELNOTES
client/dhclient.c
includes/site.h

index 656c156f4d6ca4aad7f07d61d3350130a365ea50..1926baf1c547502d368fa5f930ed80afb087db41 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -1,5 +1,5 @@
                 Internet Systems Consortium DHCP Distribution
-                             Version 4.4.0-pre-alpha
+                             Version 4.4.0-dev
                              29 March 2016
 
                              Release Notes
@@ -164,9 +164,10 @@ by Eric Young (eay@cryptsoft.com).
   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]
 
 - Linux script updated. The script is now based on Debian version. It uses
index d20ef05d6627582d89a2083f4aa67e5b4f1ae479..84a86fb39a89655842ac38c1962a94dae8f0b8b6 100644 (file)
@@ -1479,14 +1479,16 @@ void bind_lease (client)
                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
                        finish(2);
                } else {
                        state_init(client);
@@ -2493,14 +2495,16 @@ void state_panic (cpp)
           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
                finish(2);
        }
 
index b2fb8efc37ac78f519ae2f305f1534b551069ab3..220d31a5d366c65103eec91199350218f612cf74 100644 (file)
  * in -4 mode. */
 #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
    should be left as is, but if you have already defined one
    of these and prefer your definition you can comment the