summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-11-11 02:53:35 -0700
committerErik Fonnesbeck <efonnes@gmail.com>2010-11-11 02:53:35 -0700
commitcea355a54de7f6be2b9fe9f04315e11fb93fb4e9 (patch)
tree56da41b661bc075fb04066684f7b731e9930113a /etc
parentcb53651f679341c8c6cdf717f5f33622e24b22f0 (diff)
downloadpfsense-cea355a54de7f6be2b9fe9f04315e11fb93fb4e9.zip
pfsense-cea355a54de7f6be2b9fe9f04315e11fb93fb4e9.tar.gz
Separate this into the original case with the floating rule cases above it to fix some scenarios where the order was still wrong.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/pfsense-utils.inc4
1 files changed, 3 insertions, 1 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 7c0bdc0..3a6eb1a 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -2123,12 +2123,14 @@ function filter_rules_sort() {
unset($config['filter']['rule'][$i]['seq']);
}
function filter_rules_compare($a, $b) {
- if ($a['interface'] == $b['interface'] || ( isset($a['floating']) && isset($b['floating']) ))
+ if (isset($a['floating']) && isset($b['floating']))
return $a['seq'] - $b['seq'];
else if (isset($a['floating']))
return -1;
else if (isset($b['floating']))
return 1;
+ else if ($a['interface'] == $b['interface'])
+ return $a['seq'] - $b['seq'];
else
return compare_interface_friendly_names($a['interface'], $b['interface']);
}
OpenPOWER on IntegriCloud