summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-02-16 18:18:31 +0000
committerErmal <eri@pfsense.org>2011-02-16 18:19:04 +0000
commita3bac4cea17f50d476f9475861c8992baba352e0 (patch)
treed8446a03b99f552c818e8b6597ea5d0965679bc7 /etc
parented187b41a21aa307556995f58e4eb24479f70bb0 (diff)
downloadpfsense-a3bac4cea17f50d476f9475861c8992baba352e0.zip
pfsense-a3bac4cea17f50d476f9475861c8992baba352e0.tar.gz
Do not rely on php new foreach by reference and use the old method of chaning array members by using full path. This fixes nat 1:1 upgrades.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/upgrade_config.inc14
1 files changed, 6 insertions, 8 deletions
diff --git a/etc/inc/upgrade_config.inc b/etc/inc/upgrade_config.inc
index 0454475..b5c492a 100644
--- a/etc/inc/upgrade_config.inc
+++ b/etc/inc/upgrade_config.inc
@@ -2206,18 +2206,16 @@ function upgrade_069_to_070() {
/* Convert NAT 1:1 rules */
if (is_array($config['nat']['onetoone'])) {
- $a_nat = &$config['nat']['onetoone'];
-
- foreach ($a_nat as &$natent) {
+ foreach ($config['nat']['onetoone'] as $nidx => $natent) {
if ($natent['subnet'] == 32)
- $natent['source'] = array("address" => $natent['internal']);
+ $config['nat']['onetoone'][$nidx]['source'] = array("address" => $natent['internal']);
else
- $natent['source'] = array("address" => $natent['internal'] . "/" . $natent['subnet']);
+ $config['nat']['onetoone'][$nidx]['source'] = array("address" => $natent['internal'] . "/" . $natent['subnet']);
- $natent['destination'] = array("any" => true);
+ $config['nat']['onetoone'][$nidx]['destination'] = array("any" => true);
- unset($natent['internal']);
- unset($natent['subnet']);
+ unset($config['nat']['onetoone'][$nidx]['internal']);
+ unset($config['nat']['onetoone'][$nidx]['subnet']);
}
unset($natent);
OpenPOWER on IntegriCloud