kumquat-buildroot/package/dhcp/S80dhcp-relay
Benoît Thébaudeau 0bc15867da package/dhcp: make S80dhcp-relay read a file from /etc/default/
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>
2015-12-24 14:57:17 +01:00

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