summaryrefslogtreecommitdiff
path: root/lib/backupclient/BackupDaemonConfigVerify.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/backupclient/BackupDaemonConfigVerify.cpp')
-rw-r--r--lib/backupclient/BackupDaemonConfigVerify.cpp52
1 files changed, 37 insertions, 15 deletions
diff --git a/lib/backupclient/BackupDaemonConfigVerify.cpp b/lib/backupclient/BackupDaemonConfigVerify.cpp
index a3b95335..865ee413 100644
--- a/lib/backupclient/BackupDaemonConfigVerify.cpp
+++ b/lib/backupclient/BackupDaemonConfigVerify.cpp
@@ -11,11 +11,12 @@
#include "BackupDaemonConfigVerify.h"
#include "Daemon.h"
#include "BoxPortsAndFiles.h"
+#include "BackupConstants.h"
#include "MemLeakFindOn.h"
-static const ConfigurationVerifyKey backuplocationkeys[] =
+static const ConfigurationVerifyKey backuplocationkeys[] =
{
ConfigurationVerifyKey("ExcludeFile", ConfigTest_MultiValueAllowed),
ConfigurationVerifyKey("ExcludeFilesRegex", ConfigTest_MultiValueAllowed),
@@ -28,7 +29,7 @@ static const ConfigurationVerifyKey backuplocationkeys[] =
ConfigurationVerifyKey("Path", ConfigTest_Exists | ConfigTest_LastEntry)
};
-static const ConfigurationVerify backuplocations[] =
+static const ConfigurationVerify backuplocations[] =
{
{
"*",
@@ -39,12 +40,22 @@ static const ConfigurationVerify backuplocations[] =
}
};
-static const ConfigurationVerifyKey verifyserverkeys[] =
+static const ConfigurationVerifyKey verifyserverkeys[] =
{
DAEMON_VERIFY_SERVER_KEYS
};
-static const ConfigurationVerify verifyserver[] =
+static const ConfigurationVerifyKey verifys3keys[] =
+{
+ // These values are only required for Amazon S3-compatible stores
+ ConfigurationVerifyKey("HostName", ConfigTest_Exists),
+ ConfigurationVerifyKey("Port", ConfigTest_Exists | ConfigTest_IsInt, 80),
+ ConfigurationVerifyKey("BasePath", ConfigTest_Exists),
+ ConfigurationVerifyKey("AccessKey", ConfigTest_Exists),
+ ConfigurationVerifyKey("SecretKey", ConfigTest_Exists | ConfigTest_LastEntry)
+};
+
+static const ConfigurationVerify verifyserver[] =
{
{
"Server",
@@ -54,6 +65,13 @@ static const ConfigurationVerify verifyserver[] =
0
},
{
+ "S3Store",
+ 0,
+ verifys3keys,
+ 0,
+ 0
+ },
+ {
"BackupLocations",
backuplocations,
0,
@@ -62,12 +80,12 @@ static const ConfigurationVerify verifyserver[] =
}
};
-static const ConfigurationVerifyKey verifyrootkeys[] =
+static const ConfigurationVerifyKey verifyrootkeys[] =
{
- ConfigurationVerifyKey("AccountNumber",
- ConfigTest_Exists | ConfigTest_IsUint32),
ConfigurationVerifyKey("UpdateStoreInterval",
ConfigTest_Exists | ConfigTest_IsInt),
+ ConfigurationVerifyKey("BackupErrorDelay",
+ ConfigTest_IsInt, BACKUP_ERROR_RETRY_SECONDS),
ConfigurationVerifyKey("MinimumFileAge",
ConfigTest_Exists | ConfigTest_IsInt),
ConfigurationVerifyKey("MaxUploadWait",
@@ -89,9 +107,6 @@ static const ConfigurationVerifyKey verifyrootkeys[] =
ConfigTest_Exists | ConfigTest_IsInt),
ConfigurationVerifyKey("DiffingUploadSizeThreshold",
ConfigTest_Exists | ConfigTest_IsInt),
- ConfigurationVerifyKey("StoreHostname", ConfigTest_Exists),
- ConfigurationVerifyKey("StorePort", ConfigTest_IsInt,
- BOX_PORT_BBSTORED),
ConfigurationVerifyKey("ExtendedLogging", ConfigTest_IsBool, false),
// extended log to syslog
ConfigurationVerifyKey("ExtendedLogFile", 0),
@@ -102,6 +117,8 @@ static const ConfigurationVerifyKey verifyrootkeys[] =
// enable logging to a file
ConfigurationVerifyKey("LogFileLevel", 0),
// set the level of verbosity of file logging
+ ConfigurationVerifyKey("LogFileOverwrite", ConfigTest_IsBool, false),
+ // overwrite the log file on each backup
ConfigurationVerifyKey("CommandSocket", 0),
// not compulsory to have this
ConfigurationVerifyKey("KeepAliveTime", ConfigTest_IsInt),
@@ -120,13 +137,18 @@ static const ConfigurationVerifyKey verifyrootkeys[] =
ConfigurationVerifyKey("TcpNice", ConfigTest_IsBool, false),
// optional enable of tcp nice/background mode
- ConfigurationVerifyKey("CertificateFile", ConfigTest_Exists),
- ConfigurationVerifyKey("PrivateKeyFile", ConfigTest_Exists),
- ConfigurationVerifyKey("TrustedCAsFile", ConfigTest_Exists),
ConfigurationVerifyKey("KeysFile", ConfigTest_Exists),
- ConfigurationVerifyKey("DataDirectory",
- ConfigTest_Exists | ConfigTest_LastEntry),
+ ConfigurationVerifyKey("DataDirectory", ConfigTest_Exists),
+ // These values are only required for bbstored stores:
+ ConfigurationVerifyKey("StoreHostname", 0),
+ ConfigurationVerifyKey("StorePort", ConfigTest_IsInt,
+ BOX_PORT_BBSTORED),
+ ConfigurationVerifyKey("AccountNumber",
+ ConfigTest_IsUint32),
+ ConfigurationVerifyKey("CertificateFile", 0),
+ ConfigurationVerifyKey("PrivateKeyFile", 0),
+ ConfigurationVerifyKey("TrustedCAsFile", ConfigTest_LastEntry),
};
const ConfigurationVerify BackupDaemonConfigVerify =