diff --git a/src/etc/inc/interfaces.lib.inc b/src/etc/inc/interfaces.lib.inc index aa83ab82b..aefadc9ef 100644 --- a/src/etc/inc/interfaces.lib.inc +++ b/src/etc/inc/interfaces.lib.inc @@ -50,10 +50,12 @@ function legacy_interface_listget($flag = '') return ($ifs); } -function legacy_interface_flags($ifs, $flag, $report_errors=true) +function legacy_interface_flags($ifs, $flags, $report_errors=true) { /* $flags isn't escaped because it can be an argument list */ - $cmd = '/sbin/ifconfig ' . escapeshellarg($ifs) . ' ' . $flag; + foreach (explode(' ', $flags) as $flag) { + $cmd = '/sbin/ifconfig ' . escapeshellarg($ifs) . ' ' . $flag; + } exec($cmd . ' 2>&1', $out, $ret); if (!empty($ret) && $report_errors) {