summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-12-23 00:36:08 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-12-23 00:36:08 +0000
commit3aec0ff445681177ebddcf5a1604df05b6b511eb (patch)
treef16616305e36f3f269bfcde5c76d84fdfb138d0c /etc/inc
parent857c2ddb4b169a130f868a5dd5a60eafa4bd3db3 (diff)
downloadpfsense-3aec0ff445681177ebddcf5a1604df05b6b511eb.zip
pfsense-3aec0ff445681177ebddcf5a1604df05b6b511eb.tar.gz
*REALLY* release and renew correctly.
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/interfaces.inc21
1 files changed, 9 insertions, 12 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 9045ae5..f649370 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -743,7 +743,7 @@ function kill_wpasupplicant($interface) {
function find_dhclient_process($interface) {
$interface = convert_friendly_interface_to_real_interface_name($interface);
- $pid = exec("/bin/ps awwux | /usr/bin/grep dhclient | /usr/bin/grep -v grep | /usr/bin/grep {$interface}");
+ $pid = exec("/bin/ps awwux | /usr/bin/grep dhclient | /usr/bin/grep -v grep | /usr/bin/grep {$interface} | /usr/bin/awk '{ print \$2 }'");
return $pid;
}
@@ -1053,22 +1053,19 @@ EOD;
}
function interfaces_wan_dhcp_down() {
- global $config;
- $wancfg = $config['interfaces']['wan'];
- $wanif = $wancfg['if'];
- mwexec("/sbin/ifconfig {$wanif} delete");
- sleep(1);
+ interfaces_dhcp_down("wan");
}
function interfaces_dhcp_down($interface) {
- global $config;
- if(filter_translate_type_to_real_interface($interface) <> "")
- $realinterface = filter_translate_type_to_real_interface($interface);
- mwexec("/sbin/ifconfig {$realinterface} down");
- sleep(1);
+ global $config, $g;
+ $interface = convert_friendly_interface_to_real_interface_name($interface);
$dhclient_pid = find_dhclient_process($interface);
if($dhclient_pid)
- mwexec("kill {$dhclient_pid}");
+ exec("kill {$dhclient_pid}");
+ log_error("deleting interface $interface");
+ sleep(2);
+ exec("/sbin/ifconfig {$interface} delete");
+ exec("/sbin/ifconfig {$interface} down");
}
function interfaces_dhcp_up($interface) {
OpenPOWER on IntegriCloud