diff options
Diffstat (limited to 'lib/backupclient/BackupDaemonConfigVerify.cpp')
-rw-r--r-- | lib/backupclient/BackupDaemonConfigVerify.cpp | 52 |
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 = |