aboutsummaryrefslogtreecommitdiff
path: root/net/isc-dhcp31-server/files/patch-dhclient.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/isc-dhcp31-server/files/patch-dhclient.c')
-rw-r--r--net/isc-dhcp31-server/files/patch-dhclient.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/net/isc-dhcp31-server/files/patch-dhclient.c b/net/isc-dhcp31-server/files/patch-dhclient.c
new file mode 100644
index 000000000000..b4b92f81c726
--- /dev/null
+++ b/net/isc-dhcp31-server/files/patch-dhclient.c
@@ -0,0 +1,39 @@
+--- client/dhclient.c.orig Wed May 10 02:34:28 2000
++++ client/dhclient.c Wed May 10 02:34:49 2000
+@@ -64,6 +64,7 @@
+ int log_priority;
+ int no_daemon;
+ int save_scripts;
++int onetry;
+
+ static void usage PROTO ((void));
+
+@@ -120,6 +121,8 @@
+ if (++i == argc)
+ usage ();
+ server = argv [i];
++ } else if (!strcmp (argv [i], "-1")) {
++ onetry = 1;
+ } else if (argv [i][0] == '-') {
+ usage ();
+ } else {
+@@ -273,7 +276,7 @@
+
+ static void usage ()
+ {
+- log_error ("Usage: dhclient [-d] [-D] [-q] [-p <port>] %s",
++ log_error ("Usage: dhclient [-d] [-D] [-q] [-1] [-p <port>] %s",
+ "[-s server]");
+ log_error (" [-lf lease-file] [-pf pid-file]%s",
+ "[-cf config-file] [interface]");
+@@ -1232,6 +1235,10 @@
+ /* No leases were available, or what was available didn't work, so
+ tell the shell script that we failed to allocate an address,
+ and try again later. */
++ if (onetry) {
++ exit(2);
++ log_info ("Unable to obtain a lease on first try - exiting.\n");
++ }
+ log_info ("No working leases in persistent database - sleeping.\n");
+ script_init (client, "FAIL", (struct string_list *)0);
+ if (client -> alias)