diff options
author | Werner Koch <[email protected]> | 1997-11-24 11:04:11 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1997-11-24 11:04:11 +0000 |
commit | a51cca90b6c8d3628d9b97a08f9370b3e249a9b6 (patch) | |
tree | 093b652e684cef1623777be8ea2b96876f9ee1e7 /g10/plaintext.c | |
parent | compress stuff implemented (diff) | |
download | gnupg-a51cca90b6c8d3628d9b97a08f9370b3e249a9b6.tar.gz gnupg-a51cca90b6c8d3628d9b97a08f9370b3e249a9b6.zip |
IDEA removed, signing works
Diffstat (limited to 'g10/plaintext.c')
-rw-r--r-- | g10/plaintext.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/g10/plaintext.c b/g10/plaintext.c index be8047bd0..d317fd789 100644 --- a/g10/plaintext.c +++ b/g10/plaintext.c @@ -28,13 +28,17 @@ #include "options.h" #include "packet.h" #include "ttyio.h" +#include "filter.h" /**************** - * Handle a plaintext packet + * Handle a plaintext packet. If MFX is not NULL, update the MDs + * Note: we should use the filter stuff here, but we have to add some + * easy mimic to set a read limit, so we calculate only the + * bytes from the plaintext. */ int -handle_plaintext( PKT_plaintext *pt ) +handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx ) { char *fname; FILE *fp = NULL; @@ -78,6 +82,10 @@ handle_plaintext( PKT_plaintext *pt ) rc = G10ERR_READ_FILE; goto leave; } + if( mfx->rmd160 ) + rmd160_putchar(mfx->rmd160, c ); + if( mfx->md5 ) + md5_putchar(mfx->md5, c ); if( putc( c, fp ) == EOF ) { log_error("Error writing to '%s': %s\n", fname, strerror(errno) ); rc = G10ERR_WRITE_FILE; @@ -87,6 +95,10 @@ handle_plaintext( PKT_plaintext *pt ) } else { while( (c = iobuf_get(pt->buf)) != -1 ) { + if( mfx->rmd160 ) + rmd160_putchar(mfx->rmd160, c ); + if( mfx->md5 ) + md5_putchar(mfx->md5, c ); if( putc( c, fp ) == EOF ) { log_error("Error writing to '%s': %s\n", fname, strerror(errno) ); |