aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog10
-rw-r--r--g10/getkey.c3
-rw-r--r--g10/keyserver.c20
3 files changed, 26 insertions, 7 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index fb1d0f396..798e4ce71 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,13 @@
+2002-12-27 David Shaw <[email protected]>
+
+ * keyserver.c (keyserver_refresh): Don't print the "refreshing..."
+ line if there are no keys to refresh or if there is no keyserver
+ set.
+
+ * getkey.c (merge_selfsigs_main): Any valid user ID should make a
+ key valid, not just the last one. This also fixes Debian bug
+ #174276.
+
2002-12-27 Stefan Bellon <[email protected]>
* import.c (print_import_check): Changed int to size_t.
diff --git a/g10/getkey.c b/g10/getkey.c
index 8df9af58a..abc8b2715 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -1499,7 +1499,10 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked )
for(k=keyblock; k && k->pkt->pkttype != PKT_PUBLIC_SUBKEY; k = k->next ) {
if ( k->pkt->pkttype == PKT_USER_ID ) {
if ( uidnode && signode )
+ {
fixup_uidnode ( uidnode, signode, keytimestamp );
+ pk->is_valid=1;
+ }
uidnode = k;
signode = NULL;
if ( sigdate > uiddate )
diff --git a/g10/keyserver.c b/g10/keyserver.c
index e09ede6e3..ed7883d47 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -1263,17 +1263,23 @@ keyserver_refresh(STRLIST users)
if(rc)
return rc;
- if(count==1)
- log_info(_("refreshing 1 key from %s\n"),opt.keyserver_uri);
- else
- log_info(_("refreshing %d keys from %s\n"),count,opt.keyserver_uri);
-
if(count>0)
- rc=keyserver_work(GET,NULL,desc,count);
+ {
+ if(opt.keyserver_uri)
+ {
+ if(count==1)
+ log_info(_("refreshing 1 key from %s\n"),opt.keyserver_uri);
+ else
+ log_info(_("refreshing %d keys from %s\n"),
+ count,opt.keyserver_uri);
+ }
+
+ rc=keyserver_work(GET,NULL,desc,count);
+ }
m_free(desc);
- return 0;
+ return rc;
}
int