1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-06-13 18:21:03 +02:00

* keyserver.c (keyserver_refresh): Keep track of keys already fetched so

we don't do a regular keyserver fetch if the preferred keyserver fetch has
exhausted the list.
This commit is contained in:
David Shaw 2004-05-26 15:01:48 +00:00
parent f44d48928b
commit c88d037b6b
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2004-05-26 David Shaw <dshaw@jabberwocky.com>
* keyserver.c (keyserver_refresh): Keep track of keys already
fetched so we don't do a regular keyserver fetch if the preferred
keyserver fetch has exhausted the list.
2004-05-23 David Shaw <dshaw@jabberwocky.com> 2004-05-23 David Shaw <dshaw@jabberwocky.com>
* verify.c (verify_signatures): Verify multiple files in the same * verify.c (verify_signatures): Verify multiple files in the same

View File

@ -1487,7 +1487,7 @@ keyidlist(STRLIST users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3)
int int
keyserver_refresh(STRLIST users) keyserver_refresh(STRLIST users)
{ {
int rc,count,fakev3=0; int rc,count,numdesc,fakev3=0;
KEYDB_SEARCH_DESC *desc; KEYDB_SEARCH_DESC *desc;
/* We switch merge_only on during a refresh, as 'refresh' should /* We switch merge_only on during a refresh, as 'refresh' should
@ -1502,10 +1502,11 @@ keyserver_refresh(STRLIST users)
ascii_strcasecmp(opt.keyserver->scheme,"mailto")==0)) ascii_strcasecmp(opt.keyserver->scheme,"mailto")==0))
fakev3=1; fakev3=1;
rc=keyidlist(users,&desc,&count,fakev3); rc=keyidlist(users,&desc,&numdesc,fakev3);
if(rc) if(rc)
return rc; return rc;
count=numdesc;
if(count>0) if(count>0)
{ {
int i; int i;
@ -1532,12 +1533,16 @@ keyserver_refresh(STRLIST users)
get it again from the regular keyserver. */ get it again from the regular keyserver. */
desc[i].mode=KEYDB_SEARCH_MODE_NONE; desc[i].mode=KEYDB_SEARCH_MODE_NONE;
count--;
} }
free_keyserver_spec(keyserver); free_keyserver_spec(keyserver);
} }
} }
}
if(count>0)
{
if(opt.keyserver) if(opt.keyserver)
{ {
if(count==1) if(count==1)
@ -1547,7 +1552,7 @@ keyserver_refresh(STRLIST users)
count,opt.keyserver->uri); count,opt.keyserver->uri);
} }
rc=keyserver_work(GET,NULL,desc,count,opt.keyserver); rc=keyserver_work(GET,NULL,desc,numdesc,opt.keyserver);
} }
m_free(desc); m_free(desc);