diff options
author | Ermal <eri@pfsense.org> | 2011-02-16 18:18:31 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2011-02-16 18:19:04 +0000 |
commit | a3bac4cea17f50d476f9475861c8992baba352e0 (patch) | |
tree | d8446a03b99f552c818e8b6597ea5d0965679bc7 /etc/inc | |
parent | ed187b41a21aa307556995f58e4eb24479f70bb0 (diff) | |
download | pfsense-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/inc')
-rw-r--r-- | etc/inc/upgrade_config.inc | 14 |
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); |