summaryrefslogtreecommitdiffstats
path: root/etc/rc.filter_synchronize
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2009-08-24 21:00:47 -0400
committerScott Ullrich <sullrich@pfsense.org>2009-08-24 21:00:47 -0400
commitd6e8dfa1d6b4bad7ef6f71263f275ca8e8b0a706 (patch)
treed6622b5839490181138c7cb5724e3b746f9f422f /etc/rc.filter_synchronize
parent57d34ec9f0971102dd33e09279b007a3c8e0844d (diff)
downloadpfsense-d6e8dfa1d6b4bad7ef6f71263f275ca8e8b0a706.zip
pfsense-d6e8dfa1d6b4bad7ef6f71263f275ca8e8b0a706.tar.gz
Use array_splice() to unset items that should not be sync'd (nosync) Resolves #38
Diffstat (limited to 'etc/rc.filter_synchronize')
-rw-r--r--etc/rc.filter_synchronize42
1 files changed, 28 insertions, 14 deletions
diff --git a/etc/rc.filter_synchronize b/etc/rc.filter_synchronize
index b17d408..f9d94d7 100644
--- a/etc/rc.filter_synchronize
+++ b/etc/rc.filter_synchronize
@@ -89,44 +89,58 @@ function carp_sync_xml($url, $password, $sections, $port = 80, $method = 'pfsens
if (is_array($config_copy['nat']['advancedoutbound']['rule']))
for ($x = 0; $x < count($config_copy['nat']['advancedoutbound']['rule']); $x++) {
$config_copy['nat']['advancedoutbound']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['advancedoutbound']['rule'][$x]['descr']);
- if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync']))
- unset ($config_copy['nat']['advancedoutbound']['rule'][$x]);
+ if (isset ($config_copy['nat']['advancedoutbound']['rule'][$x]['nosync'])) {
+ array_splice($config_copy['nat']['advancedoutbound']['rule'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['nat']['rule']))
for ($x = 0; $x < count($config_copy['nat']['rule']); $x++) {
$config_copy['nat']['rule'][$x]['descr'] = remove_special_characters($config_copy['nat']['rule'][$x]['descr']);
- if (isset ($config_copy['nat']['rule'][$x]['nosync']))
- unset ($config_copy['nat']['rule'][$x]);
+ if (isset ($config_copy['nat']['rule'][$x]['nosync'])) {
+ array_splice($config_copy['nat']['rule'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['filter']['rule']))
for ($x = 0; $x < count($config_copy['filter']['rule']); $x++) {
$config_copy['filter']['rule'][$x]['descr'] = remove_special_characters($config_copy['filter']['rule'][$x]['descr']);
- if (isset ($config_copy['filter']['rule'][$x]['nosync']))
- unset ($config_copy['filter']['rule'][$x]);
+ if (isset ($config_copy['filter']['rule'][$x]['nosync'])) {
+ array_splice($config_copy['filter']['rule'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['aliases']['alias']))
for ($x = 0; $x < count($config_copy['aliases']['alias']); $x++) {
$config_copy['aliases']['alias'][$x]['descr'] = remove_special_characters($config_copy['aliases']['alias'][$x]['descr']);
- if (isset ($config_copy['aliases']['alias'][$x]['nosync']))
- unset ($config_copy['aliases']['alias'][$x]);
+ if (isset ($config_copy['aliases']['alias'][$x]['nosync'])) {
+ array_splice($config_copy['aliases']['alias'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['dnsmasq']['hosts']))
for ($x = 0; $x < count($config_copy['dnsmasq']['hosts']); $x++) {
$config_copy['dnsmasq']['hosts'][$x]['descr'] = remove_special_characters($config_copy['dnsmasq']['hosts'][$x]['descr']);
- if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync']))
- unset ($config_copy['dnsmasq']['hosts'][$x]);
+ if (isset ($config_copy['dnsmasq']['hosts'][$x]['nosync'])) {
+ array_splice($config_copy['dnsmasq']['hosts'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['virtualip']['vip']))
for ($x = 0; $x < count($config_copy['virtualip']['vip']); $x++) {
$config_copy['virtualip']['vip'][$x]['descr'] = remove_special_characters($config_copy['virtualip']['vip'][$x]['descr']);
- if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp")
- unset ($config_copy['virtualip']['vip'][$x]);
+ if (isset ($config_copy['virtualip']['vip'][$x]['nosync']) or $config_copy['virtualip']['vip'][$x]['mode'] == "proxyarp") {
+ array_splice($config_copy['virtualip']['vip'],$x,1);
+ $x--;
+ }
}
if (is_array($config_copy['ipsec']['tunnel']))
for ($x = 0; $x < count($config_copy['ipsec']['tunnel']); $x++) {
$config_copy['ipsec']['tunnel'][$x]['descr'] = remove_special_characters($config_copy['ipsec']['tunnel'][$x]['descr']);
- if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync']))
- unset ($config_copy['ipsec']['tunnel'][$x]);
+ if (isset ($config_copy['ipsec']['tunnel'][$x]['nosync'])) {
+ array_splice($config_copy['ipsec']['tunnel'],$x,1);
+ $x--;
+ }
}
foreach ($sections as $section) {
OpenPOWER on IntegriCloud