Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Mar 2007 05:25:36 GMT
From:      Matt Jacob <mjacob@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 116905 for review
Message-ID:  <200703300525.l2U5PaPT086875@repoman.freebsd.org>

index | next in thread | raw e-mail

http://perforce.freebsd.org/chv.cgi?CH=116905

Change 116905 by mjacob@mjexp on 2007/03/30 05:25:31

	IFC

Affected files ...

.. //depot/projects/mjexp/ObsoleteFiles.inc#11 integrate
.. //depot/projects/mjexp/contrib/bzip2/CHANGES#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/LICENSE#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/Makefile#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/Makefile-libbz2_so#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/README#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/Y2K_INFO#2 delete
.. //depot/projects/mjexp/contrib/bzip2/blocksort.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzip2.1#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzip2.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzip2recover.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzlib.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzlib.h#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/bzlib_private.h#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/compress.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/crctable.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/decompress.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/dlltest.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/huffman.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/manual.texi#2 delete
.. //depot/projects/mjexp/contrib/bzip2/randtable.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample1.bz2.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample1.ref.gz.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample2.bz2.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample2.ref.gz.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample3.bz2.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/sample3.ref.gz.uu#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/spewG.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/unzcrash.c#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/words0#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/words2#2 integrate
.. //depot/projects/mjexp/contrib/bzip2/words3#2 integrate
.. //depot/projects/mjexp/contrib/netcat/nc.1#2 integrate
.. //depot/projects/mjexp/contrib/netcat/netcat.c#2 integrate
.. //depot/projects/mjexp/contrib/netcat/socks.c#2 integrate
.. //depot/projects/mjexp/etc/defaults/rc.conf#8 integrate
.. //depot/projects/mjexp/etc/network.subr#5 integrate
.. //depot/projects/mjexp/games/fortune/datfiles/fortunes#11 integrate
.. //depot/projects/mjexp/games/fortune/datfiles/fortunes-o.real#3 integrate
.. //depot/projects/mjexp/lib/libc/gen/valloc.3#3 integrate
.. //depot/projects/mjexp/lib/libc/stdlib/malloc.3#2 integrate
.. //depot/projects/mjexp/lib/libc/stdlib/malloc.c#6 integrate
.. //depot/projects/mjexp/lib/libc/stdlib/posix_memalign.3#2 integrate
.. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#9 integrate
.. //depot/projects/mjexp/sbin/ifconfig/ifconfig.8#8 integrate
.. //depot/projects/mjexp/share/man/man3/pthread_cond_timedwait.3#2 integrate
.. //depot/projects/mjexp/share/man/man3/pthread_cond_wait.3#2 integrate
.. //depot/projects/mjexp/share/man/man4/watchdog.4#3 integrate
.. //depot/projects/mjexp/share/man/man9/Makefile#13 integrate
.. //depot/projects/mjexp/share/man/man9/watchdog.9#3 integrate
.. //depot/projects/mjexp/sys/amd64/amd64/cpu_switch.S#3 integrate
.. //depot/projects/mjexp/sys/amd64/amd64/genassym.c#5 integrate
.. //depot/projects/mjexp/sys/amd64/amd64/machdep.c#9 integrate
.. //depot/projects/mjexp/sys/amd64/amd64/support.S#3 integrate
.. //depot/projects/mjexp/sys/amd64/include/pcb.h#2 integrate
.. //depot/projects/mjexp/sys/amd64/include/segments.h#2 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_locore.s#2 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_machdep.c#11 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_proto.h#9 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_syscall.h#9 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysent.c#9 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#4 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/syscalls.master#8 integrate
.. //depot/projects/mjexp/sys/compat/linux/linux_futex.c#3 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp.c#19 integrate
.. //depot/projects/mjexp/sys/i386/i386/support.s#3 integrate
.. //depot/projects/mjexp/sys/netinet/in.c#5 integrate
.. //depot/projects/mjexp/usr.bin/bzip2/Makefile#2 integrate
.. //depot/projects/mjexp/usr.bin/bzip2/doc/Makefile#2 delete
.. //depot/projects/mjexp/usr.sbin/acpi/acpidump/acpi.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/acpi/acpidump/acpidump.h#2 integrate
.. //depot/projects/mjexp/usr.sbin/arp/arp.4#2 integrate
.. //depot/projects/mjexp/usr.sbin/gstat/gstat.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/ngctl/Makefile#3 integrate
.. //depot/projects/mjexp/usr.sbin/pkg_install/lib/exec.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/pkg_install/lib/lib.h#2 integrate
.. //depot/projects/mjexp/usr.sbin/pkg_install/lib/plist.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/pkg_install/lib/url.c#3 integrate

Differences ...

==== //depot/projects/mjexp/ObsoleteFiles.inc#11 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.76 2007/03/19 11:15:53 delphij Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.77 2007/03/28 07:49:57 delphij Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,8 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20070328: bzip2 1.0.4
+OLD_FILES+=usr/share/info/bzip2.info.gz
 # 20070303: libarchive 2.0
 OLD_LIBS+=usr/lib/libarchive.so.3
 # 20070301: remove addr2ascii and ascii2addr

==== //depot/projects/mjexp/contrib/bzip2/CHANGES#2 (text+ko) ====

@@ -1,5 +1,18 @@
+ ------------------------------------------------------------------
+ This file is part of bzip2/libbzip2, a program and library for
+ lossless, block-sorting data compression.
 
+ bzip2/libbzip2 version 1.0.4 of 20 December 2006
+ Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
 
+ Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+ README file.
+
+ This program is released under the terms of the license contained
+ in the file LICENSE.
+ ------------------------------------------------------------------
+
+
 0.9.0
 ~~~~~
 First version.
@@ -261,7 +274,7 @@
   decompressor to crash, loop or access memory which does not
   belong to it.  If you are using bzip2 or the library to 
   decompress bitstreams from untrusted sources, an upgrade
-  to 1.0.3 is recommended.
+  to 1.0.3 is recommended.  This fixes CAN-2005-1260.
 
 * The documentation has been converted to XML, from which html
   and pdf can be derived.
@@ -273,3 +286,29 @@
 
 * The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
   This has been fixed.
+
+
+1.0.4 (20 Dec 06)
+~~~~~~~~~~~~~~~~~
+Fixes some minor bugs since the last version, 1.0.3.
+
+* Fix file permissions race problem (CAN-2005-0953).
+
+* Avoid possible segfault in BZ2_bzclose.  From Coverity's NetBSD
+  scan.
+
+* 'const'/prototype cleanups in the C code.
+
+* Change default install location to /usr/local, and handle multiple
+  'make install's without error.
+
+* Sanitise file names more carefully in bzgrep.  Fixes CAN-2005-0758
+  to the extent that applies to bzgrep.
+
+* Use 'mktemp' rather than 'tempfile' in bzdiff.
+
+* Tighten up a couple of assertions in blocksort.c following automated
+  analysis.
+
+* Fix minor doc/comment bugs.
+

==== //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#2 (text+ko) ====

@@ -1,18 +1,18 @@
-$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.2 2005/05/16 18:56:30 obrien Exp $
+$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.3 2007/03/28 07:56:14 delphij Exp $
 
 Julian Seward's bzip2
 	originals can be found at: 	http://sources.redhat.com/bzip2/
 
 Imported by:
 
-	cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.3." \
-		src/contrib/bzip2 BZIP2 v1_0_3
+	cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \
+		src/contrib/bzip2 BZIP2 v1_0_4
 
 Notes:
 	The following log shows details of trimming:
 	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-	tar xvfz bzip2-1.0.3.tar.gz -X FREEBSD-Xlist
-	cd bzip2-1.0.3
+	tar xvfz bzip2-1.0.4.tar.gz -X FREEBSD-Xlist
+	cd bzip2-1.0.4
 	uuencode sample1.bz2 sample1.bz2 > sample1.bz2.uu
 	uuencode sample2.bz2 sample2.bz2 > sample2.bz2.uu
 	uuencode sample3.bz2 sample3.bz2 > sample3.bz2.uu

==== //depot/projects/mjexp/contrib/bzip2/LICENSE#2 (text+ko) ====

@@ -1,6 +1,8 @@
 
+--------------------------------------------------------------------------
+
 This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2005 Julian R Seward.  All
+documentation, are copyright (C) 1996-2006 Julian R Seward.  All
 rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -35,6 +37,7 @@
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 Julian Seward, Cambridge, UK.
-jseward@acm.org
-bzip2/libbzip2 version 1.0.3 of 15 February 2005
+jseward@bzip.org
+bzip2/libbzip2 version 1.0.4 of 20 December 2006
 
+--------------------------------------------------------------------------

==== //depot/projects/mjexp/contrib/bzip2/Makefile#2 (text+ko) ====

@@ -1,3 +1,16 @@
+# ------------------------------------------------------------------
+# This file is part of bzip2/libbzip2, a program and library for
+# lossless, block-sorting data compression.
+#
+# bzip2/libbzip2 version 1.0.4 of 20 December 2006
+# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+#
+# Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+# README file.
+#
+# This program is released under the terms of the license contained
+# in the file LICENSE.
+# ------------------------------------------------------------------
 
 SHELL=/bin/sh
 
@@ -8,10 +21,10 @@
 LDFLAGS=
 
 BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-Wall -Winline -O -g $(BIGFILES)
+CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
 
 # Where you want it installed when you do 'make install'
-PREFIX=/usr
+PREFIX=/usr/local
 
 
 OBJS= blocksort.o  \
@@ -77,14 +90,14 @@
 	cp -f libbz2.a $(PREFIX)/lib
 	chmod a+r $(PREFIX)/lib/libbz2.a
 	cp -f bzgrep $(PREFIX)/bin/bzgrep
-	ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
-	ln $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
+	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
+	ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
 	chmod a+x $(PREFIX)/bin/bzgrep
 	cp -f bzmore $(PREFIX)/bin/bzmore
-	ln $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
+	ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
 	chmod a+x $(PREFIX)/bin/bzmore
 	cp -f bzdiff $(PREFIX)/bin/bzdiff
-	ln $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
+	ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
 	chmod a+x $(PREFIX)/bin/bzdiff
 	cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
 	chmod a+r $(PREFIX)/man/man1/bzgrep.1
@@ -124,10 +137,10 @@
 distclean: clean
 	rm -f manual.ps manual.html manual.pdf
 
-DISTNAME=bzip2-1.0.3
+DISTNAME=bzip2-1.0.4
 dist: check manual
 	rm -f $(DISTNAME)
-	ln -sf . $(DISTNAME)
+	ln -s -f . $(DISTNAME)
 	tar cvf $(DISTNAME).tar \
 	   $(DISTNAME)/blocksort.c \
 	   $(DISTNAME)/huffman.c \
@@ -167,7 +180,6 @@
 	   $(DISTNAME)/libbz2.dsp \
 	   $(DISTNAME)/dlltest.dsp \
 	   $(DISTNAME)/makefile.msc \
-	   $(DISTNAME)/Y2K_INFO \
 	   $(DISTNAME)/unzcrash.c \
 	   $(DISTNAME)/spewG.c \
 	   $(DISTNAME)/mk251.c \

==== //depot/projects/mjexp/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ====

@@ -1,15 +1,30 @@
 
 # This Makefile builds a shared version of the library, 
-# libbz2.so.1.0.3, with soname libbz2.so.1.0,
+# libbz2.so.1.0.4, 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 about building the library like this.
+# Please see the README file for some important info 
+# about building the library like this.
+
+# ------------------------------------------------------------------
+# This file is part of bzip2/libbzip2, a program and library for
+# lossless, block-sorting data compression.
+#
+# bzip2/libbzip2 version 1.0.4 of 20 December 2006
+# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+#
+# Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+# README file.
+#
+# This program is released under the terms of the license contained
+# in the file LICENSE.
+# ------------------------------------------------------------------
+
 
 SHELL=/bin/sh
 CC=gcc
 BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-fpic -fPIC -Wall -Winline -O -g
+CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
 
 OBJS= blocksort.o  \
       huffman.o    \
@@ -20,13 +35,13 @@
       bzlib.o
 
 all: $(OBJS)
-	$(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.3 $(OBJS)
-	$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.3
+	$(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS)
+	$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4
 	rm -f libbz2.so.1.0
-	ln -s libbz2.so.1.0.3 libbz2.so.1.0
+	ln -s libbz2.so.1.0.4 libbz2.so.1.0
 
 clean: 
-	rm -f $(OBJS) bzip2.o libbz2.so.1.0.3 libbz2.so.1.0 bzip2-shared
+	rm -f $(OBJS) bzip2.o libbz2.so.1.0.4 libbz2.so.1.0 bzip2-shared
 
 blocksort.o: blocksort.c
 	$(CC) $(CFLAGS) -c blocksort.c

==== //depot/projects/mjexp/contrib/bzip2/README#2 (text+ko) ====

@@ -1,33 +1,48 @@
 
-This is the README for bzip2, a block-sorting file compressor, version
-1.0.3.  This version is fully compatible with the previous public
-releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1 and 1.0.2.
+This is the README for bzip2/libzip2.
+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.4 of 20 December 2006
+Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
+
+Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
 
-bzip2-1.0.3 is distributed under a BSD-style license.  For details,
-see the file LICENSE.
+This program is released under the terms of the license contained
+in the file LICENSE.
+------------------------------------------------------------------
 
 Complete documentation is available in Postscript form (manual.ps),
 PDF (manual.pdf) or html (manual.html).  A plain-text version of the
-manual page is available as bzip2.txt.  A statement about Y2K issues
-is now included in the file Y2K_INFO.
+manual page is available as bzip2.txt.
 
 
 HOW TO BUILD -- UNIX
 
-Type `make'.  This builds the library libbz2.a and then the
-programs bzip2 and bzip2recover.  Six self-tests are run.
-If the self-tests complete ok, carry on to installation:
+Type 'make'.  This builds the library libbz2.a and then the programs
+bzip2 and bzip2recover.  Six self-tests are run.  If the self-tests
+complete ok, carry on to installation:
+
+To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
+/usr/local/include, type
 
-To install in /usr/bin, /usr/lib, /usr/man and /usr/include, type
    make install
-To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type 
+
+To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
+
    make install PREFIX=/xxx/yyy
+
 If you are (justifiably) paranoid and want to see what 'make install'
 is going to do, you can first do
+
    make -n install                      or
    make -n install PREFIX=/xxx/yyy      respectively.
-The -n instructs make to show the commands it would execute, but
-not actually execute them.
+
+The -n instructs make to show the commands it would execute, but not
+actually execute them.
 
 
 HOW TO BUILD -- UNIX, shared library libbz2.so.
@@ -49,23 +64,25 @@
 bzCompress to BZ2_bzCompress, to avoid namespace pollution.
 Unfortunately this means that the libbz2.so created by
 Makefile-libbz2_so will not work with any program which used an older
-version of the library.  Sorry.  I do encourage library clients to
-make the effort to upgrade to use version 1.0, since it is both faster
-and more robust than previous versions.
+version of the library.  I do encourage library clients to make the
+effort to upgrade to use version 1.0, since it is both faster and more
+robust than previous versions.
 
 
 HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
 
 It's difficult for me to support compilation on all these platforms.
 My approach is to collect binaries for these platforms, and put them
-on the master web page (http://sources.redhat.com/bzip2).  Look there.
-However (FWIW), bzip2-1.0.X is very standard ANSI C and should compile
+on the master web site (http://www.bzip.org).  Look there.  However
+(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
 unmodified with MS Visual C.  If you have difficulties building, you
 might want to read README.COMPILATION.PROBLEMS.
 
 At least using MS Visual C++ 6, you can build from the unmodified
 sources by issuing, in a command shell: 
+
    nmake -f makefile.msc
+
 (you may need to first run the MSVC-provided script VCVARS32.BAT
  so as to set up paths to the MSVC tools correctly).
 
@@ -86,18 +103,19 @@
 
 WARNING:
 
-   This program (attempts to) compress data by performing several
-   non-trivial transformations on it.  Unless you are 100% familiar
-   with *all* the algorithms contained herein, and with the
-   consequences of modifying them, you should NOT meddle with the
-   compression or decompression machinery.  Incorrect changes can and
-   very likely *will* lead to disastrous loss of data.
+   This program and library (attempts to) compress data by 
+   performing several non-trivial transformations on it.  
+   Unless you are 100% familiar with *all* the algorithms 
+   contained herein, and with the consequences of modifying them, 
+   you should NOT meddle with the compression or decompression 
+   machinery.  Incorrect changes can and very likely *will* 
+   lead to disastrous loss of data.
 
 
 DISCLAIMER:
 
    I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
-   USE OF THIS PROGRAM, HOWSOEVER CAUSED.
+   USE OF THIS PROGRAM/LIBRARY, HOWSOEVER CAUSED.
 
    Every compression of a file implies an assumption that the
    compressed file can be decompressed to reproduce the original.
@@ -110,19 +128,18 @@
    PROGRAM UNLESS YOU ARE PREPARED TO ACCEPT THE POSSIBILITY, HOWEVER
    SMALL, THAT THE DATA WILL NOT BE RECOVERABLE.
 
-   That is not to say this program is inherently unreliable.  Indeed,
-   I very much hope the opposite is true.  bzip2 has been carefully
-   constructed and extensively tested.
+   That is not to say this program is inherently unreliable.  
+   Indeed, I very much hope the opposite is true.  bzip2/libbzip2 
+   has been carefully constructed and extensively tested.
 
 
 PATENTS:
 
-   To the best of my knowledge, bzip2 does not use any patented
-   algorithms.  However, I do not have the resources to carry out
-   a patent search.  Therefore I cannot give any guarantee of the
-   above statement.
+   To the best of my knowledge, bzip2/libbzip2 does not use any 
+   patented algorithms.  However, I do not have the resources 
+   to carry out a patent search.  Therefore I cannot give any 
+   guarantee of the above statement.
 
-End of legalities.
 
 
 WHAT'S NEW IN 0.9.0 (as compared to 0.1pl2) ?
@@ -156,21 +173,23 @@
 
    See the CHANGES file.
 
+WHAT'S NEW IN 1.0.4 ?
+
+   See the CHANGES file.
 
+
 I hope you find bzip2 useful.  Feel free to contact me at
    jseward@bzip.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 and
-1.0.2, and the changes in bzip2 are largely a result of this feedback.
-I thank you for your comments.
+bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
+1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
+feedback.  I thank you for your comments.
 
-At least for the time being, bzip2's "home" is (or can be reached via)
-http://www.bzip.org
+bzip2's "home" is http://www.bzip.org/
 
 Julian Seward
 jseward@bzip.org
-
 Cambridge, UK.
 
 18     July 1996 (version 0.15)
@@ -183,3 +202,4 @@
  5      May 2000 (bzip2, version 1.0pre8)
 30 December 2001 (bzip2, version 1.0.2pre1)
 15 February 2005 (bzip2, version 1.0.3)
+20 December 2006 (bzip2, version 1.0.4)

==== //depot/projects/mjexp/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ====

@@ -1,32 +1,47 @@
+------------------------------------------------------------------
+This file is part of bzip2/libbzip2, a program and library for
+lossless, block-sorting data compression.
+
+bzip2/libbzip2 version 1.0.4 of 20 December 2006
+Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
 
-bzip2-1.0.3 should compile without problems on the vast majority of
+Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+README file.
+
+This program is released under the terms of the license contained
+in the file LICENSE.
+------------------------------------------------------------------
+
+bzip2-1.0.4 should compile without problems on the vast majority of
 platforms.  Using the supplied Makefile, I've built and tested it
-myself for x86-linux and x86_64-linux.  With makefile.msc, Visual C++
+myself for x86-linux and amd64-linux.  With makefile.msc, Visual C++
 6.0 and nmake, you can build a native Win32 version too.  Large file
-support seems to work correctly on at least alpha-tru64unix and
-x86-cygwin32 (on Windows 2000).
+support seems to work correctly on at least on amd64-linux.
 
 When I say "large file" I mean a file of size 2,147,483,648 (2^31)
 bytes or above.  Many older OSs can't handle files above this size,
 but many newer ones can.  Large files are pretty huge -- most files
 you'll encounter are not Large Files.
 
-Earlier versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide
-variety of platforms without difficulty, and I hope this version will
-continue in that tradition.  However, in order to support large files,
-I've had to include the define -D_FILE_OFFSET_BITS=64 in the Makefile.
-This can cause problems.
+Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety
+of platforms without difficulty, and I hope this version will continue
+in that tradition.  However, in order to support large files, I've had
+to include the define -D_FILE_OFFSET_BITS=64 in the Makefile.  This
+can cause problems.
 
 The technique of adding -D_FILE_OFFSET_BITS=64 to get large file
 support is, as far as I know, the Recommended Way to get correct large
 file support.  For more details, see the Large File Support
 Specification, published by the Large File Summit, at
+
    http://ftp.sas.com/standards/large.file
 
 As a general comment, if you get compilation errors which you think
 are related to large file support, try removing the above define from
 the Makefile, ie, delete the line
+
    BIGFILES=-D_FILE_OFFSET_BITS=64 
+
 from the Makefile, and do 'make clean ; make'.  This will give you a
 version of bzip2 without large file support, which, for most
 applications, is probably not a problem.  
@@ -37,3 +52,7 @@
 large file support, if you are feeling paranoid.  Be aware though that
 any compilation problems which affect bzip2 will also affect spewG.c,
 alas.
+
+AIX: I have reports that for large file support, you need to specify
+-D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64.  I have not tested
+this myself.

==== //depot/projects/mjexp/contrib/bzip2/blocksort.c#2 (text+ko) ====

@@ -4,68 +4,21 @@
 /*---                                           blocksort.c ---*/
 /*-------------------------------------------------------------*/
 
-/*--
-  This file is a part of bzip2 and/or libbzip2, a program and
-  library for lossless, block-sorting data compression.
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
 
-  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+   bzip2/libbzip2 version 1.0.4 of 20 December 2006
+   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
 
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions
-  are met:
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
 
-  1. Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-
-  2. The origin of this software must not be misrepresented; you must 
-     not claim that you wrote the original software.  If you use this 
-     software in a product, an acknowledgment in the product 
-     documentation would be appreciated but is not required.
-
-  3. Altered source versions must be plainly marked as such, and must
-     not be misrepresented as being the original software.
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
 
-  4. The name of the author may not be used to endorse or promote 
-     products derived from this software without specific prior written 
-     permission.
 
-  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-  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, Cambridge, UK.
-  jseward@bzip.org
-  bzip2/libbzip2 version 1.0 of 21 March 2000
-
-  This program is based on (at least) the work of:
-     Mike Burrows
-     David Wheeler
-     Peter Fenwick
-     Alistair Moffat
-     Radford Neal
-     Ian H. Witten
-     Robert Sedgewick
-     Jon L. Bentley
-
-  For more information on these sources, see the manual.
-
-  To get some idea how the block sorting algorithms in this file 
-  work, read my paper 
-     On the Performance of BWT Sorting Algorithms
-  in Proceedings of the IEEE Data Compression Conference 2000,
-  Snowbird, Utah, USA, 27-30 March 2000.  The main sort in this
-  file implements the algorithm called  cache  in the paper.
---*/
-
-
 #include "bzlib_private.h"
 
 /*---------------------------------------------*/
@@ -155,7 +108,7 @@
 
    while (sp > 0) {
 
-      AssertH ( sp < FALLBACK_QSORT_STACK_SIZE, 1004 );
+      AssertH ( sp < FALLBACK_QSORT_STACK_SIZE - 1, 1004 );
 
       fpop ( lo, hi );
       if (hi - lo < FALLBACK_QSORT_SMALL_THRESH) {
@@ -690,7 +643,7 @@
 
    while (sp > 0) {
 
-      AssertH ( sp < MAIN_QSORT_STACK_SIZE, 1001 );
+      AssertH ( sp < MAIN_QSORT_STACK_SIZE - 2, 1001 );
 
       mpop ( lo, hi, d );
       if (hi - lo < MAIN_QSORT_SMALL_THRESH || 

==== //depot/projects/mjexp/contrib/bzip2/bzip2.1#2 (text+ko) ====

@@ -1,7 +1,7 @@
 .PU
 .TH bzip2 1
 .SH NAME
-bzip2, bunzip2 \- a block-sorting file compressor, v1.0.3
+bzip2, bunzip2 \- a block-sorting file compressor, v1.0.4
 .br
 bzcat \- decompresses files to stdout
 .br
@@ -405,11 +405,11 @@
 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.3 of
+This manual page pertains to version 1.0.4 of
 .I bzip2.  
 Compressed 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 and 1.0.2, but with the following
+0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and 1.0.3, but with the following
 exception: 0.9.0 and above can correctly decompress multiple
 concatenated compressed files.  0.1pl2 cannot do this; it will stop
 after decompressing just the first file in the stream.

==== //depot/projects/mjexp/contrib/bzip2/bzip2.c#2 (text+ko) ====

@@ -3,119 +3,26 @@
 /*--- A block-sorting, lossless compressor        bzip2.c ---*/
 /*-----------------------------------------------------------*/
 
-/*--
-  This file is a part of bzip2 and/or libbzip2, a program and
-  library for lossless, block-sorting data compression.
+/* ------------------------------------------------------------------
+   This file is part of bzip2/libbzip2, a program and library for
+   lossless, block-sorting data compression.
 
-  Copyright (C) 1996-2005 Julian R Seward.  All rights reserved.
+   bzip2/libbzip2 version 1.0.4 of 20 December 2006
+   Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org>
 
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions
-  are met:
+   Please read the WARNING, DISCLAIMER and PATENTS sections in the 
+   README file.
 
-  1. Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
+   This program is released under the terms of the license contained
+   in the file LICENSE.
+   ------------------------------------------------------------------ */
 
-  2. The origin of this software must not be misrepresented; you must 
-     not claim that you wrote the original software.  If you use this 
-     software in a product, an acknowledgment in the product 
-     documentation would be appreciated but is not required.
 
-  3. Altered source versions must be plainly marked as such, and must
-     not be misrepresented as being the original software.
-
-  4. The name of the author may not be used to endorse or promote 
-     products derived from this software without specific prior written 
-     permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
-  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-  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, Cambridge, UK.
-  jseward@bzip.org
-  bzip2/libbzip2 version 1.0 of 21 March 2000
-
-  This program is based on (at least) the work of:
-     Mike Burrows
-     David Wheeler
-     Peter Fenwick
-     Alistair Moffat
-     Radford Neal
-     Ian H. Witten
-     Robert Sedgewick
-     Jon L. Bentley
-
-  For more information on these sources, see the manual.
---*/
-
-
-/*----------------------------------------------------*/
-/*--- IMPORTANT                                    ---*/
-/*----------------------------------------------------*/
-
-/*--
-   WARNING:
-      This program and library (attempts to) compress data by 
-      performing several non-trivial transformations on it.  
-      Unless you are 100% familiar with *all* the algorithms 
-      contained herein, and with the consequences of modifying them, 
-      you should NOT meddle with the compression or decompression 
-      machinery.  Incorrect changes can and very likely *will* 
-      lead to disasterous loss of data.
-
-   DISCLAIMER:
-      I TAKE NO RESPONSIBILITY FOR ANY LOSS OF DATA ARISING FROM THE
-      USE OF THIS PROGRAM, HOWSOEVER CAUSED.
-
-      Every compression of a file implies an assumption that the
-      compressed file can be decompressed to reproduce the original.
-      Great efforts in design, coding and testing have been made to
-      ensure that this program works correctly.  However, the
-      complexity of the algorithms, and, in particular, the presence
-      of various special cases in the code which occur with very low
-      but non-zero probability make it impossible to rule out the
-      possibility of bugs remaining in the program.  DO NOT COMPRESS
-      ANY DATA WITH THIS PROGRAM AND/OR LIBRARY UNLESS YOU ARE PREPARED 
-      TO ACCEPT THE POSSIBILITY, HOWEVER SMALL, THAT THE DATA WILL 
-      NOT BE RECOVERABLE.
-
-      That is not to say this program is inherently unreliable.
-      Indeed, I very much hope the opposite is true.  bzip2/libbzip2
-      has been carefully constructed and extensively tested.
-
-   PATENTS:
-      To the best of my knowledge, bzip2/libbzip2 does not use any 
-      patented algorithms.  However, I do not have the resources 
-      available to carry out a full patent search.  Therefore I cannot 
-      give any guarantee of the above statement.
---*/
-
-/* $FreeBSD: src/contrib/bzip2/bzip2.c,v 1.2 2005/06/29 21:36:49 simon Exp $ */
-
-
-/*----------------------------------------------------*/
-/*--- and now for something much more pleasant :-) ---*/
-/*----------------------------------------------------*/
-
-/*---------------------------------------------*/
-/*--
-  Place a 1 beside your platform, and 0 elsewhere.
---*/
-
-/*--
-  Generic 32-bit Unix.
-  Also works on 64-bit Unix boxes.
-  This is the default.
---*/
+/* Place a 1 beside your platform, and 0 elsewhere.
+   Generic 32-bit Unix.
+   Also works on 64-bit Unix boxes.
+   This is the default.
+*/
 #define BZ_UNIX      1
 
 /*--
@@ -303,17 +210,17 @@
 FILE    *outputHandleJustInCase;
 Int32   workFactor;
 
-static void    panic                 ( Char* )   NORETURN;
-static void    ioError               ( void )    NORETURN;
-static void    outOfMemory           ( void )    NORETURN;
-static void    configError           ( void )    NORETURN;
-static void    crcError              ( void )    NORETURN;
-static void    cleanUpAndFail        ( Int32 )   NORETURN;
-static void    compressedStreamEOF   ( void )    NORETURN;
+static void    panic                 ( const Char* ) NORETURN;
+static void    ioError               ( void )        NORETURN;
+static void    outOfMemory           ( void )        NORETURN;
+static void    configError           ( void )        NORETURN;
+static void    crcError              ( void )        NORETURN;
+static void    cleanUpAndFail        ( Int32 )       NORETURN;
+static void    compressedStreamEOF   ( void )        NORETURN;
 
 static void    copyFileName ( Char*, Char* );
 static void*   myMalloc     ( Int32 );
-static int     applySavedFileAttrToOutputFile ( int fd );
+static void    applySavedFileAttrToOutputFile ( IntNative fd );
 
 
 
@@ -459,10 +366,9 @@
    ret = fflush ( zStream );
    if (ret == EOF) goto errhandler_io;
    if (zStream != stdout) {
-      int fd = fileno ( zStream );
+      Int32 fd = fileno ( zStream );
       if (fd < 0) goto errhandler_io;
-      ret = applySavedFileAttrToOutputFile ( fd );
-      if (ret != 0) goto errhandler_io;
+      applySavedFileAttrToOutputFile ( fd );
       ret = fclose ( zStream );
       outputHandleJustInCase = NULL;
       if (ret == EOF) goto errhandler_io;
@@ -575,11 +481,10 @@
 
    closeok:
    if (ferror(zStream)) goto errhandler_io;
-   if ( stream != stdout) {
-      int fd = fileno ( stream );
+   if (stream != stdout) {
+      Int32 fd = fileno ( stream );
       if (fd < 0) goto errhandler_io;
-      ret = applySavedFileAttrToOutputFile ( fd );
-      if (ret != 0) goto errhandler_io;
+      applySavedFileAttrToOutputFile ( fd );
    }
    ret = fclose ( zStream );
    if (ret == EOF) goto errhandler_io;
@@ -838,7 +743,7 @@
 
 /*---------------------------------------------*/
 static 
-void panic ( Char* s )
+void panic ( const Char* s )
 {
    fprintf ( stderr,
              "\n%s: PANIC -- internal consistency error:\n"
@@ -1051,6 +956,7 @@
    For non-Unix platforms, if we are not worrying about
    security issues, simple this simply behaves like fopen.
 */
+static
 FILE* fopen_output_safely ( Char* name, const char* mode )
 {
 #  if BZ_UNIX
@@ -1156,20 +1062,18 @@
 }
 
 static 
-int applySavedFileAttrToOutputFile ( int fd )
+void applySavedFileAttrToOutputFile ( IntNative fd )
 {
 #  if BZ_UNIX
-   IntNative      retVal;
+   IntNative retVal;
 
    retVal = fchmod ( fd, fileMetaInfo.st_mode );
-   if (retVal != 0)
-       return retVal;
+   ERROR_IF_NOT_ZERO ( retVal );
 
    (void) fchown ( fd, fileMetaInfo.st_uid, fileMetaInfo.st_gid );
    /* chown() will in many cases return with EPERM, which can
       be safely ignored.
    */
-   return 0;
 #  endif
 }
 
@@ -1197,13 +1101,13 @@
 /*---------------------------------------------*/
 #define BZ_N_SUFFIX_PAIRS 4
 
-Char* zSuffix[BZ_N_SUFFIX_PAIRS] 
+const Char* zSuffix[BZ_N_SUFFIX_PAIRS] 
    = { ".bz2", ".bz", ".tbz2", ".tbz" };
-Char* unzSuffix[BZ_N_SUFFIX_PAIRS] 
+const Char* unzSuffix[BZ_N_SUFFIX_PAIRS] 
    = { "", "", ".tar", ".tar" };
 
 static 
-Bool hasSuffix ( Char* s, Char* suffix )
+Bool hasSuffix ( Char* s, const Char* suffix )
 {
    Int32 ns = strlen(s);
    Int32 nx = strlen(suffix);
@@ -1214,7 +1118,8 @@
 
 static 
 Bool mapSuffix ( Char* name, 
-                 Char* oldSuffix, Char* newSuffix )
+                 const Char* oldSuffix, 
+                 const Char* newSuffix )
 {
    if (!hasSuffix(name,oldSuffix)) return False;
    name[strlen(name)-strlen(oldSuffix)] = 0;
@@ -1239,8 +1144,8 @@
 
    switch (srcMode) {
       case SM_I2O: 
-         copyFileName ( inName, "(stdin)" );
-         copyFileName ( outName, "(stdout)" ); 
+         copyFileName ( inName, (Char*)"(stdin)" );
+         copyFileName ( outName, (Char*)"(stdout)" ); 
          break;
       case SM_F2F: 
          copyFileName ( inName, name );
@@ -1249,7 +1154,7 @@
          break;

>>> TRUNCATED FOR MAIL (1000 lines) <<<


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703300525.l2U5PaPT086875>