summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/upgrade_config.inc
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2016-02-10 09:11:01 -0500
committerStephen Beaver <sbeaver@netgate.com>2016-02-10 09:11:26 -0500
commit032def61ca2d829524172066d054211a9771d077 (patch)
tree575fba14e411b80245048b5baa05bd45de306af8 /src/etc/inc/upgrade_config.inc
parent287df967fb3bde7e0514ab78a9e4e53e6fbe4415 (diff)
downloadpfsense-032def61ca2d829524172066d054211a9771d077.zip
pfsense-032def61ca2d829524172066d054211a9771d077.tar.gz
Fixed #5873
Diffstat (limited to 'src/etc/inc/upgrade_config.inc')
-rw-r--r--src/etc/inc/upgrade_config.inc43
1 files changed, 24 insertions, 19 deletions
diff --git a/src/etc/inc/upgrade_config.inc b/src/etc/inc/upgrade_config.inc
index d54cffd..5ec1870 100644
--- a/src/etc/inc/upgrade_config.inc
+++ b/src/etc/inc/upgrade_config.inc
@@ -4410,43 +4410,48 @@ function upgrade_141_to_142() {
}
}
+// Updated to check for empty separator definitions via is_array()
function upgrade_142_to_143() {
global $config;
/* Re-index firewall rule separators per interface */
- if (!empty($config['filter']['separator'])) {
+ if (is_array($config['filter']['separator'])) {
foreach ($config['filter']['separator'] as $interface => $separators) {
- foreach ($separators as $sepn => $separator) {
+ if(is_array($separators)) {
+ foreach ($separators as $sepn => $separator) {
- $seprow = substr($separator['row']['0'], 2);
- $sepif = $separator['if'];
+ $seprow = substr($separator['row']['0'], 2);
+ $sepif = $separator['if'];
- // Determine position of separator within the interface rules.
- $i = -1; $j = 0;
- foreach ($config['filter']['rule'] as $rulen => $filterent) {
+ // Determine position of separator within the interface rules.
+ $i = -1; $j = 0;
+ foreach ($config['filter']['rule'] as $rulen => $filterent) {
- if ($i == $seprow) {
- // Set separator row to it's position within the interface rules.
- $config['filter']['separator'][$sepif][$sepn]['row'] = 'fr' . $j;
- continue 2; // Advance to next separator
- }
+ if ($i == $seprow) {
+ // Set separator row to it's position within the interface rules.
+ $config['filter']['separator'][$sepif][$sepn]['row'] = 'fr' . $j;
+ continue 2; // Advance to next separator
+ }
- // Position within the interface rules.
- if (($filterent['interface'] == $sepif && !isset($filterent['floating'])) || (isset($filterent['floating']) && "floatingrules" == $sepif)) {
- $j++;
+ // Position within the interface rules.
+ if (($filterent['interface'] == $sepif && !isset($filterent['floating'])) || (isset($filterent['floating']) && "floatingrules" == $sepif)) {
+ $j++;
+ }
+ $i++;
}
- $i++;
}
}
}
}
/* Re-index nat rule separators */
- if (!empty($config['nat']['separator'])) {
+ if (is_array($config['nat']['separator'])) {
foreach ($config['nat']['separator'] as $sepn => $separator) {
- $seprow = substr($separator['row']['0'], 2);
- $config['nat']['separator'][$sepn]['row'] = 'fr' . ($seprow + 1);
+ if (is_array($separator)) {
+ $seprow = substr($separator['row']['0'], 2);
+ $config['nat']['separator'][$sepn]['row'] = 'fr' . ($seprow + 1);
+ }
}
}
}
OpenPOWER on IntegriCloud