1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

* gpgsm.c: New option --agent-program

* call-agent.c (start_agent): Allow to override the default path
to the agent.
This commit is contained in:
Werner Koch 2001-11-26 17:54:49 +00:00
parent 99829ef5fb
commit d9aecd9eb7
4 changed files with 21 additions and 5 deletions

View file

@ -335,8 +335,9 @@ start_agent (void)
if (!pid)
{ /* child */
int i, n;
char errbuf[100];
char errbuf[512];
int log_fd = log_get_fd ();
const char *pgmname;
/* close all files which will not be duped but keep stderr
and log_stream for now */
@ -371,10 +372,17 @@ start_agent (void)
}
/* and start it */
execl ("../agent/gpg-agent", "gpg-agent", "--server", NULL);
if (!opt.agent_program || !*opt.agent_program)
opt.agent_program = "../agent/gpg-agent";
if ( !(pgmname = strrchr (opt.agent_program, '/')))
pgmname = opt.agent_program;
else
pgmname++;
execl (opt.agent_program, pgmname, "--server", NULL);
/* oops - tell the parent about it */
snprintf (errbuf, DIM(errbuf)-1, "ERR %d execl failed: %.50s\n",
ASSUAN_Problem_Starting_Server, strerror (errno));
snprintf (errbuf, DIM(errbuf)-1, "ERR %d can't exec `%s': %.50s\n",
ASSUAN_Problem_Starting_Server, opt.agent_program,
strerror (errno));
errbuf[DIM(errbuf)-1] = 0;
writen (1, errbuf, strlen (errbuf));
_exit (4);