diff options
author | jim-p <jimp@pfsense.org> | 2010-11-01 13:20:04 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2010-11-01 13:20:04 -0400 |
commit | 5fb9e6d387b6a91406060ca978bef76de8da2a19 (patch) | |
tree | 30380d410c0eb897b01f0908a5f1174b54bf1e00 /etc/rc.filter_synchronize | |
parent | 0e604b3abc4e8a49da7d13720482c17e017bf0bf (diff) | |
download | pfsense-5fb9e6d387b6a91406060ca978bef76de8da2a19.zip pfsense-5fb9e6d387b6a91406060ca978bef76de8da2a19.tar.gz |
Various sync fixes to ensure sections are pushed even if empty, otherwise the last entries of these sections cannot be deleted and have that deletion sync to the secondary.
Diffstat (limited to 'etc/rc.filter_synchronize')
-rwxr-xr-x | etc/rc.filter_synchronize | 73 |
1 files changed, 53 insertions, 20 deletions
diff --git a/etc/rc.filter_synchronize b/etc/rc.filter_synchronize index 5531392..3febef0 100755 --- a/etc/rc.filter_synchronize +++ b/etc/rc.filter_synchronize @@ -239,10 +239,16 @@ if (is_array($config['installedpackages']['carpsettings']['config'])) { } $synchronizetoip .= $carp['synchronizetoip']; - if ($carp['synchronizerules'] != "" and is_array($config['filter'])) + if ($carp['synchronizerules'] != "") { + if (!is_array($config['filter'])) + $config['filter'] = array(); $sections[] = 'filter'; - if ($carp['synchronizenat'] != "" and is_array($config['nat'])) + } + if ($carp['synchronizenat'] != "") { + if (!is_array($config['nat'])) + $config['nat'] = array(); $sections[] = 'nat'; + } if ($carp['synchronizealiases'] != "") { if (!is_array($config['aliases'])) $config['aliases'] = array(); @@ -250,44 +256,71 @@ if (is_array($config['installedpackages']['carpsettings']['config'])) { } if ($carp['synchronizedhcpd'] != "" and is_array($config['dhcpd'])) $sections[] = 'dhcpd'; - if ($carp['synchronizewol'] != "" and is_array($config['wol'])) + if ($carp['synchronizewol'] != "") { + if (!is_array($config['wol'])) + $config['wol'] = array(); $sections[] = 'wol'; - if ($carp['synchronizetrafficshaper'] != "" and is_array($config['shaper'])) + } + if ($carp['synchronizetrafficshaper'] != "" and is_array($config['shaper'])) { $sections[] = 'shaper'; - if ($carp['synchronizetrafficshaper'] != "" and is_array($config['l7shaper'])) - $sections[] = 'l7shaper'; - if ($carp['synchronizestaticroutes'] != "" and is_array($config['staticroutes'])) { + } + if ($carp['synchronizetrafficshaper'] != "") { + if (!is_array($config['l7shaper'])) + $config['l7shaper'] = array(); + $sections[] = 'l7shaper'; + } + if ($carp['synchronizestaticroutes'] != "") { + if (!is_array($config['staticroutes'])) + $config['staticroutes'] = array(); $sections[] = 'staticroutes'; + if (!is_array($config['gateways'])) + $config['gateways'] = array(); $sections[] = 'gateways'; } - if ($carp['synchronizevirtualip'] != "" and is_array($config['virtualip'])) + if ($carp['synchronizevirtualip'] != "") { + if (!is_array($config['virtualip'])) + $config['virtualip'] = array(); $sections[] = 'virtualip'; - if ($carp['synchronizelb'] != "" and is_array($config['load_balancer'])) + } + if ($carp['synchronizelb'] != "") { + if (!is_array($config['load_balancer'])) + $config['load_balancer'] = array(); $sections[] = 'load_balancer'; - if ($carp['synchronizeipsec'] != "" and is_array($config['ipsec'])) + } + if ($carp['synchronizeipsec'] != "") { + if (!is_array($config['ipsec'])) + $config['ipsec'] = array(); $sections[] = 'ipsec'; - if ($carp['synchronizeopenvpn'] != "" and is_array($config['openvpn'])) { + } + if ($carp['synchronizeopenvpn'] != "") { + if (!is_array($config['openvpn'])) + $config['openvpn'] = array(); $sections[] = 'openvpn'; + } + if ($carp['synchronizecerts'] != "" || $carp['synchronizeopenvpn'] != "") { + if (!is_array($config['cert'])) + $config['cert'] = array(); $sections[] = 'cert'; + + if (!is_array($config['ca'])) + $config['ca'] = array(); $sections[] = 'ca'; + + if (!is_array($config['crl'])) + $config['crl'] = array(); $sections[] = 'crl'; } - if ($carp['synchronizecerts'] != "") { - if (is_array($config['cert'])) - $sections[] = 'cert'; - if (is_array($config['ca'])) - $sections[] = 'ca'; - if (is_array($config['crl'])) - $sections[] = 'crl'; - } if ($carp['synchronizeusers'] != "") { $mergesections[] = 'user'; $mergesections[] = 'group'; } if ($carp['synchronizednsforwarder'] != "" and is_array($config['dnsmasq'])) $sections[] = 'dnsmasq'; - if ($carp['synchronizeschedules'] != "" and is_array($config['schedules'])) + if ($carp['synchronizeschedules'] != "") { + if (!is_array($config['schedules'])) + $config['schedules'] = array(); $sections[] = 'schedules'; + } if ($carp['synchronizecaptiveportal'] != "" and is_array($config['captiveportal'])) $sections[] = 'captiveportal'; if ($carp['synchronizecaptiveportal'] != "" and is_array($config['vouchers'])) |