Blame bzlib-src/CHANGES

Packit Service 4d3269
 ------------------------------------------------------------------
Packit Service 4d3269
 This file is part of bzip2/libbzip2, a program and library for
Packit Service 4d3269
 lossless, block-sorting data compression.
Packit Service 4d3269
Packit Service 4d3269
 bzip2/libbzip2 version 1.0.6 of 6 September 2010
Packit Service 4d3269
 Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
Packit Service 4d3269
Packit Service 4d3269
 Please read the WARNING, DISCLAIMER and PATENTS sections in the 
Packit Service 4d3269
 README file.
Packit Service 4d3269
Packit Service 4d3269
 This program is released under the terms of the license contained
Packit Service 4d3269
 in the file LICENSE.
Packit Service 4d3269
 ------------------------------------------------------------------
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
0.9.0
Packit Service 4d3269
~~~~~
Packit Service 4d3269
First version.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
0.9.0a
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Removed 'ranlib' from Makefile, since most modern Unix-es 
Packit Service 4d3269
don't need it, or even know about it.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
0.9.0b
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Fixed a problem with error reporting in bzip2.c.  This does not effect
Packit Service 4d3269
the library in any way.  Problem is: versions 0.9.0 and 0.9.0a (of the
Packit Service 4d3269
program proper) compress and decompress correctly, but give misleading
Packit Service 4d3269
error messages (internal panics) when an I/O error occurs, instead of
Packit Service 4d3269
reporting the problem correctly.  This shouldn't give any data loss
Packit Service 4d3269
(as far as I can see), but is confusing.
Packit Service 4d3269
Packit Service 4d3269
Made the inline declarations disappear for non-GCC compilers.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
0.9.0c
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Fixed some problems in the library pertaining to some boundary cases.
Packit Service 4d3269
This makes the library behave more correctly in those situations.  The
Packit Service 4d3269
fixes apply only to features (calls and parameters) not used by
Packit Service 4d3269
bzip2.c, so the non-fixedness of them in previous versions has no
Packit Service 4d3269
effect on reliability of bzip2.c.
Packit Service 4d3269
Packit Service 4d3269
In bzlib.c:
Packit Service 4d3269
   * made zero-length BZ_FLUSH work correctly in bzCompress().
Packit Service 4d3269
   * fixed bzWrite/bzRead to ignore zero-length requests.
Packit Service 4d3269
   * fixed bzread to correctly handle read requests after EOF.
Packit Service 4d3269
   * wrong parameter order in call to bzDecompressInit in
Packit Service 4d3269
     bzBuffToBuffDecompress.  Fixed.
Packit Service 4d3269
Packit Service 4d3269
In compress.c:
Packit Service 4d3269
   * changed setting of nGroups in sendMTFValues() so as to 
Packit Service 4d3269
     do a bit better on small files.  This _does_ effect
Packit Service 4d3269
     bzip2.c.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
0.9.5a
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Major change: add a fallback sorting algorithm (blocksort.c)
Packit Service 4d3269
to give reasonable behaviour even for very repetitive inputs.
Packit Service 4d3269
Nuked --repetitive-best and --repetitive-fast since they are
Packit Service 4d3269
no longer useful.
Packit Service 4d3269
Packit Service 4d3269
Minor changes: mostly a whole bunch of small changes/
Packit Service 4d3269
bugfixes in the driver (bzip2.c).  Changes pertaining to the
Packit Service 4d3269
user interface are:
Packit Service 4d3269
Packit Service 4d3269
   allow decompression of symlink'd files to stdout
Packit Service 4d3269
   decompress/test files even without .bz2 extension
Packit Service 4d3269
   give more accurate error messages for I/O errors
Packit Service 4d3269
   when compressing/decompressing to stdout, don't catch control-C
Packit Service 4d3269
   read flags from BZIP2 and BZIP environment variables
Packit Service 4d3269
   decline to break hard links to a file unless forced with -f
Packit Service 4d3269
   allow -c flag even with no filenames
Packit Service 4d3269
   preserve file ownerships as far as possible
Packit Service 4d3269
   make -s -1 give the expected block size (100k)
Packit Service 4d3269
   add a flag -q --quiet to suppress nonessential warnings
Packit Service 4d3269
   stop decoding flags after --, so files beginning in - can be handled
Packit Service 4d3269
   resolved inconsistent naming: bzcat or bz2cat ?
Packit Service 4d3269
   bzip2 --help now returns 0
Packit Service 4d3269
Packit Service 4d3269
Programming-level changes are:
Packit Service 4d3269
Packit Service 4d3269
   fixed syntax error in GET_LL4 for Borland C++ 5.02
Packit Service 4d3269
   let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
Packit Service 4d3269
   fix overshoot of mode-string end in bzopen_or_bzdopen
Packit Service 4d3269
   wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
Packit Service 4d3269
   close file handles under all error conditions
Packit Service 4d3269
   added minor mods so it compiles with DJGPP out of the box
Packit Service 4d3269
   fixed Makefile so it doesn't give problems with BSD make
Packit Service 4d3269
   fix uninitialised memory reads in dlltest.c
Packit Service 4d3269
Packit Service 4d3269
0.9.5b
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Open stdin/stdout in binary mode for DJGPP.
Packit Service 4d3269
Packit Service 4d3269
0.9.5c
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1.  The + 1
Packit Service 4d3269
version could cause the sorted order to be wrong in some extremely
Packit Service 4d3269
obscure cases.  Also changed setting of quadrant in blocksort.c.
Packit Service 4d3269
Packit Service 4d3269
0.9.5d
Packit Service 4d3269
~~~~~~
Packit Service 4d3269
The only functional change is to make bzlibVersion() in the library
Packit Service 4d3269
return the correct string.  This has no effect whatsoever on the
Packit Service 4d3269
functioning of the bzip2 program or library.  Added a couple of casts
Packit Service 4d3269
so the library compiles without warnings at level 3 in MS Visual
Packit Service 4d3269
Studio 6.0.  Included a Y2K statement in the file Y2K_INFO.  All other
Packit Service 4d3269
changes are minor documentation changes.
Packit Service 4d3269
Packit Service 4d3269
1.0
Packit Service 4d3269
~~~
Packit Service 4d3269
Several minor bugfixes and enhancements:
Packit Service 4d3269
Packit Service 4d3269
* Large file support.  The library uses 64-bit counters to
Packit Service 4d3269
  count the volume of data passing through it.  bzip2.c 
Packit Service 4d3269
  is now compiled with -D_FILE_OFFSET_BITS=64 to get large
Packit Service 4d3269
  file support from the C library.  -v correctly prints out
Packit Service 4d3269
  file sizes greater than 4 gigabytes.  All these changes have
Packit Service 4d3269
  been made without assuming a 64-bit platform or a C compiler
Packit Service 4d3269
  which supports 64-bit ints, so, except for the C library
Packit Service 4d3269
  aspect, they are fully portable.
Packit Service 4d3269
Packit Service 4d3269
* Decompression robustness.  The library/program should be
Packit Service 4d3269
  robust to any corruption of compressed data, detecting and
Packit Service 4d3269
  handling _all_ corruption, instead of merely relying on
Packit Service 4d3269
  the CRCs.  What this means is that the program should 
Packit Service 4d3269
  never crash, given corrupted data, and the library should
Packit Service 4d3269
  always return BZ_DATA_ERROR.
Packit Service 4d3269
Packit Service 4d3269
* Fixed an obscure race-condition bug only ever observed on
Packit Service 4d3269
  Solaris, in which, if you were very unlucky and issued
Packit Service 4d3269
  control-C at exactly the wrong time, both input and output
Packit Service 4d3269
  files would be deleted.
Packit Service 4d3269
Packit Service 4d3269
* Don't run out of file handles on test/decompression when
Packit Service 4d3269
  large numbers of files have invalid magic numbers.
Packit Service 4d3269
Packit Service 4d3269
* Avoid library namespace pollution.  Prefix all exported 
Packit Service 4d3269
  symbols with BZ2_.
Packit Service 4d3269
Packit Service 4d3269
* Minor sorting enhancements from my DCC2000 paper.
Packit Service 4d3269
Packit Service 4d3269
* Advance the version number to 1.0, so as to counteract the
Packit Service 4d3269
  (false-in-this-case) impression some people have that programs 
Packit Service 4d3269
  with version numbers less than 1.0 are in some way, experimental,
Packit Service 4d3269
  pre-release versions.
Packit Service 4d3269
Packit Service 4d3269
* Create an initial Makefile-libbz2_so to build a shared library.
Packit Service 4d3269
  Yes, I know I should really use libtool et al ...
Packit Service 4d3269
Packit Service 4d3269
* Make the program exit with 2 instead of 0 when decompression
Packit Service 4d3269
  fails due to a bad magic number (ie, an invalid bzip2 header).
Packit Service 4d3269
  Also exit with 1 (as the manual claims :-) whenever a diagnostic
Packit Service 4d3269
  message would have been printed AND the corresponding operation 
Packit Service 4d3269
  is aborted, for example
Packit Service 4d3269
     bzip2: Output file xx already exists.
Packit Service 4d3269
  When a diagnostic message is printed but the operation is not 
Packit Service 4d3269
  aborted, for example
Packit Service 4d3269
     bzip2: Can't guess original name for wurble -- using wurble.out
Packit Service 4d3269
  then the exit value 0 is returned, unless some other problem is
Packit Service 4d3269
  also detected.
Packit Service 4d3269
Packit Service 4d3269
  I think it corresponds more closely to what the manual claims now.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.1
Packit Service 4d3269
~~~~~
Packit Service 4d3269
* Modified dlltest.c so it uses the new BZ2_ naming scheme.
Packit Service 4d3269
* Modified makefile-msc to fix minor build probs on Win2k.
Packit Service 4d3269
* Updated README.COMPILATION.PROBLEMS.
Packit Service 4d3269
Packit Service 4d3269
There are no functionality changes or bug fixes relative to version
Packit Service 4d3269
1.0.0.  This is just a documentation update + a fix for minor Win32
Packit Service 4d3269
build problems.  For almost everyone, upgrading from 1.0.0 to 1.0.1 is
Packit Service 4d3269
utterly pointless.  Don't bother.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.2
Packit Service 4d3269
~~~~~
Packit Service 4d3269
A bug fix release, addressing various minor issues which have appeared
Packit Service 4d3269
in the 18 or so months since 1.0.1 was released.  Most of the fixes
Packit Service 4d3269
are to do with file-handling or documentation bugs.  To the best of my
Packit Service 4d3269
knowledge, there have been no data-loss-causing bugs reported in the
Packit Service 4d3269
compression/decompression engine of 1.0.0 or 1.0.1.
Packit Service 4d3269
Packit Service 4d3269
Note that this release does not improve the rather crude build system
Packit Service 4d3269
for Unix platforms.  The general plan here is to autoconfiscate/
Packit Service 4d3269
libtoolise 1.0.2 soon after release, and release the result as 1.1.0
Packit Service 4d3269
or perhaps 1.2.0.  That, however, is still just a plan at this point.
Packit Service 4d3269
Packit Service 4d3269
Here are the changes in 1.0.2.  Bug-reporters and/or patch-senders in
Packit Service 4d3269
parentheses.
Packit Service 4d3269
Packit Service 4d3269
* Fix an infinite segfault loop in 1.0.1 when a directory is
Packit Service 4d3269
  encountered in -f (force) mode.
Packit Service 4d3269
     (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
Packit Service 4d3269
Packit Service 4d3269
* Avoid double fclose() of output file on certain I/O error paths.
Packit Service 4d3269
     (Solar Designer)
Packit Service 4d3269
Packit Service 4d3269
* Don't fail with internal error 1007 when fed a long stream (> 48MB)
Packit Service 4d3269
  of byte 251.  Also print useful message suggesting that 1007s may be
Packit Service 4d3269
  caused by bad memory.
Packit Service 4d3269
     (noticed by Juan Pedro Vallejo, fixed by me)
Packit Service 4d3269
Packit Service 4d3269
* Fix uninitialised variable silly bug in demo prog dlltest.c.
Packit Service 4d3269
     (Jorj Bauer)
Packit Service 4d3269
Packit Service 4d3269
* Remove 512-MB limitation on recovered file size for bzip2recover
Packit Service 4d3269
  on selected platforms which support 64-bit ints.  At the moment
Packit Service 4d3269
  all GCC supported platforms, and Win32.
Packit Service 4d3269
     (me, Alson van der Meulen)
Packit Service 4d3269
Packit Service 4d3269
* Hard-code header byte values, to give correct operation on platforms
Packit Service 4d3269
  using EBCDIC as their native character set (IBM's OS/390).
Packit Service 4d3269
     (Leland Lucius)
Packit Service 4d3269
Packit Service 4d3269
* Copy file access times correctly.
Packit Service 4d3269
     (Marty Leisner)
Packit Service 4d3269
Packit Service 4d3269
* Add distclean and check targets to Makefile.
Packit Service 4d3269
     (Michael Carmack)
Packit Service 4d3269
Packit Service 4d3269
* Parameterise use of ar and ranlib in Makefile.  Also add $(LDFLAGS).
Packit Service 4d3269
     (Rich Ireland, Bo Thorsen)
Packit Service 4d3269
Packit Service 4d3269
* Pass -p (create parent dirs as needed) to mkdir during make install.
Packit Service 4d3269
     (Jeremy Fusco)
Packit Service 4d3269
Packit Service 4d3269
* Dereference symlinks when copying file permissions in -f mode.
Packit Service 4d3269
     (Volker Schmidt)
Packit Service 4d3269
Packit Service 4d3269
* Majorly simplify implementation of uInt64_qrm10.
Packit Service 4d3269
     (Bo Lindbergh)
Packit Service 4d3269
Packit Service 4d3269
* Check the input file still exists before deleting the output one,
Packit Service 4d3269
  when aborting in cleanUpAndFail().
Packit Service 4d3269
     (Joerg Prante, Robert Linden, Matthias Krings)
Packit Service 4d3269
Packit Service 4d3269
Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
Packit Service 4d3269
of bzip2:
Packit Service 4d3269
Packit Service 4d3269
* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
Packit Service 4d3269
Packit Service 4d3269
* Spelling changes and minor enhancements in bzip2.1.
Packit Service 4d3269
Packit Service 4d3269
* Avoid race condition between creating the output file and setting its
Packit Service 4d3269
  interim permissions safely, by using fopen_output_safely().
Packit Service 4d3269
  No changes to bzip2recover since there is no issue with file
Packit Service 4d3269
  permissions there.
Packit Service 4d3269
Packit Service 4d3269
* do not print senseless report with -v when compressing an empty
Packit Service 4d3269
  file.
Packit Service 4d3269
Packit Service 4d3269
* bzcat -f works on non-bzip2 files.
Packit Service 4d3269
Packit Service 4d3269
* do not try to escape shell meta-characters on unix (the shell takes
Packit Service 4d3269
  care of these).
Packit Service 4d3269
Packit Service 4d3269
* added --fast and --best aliases for -1 -9 for gzip compatibility.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.3 (15 Feb 05)
Packit Service 4d3269
~~~~~~~~~~~~~~~~~
Packit Service 4d3269
Fixes some minor bugs since the last version, 1.0.2.
Packit Service 4d3269
Packit Service 4d3269
* Further robustification against corrupted compressed data.
Packit Service 4d3269
  There are currently no known bitstreams which can cause the
Packit Service 4d3269
  decompressor to crash, loop or access memory which does not
Packit Service 4d3269
  belong to it.  If you are using bzip2 or the library to 
Packit Service 4d3269
  decompress bitstreams from untrusted sources, an upgrade
Packit Service 4d3269
  to 1.0.3 is recommended.  This fixes CAN-2005-1260.
Packit Service 4d3269
Packit Service 4d3269
* The documentation has been converted to XML, from which html
Packit Service 4d3269
  and pdf can be derived.
Packit Service 4d3269
Packit Service 4d3269
* Various minor bugs in the documentation have been fixed.
Packit Service 4d3269
Packit Service 4d3269
* Fixes for various compilation warnings with newer versions of
Packit Service 4d3269
  gcc, and on 64-bit platforms.
Packit Service 4d3269
Packit Service 4d3269
* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
Packit Service 4d3269
  This has been fixed.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.4 (20 Dec 06)
Packit Service 4d3269
~~~~~~~~~~~~~~~~~
Packit Service 4d3269
Fixes some minor bugs since the last version, 1.0.3.
Packit Service 4d3269
Packit Service 4d3269
* Fix file permissions race problem (CAN-2005-0953).
Packit Service 4d3269
Packit Service 4d3269
* Avoid possible segfault in BZ2_bzclose.  From Coverity's NetBSD
Packit Service 4d3269
  scan.
Packit Service 4d3269
Packit Service 4d3269
* 'const'/prototype cleanups in the C code.
Packit Service 4d3269
Packit Service 4d3269
* Change default install location to /usr/local, and handle multiple
Packit Service 4d3269
  'make install's without error.
Packit Service 4d3269
Packit Service 4d3269
* Sanitise file names more carefully in bzgrep.  Fixes CAN-2005-0758
Packit Service 4d3269
  to the extent that applies to bzgrep.
Packit Service 4d3269
Packit Service 4d3269
* Use 'mktemp' rather than 'tempfile' in bzdiff.
Packit Service 4d3269
Packit Service 4d3269
* Tighten up a couple of assertions in blocksort.c following automated
Packit Service 4d3269
  analysis.
Packit Service 4d3269
Packit Service 4d3269
* Fix minor doc/comment bugs.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.5 (10 Dec 07)
Packit Service 4d3269
~~~~~~~~~~~~~~~~~
Packit Service 4d3269
Security fix only.  Fixes CERT-FI 20469 as it applies to bzip2.
Packit Service 4d3269
Packit Service 4d3269
Packit Service 4d3269
1.0.6 (6 Sept 10)
Packit Service 4d3269
~~~~~~~~~~~~~~~~~
Packit Service 4d3269
Packit Service 4d3269
* Security fix for CVE-2010-0405.  This was reported by Mikolaj
Packit Service 4d3269
  Izdebski.
Packit Service 4d3269
Packit Service 4d3269
* Make the documentation build on Ubuntu 10.04