aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2020-05-21 18:35:32 +0200
committerRobin H. Johnson <robbat2@gentoo.org>2020-05-30 22:13:17 -0700
commitdd5a41de524cfdebe47425e70513f95f9937e406 (patch)
tree930a70ce4f779c496a496cdefdb912d6fe66ad40
parentMakefile: bump (diff)
downloadnetifrc-dd5a41de524cfdebe47425e70513f95f9937e406.tar.gz
netifrc-dd5a41de524cfdebe47425e70513f95f9937e406.tar.bz2
netifrc-dd5a41de524cfdebe47425e70513f95f9937e406.zip
net/dhcpcd.sh: fetch pidfile location from dhcpcd
There's a -P switch for this but we also need to take into account the -4 and -6 switches as they both alter the pidfile's name. Bug: https://bugs.gentoo.org/718114 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--net/dhcpcd.sh13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/dhcpcd.sh b/net/dhcpcd.sh
index 0a306b8..c0639e0 100644
--- a/net/dhcpcd.sh
+++ b/net/dhcpcd.sh
@@ -16,9 +16,12 @@ _config_vars="$_config_vars dhcp dhcpcd"
dhcpcd_start()
{
- local args= opt= opts= pidfile="/run/dhcpcd-${IFACE}.pid" new=true
+ # check for pidfile after we gathered the user's opts because they can
+ # alter the pidfile's name (#718114)
+ local args= opt= pidfile= opts= new=true
eval args=\$dhcpcd_${IFVAR}
[ -z "${args}" ] && args=${dhcpcd}
+ pidfile="$(dhcpcd -P ${args} ${IFACE})"
# Get our options
eval opts=\$dhcp_${IFVAR}
@@ -75,7 +78,13 @@ dhcpcd_start()
dhcpcd_stop()
{
- local pidfile="/run/dhcpcd-${IFACE}.pid" opts= sig=SIGTERM
+ local args= pidfile= opts= sig=SIGTERM
+
+ # check for pidfile after we gathered the user's opts because they can
+ # alter the pidfile's name (#718114)
+ eval args=\$dhcpcd_${IFVAR}
+ [ -z "${args}" ] && args=${dhcpcd}
+ pidfile="$(dhcpcd -P ${args} ${IFACE})"
[ ! -f "${pidfile}" ] && return 0
ebegin "Stopping dhcpcd on ${IFACE}"