* POSIX-ism: they have determined that uudecode is not expected
to exit failure when the output file mode cannot be changed.
Either POSIXLY_CORRECT or --ignore-chmod will cause uudecode
to behave this way.
* output file names may be encoded in the uuencoded file.
By specifying '--encode' on the command line, the output
file name will be base64 encoded in the uuencode file.
* lzmadec and liblzma's lzma_alone_decoder(): Support decompressing
.lzma files that have less common settings in the headers
(dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed
size greater than 256 GiB). The limitations existed to avoid false
positives when detecting .lzma files. The lc + lp <= 4 limitation
still remains since liblzma's LZMA decoder has that limitation.
NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT
affected by this change. They still consider uncommon .lzma headers
as not being in the .lzma format. Changing this would give way too
many false positives.
* xz:
- Interaction of preset and custom filter chain options was
made less illogical. This affects only certain less typical
uses cases so few people are expected to notice this change.
Now when a custom filter chain option (e.g. --lzma2) is
specified, all preset options (-0 ... -9, -e) earlier are on
the command line are completely forgotten. Similarly, when
a preset option is specified, all custom filter chain options
earlier on the command line are completely forgotten.
Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e"
which is equivalent to "xz -6e". Earlier -e didn't put xz back
into preset mode and thus the example command was equivalent
to "xz --lzma2=preset=5".
Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to
"xz -7". Earlier a custom filter chain option didn't make
xz forget the -e option so the example was equivalent to
"xz -7e".
- Fixes and improvements to error handling.
- Various fixes to the man page.
* xzless: Fixed to work with "less" versions 448 and later.
* xzgrep: Made -h an alias for --no-filename.
* Include the previously missing debug/translation.bash which can
be useful for translators.
* Include a build script for Mac OS X. This has been in the Git
repository since 2010 but due to a mistake in Makefile.am the
script hasn't been included in a release tarball before.
Changelog:
from 2.4.9 to to 2.4.10
- 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.
from 2.4.8 to 2.4.9
- fixed bug: during differential backup dar saved unchanged hard linked inode
when a hard link on that inode was out of the -R root directory. This also
has the effect to always save files with long names on NTFS filesystems (!)
- Adapted patch provided by Kevin Wormington (new messages displayed)
- Fixed syntax error in configure script about execinfo detection
- Removed unused AM_ICONV macro from configure script
- fixed bug met under Cygwin when auxiliary test command failed to link when
libgcrypt was not available.
- updated mini-howto by Grzegorz Adam Hankiewicz
- updating French message translations
- restricted security warning for plain files and hard linked plain files
- fixed display bug in dar_cp when manipulating files larger than 2 GB
- fixed SEGFAULT met when adding to a dar_manager database an archive which
base name is an empty string
- improved error message, reporting the -B included file in which a syntax error
has been met
- modified dar_manager database to consider both ctime and mtime as timestamp
value for data of saved files. This suppresses the warning about badly ordered
archives in database when at some files have been restores from a old
backup.
from 2.4.7 to 2.4.8
- 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
from 2.4.6 to 2.4.7
- fixing memory allocation bug in crc class, that lead glibc aborting dar
- reviewed code and replaced some remaining occurences of bzero/bcopy by
their recommended replacement version
- 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 has been changed while it was saved, then
saved a second time but has its size modified since the first time it was
saved.
from 2.4.5 to 2.4.6
- fixed bug met while interrupting compressed archive creation, the resulting
archive was only readable in --sequential-read mode
- fixed bug met while reading an interrupted archive in sequential reading
mode. It lead dar to not release some objects from memory at the end of
the operation, which displayed an ugly error message from libdar selfcheck
routine.
- fixed message reporting unknown system group when converting gid to name
(was reporting unknow "user" instead of unknown "group")
- removing the $Id:$ macro from file as we moved from CVS to GIT
- updating package to distribute Patrick Nagel's scripts and documentation
- updated URL pointing to Patrick Nagel's web site
- updating documentation describing how to get source code from GIT (no more
from CVS)
- fixed typo in configure.ac
- added info on how to build a brand-new dar tarball from source in GIT
- modifies the end of messages shown by -h option to point to man page for
more _options_ rather than _details_
- replaced − in the HTML generated documentation by a standard ASCII dash
- fixed alignement bug in CRC calculation that lead libdar based application to
crash on sparc-based systems.
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
The "--keep" (-k) option was added to not delete input files, in line with other tools such as xz, lzip, and bzip2. A decompression issue with certain invalid data in the 'pack' format was fixed. An incorrect overwrite when compiled with optimization was fixed. zgrep's handling of multi-digit context options was fixed. zmore now acts more like 'more'.
Changelog:
* Noteworthy changes in release 1.5 (2012-06-17) [stable]
** Bug fixes
gzip -d now decodes and checks header CRC16 checksums as specified by
the FHCRC section of Internet RFC 1952.
"gzip -d -S '' precious.gz" is now rejected immediately. Before,
that command would emulate "rm -i precious.gz", but with an easily-
misunderstood prompt. I.e., gzip would ask if it's ok to remove the
existing file, "precious.gz". If you made the mistake of saying "yes",
it would remove that input file before attempting to uncompress it.
gzip -cdf now properly handles input consisting of gzip'd data followed
by uncompressed data. Before it would output raw compressed input, too.
For example, now "(printf x|gzip; echo y)|gzip -dcf" prints "xy\n",
while before it would print "x<compressed data>y\n".
gzip -rf no longer compresses files more than once (e.g., replacing
FOO with FOO.gz.gz) on file systems such as ZFS where a readdir
loop that unlinks and creates files can revisit output files.
* Update LICENSE to gnu-gpl-v3
Changelog:
2.11:
Fix mt build.
In copy-in mode, if directory attributes do not permit writing to it, setting them is delayed until the end of run. This allows to correctly extract files in such directories.
In copy-in mode, permissions of a directory are restored if it appears in the file list after files in it (e.g. in listings produced by find . -depth). This fixes debian bug #458079.
Fix possible memory overflow in the rmt client code (CVE-2010-0624).
2.10:
Ensure record headers are properly packed (fix builds on ARM).
Fix exit codes to reliably indicate success or failure of the operation.
Fix large file support.
Support MinGW builds.
Minor bugfixes.
2.9:
Licensed under the GPLv3.
Bugfixes
Honor umask when creating intermediate directories, not specified in the archive (debian bug #430053).
2.8:
Option --owner can be used in copy-out mode, allowing to uniformly override the ownership of the files being added to the archive.
Bugfixes:
Symlinks were handled incorrectly in copy-out mode.
Fix handling of large files.
Fix setting the file permissions in copy-out mode.
Fix CAN-2005-1111
2.7:
Improved error checking and diagnostics
Fixed CAN-1999-1572
Allow to use --sparse in both copy-in and copy-pass.
Fix bug that eventually caused copying out the same hard-linked file several times to archive.
Fix several LFS-related issues.
Fix Debian bug #335580.
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Directory paths containing '..' as a directory name are now sanitized,
to prevent malicious archives being able to overwrite arbitrary files on
the filesystem.
Symbolic links are now extracted in a safer way, being created as dummy
files in O_EXCL mode that are overwritten with proper symbolic links at
the end of extraction.
Processing of archives read from IPC pipes (including stdin) has
been fixed.
Changes from previous:
----------------------
2.10 2013-03-25 rurban
- updated bzlib-src from 1.0.2 to 1.0.6
- [cpan #82308] make breaks on 5.17.7 by schubiger
- [cpan #21961] update ppport.h
- [cpan #25002] memBzip() ignores level
keep using default 6, but honor optional level argument
- use -std=c89 on gcc compat compilers
- fix -Wimplicit-int warning for show_bzversion main()
- fix a couple if dangling else corner cases
format string errors, and unused variables.
- [cpan #82576] fix pod formatting errors
- [cpan #48128] support memBunzip BZh header w/o extra size prefix
and grow dest buf dynamically. Tests in t/040-memory.t
- [cpan #40741] fix bzreadline blocked on the broken bz2 files
- [cpan #84223] fix ignored bzinflateInit args
- [cpan #48124] Multiple issues with bzinflate
support PV ref as bzinflate() buffer arg as documented.
support status checks in chunked bzinflate() calls. t/060-inflate.t
- [cpan #49618] fix for win32 nmake + gcc
- fix t/041-error.t bzopen does not work with filehandles with 5.6,
global destruction of IO::Handle mixed up with a socket
- [cpan #36246] compress 0-byte srcfiles correctly. by Jeffrey Ratcliffe.
fixes debian bug 464205
- [cpan #28366] added testcase for double free or corruption on 32 bit, threaded
but could not repro it.
2.11 2013-04-01 rurban
- [cpan #84239] Updated FSF address
- [cpan #68572] Workaround EUMM bug #84345 missing -R
2.12 2013-04-01 rurban
- Fixed META.yml, added META records and SIGN, LICENSE, repository to Makefile.PL,
META.yml is now autogenerated
- added META and POD tests
2.13 2013-04-01 rurban
- Fixed POD coverage
2.14 2013-04-05 rurban
- Fixed solaris gcc issue [cpan #84432] by removing -std=c89
2.15 2013-04-05 rurban
- Silence show_bzversion warnings with make test in t/lib.pl when -lbz2 is unusable.
ParseConfig is duplicated and not needed in t/lib.pl, but I'll leave it there.
* Multi-step trials have been implemented.
* Compression ratio has been slightly increased.
* Compression time has been reduced by 5%.
* Decompression time has been reduced by 12%.
File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
COMMENT should not be longer than 70 characters.
COMMENT should not begin with 'A'.
COMMENT should not begin with 'An'.
COMMENT should not begin with 'a'.
COMMENT should not end with a period.
COMMENT should start with a capital letter.
pkglint warnings. Some files also got minor formatting, spelling, and style
corrections.
0.11 [2013/03/23]
* Added Zip64 support (large file support)
* Added UTF-8 support for file names, file comments, and archive comments
* Changed API for name and comment related functions for UTF-8 support
* Added zip_discard()
* Added ZIP_TRUNCATE for zip_open()
* Added zip_set_file_compression()
* Added API for accessing and modifying extra fields
* Improved API type consistency
* Use gcc4's visibility __attribute__
* More changes for Windows support
* Additional test cases