From fb8dbdbd95ecad16676ae717df38e06e0a1e40ec Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Sat, 20 Mar 1999 10:53:39 +0000 Subject: See ChangeLog: Sat Mar 20 11:53:40 CET 1999 Werner Koch --- g10/hkp.c | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'g10/hkp.c') diff --git a/g10/hkp.c b/g10/hkp.c index 7300cf0e1..cd5b177b1 100644 --- a/g10/hkp.c +++ b/g10/hkp.c @@ -64,7 +64,9 @@ hkp_ask_import( u32 *keyid ) opt.keyserver_name, (ulong)keyid[1] ); rc = http_open_document( &hd, request, 0 ); if( rc ) { - log_info("can't get key from keyserver: %s\n", g10_errstr(rc) ); + log_info("can't get key from keyserver: %s\n", + rc == G10ERR_NETWORK? strerror(errno) + : g10_errstr(rc) ); } else { rc = import_keys_stream( hd.fp_read , 0 ); @@ -76,6 +78,28 @@ hkp_ask_import( u32 *keyid ) } + +int +hkp_import( STRLIST users ) +{ + if( !opt.keyserver_name ) { + log_error("no keyserver known (use option --keyserver)\n"); + return -1; + } + + for( ; users; users = users->next ) { + u32 kid[2]; + int type = classify_user_id( users->d, kid, NULL, NULL, NULL ); + if( type != 10 && type != 11 ) { + log_info("%s: not a valid key ID\n", users->d ); + continue; + } + hkp_ask_import( kid ); + } + return 0; +} + + int hkp_export( STRLIST users ) { @@ -110,7 +134,9 @@ hkp_export( STRLIST users ) rc = http_open( &hd, HTTP_REQ_POST, request , 0 ); if( rc ) { log_error("can't connect to `%s': %s\n", - opt.keyserver_name, g10_errstr(rc) ); + opt.keyserver_name, + rc == G10ERR_NETWORK? strerror(errno) + : g10_errstr(rc) ); iobuf_close(temp); m_free( request ); return rc; -- cgit v1.2.3