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