diff options
-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(); |