1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-07-01 02:42:44 +02:00

* hkp.c (parse_hkp_index): Be more robust with keyservers returning very

unparseable responses.

* exec.c (exec_read): Catch and display an error when the remote process
exits unnaturally (i.e. segfault) so the user knows what happened.  Also
fix exec_write stub which has a different number of arguments now.
This commit is contained in:
David Shaw 2002-06-06 04:04:35 +00:00
parent d8524b8461
commit e1f88c5d3f
3 changed files with 24 additions and 7 deletions

View File

@ -1,3 +1,13 @@
2002-06-05 David Shaw <dshaw@jabberwocky.com>
* hkp.c (parse_hkp_index): Be more robust with keyservers
returning very unparseable responses.
* exec.c (exec_read): Catch and display an error when the remote
process exits unnaturally (i.e. segfault) so the user knows what
happened. Also fix exec_write stub which has a different number
of arguments now.
2002-06-05 Timo Schulz <ts@winpt.org>
* encode.c (encode_simple): Ignore the new mode for RFC1991.

View File

@ -43,7 +43,7 @@
#ifdef NO_EXEC
int exec_write(struct exec_info **info,const char *program,
const char *args_in,int writeonly,int binary)
const char *args_in,const char *name,int writeonly,int binary)
{
log_error(_("no remote program execution supported\n"));
return G10ERR_GENERAL;
@ -473,14 +473,20 @@ int exec_read(struct exec_info *info)
info->progreturn=127;
goto fail;
}
#if defined(WIFEXITED) && defined(WEXITSTATUS)
if(WIFEXITED(info->progreturn))
info->progreturn=WEXITSTATUS(info->progreturn);
else
{
#ifdef WEXITSTATUS
info->progreturn=WEXITSTATUS(info->progreturn);
#else
info->progreturn/=256;
#endif
log_error(_("unnatural exit of external program\n"));
info->progreturn=127;
goto fail;
}
#else
/* If we don't have the macros, do the best we can. */
info->progreturn/=256;
#endif
/* 127 is the magic value returned from system() to indicate
that the shell could not be executed, or from /bin/sh to

View File

@ -280,7 +280,8 @@ parse_hkp_index(IOBUF buffer,char *line)
{
char intstr[11];
write_quoted(buffer,key,':');
if(key)
write_quoted(buffer,key,':');
iobuf_writestr(buffer,":");
write_quoted(buffer,uid,':');
iobuf_writestr(buffer,":");