diff --git a/g10/ChangeLog b/g10/ChangeLog index d1e22719c..581c0b6a8 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,13 @@ +2002-12-27 David Shaw + + * 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-26 David Shaw * keygen.c (keygen_add_key_expire): Properly handle updating a key diff --git a/g10/getkey.c b/g10/getkey.c index b17f96946..d7165f62f 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1504,7 +1504,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 2f54be90b..a0bc064f9 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -976,17 +976,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