WG: weitere Info zu Umlaut

Werner Koch wk@gnupg.org
Mon, 10 Jul 2000 16:20:22 +0200


On Mon, 10 Jul 2000, Marschall Peter wrote:


> I don't know, if I am right here.
You are right.
> gpg: assuming bad signature due to an unknown critical bit
gpg --list-packets should show this crtitical bit but it didn't, so the problem is somewhere else. Fix is easy: --- g10/parse-packet.c.orig Mon Jul 10 15:59:57 2000 +++ g10/parse-packet.c Mon Jul 10 15:57:05 2000 @@ -920,8 +920,12 @@ int seq = 0; int reqseq = start? *start: 0; - if( !buffer || reqseq == -1 ) - return NULL; + if( !buffer || reqseq == -1 ) { + /* return some value different from NULL to indicate that + * there is no crtitical bit we do not understand. The caller + * will never use the value. Yes I know, it is an ugly hack */ + return reqtype == SIGSUBPKT_TEST_CRITICAL? (const byte*)&buffer : NULL; + } buflen = (*buffer << 8) | buffer[1]; buffer += 2; while( buflen ) { This bug showed up because CryptoEx put the keyID for the signature into the hashed data area and therefore there is no unhashed data. I don't know why they do it - it has no advantage except for pointing out this bug. Thanks, Werner -- Werner Koch OpenPGP key 621CC013 OpenIT GmbH tel +49 211 239577-0 Birkenstr. 12 email wk@OpenIT.de D-40233 Duesseldorf http://www.OpenIT.de