summaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
authorpierrepomes <pierre.pomes@interface-tech.com>2010-10-26 20:29:50 -0400
committerpierrepomes <pierre.pomes@interface-tech.com>2010-10-26 20:29:50 -0400
commitb019222ac2bdce1b93895fb03310bd900010c709 (patch)
tree1edd664279709fb46f4b868c559752109a418a95 /usr
parente6c563bb071b1f26edf051449399d078237425b9 (diff)
downloadpfsense-b019222ac2bdce1b93895fb03310bd900010c709.zip
pfsense-b019222ac2bdce1b93895fb03310bd900010c709.tar.gz
Ticket #959: keep local ipalias and proxyarp vip's during a XMLRPC restore
Diffstat (limited to 'usr')
-rwxr-xr-xusr/local/www/xmlrpc.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/local/www/xmlrpc.php b/usr/local/www/xmlrpc.php
index 3f4de03..44a48be 100755
--- a/usr/local/www/xmlrpc.php
+++ b/usr/local/www/xmlrpc.php
@@ -163,7 +163,13 @@ function restore_config_section_xmlrpc($raw_params) {
interface_vip_bring_down($vip);
}
}
+ $vipbackup=$config['virtualip']['vip'];
+ // For vip section, first keep items sent from the master
$config = array_merge($config, $params[0]);
+ // Then add ipalias and proxyarp types already defined on the backup
+ foreach ($vipbackup as $vip)
+ if (($vip['mode'] == 'ipalias') || ($vip['mode'] == 'proxyarp'))
+ $config['virtualip']['vip'][]=$vip ;
$mergedkeys = implode(",", array_keys($params[0]));
write_config(sprintf(gettext("Merged in config (%s sections) from XMLRPC client."),$mergedkeys));
interfaces_vips_configure();
OpenPOWER on IntegriCloud