From 35dd3cf94f3008a3bc6e8c6c964f091e8025570f Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Tue, 2 Jul 2019 15:05:53 -0500 Subject: [PATCH 01/14] Update .gitignore Updates the .gitignore file to ignore many build artifacts --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da23814 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.o +*.obj +*.rb2 +*.tst +*.a +*.lib +*.exe +bzip2 +bzip2recover From 61b434b4ef28b5e3cbf8665d6829b08b405e0899 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Tue, 2 Jul 2019 15:06:01 -0500 Subject: [PATCH 02/14] Always treat .ref files as binary .ref files should always be treated as binary files so that git does not attempt to convert the line endings if core.autocrlf is set. --- .gitattributes | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f3af893 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.ref binary From 53f3d0d71c3c445bc4ac413d42c4386381e47b49 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Tue, 2 Jul 2019 15:05:44 -0500 Subject: [PATCH 03/14] Fix include path separator Changes the include path separator for Windows builds to use "/" instead of "\". Windows has no problems with using a forward slash as a path separator, but using a backslash causes problems when attempting to cross compile for other platforms (for example, when trying to cross compile for MinGW from Linux). --- bzip2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bzip2.c b/bzip2.c index e362c65..be3b3be 100644 --- a/bzip2.c +++ b/bzip2.c @@ -128,7 +128,7 @@ #if BZ_LCCWIN32 # include # include -# include +# include # define NORETURN /**/ # define PATH_SEP '\\' From 5a4a6f44f0748840a7abe341098445c42d8d979a Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 3 Jul 2019 22:22:16 +0200 Subject: [PATCH 04/14] Update prepare-release.sh for Makefile* and date ranges. Also update the version number in the Makefile comments. And update any date ranges to include the current year. --- prepare-release.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/prepare-release.sh b/prepare-release.sh index db736b7..a1ae375 100755 --- a/prepare-release.sh +++ b/prepare-release.sh @@ -20,23 +20,25 @@ fi LANG=C VERSION="$1" DATE=$(date +"%d %B %Y") +DAY=$(date +"%d") +MONTH=$(date +"%B") +SHORTMONTH=$(date +"%b") +YEAR=$(date +"%Y") -# Replace the version strings in the comments +# Replace the version strings and date ranges in the comments VER_PREFIX="bzip2/libbzip2 version " sed -i -e "s@${VER_PREFIX}[0-9].*@${VER_PREFIX}${VERSION} of ${DATE}@" \ - CHANGES LICENSE README* *.c *.h *.pl *.sh + -e "s@ (C) \([0-9]\+\)-[0-9]\+ @ (C) \1-$YEAR @" \ + CHANGES LICENSE Makefile* README* *.c *.h *.pl *.sh # Add an entry to the README -DAY=$(date +"%d") -MONTH=$(date +"%B") -SHORTMONTH=$(date +"%b") -YEAR=$(date +"%Y") printf "%2s %8s %s\n" "$DAY" "$MONTH" "$YEAR (bzip2, version $VERSION)" \ >> README # Update manual sed -i -e "s@ENTITY bz-version \".*\"@ENTITY bz-version \"$VERSION\"@" \ -e "s@ENTITY bz-date \".*\"@ENTITY bz-date \"$DAY $MONTH $YEAR\"@" \ + -e "s@ENTITY bz-lifespan \"\([0-9]\+\)-[0-9]\+\"@ENTITY bz-filespan \"\1-$YEAR\"@"\ entities.xml # bzip2.1 should really be generated from the manual.xml, but currently From 13d8bce0393ca21cbca1e8ba7692466a64fd46dd Mon Sep 17 00:00:00 2001 From: Phil Ross Date: Tue, 21 May 2019 20:46:14 +0100 Subject: [PATCH 05/14] Fix a 'not a normal file' error when compressing large files. The bzip2 command line would report 'not a normal file' for files of size larger than 2^32 - 1 bytes. Patch bzip2.c to use _stati64 instead of _stat so that a successful result is returned for large files. Resolves https://github.com/philr/bzip2-windows/issues/3. --- bzip2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bzip2.c b/bzip2.c index be3b3be..76c6c94 100644 --- a/bzip2.c +++ b/bzip2.c @@ -132,8 +132,8 @@ # define NORETURN /**/ # define PATH_SEP '\\' -# define MY_LSTAT _stat -# define MY_STAT _stat +# define MY_LSTAT _stati64 +# define MY_STAT _stati64 # define MY_S_ISREG(x) ((x) & _S_IFREG) # define MY_S_ISDIR(x) ((x) & _S_IFDIR) From b07b105d1b66e32760095e3602261738443b9e13 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 3 Jul 2019 01:28:11 +0200 Subject: [PATCH 06/14] Accept as many selectors as the file format allows. But ignore any larger than the theoretical maximum, BZ_MAX_SELECTORS. The theoretical maximum number of selectors depends on the maximum blocksize (900000 bytes) and the number of symbols (50) that can be encoded with a different Huffman tree. BZ_MAX_SELECTORS is 18002. But the bzip2 file format allows the number of selectors to be encoded with 15 bits (because 18002 isn't a factor of 2 and doesn't fit in 14 bits). So the file format maximum is 32767 selectors. Some bzip2 encoders might actually have written out more selectors than the theoretical maximum because they rounded up the number of selectors to some convenient factor of 8. The extra 14766 selectors can never be validly used by the decompression algorithm. So we can read them, but then discard them. This is effectively what was done (by accident) before we added a check for nSelectors to be at most BZ_MAX_SELECTORS to mitigate CVE-2019-12900. The extra selectors were written out after the array inside the EState struct. But the struct has extra space allocated after the selector arrays of 18060 bytes (which is larger than 14766). All of which will be initialized later (so the overwrite of that space with extra selector values would have been harmless). --- compress.c | 2 +- decompress.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/compress.c b/compress.c index 237620d..76adee6 100644 --- a/compress.c +++ b/compress.c @@ -454,7 +454,7 @@ void sendMTFValues ( EState* s ) AssertH( nGroups < 8, 3002 ); AssertH( nSelectors < 32768 && - nSelectors <= (2 + (900000 / BZ_G_SIZE)), + nSelectors <= BZ_MAX_SELECTORS, 3003 ); diff --git a/decompress.c b/decompress.c index 20ce493..3303499 100644 --- a/decompress.c +++ b/decompress.c @@ -287,7 +287,7 @@ Int32 BZ2_decompress ( DState* s ) GET_BITS(BZ_X_SELECTOR_1, nGroups, 3); if (nGroups < 2 || nGroups > BZ_N_GROUPS) RETURN(BZ_DATA_ERROR); GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15); - if (nSelectors < 1 || nSelectors > BZ_MAX_SELECTORS) RETURN(BZ_DATA_ERROR); + if (nSelectors < 1) RETURN(BZ_DATA_ERROR); for (i = 0; i < nSelectors; i++) { j = 0; while (True) { @@ -296,8 +296,14 @@ Int32 BZ2_decompress ( DState* s ) j++; if (j >= nGroups) RETURN(BZ_DATA_ERROR); } - s->selectorMtf[i] = j; + /* Having more than BZ_MAX_SELECTORS doesn't make much sense + since they will never be used, but some implementations might + "round up" the number of selectors, so just ignore those. */ + if (i < BZ_MAX_SELECTORS) + s->selectorMtf[i] = j; } + if (nSelectors > BZ_MAX_SELECTORS) + nSelectors = BZ_MAX_SELECTORS; /*--- Undo the MTF values for the selectors. ---*/ { From 04e979201daffd511826ed1c196c9f5fe7d14a89 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 11 Jul 2019 02:40:18 +0200 Subject: [PATCH 07/14] release-update.sh should update version number in website pages too. --- release-update.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/release-update.sh b/release-update.sh index d641ca6..d860f67 100755 --- a/release-update.sh +++ b/release-update.sh @@ -76,6 +76,10 @@ git clone ssh://sourceware.org/git/bzip2-htdocs.git cp bzip2/CHANGES bzip2/bzip.css bzip2-htdocs/ cp bzip2/bzip.css bzip2/bzip2.txt bzip2/manual.{html,pdf} bzip2-htdocs/manual/ cd bzip2-htdocs + +# Update version in html pages. +sed -i -e "s/The current stable version is bzip2 [0-9]\.[0-9]\.[0-9]\+/The current stable version is bzip2 ${VERSION}/" *.html */*.html + git commit -a -m "Update for bzip2 $VERSION release" git show git push From d50cc4b0e700f8f8285b02d28db595e805e3b627 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 11 Jul 2019 19:54:37 +0200 Subject: [PATCH 08/14] Replace project contact email with bzip2-devel@sourceware.org. Keep Julian's email as author information, but redirect general project feedback in the code and manual to the community mailinglist. --- README | 4 ++-- bzip2.c | 8 ++++---- bzlib.c | 4 ++-- entities.xml | 3 ++- manual.xml | 8 ++++---- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README b/README index 64873f9..42543d1 100644 --- a/README +++ b/README @@ -165,8 +165,8 @@ WHAT'S NEW IN 1.0.x ? See the CHANGES file. -I hope you find bzip2 useful. Feel free to contact me at - jseward@acm.org +I hope you find bzip2 useful. Feel free to contact the developers at + bzip2-devel@sourceware.org if you have any suggestions or queries. Many people mailed me with comments, suggestions and patches after the releases of bzip-0.15, bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, diff --git a/bzip2.c b/bzip2.c index 76c6c94..01a41d2 100644 --- a/bzip2.c +++ b/bzip2.c @@ -748,8 +748,8 @@ void panic ( const Char* s ) fprintf ( stderr, "\n%s: PANIC -- internal consistency error:\n" "\t%s\n" - "\tThis is a BUG. Please report it to me at:\n" - "\tjseward@acm.org\n", + "\tThis is a BUG. Please report it to:\n" + "\tbzip2-devel@sourceware.org\n", progName, s ); showFileNames(); cleanUpAndFail( 3 ); @@ -829,7 +829,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n ) " The user's manual, Section 4.3, has more info on (1) and (2).\n" " \n" " If you suspect this is a bug in bzip2, or are unsure about (1)\n" - " or (2), feel free to report it to me at: jseward@acm.org.\n" + " or (2), feel free to report it to: bzip2-devel@sourceware.org.\n" " Section 4.3 of the user's manual describes the info a useful\n" " bug report should have. If the manual is available on your\n" " system, please try and read it before mailing me. If you don't\n" @@ -852,7 +852,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n ) " The user's manual, Section 4.3, has more info on (2) and (3).\n" " \n" " If you suspect this is a bug in bzip2, or are unsure about (2)\n" - " or (3), feel free to report it to me at: jseward@acm.org.\n" + " or (3), feel free to report it to: bzip2-devel@sourceware.org.\n" " Section 4.3 of the user's manual describes the info a useful\n" " bug report should have. If the manual is available on your\n" " system, please try and read it before mailing me. If you don't\n" diff --git a/bzlib.c b/bzlib.c index f9da295..2dbe666 100644 --- a/bzlib.c +++ b/bzlib.c @@ -43,12 +43,12 @@ void BZ2_bz__AssertH__fail ( int errcode ) fprintf(stderr, "\n\nbzip2/libbzip2: internal error number %d.\n" "This is a bug in bzip2/libbzip2, %s.\n" - "Please report it to me at: jseward@acm.org. If this happened\n" + "Please report it to: bzip2-devel@sourceware.org. If this happened\n" "when you were using some program which uses libbzip2 as a\n" "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", + "quality software. Thanks.\n\n", errcode, BZ2_bzlibVersion() ); diff --git a/entities.xml b/entities.xml index 3016674..a415062 100644 --- a/entities.xml +++ b/entities.xml @@ -1,6 +1,7 @@ - + + diff --git a/manual.xml b/manual.xml index b177bbf..b99e480 100644 --- a/manual.xml +++ b/manual.xml @@ -653,7 +653,7 @@ unsigned 64-bit integer. AUTHOR Julian Seward, -&bz-email; +&bz-author; The ideas embodied in bzip2 are due to (at least) the @@ -2487,12 +2487,12 @@ message:
bzip2/libbzip2: internal error number N. This is a bug in bzip2/libbzip2, &bz-version; of &bz-date;. -Please report it to me at: &bz-email;. If this happened +Please report it to: &bz-email;. If this happened when you were using some program which uses libbzip2 as a component, you should also report this bug to the author(s) of that program. Please make an effort to report this bug; timely and accurate bug reports eventually lead to higher -quality software. Thanks. Julian Seward, &bz-date;. +quality software. Thanks.
where N is some error code @@ -2537,7 +2537,7 @@ recovered from. Everything related to Windows has been contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp), so -you should send your queries to him (but perhaps Cc: me, +you should send your queries to him (but please Cc: &bz-email;). My vague understanding of what to do is: using Visual C++ From f7d209bfde37cf337f769531f9c7a29b8bb6ae7f Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 11 Jul 2019 23:24:29 +0200 Subject: [PATCH 09/14] fix bzdiff when TMPDIR contains spaces The bzdiff script doesn't contain enough quotes, so that it doesn't work if the TMPDIR environment variable is defined and contains spaces. https://bugs.debian.org/493710 Author: Vincent Lefevre --- bzdiff | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) mode change 100644 => 100755 bzdiff diff --git a/bzdiff b/bzdiff old mode 100644 new mode 100755 index 6fc38f9..bd96c27 --- a/bzdiff +++ b/bzdiff @@ -37,10 +37,6 @@ if test -z "$FILES"; then echo "Usage: $prog [${comp}_options] file [file]" exit 1 fi -tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || { - echo 'cannot create a temporary file' >&2 - exit 1 -} set $FILES if test $# -eq 1; then FILE=`echo "$1" | sed 's/.bz2$//'` @@ -53,10 +49,14 @@ elif test $# -eq 2; then case "$2" in *.bz2) F=`echo "$2" | sed 's|.*/||;s|.bz2$||'` - bzip2 -cdfq "$2" > $tmp - bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp + tmp=`mktemp "${TMPDIR:-/tmp}"/bzdiff.XXXXXXXXXX` || { + echo 'cannot create a temporary file' >&2 + exit 1 + } + bzip2 -cdfq "$2" > "$tmp" + bzip2 -cdfq "$1" | $comp $OPTIONS - "$tmp" STAT="$?" - /bin/rm -f $tmp;; + /bin/rm -f "$tmp";; *) bzip2 -cdfq "$1" | $comp $OPTIONS - "$2" STAT="$?";; @@ -69,8 +69,8 @@ elif test $# -eq 2; then STAT="$?";; esac;; esac - exit "$STAT" else echo "Usage: $prog [${comp}_options] file [file]" exit 1 fi +exit "$STAT" From 33414da1d2bedf2cbe693f0e21fdaef11d221b1d Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 12 Jul 2019 00:50:54 +0200 Subject: [PATCH 10/14] Fix bashism in bzgrep bzgrep uses ${var//} which is a bashism. Replace by calling sed so other POSIX shells work. Patch from openSUSE by Led --- bzgrep | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bzgrep b/bzgrep index 9a04b83..5080afd 100644 --- a/bzgrep +++ b/bzgrep @@ -63,9 +63,7 @@ for i do bzip2 -cdfq "$i" | $grep $opt "$pat" r=$? else - j=${i//\\/\\\\} - j=${j//|/\\|} - j=${j//&/\\&} + j=$(echo "$i" | sed 's/\\/&&/g;s/|/\\&/g;s/&/\\&/g') j=`printf "%s" "$j" | tr '\n' ' '` bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" r=$? From d0b47bde0e2f5bae7502ca55b80ab006523db820 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 12 Jul 2019 01:06:33 +0200 Subject: [PATCH 11/14] Fix bzgrep so it doesn't always return a 0 exit code with multiple archives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bzgrep wrapper always returns 0 as exit code when working on multiple archives, even when the pattern is not found. Fix from openSUSE by Kristýna Streitová https://bugzilla.suse.com/970260 --- bzgrep | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) mode change 100644 => 100755 bzgrep diff --git a/bzgrep b/bzgrep old mode 100644 new mode 100755 index 5080afd..0314ca6 --- a/bzgrep +++ b/bzgrep @@ -65,8 +65,20 @@ for i do else j=$(echo "$i" | sed 's/\\/&&/g;s/|/\\&/g;s/&/\\&/g') j=`printf "%s" "$j" | tr '\n' ' '` - bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" - r=$? + # A trick adapted from + # https://groups.google.com/forum/#!original/comp.unix.shell/x1345iu10eg/Nn1n-1r1uU0J + # that has the same effect as the following bash code: + # bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|" + # r=${PIPESTATUS[1]} + exec 3>&1 + eval ` + exec 4>&1 >&3 3>&- + { + bzip2 -cdfq "$i" 4>&- + } | { + $grep $opt "$pat" 4>&-; echo "r=$?;" >&4 + } | sed "s|^|${j}:|" + ` fi test "$r" -ne 0 && res="$r" done From 48e4d87489c1e8ba6c77b7ed6217eb3c9ea519bc Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 11 Jul 2019 20:05:42 +0200 Subject: [PATCH 12/14] manual: Add id to legalnotice. Otherwise the generated HTML will have a different randomly generated name id which generates spurious diffs. --- manual.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual.xml b/manual.xml index b99e480..ea9fca2 100644 --- a/manual.xml +++ b/manual.xml @@ -27,7 +27,7 @@ - + This program, bzip2, the associated library libbzip2, and From 1c8dd8698c1c84c39c25d950edf6aec4eca70901 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 13 Jul 2019 17:06:25 +0200 Subject: [PATCH 13/14] prepare-release.sh: Fix bz-lifespan typo. --- prepare-release.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prepare-release.sh b/prepare-release.sh index a1ae375..12c29f7 100755 --- a/prepare-release.sh +++ b/prepare-release.sh @@ -38,7 +38,7 @@ printf "%2s %8s %s\n" "$DAY" "$MONTH" "$YEAR (bzip2, version $VERSION)" \ # Update manual sed -i -e "s@ENTITY bz-version \".*\"@ENTITY bz-version \"$VERSION\"@" \ -e "s@ENTITY bz-date \".*\"@ENTITY bz-date \"$DAY $MONTH $YEAR\"@" \ - -e "s@ENTITY bz-lifespan \"\([0-9]\+\)-[0-9]\+\"@ENTITY bz-filespan \"\1-$YEAR\"@"\ + -e "s@ENTITY bz-lifespan \"\([0-9]\+\)-[0-9]\+\"@ENTITY bz-lifespan \"\1-$YEAR\"@"\ entities.xml # bzip2.1 should really be generated from the manual.xml, but currently From 6a8690fc8d26c815e798c588f796eabe9d684cf0 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 13 Jul 2019 17:17:58 +0200 Subject: [PATCH 14/14] Prepare for 1.0.8 release. --- CHANGES | 20 ++++++++++++++++++-- LICENSE | 4 ++-- Makefile | 6 +++--- Makefile-libbz2_so | 14 +++++++------- README | 5 +++-- README.COMPILATION.PROBLEMS | 4 ++-- README.XML.STUFF | 4 ++-- blocksort.c | 4 ++-- bzip2.1 | 4 ++-- bzip2.1.preformatted | 4 ++-- bzip2.c | 6 +++--- bzip2.txt | 4 ++-- bzip2recover.c | 6 +++--- bzlib.c | 4 ++-- bzlib.h | 4 ++-- bzlib_private.h | 6 +++--- compress.c | 4 ++-- crctable.c | 4 ++-- decompress.c | 4 ++-- entities.xml | 6 +++--- format.pl | 4 ++-- huffman.c | 4 ++-- mk251.c | 4 ++-- randtable.c | 4 ++-- spewG.c | 4 ++-- unzcrash.c | 4 ++-- xmlproc.sh | 4 ++-- 27 files changed, 81 insertions(+), 64 deletions(-) diff --git a/CHANGES b/CHANGES index d9b4c05..30afead 100644 --- a/CHANGES +++ b/CHANGES @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -338,3 +338,19 @@ Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. * bzip2recover: Fix use after free issue with outFile (CVE-2016-3189) * Make sure nSelectors is not out of range (CVE-2019-12900) + +1.0.8 (13 Jul 19) +~~~~~~~~~~~~~~~~~ + +* Accept as many selectors as the file format allows. + This relaxes the fix for CVE-2019-12900 from 1.0.7 + so that bzip2 allows decompression of bz2 files that + use (too) many selectors again. + +* Fix handling of large (> 4GB) files on Windows. + +* Cleanup of bzdiff and bzgrep scripts so they don't use + any bash extensions and handle multiple archives correctly. + +* There is now a bz2-files testsuite at + https://sourceware.org/git/bzip2-tests.git diff --git a/LICENSE b/LICENSE index 95f9598..81a37ea 100644 --- a/LICENSE +++ b/LICENSE @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2010 Julian R Seward. All +documentation, are copyright (C) 1996-2019 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -37,6 +37,6 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Julian Seward, jseward@acm.org -bzip2/libbzip2 version 1.0.7 of 27 June 2019 +bzip2/libbzip2 version 1.0.8 of 13 July 2019 -------------------------------------------------------------------------- diff --git a/Makefile b/Makefile index 6706685..f8a1772 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.6 of 6 September 2010 -# Copyright (C) 1996-2010 Julian Seward +# bzip2/libbzip2 version 1.0.8 of 13 July 2019 +# Copyright (C) 1996-2019 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ bzip2recover.o: bzip2recover.c distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.7 +DISTNAME=bzip2-1.0.8 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) diff --git a/Makefile-libbz2_so b/Makefile-libbz2_so index 862eb7d..fb0f230 100644 --- a/Makefile-libbz2_so +++ b/Makefile-libbz2_so @@ -1,6 +1,6 @@ # This Makefile builds a shared version of the library, -# libbz2.so.1.0.7, with soname libbz2.so.1.0, +# libbz2.so.1.0.8, with soname libbz2.so.1.0, # at least on x86-Linux (RedHat 7.2), # with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98). # Please see the README file for some important info @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.6 of 6 September 2010 -# Copyright (C) 1996-2010 Julian Seward +# bzip2/libbzip2 version 1.0.8 of 13 July 2019 +# Copyright (C) 1996-2019 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -35,13 +35,13 @@ OBJS= blocksort.o \ bzlib.o all: $(OBJS) - $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.7 $(OBJS) - $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.7 + $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS) + $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8 rm -f libbz2.so.1.0 - ln -s libbz2.so.1.0.7 libbz2.so.1.0 + ln -s libbz2.so.1.0.8 libbz2.so.1.0 clean: - rm -f $(OBJS) bzip2.o libbz2.so.1.0.7 libbz2.so.1.0 bzip2-shared + rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared blocksort.o: blocksort.c $(CC) $(CFLAGS) -c blocksort.c diff --git a/README b/README index 42543d1..b9c6099 100644 --- a/README +++ b/README @@ -6,8 +6,8 @@ This version is fully compatible with the previous public releases. This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.7 of 27 June 2019 -Copyright (C) 1996-2010 Julian Seward +bzip2/libbzip2 version 1.0.8 of 13 July 2019 +Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -193,3 +193,4 @@ Cambridge, UK. 10 December 2007 (bzip2, version 1.0.5) 6 Sept 2010 (bzip2, version 1.0.6) 27 June 2019 (bzip2, version 1.0.7) +13 July 2019 (bzip2, version 1.0.8) diff --git a/README.COMPILATION.PROBLEMS b/README.COMPILATION.PROBLEMS index 9e6ac5a..fa317a5 100644 --- a/README.COMPILATION.PROBLEMS +++ b/README.COMPILATION.PROBLEMS @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.7 of 27 June 2019 -Copyright (C) 1996-2010 Julian Seward +bzip2/libbzip2 version 1.0.8 of 13 July 2019 +Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/README.XML.STUFF b/README.XML.STUFF index b0575c3..1503476 100644 --- a/README.XML.STUFF +++ b/README.XML.STUFF @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/blocksort.c b/blocksort.c index 2657901..92d81fe 100644 --- a/blocksort.c +++ b/blocksort.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/bzip2.1 b/bzip2.1 index f49a78c..0cbcdab 100644 --- a/bzip2.1 +++ b/bzip2.1 @@ -1,7 +1,7 @@ .PU .TH bzip2 1 .SH NAME -bzip2, bunzip2 \- a block-sorting file compressor, v1.0.7 +bzip2, bunzip2 \- a block-sorting file compressor, v1.0.8 .br bzcat \- decompresses files to stdout .br @@ -405,7 +405,7 @@ I/O error messages are not as helpful as they could be. tries hard to detect I/O errors and exit cleanly, but the details of what the problem is sometimes seem rather misleading. -This manual page pertains to version 1.0.7 of +This manual page pertains to version 1.0.8 of .I bzip2. Compressed data created by this version is entirely forwards and backwards compatible with the previous public releases, versions diff --git a/bzip2.1.preformatted b/bzip2.1.preformatted index a2279ad..787f1c6 100644 --- a/bzip2.1.preformatted +++ b/bzip2.1.preformatted @@ -3,7 +3,7 @@ bzip2(1) bzip2(1) NNAAMMEE - bzip2, bunzip2 − a block‐sorting file compressor, v1.0.7 + bzip2, bunzip2 − a block‐sorting file compressor, v1.0.8 bzcat − decompresses files to stdout bzip2recover − recovers data from damaged bzip2 files @@ -348,7 +348,7 @@ CCAAVVEEAATTSS but the details of what the problem is sometimes seem rather misleading. - This manual page pertains to version 1.0.7 of _b_z_i_p_2_. Com­ + This manual page pertains to version 1.0.8 of _b_z_i_p_2_. Com­ pressed data created by this version is entirely forwards and backwards compatible with the previous public releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, diff --git a/bzip2.c b/bzip2.c index 01a41d2..d95d280 100644 --- a/bzip2.c +++ b/bzip2.c @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,7 +1605,7 @@ void license ( void ) "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2010 by Julian Seward.\n" + " Copyright (C) 1996-2019 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" diff --git a/bzip2.txt b/bzip2.txt index c449a1a..a50570b 100644 --- a/bzip2.txt +++ b/bzip2.txt @@ -1,6 +1,6 @@ NAME - bzip2, bunzip2 - a block-sorting file compressor, v1.0.7 + bzip2, bunzip2 - a block-sorting file compressor, v1.0.8 bzcat - decompresses files to stdout bzip2recover - recovers data from damaged bzip2 files @@ -345,7 +345,7 @@ CAVEATS but the details of what the problem is sometimes seem rather misleading. - This manual page pertains to version 1.0.7 of bzip2. Com- + This manual page pertains to version 1.0.8 of bzip2. Com- pressed data created by this version is entirely forwards and backwards compatible with the previous public releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, diff --git a/bzip2recover.c b/bzip2recover.c index c0b9eac..a8131e0 100644 --- a/bzip2recover.c +++ b/bzip2recover.c @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -314,7 +314,7 @@ Int32 main ( Int32 argc, Char** argv ) inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.7: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.8: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", diff --git a/bzlib.c b/bzlib.c index 2dbe666..2178655 100644 --- a/bzlib.c +++ b/bzlib.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/bzlib.h b/bzlib.h index 8cf0791..8966a6c 100644 --- a/bzlib.h +++ b/bzlib.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/bzlib_private.h b/bzlib_private.h index 7975552..3755a6f 100644 --- a/bzlib_private.h +++ b/bzlib_private.h @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.7, 27-Jun-2019" +#define BZ_VERSION "1.0.8, 13-Jul-2019" typedef char Char; typedef unsigned char Bool; diff --git a/compress.c b/compress.c index 76adee6..5dfa002 100644 --- a/compress.c +++ b/compress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/crctable.c b/crctable.c index 746efac..2b33c25 100644 --- a/crctable.c +++ b/crctable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/decompress.c b/decompress.c index 3303499..a1a0bac 100644 --- a/decompress.c +++ b/decompress.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/entities.xml b/entities.xml index a415062..dd69924 100644 --- a/entities.xml +++ b/entities.xml @@ -2,9 +2,9 @@ - + - - + + diff --git a/format.pl b/format.pl index 74d7eda..2734ded 100755 --- a/format.pl +++ b/format.pl @@ -4,8 +4,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.7 of 27 June 2019 -# Copyright (C) 1996-2010 Julian Seward +# bzip2/libbzip2 version 1.0.8 of 13 July 2019 +# Copyright (C) 1996-2019 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. diff --git a/huffman.c b/huffman.c index 0fd6fd7..43a1899 100644 --- a/huffman.c +++ b/huffman.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/mk251.c b/mk251.c index 9528b92..6c5bbf9 100644 --- a/mk251.c +++ b/mk251.c @@ -9,8 +9,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/randtable.c b/randtable.c index 726d62f..bdc6d4a 100644 --- a/randtable.c +++ b/randtable.c @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/spewG.c b/spewG.c index 320dc85..65d24c8 100644 --- a/spewG.c +++ b/spewG.c @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/unzcrash.c b/unzcrash.c index 6e7c631..c68f93c 100644 --- a/unzcrash.c +++ b/unzcrash.c @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.7 of 27 June 2019 - Copyright (C) 1996-2010 Julian Seward + bzip2/libbzip2 version 1.0.8 of 13 July 2019 + Copyright (C) 1996-2019 Julian Seward Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. diff --git a/xmlproc.sh b/xmlproc.sh index ea6e7e6..16fe72b 100755 --- a/xmlproc.sh +++ b/xmlproc.sh @@ -5,8 +5,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.7 of 27 June 2019 -# Copyright (C) 1996-2010 Julian Seward +# bzip2/libbzip2 version 1.0.8 of 13 July 2019 +# Copyright (C) 1996-2019 Julian Seward # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file.