mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
agent,dirmngr: New option --steal-socket
* agent/gpg-agent.c (oStealSocket): New. (opts): Add option. (steal_socket): New file global var. (main): Set option. (create_server_socket): Implement option. * dirmngr/dirmngr.c (oStealSocket): New. (opts): Add option. (steal_socket): New file global var. (main): Set option. Add comment to eventually implement it. -- Note that --steal-socket has currently no effect on dirmngr because dirmngr does this anway. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
751b978ee1
commit
6507c6ab10
3 changed files with 41 additions and 9 deletions
|
@ -139,6 +139,7 @@ enum cmd_and_opt_values {
|
|||
oForce,
|
||||
oAllowOCSP,
|
||||
oAllowVersionCheck,
|
||||
oStealSocket,
|
||||
oSocketName,
|
||||
oLDAPWrapperProgram,
|
||||
oHTTPWrapperProgram,
|
||||
|
@ -188,6 +189,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||
ARGPARSE_s_s (oDebugLevel, "debug-level",
|
||||
N_("|LEVEL|set the debugging level to LEVEL")),
|
||||
ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")),
|
||||
ARGPARSE_s_n (oStealSocket, "steal-socket", "@"),
|
||||
ARGPARSE_s_s (oLogFile, "log-file",
|
||||
N_("|FILE|write server mode logs to FILE")),
|
||||
ARGPARSE_s_n (oBatch, "batch", N_("run without asking a user")),
|
||||
|
@ -329,6 +331,10 @@ static volatile int shutdown_pending;
|
|||
/* Flags to indicate that we shall not watch our own socket. */
|
||||
static int disable_check_own_socket;
|
||||
|
||||
/* Flag indicating to start the daemon even if one already runs. */
|
||||
static int steal_socket;
|
||||
|
||||
|
||||
/* Flag to control the Tor mode. */
|
||||
static enum
|
||||
{ TOR_MODE_AUTO = 0, /* Switch to NO or YES */
|
||||
|
@ -1062,6 +1068,7 @@ main (int argc, char **argv)
|
|||
case oNoVerbose: opt.verbose = 0; break;
|
||||
case oHomedir: /* Ignore this option here. */; break;
|
||||
case oNoDetach: nodetach = 1; break;
|
||||
case oStealSocket: steal_socket = 1; break;
|
||||
case oLogFile: logfile = pargs.r.ret_str; break;
|
||||
case oCsh: csh_style = 1; break;
|
||||
case oSh: csh_style = 0; break;
|
||||
|
@ -1323,7 +1330,11 @@ main (int argc, char **argv)
|
|||
#endif
|
||||
))
|
||||
{
|
||||
/* Fixme: We should test whether a dirmngr is already running. */
|
||||
/* Fixme: We should actually test whether a dirmngr is
|
||||
* already running. For now the steal option is a dummy. */
|
||||
/* if (steal_socket) */
|
||||
/* log_info (N_("trying to steal socket from running %s\n"), */
|
||||
/* "dirmngr"); */
|
||||
gnupg_remove (redir_socket_name? redir_socket_name : socket_name);
|
||||
rc = assuan_sock_bind (fd, (struct sockaddr*) &serv_addr, len);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue