Disk ARchive Changelog

New in version 2.4.17

February 3rd, 2015
  • fixing issue when case insensitive comparison was requested and invalid wide char for the current local was met in a filename. In such situation the corresponding file was ever saved before (considering a filesystem error for that file), while now the ASCII case insensitivity is used as fallback.

New in version 2.4.16 (January 20th, 2015)

  • fixing archive listing displayed information for catalogue size when archive is read in --sequential-read mode
  • fixing bug that avoided dar releases 2.4.x up to 2.4.15 to read encrypted archive generated by dar release 2.3.x and below
  • adding informational note at the end of ./configure script execution when --enable-mode has not been used.
  • adding support for case sensitivity in filename comparison (-an option) for other character sets than POSIX/C locale like Cyrillic for example.
  • fixing bashisms in doc/samples scripts

New in version 2.4.15 (September 9th, 2014)

  • fixing bug met when reading an encrypted archive in sequential mode
  • fixing bug met when reading an encrypted archive in sequential mode from an anonymous pipe
  • changed option '-;' to -9 as '-;' does not work on all systems with getopt (only long option equivalent --min-digits worked) for dar, dar_cp, dar_manager, dar_xform and dar_slave commands.
  • fixing bug met when restoring deleted files in sequential read mode and some directory where they should be "restored" are not readable or could not be restored earlier
  • adding extra buffer to handle sequential read of encrypted archive when the last crypto block contains some but not all clear data after encrypted one (the archive trailer).
  • fixing compilation issue using clang
  • fixing bug that prevents using -~ option with on-fly catalogue isolation in order to execute an user command once on-fly isolation has completed
  • added some autoconf magic to determine the correct (BSD/GNU) flag to use with sed in order to activate regular expression parsing
  • new implementation of mask_list class which is compatible with libc++
  • fixed bug met on FreeBSD with dar_xform where the system provides a standard input file descriptor in read-write instead of read-only mode.

New in version 2.4.14 (June 16th, 2014)

  • limiting memory consumption of the cache layer to stay below 10 MiB, under certain circumstances (very large archive), it could grow up to an insane value like 50% or the available RAM. reducing to 10 MiB does not impact performance in a noticeable manner while it avoids system to swap out due to the libdar cache layer becoming huge.
  • added --with-pkgconfigdir to define an alternative path for libdar pkgconfig file (to ease portability to FreeBSD)
  • modified some Makefile.am for better FreeBSD support
  • fixed display bug in XML listing output concerning hard linked inodes
  • fixing typo in man page
  • fixing bug met while isolating a catalogue in --sequential-read mode. Using such isolated catalogue lead dar report an error about inaccessible EA.
  • displaying compression rate for sparse files even when they are uncompressed, sparse file detection also leads to compress files
  • fixing bug that lead libdar to fail comparing an inode having EA when comparison is done in --sequential-read mode
  • fixing display bug in in ligcrypt check of configure script for minimum required version
  • fixing 'make clean' to remove some forgotten files generated by 'make'

New in version 2.4.13 (April 22nd, 2014)

  • adding initialization value for two variables to avoid inappropriate warning when compiling with -Wall option
  • reducing UNIX_PATH_MAX by the system when not defined from 108 to 104 bytes to accommodate BSD systems
  • fixing assignment operator of class criterium that was not returning any value as it should
  • removing useless boolean expression that always succeeds in logical AND expression
  • adding support for back-slash of quoting characters in DCF files
  • fixed compilation issues with clang / FreeBSD, Thanks to Neil Darlow's server ;-)
  • fixed compilation warning due to deprecated symbols in libgcrypt header files
  • replaced gnu make specific rules by legacy ones to avoid automake warning about them
  • removed old unused stuff from misc sub-directory
  • adding warning at compilation time if libgcrypt used is older than 1.6.0
  • adding warning at execution time if hash computation is requested with slices greater than 256 Gio and ligbcrypt dynamically or statically linked is older than 1.6.0
  • adding alternative methods in list_entry API class to return dates as number of seconds
  • fixed bug in hour-shift (-H option) when comparing dates from an old extracted catalogue (archive format 7 or older).
  • fixed documentation bug about the meaning of the compression ratio
  • fixed a display bug about the "compression flag" wrongly displayed for uncompressed files
  • fixed unhandled exception when giving non number argument to -1 option

New in version 2.4.12 (January 21st, 2014)

  • for correctness fixed delete vs delete[] on vector of char (not incidence reported)
  • fixed out of range access in routine used to read very old archive format
  • fixed error in logical expression leading a sanity test to be useless
  • removed duplicated variable assignment
  • updated FAQ
  • fixed typo and spelling errors
  • fixed bug (reported by Torsten Bronger) in the escape layer leading libdar to wrongly reporting a file as corrupted at reading time
  • fixed bug in the sparse file detection mechanism that lead the minimum size hole detection to become a multiple of the default value or specified one. This implied a less efficient reduction of sparse files because smaller holes in files were ignored
  • fixed and updated man page about --go-into option
  • updated full-from-diff target in /etc/darrc default file
  • added a debug option in hash_file class (option only used from testing tools) to troubleshoot sha1/md5 hash problem on slices larger than (2**38)+63 bytes, bug reported by Mike Lenzen and understood by Yuriy Kaminskiy at libgcrypt. Note: This bug is still open due to an integer overflow in libgcrypt.
  • backported from current development code an additional and more simple way to read an archive using the libdar API. This API extension is not used by dar command-line tools for now.
  • Fixing installation of libdar header files on Darwin, where "DARwin" macros were not filtered out from the generated libdar header files.
  • Fixing self reported bug 'generic_file.cpp line 309' met while comparing an archive with a filesystem
  • Update code in order to compile with gcc-4.8.2 in g++11 mode (partial implementation and adaptation of Fabian Stanke's patch)
  • Fixing bug met while performing a verbose archive listing in sequential read mode
  • Added Ryan Schmidt's Patch to properly display status at end of ./configure script under BSD systems (in particular Mac OS X)
  • Updating configure.ac script to fix warning reported by autoconf when generating the ./configure script
  • Addressed portability problem with BSD systems that do not provide a -d option to the 'cp' command, preventing proper installation of the Doxygen documentation. Fix based on patch provided by Jan Gosmann.

New in version 2.4.11 (August 27th, 2013)

  • Modified behavior of 'dar -h' and 'dar -V', both now return 0 as exist status instead of 1 (which means syntax error).
  • Fixed bug: -Q is now available with -V under the collapsed form -QV or -VQ
  • fixed typo in documentation
  • fixed memory leakage met when dar fails a merging operation because the resulting archive is specified in an directory that does not exist.
  • fixed bug met when isolating a differential backup in sequential read mode
  • fixed bug about slice file permission not taking care about umask variable when the --hash feature is used.
  • fixed performance issue when reading an archive over a pair of piles using dar_slave (possibly over ssh) when the archive makes use of escape marks and when no encryption is used
  • added target "full-from-diff" in /etc/darrc default file
  • fixed bug avoiding reading an truncated archive in direct access mode with the help of an external catalogue.
  • new and better implementation of archive extraction in sequential read mode
  • fixing bug (segfault) met when hitting CTRL-C while reading an archive in sequential mode
  • fixing libdar.pc for pkg-config for the cflags given to external applications
  • fixed memory allocation/desallocation mismatches (delete vs delete [] ) concerning four vector of chars.
  • fixed error in logical expression leading a sanity test to be useless

New in version 2.4.10 (March 11th, 2013)

  • fixing libdar about dar_manager database corruption that occurred when
  • deleting the first archive of a base containing a plain file only
  • existing in that first archive.
  • Added code to cleanup databases instead of aborting and reporting
  • that previously described type of database corruption.
  • Added feature when comparing archive with filesystem in order to report
  • the offset of the first difference found in a file. This was necessary to
  • help solving the following bug:
  • fixed bug in sparse file detection mechanism that could lead in some very
  • particular (and rare) situations to the loss of one byte from file being
  • saved. In that case testing the archive reported a CRC error for that
  • file. So if you keep testing achives in your backup process and have not
  • detect any problem, you can then keep relying on your old backups. This
  • bug also expressed when merging archives: dar aborted and reported that a
  • merged file had a different CRC than the one stored in the archive of
  • reference.

New in version 2.4.8 (September 10th, 2012)

  • documentation fixes and updates
  • improved database listing efficiency
  • reduced memory usage of the caching layer in libdar
  • fixed self reported bug caused by memory allocation failure
  • fixed a SIGSEGV caused by double free in dar_xform when syntax error is met on command-line
  • dar_xform was not able to properly transform archive generated by dar older than release 2.4.0
  • fixed bug that lead dar be unable to remove a directory at restoration time
  • replaced old remaining "bcopy" occurrence by a call to memcpy
  • fixed compilation warning under ArchLinux
  • fixed crash met while creating a backup with on-fly isolation
  • fixed libdar behavior when reading a strongly corrupted encrypted archive

New in version 2.4.7 (July 5th, 2012)

  • fixing memory allocation bug in crc class, that lead glibc aborting dar (bug is the object of the previous notice in dar-news mailing- list).
  • reviewed code and replaced some remaining occurrences of bzero/bcopy by their recommended replacement functions (memset/memcpy)
  • fixed compilation problem under Solaris
  • fixed bug that could lead a file to be wrongly reported as different from the one on filesystem, when that file had changed while it was saved, then saved a second time but had its size modified since the first time it was saved.

New in version 2.4.5 (April 17th, 2012)

  • updated sample scripts to be compatible with dar's --min-digit option
  • added missing included file to be able to compile with gcc-4.7.0
  • removing an unused variable in filtre.cpp
  • fixed a display bug when comparing archive with filesystem, leading to a segmentation fault (%S in place of %i in mask)
  • fixed bug leading dar to not restore some directories from differential backups when they are absent in the filesystem
  • fixed bug that show a "uncaught exception" message at the end of archive listing for dar shared binaries only, compiled in infinint mode, under ArchLinux
  • updated the configure script to link with libexecinfo when available
  • added possibility to disable the use of execinfo in libdar thanks to the new --disable-execinfo option for the ./configure script
  • added Andreas Wolff patch to fix bug under Cygwin (segfault on program termination).

New in version 2.4.3 (February 27th, 2012)

  • fixed absurd compilation warning about possibly uninitialized variable
  • added -ai switch to dar_manager to disable warning about improper file order in database.
  • fixed bug met while changing order of archives in a dar_manager database
  • avoiding concurrent use of -p and -Q options, error message shown in that situation.
  • modified slice overwriting detection code to use a single atomic system call to create a new slice
  • replaced delete by delete[] for conversion routine of user/group to uid/gid
  • added the possibility to disable speed optimization for large directories
  • added memory troubleshooting option --enable-debug-memory
  • simplified class CRC implementation
  • fixed failed memory release upon exception thrown in class deci
  • modified tlv, tlv_list classes and ea_filesystem routines to not require any corresponding temporary objects in libdar (saves a few new/delete calls)
  • fixed silent bug in tlv class: due to the absence of copy constructor and destructor, some memory was not released and referred after the corresponding object's destruction
  • modified generic_file class to avoid temporary crc objects
  • fixed bug in header class that lead unreleased field (this class lacked a destructor), memory impact was however little: 10 bytes per slice
  • fixing bug in class tlv: unreleased memory
  • added protection code in class deci to properly release memory against exception thrown from called routines when user interrupts the operation.
  • replace previous internal stack report code by backtrace()/backtrace_symbols()
  • complete change of the implementation of the 'special-alloc' feature: the old code eat too much memory not to be adapted to new features added in release 2.4.0. This new implementation also bring some speed improvement

New in version 2.3.10 (April 10th, 2010)

  • added patch by Jan-Pascal van Best to have -[ and -] options working with archive merging
  • fixed bug in displaying dates [SF 2922417]
  • enhanced pseudo-random number generation used in dar
  • added an error message when an include/exclude file listing does not contains an invalid path (instead of a self reported bug message).
  • modified message displayed when some slice of an old archive having the same name are present in the destination directory (backup, isolation, merging, dar_xform)

New in version 2.3.9 (May 25th, 2009)

  • fixed bashism in doc/examples/pause_every_n_slice.duc sample script [SF 2020090]
  • added Jason Lewis's script "dar_backups.sh" which is an enhanced version of n the script done by Roi Rodriguez Mendez & Mauro Silvosa Rivera.
  • added message asking software upgrade to handle case when new archive format (used by dar >= 2.4.0) is provided to dar
  • very little optimization of the reading process of EA
  • updated FAQ
  • replaced "Catalogue" by "Archive Contents" in output message (-l -v).
  • added Sergey Feo's patch to dar_par.dcf
  • added check against stddef.h header file presence in configure script
  • fixed spelling
  • added Charles's Script in doc/sample
  • added -q option to dar
  • added licensing exception to allow distribution of dar beside OpenSSL library
  • Bug fix: during archive diff (only), dar restore atime of file in the backup instead of file in the system before opening it for reading.
  • tested dar with valgrind

New in version 2.3.8 (June 21st, 2008)

  • fixed bug in libdar met when user supply an empty file as a list of file to include or exclude ( -[ and -] options )
  • fixed bug concerning elastic buffers used beside strong encryption. No security issue here, just in some almost rare situations the generated archive was not readable (testing your archive prevents you loosing data in this situation)
  • added some speed optimizations
  • avoided warning to appear without -v option set, when an error is met while fetching value of nodump flag (flag not supported on filesystem for example).

New in version 2.3.7 (February 11th, 2008)

  • fixed bug in dar_manager about the localization of the archive in which to find the latest EA
  • fixed bug in configure script to properly report full blowfish encryption support
  • fixed a bug in the statistics calculus of dar_manager for most recent files per archive
  • removed inappropriate internal error check
  • added --disable-libdl-linking option
  • fixed mistake in API tutorial
  • updated Swedish translation by Peter Landgren
  • fixed bug in the file filtering based on listing file ( -[ option )
  • fixed typo and spelling errors in documentation
  • updated code for clean compilation with gcc-4.2.3
  • updated code for clean compilation with gcc-4.3 20080208 (experimental gcc)