aboutsummaryrefslogtreecommitdiffstats
path: root/g10/g10.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/g10.c')
-rw-r--r--g10/g10.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/g10/g10.c b/g10/g10.c
index 30776cc80..e5c7139d1 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -34,6 +34,7 @@
#include "mpi.h"
#include "cipher.h"
#include "filter.h"
+#include "trustdb.h"
enum cmd_values { aNull = 0,
aSym, aStore, aEncr, aPrimegen, aKeygen, aSign, aSignEncr,
@@ -392,6 +393,13 @@ main( int argc, char **argv )
}
}
+ if( cmd != aPrimegen && cmd != aPrintMDs ) {
+ rc = check_trustdb(0);
+ if( rc )
+ log_error("failed to initialize the TrustDB: %s\n", g10_errstr(rc));
+ }
+
+
switch( cmd ) {
case aStore: /* only store the file */
if( argc > 1 )
@@ -582,9 +590,7 @@ print_mds( const char *fname )
FILE *fp;
char buf[1024];
size_t n;
- MD5HANDLE md5;
- RMDHANDLE rmd160;
- SHA1HANDLE sha1;
+ MD_HANDLE md;
if( !fname ) {
fp = stdin;
@@ -597,31 +603,26 @@ print_mds( const char *fname )
return;
}
- md5 = md5_open(0);
- rmd160 = rmd160_open(0);
- sha1 = sha1_open(0);
+ md = md_open( DIGEST_ALGO_MD5, 0 );
+ md_enable( md, DIGEST_ALGO_RMD160 );
+ md_enable( md, DIGEST_ALGO_SHA1 );
- while( (n=fread( buf, 1, DIM(buf), fp )) ) {
- md5_write( md5, buf, n );
- rmd160_write( rmd160, buf, n );
- sha1_write( sha1, buf, n );
- }
+ while( (n=fread( buf, 1, DIM(buf), fp )) )
+ md_write( md, buf, n );
if( ferror(fp) )
log_error("%s: %s\n", fname, strerror(errno) );
else {
byte *p;
- md5_final(md5);
- printf( "%s: MD5 =", fname ); print_hex(md5_read(md5), 16 );
- printf("\n%s: RMD160 =", fname ); print_hex(rmd160_final(rmd160), 20 );
- printf("\n%s: SHA1 =", fname ); print_hex(sha1_final(sha1), 20 );
+ md_final(md);
+ printf( "%s: MD5 =", fname ); print_hex(md_read(md, DIGEST_ALGO_MD5), 16 );
+ printf("\n%s: RMD160 =", fname ); print_hex(md_read(md, DIGEST_ALGO_RMD160), 20 );
+ printf("\n%s: SHA1 =", fname ); print_hex(md_read(md, DIGEST_ALGO_SHA1), 20 );
putchar('\n');
}
- md5_close(md5);
- rmd160_close(rmd160);
- sha1_close(sha1);
+ md_close(md);
if( fp != stdin )
fclose(fp);