diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2006-12-23 00:36:08 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2006-12-23 00:36:08 +0000 |
commit | 3aec0ff445681177ebddcf5a1604df05b6b511eb (patch) | |
tree | f16616305e36f3f269bfcde5c76d84fdfb138d0c | |
parent | 857c2ddb4b169a130f868a5dd5a60eafa4bd3db3 (diff) | |
download | pfsense-3aec0ff445681177ebddcf5a1604df05b6b511eb.zip pfsense-3aec0ff445681177ebddcf5a1604df05b6b511eb.tar.gz |
*REALLY* release and renew correctly.
-rw-r--r-- | etc/inc/interfaces.inc | 21 |
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) { |