You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
3.4 KiB

# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../udhcp/udhcpd-foreground.patch
# Copyright (C) 2004 - 2006 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
diff -Nudr udhcp.orig/dhcpd.c udhcp/dhcpd.c
--- udhcp.orig/dhcpd.c 2000-01-01 00:00:00.000000000 -0300
+++ udhcp/dhcpd.c 2005-02-13 19:17:48.604424267 -0300
@@ -104,7 +104,9 @@
return 1;
#ifndef UDHCP_DEBUG
- background(server_config.pidfile); /* hold lock during fork. */
+ if (!server_config.foreground) {
+ background(server_config.pidfile); /* hold lock during fork. */
+ }
#endif
/* Setup the signal pipe */
diff -Nudr udhcp.orig/dhcpd.h udhcp/dhcpd.h
--- udhcp.orig/dhcpd.h 2000-01-01 00:00:00.000000000 -0300
+++ udhcp/dhcpd.h 2005-02-13 19:15:02.164551365 -0300
@@ -128,6 +128,7 @@
char *lease_file;
char *pidfile;
char *notify_file; /* What to run whenever leases are written */
+ char foreground; /* Run in foreground */
uint32_t siaddr; /* next server bootp option */
char *sname; /* bootp server name */
char *boot_file; /* bootp boot file option */
diff -Nudr udhcp.orig/files.c udhcp/files.c
--- udhcp.orig/files.c 2000-01-01 00:00:00.000000000 -0300
+++ udhcp/files.c 2005-02-13 19:13:47.311303959 -0300
@@ -220,6 +220,7 @@
{"lease_file", read_str, &(server_config.lease_file), LEASES_FILE},
{"pidfile", read_str, &(server_config.pidfile), "/var/run/udhcpd.pid"},
{"notify_file", read_str, &(server_config.notify_file), ""},
+ {"foreground", read_yn, &(server_config.foreground), "no"},
{"siaddr", read_ip, &(server_config.siaddr), "0.0.0.0"},
{"sname", read_str, &(server_config.sname), ""},
{"boot_file", read_str, &(server_config.boot_file), ""},
diff -Nudr udhcp.orig/samples/udhcpd.conf udhcp/samples/udhcpd.conf
--- udhcp.orig/samples/udhcpd.conf 2000-01-01 00:00:00.000000000 -0300
+++ udhcp/samples/udhcpd.conf 2005-02-13 19:13:03.000000000 -0300
@@ -69,6 +69,13 @@
#notify_file dumpleases # <--- usefull for debugging
+# Normally udhcpd forks into the background after reading its
+# configuration. The foreground option prevents this, which can be
+# useful in some circumstances, such as when running directly from
+# init.
+
+#foreground yes #default: no
+
# The following are bootp specific options, setable by udhcpd.
#siaddr 192.168.0.22 #default: 0.0.0.0
diff -Nudr udhcp.orig/udhcpd.conf.5 udhcp/udhcpd.conf.5
--- udhcp.orig/udhcpd.conf.5 2000-01-01 00:00:00.000000000 -0300
+++ udhcp/udhcpd.conf.5 2005-02-13 19:11:06.000000000 -0300
@@ -91,6 +91,17 @@
.I FILE
after the lease information is written. By default, no file is executed.
.TP
+.BI foreground\ FOREGROUND
+If
+.I FOREGROUND
+is
+.BR no
+(the default), fork into the background after reading the
+configuration. If it is
+.BR yes ,
+run in the foreground, which can be useful in some
+circumstances, such as when running directly from init.
+.TP
.BI siaddr\ ADDRESS
BOOTP specific option. The default is
.BR 0.0.0.0 .