From: Tomek Mrugalski Date: Thu, 18 May 2017 20:00:51 +0000 (+0200) Subject: [19430] dhclient now calls script with reason=FAIL even with -1 option X-Git-Tag: v4_4_0b1_f1~88^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c788d4f8d4e8cea9913d46ee0a24c67f3cd78e98;p=thirdparty%2Fdhcp.git [19430] dhclient now calls script with reason=FAIL even with -1 option --- diff --git a/RELNOTES b/RELNOTES index b5817c4bf..bed0403b7 100644 --- a/RELNOTES +++ b/RELNOTES @@ -54,6 +54,11 @@ by Eric Young (eay@cryptsoft.com). Changes since 4.3.0 (new features) +- Client now calls the script with reason set to FAIL when run with -1 (ony try) + and there are no sever responses. Thank you Andrew Pollock for providing + an initial patch. + [ISC-bugs #18183] + - Insert the raw data from a fully encapsualted option into the option cache. This allows "exists" to check for the option if any sub options exist. It also adds the raw data to the environment variables supplied to the client diff --git a/client/dhclient.c b/client/dhclient.c index ad3c899be..1f07d20cb 100644 --- a/client/dhclient.c +++ b/client/dhclient.c @@ -1471,6 +1471,11 @@ void bind_lease (client) if (!quiet) log_info("Unable to obtain a lease on first " "try (declined). Exiting."); + + /* Let's call a script and we're done */ + script_init(client, "FAIL", (struct string_list *)0); + script_go(client); + finish(2); } else { state_init(client); @@ -2480,6 +2485,11 @@ void state_panic (cpp) if (!quiet) log_info ("Unable to obtain a lease on first try.%s", " Exiting."); + + /* Let's call a script and we're done */ + script_init(client, "FAIL", (struct string_list *)0); + script_go(client); + finish(2); }