diff options
author | pierrepomes <pierre.pomes@interface-tech.com> | 2010-10-26 20:29:50 -0400 |
---|---|---|
committer | pierrepomes <pierre.pomes@interface-tech.com> | 2010-10-26 20:29:50 -0400 |
commit | b019222ac2bdce1b93895fb03310bd900010c709 (patch) | |
tree | 1edd664279709fb46f4b868c559752109a418a95 /usr/local/www/xmlrpc.php | |
parent | e6c563bb071b1f26edf051449399d078237425b9 (diff) | |
download | pfsense-b019222ac2bdce1b93895fb03310bd900010c709.zip pfsense-b019222ac2bdce1b93895fb03310bd900010c709.tar.gz |
Ticket #959: keep local ipalias and proxyarp vip's during a XMLRPC restore
Diffstat (limited to 'usr/local/www/xmlrpc.php')
-rwxr-xr-x | usr/local/www/xmlrpc.php | 6 |
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(); |