diff options
author | Werner Koch <[email protected]> | 1999-03-20 10:53:39 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 1999-03-20 10:53:39 +0000 |
commit | fb8dbdbd95ecad16676ae717df38e06e0a1e40ec (patch) | |
tree | e2cdda28c57d62deef9fb87981cc1b49f064a4c3 /g10/hkp.c | |
parent | See ChangeLog: Wed Mar 17 13:09:03 CET 1999 Werner Koch (diff) | |
download | gnupg-fb8dbdbd95ecad16676ae717df38e06e0a1e40ec.tar.gz gnupg-fb8dbdbd95ecad16676ae717df38e06e0a1e40ec.zip |
See ChangeLog: Sat Mar 20 11:53:40 CET 1999 Werner Koch
Diffstat (limited to 'g10/hkp.c')
-rw-r--r-- | g10/hkp.c | 30 |
1 files changed, 28 insertions, 2 deletions
@@ -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; |