aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to 'g10')
-rw-r--r--g10/ChangeLog4
-rw-r--r--g10/armor.c6
-rw-r--r--g10/mainproc.c2
-rw-r--r--g10/sign.c1
4 files changed, 10 insertions, 3 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index c4e5da1ec..20c5abdb9 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,7 @@
+Fri Nov 27 15:30:24 CET 1998 Werner Koch <[email protected]>
+
+ * armor.c (find_header): Another fix for clearsigs.
+
Fri Nov 27 12:39:29 CET 1998 Werner Koch <[email protected]>
diff --git a/g10/armor.c b/g10/armor.c
index 91eb55198..78656bae9 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -405,10 +405,11 @@ find_header( fhdr_state_t state, byte *buf, size_t *r_buflen,
c = 0;
for(n=0; n < buflen && (c=iobuf_get(a)) != -1 && c != '\n'; )
buf[n++] = c;
- if( n < buflen || c == '\n' ) {
- buf[n] = 0;
+ if( c != -1 ) {
if( n > 15 && !memcmp(buf, "-----", 5 ) )
state = fhdrNullClearsig;
+ else if( c != '\n' )
+ state = fhdrREADClearsigNext;
else
state = fhdrCHECKDashEscaped3;
}
@@ -693,6 +694,7 @@ check_input( armor_filter_context_t *afx, IOBUF a )
case fhdrNullClearsig:
case fhdrCLEARSIG: /* start fake package mode (for clear signatures) */
+ case fhdrREADClearsigNext:
case fhdrCLEARSIGSimple:
case fhdrCLEARSIGSimpleNext:
afx->helplen = n;
diff --git a/g10/mainproc.c b/g10/mainproc.c
index aa903025f..559b057f8 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -278,7 +278,7 @@ proc_plaintext( CTX c, PACKET *pkt )
md_enable( c->mfx.md, DIGEST_ALGO_SHA1 );
md_enable( c->mfx.md, DIGEST_ALGO_MD5 );
}
-
+ /*md_start_debug( c->mfx.md, "verify" );*/
rc = handle_plaintext( pt, &c->mfx, c->sigs_only, clearsig );
if( rc == G10ERR_CREATE_FILE && !c->sigs_only) {
/* can't write output but we hash it anyway to
diff --git a/g10/sign.c b/g10/sign.c
index 52f36f937..ffa72c0d7 100644
--- a/g10/sign.c
+++ b/g10/sign.c
@@ -608,6 +608,7 @@ clearsign_file( const char *fname, STRLIST locusr, const char *outfile )
PKT_secret_key *sk = sk_rover->sk;
md_enable(textmd, hash_for(sk->pubkey_algo));
}
+ /*md_start_debug( textmd, "create" );*/
if( !opt.not_dash_escaped )
iobuf_push_filter( inp, text_filter, &tfx );
rc = write_dash_escaped( inp, out, textmd );