summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorBill Marquette <billm@pfsense.org>2005-04-18 05:23:59 +0000
committerBill Marquette <billm@pfsense.org>2005-04-18 05:23:59 +0000
commit8e53f9251e8e509d9b6e0c57a070865c5cfdbca9 (patch)
tree46ed4fdb8091579df83813d2fc4d39473576d55f /etc
parentbcce11afc0bd9bb94b132bed8d23f8c91196f65d (diff)
downloadpfsense-8e53f9251e8e509d9b6e0c57a070865c5cfdbca9.zip
pfsense-8e53f9251e8e509d9b6e0c57a070865c5cfdbca9.tar.gz
Fix shaper rules
Do not foreach() over an array from within a foreach() on that same array
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/filter.inc22
1 files changed, 11 insertions, 11 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 8336bee..2494aef 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -285,10 +285,9 @@ function filter_setup_altq_interfaces() {
if(!is_array($config['shaper']['queue'])) return;
- $i = 0;
$ifdescrs = array('wan', 'lan');
for ($j = 1; isset($config['interfaces']['opt' . $j]); $j++) {
- $ifdescrs['opt' . $j] = "opt" . $j;
+ $ifdescrs[] = "opt" . $j;
}
foreach ($ifdescrs as $ifdescr => $ifname) {
@@ -299,17 +298,19 @@ function filter_setup_altq_interfaces() {
$workting_with_interface = $ifname;
foreach ($config['shaper']['queue'] as $queue) {
+ $rule_interface = "";
+ $q = $queue;
$rule_interface = filter_is_queue_being_used_on_interface($queue['name'], $workting_with_interface);
- $rule_interface = queue_interface_recursive($queue['name']);
+// $rule_interface = queue_interface_recursive($q['name']);
if ($rule_interface == $workting_with_interface) {
$status_is_subqueue = is_subqueue($queue['name']);
- $status_is_attached = is_queue_attached_children($queue['name']);
+// $status_is_attached = is_queue_attached_children($q['name']);
if($queue['attachtoqueue'] <> "") $status_is_attached = 0;
- if($status_is_subqueue == 0 or $status_is_attached == 1) {
+// if($status_is_subqueue == 0 or $status_is_attached == 1) {
if($is_first) $queue_names .= ", ";
$queue_names .= $queue['name'];
$is_first = "1";
- }
+// }
}
}
@@ -350,14 +351,13 @@ function queue_interface_recursive($queuename) {
}
}
-
-
function is_subqueue($name) {
global $config;
+ $queues = $config['shaper']['queue']; /* must assign to keep from corrupting in memory $config */
$status = "";
- if (!is_array($config['shaper']['queue'])) return 0;
- foreach ($config['shaper']['queue'] as $queue) {
- if($queue['attachtoqueue'] <> "") return 1;
+ if (!is_array($queues)) return 0;
+ foreach ($queues as $queue) {
+ if($queue['attachtoqueue'] == $name) return 1;
}
return 0;
}
OpenPOWER on IntegriCloud