1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-02-22 19:58:29 +01:00

More fixes to the multiple sig problem.

This commit is contained in:
Werner Koch 2000-10-14 16:45:20 +00:00
parent 3670933210
commit d94440db99
5 changed files with 38 additions and 7 deletions

View File

@ -1,2 +1 @@
1.0.3b
1.0.3c

View File

@ -1,3 +1,7 @@
2000-10-14 Werner Koch <wk@gnupg.org>
* faq.raw: Add an answer to the problem of multiple signatures.
Wed Oct 4 15:50:18 CEST 2000 Werner Koch <wk@openit.de>
* gpgv.sgml: New.

View File

@ -14,7 +14,7 @@ The most recent version of the FAQ is available from
[H pre]
Version: 0.2
Last-Modified: Oct 01, 2000
Last-Modified: Oct 14, 2000
Maintained-by: [$maintainer]
[H/pre]
@ -466,6 +466,16 @@ in it - why?
Good mail clients remove those extra dashes when displaying such a
message.
<Q> I have multiple signatures in a file and GnuPG says, the signatures are
bad.
Due to different message formats GnuPG is not always able to split such a
file unambiguously into the it's parts. The result is that GnuPG claims
the signature(s) is bad.
The only way to have multiple signatures in a file is by using the
OpenPGP format with one-pass-signature packets (which is GnuPG's
default) or the cleartext signed format.
<S> ADVANCED TOPICS

View File

@ -1,3 +1,12 @@
2000-10-14 Werner Koch <wk@gnupg.org>
* mainproc.c (add_onepass_sig): There is an easier solution to the
error fixed yesterday; just check that we only have onepass
packets. However, the other solution provides an cleaner
interface and opens the path to get access to other information
from the armore headers.
(release_list): Reset some more variables.
2000-10-13 Werner Koch <wk@gnupg.org>
* mainproc.c (add_gpg_control): New.

View File

@ -95,6 +95,9 @@ release_list( CTX c )
}
c->failed_pkenc = NULL;
c->list = NULL;
c->have_data = 0;
c->last_was_session_key = 0;
m_free(c->dek); c->dek = NULL;
}
@ -104,8 +107,14 @@ add_onepass_sig( CTX c, PACKET *pkt )
KBNODE node;
if( c->list ) { /* add another packet */
if( c->list->pkt->pkttype != PKT_ONEPASS_SIG ) {
log_error("add_onepass_sig: another packet is in the way\n");
/* We can only append another onepass packet if the list
* does contain only onepass packets */
for( node=c->list; node && node->pkt->pkttype == PKT_ONEPASS_SIG;
node = node->next )
;
if( node ) {
/* this is not the case, so we flush the current thing and
* allow this packet to start a new verification thing */
release_list( c );
c->list = new_kbnode( pkt );
}