diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/ChangeLog | 4 | ||||
-rw-r--r-- | g10/hkp.c | 2 | ||||
-rw-r--r-- | g10/mainproc.c | 10 |
3 files changed, 14 insertions, 2 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 191501b4c..055c2de60 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,5 +1,9 @@ 2000-10-16 Werner Koch <[email protected]> + * mainproc.c (do_proc_packets): Hack to fix the problem that + signatures are not detected when there is a MDC packet but no + compression packet. + * g10.c (print_hashline): New. (print_mds): Use above func with --with-colons. @@ -42,7 +42,7 @@ static int urlencode_filter( void *opaque, int control, static void not_implemented(void) { - log_error("keyserver access ist not yet available for MS-Windows\n"); + log_error("keyserver access is not yet available for MS-Windows\n"); } #endif diff --git a/g10/mainproc.c b/g10/mainproc.c index d0afd7ac1..dc2d66d5e 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -1072,7 +1072,15 @@ do_proc_packets( CTX c, IOBUF a ) default: newpkt = 0; break; } } - if( pkt->pkttype != PKT_SIGNATURE ) + /* This is a very ugly construct and frankly, I don't remember why + * I used it. Adding the MDC check here is a hack. + * The right solution is to initiate another context for encrypted + * packet and not to reuse the current one ... It works right + * when there is a compression packet inbetween which adds just + * an extra layer. + * Hmmm: Rewrite this whole module here?? + */ + if( pkt->pkttype != PKT_SIGNATURE && pkt->pkttype != PKT_MDC ) c->have_data = pkt->pkttype == PKT_PLAINTEXT; if( newpkt == -1 ) |