diff options
author | David Shaw <[email protected]> | 2004-05-26 15:01:48 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2004-05-26 15:01:48 +0000 |
commit | c88d037b6b7b3bfde03720bafb632d30c98fd6a3 (patch) | |
tree | 59ffdd3979438ccca5a3a7f2245ff3f50c390de4 | |
parent | * configure.ac: Try for wldap32 on Win32 platforms. (diff) | |
download | gnupg-c88d037b6b7b3bfde03720bafb632d30c98fd6a3.tar.gz gnupg-c88d037b6b7b3bfde03720bafb632d30c98fd6a3.zip |
* 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.
Diffstat (limited to '')
-rw-r--r-- | g10/ChangeLog | 6 | ||||
-rw-r--r-- | g10/keyserver.c | 11 |
2 files changed, 14 insertions, 3 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 274b514f4..3d1b1f4b6 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,9 @@ +2004-05-26 David Shaw <[email protected]> + + * 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 <[email protected]> * verify.c (verify_signatures): Verify multiple files in the same diff --git a/g10/keyserver.c b/g10/keyserver.c index fc3f4fecb..5c0311a43 100644 --- a/g10/keyserver.c +++ b/g10/keyserver.c @@ -1487,7 +1487,7 @@ keyidlist(STRLIST users,KEYDB_SEARCH_DESC **klist,int *count,int fakev3) int keyserver_refresh(STRLIST users) { - int rc,count,fakev3=0; + int rc,count,numdesc,fakev3=0; KEYDB_SEARCH_DESC *desc; /* 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)) fakev3=1; - rc=keyidlist(users,&desc,&count,fakev3); + rc=keyidlist(users,&desc,&numdesc,fakev3); if(rc) return rc; + count=numdesc; if(count>0) { int i; @@ -1532,12 +1533,16 @@ keyserver_refresh(STRLIST users) get it again from the regular keyserver. */ desc[i].mode=KEYDB_SEARCH_MODE_NONE; + count--; } free_keyserver_spec(keyserver); } } + } + if(count>0) + { if(opt.keyserver) { if(count==1) @@ -1547,7 +1552,7 @@ keyserver_refresh(STRLIST users) 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); |