Version 2.4.18 of DAR is out. from 2.4.17 to 2.4.18 - Initial Vector used for strong encryption was set with pseudo-random data generated using SHA1 message digest and blowfish cipher, which are not available when ligcrypt is running in FIPS mode. Since 2.4.18 we now use SHA256 and AES256 for IV assignment in order to have libdar compatible with FIPS mode. For data encryption nothing changes: the cipher specified (-K, -J, -$ options on CLI) are used as before. - fixing bug met when performing archive isolation in sequential-read mode, If an archive corruption or truncated archive leads an inode to not have its CRC readable, dar aborts and issues a BUG report. - updating list of project relying on dar/libdar Reproducible: Always
from 2.4.18 to 2.4.19 fixed missing quote in dar_par.dcf which is called by the par2 directive fixed bug in dar_manager's -u option, not displaying most recent files of an archive when they have been marked as removed in a more recent archive of the same dar_manager database. fixed bug met while restoring in sequential read mode a file having several copies (was modified at the time it was saved and retry-on-change was set). from 2.4.x to 2.5.0 added support for posix_fadvise() added entrepot class hierarchy to support in the future other storage types than local filesystem for slices API: added access to the entrepot through the API modified class hash_fichier for it becomes entrepot independent API: extended libdar API with an additional and more simple way to read an archive: archive::get_children_in_table() method, see doc/API_tutorial.html for details added support for extX (see lsattr(1)) and HFS+ (birthtime date) Filesystem Specific Attributes (FSA). dar is now able to skip backward when a file is found to be "dirty" at backup time. This avoids wasting space in archive but is only possible if the backward position is located in the current slice and no slice hashing nor strong encryption is used. Of course if the archive is written to a pipe or to stdout, skipping back to retry saving data at the same place is neither possible, --retry-on-change option stays possible in that cases at the cost of data duplication (wasted bytes amount, see --retry-on-change man page). by default dar now performs up to 3 retries but do not allow for wasting bytes if file has changed at the time it was read for backup, this can be modied using --retry-on-change option. With the same constraints as for a changing file, if a file is saved compressed but its compressed data uses more space than uncompressed, the file's data is resaved as uncompressed. However, if skipping backward is not possible, data is kept compressed. if system provides it, dar uses "Linux capabilities" to check for the ability to set file ownership when dar is not run as root. This allows dar to restore ownership when allowed even when it is not run as superuser. removing dar-help tool used to build dar -h messages. That tool became useless for a long time now. added several more specific verbosity options: -vm, -vf and -vt added support for microsecond timestamps (atime, mtime, ctime, birthtime) Using lutime() to restore atime/mtimes of symlink on systems that support it. API: removed backward compatible API for old libdar 4.4.x API: simplified implementation of archive isolation thanks to isolation evolution features brought by release 2.4.0. Memory requirement is now devided by two compared to releases of previous branch (2.4.x). dar has been updated to use this new API for archive isolation added exclude-by-ea feature to avoid saving inodes that have a particular user defined EA set. added comparison of an isolated catalogue with a filesystem, relying on embedded data CRC and inode metadata in absence of the saved data. The new archive format (version 9) holds the ciphering algorithm used at creation time, only the passphrase is now required at reading time and-K option may be ignored which will lead dar to prompt for passphrase. Adding support for public key encryption (GnuPG) supporting several encryption keys/recipients for a given archive Adding support for public key signature when public key encryption is used While listing archive contents, directories now show the size and average compression ratio of the data they contain Archive summary (-l with -q options) now reports the global compression ratio added the -vd switch to only display current directory under process for creation, diff, test, extraction and merging operations added xz/lzma compression support added -Tslicing listing option to show slice location of files inside an archive a- isolated catalogues now keep a record of the slicing layout of their archive of reference in order to provide -Tslicing feature when used on the isolated catalogue alone. However if an archive has been resliced (using dar_xform) after its isolated catalogue has been generated, using -Tslicing option with the isolated catalogue would give wrong information. To overcome that, it is possible to specify what is the new slicing of the archive of reference by using the -s and -S options in conjunction with -Tslicing added dar_split command to provide on-fly multi-volume archive support for tape media experimental feature to have libdar using several threads (not activated by default due to poor performance gain) dar now aborts when a given user target cannot be found in included file added sha512 hashing algorithm beside already available md5 and sha1, the generated hash file can be used with 'sha512sum -c <file>' command removed useless --jog option for memory management removed previously deprecated -y/--bzip2 command, bzip2 compression remains available using -z option (-zbzip2 or --compression=bzip2) replaced SHA1 by SHA224 to generate IV for encryption blocks, this slightly improves randomness of IV and stay available when libgcrypt is run in FIPS mode.
from 2.5.0 to 2.5.1 - fixed display bug in dar_manager met when using -o option and adding options for dar that does not exist for dar_manager (like -R option) - reactivating disabled (by mistake) optimization for some read-only dar manager database operations - fixing compilation issue with dar against gcc 4.9.2 - fixing syntax error in dar_manager message - fixed bug that forbade dar_manager to write down modified database when only database header was modified (-o, -b, -p switches). - adding dar_manager database format version information with -l option - fixed libdar inability to read dar_manager's database format version 4 - adapting code to build under cygwin environment, where thread_local seems broken - fixed output to stderr in place of stdout for Licensing information - fixed bug met when permission is denied while reading or writing slices - fixing bug that avoided creating an archive at the root of the filesystem from 2.4.19 to 2.4.20 - fixed display bug in dar_manager met when using -o option and adding options for dar that does not exist for dar_manager (like -R option) - reactivating disabled (by mistake) optimizations for some read-only dar manager database operations - fixing compilation issue with dar against gcc 4.9.2 - fixing syntax error in dar_manager message - fixing bug that avoided creating an archive at the root of the filesystem
from 2.4.19 to 2.4.20 fixed display bug in dar_manager met when using -o option and adding options for dar that does not exist for dar_manager (like -R option) reactivating disabled (by mistake) optimization for some read-only dar manager database operations fixing compilation issue with dar against gcc 4.9.2 fixing syntax error in dar_manager message fixing bug that avoided creating an archive at the root of the filesystem from 2.5.1 to 2.5.2 fixed bug met when permission is denied while reading or writing slices fixing bug that avoided creating an archive at the root of the filesystem fixing bug met in rare situation while reading in sequential-read mode an archive encrypted using gnupg encryption. In that situation libdar may fail reading the archive (but succeeds in normal read mode) issuing an obscure message (message has also been fixed). code simplification, removing field reading_verion from class crypto_sym as its parent class tronconneuse already have such information removed extra newline displayed by dar at end of execution fixed bug avoiding dar to properly read an entry (reporting CRC error) when specific sequence of character (start of escape sequence) fall at end of the read buffer of the escape layer. speed optimization for datetime class fixed bug that avoided dar reading archives in sequential read mode while reading from a pipe fixed bug in non regression test routine provided beside dar/libdar fixing display message showing not always in the correct context fixing case inversion leading the cache layer not to be used when necessary and used when useless while reading an archive improved heuristic in dar_manager to determine the date a file has been deleted.
from 2.5.2 to 2.5.3 Fixing a 2.5.x build issue met when a 2.4.x libdar library is already installed in an FreeBSD system. Improving message and behavior of libdar in lax mod when a truncated archive is read Fixing self reported bug at "tronconneuse.cpp line 561" met while reading truncated/corrupted archive Fixed not closed filedescriptors, met when saving a filesystem that has not ExtX FSA available Fixing configure script to be more robust in front of system where gpgme.h is installed in a non standard path and user did not provide coherent CPPFLAGS, LDFLAGS before calling ./configure Displaying CRC values when listing isolated catalog as XML output Fixing compilation issue when system does not provide strerror_r() call Avoiding warning about FSA absence when fsa-scope is set to "none" Adding --disable-fadvise option to configure script for those that want back full pressure from dar on the system cache (same behavior as 2.4.x) Fixing bug, fadvise() called a wrong time making it having no effect updating FAQ about comparative performance from 2.4.x to 2.5.x optimization: reduced the number of call to dup() at libdar startup improvement: printing file type on verbose output new feature: added %t macro reflecting the inode type in dar's --backup-hook-execute option
Created attachment 425636 [details] Dar 2.5.3 ebuild Works on my systems
commit fc6b94fefb2dedc0d78bfc161f3393dd7d29680c Author: Lars Wendler <polynomial-c@gentoo.org> Date: Thu Apr 7 21:09:30 2016 app-backup/dar: Bump to versions 2.4.20 and 2.5.3 (bug #559386). Package-Manager: portage-2.2.28 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>