587 update bzip2 vers 1.0.5 to 1.0.6
authorGordon Ross <Gordon.Ross@nexenta.com>
Sat, 01 Jan 2011 19:31:36 -0500
changeset 13263 cac385f011a3
parent 13262 462cc62c3fc6
child 13264 1a29e6379e8a
587 update bzip2 vers 1.0.5 to 1.0.6 Reviewed by: [email protected] Reviewed by: [email protected] Reviewed by: [email protected] Approved by: [email protected]
exception_lists/copyright
exception_lists/cstyle
usr/src/common/bzip2/LICENSE
usr/src/common/bzip2/Solaris.README.txt
usr/src/common/bzip2/blocksort.c
usr/src/common/bzip2/bzlib.c
usr/src/common/bzip2/bzlib.h
usr/src/common/bzip2/bzlib_private.h
usr/src/common/bzip2/compress.c
usr/src/common/bzip2/crctable.c
usr/src/common/bzip2/decompress.c
usr/src/common/bzip2/huffman.c
usr/src/common/bzip2/randtable.c
--- a/exception_lists/copyright	Sat Jan 01 19:22:52 2011 -0500
+++ b/exception_lists/copyright	Sat Jan 01 19:31:36 2011 -0500
@@ -48,6 +48,17 @@
 usr/src/cmd/krb5/ldap_util/kdb5_ldap_policy.h
 usr/src/cmd/krb5/ldap_util/kdb5_ldap_realm.h
 usr/src/cmd/krb5/ldap_util/kdb5_ldap_services.h
+usr/src/common/bzip2/LICENSE
+usr/src/common/bzip2/Solaris.README.txt
+usr/src/common/bzip2/bzlib.h
+usr/src/common/bzip2/crctable.c
+usr/src/common/bzip2/randtable.c
+usr/src/common/bzip2/blocksort.c
+usr/src/common/bzip2/compress.c
+usr/src/common/bzip2/bzlib.c
+usr/src/common/bzip2/decompress.c
+usr/src/common/bzip2/bzlib_private.h
+usr/src/common/bzip2/huffman.c
 usr/src/common/openssl/crypto/krb5/krb5_asn.c
 usr/src/common/openssl/crypto/krb5/krb5_asn.h
 usr/src/lib/gss_mechs/mech_krb5/crypto/cksumtype_to_string.c
--- a/exception_lists/cstyle	Sat Jan 01 19:22:52 2011 -0500
+++ b/exception_lists/cstyle	Sat Jan 01 19:31:36 2011 -0500
@@ -61,6 +61,15 @@
 usr/src/cmd/krb5/slave/kprop.c
 usr/src/cmd/krb5/slave/kprop.h
 usr/src/cmd/krb5/slave/kpropd.c
+usr/src/common/bzip2/bzlib.h
+usr/src/common/bzip2/crctable.c
+usr/src/common/bzip2/randtable.c
+usr/src/common/bzip2/blocksort.c
+usr/src/common/bzip2/compress.c
+usr/src/common/bzip2/bzlib.c
+usr/src/common/bzip2/decompress.c
+usr/src/common/bzip2/bzlib_private.h
+usr/src/common/bzip2/huffman.c
 usr/src/common/openssl/crypto/krb5/krb5_asn.c
 usr/src/common/openssl/crypto/krb5/krb5_asn.h
 usr/src/lib/gss_mechs/mech_krb5/crypto/aes/aes_s2k.c
--- a/usr/src/common/bzip2/LICENSE	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/LICENSE	Sat Jan 01 19:31:36 2011 -0500
@@ -2,7 +2,7 @@
 --------------------------------------------------------------------------
 
 This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2007 Julian R Seward.  All
+documentation, are copyright (C) 1996-2010 Julian R Seward.  All
 rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,6 @@
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 Julian Seward, [email protected]
-bzip2/libbzip2 version 1.0.5 of 10 December 2007
+bzip2/libbzip2 version 1.0.6 of 6 September 2010
 
 --------------------------------------------------------------------------
--- a/usr/src/common/bzip2/Solaris.README.txt	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/Solaris.README.txt	Sat Jan 01 19:31:36 2011 -0500
@@ -24,7 +24,7 @@
 #
 
 The source in this directory has been derived from libbzip2 version
-1.0.5 downloaded from http://www.bzip.org.
+1.0.6 downloaded from http://www.bzip.org.
 
 In an effort to provide ease of syncing with the upstream code, this
 source hasn't changed much. The usual Solaris coding standards have
@@ -41,452 +41,588 @@
 	BZ2_bzErrorString
 
 
-Here is a complete list of changes made by Sun to the original 1.0.5
+Here is a complete list of changes made by Sun to the original 1.0.6
 source:
 
------------------------- blocksort.c ------------------------
-diff bzip2-1.0.5/blocksort.c ./blocksort.c
-
------------------------- bzlib.c ------------------------
-diff bzip2-1.0.5/bzlib.c ./bzlib.c
-98a99,116
-> /*
->  * Added for Solaris kernel
->  */
-> #define BZES \
-> BZE(BZ_OK) \
-> BZE(BZ_RUN_OK) \
-> BZE(BZ_FLUSH_OK) \
-> BZE(BZ_FINISH_OK) \
-> BZE(BZ_STREAM_END) \
-> BZE(BZ_SEQUENCE_ERROR) \
-> BZE(BZ_PARAM_ERROR) \
-> BZE(BZ_MEM_ERROR) \
-> BZE(BZ_DATA_ERROR) \
-> BZE(BZ_DATA_ERROR_MAGIC) \
-> BZE(BZ_IO_ERROR) \
-> BZE(BZ_UNEXPECTED_EOF) \
-> BZE(BZ_OUTBUFF_FULL) \
-> BZE(BZ_CONFIG_ERROR) 
-99a118,144
-> BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
->       int error_code
->    )
-> {
-> 	switch (error_code)
-> 	{
-> #define BZE(x) case x: return (#x);
-> BZES
-> #undef BZE
-> 	}
-> 	return ("BZ_UNKNOWN_ERROR");
-> }
-> 
-> #include <sys/sysmacros.h>
-> 
-> #ifdef _KERNEL
-> 
-> #include <sys/types.h>
-> #include <sys/cmn_err.h>
-> #include <sys/kmem.h>
-> 
-> void
-> bz_internal_error(int errcode)
-> {
-> 	panic("bzip2 internal error: %s\n", BZ2_bzErrorString(errcode));
-> }
-> 
-100a146,150
-> typedef struct {
-> 	char *buf;
-> 	size_t sz;
-> } bzap;
-> 
-103a154,181
-> 	size_t sz = sizeof (bzap) + BZ2_BZALLOC_ALIGN + (items * size);
-> 	uintptr_t p = (uintptr_t)kmem_alloc(sz, KM_SLEEP);
-> 
-> 	if (p != NULL) {
-> 		bzap *pp = (bzap *)((p + sizeof (bzap) + BZ2_BZALLOC_ALIGN - 1) &
-> 		    -BZ2_BZALLOC_ALIGN);
-> 		pp[-1].buf = (void *)p;
-> 		pp[-1].sz = sz;
-> 		return (pp);
-> 	}
-> 	return (NULL);
-> }
-> 
-> static
-> void default_bzfree ( void* opaque, void* addr )
-> {
-> 	if (addr != NULL) {
-> 		bzap *pp = (bzap *)addr - 1;
-> 		kmem_free(pp->buf, pp->sz);
-> 	}
-> }
-> 
-> #else
-> 
-> /*---------------------------------------------------*/
-> static
-> void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
-> {
-112a191
-> #endif	/* _KERNEL */
-114d192
-< 
-212a291,298
-> /*---------------------------------------------------*/
-> /*
->  * returns the BZALLOC size needed for bzCompressInit
->  */
-> int BZ_API(BZ2_bzCompressInitSize) ( 
->                      int        blockSize100k)
-> {
->    Int32   n, t;
-213a300,312
->    n       = 100000 * blockSize100k;
->    t       = 0;
->    t += ( sizeof(EState) );
->    t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
->    t += ( n                  * sizeof(UInt32) );
->    t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
->    t += ( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
->    t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
->    t += ( 65537              * sizeof(UInt32) );
->    t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
->    return (t);
-> }
-> 
-214a314,376
-> /*
->  * added to allow reuse of bz_stream without malloc/free
->  */
-> int BZ_API(BZ2_bzCompressReset) ( bz_stream *strm )
-> {
->    EState* s = strm->state;
-> 
->    if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-> 
->    if (s == NULL) return BZ_MEM_ERROR;
->    s->strm = strm;
-> 
->    s->blockNo           = 0;
->    s->state             = BZ_S_INPUT;
->    s->mode              = BZ_M_RUNNING;
->    s->combinedCRC       = 0;
->    s->nblockMAX         = 100000 * s->blockSize100k - 19;
-> 
->    s->block             = (UChar*)s->arr2;
->    s->mtfv              = (UInt16*)s->arr1;
->    s->zbits             = NULL;
->    s->ptr               = (UInt32*)s->arr1;
-> 
->    strm->state          = s;
->    strm->total_in_lo32  = 0;
->    strm->total_in_hi32  = 0;
->    strm->total_out_lo32 = 0;
->    strm->total_out_hi32 = 0;
->    init_RL ( s );
->    prepare_new_block ( s );
->    return BZ_OK;
-> }
-> 
-> int BZ_API(BZ2_bzDecompressReset) ( bz_stream* strm )
-> {
->    DState* s = strm->state;
-> 
->    if (!bz_config_ok()) return BZ_CONFIG_ERROR;
-> 
->    if (strm == NULL) return BZ_PARAM_ERROR;
-> 
->    s->strm                  = strm;
-> 
->    s->state                 = BZ_X_MAGIC_1;
->    s->bsLive                = 0;
->    s->bsBuff                = 0;
->    s->calculatedCombinedCRC = 0;
->    strm->total_in_lo32      = 0;
->    strm->total_in_hi32      = 0;
->    strm->total_out_lo32     = 0;
->    strm->total_out_hi32     = 0;
-> 
->    s->ll4                   = NULL;
->    s->ll16                  = NULL;
->    s->tt                    = NULL;
->    s->currBlockNo           = 0;
-> 
-> 
->    return BZ_OK;
-> }
-> 
-> 
-> /*---------------------------------------------------*/
-854a1017
-> #if 0
-857a1021
-> #endif
-1081c1245
-<    BZ2_bzCompressEnd ( &(bzf->strm) );
----
->    (void) BZ2_bzCompressEnd ( &(bzf->strm) );
-1155c1319
-<       (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
----
->       (void) BZ2_bzDecompressEnd ( &(bzf->strm) );
-1285c1449
-<    BZ2_bzCompressEnd ( &strm );
----
->    (void) BZ2_bzCompressEnd ( &strm );
-1289c1453
-<    BZ2_bzCompressEnd ( &strm );
----
->    (void) BZ2_bzCompressEnd ( &strm );
-1293c1457
-<    BZ2_bzCompressEnd ( &strm );
----
->    (void) BZ2_bzCompressEnd ( &strm );
-1333c1497
-<    BZ2_bzDecompressEnd ( &strm );
----
->    (void) BZ2_bzDecompressEnd ( &strm );
-1338c1502
-<       BZ2_bzDecompressEnd ( &strm );
----
->       (void) BZ2_bzDecompressEnd ( &strm );
-1341c1505
-<       BZ2_bzDecompressEnd ( &strm );
----
->       (void) BZ2_bzDecompressEnd ( &strm );
-1343c1507
-<    };      
----
->    }   
-1346c1510
-<    BZ2_bzDecompressEnd ( &strm );
----
->    (void) BZ2_bzDecompressEnd ( &strm );
-
------------------------- bzlib.h ------------------------
-diff bzip2-1.0.5/bzlib.h ./bzlib.h
-21d20
-< 
-24a24,27
-> #ifdef _KERNEL
-> #define	BZ_NO_STDIO
-> #endif
-> 
-99a103,104
-> #define	BZ2_BZALLOC_ALIGN	(64)
-> 
-106a112,119
-> BZ_EXTERN int  BZ_API(BZ2_bzCompressInitSize) ( 
->       int        blockSize100k
->    );
-> 
-> BZ_EXTERN int BZ_API(BZ2_bzCompressReset) ( 
->       bz_stream* strm 
->    );
-> 
-121a135,138
-> BZ_EXTERN int BZ_API(BZ2_bzDecompressReset) ( 
->       bz_stream* strm 
->    );
-> 
-129a147,149
-> BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
->       int error_code
->    );
-131a152
-> 
-278,279d298
-< #endif
-< 
-282a302
-> #endif /* _BZLIB_H */
-
------------------------- bzlib_private.h ------------------------
-diff bzip2-1.0.5/bzlib_private.h ./bzlib_private.h
-24a25,27
-> #ifdef _KERNEL
-> #define	BZ_NO_STDIO
-> #else
-25a29
-> #endif
-87a92
-> #pragma weak bz_internal_error
-90c95
-<    { if (!(cond)) bz_internal_error ( errcode ); }
----
->    { if (!(cond) && &bz_internal_error != NULL) bz_internal_error ( errcode ); }
-159c164
-<    crcVar = 0xffffffffL;                       \
----
->    crcVar = 0xffffffffUL;                      \
-495,497d499
-< #endif
-< 
-< 
-509a512
-> #endif	/* _BZLIB_PRIVATE_H */
-
------------------------- compress.c ------------------------
-diff bzip2-1.0.5/compress.c ./compress.c
-
------------------------- crctable.c ------------------------
-diff bzip2-1.0.5/crctable.c ./crctable.c
-35,98c35,98
-<    0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
-<    0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
-<    0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
-<    0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
-<    0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
-<    0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
-<    0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
-<    0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
-<    0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
-<    0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
-<    0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
-<    0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
-<    0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
-<    0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
-<    0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
-<    0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
-<    0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
-<    0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
-<    0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
-<    0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
-<    0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
-<    0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
-<    0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
-<    0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
-<    0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
-<    0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
-<    0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
-<    0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
-<    0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
-<    0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
-<    0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
-<    0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
-<    0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
-<    0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
-<    0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
-<    0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
-<    0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
-<    0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
-<    0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
-<    0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
-<    0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
-<    0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
-<    0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
-<    0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
-<    0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
-<    0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
-<    0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
-<    0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
-<    0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
-<    0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
-<    0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
-<    0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
-<    0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
-<    0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
-<    0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
-<    0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
-<    0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
-<    0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
-<    0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
-<    0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
-<    0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
-<    0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
-<    0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
-<    0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
----
->    0x00000000UL, 0x04c11db7UL, 0x09823b6eUL, 0x0d4326d9UL,
->    0x130476dcUL, 0x17c56b6bUL, 0x1a864db2UL, 0x1e475005UL,
->    0x2608edb8UL, 0x22c9f00fUL, 0x2f8ad6d6UL, 0x2b4bcb61UL,
->    0x350c9b64UL, 0x31cd86d3UL, 0x3c8ea00aUL, 0x384fbdbdUL,
->    0x4c11db70UL, 0x48d0c6c7UL, 0x4593e01eUL, 0x4152fda9UL,
->    0x5f15adacUL, 0x5bd4b01bUL, 0x569796c2UL, 0x52568b75UL,
->    0x6a1936c8UL, 0x6ed82b7fUL, 0x639b0da6UL, 0x675a1011UL,
->    0x791d4014UL, 0x7ddc5da3UL, 0x709f7b7aUL, 0x745e66cdUL,
->    0x9823b6e0UL, 0x9ce2ab57UL, 0x91a18d8eUL, 0x95609039UL,
->    0x8b27c03cUL, 0x8fe6dd8bUL, 0x82a5fb52UL, 0x8664e6e5UL,
->    0xbe2b5b58UL, 0xbaea46efUL, 0xb7a96036UL, 0xb3687d81UL,
->    0xad2f2d84UL, 0xa9ee3033UL, 0xa4ad16eaUL, 0xa06c0b5dUL,
->    0xd4326d90UL, 0xd0f37027UL, 0xddb056feUL, 0xd9714b49UL,
->    0xc7361b4cUL, 0xc3f706fbUL, 0xceb42022UL, 0xca753d95UL,
->    0xf23a8028UL, 0xf6fb9d9fUL, 0xfbb8bb46UL, 0xff79a6f1UL,
->    0xe13ef6f4UL, 0xe5ffeb43UL, 0xe8bccd9aUL, 0xec7dd02dUL,
->    0x34867077UL, 0x30476dc0UL, 0x3d044b19UL, 0x39c556aeUL,
->    0x278206abUL, 0x23431b1cUL, 0x2e003dc5UL, 0x2ac12072UL,
->    0x128e9dcfUL, 0x164f8078UL, 0x1b0ca6a1UL, 0x1fcdbb16UL,
->    0x018aeb13UL, 0x054bf6a4UL, 0x0808d07dUL, 0x0cc9cdcaUL,
->    0x7897ab07UL, 0x7c56b6b0UL, 0x71159069UL, 0x75d48ddeUL,
->    0x6b93dddbUL, 0x6f52c06cUL, 0x6211e6b5UL, 0x66d0fb02UL,
->    0x5e9f46bfUL, 0x5a5e5b08UL, 0x571d7dd1UL, 0x53dc6066UL,
->    0x4d9b3063UL, 0x495a2dd4UL, 0x44190b0dUL, 0x40d816baUL,
->    0xaca5c697UL, 0xa864db20UL, 0xa527fdf9UL, 0xa1e6e04eUL,
->    0xbfa1b04bUL, 0xbb60adfcUL, 0xb6238b25UL, 0xb2e29692UL,
->    0x8aad2b2fUL, 0x8e6c3698UL, 0x832f1041UL, 0x87ee0df6UL,
->    0x99a95df3UL, 0x9d684044UL, 0x902b669dUL, 0x94ea7b2aUL,
->    0xe0b41de7UL, 0xe4750050UL, 0xe9362689UL, 0xedf73b3eUL,
->    0xf3b06b3bUL, 0xf771768cUL, 0xfa325055UL, 0xfef34de2UL,
->    0xc6bcf05fUL, 0xc27dede8UL, 0xcf3ecb31UL, 0xcbffd686UL,
->    0xd5b88683UL, 0xd1799b34UL, 0xdc3abdedUL, 0xd8fba05aUL,
->    0x690ce0eeUL, 0x6dcdfd59UL, 0x608edb80UL, 0x644fc637UL,
->    0x7a089632UL, 0x7ec98b85UL, 0x738aad5cUL, 0x774bb0ebUL,
->    0x4f040d56UL, 0x4bc510e1UL, 0x46863638UL, 0x42472b8fUL,
->    0x5c007b8aUL, 0x58c1663dUL, 0x558240e4UL, 0x51435d53UL,
->    0x251d3b9eUL, 0x21dc2629UL, 0x2c9f00f0UL, 0x285e1d47UL,
->    0x36194d42UL, 0x32d850f5UL, 0x3f9b762cUL, 0x3b5a6b9bUL,
->    0x0315d626UL, 0x07d4cb91UL, 0x0a97ed48UL, 0x0e56f0ffUL,
->    0x1011a0faUL, 0x14d0bd4dUL, 0x19939b94UL, 0x1d528623UL,
->    0xf12f560eUL, 0xf5ee4bb9UL, 0xf8ad6d60UL, 0xfc6c70d7UL,
->    0xe22b20d2UL, 0xe6ea3d65UL, 0xeba91bbcUL, 0xef68060bUL,
->    0xd727bbb6UL, 0xd3e6a601UL, 0xdea580d8UL, 0xda649d6fUL,
->    0xc423cd6aUL, 0xc0e2d0ddUL, 0xcda1f604UL, 0xc960ebb3UL,
->    0xbd3e8d7eUL, 0xb9ff90c9UL, 0xb4bcb610UL, 0xb07daba7UL,
->    0xae3afba2UL, 0xaafbe615UL, 0xa7b8c0ccUL, 0xa379dd7bUL,
->    0x9b3660c6UL, 0x9ff77d71UL, 0x92b45ba8UL, 0x9675461fUL,
->    0x8832161aUL, 0x8cf30badUL, 0x81b02d74UL, 0x857130c3UL,
->    0x5d8a9099UL, 0x594b8d2eUL, 0x5408abf7UL, 0x50c9b640UL,
->    0x4e8ee645UL, 0x4a4ffbf2UL, 0x470cdd2bUL, 0x43cdc09cUL,
->    0x7b827d21UL, 0x7f436096UL, 0x7200464fUL, 0x76c15bf8UL,
->    0x68860bfdUL, 0x6c47164aUL, 0x61043093UL, 0x65c52d24UL,
->    0x119b4be9UL, 0x155a565eUL, 0x18197087UL, 0x1cd86d30UL,
->    0x029f3d35UL, 0x065e2082UL, 0x0b1d065bUL, 0x0fdc1becUL,
->    0x3793a651UL, 0x3352bbe6UL, 0x3e119d3fUL, 0x3ad08088UL,
->    0x2497d08dUL, 0x2056cd3aUL, 0x2d15ebe3UL, 0x29d4f654UL,
->    0xc5a92679UL, 0xc1683bceUL, 0xcc2b1d17UL, 0xc8ea00a0UL,
->    0xd6ad50a5UL, 0xd26c4d12UL, 0xdf2f6bcbUL, 0xdbee767cUL,
->    0xe3a1cbc1UL, 0xe760d676UL, 0xea23f0afUL, 0xeee2ed18UL,
->    0xf0a5bd1dUL, 0xf464a0aaUL, 0xf9278673UL, 0xfde69bc4UL,
->    0x89b8fd09UL, 0x8d79e0beUL, 0x803ac667UL, 0x84fbdbd0UL,
->    0x9abc8bd5UL, 0x9e7d9662UL, 0x933eb0bbUL, 0x97ffad0cUL,
->    0xafb010b1UL, 0xab710d06UL, 0xa6322bdfUL, 0xa2f33668UL,
->    0xbcb4666dUL, 0xb8757bdaUL, 0xb5365d03UL, 0xb1f740b4UL
-
------------------------- decompress.c ------------------------
-diff bzip2-1.0.5/decompress.c ./decompress.c
-41c41
-<    { retVal = rrr; goto save_state_and_return; };
----
->    { retVal = rrr; goto save_state_and_return; }
-494c494
-<             RETURN(BZ_DATA_ERROR);
----
->             RETURN(BZ_DATA_ERROR)
-558c558
-<       RETURN(BZ_OK);
----
->       RETURN(BZ_OK)
-586c586
-<       RETURN(BZ_STREAM_END);
----
->       RETURN(BZ_STREAM_END)
-
------------------------- huffman.c ------------------------
-diff bzip2-1.0.5/huffman.c ./huffman.c
-
------------------------- randtable.c ------------------------
-diff bzip2-1.0.5/randtable.c ./randtable.c
+diff -u bzip2-1.0.6/bzlib.c ./bzlib.c
+--- bzip2-1.0.6/bzlib.c	Fri Sep 10 18:38:23 2010
++++ ./bzlib.c	Wed Dec 29 20:47:11 2010
+@@ -96,11 +96,89 @@
+    return 1;
+ }
+ 
++/*
++ * Added for Solaris kernel
++ */
++#define BZES \
++BZE(BZ_OK) \
++BZE(BZ_RUN_OK) \
++BZE(BZ_FLUSH_OK) \
++BZE(BZ_FINISH_OK) \
++BZE(BZ_STREAM_END) \
++BZE(BZ_SEQUENCE_ERROR) \
++BZE(BZ_PARAM_ERROR) \
++BZE(BZ_MEM_ERROR) \
++BZE(BZ_DATA_ERROR) \
++BZE(BZ_DATA_ERROR_MAGIC) \
++BZE(BZ_IO_ERROR) \
++BZE(BZ_UNEXPECTED_EOF) \
++BZE(BZ_OUTBUFF_FULL) \
++BZE(BZ_CONFIG_ERROR) 
+ 
++BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
++      int error_code
++   )
++{
++	switch (error_code)
++	{
++#define BZE(x) case x: return (#x);
++BZES
++#undef BZE
++	}
++	return ("BZ_UNKNOWN_ERROR");
++}
++
++#include <sys/sysmacros.h>
++
++#ifdef _KERNEL
++
++#include <sys/types.h>
++#include <sys/cmn_err.h>
++#include <sys/kmem.h>
++
++void
++bz_internal_error(int errcode)
++{
++	panic("bzip2 internal error: %s\n", BZ2_bzErrorString(errcode));
++}
++
+ /*---------------------------------------------------*/
++typedef struct {
++	char *buf;
++	size_t sz;
++} bzap;
++
+ static
+ void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
+ {
++	size_t sz = sizeof (bzap) + BZ2_BZALLOC_ALIGN + (items * size);
++	uintptr_t p = (uintptr_t)kmem_alloc(sz, KM_SLEEP);
++
++	if (p != NULL) {
++		bzap *pp = (bzap *)((p + sizeof (bzap) + BZ2_BZALLOC_ALIGN - 1) &
++		    -BZ2_BZALLOC_ALIGN);
++		pp[-1].buf = (void *)p;
++		pp[-1].sz = sz;
++		return (pp);
++	}
++	return (NULL);
++}
++
++static
++void default_bzfree ( void* opaque, void* addr )
++{
++	if (addr != NULL) {
++		bzap *pp = (bzap *)addr - 1;
++		kmem_free(pp->buf, pp->sz);
++	}
++}
++
++#else
++
++/*---------------------------------------------------*/
++static
++void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
++{
+    void* v = malloc ( items * size );
+    return v;
+ }
+@@ -110,8 +188,8 @@
+ {
+    if (addr != NULL) free ( addr );
+ }
++#endif	/* _KERNEL */
+ 
+-
+ /*---------------------------------------------------*/
+ static
+ void prepare_new_block ( EState* s )
+@@ -210,8 +288,92 @@
+    return BZ_OK;
+ }
+ 
++/*---------------------------------------------------*/
++/*
++ * returns the BZALLOC size needed for bzCompressInit
++ */
++int BZ_API(BZ2_bzCompressInitSize) ( 
++                     int        blockSize100k)
++{
++   Int32   n, t;
+ 
++   n       = 100000 * blockSize100k;
++   t       = 0;
++   t += ( sizeof(EState) );
++   t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
++   t += ( n                  * sizeof(UInt32) );
++   t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
++   t += ( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
++   t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
++   t += ( 65537              * sizeof(UInt32) );
++   t = P2ROUNDUP(t, BZ2_BZALLOC_ALIGN);
++   return (t);
++}
++
+ /*---------------------------------------------------*/
++/*
++ * added to allow reuse of bz_stream without malloc/free
++ */
++int BZ_API(BZ2_bzCompressReset) ( bz_stream *strm )
++{
++   EState* s = strm->state;
++
++   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
++
++   if (s == NULL) return BZ_MEM_ERROR;
++   s->strm = strm;
++
++   s->blockNo           = 0;
++   s->state             = BZ_S_INPUT;
++   s->mode              = BZ_M_RUNNING;
++   s->combinedCRC       = 0;
++   s->nblockMAX         = 100000 * s->blockSize100k - 19;
++
++   s->block             = (UChar*)s->arr2;
++   s->mtfv              = (UInt16*)s->arr1;
++   s->zbits             = NULL;
++   s->ptr               = (UInt32*)s->arr1;
++
++   strm->state          = s;
++   strm->total_in_lo32  = 0;
++   strm->total_in_hi32  = 0;
++   strm->total_out_lo32 = 0;
++   strm->total_out_hi32 = 0;
++   init_RL ( s );
++   prepare_new_block ( s );
++   return BZ_OK;
++}
++
++int BZ_API(BZ2_bzDecompressReset) ( bz_stream* strm )
++{
++   DState* s = strm->state;
++
++   if (!bz_config_ok()) return BZ_CONFIG_ERROR;
++
++   if (strm == NULL) return BZ_PARAM_ERROR;
++
++   s->strm                  = strm;
++
++   s->state                 = BZ_X_MAGIC_1;
++   s->bsLive                = 0;
++   s->bsBuff                = 0;
++   s->calculatedCombinedCRC = 0;
++   strm->total_in_lo32      = 0;
++   strm->total_in_hi32      = 0;
++   strm->total_out_lo32     = 0;
++   strm->total_out_hi32     = 0;
++
++   s->ll4                   = NULL;
++   s->ll16                  = NULL;
++   s->tt                    = NULL;
++   s->currBlockNo           = 0;
++
++
++   return BZ_OK;
++}
++
++
++/*---------------------------------------------------*/
+ static
+ void add_pair_to_block ( EState* s )
+ {
+@@ -852,9 +1014,11 @@
+       }
+    }
+ 
++#if 0
+    AssertH ( 0, 6001 );
+ 
+    return 0;  /*NOTREACHED*/
++#endif
+ }
+ 
+ 
+@@ -1078,7 +1242,7 @@
+       *nbytes_out_hi32 = bzf->strm.total_out_hi32;
+ 
+    BZ_SETERR(BZ_OK);
+-   BZ2_bzCompressEnd ( &(bzf->strm) );
++   (void) BZ2_bzCompressEnd ( &(bzf->strm) );
+    free ( bzf );
+ }
+ 
+@@ -1152,7 +1316,7 @@
+       { BZ_SETERR(BZ_SEQUENCE_ERROR); return; };
+ 
+    if (bzf->initialisedOk)
+-      (void)BZ2_bzDecompressEnd ( &(bzf->strm) );
++      (void) BZ2_bzDecompressEnd ( &(bzf->strm) );
+    free ( bzf );
+ }
+ 
+@@ -1282,15 +1446,15 @@
+ 
+    /* normal termination */
+    *destLen -= strm.avail_out;   
+-   BZ2_bzCompressEnd ( &strm );
++   (void) BZ2_bzCompressEnd ( &strm );
+    return BZ_OK;
+ 
+    output_overflow:
+-   BZ2_bzCompressEnd ( &strm );
++   (void) BZ2_bzCompressEnd ( &strm );
+    return BZ_OUTBUFF_FULL;
+ 
+    errhandler:
+-   BZ2_bzCompressEnd ( &strm );
++   (void) BZ2_bzCompressEnd ( &strm );
+    return ret;
+ }
+ 
+@@ -1330,20 +1494,20 @@
+ 
+    /* normal termination */
+    *destLen -= strm.avail_out;
+-   BZ2_bzDecompressEnd ( &strm );
++   (void) BZ2_bzDecompressEnd ( &strm );
+    return BZ_OK;
+ 
+    output_overflow_or_eof:
+    if (strm.avail_out > 0) {
+-      BZ2_bzDecompressEnd ( &strm );
++      (void) BZ2_bzDecompressEnd ( &strm );
+       return BZ_UNEXPECTED_EOF;
+    } else {
+-      BZ2_bzDecompressEnd ( &strm );
++      (void) BZ2_bzDecompressEnd ( &strm );
+       return BZ_OUTBUFF_FULL;
+-   };      
++   }   
+ 
+    errhandler:
+-   BZ2_bzDecompressEnd ( &strm );
++   (void) BZ2_bzDecompressEnd ( &strm );
+    return ret; 
+ }
+ 
+diff -u bzip2-1.0.6/bzlib.h ./bzlib.h
+--- bzip2-1.0.6/bzlib.h	Fri Sep 10 19:08:42 2010
++++ ./bzlib.h	Wed Dec 29 20:59:21 2010
+@@ -18,10 +18,13 @@
+    in the file LICENSE.
+    ------------------------------------------------------------------ */
+ 
+-
+ #ifndef _BZLIB_H
+ #define _BZLIB_H
+ 
++#ifdef _KERNEL
++#define	BZ_NO_STDIO
++#endif
++
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+@@ -97,6 +100,8 @@
+ 
+ /*-- Core (low-level) library functions --*/
+ 
++#define	BZ2_BZALLOC_ALIGN	(64)
++
+ BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
+       bz_stream* strm, 
+       int        blockSize100k, 
+@@ -104,6 +109,14 @@
+       int        workFactor 
+    );
+ 
++BZ_EXTERN int BZ_API(BZ2_bzCompressInitSize) ( 
++      int        blockSize100k
++   );
++
++BZ_EXTERN int BZ_API(BZ2_bzCompressReset) ( 
++      bz_stream* strm 
++   );
++
+ BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
+       bz_stream* strm, 
+       int action 
+@@ -119,6 +132,10 @@
+       int       small
+    );
+ 
++BZ_EXTERN int BZ_API(BZ2_bzDecompressReset) ( 
++      bz_stream* strm 
++   );
++
+ BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
+       bz_stream* strm 
+    );
+@@ -127,8 +144,12 @@
+       bz_stream *strm 
+    );
+ 
++BZ_EXTERN const char * BZ_API(BZ2_bzErrorString) ( 
++      int error_code
++   );
+ 
+ 
++
+ /*-- High(er) level library functions --*/
+ 
+ #ifndef BZ_NO_STDIO
+@@ -275,8 +296,7 @@
+ }
+ #endif
+ 
+-#endif
+-
+ /*-------------------------------------------------------------*/
+ /*--- end                                           bzlib.h ---*/
+ /*-------------------------------------------------------------*/
++#endif /* _BZLIB_H */
+diff -u bzip2-1.0.6/bzlib_private.h ./bzlib_private.h
+--- bzip2-1.0.6/bzlib_private.h	Fri Sep 10 18:41:55 2010
++++ ./bzlib_private.h	Wed Dec 29 21:01:01 2010
+@@ -22,7 +22,11 @@
+ #ifndef _BZLIB_PRIVATE_H
+ #define _BZLIB_PRIVATE_H
+ 
++#ifdef _KERNEL
++#define	BZ_NO_STDIO
++#else
+ #include <stdlib.h>
++#endif
+ 
+ #ifndef BZ_NO_STDIO
+ #include <stdio.h>
+@@ -85,9 +89,10 @@
+ 
+ #else
+ 
++#pragma weak bz_internal_error
+ extern void bz_internal_error ( int errcode );
+ #define AssertH(cond,errcode) \
+-   { if (!(cond)) bz_internal_error ( errcode ); }
++   { if (!(cond) && &bz_internal_error != NULL) bz_internal_error ( errcode ); }
+ #define AssertD(cond,msg)                do { } while (0)
+ #define VPrintf0(zf)                     do { } while (0)
+ #define VPrintf1(zf,za1)                 do { } while (0)
+@@ -156,7 +161,7 @@
+ 
+ #define BZ_INITIALISE_CRC(crcVar)              \
+ {                                              \
+-   crcVar = 0xffffffffL;                       \
++   crcVar = 0xffffffffUL;                      \
+ }
+ 
+ #define BZ_FINALISE_CRC(crcVar)                \
+@@ -492,9 +497,6 @@
+                            Int32,  Int32, Int32 );
+ 
+ 
+-#endif
+-
+-
+ /*-- BZ_NO_STDIO seems to make NULL disappear on some platforms. --*/
+ 
+ #ifdef BZ_NO_STDIO
+@@ -507,3 +509,4 @@
+ /*-------------------------------------------------------------*/
+ /*--- end                                   bzlib_private.h ---*/
+ /*-------------------------------------------------------------*/
++#endif	/* _BZLIB_PRIVATE_H */
+diff -u bzip2-1.0.6/crctable.c ./crctable.c
+--- bzip2-1.0.6/crctable.c	Fri Sep 10 18:43:34 2010
++++ ./crctable.c	Wed Dec 29 21:01:57 2010
+@@ -32,70 +32,70 @@
+ 
+    /*-- Ugly, innit? --*/
+ 
+-   0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+-   0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+-   0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+-   0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+-   0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+-   0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+-   0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+-   0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+-   0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+-   0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+-   0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+-   0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+-   0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+-   0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+-   0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+-   0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+-   0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+-   0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+-   0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+-   0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+-   0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+-   0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+-   0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+-   0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+-   0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+-   0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+-   0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+-   0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+-   0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+-   0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+-   0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+-   0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+-   0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+-   0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+-   0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+-   0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+-   0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+-   0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+-   0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+-   0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+-   0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+-   0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+-   0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+-   0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+-   0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+-   0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+-   0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+-   0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+-   0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+-   0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+-   0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+-   0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+-   0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+-   0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+-   0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+-   0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+-   0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+-   0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+-   0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+-   0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+-   0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+-   0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+-   0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+-   0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
++   0x00000000UL, 0x04c11db7UL, 0x09823b6eUL, 0x0d4326d9UL,
++   0x130476dcUL, 0x17c56b6bUL, 0x1a864db2UL, 0x1e475005UL,
++   0x2608edb8UL, 0x22c9f00fUL, 0x2f8ad6d6UL, 0x2b4bcb61UL,
++   0x350c9b64UL, 0x31cd86d3UL, 0x3c8ea00aUL, 0x384fbdbdUL,
++   0x4c11db70UL, 0x48d0c6c7UL, 0x4593e01eUL, 0x4152fda9UL,
++   0x5f15adacUL, 0x5bd4b01bUL, 0x569796c2UL, 0x52568b75UL,
++   0x6a1936c8UL, 0x6ed82b7fUL, 0x639b0da6UL, 0x675a1011UL,
++   0x791d4014UL, 0x7ddc5da3UL, 0x709f7b7aUL, 0x745e66cdUL,
++   0x9823b6e0UL, 0x9ce2ab57UL, 0x91a18d8eUL, 0x95609039UL,
++   0x8b27c03cUL, 0x8fe6dd8bUL, 0x82a5fb52UL, 0x8664e6e5UL,
++   0xbe2b5b58UL, 0xbaea46efUL, 0xb7a96036UL, 0xb3687d81UL,
++   0xad2f2d84UL, 0xa9ee3033UL, 0xa4ad16eaUL, 0xa06c0b5dUL,
++   0xd4326d90UL, 0xd0f37027UL, 0xddb056feUL, 0xd9714b49UL,
++   0xc7361b4cUL, 0xc3f706fbUL, 0xceb42022UL, 0xca753d95UL,
++   0xf23a8028UL, 0xf6fb9d9fUL, 0xfbb8bb46UL, 0xff79a6f1UL,
++   0xe13ef6f4UL, 0xe5ffeb43UL, 0xe8bccd9aUL, 0xec7dd02dUL,
++   0x34867077UL, 0x30476dc0UL, 0x3d044b19UL, 0x39c556aeUL,
++   0x278206abUL, 0x23431b1cUL, 0x2e003dc5UL, 0x2ac12072UL,
++   0x128e9dcfUL, 0x164f8078UL, 0x1b0ca6a1UL, 0x1fcdbb16UL,
++   0x018aeb13UL, 0x054bf6a4UL, 0x0808d07dUL, 0x0cc9cdcaUL,
++   0x7897ab07UL, 0x7c56b6b0UL, 0x71159069UL, 0x75d48ddeUL,
++   0x6b93dddbUL, 0x6f52c06cUL, 0x6211e6b5UL, 0x66d0fb02UL,
++   0x5e9f46bfUL, 0x5a5e5b08UL, 0x571d7dd1UL, 0x53dc6066UL,
++   0x4d9b3063UL, 0x495a2dd4UL, 0x44190b0dUL, 0x40d816baUL,
++   0xaca5c697UL, 0xa864db20UL, 0xa527fdf9UL, 0xa1e6e04eUL,
++   0xbfa1b04bUL, 0xbb60adfcUL, 0xb6238b25UL, 0xb2e29692UL,
++   0x8aad2b2fUL, 0x8e6c3698UL, 0x832f1041UL, 0x87ee0df6UL,
++   0x99a95df3UL, 0x9d684044UL, 0x902b669dUL, 0x94ea7b2aUL,
++   0xe0b41de7UL, 0xe4750050UL, 0xe9362689UL, 0xedf73b3eUL,
++   0xf3b06b3bUL, 0xf771768cUL, 0xfa325055UL, 0xfef34de2UL,
++   0xc6bcf05fUL, 0xc27dede8UL, 0xcf3ecb31UL, 0xcbffd686UL,
++   0xd5b88683UL, 0xd1799b34UL, 0xdc3abdedUL, 0xd8fba05aUL,
++   0x690ce0eeUL, 0x6dcdfd59UL, 0x608edb80UL, 0x644fc637UL,
++   0x7a089632UL, 0x7ec98b85UL, 0x738aad5cUL, 0x774bb0ebUL,
++   0x4f040d56UL, 0x4bc510e1UL, 0x46863638UL, 0x42472b8fUL,
++   0x5c007b8aUL, 0x58c1663dUL, 0x558240e4UL, 0x51435d53UL,
++   0x251d3b9eUL, 0x21dc2629UL, 0x2c9f00f0UL, 0x285e1d47UL,
++   0x36194d42UL, 0x32d850f5UL, 0x3f9b762cUL, 0x3b5a6b9bUL,
++   0x0315d626UL, 0x07d4cb91UL, 0x0a97ed48UL, 0x0e56f0ffUL,
++   0x1011a0faUL, 0x14d0bd4dUL, 0x19939b94UL, 0x1d528623UL,
++   0xf12f560eUL, 0xf5ee4bb9UL, 0xf8ad6d60UL, 0xfc6c70d7UL,
++   0xe22b20d2UL, 0xe6ea3d65UL, 0xeba91bbcUL, 0xef68060bUL,
++   0xd727bbb6UL, 0xd3e6a601UL, 0xdea580d8UL, 0xda649d6fUL,
++   0xc423cd6aUL, 0xc0e2d0ddUL, 0xcda1f604UL, 0xc960ebb3UL,
++   0xbd3e8d7eUL, 0xb9ff90c9UL, 0xb4bcb610UL, 0xb07daba7UL,
++   0xae3afba2UL, 0xaafbe615UL, 0xa7b8c0ccUL, 0xa379dd7bUL,
++   0x9b3660c6UL, 0x9ff77d71UL, 0x92b45ba8UL, 0x9675461fUL,
++   0x8832161aUL, 0x8cf30badUL, 0x81b02d74UL, 0x857130c3UL,
++   0x5d8a9099UL, 0x594b8d2eUL, 0x5408abf7UL, 0x50c9b640UL,
++   0x4e8ee645UL, 0x4a4ffbf2UL, 0x470cdd2bUL, 0x43cdc09cUL,
++   0x7b827d21UL, 0x7f436096UL, 0x7200464fUL, 0x76c15bf8UL,
++   0x68860bfdUL, 0x6c47164aUL, 0x61043093UL, 0x65c52d24UL,
++   0x119b4be9UL, 0x155a565eUL, 0x18197087UL, 0x1cd86d30UL,
++   0x029f3d35UL, 0x065e2082UL, 0x0b1d065bUL, 0x0fdc1becUL,
++   0x3793a651UL, 0x3352bbe6UL, 0x3e119d3fUL, 0x3ad08088UL,
++   0x2497d08dUL, 0x2056cd3aUL, 0x2d15ebe3UL, 0x29d4f654UL,
++   0xc5a92679UL, 0xc1683bceUL, 0xcc2b1d17UL, 0xc8ea00a0UL,
++   0xd6ad50a5UL, 0xd26c4d12UL, 0xdf2f6bcbUL, 0xdbee767cUL,
++   0xe3a1cbc1UL, 0xe760d676UL, 0xea23f0afUL, 0xeee2ed18UL,
++   0xf0a5bd1dUL, 0xf464a0aaUL, 0xf9278673UL, 0xfde69bc4UL,
++   0x89b8fd09UL, 0x8d79e0beUL, 0x803ac667UL, 0x84fbdbd0UL,
++   0x9abc8bd5UL, 0x9e7d9662UL, 0x933eb0bbUL, 0x97ffad0cUL,
++   0xafb010b1UL, 0xab710d06UL, 0xa6322bdfUL, 0xa2f33668UL,
++   0xbcb4666dUL, 0xb8757bdaUL, 0xb5365d03UL, 0xb1f740b4UL
+ };
+ 
+ 
+diff -u bzip2-1.0.6/decompress.c ./decompress.c
+--- bzip2-1.0.6/decompress.c	Fri Sep 10 18:43:17 2010
++++ ./decompress.c	Fri Dec 31 00:58:25 2010
+@@ -38,7 +38,7 @@
+ 
+ /*---------------------------------------------------*/
+ #define RETURN(rrr)                               \
+-   { retVal = rrr; goto save_state_and_return; };
++   { retVal = rrr; goto save_state_and_return; }
+ 
+ #define GET_BITS(lll,vvv,nnn)                     \
+    case lll: s->state = lll;                      \
+@@ -505,13 +505,13 @@
+       for (i = 0; i <= 256; i++) {
+          if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
+             /* s->cftab[i] can legitimately be == nblock */
+-            RETURN(BZ_DATA_ERROR);
++            RETURN(BZ_DATA_ERROR)
+          }
+       }
+       /* Check: cftab entries non-descending. */
+       for (i = 1; i <= 256; i++) {
+          if (s->cftab[i-1] > s->cftab[i]) {
+-            RETURN(BZ_DATA_ERROR);
++            RETURN(BZ_DATA_ERROR)
+          }
+       }
+ 
+@@ -575,7 +575,7 @@
+ 
+       }
+ 
+-      RETURN(BZ_OK);
++      RETURN(BZ_OK)
+ 
+ 
+ 
+@@ -603,7 +603,7 @@
+       s->storedCombinedCRC = (s->storedCombinedCRC << 8) | ((UInt32)uc);
+ 
+       s->state = BZ_X_IDLE;
+-      RETURN(BZ_STREAM_END);
++      RETURN(BZ_STREAM_END)
+ 
+       default: AssertH ( False, 4001 );
+    }
--- a/usr/src/common/bzip2/blocksort.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/blocksort.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
--- a/usr/src/common/bzip2/bzlib.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/bzlib.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
--- a/usr/src/common/bzip2/bzlib.h	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/bzlib.h	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -109,7 +109,7 @@
       int        workFactor 
    );
 
-BZ_EXTERN int  BZ_API(BZ2_bzCompressInitSize) ( 
+BZ_EXTERN int BZ_API(BZ2_bzCompressInitSize) ( 
       int        blockSize100k
    );
 
--- a/usr/src/common/bzip2/bzlib_private.h	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/bzlib_private.h	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -40,7 +40,7 @@
 
 /*-- General stuff. --*/
 
-#define BZ_VERSION  "1.0.5, 10-Dec-2007"
+#define BZ_VERSION  "1.0.6, 6-Sept-2010"
 
 typedef char            Char;
 typedef unsigned char   Bool;
--- a/usr/src/common/bzip2/compress.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/compress.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
--- a/usr/src/common/bzip2/crctable.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/crctable.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
--- a/usr/src/common/bzip2/decompress.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/decompress.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
@@ -381,6 +381,13 @@
             es = -1;
             N = 1;
             do {
+               /* Check that N doesn't get too big, so that es doesn't
+                  go negative.  The maximum value that can be
+                  RUNA/RUNB encoded is equal to the block size (post
+                  the initial RLE), viz, 900k, so bounding N at 2
+                  million should guard against overflow without
+                  rejecting any legitimate inputs. */
+               if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
                if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
                if (nextSym == BZ_RUNB) es = es + (1+1) * N;
                N = N * 2;
@@ -485,15 +492,28 @@
          RETURN(BZ_DATA_ERROR);
 
       /*-- Set up cftab to facilitate generation of T^(-1) --*/
+      /* Check: unzftab entries in range. */
+      for (i = 0; i <= 255; i++) {
+         if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
+            RETURN(BZ_DATA_ERROR);
+      }
+      /* Actually generate cftab. */
       s->cftab[0] = 0;
       for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
       for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
+      /* Check: cftab entries in range. */
       for (i = 0; i <= 256; i++) {
          if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
             /* s->cftab[i] can legitimately be == nblock */
             RETURN(BZ_DATA_ERROR)
          }
       }
+      /* Check: cftab entries non-descending. */
+      for (i = 1; i <= 256; i++) {
+         if (s->cftab[i-1] > s->cftab[i]) {
+            RETURN(BZ_DATA_ERROR)
+         }
+      }
 
       s->state_out_len = 0;
       s->state_out_ch  = 0;
--- a/usr/src/common/bzip2/huffman.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/huffman.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.
--- a/usr/src/common/bzip2/randtable.c	Sat Jan 01 19:22:52 2011 -0500
+++ b/usr/src/common/bzip2/randtable.c	Sat Jan 01 19:31:36 2011 -0500
@@ -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.5 of 10 December 2007
-   Copyright (C) 1996-2007 Julian Seward <[email protected]>
+   bzip2/libbzip2 version 1.0.6 of 6 September 2010
+   Copyright (C) 1996-2010 Julian Seward <[email protected]>
 
    Please read the WARNING, DISCLAIMER and PATENTS sections in the 
    README file.