summaryrefslogtreecommitdiffstats
path: root/etc/inc/config.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2007-04-24 17:52:43 +0000
committerScott Ullrich <sullrich@pfsense.org>2007-04-24 17:52:43 +0000
commitbe973d8c27e4fa042b040419b13343525bf8d0e2 (patch)
treea26c92a2e31f2304cdad289567d157812af41fa1 /etc/inc/config.inc
parentf71531ed5765b9f4f0ebf47acfb9a4747eb2c10c (diff)
downloadpfsense-be973d8c27e4fa042b040419b13343525bf8d0e2.zip
pfsense-be973d8c27e4fa042b040419b13343525bf8d0e2.tar.gz
Detect 0 byte config.xml cases and attempt to restore a previous backup.
Diffstat (limited to 'etc/inc/config.inc')
-rw-r--r--etc/inc/config.inc10
1 files changed, 10 insertions, 0 deletions
diff --git a/etc/inc/config.inc b/etc/inc/config.inc
index b6dae66..9f885d2 100644
--- a/etc/inc/config.inc
+++ b/etc/inc/config.inc
@@ -353,6 +353,16 @@ function parse_config_bootup() {
}
}
+ if(filesize("{$g['conf_path']}/config.xml") == 0) {
+ $last_backup = discover_last_backup();
+ if($last_backup) {
+ log_error("No config.xml found, attempting last known config restore.");
+ restore_backup("{$g['conf_path']}/backup/{$last_backup}");
+ } else {
+ die("Config.xml is corrupted and is 0 bytes. Could not restore a previous backup.");
+ }
+ }
+
parse_config(true);
if ((float)$config['version'] > (float)$g['latest_config']) {
OpenPOWER on IntegriCloud