mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
Robustness fix.
Add group to the --gpgconf-list.
This commit is contained in:
parent
df066f970f
commit
e573011dda
@ -1,3 +1,10 @@
|
|||||||
|
2008-06-19 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* sysutils.c: Remove <ctype.h>.
|
||||||
|
(fd_translate_max): Use macro for the size.
|
||||||
|
(translate_table_init): Protect read against EINTR and replace
|
||||||
|
isspace by spacep.
|
||||||
|
|
||||||
2008-06-18 Marcus Brinkmann <marcus@g10code.de>
|
2008-06-18 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* sysutils.c (TRANS_MAX): Bump up to 350 to be on the safe side.
|
* sysutils.c (TRANS_MAX): Bump up to 350 to be on the safe side.
|
||||||
|
@ -50,7 +50,6 @@
|
|||||||
# include <pth.h>
|
# include <pth.h>
|
||||||
#endif
|
#endif
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <ctype.h>
|
|
||||||
|
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
@ -301,7 +300,7 @@ static struct
|
|||||||
{
|
{
|
||||||
int from;
|
int from;
|
||||||
int to;
|
int to;
|
||||||
} fd_translate[8];
|
} fd_translate[FD_TRANSLATE_MAX];
|
||||||
|
|
||||||
/* Number of entries used in fd_translate. */
|
/* Number of entries used in fd_translate. */
|
||||||
static int fd_translate_len;
|
static int fd_translate_len;
|
||||||
@ -310,7 +309,9 @@ static int fd_translate_len;
|
|||||||
/* Initialize the fd translation table. This reads one line from
|
/* Initialize the fd translation table. This reads one line from
|
||||||
stdin which is expected to be in the format "FROM TO [...]" where
|
stdin which is expected to be in the format "FROM TO [...]" where
|
||||||
each "FROM TO" pair are two handle numbers. Handle number FROM on
|
each "FROM TO" pair are two handle numbers. Handle number FROM on
|
||||||
the command line is translated to handle number TO. */
|
the command line is translated to handle number TO.
|
||||||
|
|
||||||
|
Note that this function may be called while still being setuid. */
|
||||||
void
|
void
|
||||||
translate_table_init (void)
|
translate_table_init (void)
|
||||||
{
|
{
|
||||||
@ -327,7 +328,9 @@ translate_table_init (void)
|
|||||||
/* We always read one line from stdin. */
|
/* We always read one line from stdin. */
|
||||||
for (idx = 0; idx < TRANS_MAX; idx++)
|
for (idx = 0; idx < TRANS_MAX; idx++)
|
||||||
{
|
{
|
||||||
res = read (0, &line[idx], 1);
|
do
|
||||||
|
res = read (0, &line[idx], 1);
|
||||||
|
while (res == -1 && errno == EINTR);
|
||||||
if (res != 1)
|
if (res != 1)
|
||||||
break;
|
break;
|
||||||
if (line[idx] == '\n')
|
if (line[idx] == '\n')
|
||||||
@ -340,7 +343,11 @@ translate_table_init (void)
|
|||||||
{
|
{
|
||||||
char buf[1];
|
char buf[1];
|
||||||
do
|
do
|
||||||
res = read (0, buf, 1);
|
{
|
||||||
|
do
|
||||||
|
res = read (0, buf, 1);
|
||||||
|
while (res == -1 && errno == EINTR);
|
||||||
|
}
|
||||||
while (res == 1 && *buf != '\n');
|
while (res == 1 && *buf != '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,21 +361,21 @@ translate_table_init (void)
|
|||||||
unsigned long to;
|
unsigned long to;
|
||||||
char *tail;
|
char *tail;
|
||||||
|
|
||||||
while (isspace (*linep))
|
while (spacep (linep))
|
||||||
linep++;
|
linep++;
|
||||||
if (*linep == '\0')
|
if (*linep == '\0')
|
||||||
break;
|
break;
|
||||||
from = strtoul (linep, &tail, 0);
|
from = strtoul (linep, &tail, 0);
|
||||||
if (tail == NULL || ! (*tail == '\0' || isspace (*tail)))
|
if (tail == NULL || ! (*tail == '\0' || spacep (tail)))
|
||||||
break;
|
break;
|
||||||
linep = tail;
|
linep = tail;
|
||||||
|
|
||||||
while (isspace (*linep))
|
while (spacep (linep))
|
||||||
linep++;
|
linep++;
|
||||||
if (*linep == '\0')
|
if (*linep == '\0')
|
||||||
break;
|
break;
|
||||||
to = strtoul (linep, &tail, 0);
|
to = strtoul (linep, &tail, 0);
|
||||||
if (tail == NULL || ! (*tail == '\0' || isspace (*tail)))
|
if (tail == NULL || ! (*tail == '\0' || spacep (tail)))
|
||||||
break;
|
break;
|
||||||
linep = tail;
|
linep = tail;
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2008-06-19 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpg.c (gpgconf_list): Add "group".
|
||||||
|
|
||||||
2008-06-18 Marcus Brinkmann <marcus@g10code.de>
|
2008-06-18 Marcus Brinkmann <marcus@g10code.de>
|
||||||
|
|
||||||
* gpg.c (enum cmd_and_opt_values): New option
|
* gpg.c (enum cmd_and_opt_values): New option
|
||||||
|
@ -1562,7 +1562,7 @@ gpgconf_list (const char *configfile)
|
|||||||
printf ("allow-pka-lookup:%lu:\n", GC_OPT_FLAG_NONE);
|
printf ("allow-pka-lookup:%lu:\n", GC_OPT_FLAG_NONE);
|
||||||
printf ("log-file:%lu:\n", GC_OPT_FLAG_NONE);
|
printf ("log-file:%lu:\n", GC_OPT_FLAG_NONE);
|
||||||
printf ("debug-level:%lu:\"none:\n", GC_OPT_FLAG_DEFAULT);
|
printf ("debug-level:%lu:\"none:\n", GC_OPT_FLAG_DEFAULT);
|
||||||
|
printf ("group:%lu:\n", GC_OPT_FLAG_NONE);
|
||||||
|
|
||||||
xfree (configfile_esc);
|
xfree (configfile_esc);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user