Release for 3.2.0. Changes since 3.2.0beta1: * Fixed code that detects duplicate shares in bin/BackupPC_dump * Added fix to lib/BackupPC/Zip/FileMember.pm to avoid bug in Archive::Zip 1.30 when creating compressed archives. * Added Czech translation from Petr Pokorny.
* fixed typo in ChangeLog
* Changes in preparation for 3.2.0beta1... * Fixed FTP xfer method, with help from Holger Parplies and Mirco Piccin. FTP restores are still not supported. * Fixed bug in BackupPC_sendEmail where a user only receives email about one host. * Fixed bug where top-level attrib file was linked into the pool with the wrong digest, caused by it being updated multiple times with multiple shares. Reported by Jeff Kosowsky who also supplied a patch. * Fixed bug in blackout calculation when multiple periods span midnight. Report and patch from Joachim Falk. * Wrapped eval {} around attribute unpacking to make it more robust to data corruption. Path submitted by Tim Connors. * Ignore fileType 8 and 9 in BackupPC_tarCreate rather than consider then errors. These are sockets and unknown (eg: solaris door) files that are created dynamicaly by applications - there is no meaningful restore for these file types. * Changed lib/BackupPC/Lib.pm and lib/BackupPC/Storage/Text.pm based on patches from Davide Brini and Holger Parplies so that main config %Conf values are available in the host config file, allowing more flexibility in perl expressions in the config files. Use beware, since the CGI editor won't work correctly if the config file have perl expressions. * Obscure password values in LOG file when CGI editor is used to change values. Proposed by Steve Ling. * Added favicon.ico from Axel Beckert. Thanks to Tyler Wagner for submitting another version and reminding me about the first. * Replace "sort(HostSortCompare keys(%$Hosts))" with "sort HostSortCompare keys(%$Hosts)" in bin/BackupPC to avoid an error with certain versions of perl. * Fixed $Conf{XX} links in the BackupPC.html and the CGI editor so they correctly reference the definition. * Support ${VAR} style variable substitution in commands, in addition to existing $VAR style. Suggested by Jeffrey Kosowsky. * Clarified usage of -b and -w options to BackupPC_tarCreate. Submitted by Michael Selway. * Repaired Unable_to_connect_to_BackupPC_server Lang string and added new string Unable_to_connect_to_BackupPC_server_error_message. Proposed and explained by Holger Parplies. * Added 'use utf8' to lib/BackupPC/Lang/pl.pm. Reported by Michal Sawicz. * Minor updates to lib/BackupPC/Lang/fr.pm from Hubert Tournier. * Minor update to lib/BackupPC/Lang/en.pm from David Relson.
* various FTP fixes * added more shell escaping to bin/BackupPC_archiveHost * updates to FTP conf/config.pl comments * minor path change to configure.pl
* Added more options to server backup command: rather than just forcing an incremental or full backup, a regular (auto) backup can be queued (ie: do nothing/incr/full based on schedule), as well as doing just an incremental or full or nothing based on the client schedule. Based on patches submitted by Joe Digilio. * Changed BackupPC_tarCreate to disable output of final nulls in tar archive when -l or -L option is used. Reported by John Rouillard. * Added variable substitution for host, confDir, client in RsyncArgs, and also added option RsyncArgsExtra to allow more easy customization of RsyncArgs on a per-client basis. Proposed (with patch) by Raman Gupta. * Added Xfer error column to the host summary table in the CGI interface. Based on patch submitted by Jan Kratochvíl. * Added alternate freebsd-backuppc2 init.d script that is more compact. Submitted by Dan Niles.
* Moved call to NmbLookupFindHostCmd in BackupPC_dump to after the check of whether a backup needs to be done. This makes wakeonlan work correctly, rather than waking up the client every WakeupSchedule. Reported by David Lasker. * Improved settings for compression and compext in BackupPC_archiveStart based on compression type, as proposed by Paul Dugas. compext is now empty, .gz or .bz2 based on ArchiveComp. * Fixed netbios name comparison in bin/BackupPC_dump and bin/BackupPC_restore to just use the first 15 characters of the host name. Patch from Dan MacNeil. * Fixed nmblookup parsing in BackupPC::Lib::NetBiosInfoGet to ignore entries with the <GROUP> tag. Based on patch from Dan MacNeil. * Fixed BackupPC_dump so that the XferLOG file is saved when DumpPreUserCmd fails. Reported by John Rouillard. * Additional fr.pm fix from Vincent Fleuranceau.
* Modified bin/BackupPC_dump to fix the case of a single partial backup followed by a successful incremental resulting in a full backup of level 1, rather than level 0. Reported by Jeff Kosowsky. * Fixed BackupPC::PoolWrite to always create the parent directory. This fixed a case with rsync/rsyncd where a file like "-i" in the top-level directory sorts before ".", which meant the directory creation is after the file creation. Also PoolWrite errors now increment xferError count. Reported by Jeff Kosowsky. * BackupPC now gives a more useful error message if BackupPC_nightly takes more than 24 hours (ie: when the next one is meant to start). Reported by Tony Schreiner.
* Fixed encoding of email subject header in bin/BackupPC_sendEmail as suggested by Jean-Claude Repetto. Also changed $Conf{EMailHeaders} charset to utf-8. Also changed bin/BackupPC_sendEmail to not send any per-client email if $Conf{BackupsDisable} is set. * Added server message for queuing a single host based on patch submitted by Joe Digilio. * Added $Conf{CmdQueueNice} to specify nice level for command queue commands (eg: BackupPC_link and BackupPC_nightly). Suggested by Carl Soderstrom. * Changed bin/BackupPC_dump to not ping or lookup the host if $Conf{BackupsDisable} is set. Requested by John Rouillard. * Added error check in BackupPC::Xfer::RsyncFileIO after call to BackupPC::Xfer::RsyncDigest->digestStart(), reported by Jeff Kosowsky. * Minor fix to sprintf arguments in BackupPC::Attrib, reported by Jonathan Kamens. * Fixed sort compareLOGName syntax in bin/BackupPC for perl 5.10.x, reported by Jeff Kosowsky and Holger Parplies. * Fixed bin/BackupPC_archiveStart to set compression correctly, and also set the file extension to .gz when compression is on. Reported by Stephen Vaughan. * Updated BackupPC.pod for $Conf{BackupsDisable}, reported by Nils Breunese. * Updates to makeDist for command-line setting of version and release date from Paul Mantz. * Add output from Pre/Post commands to per-client LOG file, in addition to existing output in the XferLOG file. Patch from Stuart Teasdale. * Removed BackupPC_compressPool and BackupPC::Xfer::BackupPCd.
* Added BackupPC::Xfer::Protocol as a common class for each Xfer method. This simplifies some of the xfer specific code. Implemented by Paul Mantz. * Added FTP xfer method, implemented by Paul Mantz. * Added BackupPC::Xfer module to provide a common interface to the different xfer methods. Implemented by Paul Mantz. * Moved setting of $bpc->{PoolDir} and $bpc->{CPoolDir} after the config file is read in BackupPC::Lib. Fix proposed by Tim Taylor and Joe Krahn. * Create $TopDir and related data directories in BackupPC_dump prior to hardlink test. Requested by Les Stott. * Modified lib/BackupPC/CGI/RSS.pm to replace \n with \r\n in the RSS http response headers. Patch submitted by Thomas Eckhardt. * Modified bin/BackupPC_archive to allow the archive request file name to contain spaces and dashes, requested by Tim Massey. * Fix to configure.pl for --no-fhs case to initialize ConfigDir from Dan Pritts. Also changed perl path to #!/usr/bin/env perl. * Modified bin/BackupPC_archiveHost to shell escape the output file name. That allows it to contain spaces and other special characters. Requested by Toni Van Remortel. * Added --config-override to configure.pl, allow config settings to be set on the command line. Proposed by Les Stott and Holger Parplies. * Minor updates to lib/BackupPC/Lang/fr.pm from Nicolas STRANSKY applied by GFK. * Minor updates to lib/BackupPC/Lang/de.pm from Klaus Weidenbach. * lib/BackupPC/Xfer/Smb.pm now increments xferErrCnt on NT_STATUS_ACCESS_DENIED and ERRnoaccess errors from smbclient. Reported by Jesús Martel. * Modified bin/BackupPC_sendEmail to not send any per-client email if $Conf{BackupsDisable} is set.
3.1.0 changes: * Fixed config editor bug for case where override is unchecked on an array where the current array is shorter than the main config's array. * Fixed missing close quote in BackupPC_archiveHost reported by Franky Van Liedekerke. * Replaced "$BinDir/.." with $bpc->InstallDir() for path to BackupPC docs, mentioned by Kenneth Porter. * Moved default of $Conf{IncrLevels} from lib/BackupPC/Storage/Text.pm to lib/BackupPC/Lib.pm (after the merge of the config files). This fixes a bug that caused $Conf{IncrLevels} to get over-ridden if it was only defined in the main config file. Reported by John Rouillard. * Fixed the completion status message in BackupPC_dump so that missing error counts appear as 0, rather than empty. Reported by Bill. * Changed lib/BackupPC/Xfer/RsyncFileIO.pm to only increment the error count when the md4 checksum fails on the second phase, not the first. Reported by Adrian Bridgett. * Updated a comment in config.pl about BackupPC_nightly, reported by Dan Pritts. * Modified lib/BackupPC/CGI/Restore.pm to ensure that the list of hosts presented for direct restore do have direct restore enabled. Reported by Stephen Joyce. * Modified lib/BackupPC/CGI/RestoreFile.pm to replace \n with \r\n in the restore http response headers. Patch submitted by Thomas Eckhardt.
* Updated ChangeLog
* added pl.pm * added minor fix to BackupPC_nightly
* When there is an existing partial, a new partials is only saved if it has more files than the existing partial. Requested by Carl Soderstrom. * Fixed handling of $Conf{BackupFilesExclude} for tar XferMethod. Patch supplied by Frans Pop. * Fixed numeric column sorting in host summary table, reported by Michael Pellegrino. * Fixed host CGI editor so it creates the new host's config.pl file using the lower-case host name, since host names are mapped to lower case when they are read from the hosts file. Reported by Alexander Onic. * Applied documentation patches from Frans Pop.
Changes for 3.1.0beta0. * Added new script BackupPC_archiveStart that allows command-line starting of archives. Based on script written by Sergey Kovzik, which in turn was based on an earlier version by Holger Parplies. * Added check to BackupPC at startup that $TopDir can support hardlinks. Also added check to BackupPC_dump that a hardlink below $TopDir/pc/HOST can be made to below $TopDir/cpool. Also added the need for a hard-link capable file system to the documentation. Suggested by Nils Breunese. * Made the default charset for BackupPC_zipCreate cp1252, which appears to work correctly with WinZip. Unfortunately there is no clear standard for charset encoding in zip files. * Added support so that pre-3.0 backups with non-utf8 charsets can be viewed and restored correctly. A new config variable $Conf{ClientCharsetLegacy} specifies the charset used to encode file names in legacy backups. This is only relevant if you are trying to view or restore a backup made with BackupPC 2.x and some of the file names have non-ascii characters. * Added setting of the environment variable BPC_REQUSER to the requesting user name in BackupPC prior to fork(), so each child process inherits the value. Submitted by Holger Parplies. * Fixed bug in rsync incrementals that happens on particular file names when a file being backed up fails in both rsync phases. Reported by Dan Smisko. * Removed ConfDir from config editor (since it is hardcoded in lib/BackupPC/Lib.pm). Also made TopDir and LogDir only visible if useFHS (for non-FHS they are hardcoded in lib/BackupPC/Lib.pm).
* Added Simplified Chinese CGI translation from Youlin Feng. * Added -l and -L options to BackupPC_tarCreate so that provide a file list (without creating the archive). Requested by Dirk. * Fixed single-restore file name charsets for IE, reported by Francis Lessard. * Fixed makeDist so that the --config-dir option to configure.pl works correctly. Reported by Randy Barlow, Tony Shadwick and others. * Applied patch from Holger Parplies that fixes cleanup of early abort in BackupPC_dump. * Changed BackupPC_sendEmail so that summary admin email doesn't include errors from hosts that have $Conf{BackupsDisable} set. Reported by James Kyle. Also, per-user email is now disabled when $Conf{BackupsDisable} is set. * $Conf{IncrLevels} is now defaulted if it is not defined.
* Added some performance improvements to BackupPC::Xfer::RsyncFileIO for the case of small files with cached checksums. * Added optional support for IO::Dirent which allows inode information to be extracted from the dirent directory structure. This allows BackupPC to order some directory operations by inode, which on some file systems (eg: ext3) can results in a 20-30% performance gain. On other file systems there is no real improvement. This optimization is turned on automatically if IO::Dirent is installed. * Added sorting by column feature to host summary table in CGI interface. Implemented by Jeremy Tietsort. * Added FreeBSD init.d file provided by Gabriel Rossetti. * Applied small patch from Sergey to lib/BackupPC/Xfer/Tar.pm that makes it ignore "socket ignored" error on incrementals. * Applied small patch from Sergey to bin/BackupPC_archiveHost. * Added RsyncdUserName to the config editor. Reported by Vicent Roca Daniel. * configure.pl clears $Conf{ParPath} if it doesn't point to a valid executable. * Added freebsd-backuppc init.d script from Gabriel Rossetti. * Added documentation for BackupPC_tarPCCopy, including use of -P option to tar suggested by Daniel Berteaud. * Config editor now removes white space at start of exec path. Reported by Christoph Iwasjuta. * CgiDateFormatMMDD == 2 gives a YYYY-MM-DD format for CGI dates, suggested by Imre.
* Changes for 3.0.0 release
* BackupPC_Admin now uses $Conf{UmaskMode}, so config.pl files written by the editor have more restrictive permissions. Reported by Tim Massey. * Host summary now shows active backups on disabled hosts, from Jono Woodhouse. * Fixed host LOG link and LOG list order, reported by Tim Massey. * Moved Encode.pm version check to start of configure.pl so it produces a useful error message if Encode.pm is too old. * Fixed hrefs to configuration documentation to handle changes in the way perl generates the anchors. Reported by Philip Gleghorn. * Host name links in LOG files now allow "." in the host name. Reported by Jean-Michel Beuken. * Fixes to lib/BackupPC/Xfer/Tar.pm for tar 1.16: allow 1 (ie: 256) as a successful exit status and match "Total bytes read" message for restores. First reported by Torsten Sadowski and debugged by Ralf Gross and Holger Parplies.
Minor changes to lib/BackupPC/Xfer/RsyncDigest.pm and bin/BackupPC_nightly
* Removed default paths from conf/config.pl so configure.pl will determine the correct ones at install time. Avoids problem of the config editor complaining about bad executable paths the first time you use it. * Changed first byte of compressed files with rsync checksums appended to 0xd7 to allow correct protocol_version >= 27 md4 checksums to be written. Old cached checksum files have a first byte 0xd6 and are now considered to be uncached. They will be automatically updated as needed. * BackupPC_tarPCCopy now handles all file types correctly. Reported by George Avrunin. * Fixes for rsync restore where hardlink is to file outside of the top-level restore directory. Reported by George Avrunin, who helped with debugging. * Fixes for checksum mismatch on restore for certain file sizes. Reported by George Avrunin and others.