diff options
author | Erik Fonnesbeck <efonnes@gmail.com> | 2010-11-11 02:53:35 -0700 |
---|---|---|
committer | Erik Fonnesbeck <efonnes@gmail.com> | 2010-11-11 02:53:35 -0700 |
commit | cea355a54de7f6be2b9fe9f04315e11fb93fb4e9 (patch) | |
tree | 56da41b661bc075fb04066684f7b731e9930113a | |
parent | cb53651f679341c8c6cdf717f5f33622e24b22f0 (diff) | |
download | pfsense-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.
-rw-r--r-- | etc/inc/pfsense-utils.inc | 4 |
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']); } |