mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
* gpgkeys_ldap.c (fail_all): New function to unwind a keylist and error
each item. (main): Call fail_all from here, as needed. Also add a NO_MEMORY error in an appropriate place and fix error return code. (ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE. * gpgkeys_hkp.c (fail_all): New function to unwind a keylist and error each item. (main): Call fail_all from here. Also add a NO_MEMORY error in an appropriate place. (get_key): Use new UNREACHABLE error for network errors.
This commit is contained in:
parent
9c011f8280
commit
7a3e940300
3 changed files with 85 additions and 6 deletions
|
@ -254,7 +254,8 @@ get_key(char *getkey)
|
|||
{
|
||||
fprintf(console,"gpgkeys: HKP fetch error: %s\n",
|
||||
rc==G10ERR_NETWORK?strerror(errno):g10_errstr(rc));
|
||||
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,KEYSERVER_INTERNAL_ERROR);
|
||||
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,
|
||||
rc==G10ERR_NETWORK?KEYSERVER_UNREACHABLE:KEYSERVER_INTERNAL_ERROR);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -682,6 +683,30 @@ search_key(char *searchkey)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void
|
||||
fail_all(struct keylist *keylist,int action,int err)
|
||||
{
|
||||
if(!keylist)
|
||||
return;
|
||||
|
||||
if(action==SEARCH)
|
||||
{
|
||||
fprintf(output,"SEARCH ");
|
||||
while(keylist)
|
||||
{
|
||||
fprintf(output,"%s ",keylist->str);
|
||||
keylist=keylist->next;
|
||||
}
|
||||
fprintf(output,"FAILED %d\n",err);
|
||||
}
|
||||
else
|
||||
while(keylist)
|
||||
{
|
||||
fprintf(output,"KEY %s FAILED %d\n",keylist->str,err);
|
||||
keylist=keylist->next;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc,char *argv[])
|
||||
{
|
||||
|
@ -856,6 +881,7 @@ main(int argc,char *argv[])
|
|||
{
|
||||
fprintf(console,"gpgkeys: out of memory while "
|
||||
"building key list\n");
|
||||
ret=KEYSERVER_NO_MEMORY;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
@ -960,7 +986,11 @@ main(int argc,char *argv[])
|
|||
|
||||
searchkey=malloc(len+1);
|
||||
if(searchkey==NULL)
|
||||
goto fail;
|
||||
{
|
||||
ret=KEYSERVER_NO_MEMORY;
|
||||
fail_all(keylist,action,KEYSERVER_NO_MEMORY);
|
||||
goto fail;
|
||||
}
|
||||
|
||||
searchkey[0]='\0';
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue