X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FConfig%2FMeta.pm;h=dab46a9d225c1ae5f342cbd18ea0c693976947a7;hp=7995169b2b639edc5e69adf8ee810caa6c211414;hb=f6fbcc3682d2bc9e7dfdc26e95bd5fcdb359496d;hpb=fad8dd470868fb4db332cb8214852783e8c6e75b diff --git a/lib/BackupPC/Config/Meta.pm b/lib/BackupPC/Config/Meta.pm index 7995169..dab46a9 100644 --- a/lib/BackupPC/Config/Meta.pm +++ b/lib/BackupPC/Config/Meta.pm @@ -10,7 +10,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2004 Craig Barratt +# Copyright (C) 2004-2007 Craig Barratt # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ # #======================================================================== # -# Version 2.1.0, released 20 Jun 2004. +# Version 3.2.0beta0, released 5 April 2009. # # See http://backuppc.sourceforge.net. # @@ -80,17 +80,18 @@ use vars qw(%ConfigMeta); MaxBackupPCNightlyJobs => "integer", BackupPCNightlyPeriod => "integer", MaxOldLogFiles => "integer", + CmdQueueNice => "integer", - SshPath => {type => "string", undefIfEmpty => 1}, - NmbLookupPath => {type => "string", undefIfEmpty => 1}, - PingPath => {type => "string", undefIfEmpty => 1}, - DfPath => {type => "string", undefIfEmpty => 1}, + SshPath => {type => "execPath", undefIfEmpty => 1}, + NmbLookupPath => {type => "execPath", undefIfEmpty => 1}, + PingPath => {type => "execPath", undefIfEmpty => 1}, + DfPath => {type => "execPath", undefIfEmpty => 1}, DfCmd => "string", - SplitPath => {type => "string", undefIfEmpty => 1}, - ParPath => {type => "string", undefIfEmpty => 1}, - CatPath => {type => "string", undefIfEmpty => 1}, - GzipPath => {type => "string", undefIfEmpty => 1}, - Bzip2Path => {type => "string", undefIfEmpty => 1}, + SplitPath => {type => "execPath", undefIfEmpty => 1}, + ParPath => {type => "execPath", undefIfEmpty => 1}, + CatPath => {type => "execPath", undefIfEmpty => 1}, + GzipPath => {type => "execPath", undefIfEmpty => 1}, + Bzip2Path => {type => "execPath", undefIfEmpty => 1}, DfMaxUsagePct => "float", TrashCleanSleepSec => "integer", DHCPAddressRanges => { @@ -99,6 +100,7 @@ use vars qw(%ConfigMeta); child => { type => "hash", noKeyEdit => 1, + order => [qw(ipAddrBase first last)], child => { ipAddrBase => "string", first => "integer", @@ -109,7 +111,10 @@ use vars qw(%ConfigMeta); BackupPCUser => "string", CgiDir => "string", InstallDir => "string", - BackupPCUserVerify => "integer", + TopDir => "string", + ConfDir => "string", + LogDir => "string", + BackupPCUserVerify => "boolean", HardLinkMax => "integer", PerlModuleLoad => { type => "list", @@ -135,22 +140,33 @@ use vars qw(%ConfigMeta); IncrKeepCnt => "integer", IncrKeepCntMin => "integer", IncrAgeMax => "float", + IncrLevels => { + type => "shortlist", + child => "integer", + }, PartialAgeMax => "float", - IncrFill => "integer", + BackupsDisable => "integer", + IncrFill => "boolean", RestoreInfoKeepCnt => "integer", ArchiveInfoKeepCnt => "integer", BackupFilesOnly => { - type => "list", - emptyOk => 1, - undefIfEmpty => 1, - child => "string", + type => "hash", + emptyOk => 1, + childType => { + type => "list", + emptyOk => 1, + child => "string", + }, }, BackupFilesExclude => { - type => "list", - emptyOk => 1, - undefIfEmpty => 1, - child => "string", + type => "hash", + emptyOk => 1, + childType => { + type => "list", + emptyOk => 1, + child => "string", + }, }, BlackoutBadPingLimit => "integer", @@ -172,28 +188,37 @@ use vars qw(%ConfigMeta); }, }, - BackupZeroFilesIsFatal => "integer", + BackupZeroFilesIsFatal => "boolean", ###################################################################### # How to backup a client ###################################################################### XferMethod => { type => "select", - values => [qw(archive rsync rsyncd smb tar)], + values => [qw(archive ftp rsync rsyncd smb tar)], }, XferLogLevel => "integer", + ClientCharset => "string", + ClientCharsetLegacy => "string", + + ###################################################################### + # Smb Configuration + ###################################################################### SmbShareName => { type => "list", child => "string", }, SmbShareUserName => "string", SmbSharePasswd => "string", - SmbClientPath => {type => "string", undefIfEmpty => 1}, + SmbClientPath => {type => "execPath", undefIfEmpty => 1}, SmbClientFullCmd => "string", SmbClientIncrCmd => "string", - SmbClientRestoreCmd => "string", + SmbClientRestoreCmd => {type => "string", undefIfEmpty => 1}, + ###################################################################### + # Tar Configuration + ###################################################################### TarShareName => { type => "list", child => "string", @@ -201,9 +226,12 @@ use vars qw(%ConfigMeta); TarClientCmd => "string", TarFullArgs => "string", TarIncrArgs => "string", - TarClientRestoreCmd => "string", + TarClientRestoreCmd => {type => "string", undefIfEmpty => 1}, TarClientPath => {type => "string", undefIfEmpty => 1}, + ###################################################################### + # Rsync Configuration + ###################################################################### RsyncShareName => { type => "list", child => "string", @@ -212,35 +240,69 @@ use vars qw(%ConfigMeta); RsyncClientCmd => "string", RsyncClientRestoreCmd => "string", + ###################################################################### + # Rsyncd Configuration + ###################################################################### RsyncdClientPort => "integer", + RsyncdUserName => "string", RsyncdPasswd => "string", - RsyncdAuthRequired => "integer", + RsyncdAuthRequired => "boolean", + ###################################################################### + # Rsync(d) Options + ###################################################################### RsyncCsumCacheVerifyProb => "float", RsyncArgs => { - type => "list", - emptyOk => 1, - child => "string", + type => "list", + emptyOk => 1, + child => "string", + }, + RsyncArgsExtra => { + type => "list", + emptyOk => 1, + child => "string", }, RsyncRestoreArgs => { - type => "list", - emptyOk => 1, - child => "string", + type => "list", + emptyOk => 1, + undefIfEmpty => 1, + child => "string", + }, + + ###################################################################### + # FTP Configuration + ###################################################################### + FtpShareName => { + type => "list", + child => "string", }, + FtpUserName => "string", + FtpPasswd => "string", + FtpBlockSize => "integer", + FtpPort => "integer", + FtpTimeout => "integer", + FtpFollowSymlinks => "boolean", + FtpRestoreEnabled => "boolean", + ###################################################################### + # Archive Configuration + ###################################################################### ArchiveDest => "string", ArchiveComp => { type => "select", values => [qw(none bzip2 gzip)], }, - ArchivePar => "integer", + ArchivePar => "boolean", ArchiveSplit => "float", ArchiveClientCmd => "string", + ###################################################################### + # Other Client Configuration + ###################################################################### NmbLookupCmd => "string", NmbLookupFindHostCmd => "string", - FixedIPNetBiosNameCheck => "integer", + FixedIPNetBiosNameCheck => "boolean", PingCmd => "string", PingMaxMsec => "float", @@ -258,6 +320,7 @@ use vars qw(%ConfigMeta); RestorePostUserCmd => {type => "string", undefIfEmpty => 1}, ArchivePreUserCmd => {type => "string", undefIfEmpty => 1}, ArchivePostUserCmd => {type => "string", undefIfEmpty => 1}, + UserCmdCheckStatus => "boolean", ClientNameAlias => {type => "string", undefIfEmpty => 1}, @@ -265,7 +328,7 @@ use vars qw(%ConfigMeta); # Email reminders, status and messages # (can be overridden in the per-PC config.pl) ###################################################################### - SendmailPath => {type => "string", undefIfEmpty => 1}, + SendmailPath => {type => "execPath", undefIfEmpty => 1}, EMailNotifyMinDays => "float", EMailFromUserName => "string", EMailAdminUserName => "string", @@ -278,6 +341,7 @@ use vars qw(%ConfigMeta); EMailNotifyOldOutlookDays => "float", EMailOutlookBackupSubj => {type => "string", undefIfEmpty => 1}, EMailOutlookBackupMesg => {type => "bigstring", undefIfEmpty => 1}, + EMailHeaders => {type => "bigstring", undefIfEmpty => 1}, ###################################################################### # CGI user interface configuration settings @@ -285,12 +349,15 @@ use vars qw(%ConfigMeta); CgiAdminUserGroup => "string", CgiAdminUsers => "string", CgiURL => "string", - Language => "string", + Language => { + type => "select", + values => [qw(de en es fr it nl pl pt_br zh_CN)], + }, CgiUserHomePageCheck => "string", CgiUserUrlCreate => "string", CgiDateFormatMMDD => "integer", - CgiNavBarAdminAllHosts => "integer", - CgiSearchBoxEnable => "integer", + CgiNavBarAdminAllHosts => "boolean", + CgiSearchBoxEnable => "boolean", CgiNavBarLinks => { type => "list", emptyOk => 1, @@ -313,6 +380,8 @@ use vars qw(%ConfigMeta); Reason_no_ping => "string", Reason_backup_canceled_by_user => "string", Status_backup_in_progress => "string", + Disabled_OnlyManualBackups => "string", + Disabled_AllBackupsDisabled => "string", }, }, CgiHeaders => "bigstring", @@ -324,6 +393,7 @@ use vars qw(%ConfigMeta); }, CgiImageDirURL => "string", CgiCSSFile => "string", + CgiUserConfigEditEnable => "boolean", CgiUserConfigEdit => { type => "hash", noKeyEdit => 1, @@ -336,41 +406,77 @@ use vars qw(%ConfigMeta); IncrKeepCnt => "boolean", IncrKeepCntMin => "boolean", IncrAgeMax => "boolean", + IncrLevels => "boolean", PartialAgeMax => "boolean", IncrFill => "boolean", RestoreInfoKeepCnt => "boolean", ArchiveInfoKeepCnt => "boolean", BackupFilesOnly => "boolean", BackupFilesExclude => "boolean", + BackupsDisable => "boolean", BlackoutBadPingLimit => "boolean", BlackoutGoodCnt => "boolean", BlackoutPeriods => "boolean", BackupZeroFilesIsFatal => "boolean", XferMethod => "boolean", XferLogLevel => "boolean", + ClientCharset => "boolean", + ClientCharsetLegacy => "boolean", SmbShareName => "boolean", SmbShareUserName => "boolean", SmbSharePasswd => "boolean", + SmbClientFullCmd => "boolean", + SmbClientIncrCmd => "boolean", + SmbClientRestoreCmd => "boolean", TarShareName => "boolean", TarFullArgs => "boolean", TarIncrArgs => "boolean", + TarClientCmd => "boolean", + TarClientPath => "boolean", + TarClientRestoreCmd => "boolean", RsyncShareName => "boolean", RsyncdClientPort => "boolean", + RsyncdUserName => "boolean", RsyncdPasswd => "boolean", RsyncdAuthRequired => "boolean", RsyncCsumCacheVerifyProb => "boolean", RsyncArgs => "boolean", + RsyncArgsExtra => "boolean", RsyncRestoreArgs => "boolean", + RsyncClientCmd => "boolean", + RsyncClientPath => "boolean", + RsyncClientRestoreCmd => "boolean", + FtpShareName => "boolean", + FtpUserName => "boolean", + FtpPasswd => "boolean", + FtpBlockSize => "boolean", + FtpPort => "boolean", + FtpTimeout => "boolean", + FtpFollowSymlinks => "boolean", + FtpRestoreEnabled => "boolean", ArchiveDest => "boolean", ArchiveComp => "boolean", ArchivePar => "boolean", ArchiveSplit => "boolean", + ArchiveClientCmd => "boolean", FixedIPNetBiosNameCheck => "boolean", PingMaxMsec => "boolean", + NmbLookupCmd => "boolean", + NmbLookupFindHostCmd => "boolean", + PingCmd => "boolean", ClientTimeout => "boolean", MaxOldPerPCLogFiles => "boolean", CompressLevel => "boolean", ClientNameAlias => "boolean", + DumpPreUserCmd => "boolean", + DumpPostUserCmd => "boolean", + RestorePreUserCmd => "boolean", + RestorePostUserCmd => "boolean", + ArchivePreUserCmd => "boolean", + ArchivePostUserCmd => "boolean", + DumpPostShareCmd => "boolean", + DumpPreShareCmd => "boolean", + UserCmdCheckStatus => "boolean", EMailNotifyMinDays => "boolean", EMailFromUserName => "boolean", EMailAdminUserName => "boolean", @@ -383,6 +489,26 @@ use vars qw(%ConfigMeta); EMailNotifyOldOutlookDays => "boolean", EMailOutlookBackupSubj => "boolean", EMailOutlookBackupMesg => "boolean", + EMailHeaders => "boolean", + }, + }, + + ###################################################################### + # Fake config setting for editing the hosts + ###################################################################### + Hosts => { + type => "list", + emptyOk => 1, + child => { + type => "horizHash", + order => [qw(host dhcp user moreUsers)], + noKeyEdit => 1, + child => { + host => { type => "string", size => 20 }, + dhcp => { type => "boolean" }, + user => { type => "string", size => 20 }, + moreUsers => { type => "string", size => 30 }, + }, }, }, );