Disk ARchive Changelog

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).