aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--agent/gpg-agent.c26
-rw-r--r--configure.ac4
-rw-r--r--doc/gpg-agent.texi6
3 files changed, 26 insertions, 10 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index d3c3891f3..4dda44cae 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -1045,6 +1045,18 @@ main (int argc, char **argv )
agent_exit (0);
}
+ if (! opt.extra_socket)
+ {
+ opt.extra_socket = 1; /* (1 = points into r/o section) */
+ socket_name_extra = GPG_AGENT_EXTRA_SOCK_NAME;
+ }
+
+ if (! opt.browser_socket)
+ {
+ opt.browser_socket = 1; /* (1 = points into r/o section) */
+ socket_name_browser = GPG_AGENT_BROWSER_SOCK_NAME;
+ }
+
set_debug ();
if (atexit (cleanup))
@@ -1241,13 +1253,10 @@ main (int argc, char **argv )
&socket_nonce_browser);
}
- if (ssh_support)
- {
- socket_name_ssh = create_socket_name (GPG_AGENT_SSH_SOCK_NAME, 1);
- fd_ssh = create_server_socket (socket_name_ssh, 0, 1,
- &redir_socket_name_ssh,
- &socket_nonce_ssh);
- }
+ socket_name_ssh = create_socket_name (GPG_AGENT_SSH_SOCK_NAME, 1);
+ fd_ssh = create_server_socket (socket_name_ssh, 0, 1,
+ &redir_socket_name_ssh,
+ &socket_nonce_ssh);
/* If we are going to exec a program in the parent, we record
the PID, so that the child may check whether the program is
@@ -1313,8 +1322,7 @@ main (int argc, char **argv )
*socket_name_extra = 0;
if (opt.browser_socket)
*socket_name_browser = 0;
- if (ssh_support)
- *socket_name_ssh = 0;
+ *socket_name_ssh = 0;
if (argc)
{ /* Run the program given on the commandline. */
diff --git a/configure.ac b/configure.ac
index fe432e8a8..85cd69a79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1753,6 +1753,10 @@ AC_DEFINE_UNQUOTED(GPGTAR_NAME, "gpgtar", [The name of the gpgtar tool])
AC_DEFINE_UNQUOTED(GPG_AGENT_SOCK_NAME, "S.gpg-agent",
[The name of the agent socket])
+AC_DEFINE_UNQUOTED(GPG_AGENT_EXTRA_SOCK_NAME, "S.gpg-agent.rstrd",
+ [The name of the agent socket for remote access])
+AC_DEFINE_UNQUOTED(GPG_AGENT_BROWSER_SOCK_NAME, "S.gpg-agent.brwsr",
+ [The name of the agent socket for browsers])
AC_DEFINE_UNQUOTED(GPG_AGENT_SSH_SOCK_NAME, "S.gpg-agent.ssh",
[The name of the agent socket for ssh])
AC_DEFINE_UNQUOTED(DIRMNGR_INFO_NAME, "DIRMNGR_INFO",
diff --git a/doc/gpg-agent.texi b/doc/gpg-agent.texi
index 53a6f785e..8d86add74 100644
--- a/doc/gpg-agent.texi
+++ b/doc/gpg-agent.texi
@@ -537,6 +537,9 @@ pinentry to pop up at the @code{tty} or display you started the agent.
@anchor{option --extra-socket}
@item --extra-socket @var{name}
@opindex extra-socket
+The extra socket is always created, you may use this option to change
+the name of the socket.
+
Also listen on native gpg-agent connections on the given socket. The
intended use for this extra socket is to setup a Unix domain socket
forwarding from a remote machine to this socket on the local machine.
@@ -552,7 +555,8 @@ remote machine.
@opindex enable-ssh-support
@opindex enable-putty-support
-Enable the OpenSSH Agent protocol.
+The OpenSSH Agent protocol is always enabled, but @command{gpg-agent}
+will only set the @code{SSH_AUTH_SOCK} variable if this flag is given.
In this mode of operation, the agent does not only implement the
gpg-agent protocol, but also the agent protocol used by OpenSSH