# Version __VERSION__, __RELEASEDATE__
#------------------------------------------------------------------------
-* Support for rsync and rsyncd. Changes to BackupPC_dump and new
- modules BackupPC::Xfer::Rsync and BackupPC::Xfer::RsyncFileIO.
+* 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.
+
+* 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
+#------------------------------------------------------------------------
+
+* Minor tweaks to disable utf8 on utf8-capable machines (eg: RH8+).
+ Added "no utf8" to all programs, and added binmode() to relevant
+ file handles.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta3, 1 Jun 2003
+#------------------------------------------------------------------------
+
+* Several improvements to restore: cancel now reports the correct
+ message and cleans up correctly.
+
+* Rsync with whitespace and wildcard excludes fixed by replacing
+ argList with argList+ in config.pl plus a fix to Lib.pm for
+ shell escaping array arguments.
+
+* Fixed rsync restore for character and block special devices
+ (major and minor device numbers weren't correctly restored).
+
+* Fixed typo in bin/BackupPC_restore (XferLOG -> RestoreLOG).
+
+* (Re)-fixed "Bad command" in log file when restore via tar or zip
+ file download is done.
+
+* Added untaint to exec in Lib.pm to avoid tainted errors.
+
+* Applied additional tweak to hilight patch from Tim Demarest.
+
+* $Conf{CgiAdminUsers} = '*' now allows privileged even with REMOTE_USER
+ not set.
+
+* Don't display RsyncdPasswd when displaying config.pl files.
+
+* Replace pipe with socketpair in bin/BackupPC_dump and bin/BackupPC_restore,
+ which increases typical buffering from 4K to 16K-64K. This improves the
+ performance.
+
+* Add check on $ENV{LANG} setting do configure.pl: if LANG includes utf
+ then a warning is printed.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta2, 11 May 2003
+#------------------------------------------------------------------------
+
+* Added German translation, provided by Manfred Herrmann.
+
+* Fixed large-file problem with rsync, reported by Manfred Herrmann.
+
+* Fixed zip and tar file download from CGI under mod_perl. Reported
+ by Pierre Bourgin and Paul Lukins.
+
+* Fixed directory browsing and top-level directory browsing in 2.0.0beta0.
+ Reported by several users.
+
+* Added -v option to BackupPC_dump for verbose output (useful when
+ you run the command manually). Added messages for all exits.
+
+* If nmblookup returns multiple IP addresses, NetBiosHostIPFind()
+ now returns the first IP address that matches the subnet mask.
+ Suggested by Tim Demarest.
+
+* Fixed BackupPC::View so the top-level directory is handled correctly.
+ This allows the top-level share/directory to be restored via the
+ CGI interface. Reported by several users.
+
+* Fixed RsyncFileIO failures on certain large files by replacing seek()
+ with sysseek(). Reported by Manfred Herrmann.
+
+* Added configurable highlighting of PC status in the CGI summary
+ screen; submitted by Tim Demarest.
+
+* Fixed command queue CGI display; submitted by Tim Demarest.
+
+* BackupPC_trashClean now logs an error if it can't remove all the
+ trash and then goes back to sleep, rather than continually trying.
+
+* Moved correct user (uid) check into BackupPC::Lib so that all
+ applications do a user check if $Cong{BackupPCUserVerify} is
+ set. The avoids the risk of manually running BackupPC_dump as
+ the wrong user.
+
+* Loss of blackout now applies to "host not found" as well as no ping.
+ Reported by Dale Renton.
+
+* "Host not found" is now treated in a similar manner to "no ping".
+
+* Added suse-linux init.d script from Leon Letto.
+
+* Added Gentoo linux init.d script from Tim Demarest.
+
+* Applied additional i18n strings from GFK and the translation team.
+
+* Fixed option parsing so that getopts errors are reported and we exit.
+
+* Changed reporting of Xfer PIDs so that rsync cancel works correctly.
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta1, 30 Mar 2003
+#------------------------------------------------------------------------
+
+* Added Spanish translation es.pm from Javier Gonzalez.
+
+* Fixed CGI browse navigation bug that causes BackupPC_Admin to wedge
+ when directories were selected in a certain order.
+
+* Fixed BackupPC::PoolWrite so that it can recover when the initial
+ file size is wrong. This is needed since rsync could write a file
+ whose size is different from the initial size returned in the
+ file list when that file is updated while rsync is running.
+
+* Added binmode(STDIN) to BackupPC_tarExtract, suggested by Pat LoPresti
+ to fix a problem a RedHat8 with perl 5.8.0. It's unclear why this
+ helps, but it should be benign. See:
+ http://sourceforge.net/mailarchive/forum.php?thread_id=1853018&forum_id=503
+
+#------------------------------------------------------------------------
+# Version 2.0.0beta0, 23 Feb 2003
+#------------------------------------------------------------------------
+
+* Support for rsync and rsyncd backup and restore. Changes to
+ BackupPC_dump, BackupPC_restore, and new modules BackupPC::Xfer::Rsync
+ and BackupPC::Xfer::RsyncFileIO.
+
+* Added internationalization (i18n) code from Xavier Nicollet,
+ with additions from Guillaume Filion. Voila! BackupPC_Admin
+ now supports English and French, and adding more languages is
+ now easy. New config paramater $Conf{Language} sets the language.
+
+* Added optional user-defined pre/post dump/restore commands, allowing
+ things like database shutdown/startup for dumps.
+
+* Changed the way hosts are found.
+
+* Added $Conf{ClientNameAlias}, which allows the name of the physical
+ client machine to be set. This allows several different backup
+ "hosts" to all refer to the same physical machine, which is
+ convenient if several different types of data need to be backed
+ up, or if different parameters are needed for different parts of
+ the host.
+
+* Replaced $Conf{PingArgs} with $Conf{PingCmd}, added $Conf{DfCmd},
+ $Conf{NmbLookupCmd} allowing all these commands to be fully
+ configured. Also, all commands can also now be fragments of
+ perl code.
+
+* Moved all smbclient commands into the config.pl file so the specific
+ arguments can be customized. New config parameters are
+ $Conf{SmbClientFullCmd}, $Conf{SmbClientIncrCmd} and
+ $Conf{SmbClientRestoreCmd}.
* Added new BackupPC::View module that creates views of backups
(handling merging etc). Updated BackupPC_Admin, BackupPC_zipCreate
and BackupPC_tarCreate to use BackupPC::View. This removes lots
of merging and mangling code from the higher-level code.
-* Added internationalization (i18n) code from Xavier Nicollet.
- Voila! BackupPC_Admin now supports English and French, and
- adding more languages is now easy.
-
-* Added patch from Toby Johnson that allows additional users to be
+* Added code from Toby Johnson that allows additional users to be
specified in the hosts file; these users can also view/start/stop
and restore backups for that host. Also added a new config
setting $Conf{CgiNavBarAdminAllHosts} that allows all hosts to
be listed in the left nav bar for admins.
+* Added $Conf{HardLinkMax} (default 31999) which sets the limit on
+ the maximum number of hardlinks per file in the pool. If a file
+ ever gets to this number of links a new pool file is created to
+ handle additional links.
+
+* Added $Conf{PerlModuleLoad}, which allows optional additional perl
+ modules to be loaded.
+
+* Added $Conf{EMailUserDestDomain} and other EMail config settings to
+ allow language-specific default messages to be overridden.
+
+* Added BPC_FTYPE_DELETED to lib/BackupPC/Attrib.pm, allowing deleted
+ files to be represented in the attrib file correctly.
+
+* Added support for environment variable BPC_SMB_PASSWD, which is the
+ client's smb password. This overrides the old environment variable
+ PASSWD.
+
+* Added taint cleanup for perl5.8 to lib/BackupPC/Lib.pm.
+
+* Changed $tar_unpack_header format in BackupPC_tarExtract to correctly
+ handle files with trailing spaces.
+
+* Added catching of SIG_PIPE to BackupPC_dump, and changed catch_signal
+ to ignore multiple signals of the same type.
+
+* Added reporting of the largest number of hardlinks in the pool to the
+ log file.
+
+* Adding reporting of syntax errors in the per-PC config.pl file.
+
+* Updated BackupPC_sendEmail to handle language-specific email messages.
+
+* Allow client (host) names to contain spaces. Spaces in host names
+ need to be escaped via "\" in the hosts file. The user of spaces in
+ host names is discouraged, but they should work. One feature that
+ doesn't work with host names that contain spaces is the highlighting
+ of that name in the log file display in the CGI interface. There are
+ no plans to fix this.
+
+* Renamed $Conf{SmbClientTimeout} to $Conf{ClientTimeout}.
+
+* Fixed all open() calls to use 3 argument form to fix handling of file
+ names with trailing whitespace. Also fixed CGI interface so these
+ file names are displayed correctly.
+
+* Fixed new 2.0.0 CGI navigation bug that causes the top-level directory
+ to have a URL "&share=//boot&dir=" instead of "&share=/boot&dir=/".
+ Reported by Pascal Schelcher. Fixed similar problem reported by
+ Doug Lytle.
+
* Added "PerlTaintCheck On" to the mod_perl section in the docs,
suggested by Tim Demarest.