[Gpg4win-commits] r358 - in trunk: . packages patches patches/gnupg-1.4.5

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Oct 13 09:51:16 CEST 2006


Author: werner
Date: 2006-10-13 09:51:15 +0200 (Fri, 13 Oct 2006)
New Revision: 358

Added:
   trunk/patches/gnupg-1.4.5/
   trunk/patches/gnupg-1.4.5/01-uncompress.patch
Modified:
   trunk/ChangeLog
   trunk/Makefile.am
   trunk/NEWS
   trunk/autogen.sh
   trunk/configure.ac
   trunk/packages/packages.current
Log:
Preparing a release


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/ChangeLog	2006-10-13 07:51:15 UTC (rev 358)
@@ -1,3 +1,9 @@
+2006-10-13  Werner Koch  <wk at g10code.com>
+
+	Released 1.0.7.
+
+	* patches/gnupg-1.4.5/01-uncompress.patch: New.
+
 2006-08-28  Werner Koch  <wk at g10code.com>
 
 	Released 1.0.6.

Modified: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/Makefile.am	2006-10-13 07:51:15 UTC (rev 358)
@@ -25,6 +25,7 @@
 
 EXTRA_DIST = autogen.sh README.SVN \
 	patches/gnupg-1.4.4/01-reopen-std.patch \
+	patches/gnupg-1.4.5/01-uncompress.patch \
 	patches/gpgme-1.1.0/01-gpgme-def.patch \
 	patches/gpgme-1.1.0/02-libtool-dll.patch \
         patches/pthreads-w32-2-7-0-release/01-make.patch \

Modified: trunk/NEWS
===================================================================
--- trunk/NEWS	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/NEWS	2006-10-13 07:51:15 UTC (rev 358)
@@ -6,7 +6,30 @@
 Noteworthy changes in version 1.0.7
 ------------------------------------------------
 
+(en) Packaged new versions of GPGol and WinPT.
+(de) Neue Versionen von GPGol und WinPT.
 
+(en) Fixed a bug while decrypting certain compressed and encrypted
+     messages. 
+(de) Ein Fehler beim Entschlüsseln einiger komprimierter und
+     verschlüsselter Nachrichten wurde behoben.
+
+(en) Fixed a crash in GPGol.
+(de) Ein Absturz von GPGOl wurde behoben.
+
+
+~~~~~~~~~~~~~~~
+GnuPG: 1.4.5
+WinPT: 1.0.1
+GPA:   0.7.4
+GPGol: 0.9.91
+GPGee: 1.3.1
+Sylpheed-Claws: 2.4.0
+Einsteiger:     2.0.2
+Durchblicker:   2.0.2
+~~~~~~~~~~~~~~~
+
+
 Noteworthy changes in version 1.0.6 (2006-08-28)
 ------------------------------------------------
 

Modified: trunk/autogen.sh
===================================================================
--- trunk/autogen.sh	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/autogen.sh	2006-10-13 07:51:15 UTC (rev 358)
@@ -52,14 +52,18 @@
     [ -z "$w32root" ] && w32root="$HOME/w32root"
     echo "Using $w32root as standard install directory" >&2
     
-    # See whether we have the Debian cross compiler package or the
-    # old mingw32/cpd system
-    if i586-mingw32msvc-gcc --version >/dev/null 2>&1 ; then
-        host=i586-mingw32msvc
-        crossbindir=/usr/$host/bin
-    else
+    # Locate the cross compiler
+    crossbindir=
+    for host in i586-mingw32msvc i386-mingw32msvc; do
+        if ${host}-gcc --version >/dev/null 2>&1 ; then
+            crossbindir=/usr/${host}/bin
+            break;
+        fi
+    done
+
+    if [ -z "$crossbindir" ]; then
         echo "Cross compiler kit not installed" >&2
-        echo "Under Debian GNU/LInux, you may install it using" >&2
+        echo "Under Debian GNU/Linux, you may install it using" >&2
         echo "  apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2 
         echo "Stop." >&2
         exit 1
@@ -72,8 +76,7 @@
         fi
     fi
 
-    ./configure --host=i586-mingw32msvc --build=${build}  "$@"\
-
+    ./configure --host=${host} --build=${build}  "$@"
     rc=$?
 
     exit $rc

Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/configure.ac	2006-10-13 07:51:15 UTC (rev 358)
@@ -27,7 +27,7 @@
 # "svn up" and "autogen.sh" right before creating a distribution.
 # Right after a release the make target "copy-news" is to be called!
 m4_define([my_version], [1.0.7])
-m4_define([my_issvn], [yes])
+m4_define([my_issvn], [no])
 
 m4_define([svn_revision], m4_esyscmd([echo -n $((svn info 2>/dev/null \
           ||echo 'Revision: 0')|sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)]))

Modified: trunk/packages/packages.current
===================================================================
--- trunk/packages/packages.current	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/packages/packages.current	2006-10-13 07:51:15 UTC (rev 358)
@@ -144,10 +144,13 @@
 
 server http://wald.intevation.org/frs/download.php
 
-file  265/winpt-1.0.0.tar.bz2
-chk   7a3589a0ce3a81e3b94547ffdd76bf53d51e919f  
+#file  265/winpt-1.0.0.tar.bz2
+#chk   7a3589a0ce3a81e3b94547ffdd76bf53d51e919f  
 
+file  272/winpt-1.0.1.tar.bz2
+chk   574b7766701aaaef6e388d8b3ad68a171c9c071f
 
+
 # GPGee
 # Note that the -bin package has been repackaged from the
 # -noinstaller package using these commands:
@@ -169,9 +172,13 @@
 # GPGol
 server ftp://ftp.g10code.com/g10code/gpgol
 
-file gpgol-0.9.90.tar.bz2
-chk 54d6d42d613804ce646d72a9e40b1c1cabfcacb7
+#file gpgol-0.9.90.tar.bz2
+#chk 54d6d42d613804ce646d72a9e40b1c1cabfcacb7
 
+file gpgol-0.9.91.tar.bz2
+chk  391eee90ea072ea181bed332b9411f2a43395e7e
+
+
 # GnuPG stuff. 
 
 server ftp://ftp.gnupg.org/gcrypt

Added: trunk/patches/gnupg-1.4.5/01-uncompress.patch
===================================================================
--- trunk/patches/gnupg-1.4.5/01-uncompress.patch	2006-10-02 09:25:01 UTC (rev 357)
+++ trunk/patches/gnupg-1.4.5/01-uncompress.patch	2006-10-13 07:51:15 UTC (rev 358)
@@ -0,0 +1,132 @@
+#! /bin/sh
+patch -p0 -f $* < $0
+exit $?
+
+Fixes a bug while decrypting certain compressed and encrypted
+messages. See http://bugs.gnupg.org/537 .
+
+
+2006-10-02  Werner Koch  <wk at g10code.com>
+
+	* encr-data.c (decrypt_data, mdc_decode_filter): Check the MDC
+	right here and don't let parse-packet handle the MDC.
+
+
+
+--- g10/encr-data.c	(.../tags/gnupg-1.4.5/g10/encr-data.c)	(revision 4280)
++++ g10/encr-data.c	(.../branches/STABLE-BRANCH-1-4/g10/encr-data.c)	(revision 4280)
+@@ -1,5 +1,6 @@
+ /* encr-data.c -  process an encrypted data packet
+- * Copyright (C) 1998, 1999, 2000, 2001, 2005 Free Software Foundation, Inc.
++ * Copyright (C) 1998, 1999, 2000, 2001, 2005,
++ *               2006  Free Software Foundation, Inc.
+  *
+  * This file is part of GnuPG.
+  *
+@@ -41,7 +42,7 @@
+ typedef struct {
+     CIPHER_HANDLE cipher_hd;
+     MD_HANDLE mdc_hash;
+-    char defer[20];
++    char defer[22];
+     int  defer_filled;
+     int  eof_seen;
+ } decode_filter_ctx_t;
+@@ -146,12 +147,30 @@
+     if( ed->mdc_method && dfx.eof_seen == 2 )
+ 	rc = G10ERR_INVALID_PACKET;
+     else if( ed->mdc_method ) { /* check the mdc */
++        /* We used to let parse-packet.c handle the MDC packet but
++           this turned out to be a problem with compressed packets:
++           With old style packets there is no length information
++           available and the decompressor uses an implicit end.
++           However we can't know this implicit end beforehand (:-) and
++           thus may feed the decompressor with more bytes than
++           actually needed.  It would be possible to unread the extra
++           bytes but due to our weird iobuf system any unread is non
++           reliable due to filters already popped off.  The easy and
++           sane solution is to care about the MDC packet only here and
++           never pass it to the packet parser.  Fortunatley the
++           OpenPGP spec requires a strict format for the MDC packet so
++           that we know that 22 bytes are appended.  */
+ 	int datalen = md_digest_length( ed->mdc_method );
+ 
+-	cipher_decrypt( dfx.cipher_hd, dfx.defer, dfx.defer, 20);
++	cipher_decrypt( dfx.cipher_hd, dfx.defer, dfx.defer, 22);
++        md_write (dfx.mdc_hash, dfx.defer, 2);
+ 	md_final( dfx.mdc_hash );
+-	if( datalen != 20
+-	    || memcmp(md_read( dfx.mdc_hash, 0 ), dfx.defer, datalen) )
++        if (dfx.defer[0] != '\xd3' || dfx.defer[1] != '\x14' ) {
++            log_error("mdc_packet with invalid encoding\n");
++            rc = G10ERR_INVALID_PACKET;
++        }
++	else if ( datalen != 20
++	    || memcmp(md_read( dfx.mdc_hash, 0 ), dfx.defer+2, datalen) )
+ 	    rc = G10ERR_BAD_SIGN;
+ 	/*log_hexdump("MDC calculated:", md_read( dfx.mdc_hash, 0), datalen);*/
+ 	/*log_hexdump("MDC message   :", dfx.defer, 20);*/
+@@ -182,23 +201,23 @@
+     }
+     else if( control == IOBUFCTRL_UNDERFLOW ) {
+ 	assert(a);
+-	assert( size > 40 );
++	assert( size > 44 );
+ 
+ 	/* get at least 20 bytes and put it somewhere ahead in the buffer */
+-	for(n=20; n < 40 ; n++ ) {
++	for(n=22; n < 44 ; n++ ) {
+ 	    if( (c = iobuf_get(a)) == -1 )
+ 		break;
+ 	    buf[n] = c;
+ 	}
+-	if( n == 40 ) {
++	if( n == 44 ) {
+ 	    /* we have enough stuff - flush the deferred stuff */
+ 	    /* (we have asserted that the buffer is large enough) */
+ 	    if( !dfx->defer_filled ) { /* the first time */
+-		memcpy(buf, buf+20, 20 );
+-		n = 20;
++		memcpy(buf, buf+22, 22 );
++		n = 22;
+ 	    }
+ 	    else {
+-		memcpy(buf, dfx->defer, 20 );
++		memcpy(buf, dfx->defer, 22 );
+ 	    }
+ 	    /* now fill up */
+ 	    for(; n < size; n++ ) {
+@@ -206,22 +225,22 @@
+ 		    break;
+ 		buf[n] = c;
+ 	    }
+-	    /* move the last 20 bytes back to the defer buffer */
+-	    /* (okay, we are wasting 20 bytes of supplied buffer) */
+-	    n -= 20;
+-	    memcpy( dfx->defer, buf+n, 20 );
++	    /* Move the last 22 bytes back to the defer buffer. */
++	    /* (okay, we are wasting 22 bytes of supplied buffer) */
++	    n -= 22;
++	    memcpy( dfx->defer, buf+n, 22 );
+ 	    dfx->defer_filled = 1;
+ 	}
+ 	else if( !dfx->defer_filled ) { /* eof seen buf empty defer */
+ 	    /* this is bad because there is an incomplete hash */
+-	    n -= 20;
+-	    memcpy(buf, buf+20, n );
++	    n -= 22;
++	    memcpy(buf, buf+22, n );
+ 	    dfx->eof_seen = 2; /* eof with incomplete hash */
+ 	}
+ 	else { /* eof seen */
+-	    memcpy(buf, dfx->defer, 20 );
+-	    n -= 20;
+-	    memcpy( dfx->defer, buf+n, 20 );
++	    memcpy (buf, dfx->defer, 22 );
++	    n -= 22;
++	    memcpy( dfx->defer, buf+n, 22 );
+ 	    dfx->eof_seen = 1; /* normal eof */
+ 	}
+ 
+
+


Property changes on: trunk/patches/gnupg-1.4.5/01-uncompress.patch
___________________________________________________________________
Name: svn:executable
   + *



More information about the Gpg4win-commits mailing list