From a45f8241500f8f980cf19afb70e90ac346da9d59 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 9 Dec 1998 12:44:46 +0000 Subject: [PATCH] See ChangeLog: Wed Dec 9 13:41:06 CET 1998 Werner Koch --- VERSION | 2 +- checks/clearsig.test | 16 ++++++++++++++++ g10/ChangeLog | 9 +++++++++ g10/compress.c | 23 ++++++++++++++--------- g10/misc.c | 2 +- g10/sign.c | 6 ++++++ scripts/mkdiff | 4 ++-- util/iobuf.c | 2 +- 8 files changed, 50 insertions(+), 14 deletions(-) diff --git a/VERSION b/VERSION index 0bfccb080..911e57f05 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.5 +0.4.5a diff --git a/checks/clearsig.test b/checks/clearsig.test index 29407e8bd..e5445db7b 100755 --- a/checks/clearsig.test +++ b/checks/clearsig.test @@ -1,5 +1,10 @@ #!/bin/sh + +# Fixme: we should not only do a --verify but also the output. + + + . $srcdir/defs.inc || exit 3 # I can't compare the out because plain-3 has no LF as last charcater @@ -35,4 +40,15 @@ EOF echo "$usrpass1" | $srcdir/run-gpg --passphrase-fd 0 --clearsign -o x --yes y $srcdir/run-gpg --verify x +# and one with one empty line at the end +cat >y < + + * misc.c (trap_unaligned) [ALPHA]: Only if UAC_SIGBUS is defined. + + * sign.c (write_dash_escaped): Add the forgotten patch by Brian Moore. + + * compress.c (do_uncompress): Fixed the inflating bug. + + Tue Dec 8 13:15:16 CET 1998 Werner Koch * trustdb.c (upd_uid_record): Now uses the newest self-signature diff --git a/g10/compress.c b/g10/compress.c index 917a96033..6a2f8f8c5 100644 --- a/g10/compress.c +++ b/g10/compress.c @@ -76,8 +76,8 @@ do_compress( compress_filter_context_t *zfx, z_stream *zs, int flush, IOBUF a ) zs->next_out = zfx->outbuf; zs->avail_out = zfx->outbufsize; if( DBG_FILTER ) - log_debug("call deflate: avail_in=%u, avail_out=%u\n", - (unsigned)zs->avail_in, (unsigned)zs->avail_out); + log_debug("enter deflate: avail_in=%u, avail_out=%u, flush=%d\n", + (unsigned)zs->avail_in, (unsigned)zs->avail_out, flush ); zrc = deflate( zs, flush ); if( zrc == Z_STREAM_END && flush == Z_FINISH ) ; @@ -89,8 +89,10 @@ do_compress( compress_filter_context_t *zfx, z_stream *zs, int flush, IOBUF a ) } n = zfx->outbufsize - zs->avail_out; if( DBG_FILTER ) - log_debug("deflate returned: avail_in=%u, avail_out=%u, n=%u\n", - (unsigned)zs->avail_in, (unsigned)zs->avail_out, (unsigned)n ); + log_debug("leave deflate: " + "avail_in=%u, avail_out=%u, n=%u, zrc=%d\n", + (unsigned)zs->avail_in, (unsigned)zs->avail_out, + (unsigned)n, zrc ); if( iobuf_write( a, zfx->outbuf, n ) ) { log_debug("deflate: iobuf_write failed\n"); @@ -132,12 +134,14 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs, size_t n; byte *p; int c; + int refill = !zs->avail_in; if( DBG_FILTER ) - log_debug("do_uncompress: avail_in=%u, avail_out=%u\n", - (unsigned)zs->avail_in, (unsigned)zs->avail_out); + log_debug("begin inflate: avail_in=%u, avail_out=%u, inbuf=%u\n", + (unsigned)zs->avail_in, (unsigned)zs->avail_out, + (unsigned)zfx->inbufsize ); do { - if( zs->avail_in < zfx->inbufsize ) { + if( zs->avail_in < zfx->inbufsize && refill ) { n = zs->avail_in; if( !n ) zs->next_in = zfx->inbuf; @@ -148,8 +152,9 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs, } zs->avail_in = n; } + refill = 1; if( DBG_FILTER ) - log_debug("call inflate: avail_in=%u, avail_out=%u\n", + log_debug("enter inflate: avail_in=%u, avail_out=%u\n", (unsigned)zs->avail_in, (unsigned)zs->avail_out); #ifdef Z_SYNC_FLUSH zrc = inflate( zs, Z_SYNC_FLUSH ); @@ -157,7 +162,7 @@ do_uncompress( compress_filter_context_t *zfx, z_stream *zs, zrc = inflate( zs, Z_PARTIAL_FLUSH ); #endif if( DBG_FILTER ) - log_debug("inflate returned: avail_in=%u, avail_out=%u, zrc=%d\n", + log_debug("leave inflate: avail_in=%u, avail_out=%u, zrc=%d\n", (unsigned)zs->avail_in, (unsigned)zs->avail_out, zrc); if( zrc == Z_STREAM_END ) rc = -1; /* eof */ diff --git a/g10/misc.c b/g10/misc.c index 3336f2b92..adab4321f 100644 --- a/g10/misc.c +++ b/g10/misc.c @@ -50,7 +50,7 @@ pull_in_libs(void) } -#if defined(__linux__) && defined(__alpha__) +#if defined(__linux__) && defined(__alpha__) && defined(UAC_SIGBUS) #warning using trap_unaligned static int setsysinfo(unsigned long op, void *buffer, unsigned long size, diff --git a/g10/sign.c b/g10/sign.c index ffa72c0d7..012b7e85a 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -512,6 +512,12 @@ write_dash_escaped( IOBUF inp, IOBUF out, MD_HANDLE md ) } if( state == 1 ) md_putc(md, '\r'); + else if( state == 2 ) { /* file ended with a new line */ + md_putc(md, '\r'); + md_putc(md, '\n'); + iobuf_put( out, '\n'); + } + if( !lastlf ) iobuf_put( out, '\n' ); diff --git a/scripts/mkdiff b/scripts/mkdiff index 0a6d0d0e7..914bb0a6e 100755 --- a/scripts/mkdiff +++ b/scripts/mkdiff @@ -57,7 +57,7 @@ sed -e '/^diff.*VERSION/,/^+[0-9][0-9]*/ d' $tmp_name >> $diff_name rm $tmp_name echo "Signing and compressing patch file" -../gnupg/g10/gpg --clearsign --not-dash-escaped -u "(gnupg sig)" \ +gpg --clearsign --not-dash-escaped -u "(gnupg sig)" \ < $diff_name | gzip --best > $diff_name.gz echo "Checking patch file" @@ -71,7 +71,7 @@ if ! diff -urN "gnupg-$prev_ver/" "gnupg-$curr_ver/" >/dev/null ; then exit 1 fi -if ! zcat $diff_name.gz | ../gnupg/g10/gpg --batch --verify ; then +if ! zcat $diff_name.gz | gpg --batch --verify ; then exit 1 fi diff --git a/util/iobuf.c b/util/iobuf.c index d58a8e40d..67a097495 100644 --- a/util/iobuf.c +++ b/util/iobuf.c @@ -625,7 +625,7 @@ iobuf_openrw( const char *fname ) /**************** * You can overwrite the normal iobuf behaviour by using this function. - * If used, the crwated iobuf is a simple wrapper around stdio. + * If used the iobuf is a simple wrapper around stdio. * NULL if an error occures and sets errno */ IOBUF