]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/initscripts/system/dhcp
apache2: Properly re-execute Apache on restart
[ipfire-2.x.git] / src / initscripts / system / dhcp
index 2ae86db314f44d17c28136a30aff376f29144507..61b951658809f6f870145bd0d1d45da64e7ba733 100644 (file)
@@ -1,13 +1,29 @@
 #!/bin/sh
-# Begin $rc_base/init.d/dhcp
-
-# Based on sysklogd script from LFS-3.1 and earlier.
-# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
-# Modified for IPFire by Michael Tremer - mitch@ipfire.org
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
 
 . /etc/sysconfig/rc
 . $rc_functions
 
+[ -e "/etc/sysconfig/dhcpd" ] && . /etc/sysconfig/dhcpd
+
 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
 eval $(/usr/local/bin/readhash /var/ipfire/dhcp/settings)
 
@@ -23,20 +39,20 @@ case "$1" in
                flush_chains
 
                if [ -n "${GREEN_DEV}" -a -e "/var/ipfire/dhcp/enable_green" ]; then
-                       devices="${GREEN_DEV}"
+                       LISTEN_INTERFACES+=" ${GREEN_DEV}"
 
                        iptables -A DHCPGREENINPUT  -i "${GREEN_DEV}" -j DHCPINPUT
                        iptables -A DHCPGREENOUTPUT -o "${GREEN_DEV}" -j DHCPOUTPUT
                fi
                if [ -n "${BLUE_DEV}" -a -e "/var/ipfire/dhcp/enable_blue" ]; then
-                       devices+=" ${BLUE_DEV}"
+                       LISTEN_INTERFACES+=" ${BLUE_DEV}"
 
                        iptables -A DHCPBLUEINPUT  -i "${BLUE_DEV}" -j DHCPINPUT
                        iptables -A DHCPBLUEOUTPUT -o "${BLUE_DEV}" -j DHCPOUTPUT
                fi
 
                boot_mesg "Starting DHCP Server..."
-               loadproc /usr/sbin/dhcpd -q ${devices}
+               loadproc /usr/sbin/dhcpd -q ${LISTEN_INTERFACES}
 
                # Start Unbound DHCP Lease Bridge unless RFC2136 is used
                if [ "${DNS_UPDATE_ENABLED}" != on ]; then
@@ -85,5 +101,3 @@ case "$1" in
                exit 1
                ;;
 esac
-
-# End $rc_base/init.d/dhcp