CHANGES revision 199767f8919635c4928607450d9e0abb932109ce
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner ------------------------------------------------------------------
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner This file is part of bzip2/libbzip2, a program and library for
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder lossless, block-sorting data compression.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner bzip2/libbzip2 version 1.0.6 of 6 September 2010
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner Please read the WARNING, DISCLAIMER and PATENTS sections in the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder README file.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner This program is released under the terms of the license contained
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder in the file LICENSE.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner ------------------------------------------------------------------
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner0.9.0
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner~~~~~
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerFirst version.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner0.9.0a
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner~~~~~~
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerRemoved 'ranlib' from Makefile, since most modern Unix-es
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerdon't need it, or even know about it.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner0.9.0b
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner~~~~~~
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerFixed a problem with error reporting in bzip2.c. This does not effect
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerthe library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerprogram proper) compress and decompress correctly, but give misleading
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknererror messages (internal panics) when an I/O error occurs, instead of
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerreporting the problem correctly. This shouldn't give any data loss
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner(as far as I can see), but is confusing.
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen KuksaMade the inline declarations disappear for non-GCC compilers.
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa
ab4256496e72886018b78571057331f373da6883Eugen Kuksa0.9.0c
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen Kuksa~~~~~~
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen KuksaFixed some problems in the library pertaining to some boundary cases.
f8597aabc9db75dcf504e3151faf220a165c90d1Eugen KuksaThis makes the library behave more correctly in those situations. The
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerfixes apply only to features (calls and parameters) not used by
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknerbzip2.c, so the non-fixedness of them in previous versions has no
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elknereffect on reliability of bzip2.c.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
60e6795dd310e10194e12bb660575aadf941328bEugen KuksaIn bzlib.c:
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksa * made zero-length BZ_FLUSH work correctly in bzCompress().
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksa * fixed bzWrite/bzRead to ignore zero-length requests.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner * fixed bzread to correctly handle read requests after EOF.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner * wrong parameter order in call to bzDecompressInit in
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner bzBuffToBuffDecompress. Fixed.
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner
a84a8d508a0778b13a4d097a6dd34b95feae78acJens ElknerIn compress.c:
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner * changed setting of nGroups in sendMTFValues() so as to
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner do a bit better on small files. This _does_ effect
60e6795dd310e10194e12bb660575aadf941328bEugen Kuksa bzip2.c.
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder0.9.5a
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder~~~~~~
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederMajor change: add a fallback sorting algorithm (blocksort.c)
c0c2380bced8159ff0297ece14eba948bd236471Christian Maederto give reasonable behaviour even for very repetitive inputs.
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichNuked --repetitive-best and --repetitive-fast since they are
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maederno longer useful.
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus LuettichMinor changes: mostly a whole bunch of small changes/
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maederbugfixes in the driver (bzip2.c). Changes pertaining to the
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederuser interface are:
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder
ce5b44277ea06257548ff625e928cb1290c6d297cmaeder allow decompression of symlink'd files to stdout
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder decompress/test files even without .bz2 extension
fa8878c6145f652f615a04a5e9c15a1d1327bc92cmaeder give more accurate error messages for I/O errors
ce5b44277ea06257548ff625e928cb1290c6d297cmaeder when compressing/decompressing to stdout, don't catch control-C
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder read flags from BZIP2 and BZIP environment variables
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder decline to break hard links to a file unless forced with -f
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder allow -c flag even with no filenames
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder preserve file ownerships as far as possible
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder make -s -1 give the expected block size (100k)
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder add a flag -q --quiet to suppress nonessential warnings
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder stop decoding flags after --, so files beginning in - can be handled
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder resolved inconsistent naming: bzcat or bz2cat ?
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder bzip2 --help now returns 0
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder
3dde4051c307b609159a097f08a05108fdd036efJonathan von SchroederProgramming-level changes are:
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder fixed syntax error in GET_LL4 for Borland C++ 5.02
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
825a1e4ca1e768de4b4883c65a6cb1dce6aa0002Christian Maeder fix overshoot of mode-string end in bzopen_or_bzdopen
3dde4051c307b609159a097f08a05108fdd036efJonathan von Schroeder wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder close file handles under all error conditions
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder added minor mods so it compiles with DJGPP out of the box
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder fixed Makefile so it doesn't give problems with BSD make
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder fix uninitialised memory reads in dlltest.c
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder0.9.5b
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder~~~~~~
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian MaederOpen stdin/stdout in binary mode for DJGPP.
4b4a0b61b72cf8478a5d4d5002bca9f699401363Christian Maeder
308834907a120fd8771e18292ed2ca9cd767c12dChristian Maeder0.9.5c
bab2d88d650448628730ed3b65c9f99c52500e8cChristian Maeder~~~~~~
d62661e54e2662d53b583ae48609f5037701078dcmaederChanged BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
8cacad2a09782249243b80985f28e9387019fe40Christian Maederversion could cause the sorted order to be wrong in some extremely
6a2dad705deefd1b7a7e09b84fd2d75f2213be47Christian Maederobscure cases. Also changed setting of quadrant in blocksort.c.
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder0.9.5d
014dc30f64ec25e4790cca987d4d1e6635430510Christian Maeder~~~~~~
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus LuettichThe only functional change is to make bzlibVersion() in the library
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maederreturn the correct string. This has no effect whatsoever on the
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maederfunctioning of the bzip2 program or library. Added a couple of casts
feca1d35123d8c31aee238c9ce79947b0bf65494Christian Maederso the library compiles without warnings at level 3 in MS Visual
431d34c7007a787331c4e5ec997badb0f8190fc7Christian MaederStudio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maederchanges are minor documentation changes.
f5c0884429b01e74c6e658ded921fb2e16dfb478Christian Maeder
db675e8302ddb0d6528088ce68f5e98a00e890e3Christian Maeder1.0
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder~~~
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederSeveral minor bugfixes and enhancements:
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder* Large file support. The library uses 64-bit counters to
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner count the volume of data passing through it. bzip2.c
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner is now compiled with -D_FILE_OFFSET_BITS=64 to get large
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner file support from the C library. -v correctly prints out
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner file sizes greater than 4 gigabytes. All these changes have
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder been made without assuming a 64-bit platform or a C compiler
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder which supports 64-bit ints, so, except for the C library
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder aspect, they are fully portable.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder* Decompression robustness. The library/program should be
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder robust to any corruption of compressed data, detecting and
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner handling _all_ corruption, instead of merely relying on
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner the CRCs. What this means is that the program should
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder never crash, given corrupted data, and the library should
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder always return BZ_DATA_ERROR.
dc679edd4ca027663212afdf00926ae2ce19b555Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder* Fixed an obscure race-condition bug only ever observed on
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder Solaris, in which, if you were very unlucky and issued
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder control-C at exactly the wrong time, both input and output
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder files would be deleted.
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder* Don't run out of file handles on test/decompression when
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder large numbers of files have invalid magic numbers.
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder* Avoid library namespace pollution. Prefix all exported
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder symbols with BZ2_.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder* Minor sorting enhancements from my DCC2000 paper.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder* Advance the version number to 1.0, so as to counteract the
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder (false-in-this-case) impression some people have that programs
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder with version numbers less than 1.0 are in some way, experimental,
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder pre-release versions.
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
a84a8d508a0778b13a4d097a6dd34b95feae78acJens Elkner* Create an initial Makefile-libbz2_so to build a shared library.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder Yes, I know I should really use libtool et al ...
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder* Make the program exit with 2 instead of 0 when decompression
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder fails due to a bad magic number (ie, an invalid bzip2 header).
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner Also exit with 1 (as the manual claims :-) whenever a diagnostic
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder message would have been printed AND the corresponding operation
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder is aborted, for example
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder bzip2: Output file xx already exists.
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder When a diagnostic message is printed but the operation is not
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder aborted, for example
8037b7d21021a94b69e4a092f5c98e491333d939cmaeder bzip2: Can't guess original name for wurble -- using wurble.out
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner then the exit value 0 is returned, unless some other problem is
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder also detected.
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner I think it corresponds more closely to what the manual claims now.
e6d5dbbc3308f05197868806e0b860f4f53875f1Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder
e4f4d096e5e6d60dd91c746d0e833d0ac7a29c50Christian Maeder1.0.1
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner~~~~~
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder* Modified dlltest.c so it uses the new BZ2_ naming scheme.
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner* Modified makefile-msc to fix minor build probs on Win2k.
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder* Updated README.COMPILATION.PROBLEMS.
961087225d1d2b9534152a346d1a3755ed952fcdJens Elkner
456238178f89e5a3de2988ee6c8af924297d52d9Christian MaederThere are no functionality changes or bug fixes relative to version
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder1.0.0. This is just a documentation update + a fix for minor Win32
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederbuild problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederutterly pointless. Don't bother.
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder1.0.2
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder~~~~~
328a85c807f2a95c3f147d10b05927eaf862ebebChristian MaederA bug fix release, addressing various minor issues which have appeared
8fb127028cb7dd361e348a3252e33487f73428bcJonathan von Schroederin the 18 or so months since 1.0.1 was released. Most of the fixes
06dd4e7c29f33f6122a910719e3bd9062256e397Andy Gimblettare to do with file-handling or documentation bugs. To the best of my
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maederknowledge, there have been no data-loss-causing bugs reported in the
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maedercompression/decompression engine of 1.0.0 or 1.0.1.
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian MaederNote that this release does not improve the rather crude build system
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckersfor Unix platforms. The general plan here is to autoconfiscate/
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederlibtoolise 1.0.2 soon after release, and release the result as 1.1.0
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maederor perhaps 1.2.0. That, however, is still just a plan at this point.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian MaederHere are the changes in 1.0.2. Bug-reporters and/or patch-senders in
140287998aa8592c9c403bd9e308e447ba92ae11Christian Maederparentheses.
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder* Fix an infinite segfault loop in 1.0.1 when a directory is
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder encountered in -f (force) mode.
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
8b0f493ae42bad8b94918cc0957f1af57096cda4Felix Reckers
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder* Avoid double fclose() of output file on certain I/O error paths.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder (Solar Designer)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder* Don't fail with internal error 1007 when fed a long stream (> 48MB)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder of byte 251. Also print useful message suggesting that 1007s may be
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder caused by bad memory.
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder (noticed by Juan Pedro Vallejo, fixed by me)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder* Fix uninitialised variable silly bug in demo prog dlltest.c.
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder (Jorj Bauer)
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder* Remove 512-MB limitation on recovered file size for bzip2recover
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder on selected platforms which support 64-bit ints. At the moment
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder all GCC supported platforms, and Win32.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder (me, Alson van der Meulen)
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder* Hard-code header byte values, to give correct operation on platforms
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder using EBCDIC as their native character set (IBM's OS/390).
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder (Leland Lucius)
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder* Copy file access times correctly.
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder (Marty Leisner)
a14767aeac3e78ed100f5b75e210ba563ee10dbaChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder* Add distclean and check targets to Makefile.
3554301a34639efb6c9961a8571775d0061284c9Christian Maeder (Michael Carmack)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder (Rich Ireland, Bo Thorsen)
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder* Pass -p (create parent dirs as needed) to mkdir during make install.
db6729e623b4053149084ccf4b35e5308ac7e359Christian Maeder (Jeremy Fusco)
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder* Dereference symlinks when copying file permissions in -f mode.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder (Volker Schmidt)
f9e0b18852b238ddb649d341194e05d7200d1bbeChristian Maeder
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder* Majorly simplify implementation of uInt64_qrm10.
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder (Bo Lindbergh)
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder* Check the input file still exists before deleting the output one,
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder when aborting in cleanUpAndFail().
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder (Joerg Prante, Robert Linden, Matthias Krings)
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
254df6f22d01eacf7c57b85729e0445747b630d9Christian MaederAlso a bunch of patches courtesy of Philippe Troin, the Debian maintainer
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maederof bzip2:
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder* Spelling changes and minor enhancements in bzip2.1.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder* Avoid race condition between creating the output file and setting its
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder interim permissions safely, by using fopen_output_safely().
ac34194a668399bb8ef238da77c3a09e93fb253bChristian Maeder No changes to bzip2recover since there is no issue with file
4fc9de0da898448f1d3597ebbd8c04a066464c21Christian Maeder permissions there.
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder* do not print senseless report with -v when compressing an empty
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder file.
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder
c208973c890b8f993297720fd0247bc7481d4304Christian Maeder* bzcat -f works on non-bzip2 files.
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder* do not try to escape shell meta-characters on unix (the shell takes
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder care of these).
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder
0d0278c34a374b29c2d6c58b39b8b56e283d48e8Christian Maeder* added --fast and --best aliases for -1 -9 for gzip compatibility.
1842453990fed8a1bd7a5ac792d7982c1d2bfcd5Christian Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder1.0.3 (15 Feb 05)
986d3f255182539098a97ac86da9eeee5b7a72e3Christian Maeder~~~~~~~~~~~~~~~~~
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederFixes some minor bugs since the last version, 1.0.2.
4561227a776bdf0ab679b19fb92f1eaaed8786f7Christian Maeder
01e278bdd7dce13b9303ed3d79683d83c89d09f9Liam O'Reilly* Further robustification against corrupted compressed data.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder There are currently no known bitstreams which can cause the
5ad5dffe06818a13e1632b1119fbca7881085fc1Dominik Luecke decompressor to crash, loop or access memory which does not
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder belong to it. If you are using bzip2 or the library to
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder decompress bitstreams from untrusted sources, an upgrade
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder to 1.0.3 is recommended. This fixes CAN-2005-1260.
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu
31d6d9286988dc31639d105841296759aeb743e0Jonathan von Schroeder* The documentation has been converted to XML, from which html
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu and pdf can be derived.
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder* Various minor bugs in the documentation have been fixed.
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder* Fixes for various compilation warnings with newer versions of
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke gcc, and on 64-bit platforms.
05a206508bc898f87fe6ab6e069814df3c29d303Dominik Luecke
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder This has been fixed.
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
81f49ee02aaa3bc870401f8883bf52742eb3ea7aJonathan von Schroeder
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder1.0.4 (20 Dec 06)
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder~~~~~~~~~~~~~~~~~
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian MaederFixes some minor bugs since the last version, 1.0.3.
3b06e23643a9f65390cb8c1caabe83fa7e87a708Till Mossakowski
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder* Fix file permissions race problem (CAN-2005-0953).
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
0b349288edfa50fdf38fda1a14e1562d03f92574Christian Maeder scan.
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder
5afff1a0f62394414c33b06141175b3ab0b117a5Christian Maeder* 'const'/prototype cleanups in the C code.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder
1b3a2f98d1cd01fc9e0591f69507e20526727559Dominik Luecke* Change default install location to /usr/local, and handle multiple
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich 'make install's without error.
e39a1626bee36d6ad13a2c0014a80ef179a65bcbChristian Maeder
f8e1a1eca871a26a535a4ee7d51902ba94b1db1eChristian Maeder* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758
ea3bff3e547a1ac714d4db39c5efef95e02b2e7dChristian Maeder to the extent that applies to bzgrep.
dd6f22b9dcff2695181b86372e4df03d5b96e92dKristina Sojakova
005e0f0c6b0cc898003b03801158c208f3071fc5Kristina Sojakova* Use 'mktemp' rather than 'tempfile' in bzdiff.
abf2487c3aece95c371ea89ac64319370dcb6483Klaus Luettich
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder* Tighten up a couple of assertions in blocksort.c following automated
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder analysis.
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder
76b9b2974795a6fb31f242fd032de3ff66df6204Christian Maeder* Fix minor doc/comment bugs.
74a992bd019d3319df2f21f9d358ff06cafb5f7eMihaela Turcu
8a78868bae2ec6838c87366c35c57e109154c51eChristian Maeder
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulz1.0.5 (10 Dec 07)
878a5ecd6acf973907e25e5be6e4a792ea19a05eEwaryst Schulz~~~~~~~~~~~~~~~~~
c2e192ace9ef7cfb0e59563f1b24477b2b65cff3Dominik DietrichSecurity fix only. Fixes CERT-FI 20469 as it applies to bzip2.
6b75c206b317eb30a08d88a8f27e0295ffeb1546Christian Maeder
9a4b469ca0a7f44a598e551a973c75195207db58Eugen Kuksa
48aa0645e25883048369afc02aac3f49b14a50daChristian Maeder1.0.6 (6 Sept 10)
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder~~~~~~~~~~~~~~~~~
01645eac73dbc789392674930adc5745c935f3a0Christian Maeder
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder* Security fix for CVE-2010-0405. This was reported by Mikolaj
bff4b3f816be4c1e1d8ded76f1d5af786839e1a9Christian Maeder Izdebski.
3a9fce5398f4621558ca220c66c87cee59adc258Jonathan von Schroeder
b5da047a9a875dec3f968b6c0df96af326f90fa9Alexis Tsogias* Make the documentation build on Ubuntu 10.04
0a03acf9fa28e6ff00f4d7c9c6acbae64cf09c56Ewaryst Schulz