Hi,
a recent thread on issues with gpg-agent lead me to take a look
at how the gpg-agent socket is located in subversion. The current
code was lacking support for $GNUPGHOME, which allows a user to
relocate his gnupg configuration directory. As setting this
environment variable would also cause S.gpg-agent to be created
inside of $GNUPGHOME, we might fail to correctly locate the file
in this case.
Attached patch fixes the problem.
[[[
gpg_agent: search in $GNUPGHOME for gpg-agent socket
The socket used to connect to the gpg-agent resides in the GnuPG
home directory, which is by default located at "$HOME/.gnupg".
But in fact, the home directory can be relocated by the user by
setting the environment variable GNUPGHOME, in which case the
gpg-agent socket will live at "$GNUPGHOME/S.gpg-agent".
Subversion does only search the standard home directory, though,
without evaluating $GNUPGHOME.
Fix the issue by using the socket located at
"$GNUPGHOME/S.gpg-agent" instead of using "$HOME/.gnupg" when the
environment variable is set.
* subversion/libsvn_subr/gpg_agent.c
(find_running_gpg_agent): evaluate $GNUPGHOME
]]]
Received on 2016-10-27 11:15:28 CEST