X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=ChangeLog;h=a82518dc7916cb33c9b5452cff12baf24ae667fe;hp=ab0bfbf8833fe46c4c55b7ca0efd5583e05c3c92;hb=617af75f7419e95a9c3ea05b05cf21957acc331c;hpb=c56e6b8b68704d7d0e31640cc32b390b7398e5ca diff --git a/ChangeLog b/ChangeLog index ab0bfbf..a82518d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,17 +21,590 @@ # Version __VERSION__, __RELEASEDATE__ #------------------------------------------------------------------------ +* Added configuration and host CGI editor. + +* Added rsync hardlink support. Requires latest version of + File::RsyncP. + +* Decoupled BackupPC_dump from BackupPC_nightly by making + asynchronous file linking/delete robust to race conditions. + Now only BackupPC_nightly and BackupPC_link are mutually + exclusive so only one runs at a time, and BackupPC_dump and + BackupPC_restore can run anytime. + +* Added support for multi-level incrementals. In the style of dump(1), + the level of each incremental can be specified. Each incremental + backups up everything since the most recent backup of a lower level + (fulls are always level 0). Previous behavior was all incrementals + were level 1, meaning they backed up everything since the last full + (level 0). Default configuration is all incrementals are level 1. + +* Server file names are now in utf8 and optional conversion + to/from client name charsets is done. + +* Backup metadata is now additionally saved to pc/HOST/nnn/backupInfo, + in addition to pc/HOST/backups. In case pc/HOST/backups gets trashed, + then a new script BackupPC_fixupBackupSummary can read the per-backup + metadata from pc/HOST/nnn/backupInfo and reconstruct the backups file. + Roberto Moreno also pointed out an early error in the CVS version. + +* In conf/config.pl, changed --devices to -D in $Conf{RsyncArgs} + and $Conf{RsyncRestoreArgs} to fix "fileListReceive failed" and + "Can't open .../f%2f for empty output" errors with rsync 2.6.7+. + Fix proposed by Justin Pessa and Vincent Ho, and confirmed by + Dan Niles. + +* Added Storage module and Storage::Text which localizes all the + text data file reading/writing (eg: backups, restores, archives + and config.pl files). Added read verify after all write + operations for robustness. Additional backends (eg: SQL) + can be added in the future as new subclasses of the Storage + module. + +* Added Config module, and Config::Meta that contains meta data + about configuration parameters. + +* Added Slackware init.d script from Tony Nelson. + +* Fixed error reporting when restore/archive fail to write the + request file to the client directory. + +* Applied patch from Marc Prewitt for DumpPreShareCmd and DumpPostShareCmd. + +* Added checking of exit status of Dump/Restore/Archive Pre/Post UserCmd, + requested by Kiko Jover, Matthias Bertschy and others. + +* Apply patch from Pete Wenzel to add smbClientPath => $Conf{SmbClientPath} + to DumpPreUserCmd etc. + +* Added Portuguese Brazillian pt_br.pm from Reginaldo Ferreira. + +* Jean-Michel Beuken reported several bugs in configure.pl in CVS 3.0.0. + +* Old backup email warnings now ignore partials requested by Samuel Bancal + +* Applied patch to bin/BackupPC_sendEmail from Marc Prewitt that + ignores any file starting with "." in the pc directory when + it is generating warnings about old/unused files/directories. + +* Applied patch from Marc Prewitt to fix host queue order. + +* Applied Lorenzo Cappelletti's it.pm patch. + +* Applied Wander Winkelhorst's nl.pm patch. + +* Applied Alberto Marconi's it.pm patch. + +* Add NT_STATUS_FILE_LOCK_CONFLICT to pst read error check in + BackupPC_sendEmail to fix bug reported by Dale Renton. + +* Added fixup of $ENV{REMOTE_USER} to lib/BackupPC/CGI/Lib.pm in the + case of using mod_authz_ldap; patch submitted by Alain Perrier. + +* Added env LC_ALL=C to $Conf{TarClientCmd} and $Conf{TarClientRestoreCmd} + to avoid locale problems, suggested by Ludovic Drolez. + +* Changed ping output parsing to pick out average rtt time, based + on patch from Ron Bickers. + +* Removed leading "./" and top-level "./" directory from + zip archives generated by BackupPC_zipCreate. Reported + by Josh (hecktarzuli). + +* BackupPC_tarCreate and BackupPC_zipCreate now allow "@" + in share names. Reported by Robert Waldner. + +* NT_STATUS_INSUFF_SERVER_RESOURCES is now a fatal error for + smbclient transfers, suggested by Brian Shand. + +* Changed bin/BackupPC_archiveHost to use /bin/csh instead of + /bin/sh. That way any errors in the pipeline are reported + via the exit status, instead of just the last. + +* Added $Conf{EMailHeaders} for additional email headers, requested + by Ludovic Gasc. + +* Made shareName argument regexp checking more general to allow parens. + +* Added some debian init.d instructions to init.d/README from + Bob de Wildt. + +* Documentation updates from Richard Ames, JP Vossen, Torsten Finke. + +#------------------------------------------------------------------------ +# Version 2.1.2pl1, __RELEASEDATE__ +#------------------------------------------------------------------------ + +* Added patch from Michael (mna.news) to ignore "file is unchanged" + message from tar 1.15.x during incremental backups. + +* Fixed creation of .rsrc directories in bin/BackupPC_tarExtract + when used with xtar on MacOS. Reported by Samuel Bancal and + Matthew Radey, who helped with debugging. + +* Fixed bug in BackupPC_tarExtract for files >8GB in size whose + lengths are multiples of 256. Reported by Jamie Myers and + Marko Tukiainen, who both helped debugging the problem. + +* Fixed bug in lib/BackupPC/Xfer/RsyncFileIO.pm that caused + incorrected deleted attributes to be set in directories + where one of the files had an rsync phase 1 retry during + an incremental. Reported by Tony Nelson. + +#------------------------------------------------------------------------ +# Version 2.1.2, 5 Sep 2005 +#------------------------------------------------------------------------ + +* Fixed simple but serious bug in bin/BackupPC_tarCreate that prevented + hardlinks being saved correctly. Debugged by Michael (mna.news) + with several other people. + +* Fixed serious bug in bin/BackupPC_dump reported/debugged by Dan Niles + that can happen when multiple full backups are deleted after + $Conf{FullKeepCnt} is changed. + +* Changed lib/BackupPC/CGI/Lib.pm so that link to "$TopDir/conf/$host.pl" + is displayed if it exists. Patch from Andreas Vögele. + +* Applied daemonize patch to bin/BackupPC from: + http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=301057 + +* It's now a fatal error if $Conf{CompressLevel} is set, but + Compress::Zlib is not found. Before $Conf{CompressLevel} was + silently set to 0, which made all the backups uncompressed. + That meant the user never knew if they forget to install + Compress::Zlib but were expecting compression to be on. + +* Finally increased $Conf{ClientTimeout} to 72000 (20 hours). + +* Added sleep 1 in restart() function in init.d/src/gentoo-backuppc, + suggested by Jon Hood. + +* Added $DestDir to the path of the CGI image directory in configure.pl. + Patch submitted by Andreas Vögele. + +* Applied extensive patch to French translation from Frederic Lehobey. + +* Minor change to Dutch language $Lang{Pool_Stat} from Wander Winkelhorst. + +* Minor change to French language $Lang{EMailOutlookBackupMesg} and + $Lang{EMailOutlookBackupSubj} from Ludovic Gasc. + +#------------------------------------------------------------------------ +# Version 2.1.1, 13 Mar 2005 +#------------------------------------------------------------------------ + + * Fixed bug in top-level restore using rsync XferMethod. + BackupPC::View was leaving an extra leading "/" at the start + of top-level directories, messing up the FileList sort order. + Reported and debugged by Gail Edwards. + + * Added pathCreate() to BackupPC_tarExtract so that new directories + are created. Required for xtar on MacOSX since the virtual resource + fork directories (.rsrc) are not explicitly included in the tar + archive - just the files below .rsrc are. + + * Changed $host.$bkupNum.tar$fileExt.* to $host.$bkupNum.tar$fileExt* + in $parCmd in bin/BackupPC_archiveHost. + + * Fixed HostSortCompare() in BackupPC to correctly sort hosts so + those with the oldest backups get queued first. + + * Changed test in BackupPC_sendEmail so that directories/files + starting with "." in $TopDir/pc are ignored, rather than + just "." and "..". + + * Changed BackupPC_sendEmail to include NT_STATUS_FILE_LOCK_CONFLICT + in check for bad outlook files. + + * Ensure that %Status and %StatusHost are empty if requesting + status on hosts in lib/BackupPC/CGI/Lib.pm GetStatusInfo(). + Fixes problem with new hosts under mod_perl. + + * Added images/icon-hardlink.gif so that hardlinks show file type icon. + +#------------------------------------------------------------------------ +# Version 2.1.0pl1, 15 Aug 2004 +#------------------------------------------------------------------------ + +* Added fix to nl.pm from Lieven Bridts. + +* Added patch from Tony Nelson to remove $Info{pid} before BackupPC + writes the status and shuts down. + +* Changed BackupPC_nightly so that it doesn't call find() if the + directory doesn't exist. This avoids errors in certain versions + of perl. Reported by Bernd Rilling. + +* Fixed BackupPC::CGI::Lib to correctly re-load config.pl for mod_perl. + Reported by Tony Nelson and Jimmy Liang. + +* Explicitly untaint $In{host} in BackupPC::CGI::Lib to fix problem + reported by Thomas Tempé. + +* Added newline to "...skipping because of user requested delay..." + log message in BackupPC_dump. Reported by Wayne Scott. + +* Added read file size error checking to BackupPC_tarCreate. + Reported by Brandon Evans. + +* Added check in BackupPC::Xfer::RsyncFileIO to ensure that when + compression is toggled on/off, a compressed backup doesn't link + to an uncompressed pool file (and an uncompressed backup doesn't + link to a compressed pool file). Reported by Brandon Evans. + +* Updated documentation with new dirvish URL and a typo from + Todd Curry. + +* Fix to BackupPC_sendEmail so that it correctly sends admin emails + for hosts that have failed backups. Reported by Simon Kuhn. + +#------------------------------------------------------------------------ +# Version 2.1.0, 20 Jun 2004 +#------------------------------------------------------------------------ + +* Added Dutch translation from Lieven Bridts, with tweaks from + Guus Houtzager. + +* Added PC-specific config file read in CGI/Archive.pm. Patch + from Pete Wenzel. + +* Added non-zero exit code to BackupPC_zcat when uncompress fails. + Patch from Pete Wenzel. + +* Cosmetic changes to PC Summary and Log file language strings from + Pete Wenzel. + +* BackupPC::Lib tries to be more careful when renaming the backups + file to backups.old. There have been reports of backups being + empty, perhaps when the BackupPC data file system fills up. + Now backups is not renamed to backups.old if backups is empty. + +* BackupPC now closes stderr and stdout before renaming and + re-opening the log file. + +* Pre/post backup/restore/archive commands now correctly set + "type" to either incr/full/restore/archive, and now cmdType + is the type of Pre/post backup/restore/archive command. + +* BackupPC_archive correctly terminates archive processes on + alarm or cancel. + +* Updates to BackupPC_stnd.css with absolute font sizes instead + of relative. + +* BackupPC_dump now makes sure that the $Conf{FullAgeMax} check + also ensures the full backup is older than the maximum age + expected from $Conf{FullPeriod}. + +#------------------------------------------------------------------------ +# Version 2.1.0beta2pl1, 30 May 2004 +#------------------------------------------------------------------------ + +* Fixed bug in rsync checksum caching code in BackupPC::Xfer::RsyncDigest. + +* BackupPC_zipCreate now ensures the earliest mtime is 1/1/1980, + since zip file formats don't support earlier dates. Reported + by Dan Niles. + +* CGI restore via zip and tar now makes sure stderr is ignored + when BackupPC_tarCreate and BackupPC_zipCreate are run. + Previously any stderr output would get mixed in the archive, + corrupting it. Reported by Dan Niles. + +#------------------------------------------------------------------------ +# Version 2.1.0beta2, 23 May 2004 +#------------------------------------------------------------------------ + +* $Conf{BackupFilesOnly} and $Conf{BackupFilesExclude} now apply + to every share, rather than just the first, in the case where + they are arrays and there are multiple shares. Suggested + by Andy Evans. + +* On the phase 2 retry pass with rsync, verify the cached checksums + if checksum caching is turned on. This will catch the case of + cached checksums being incorrectly appended to the compressed + pool file. Added new config parameter $Conf{RsyncCsumCacheVerifyProb} + so that cached checksums are verified with a selectable probability. + Also, increased File::RsyncP version number to 0.51. + +* configure.pl now supports an optional batch mode. Command-line + options are used to specify all the information that configure.pl + needs. This is useful for building auto-install packages. + Also, configure.pl now includes pod documentation, so you can do + "perldoc configure.pl" to see all the command-line options. + Suggested, tested and tweaked by Stuart Herbert for possible + Gentoo inclusion. + +* At each wakeup, clients are now queued based on how old the most + recent backup is. Clients with errors are queued first, with + the oldest error times going first. The rest of the clients are + queued next, with the clients with the oldest backup going first. + Previously the clients were simply queued in alphabetic order. + Suggested by Mike Trisko and Tony Nelson. + +* Added config parameter $Conf{PartialAgeMax} that controls whether + partials are saved at all, and if so, whether the partial will be + ignored at the next full backup if it is too old. + +* BackupPC_tarExtract now allows empty archives without reporting + an error. Reported by Don Silvia. + +* Removed Browse Backups link from Nav Bar in Archive Info display. + Reported by Ralph Paßgang. + +* Fixed documentation display for regular users. Reported by Ralph Paßgang. + +* Status and PC Summary now work for regular users and only show + that user's hosts. Server general status information only appears + for admins. Suggested by Ralph Paßgang. + +* Moved the last three navigation-bar links (docs, FAQ and SF) to + a new config parameter $Conf{CgiNavBarLinks}. This allows + these links to be locally configured. Based on a patch + submitted by Ralph Paßgang. + +* Allow the navigation bar search box to be disabled by + setting $Conf{CgiSearchBoxEnable} to 0. Based on a patch + submitted by Ralph Paßgang. + +* Updates to de.pm from Ralph Paßgang. + +* Made the BackupPC icon a link to the SF BackupPC project page. + +#------------------------------------------------------------------------ +# Version 2.1.0beta1, 4 Apr 2004 +#------------------------------------------------------------------------ + +* The CSS definition has been removed from the config.pl file and + is now a separate file, BackupPC_stnd.css. A new config variable, + $Conf{CgiCSSFile}, gives the name of the CSS file to use. + Suggested by Ender Mathias. + +* Fixed the filling of the host name select box for admins. + The default $Conf{CgiNavBarAdminAllHosts} is now 1. + Reported by Doug Lytle. + +* Cleaned up warning message for restore using rsync when checksum + caching is on, but when file didn't have cached checksums. + +* Fixed BackupPC_archiveHost to support par2 (par2cmdline). + Patch submitted by Jaco Bongers and adapted by Josh Marshall. + +* Improved stat() usage in BackupPC_nightly, plus some other cleanup, + giving a significant performance improvement. Patch submitted by + Wayne Scott. + +* Allow several BackupPC_nightly processes to run in parallel based + on new $Conf{BackupPCNightlyJobs} setting. This speeds up the + traversal of the pool, reducing the overall run time for + BackupPC_nightly. + +* Allow BackupPC_nightly to split the pool traversal across several + nightly runs. This improves the running time per night, at the expense + of a slight increase in disk storage as unused pool files might not + be deleted for a couple of days. Controller by new config setting + $Conf{BackupPCNightlyPeriod}. + +#------------------------------------------------------------------------ +# Version 2.1.0beta0, 20 Mar 2004 +#------------------------------------------------------------------------ + +* A failed full dump is now saved as a partial (incomplete) dump, + provided it includes some files. This can be used for browsing, + restoring etc, and will also form the basis of resuming full + dumps. Only one partial is kept, and it is removed as soon + as a successful full (or a new partial) is done. + +* Added support for resuming a full dump for rsync. The partial + full is kept, and to resume an incremental is done against the + partial, and a full is done for the rest. + +* Added support for Rsync checksum caching. Rsync checksum are + appended to the compressed pool files. This means that block + and file checksums do not need to be recomputed on the server + when using rsync. Requires a patch to rsync to support fixed + checksum seeds. This patch is included in the cygwin-rsyncd + release on http://backuppc.sourceforge.net. + +* Major addition of Archive feature from Josh Marshall. Special + clients can be configured to be archive targets (eg: tape drives, + CD-R). Any subset of the backup clients can be selected and tar + archives are created, optionally compressed and split and written + to the output device. Logs are maintained and are browsable. + +* Major changes from Ryan Kucera to add style sheets to the CGI + interface, allowing easy customization. Added new icons and + BackupPC logo. Numerous navigation improvements. + +* Added directory history display to BackupPC_Admin, allowing the + user to quickly see which files changed between backups on a + per-directory basis. + +* Added exponential expiry option for full dumps. This allows you + to specify + + - how many fulls to keep at intervals of $Conf{FullPeriod}, followed by + - how many fulls to keep at intervals of 2 * $Conf{FullPeriod}, + - how many fulls to keep at intervals of 4 * $Conf{FullPeriod}, + - how many fulls to keep at intervals of 8 * $Conf{FullPeriod}, + - how many fulls to keep at intervals of 16 * $Conf{FullPeriod}, + + and so on. This allows you, for example, to keep 4 weekly fulls, + followed by 6 fulls every 4 weeks (approx 1 month) and 2 fulls at + 16 weeks, for roughly 1 year of history. This works by deleting + every other full as each expiry boundary is crossed. Suggested + by David Cramblett. + +* Added Italian language translation it.pm from Lorenzo Cappelletti. + +* Major updates to language files for new features and tags changes. + Updated makeDist to do pedantic consistency checking of language + files. + +* Addition of administration options from Paul Lukins. Initial + page allows server to be started/stopped/reloaded. This still + needs some i18n work. Currently the server start/stop is + commented out. + * Split BackupPC_Admin into a set of modules, one for each major action. Each action is now a seperate module in lib/BackupPC/CGI. -* Added directory history display to BackupPC_Admin, allowing the - user to quickly see which files changed between backups. +* Allow the blackout period begin/end to span midnight. Adapted + from patch submitted by David Smith. + +* Allow multiple blackout periods, with new config variable + $Conf{BlackoutPeriods} that replaces the old variables + $Conf{BlackoutHourBegin}, $Conf{BlackoutHourEnd}, and + $Conf{BlackoutWeekDays}. Based on patch submitted by + Lorenzo Cappelletti. + +* Disabled alarms after forks to avoid timeouts in children that + do not reset their alarm. Prompted by ideas from James Leu. + +* Added options for block size, buffer size and share wild-card to + BackupPC_tarCreate. Also added negative backup number options + that are relative to the last (so -1 is the last), suggested by + William McKee and Carl Soderstrom. + +* The "Wrong user" message in BackupPC::Lib now goes to stderr, so that + the user is more likely to see the error with BackupPC_tarCreate. + Reported by Paul Fox. + +* Add creation of per-PC directory in BackupPC/CGI/Restore.pm in + case it doesn't already exist. + +* Added -q -x to all ssh commands in conf/config.pl. Suggested by + SI Reasoning and Niranjan Ghate. + +* Changed restore code so that option #1 (direct restore) can be + disabled if the restore command is undefined. Disabling direct + restore is necessary if the share is read-only. Suggested by + Rich B from SAIC. + +* Changed regexp in lib/BackupPC/Smb.pm to allow numbers with both + a decimal point or comma for international versions of Samba. + Patch submitted by Frank Gard. + +* Browsing and directory history now sort the files in a + case-insensitive manner. + +* Changed exec() syntax to allow executing commands whose path + contains spaces. + +* BackupPC_dump no longer removes backups if $Conf{FullKeepCnt} + is zero or undefined. The protects the existing backups in the + case of a bad config.pl file. Suggested by Christian Warden. * Swapped the Server and Hosts sections on the Nav bar. Moved the host search text box to the top of the hosts section. This was done to move the variable-length part of the Nav bar (when all hosts are displayed) to the bottom. +* Fixed a bug in tar restore related to how the common prefix path is + removed. Now ensure that the common path is at a directory boundary. + Reported by Patrick Neuner. + +* Added --chuid ${USER} to init.d/src/gentoo-backuppc. Suggested by + SI Reasoning, Pascal Pochol, Michael Evanoff and others. + +* Added Suse notes to init.d/README from Bruno Vernay. + +* Added Apache 2 documentation fix from Michael Tuzi. + +#------------------------------------------------------------------------ +# Version 2.0.2, 6 Oct 2003 +#------------------------------------------------------------------------ + +* Fixed stupid last-minute change in octal size conversion in + Backup_tarExtract. + +#----------------------------------------------------------------------- +# Version 2.0.1, 5 Oct 2003 +#------------------------------------------------------------------------ + +* Fixed handling of >= 8GB files in BackupPC_tarExtract and >= 4GB + files in BackupPC_tarCreate. + +* Removed smbclient size repair in BackupPC_tarExtract for files + between 2GB and 4GB. This means that BackupPC_tarExtract 2.0.1 + doesn't behave the same as 2.0.0 for file sizes between 2GB and 4GB + extacted using smbclient 2.2.x. If you have problems backing up + files whose size is between 2GB and 4GB using smbclient 2.2.x + you should upgrade smbclient to 3.0, since it now generates + correct file sizes. + +* Replace PingClientPath with PingPath in configure.pl. + +* Removed -T (taint mode) on binaries installed in configure.pl. + +* Added support for smbclient from samba version 3.0.0. + +* Fixed $Conf{HardLinkMax} limit check in BackupPC::Lib; reported + by Ross Skaliotis. + +* In BackupPC_Admin, default REMOTE_USER to $Conf{BackupPCUser} + if it is not defined. This allows the CGI interface to work + when AdminUsers = '*'. Reported by Quentin Arce. + +* For SMB, code that detected files with a read-locked region (eg: + outlook .pst files), removed them and then tried to link with an + earlier version was broken. This code missed a step of mangling + the file names. This is now fixed. Reported by Pierre Bourgin. + +* A backup of a share that has zero files is now considered + fatal. This is used to catch miscellaneous Xfer errors that + result in no files being backed up. A new config parameter + $Conf{BackupZeroFilesIsFatal} (defaults to 1) and can be set to + zero to turn off this check. Suggested by Guillaume Filion. + Additional change: this check only applies to a full dump. + +* SMB: now detect NT_STATUS_ACCESS_DENIED on entire share or BackupFilesOnly + (also ERRDOS - ERRnoaccess (Access denied.) for older versions of + smbclient.) Suggested by Guillaume Filion. + +* SMB: now detects "tree connect failed: NT_STATUS_BAD_NETWORK_NAME" and + the dump is considered failed. + +* Rsync: Previously BackupFilesOnly = '/' did --include '/' --exclude '/*', + which just included the '/' directory and nothing below. Now it + does just --include '/', which should include everything. + Reported by denon. + +* Add hostError to DumpPostUserCmd variable substitutions for both dump + and restore. + +* Verbose output in Lib.pm goes to STDERR, not STDOUT. This now + makes BackupPC_dump -v work better. + +* Don't allow browsing with ".." in directory in case a user tries + to trick BackupPC_Admin into displaying directories outside where + they are allowed. + +* Required File::RsyncP version is now 0.44, since File::RsyncP 0.44 + fixes large file (>2GB) bugs. Large file bugs reported by Steve + Waltner. + #------------------------------------------------------------------------ # Version 2.0.0, 14 Jun 2003 #------------------------------------------------------------------------