From b1e5c79926a15ba77dc7ed070ba0080d167056d7 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 17 Dec 1998 17:36:05 +0000 Subject: See ChangeLog: Thu Dec 17 18:31:15 CET 1998 Werner Koch --- g10/sign.c | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'g10/sign.c') diff --git a/g10/sign.c b/g10/sign.c index 9b78acf7e..f3373ed4f 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -475,12 +475,35 @@ write_dash_escaped( IOBUF inp, IOBUF out, MD_HANDLE md ) } while( (c = iobuf_get(inp)) != -1 ) { - /* Note: We don't escape "From " because the MUA should cope with it */ if( lastlf ) { if( c == '-' ) { iobuf_put( out, c ); iobuf_put( out, ' ' ); } + else if( c == 'F' && opt.escape_from ) { + int i; + + if( state >= 1 ) + md_putc(md, '\r'); + if( state >= 2 ) + md_putc(md, '\n'); + state = 0; + + for( i=1; i < 5 && (c = iobuf_get(inp)) != -1; i++ ) { + if( "From "[i] != c ) + break; + } + if( i < 5 ) { + iobuf_write( out, "From", i ); + md_write( md, "From", i ); + if( c == -1 ) + break; + } + else { + iobuf_writestr( out, "- From" ); + md_write( md, "From", 4 ); + } + } } again: @@ -614,7 +637,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" );*/ + md_start_debug( textmd, "create" ); if( !opt.not_dash_escaped ) iobuf_push_filter( inp, text_filter, &tfx ); rc = write_dash_escaped( inp, out, textmd ); -- cgit v1.2.3