mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-08 17:43:04 +01:00
agent,w32: Do not create a useless socket with --enable-putty-support.
* agent/agent.h (opt): Remove field ssh_support. * agent/gpg-agent.c (ssh_support): New. Replace all opt.ssh_support by this. (main): Do not set ssh_support along with setting putty_support. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2c9c46e2a2
commit
7a38733164
@ -140,9 +140,6 @@ struct
|
|||||||
int keep_tty; /* Don't switch the TTY (for pinentry) on request */
|
int keep_tty; /* Don't switch the TTY (for pinentry) on request */
|
||||||
int keep_display; /* Don't switch the DISPLAY (for pinentry) on request */
|
int keep_display; /* Don't switch the DISPLAY (for pinentry) on request */
|
||||||
|
|
||||||
/* This global option enables the ssh-agent subsystem. */
|
|
||||||
int ssh_support;
|
|
||||||
|
|
||||||
/* This global options indicates the use of an extra socket. Note
|
/* This global options indicates the use of an extra socket. Note
|
||||||
that we use a hack for cleanup handling in gpg-agent.c: If the
|
that we use a hack for cleanup handling in gpg-agent.c: If the
|
||||||
value is less than 2 the name has not yet been malloced. */
|
value is less than 2 the name has not yet been malloced. */
|
||||||
|
@ -280,6 +280,9 @@ static struct debug_flags_s debug_flags [] =
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Flag indicating that the ssh-agent subsystem has been enabled. */
|
||||||
|
static int ssh_support;
|
||||||
|
|
||||||
#ifdef HAVE_W32_SYSTEM
|
#ifdef HAVE_W32_SYSTEM
|
||||||
/* Flag indicating that support for Putty has been enabled. */
|
/* Flag indicating that support for Putty has been enabled. */
|
||||||
static int putty_support;
|
static int putty_support;
|
||||||
@ -935,11 +938,12 @@ main (int argc, char **argv )
|
|||||||
case oKeepTTY: opt.keep_tty = 1; break;
|
case oKeepTTY: opt.keep_tty = 1; break;
|
||||||
case oKeepDISPLAY: opt.keep_display = 1; break;
|
case oKeepDISPLAY: opt.keep_display = 1; break;
|
||||||
|
|
||||||
case oSSHSupport: opt.ssh_support = 1; break;
|
case oSSHSupport:
|
||||||
|
ssh_support = 1;
|
||||||
|
break;
|
||||||
case oPuttySupport:
|
case oPuttySupport:
|
||||||
# ifdef HAVE_W32_SYSTEM
|
# ifdef HAVE_W32_SYSTEM
|
||||||
putty_support = 1;
|
putty_support = 1;
|
||||||
opt.ssh_support = 1;
|
|
||||||
# endif
|
# endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1110,10 +1114,9 @@ main (int argc, char **argv )
|
|||||||
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
||||||
es_printf ("disable-scdaemon:%lu:\n",
|
es_printf ("disable-scdaemon:%lu:\n",
|
||||||
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
||||||
|
es_printf ("enable-ssh-support:%lu:\n", GC_OPT_FLAG_NONE);
|
||||||
#ifdef HAVE_W32_SYSTEM
|
#ifdef HAVE_W32_SYSTEM
|
||||||
es_printf ("enable-putty-support:%lu:\n", GC_OPT_FLAG_NONE);
|
es_printf ("enable-putty-support:%lu:\n", GC_OPT_FLAG_NONE);
|
||||||
#else
|
|
||||||
es_printf ("enable-ssh-support:%lu:\n", GC_OPT_FLAG_NONE);
|
|
||||||
#endif
|
#endif
|
||||||
es_printf ("allow-loopback-pinentry:%lu:\n",
|
es_printf ("allow-loopback-pinentry:%lu:\n",
|
||||||
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME);
|
||||||
@ -1209,7 +1212,7 @@ main (int argc, char **argv )
|
|||||||
&socket_nonce_browser);
|
&socket_nonce_browser);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
{
|
{
|
||||||
socket_name_ssh = create_socket_name (GPG_AGENT_SSH_SOCK_NAME, 1);
|
socket_name_ssh = create_socket_name (GPG_AGENT_SSH_SOCK_NAME, 1);
|
||||||
fd_ssh = create_server_socket (socket_name_ssh, 0,
|
fd_ssh = create_server_socket (socket_name_ssh, 0,
|
||||||
@ -1258,7 +1261,7 @@ main (int argc, char **argv )
|
|||||||
#endif /*HAVE_SIGPROCMASK*/
|
#endif /*HAVE_SIGPROCMASK*/
|
||||||
|
|
||||||
/* Create the SSH info string if enabled. */
|
/* Create the SSH info string if enabled. */
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
{
|
{
|
||||||
if (asprintf (&infostr_ssh_sock, "SSH_AUTH_SOCK=%s",
|
if (asprintf (&infostr_ssh_sock, "SSH_AUTH_SOCK=%s",
|
||||||
socket_name_ssh) < 0)
|
socket_name_ssh) < 0)
|
||||||
@ -1282,12 +1285,12 @@ main (int argc, char **argv )
|
|||||||
*socket_name_extra = 0;
|
*socket_name_extra = 0;
|
||||||
if (opt.browser_socket)
|
if (opt.browser_socket)
|
||||||
*socket_name_browser = 0;
|
*socket_name_browser = 0;
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
*socket_name_ssh = 0;
|
*socket_name_ssh = 0;
|
||||||
|
|
||||||
if (argc)
|
if (argc)
|
||||||
{ /* Run the program given on the commandline. */
|
{ /* Run the program given on the commandline. */
|
||||||
if (opt.ssh_support && (putenv (infostr_ssh_sock)
|
if (ssh_support && (putenv (infostr_ssh_sock)
|
||||||
|| putenv (infostr_ssh_valid)))
|
|| putenv (infostr_ssh_valid)))
|
||||||
{
|
{
|
||||||
log_error ("failed to set environment: %s\n",
|
log_error ("failed to set environment: %s\n",
|
||||||
@ -1314,7 +1317,7 @@ main (int argc, char **argv )
|
|||||||
shell's eval to set it */
|
shell's eval to set it */
|
||||||
if (csh_style)
|
if (csh_style)
|
||||||
{
|
{
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
{
|
{
|
||||||
*strchr (infostr_ssh_sock, '=') = ' ';
|
*strchr (infostr_ssh_sock, '=') = ' ';
|
||||||
es_printf ("setenv %s;\n", infostr_ssh_sock);
|
es_printf ("setenv %s;\n", infostr_ssh_sock);
|
||||||
@ -1322,13 +1325,13 @@ main (int argc, char **argv )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
{
|
{
|
||||||
es_printf ("%s; export SSH_AUTH_SOCK;\n",
|
es_printf ("%s; export SSH_AUTH_SOCK;\n",
|
||||||
infostr_ssh_sock);
|
infostr_ssh_sock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (opt.ssh_support)
|
if (ssh_support)
|
||||||
{
|
{
|
||||||
xfree (infostr_ssh_sock);
|
xfree (infostr_ssh_sock);
|
||||||
xfree (infostr_ssh_valid);
|
xfree (infostr_ssh_valid);
|
||||||
|
@ -478,7 +478,9 @@ remote machine.
|
|||||||
|
|
||||||
@anchor{option --enable-ssh-support}
|
@anchor{option --enable-ssh-support}
|
||||||
@item --enable-ssh-support
|
@item --enable-ssh-support
|
||||||
|
@itemx --enable-putty-support
|
||||||
@opindex enable-ssh-support
|
@opindex enable-ssh-support
|
||||||
|
@opindex enable-putty-support
|
||||||
|
|
||||||
Enable the OpenSSH Agent protocol.
|
Enable the OpenSSH Agent protocol.
|
||||||
|
|
||||||
@ -522,6 +524,12 @@ gpg-connect-agent /bye
|
|||||||
|
|
||||||
Adding the @option{--verbose} shows the progress of starting the agent.
|
Adding the @option{--verbose} shows the progress of starting the agent.
|
||||||
|
|
||||||
|
The @option{--enable-putty-support} is only available under Windows
|
||||||
|
and allows the use of gpg-agent with the ssh implementation
|
||||||
|
@command{putty}. This is similar to the regular ssh-agent support but
|
||||||
|
makes use of Windows message queue as required by @command{putty}.
|
||||||
|
|
||||||
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
All the long options may also be given in the configuration file after
|
All the long options may also be given in the configuration file after
|
||||||
|
Loading…
x
Reference in New Issue
Block a user