annotate src/bzip2-1.0.6/CHANGES @ 23:619f715526df sv_v2.1

Update Vamp plugin SDK to 2.5
author Chris Cannam
date Thu, 09 May 2013 10:52:46 +0100
parents e13257ea84a4
children
rev   line source
Chris@4 1 ------------------------------------------------------------------
Chris@4 2 This file is part of bzip2/libbzip2, a program and library for
Chris@4 3 lossless, block-sorting data compression.
Chris@4 4
Chris@4 5 bzip2/libbzip2 version 1.0.6 of 6 September 2010
Chris@4 6 Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
Chris@4 7
Chris@4 8 Please read the WARNING, DISCLAIMER and PATENTS sections in the
Chris@4 9 README file.
Chris@4 10
Chris@4 11 This program is released under the terms of the license contained
Chris@4 12 in the file LICENSE.
Chris@4 13 ------------------------------------------------------------------
Chris@4 14
Chris@4 15
Chris@4 16 0.9.0
Chris@4 17 ~~~~~
Chris@4 18 First version.
Chris@4 19
Chris@4 20
Chris@4 21 0.9.0a
Chris@4 22 ~~~~~~
Chris@4 23 Removed 'ranlib' from Makefile, since most modern Unix-es
Chris@4 24 don't need it, or even know about it.
Chris@4 25
Chris@4 26
Chris@4 27 0.9.0b
Chris@4 28 ~~~~~~
Chris@4 29 Fixed a problem with error reporting in bzip2.c. This does not effect
Chris@4 30 the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
Chris@4 31 program proper) compress and decompress correctly, but give misleading
Chris@4 32 error messages (internal panics) when an I/O error occurs, instead of
Chris@4 33 reporting the problem correctly. This shouldn't give any data loss
Chris@4 34 (as far as I can see), but is confusing.
Chris@4 35
Chris@4 36 Made the inline declarations disappear for non-GCC compilers.
Chris@4 37
Chris@4 38
Chris@4 39 0.9.0c
Chris@4 40 ~~~~~~
Chris@4 41 Fixed some problems in the library pertaining to some boundary cases.
Chris@4 42 This makes the library behave more correctly in those situations. The
Chris@4 43 fixes apply only to features (calls and parameters) not used by
Chris@4 44 bzip2.c, so the non-fixedness of them in previous versions has no
Chris@4 45 effect on reliability of bzip2.c.
Chris@4 46
Chris@4 47 In bzlib.c:
Chris@4 48 * made zero-length BZ_FLUSH work correctly in bzCompress().
Chris@4 49 * fixed bzWrite/bzRead to ignore zero-length requests.
Chris@4 50 * fixed bzread to correctly handle read requests after EOF.
Chris@4 51 * wrong parameter order in call to bzDecompressInit in
Chris@4 52 bzBuffToBuffDecompress. Fixed.
Chris@4 53
Chris@4 54 In compress.c:
Chris@4 55 * changed setting of nGroups in sendMTFValues() so as to
Chris@4 56 do a bit better on small files. This _does_ effect
Chris@4 57 bzip2.c.
Chris@4 58
Chris@4 59
Chris@4 60 0.9.5a
Chris@4 61 ~~~~~~
Chris@4 62 Major change: add a fallback sorting algorithm (blocksort.c)
Chris@4 63 to give reasonable behaviour even for very repetitive inputs.
Chris@4 64 Nuked --repetitive-best and --repetitive-fast since they are
Chris@4 65 no longer useful.
Chris@4 66
Chris@4 67 Minor changes: mostly a whole bunch of small changes/
Chris@4 68 bugfixes in the driver (bzip2.c). Changes pertaining to the
Chris@4 69 user interface are:
Chris@4 70
Chris@4 71 allow decompression of symlink'd files to stdout
Chris@4 72 decompress/test files even without .bz2 extension
Chris@4 73 give more accurate error messages for I/O errors
Chris@4 74 when compressing/decompressing to stdout, don't catch control-C
Chris@4 75 read flags from BZIP2 and BZIP environment variables
Chris@4 76 decline to break hard links to a file unless forced with -f
Chris@4 77 allow -c flag even with no filenames
Chris@4 78 preserve file ownerships as far as possible
Chris@4 79 make -s -1 give the expected block size (100k)
Chris@4 80 add a flag -q --quiet to suppress nonessential warnings
Chris@4 81 stop decoding flags after --, so files beginning in - can be handled
Chris@4 82 resolved inconsistent naming: bzcat or bz2cat ?
Chris@4 83 bzip2 --help now returns 0
Chris@4 84
Chris@4 85 Programming-level changes are:
Chris@4 86
Chris@4 87 fixed syntax error in GET_LL4 for Borland C++ 5.02
Chris@4 88 let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
Chris@4 89 fix overshoot of mode-string end in bzopen_or_bzdopen
Chris@4 90 wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
Chris@4 91 close file handles under all error conditions
Chris@4 92 added minor mods so it compiles with DJGPP out of the box
Chris@4 93 fixed Makefile so it doesn't give problems with BSD make
Chris@4 94 fix uninitialised memory reads in dlltest.c
Chris@4 95
Chris@4 96 0.9.5b
Chris@4 97 ~~~~~~
Chris@4 98 Open stdin/stdout in binary mode for DJGPP.
Chris@4 99
Chris@4 100 0.9.5c
Chris@4 101 ~~~~~~
Chris@4 102 Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
Chris@4 103 version could cause the sorted order to be wrong in some extremely
Chris@4 104 obscure cases. Also changed setting of quadrant in blocksort.c.
Chris@4 105
Chris@4 106 0.9.5d
Chris@4 107 ~~~~~~
Chris@4 108 The only functional change is to make bzlibVersion() in the library
Chris@4 109 return the correct string. This has no effect whatsoever on the
Chris@4 110 functioning of the bzip2 program or library. Added a couple of casts
Chris@4 111 so the library compiles without warnings at level 3 in MS Visual
Chris@4 112 Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
Chris@4 113 changes are minor documentation changes.
Chris@4 114
Chris@4 115 1.0
Chris@4 116 ~~~
Chris@4 117 Several minor bugfixes and enhancements:
Chris@4 118
Chris@4 119 * Large file support. The library uses 64-bit counters to
Chris@4 120 count the volume of data passing through it. bzip2.c
Chris@4 121 is now compiled with -D_FILE_OFFSET_BITS=64 to get large
Chris@4 122 file support from the C library. -v correctly prints out
Chris@4 123 file sizes greater than 4 gigabytes. All these changes have
Chris@4 124 been made without assuming a 64-bit platform or a C compiler
Chris@4 125 which supports 64-bit ints, so, except for the C library
Chris@4 126 aspect, they are fully portable.
Chris@4 127
Chris@4 128 * Decompression robustness. The library/program should be
Chris@4 129 robust to any corruption of compressed data, detecting and
Chris@4 130 handling _all_ corruption, instead of merely relying on
Chris@4 131 the CRCs. What this means is that the program should
Chris@4 132 never crash, given corrupted data, and the library should
Chris@4 133 always return BZ_DATA_ERROR.
Chris@4 134
Chris@4 135 * Fixed an obscure race-condition bug only ever observed on
Chris@4 136 Solaris, in which, if you were very unlucky and issued
Chris@4 137 control-C at exactly the wrong time, both input and output
Chris@4 138 files would be deleted.
Chris@4 139
Chris@4 140 * Don't run out of file handles on test/decompression when
Chris@4 141 large numbers of files have invalid magic numbers.
Chris@4 142
Chris@4 143 * Avoid library namespace pollution. Prefix all exported
Chris@4 144 symbols with BZ2_.
Chris@4 145
Chris@4 146 * Minor sorting enhancements from my DCC2000 paper.
Chris@4 147
Chris@4 148 * Advance the version number to 1.0, so as to counteract the
Chris@4 149 (false-in-this-case) impression some people have that programs
Chris@4 150 with version numbers less than 1.0 are in some way, experimental,
Chris@4 151 pre-release versions.
Chris@4 152
Chris@4 153 * Create an initial Makefile-libbz2_so to build a shared library.
Chris@4 154 Yes, I know I should really use libtool et al ...
Chris@4 155
Chris@4 156 * Make the program exit with 2 instead of 0 when decompression
Chris@4 157 fails due to a bad magic number (ie, an invalid bzip2 header).
Chris@4 158 Also exit with 1 (as the manual claims :-) whenever a diagnostic
Chris@4 159 message would have been printed AND the corresponding operation
Chris@4 160 is aborted, for example
Chris@4 161 bzip2: Output file xx already exists.
Chris@4 162 When a diagnostic message is printed but the operation is not
Chris@4 163 aborted, for example
Chris@4 164 bzip2: Can't guess original name for wurble -- using wurble.out
Chris@4 165 then the exit value 0 is returned, unless some other problem is
Chris@4 166 also detected.
Chris@4 167
Chris@4 168 I think it corresponds more closely to what the manual claims now.
Chris@4 169
Chris@4 170
Chris@4 171 1.0.1
Chris@4 172 ~~~~~
Chris@4 173 * Modified dlltest.c so it uses the new BZ2_ naming scheme.
Chris@4 174 * Modified makefile-msc to fix minor build probs on Win2k.
Chris@4 175 * Updated README.COMPILATION.PROBLEMS.
Chris@4 176
Chris@4 177 There are no functionality changes or bug fixes relative to version
Chris@4 178 1.0.0. This is just a documentation update + a fix for minor Win32
Chris@4 179 build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
Chris@4 180 utterly pointless. Don't bother.
Chris@4 181
Chris@4 182
Chris@4 183 1.0.2
Chris@4 184 ~~~~~
Chris@4 185 A bug fix release, addressing various minor issues which have appeared
Chris@4 186 in the 18 or so months since 1.0.1 was released. Most of the fixes
Chris@4 187 are to do with file-handling or documentation bugs. To the best of my
Chris@4 188 knowledge, there have been no data-loss-causing bugs reported in the
Chris@4 189 compression/decompression engine of 1.0.0 or 1.0.1.
Chris@4 190
Chris@4 191 Note that this release does not improve the rather crude build system
Chris@4 192 for Unix platforms. The general plan here is to autoconfiscate/
Chris@4 193 libtoolise 1.0.2 soon after release, and release the result as 1.1.0
Chris@4 194 or perhaps 1.2.0. That, however, is still just a plan at this point.
Chris@4 195
Chris@4 196 Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
Chris@4 197 parentheses.
Chris@4 198
Chris@4 199 * Fix an infinite segfault loop in 1.0.1 when a directory is
Chris@4 200 encountered in -f (force) mode.
Chris@4 201 (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
Chris@4 202
Chris@4 203 * Avoid double fclose() of output file on certain I/O error paths.
Chris@4 204 (Solar Designer)
Chris@4 205
Chris@4 206 * Don't fail with internal error 1007 when fed a long stream (> 48MB)
Chris@4 207 of byte 251. Also print useful message suggesting that 1007s may be
Chris@4 208 caused by bad memory.
Chris@4 209 (noticed by Juan Pedro Vallejo, fixed by me)
Chris@4 210
Chris@4 211 * Fix uninitialised variable silly bug in demo prog dlltest.c.
Chris@4 212 (Jorj Bauer)
Chris@4 213
Chris@4 214 * Remove 512-MB limitation on recovered file size for bzip2recover
Chris@4 215 on selected platforms which support 64-bit ints. At the moment
Chris@4 216 all GCC supported platforms, and Win32.
Chris@4 217 (me, Alson van der Meulen)
Chris@4 218
Chris@4 219 * Hard-code header byte values, to give correct operation on platforms
Chris@4 220 using EBCDIC as their native character set (IBM's OS/390).
Chris@4 221 (Leland Lucius)
Chris@4 222
Chris@4 223 * Copy file access times correctly.
Chris@4 224 (Marty Leisner)
Chris@4 225
Chris@4 226 * Add distclean and check targets to Makefile.
Chris@4 227 (Michael Carmack)
Chris@4 228
Chris@4 229 * Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
Chris@4 230 (Rich Ireland, Bo Thorsen)
Chris@4 231
Chris@4 232 * Pass -p (create parent dirs as needed) to mkdir during make install.
Chris@4 233 (Jeremy Fusco)
Chris@4 234
Chris@4 235 * Dereference symlinks when copying file permissions in -f mode.
Chris@4 236 (Volker Schmidt)
Chris@4 237
Chris@4 238 * Majorly simplify implementation of uInt64_qrm10.
Chris@4 239 (Bo Lindbergh)
Chris@4 240
Chris@4 241 * Check the input file still exists before deleting the output one,
Chris@4 242 when aborting in cleanUpAndFail().
Chris@4 243 (Joerg Prante, Robert Linden, Matthias Krings)
Chris@4 244
Chris@4 245 Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
Chris@4 246 of bzip2:
Chris@4 247
Chris@4 248 * Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
Chris@4 249
Chris@4 250 * Spelling changes and minor enhancements in bzip2.1.
Chris@4 251
Chris@4 252 * Avoid race condition between creating the output file and setting its
Chris@4 253 interim permissions safely, by using fopen_output_safely().
Chris@4 254 No changes to bzip2recover since there is no issue with file
Chris@4 255 permissions there.
Chris@4 256
Chris@4 257 * do not print senseless report with -v when compressing an empty
Chris@4 258 file.
Chris@4 259
Chris@4 260 * bzcat -f works on non-bzip2 files.
Chris@4 261
Chris@4 262 * do not try to escape shell meta-characters on unix (the shell takes
Chris@4 263 care of these).
Chris@4 264
Chris@4 265 * added --fast and --best aliases for -1 -9 for gzip compatibility.
Chris@4 266
Chris@4 267
Chris@4 268 1.0.3 (15 Feb 05)
Chris@4 269 ~~~~~~~~~~~~~~~~~
Chris@4 270 Fixes some minor bugs since the last version, 1.0.2.
Chris@4 271
Chris@4 272 * Further robustification against corrupted compressed data.
Chris@4 273 There are currently no known bitstreams which can cause the
Chris@4 274 decompressor to crash, loop or access memory which does not
Chris@4 275 belong to it. If you are using bzip2 or the library to
Chris@4 276 decompress bitstreams from untrusted sources, an upgrade
Chris@4 277 to 1.0.3 is recommended. This fixes CAN-2005-1260.
Chris@4 278
Chris@4 279 * The documentation has been converted to XML, from which html
Chris@4 280 and pdf can be derived.
Chris@4 281
Chris@4 282 * Various minor bugs in the documentation have been fixed.
Chris@4 283
Chris@4 284 * Fixes for various compilation warnings with newer versions of
Chris@4 285 gcc, and on 64-bit platforms.
Chris@4 286
Chris@4 287 * The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
Chris@4 288 This has been fixed.
Chris@4 289
Chris@4 290
Chris@4 291 1.0.4 (20 Dec 06)
Chris@4 292 ~~~~~~~~~~~~~~~~~
Chris@4 293 Fixes some minor bugs since the last version, 1.0.3.
Chris@4 294
Chris@4 295 * Fix file permissions race problem (CAN-2005-0953).
Chris@4 296
Chris@4 297 * Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
Chris@4 298 scan.
Chris@4 299
Chris@4 300 * 'const'/prototype cleanups in the C code.
Chris@4 301
Chris@4 302 * Change default install location to /usr/local, and handle multiple
Chris@4 303 'make install's without error.
Chris@4 304
Chris@4 305 * Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758
Chris@4 306 to the extent that applies to bzgrep.
Chris@4 307
Chris@4 308 * Use 'mktemp' rather than 'tempfile' in bzdiff.
Chris@4 309
Chris@4 310 * Tighten up a couple of assertions in blocksort.c following automated
Chris@4 311 analysis.
Chris@4 312
Chris@4 313 * Fix minor doc/comment bugs.
Chris@4 314
Chris@4 315
Chris@4 316 1.0.5 (10 Dec 07)
Chris@4 317 ~~~~~~~~~~~~~~~~~
Chris@4 318 Security fix only. Fixes CERT-FI 20469 as it applies to bzip2.
Chris@4 319
Chris@4 320
Chris@4 321 1.0.6 (6 Sept 10)
Chris@4 322 ~~~~~~~~~~~~~~~~~
Chris@4 323
Chris@4 324 * Security fix for CVE-2010-0405. This was reported by Mikolaj
Chris@4 325 Izdebski.
Chris@4 326
Chris@4 327 * Make the documentation build on Ubuntu 10.04