diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/ChangeLog | 4 | ||||
-rw-r--r-- | g10/armor.c | 6 | ||||
-rw-r--r-- | g10/mainproc.c | 2 | ||||
-rw-r--r-- | g10/sign.c | 1 |
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 ); |