From c788d4f8d4e8cea9913d46ee0a24c67f3cd78e98 Mon Sep 17 00:00:00 2001 From: Tomek Mrugalski Date: Thu, 18 May 2017 22:00:51 +0200 Subject: [PATCH] [19430] dhclient now calls script with reason=FAIL even with -1 option --- RELNOTES | 5 +++++ client/dhclient.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/RELNOTES b/RELNOTES index b5817c4b..bed0403b 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 ad3c899b..1f07d20c 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); }