aboutsummaryrefslogtreecommitdiffstats
path: root/sm/gpgsm.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2004-02-13 12:40:23 +0000
committerWerner Koch <[email protected]>2004-02-13 12:40:23 +0000
commit1a159fd8e383f69ad73e83491c396b1395385563 (patch)
tree2d2cfd70382ed24bd630a33718733ed121d43a7e /sm/gpgsm.c
parentRemoved debugging cruft. (diff)
downloadgnupg-1a159fd8e383f69ad73e83491c396b1395385563.tar.gz
gnupg-1a159fd8e383f69ad73e83491c396b1395385563.zip
* encrypt.c (init_dek): Check for too weak algorithms.
* import.c (parse_p12, popen_protect_tool): New. * base64.c (gpgsm_create_reader): New arg ALLOW_MULTI_PEM. Changed all callers. (base64_reader_cb): Handle it here. (gpgsm_reader_eof_seen): New. (base64_reader_cb): Set a flag for EOF. (simple_reader_cb): Ditto.
Diffstat (limited to '')
-rw-r--r--sm/gpgsm.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index d1da02c59..fa3e1b203 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -98,6 +98,7 @@ enum cmd_and_opt_values {
oLCmessages,
oDirmngrProgram,
+ oProtectToolProgram,
oFakedSystemTime,
@@ -370,6 +371,7 @@ static ARGPARSE_OPTS opts[] = {
{ oLCctype, "lc-ctype", 2, "@" },
{ oLCmessages, "lc-messages", 2, "@" },
{ oDirmngrProgram, "dirmngr-program", 2 , "@" },
+ { oProtectToolProgram, "protect-tool-program", 2 , "@" },
{ oFakedSystemTime, "faked-system-time", 4, "@" }, /* (epoch time) */
@@ -947,6 +949,9 @@ main ( int argc, char **argv)
case oLCctype: opt.lc_ctype = xstrdup (pargs.r.ret_str); break;
case oLCmessages: opt.lc_messages = xstrdup (pargs.r.ret_str); break;
case oDirmngrProgram: opt.dirmngr_program = pargs.r.ret_str; break;
+ case oProtectToolProgram:
+ opt.protect_tool_program = pargs.r.ret_str;
+ break;
case oFakedSystemTime:
gnupg_set_time ( (time_t)pargs.r.ret_ulong, 0);
@@ -1480,14 +1485,19 @@ open_fwrite (const char *filename)
static void
run_protect_tool (int argc, char **argv)
{
- char *pgm = GNUPG_DEFAULT_PROTECT_TOOL;
+ const char *pgm;
char **av;
int i;
+ if (!opt.protect_tool_program || !*opt.protect_tool_program)
+ pgm = GNUPG_DEFAULT_PROTECT_TOOL;
+ else
+ pgm = opt.protect_tool_program;
+
av = xcalloc (argc+2, sizeof *av);
av[0] = strrchr (pgm, '/');
if (!av[0])
- av[0] = pgm;
+ av[0] = xstrdup (pgm);
for (i=1; argc; i++, argc--, argv++)
av[i] = *argv;
av[i] = NULL;
@@ -1495,4 +1505,3 @@ run_protect_tool (int argc, char **argv)
log_error ("error executing `%s': %s\n", pgm, strerror (errno));
gpgsm_exit (2);
}
-