diff --git a/usr/lib/network/connections/ethernet b/usr/lib/network/connections/ethernet index 00079fc..f57b38d 100755 --- a/usr/lib/network/connections/ethernet +++ b/usr/lib/network/connections/ethernet @@ -63,9 +63,10 @@ ethernet_up() { case "$IP" in dhcp) if checkyesno "${DHCLIENT:-no}"; then - rm -r "/run/dhclient-${INTERFACE}.pid" >/dev/null 2>&1 - report_debug ethernet_up dhclient -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf "/run/dhclient-$INTERFACE.pid" "$INTERFACE" - if ! dhclient -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf "/run/dhclient-${INTERFACE}.pid" ${DHCLIENT_OPTIONS} "$INTERFACE"; then + DHCLIENT_PIDFILE="${PID_DIR}/dhclient-${INTERFACE}.pid" + rm -r "${DHCLIENT_PIDFILE}" >/dev/null 2>&1 + report_debug ethernet_up dhclient -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf "${DHCLIENT_PIDFILE}" "$INTERFACE" + if ! dhclient -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf "${DHCLIENT_PIDFILE}" ${DHCLIENT_OPTIONS} "$INTERFACE"; then report_fail "DHCP IP lease attempt failed." stop_80211x return 1 @@ -142,10 +143,10 @@ ethernet_up() { if [[ "$IP6" == "dhcp-noaddr" ]]; then DHCLIENT6_OPTIONS="-S ${DHCLIENT6_OPTIONS}" fi - _DHCLIENT_PIDFILE="/run/dhclient6-${INTERFACE}.pid" - rm -r ${_DHCLIENT_PIDFILE} &>/dev/null - report_debug ethernet_up dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${_DHCLIENT_PIDFILE} "$INTERFACE" - if ! dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${_DHCLIENT_PIDFILE} ${DHCLIENT6_OPTIONS} "$INTERFACE"; then + DHCLIENT6_PIDFILE="${PID_DIR}/dhclient6-${INTERFACE}.pid" + rm -r ${DHCLIENT6_PIDFILE} &>/dev/null + report_debug ethernet_up dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${DHCLIENT6_PIDFILE} "$INTERFACE" + if ! dhclient -6 -q -e TIMEOUT="${DHCP_TIMEOUT:-10}" -pf ${DHCLIENT6_PIDFILE} ${DHCLIENT6_OPTIONS} "$INTERFACE"; then report_fail "DHCPv6 IP lease attempt failed." stop_80211x return 1 @@ -228,9 +229,10 @@ ethernet_down() { if [[ "$IP" == "dhcp" ]]; then if checkyesno "${DHCLIENT:-no}"; then - if [[ -f "/run/dhclient-$INTERFACE.pid" ]]; then - report_debug ethernet_down dhclient -q -x "$INTERFACE" - dhclient -q -x "$INTERFACE" &>/dev/null + DHCLIENT_PIDFILE="${PID_DIR}/dhclient-${INTERFACE}.pid" + if [[ -f "${DHCLIENT_PIDFILE}" ]]; then + report_debug ethernet_down dhclient -q -x -pf "${DHCLIENT_PIDFILE}" "$INTERFACE" + dhclient -q -x -pf "${DHCLIENT_PIDFILE}" "$INTERFACE" &>/dev/null #dhclient -q -r "$INTERFACE" &>/dev/null fi else @@ -241,11 +243,12 @@ ethernet_down() { fi fi if [[ "$IP6" == dhcp* ]]; then - if [[ -f "/run/dhclient6-$INTERFACE.pid" ]]; then - report_debug ethernet_down dhclient -6 -q -x "$INTERFACE" - dhclient -6 -q -x "$INTERFACE" &>/dev/null - report_debug ethernet_down /bin/kill $(< /run/dhclient6-$INTERFACE.pid) - /bin/kill $(< /run/dhclient6-$INTERFACE.pid) &>/dev/null + DHCLIENT6_PIDFILE="${PID_DIR}/dhclient6-${INTERFACE}.pid" + if [[ -f "${DHCLIENT6_PIDFILE}" ]]; then + report_debug ethernet_down dhclient -6 -q -x -pf "${DHCLIENT6_PIDFILE}" "$INTERFACE" + dhclient -6 -q -x -pf "${DHCLIENT6_PIDFILE}" "$INTERFACE" &>/dev/null + #report_debug ethernet_down /bin/kill $(< /run/dhclient6-$INTERFACE.pid) + #/bin/kill $(< /run/dhclient6-$INTERFACE.pid) &>/dev/null fi fi diff --git a/usr/lib/network/globals b/usr/lib/network/globals index 491f9d6..496e874 100644 --- a/usr/lib/network/globals +++ b/usr/lib/network/globals @@ -14,6 +14,7 @@ SUBR_DIR="/usr/lib/network" HOOKS_DIR="$SUBR_DIR/hooks" CONN_DIR="$SUBR_DIR/connections" STATE_DIR="/run/network" +PID_DIR="/run"