* compress.c (init_uncompress): Use a 15 bit window size so that

the output of implementations which don't run for PGP 2
compatibility won't get garbled.
This commit is contained in:
Werner Koch 2003-03-10 09:59:33 +00:00
parent e84c4ca606
commit 230d871336
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-03-10 Werner Koch <wk@gnupg.org>
* compress.c (init_uncompress): Use a 15 bit window size so that
the output of implementations which don't run for PGP 2
compatibility won't get garbled.
2003-03-04 David Shaw <dshaw@jabberwocky.com>
* trustdb.c (validate_keys): Mask the ownertrust when building the

View File

@ -125,8 +125,13 @@ init_uncompress( compress_filter_context_t *zfx, z_stream *zs )
* PGP uses a windowsize of 13 bits. Using a negative value for
* it forces zlib not to expect a zlib header. This is a
* undocumented feature Peter Gutmann told me about.
*
* We must use 15 bits for the inflator because CryptoEx uses 15
* bits thus the output would get scrambled w/o error indication
* if we would use 13 bits. For the uncompressing this does not
* matter at all.
*/
if( (rc = zfx->algo == 1? inflateInit2( zs, -13)
if( (rc = zfx->algo == 1? inflateInit2( zs, -15)
: inflateInit( zs )) != Z_OK ) {
log_fatal("zlib problem: %s\n", zs->msg? zs->msg :
rc == Z_MEM_ERROR ? "out of core" :