summaryrefslogtreecommitdiffstats
path: root/etc/inc/config.lib.inc
diff options
context:
space:
mode:
authorVinicius Coque <vinicius.coque@bluepex.com>2011-04-15 13:38:13 -0300
committerVinicius Coque <vinicius.coque@bluepex.com>2011-04-15 13:38:13 -0300
commita51493d1981175048bdccce51f6b4ad6720da679 (patch)
tree0c4afae78c022380e5f4cbb9397859761f46d708 /etc/inc/config.lib.inc
parentf599d893fff3d78f44068dc3ba238046d933ddb1 (diff)
parent7b2fdeb3c5d4fecc23ce2f9a7e1fa1a4c3af63be (diff)
downloadpfsense-a51493d1981175048bdccce51f6b4ad6720da679.zip
pfsense-a51493d1981175048bdccce51f6b4ad6720da679.tar.gz
Merge remote-tracking branch 'mainline/master' into inc
Conflicts: etc/inc/gwlb.inc
Diffstat (limited to 'etc/inc/config.lib.inc')
-rw-r--r--etc/inc/config.lib.inc11
1 files changed, 9 insertions, 2 deletions
diff --git a/etc/inc/config.lib.inc b/etc/inc/config.lib.inc
index 5b84cfa..7232d14 100644
--- a/etc/inc/config.lib.inc
+++ b/etc/inc/config.lib.inc
@@ -534,10 +534,17 @@ function write_config($desc="Unknown", $backup = true) {
/* NOTE: We assume that the file can be parsed since we wrote it. */
$config = parse_xml_config("{$g['conf_path']}/config.xml", $g['xml_rootobj']);
if ($config == -1) {
+ copy("{$g['conf_path']}/config.xml", "{$g['conf_path']}/config.xml.bad");
$last_backup = discover_last_backup();
- if ($last_backup)
+ if ($last_backup) {
restore_backup("/cf/conf/backup/{$last_backup}");
- else
+ $config = parse_xml_config("{$g['conf_path']}/config.xml", $g['xml_rootobj']);
+ if ($g['booting']) {
+ echo "\n\n ************** WARNING **************";
+ echo "\n\n Configuration could not be validated. A previous configuration was restored. \n";
+ echo "\n The failed configuration file has been saved as {$g['conf_path']}/config.xml.bad} \n\n";
+ }
+ } else
log_error(gettext("Could not restore config.xml."));
} else
generate_config_cache($config);
OpenPOWER on IntegriCloud