0bc15867da
The S80dhcp-relay init script has configuration variables like INTERFACES whose contents have to be passed to the daemon. These variables are initialized as empty strings, but some of them are not allowed to be empty and there was no means of filling them apart from creating a root FS overlay to overwrite these scripts. This commit adds support for reading dhcrelay under /etc/default/ to set these configuration variables. [Thomas: adapt to patch only S80dhcp-relay, since S80dhcp-server has already been changed by previous commits.] Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
55 lines
1.2 KiB
Bash
Executable File
55 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $
|
|
#
|
|
|
|
# What servers should the DHCP relay forward requests to?
|
|
# e.g: SERVERS="192.168.0.1"
|
|
SERVERS=""
|
|
|
|
# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
|
|
INTERFACES=""
|
|
|
|
# Additional options that are passed to the DHCP relay daemon?
|
|
OPTIONS=""
|
|
|
|
# Read configuration variable file if it is present
|
|
CFG_FILE="/etc/default/dhcrelay"
|
|
[ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
|
|
|
|
# Sanity checks
|
|
test -f /usr/sbin/dhcrelay || exit 0
|
|
test -n "$INTERFACES" || exit 0
|
|
test -n "$SERVERS" || exit 0
|
|
|
|
# Build command line for interfaces (will be passed to dhrelay below.)
|
|
IFCMD=""
|
|
for I in $INTERFACES; do
|
|
IFCMD=${IFCMD}"-i "${I}" "
|
|
done
|
|
|
|
DHCRELAYPID=/var/run/dhcrelay.pid
|
|
|
|
case "$1" in
|
|
start)
|
|
printf "Starting DHCP relay: "
|
|
start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS
|
|
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
|
;;
|
|
stop)
|
|
printf "Stopping DHCP relay: "
|
|
start-stop-daemon -K -x /usr/sbin/dhcrelay
|
|
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
|
;;
|
|
restart | force-reload)
|
|
$0 stop
|
|
sleep 2
|
|
$0 start
|
|
;;
|
|
*)
|
|
echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}"
|
|
exit 1
|
|
esac
|
|
|
|
exit 0
|