1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870
|
from 2.4.4 to 2.4.5
- 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).
from 2.4.3 to 2.4.4
- fixed man pages in the NAME section: added whatis entry
- fixed segfault: in the internal error reporting code (delete[] in place of
free())
- fixed bug: dar_manager was not able to read properly the latest generated
databases version when having Extended Attributes recorded for some files
- avoided reporting unreleased memory block when compilation optimization
have been used (dar, dar_manager, dar_cp, dar_slave, dar_xform do all
reported unreleased memory when gcc optimization was used in "infinint" mode)
from 2.4.2 to 2.4.3
- 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
from 2.4.1 to 2.4.2
- fixing bug met when reading an archive in sequential-read mode
- fixing bug while filtering in sequential-read mode
- fixing backward compatibility in dar_manager with old archives (wrong dates
for deleted files).
- fixing compilation problem on certain systems (missing #include statement)
- fixing documentation syntax and spelling
from 2.4.0 to 2.4.1
- adding information about "Cache Directory Tagging Standard" in doc/Feature.html
- fixing typo in doc/presentation.html
- fixing incomplete information in doc/usage_notes.html
- rewriting sample scripts from tcsh to bash in doc/usage_notes.html
- updating Swedish translation with the last version from Peter Landgren
which has been forgotten for 2.4.0, sorry.
- fixing installation problem, where src/libdar/nls_swap.hpp was not installed
- fixing version returned by libdar_4_4::get_version to let kdar (or other
external program relying on the backward compatible API) working as expected
- fixed bug in the code determining whether a directory is a subdirectory of
another. This bug could lead dar to restore more files that just the one that
were specified with -g option.
- added -k option to dar_manager for backward compatible behavior of dar_manager
- fixed bug in dar_manager, was recording the wrong date of EA removal (when
an inode has dropped all its EA since the archive of reference was done).
- adapted dar_par_test.duc sample script to dar-2.4.x new behavior
- adapted libdar to MacOS X to restore mtime date after EA, as on this system,
modifying some system specific EA implies updating the mtime. But dar cannot
yet store and restore the "creation date", it needs specific MacOS X code,
as this value is not available through Posix EA.
- fixed backward compatibility bug where dar 2.4.0 was not able to read archive
containing only a catalogue (differential backup when no change occurred,
snapshot backup, extracted catalogue) generated by dar 2.3.x or older.
- fixed self reported internal error met when dar is merging archives generated
by dar 2.3.x versions.
from 2.3.x to 2.4.0
- hard links support for pipes, soft links, char and block devices has been
added (so far, only hard links on plain files were supported)
- added rich overwriting feature for merging archives (-/ option)
- changed default behavior of dar: it no more tries to preserve the atime of
read files, which had as side effect to modify the ctime. See man page for
-aa and -ac options for details
- simplified the use of the "sed" command in Makefiles.am files
- integrated Wiebe Cazemier's patch for man page
- -E option has been extended to work also when generating a single sliced
archive (no need to have -s option to be able to use -E option).
- slice header has been extended to store additional information (slice
layout is now redundant in each each slice and may be used as backup from
a slice to another in case of corruption).
- dar does no more need to read the first then the last slice of an archive to
get its contents, it now instead only needs the last slice.
- an isolated catalogue can now be used as backup of the original archive's
internal catalogue (-A option in conjunction with -x option for example)
- added directory look-up optimization (adaptation of Erik Wasser's patch)
- added -e option support (aka dry-run) to archive testing
- added the possibility to set permission and ownership of generated slices
- re-designed the libdar API to have all optional parameters carried by class
object in a single argument, the aim to not break backward compatibility of
the API upon each new feature addition. The libdar_4_4 namespace can be used
for backward compatibility with older applications (see API documentation)
- added retry on change feature (-_ option).
- changed storage for UID and GID from U_16 to infinint to support arbitrarily
larger UID and GID
- added lzo compression support
- dar_manager now uses an anonymous pipe to send configuration to dar, this
solves the problem due to command-line limitation.
- dar now stores a "removal date" when a file disappeared since the archive of
reference was done (so far only the information that a file was removed was
stored). This is needed for dar_manager (see next new feature)
- dar_manager can now better restore the status of a set of files exactly as
it was at any given time from a set of full and differential backups. In
particular, it does no more restore files that were removed at the requested
date.
- added check in dar_manager to detect conditions where a file has a
modification date that has been set to the past. Two objectives are at the
root of this feature: proper restoration of files and detection of possible
rootkit
- added mode for restoration that avoid restoring directory tree which do not
contain any saved files (in particular when restoring a differential backup)
see man page for -D option for more details.
- reviewed implementation of code managing Extended Attributes (much faster now)
- added batch feature (-@ option) to dar_manager
- added Furtive Read Mode support (O_NOATIME + fdopendir): when the system
supports it, while reading data, dar does not modify any date (ctime or atime)
- added the possibility to have sequential reading of archives (ala tar) see
option --sequential-read
- added the possibility to read from a pipe (single pipe, without dar_slave)
(use '-' as filename in conjunction with --sequential-read)
- added -P -g -[ and -] options to archive listing (-l option)
- added sparse file detection mechanism (can save and restore sparse files)
- added dirty flag in archive for file that changed while being saved. By
default a warning is issued when the user is about to restore a dirty file,
this can be changed thanks to the --dirty-behavior option
- -R option can receive an arbitrary string (still is excepted an empty string)
In particular dar will no more complain if the given path contains // or \\
however it must in a way or another point to something that exists!
- added a short listing feature (listing only the summary), (using both -l and
-q options)
- extended conditional statements in included files (DCF) with user defined
targets (see user target paragraph at the end of dar man page) User targets
let the user add a set of options using a single keyword on command-line.
- a sample /etc/darrc is now proposed with some user targets for common
operation like compression without compressing already compressed files.
- dar now releases filedescriptors of archive of reference(s) before proceeding
to the operation (differential backup, archive isolation, etc.)
- user can add a comment in archive header some macro are provided for common
options (see --user-comment in man page). This comment can be seen when
listing an archive in verbose mode (-l -v) or when displaying the archive's
summary (-l -v -q).
- added a "security warning" feature if ctime has changed in filesystem while
inode has not changed at all (-asecu disables this feature). This is to target
possible rootkit files. Note that this may toggle false positive, if for
example you change EA of a file.
- added feature: DAR_DUC_PATH environment variable, which let dar look for a DUC
file (see -E and -F options) in the given path.
- added feature: DAR_DCF_PATH environment variable, same as previously but for
DCF files (see -B option).
- added two targets for conditional syntax: "reference:" and "auxiliary:"
- weak blowfish implementation has been removed (no backward compatibility as
it suffered of a weak Initial Vector (IV) initialization), but the normal
blowfish encryption stays in place.
- Due to openssh licensing, replaced openssh by libgcrypt dependancy (which
stays optional).
- added new cyphers aes256, twofish256, serpent256 and camellia256
- added the hash feature (--hash option), supporting md5 and sha1 algorithms.
The hash is calculated on the fly for each slice, before its data is even
written to disk. This let one to check for media corruption even before a
multi-sliced archive is finished. However this does not prevent an archive to
be corrupted due to a software bug (in dar, libdar or in a external library),
so it is always recommended to test the archive using dar's -t option.
- -G option (on-fly isolation) has been replaced by -@ when creating an archive,
to reduce the number of letter used for options. This also let available the
usual switches associated to -@ option to define an encryption algorithm and
passphrase for the on-fly isolated catalogue.
- slices number may be padded with zeros (--min-digits option) Note that if using
this option when creating an archive, this same option is required for any
operation on this archive
- added -konly feature to only remove files recorded as suppressed at
differential backup restoration time.
- dar and libdar now store keys in secure memory (with the exception that a DCF
is parsed in unlocked memory, having a key in a DCF file is not as secure as
having dar asking for password at execution time using the "-K :" syntax)
- added hook for backup: a user command or script can be run before saving and
after backing up files that match a given mask all along the backup process
(see -<, -> and -= options).
- added feature: -alist-ea let the user see the Extended Attributes of files
while listing an archive contents.
- dar_manager can receive negative numbers to point to archive counting by the
end of the database.
- dar and libdar stay released under GPL 2.1 (not under GPL 3, and not lesser
GPL, neither)
- setting the "little/big endian" to usual meaning (it was inverted in the code)
this does not change the dar's behavior nor its compatibility with different
systems or older libdar versions.
- added -ai option to avoid warning for unknown inode types
- added support for Solaris's Door files
- added feature: decremental backup
from 2.3.11 to 2.3.12
- avoiding concurrent use of -p and -Q options, error message shown in that
situation.
version 2.3.10 to 2.3.11
- fixed bug in the detection code of an existing archive of the same name when
creating a new archive (improperly considered some files sharing a part of
the archive basename as old slices of an archive of the same base name).
- fixed a display bug. When using -v to see which arguments get passed to dar
by mean of configuration file (DCF file, ~/.darrc or /etc/darrc) the last
argument found in file was not displayed.
- fixed two bugs (one in decompression routine, the other in decryption routine)
that lead dar to segfault or run into an endless loop when reading a very
corrupted archive.
- added -H option with -d option
- fixed bug leading Dar to report some files to be removed at restoration time
to be of different type than the expected one when the reference used for
that archive (difference backup) was an extracted catalogue.
- fixed bug in dar's command_line parsing leading dar to free twice the same
block of memory when an argument containing a double slash was given to
-G [SF 3162716].
- probable fix (problem difficult to reproduce) for double memory release in
the storage class [SF 3163389]
version 2.3.9 to 2.3.10
- 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)
from 2.3.8 to 2.3.9
- 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
from 2.3.7 to 2.3.8
- 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).
from 2.3.6 to 2.3.7
- 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)
from 2.3.5 to 2.3.6
- fixed Makefile.am in src/dar_suite (removed "/" after $(DESTDIR))
- fixed bug in regex mask building when not using ordered masks
- fixing bug that led dar_manager to report no error while some files failed
to be restored due to command-line for dar being too large.
- fixed bug met when user aborts operation while dar is finalizing archive
creation [SF #1800507]
- fixed problem with execvp when dar_manager launches dar
from 2.3.4 to 2.3.5
- changed displayed message when adding a hard link to an archive while
performing a differential backup
- added back the possibility to use old blowfish implementation (bfw cipher)
- integrated optimization patch from Sonni Norlov
- updated Swedish translation by Peter Landgren
- updated French translation
- fixed broken Native Language Support in 2.3.x (where x<5)
from 2.3.3 to 2.3.4
- fixed behavior when differential backup is interrupted (no more store file
that would have been read if no interruption had been done as "deleted" since
the archive of reference) [SF #1669091].
- added official method to access catalogue's statistics through the API (for
kdar next version).
- Fixed syntax error in dar_par_create.duc and dar_par_test.duc files (Parchive
integration with dar).
- minor spelling fix in error message (compressor.cpp)
- added Wiebe Cazemier's two patches for dar man page
- integrated patch from Dwayne C. Litzenberger to fix weakness in dar's
implementation of the blowfish encryption.
- improved the returned message when an invalid path is given as argument
- updated doc/sample/sample1.txt script file
from 2.3.2 to 2.3.3
- avoid using getpwuid() and getgrgid() for static linking.
- fixed typo in dar's man page
- update FAQ
- fixed bug: uncaught exception thrown when CTRC-C was hit while dar waits an
answer from the user [SF #1612205]
- fixed bug: unusable archive generated when CTRC-C was hit and blowfish
encryption used [SF #1632273]
- added a check to verify that the libdar used is compatible with the current
dar suite programs [SF #1587643]
- fixed bug: added workaround for the right arithmetic shift operator (the
binary produced by gcc-3.4.2 produces computes "v>>s" equal to "v" when when
v is a integer field composed of s exactly bits. It should rather compute it
to zero...).
this problem leads 32 bits generated archive incompatible with 64 bits
generated archive only when blowfish is used.
- fixed bug met when the inode space is exhausted, thanks to "Jo - Ex-Bart" for
this new feedback. [SF #1632738]
- replaced &, <, >, ' and " in XML listing by &...; corresponding sequence.
[SF #1597403]
- dar_manager can receive arguments after stick to -o options (it is an error
in regard to documentation, but no warning was issued in that case, leading
to confusion for some users) [SF #1598138]
- updated Veysel Ozer's automatic_backup script
- fixed hard link detection problem [SF #1667400]
- verbose output did not displayed hard links information
- merged patch on dar_cp by Andrea Palazzi to have it to return EXIT_DATA_ERROR
when some data have been reported [SF #1622913]
from 2.3.2 to 2.3.3
- avoid using getpwuid() and getgrgid() for static linking.
- fixed typo in dar's man page
- update FAQ
from 2.3.1 to 2.3.2
- fixed bug in Native Language Support when --enable-locale-dir was not set
(Thomas Jacob's patch)
- updated Swedish translation by Peter Landgren
- --verbose=skipped was not available (only the short -vs form was available)
- reviewed regex with ordered mask for the feature to better fits user's need
(Dave Vasilevsky's feedback)
- fixed bug where compression algorithm was changed to maximum (fixed with
Richard Fish's adequate patch)
- fixed tutorial with command line evolution (dar's -g option in particular)
- latest version of Grzegorz Adam Hankiewicz's mini-howto
- fixed bug concerning restoration of only more recent files
from 2.3.0 to 2.3.1
- set back Nick Alcock's patch which has been dropped from 2.2.x to 2.3.x (patch
name is "Do not moan about every single file on a non-ext2 filesystem")
- fixed compilation problem when thread-safe code is disabled
- integrated Wiebe Cazemier's patch for dar's man page
- fixed bug in listing: -as option also listed files that had EA even when these
were not saved in the archive
- file permission of installed sample scripts lacked the executable bit
- fixed a bug that appeared when a file is removed while at the time it is saved
by dar
- avoid having an unnecessary warning appearing when restoring a file in a
directory that has default EA set
- Cygwin has changed and does not support anymore the path in the form
"c:/some/where", you have to use "/cygdrive/c/some/where" instead.
Documentation has been updated in consequence.
from 2.2.x to 2.3.0
- added user_interaction::pause2() method
- added the snapshot feature
- added the Cache Directory Tagging detection feature
- adapted Wesley's patch for a pkgconfig for libdar
- added -[ and -] options (file selection from file listing)
Important consequence for libdar user programs:
the fs_root argument is now expanded to full absolute path inside libdar,
thus the mask you will give for path inclusion/exclusion (the "subtree"
argument)will be used against full absolute path of files under consideration
for the operation. Assuming you have fs_root=tmp/A and the current
directory is /tmp, your mask will be used against strings like
/var/tmp/A/some/file. (instead of tmp/A/some/file as in the previous API
version). Things are equal if the fs_root is given an absolute path.
- changed archive format to "05". Due to complete review of EA management.
- upon some signal reception, dar aborts the backup nicely, producing a
completely formatted archive will all the file saved so far. This archive can
be take as reference for a further backup to continue the operation at a later
time.
- dar_manager aborts properly upon certain signal reception (do not let the
database partially updated).
- dar_slave and dar_xform now recognize when a slicename is given in place of a
basename
- reviewed thread_cancellation (API change) for it be possible to cancel several
thread at the same time
- prevent some dead-lock situation that can occur when a signal is received
inside a critical section
- dar_cp, dar_xform and dar_slave also abort nicely upon signal reception
- dar_manager can now restore files based on a given date (not always the most
recent version)
- dar_manager now has an interactive mode (-i option)
- change in API, the warning() method need not be overwritten, but the new
protected method inherited_warning() must be inherited in its place (same
function, same prototype as the original warning() method).
- dar_manager features are now part of libdar. API has been completed with these
new features
- added the "last_slice" context (%c with -E option) when creating an archive
- dar now check a file has not been modified while it was reading it, if so it
reports a warning and returns a specific exit code
- remove included gettext from the package (it is more a source of conflict with
external gettext and if somebody needs internationalization better is to
install libintl/gettext on its own).
- added George Foot feedback about the good backup practice sort guide.
- added -e option to dar_manager
- added the progressive_report feature in the API
- dar can now pause every N slice where N >= 1
- integrated Dave Vasilevsky's patch to support Extended Attributes and file
forks under MacOS X
- added method in API for external program be able to list dar_manager
databases, their file contents and the statistics
- added the merge/sub-archive feature
- remove [list of path] from command line (-g option is now mandatory)
- added regex expression in filters (-ar/-ag options)
- added -ak option
- added the --comparison-field option (extension of the --ignore-owner option
aka -O option)
- added the -af option (backup files more recent than a given date, others are
keept as already saved)
- dar now take care that an escape character can be sent when pressing the arrow
keys and avoid considering them in this situation
- dar will no refuse to abort if user presses escape when dar asks the user to
be ready to write to a new slice
- adapted Wesley Legette's patch for an xml archive listing
- added 'InRef' status for EA (same meaning as the one for file's data)
from 2.2.6 to 2.2.7
- updated Swedish translation by Peter Landgren
- fixed bug #37
- added old function (modified in 2.2.6) for backward compatibility
- added German translation by Markus Kamp
from 2.2.5 to 2.2.6
- fixed bug #36
- avoid removing slices when creating archive in dry-run mode (-e option)
- fixed display problem in dar_cp that lead uncaught exception just before exiting
from 2.2.4 to 2.2.5
- limited size of internal buffers allocated on the stack to not
be greater than SSIZE_MAX when this macro is defined. This comes
from feedback from "Steffe" at sourceforge after he ported dar
to HPnonStop.
- integrated Andrey Yasniy's patch: fixed differential backup problem with
ru_RU.koi8-r locale.
- integrated Nick Alcock's patch: no warning shown when not on EXT2
filesystem and nodump feature has been activated.
- avoid having arrow key be interpreted as escape key (while they remains
an escape key + one char, as received from the tty).
- added part of Kyler Klein's patch for OSX (Tiger) (only concerns included gettext)
from 2.2.3 to 2.2.4
- fixed #35
- added in doc/samples the backup Script of Rodriguez Mendez & Mauro Silvosa
Rivera
- updated Swedish translation by Peter Landgren
from 2.2.2 to 2.2.3
- error in TUTORIAL (-P only receives relative paths)
- updated FAQ with memory requirement questions/problem
- added Bob Barry's script for determining memory requirement
- added documentation about NLS in doc/NOTES
- fixed bug concerning the << operator of infinint class. This has no
impact as this operator is not used in dar/libdar.
- added Jakub Holy's script to doc/samples
- fixed bug with patch transmitted from Debian (Brian May) about the
detection of the ext2_fs.h header.
- added warning in libdar when user asks the nodump flags to be checked against
while the nodump feature has not been activated at compilation time.
- fixed dar man page about --gzip option usage when using an argument
- now counting as errors the file with too long filename
- now counting the file excluded due to nodump flag as ignored due filter
selection
from 2.2.1 to 2.2.2
- fixed typo in dar man page (flowfish ;-) )
- -Q option now forces the non terminal mode even when dar is run from a
terminal (tty) this makes dar possible to run in background without having
the shell stopping it upon text output.
- removed unused control code for dar's command line syntax
- spelling fix of the tutorial by Ralph Slooten
- added the pertinent part of the memory leak patch from Wesley Leggette
(there is no bug here as the function where could occur the memory leak
is not used in dar (!) ).
- updated FAQ
- updated man page information about optional argument's syntax to options
like -z9 or --zip 9
- avoid calls to textdomain() when --disable-nls is set
- updates doc/NOTES
- fixed potential memory leakage on some system (to a "new[]" was
corresponding a "delete" in place of a "delete[]" (Wesley's patch))
In consequences, for API users, note that the following calls
- tools_str2charptr
- tools_extract_basename
- libdar_str2charptr_noexcept
all return a char * pointer which area must be released
by the caller using the delete[] operator
- partially integrated Wesley's api_tutorial patch (added explanations)
- Fixed installation problem of header files, problem reported by
Juergen Menden
- updated the examples programs for they properly initialize libdar
- the gettext.h file was not installed with libdar headers
- fixed typo error reported by Peter Landgren
- updated api_tutorial with compilation & linking informations
- fixed pedantic warning about some classes inherited from "mask"
(the parent copy constructor is not called from inherited copy
constructor; note that the parent class is a pure virtual class)
- added Swedish translation (by Peter Landgren)
- fixed typo in French translation
- added a const_cast statment to avoid compilation warning under some systems
- fixed problem on solaris where the TIME&MIN non canonical parameters
for terminal are not set by default to 1 and 0 (but to 4 and 0),
leading keyboard interaction to be impossible when dar needs
user interaction.
- added O_BINARY to open() mode in dar_cp, without this will cause some problem
under Cygwin.
from 2.2.0 to 2.2.1
- fixed execution problem for testing programs
- added control code to avoid the "endless loop" warning when -M is used
and root and archive are not located on the same filesystem
- replaced an internal bug report by a more appropriate exception (elastic.cpp
line 191)
- fixed bug #31
- fixed bug #32
- fixed bug #33
- changed exception type when dar_manager's -D option does not receive an
integer
as argument
- fixed bug #34
- added Wesley Leggette's patch to API tutorial
- fixed inconsistencies concerning Native Language Support in Dar
- added gettext NLS domain switch when incoming and exiting from libdar
- fixed bug #30
- changed the way ctermid() system call is used
- updated FAQ
from 2.1.x to 2.2.0
- caching read/write for catalogue to drop the number of Context Switches.
- added -aSI and -abinary options
- added -Q option
- added -G option
- fixed a display bug about archive size, present when listing with -v option
- added -aa / -ac options
- added -M option
- thread safe support for libdar
- added -g option
- added -am option
- added -acase / -an options
- user_interaction can now be based on customized C++ class
- user_interaction_callback now have a context argument
- added feature: dar_manager now restores directory tree recursively
- added feature: dar_manager can receive a range of archive number with -D
option
- added summary at the end of configure script
- added -j option (--jog) change behavior when virtual memory is exhausted
- added Native Language Support
- added feature that proposes removal of slices of an older archive of same
basename
- libz is now optional
- libbz2 is now optional
- added openssh's libcrypto dependency
- added blowfish strong encryption
- changed archive format number (version "04"), difference occures only when
encryption is used
- moved libdar operations (archive creation, listing, testing ...) as method of
the C++ archive class
- added thread cancelation routine
- added feature : password can be read out of command-line (interactively at
execution time).
- added programming documentation (thanks to Doxygen)
- optimize CRC computation for speed
- added warning telling [list of path] is deprecated (better use -g option)
- added Todd Vierling's patch for dar to compile under Interix
from 2.1.5 to 2.1.6
- fixed compilation problem with gcc-3.x for dar64
- updated libtool to generate the configure script
- fixed old info in dar's man page
from 2.1.4 to 2.1.5
- added protection code against bad_alloc exception
- new configure option to bypass libdl test
- removed expected exception list in deci, limitint, real_infinint and storage
modules to improve global robustness
- remove the #pragma implementation/interface directives which tend today to
become obsolete, and seems to be the cause of compilation problem on
(recent) Linux kernel 2.6.7 for example.
- added protection code to report bug conditions
- code simplification for filesystem reading (while performing backup)
- fixed bug #29
- fixed code syntax to support gcc-3.4.x
from 2.1.3 to 2.1.4
- fixed bug #27
- improved limitint detection overflow
- fixed bug #28
from 2.1.2 to 2.1.3
- fixed namespace visibility inconsistency for several call to open()
- added "list:" key in conditionnal syntax, to stay coherent with man page
- optimized dar_cp algorithm for speed in case I/O error
- made dar_cp more talkative about events that succeed while copying data
- fixed bug #25
- fixed bug #26
from 2.1.1 to 2.1.2
- fixed bug #24
- added "-w d" option which is equivalent to -w but necessary when dar
is not compiled with GNU getopt
- updated documentation about GNU getopt() vs non GNU getopt()
- update configure script to have libgnugetopt auto-detection
from 2.1.0 to 2.1.1
- fixed configure script warning when an include file is "present but cannot
be compiled"
- fixed bug #21
- fixed bug #22
- dar_xform and dar_slave now send their help usage on stdout (instead of
stderr)
- fixed typo in error message
from 2.0.x to 2.1.0
- fixed bug #17
- API version 2 documentation
- API version 2 implementation
- -E and -F can now be present several time on command line and/or included
files (dar, dar_slave and dar_xform)
- context (%c in -E and -F) is now transmitted in the pipes from dar to
dar_slave
- added -wa option
- added -as option
- added -e option
- updated the API to be able to add new encryption protocol later
- root (-R argument) can now be a symbolic link pointing to a directory
- fixed bug #17bis
- added information returned by the system when error during read() to the
message returned to the user
- fixed bug #18
- documentation about filter mechanism added
- fixed bug #19
- don't fail for a file if permission could not be restored
- fixed bug #20
- configure script does not mess with CXXFLAGS or CFLAGS execpt when using
debugging options.
from 2.0.3 to 2.0.4
- updated autoconf version used to generate configure script (2.57 -> 2.59) The
large file support is back with gcc-3 (was only working with gcc-2)
from 2.0.2 to 2.0.3
- fixed bug #20
from 2.0.1 to 2.0.2
- fixed bug #18
- fixed bug #17bis
- documentation about filter mechanism added
- fixed bug #19
from 2.0.0 to 2.0.1
- fixed bug #17
from version 1.3.0 to 2.0.0
- using configure script (built with automake & autoconf)
- creation of the libdar library
- API for libdar (version 1)
- updating TUTORIAL
- added chapter in NOTES for ssh / netcat use with dar
- added -H option
- making documentation for API : DOC_API
- speed optimization for dar_manager
- enclosed libdar sources in libdar namespace
- added libdar dynamic library support (using libtool)
- fixed bug in ui_printf. Bug appeared with the shell_interaction split from
user_interaction (for libdar)
- fixed bug in dar_manager when creating empty database
- changed hourshift implementation (no static variable used anymore)
- changed code not to have dynamic allocation to take place before main() was
called
- added compilation time option to replace infinint by 32 bits or 64 bits
integers
- added special memory allocation (--enable-special-alloc) to better handle
many small dynamic objects (in the meaning of OOP).
- fix. Dar_manager does no more send all its output to stderr, just interactive
messages are sent there.
- changed "dar_manager -u" do not display anymore files present in the archive
which have not saved data or EA in the asked archive.
- removed displaying of command-line used for backup ("dar -v -l ...") as it
is no more becoming inaccurate due to include files and as it would consume
too much space if it has to be developed.
- added sample scripts for using dar with Parchive
- now displaying option read from configuration files when using -v option
- added %e and %c for user script parameters
- using UPX to compress binary if available at compilation time
- removed comments put by mistake in 1.3.0 around warning when try to backup
the archive itself. This revealed a bug, which made the warning be
issued in some wrong cases.
- removed this previous warning when creating archive on the stdout
- fixed bug #15
- fixed error in libdar sanity checks, where exceptions were not raised (due
to the lack of the "throw" keyword)
- fixed bug #16
- changed order of argument passed to dar by dar_manager, for the -x <archive>
be before any other option (in particular -B options).
from version 1.2.1 to 1.3.0
- added parenthesis for a warning to be able to show, when opening a
scrambled archive
- fixed bug #10
- added feature : --flat option
- improved slice name detection when given in place of archive basename
- added feature : comments in the configuration file given to -B (see
man page for more).
- added feature : --mincompr option
- fixed a display error when listing a hard link (the name of the first
hard link seen on an inode was displayed in place of the name of each hard
link). This did not concern the tree (-T option) listing.
- added standard config files ~/.darrrc and /etc/darrc config files
- conditional statements in included files (using make-like targets)
- added feature : --noconf option
- fixed a bug : warning message issued when th user asks for dar to backup
the archive in itself, was not displayed in some cases.
- fixed bug #11
- added total files counter in each archive while listing dar_manager database
- fixed bug #12
- improved slicename versus basename substitution warning and replacement.
- changed internal name generation to avoid using std::sstream class
- bzip2 compression implemented (need libbz2 library at compilation time)
- added the --nodump feature
- fixed bug #13
- configuration file can have DOS or UNIX text formating
- now closing files before asking for the last slice, this allow un-mounting
filesystem in that case.
from version 1.2.0 to version 1.2.1
- minor change to have backward compatibility with old archive (dar < 1.2.0)
generated on 64 bits OS (have to use OS_BITS=32 in Makefile on 64 bits OS).
- adapted Axel Kohlmeyer's patch for RPMS
- adapted Dietrich Rothe's patch for compression level : -z has an optional
argument which is compression level to use.
- I and -X now available while listing archive contents (-l)
- based on Brian May's patch, dar with EA_SUPPORT avoids complaining when
reading a filesystem that do not supports EA.
- based on Brian May's other patch, dar now uses by default the <stdint.h>
integers.
- dar is now built with dynamic linking, and a special version named
dar_static which is statically linked is also available
- fixed problem on Windows NT & 2000 (fixed by first change above)
from version 1.1.0 to version 1.2.0
- -P option can now accept wild cards
- changed dar output format when listing archive contents to have something
more similar to the output of tar. -T is provided to get the previous tree
listing
- fixed bug #6
- user interaction is now possible even if standard input is used (for pipe)
- fixed bug #7
- added some missing #include files for compilation under Windows using Cygwin
- added feature to display name of user and group (when possible) in place of
uid and gid while listing archive contents.
- added the possibility to launch command between slices (-E and -F options)
for dar, dar_xform and dar_slave.
- when saving or comparing a directory tree, DAR goes transparently in
subdirectory not modifying the last_access date of each directory.
- usage text (displayed by -h option) is now generated from xml file
thanks to Chris Martin's little software named dar-help
- fixed bug concerning the uninstallation of man pages
- changed the place where man pages and documentation go /usr/share/doc
usr/share/man
in place of /usr/doc and /usr/man for the RPM package (conform to Filesystem
Hierarchy Standard)
- changed the place where documentation goes for /usr/local/doc to
/usr/local/share/doc by default. (Thanks to Jerome Zago)
(conform to Filesystem Hierarchy Standard)
- added scrambling features (-J and -K options)
- added selective compression (-Y and -Z options)
- added third state for saved data to keep trace in an extracted catalogue of
what is saved in the reference archive (this opens the door to the archive
manager)
- added the ability to read configuration file (-B option, -B like "batch").
- if a slice name is given in place of a base name, dar proposes to change
to the correct base name (strips the extension number and dots).
- fixed bug #8
- added dar_manager command-line program
- replaced integer types by macro that can be adapted to have correct behavior
on 64 bits platform (in particular to read archive from other platforms).
from version 1.0.0 to version 1.1.0
- added feature: now ignored directory are not stored at all in the archive
unless -D option is used, in which case ignored directory are recorded as
empty directory (as it was in 1.0.x)
- added support for hard links. Generated archive format version is now 02, but
format 01 can still be read, and use as reference.
- fixed bug #1
- fixed bug #2
- fixed bug #3
- added feature: restore only more recent file than existing one (-r option)
- added feature: support for Extended Attributes (activated at compilation)
- added feature: verbose option (-v) with -l (add archive contents)
- modified behavior: -l option without -v is no more interactive
- added feature: archive integrity test (option -t). CRC have been added in
the archive (format 02), thus even without compression Dar is able to
detect errors.
- added feature: comparison with filesystem (difference) (option -d)
- modified behavior: non interactive messages goes to stdout, while those
asking user, goes to stderr (all goes to stderr if stdout is used for
producing the archive, or for sending orders do dar_slave.
- added feature: DAR automatically goes in non interactive mode if no terminal
is found on standard input (for example when run from crontab). In that
case any question make DAR to abort.
- added feature: catalogue extraction to small file: "isolation" (-C option)
- added feature: archive produced on stdout when using -c or -C with "-" as
filename
- added feature: -V option summarizes version of the binary
- added feature: additional command "dar_xform" to "re-slice" an archive
- added feature: read archive trough a pair of pipes with the help of dar_slave
- added feature: long option are now available (see man page)
- fixed bug #5
- a lot of speed optimization in algorithm
- changed exit codes to positive values in case of error
- dar returns an new error code when an operation is partially successful
(some filed missed to be saved / restored / tested / compared).
- replace the use of vform() method by a customized simple implementation
in the ui_printf() routine, this should now allow compilation with gcc-3
- changed long option that used an underscore character (`_') by a dash ('-')
- added -O option to have a better behavior when used with non root user
- added 'make doc' option in the makefile
from version 1.0.2 to version 1.0.3
- bug #5 fixed
from version 1.0.1 to version 1.0.2
- bug #2 fixed
- bug #3 fixed
from version 1.0.0 to version 1.0.1
- correction of few mistakes that lead the compilation to fail with certain
C++ compilers
- bug #1 fixed.
|