mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
![]() * agent/gpg-agent.c (main): Pass new envar gnupg_SSH_AUTH_SOCK_by to an invoked process. -- This environment variable is useful for debugging if --use-standard-socket is used (which is the default since 2.1). Commonly you should have this in your init script (e.g. ~/.bashrc): unset GPG_AGENT_INFO unset SSH_AGENT_PID SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh" export SSH_AUTH_SOCK The problem is that gpg-agent won't be able to override the SSH_AUTH_SOCK envvar if gpg-agent has been invoked as gpg-agent --enable-ssh-support --daemon /bin/bash To fix this you should instead use this code in the init script: unset GPG_AGENT_INFO unset SSH_AGENT_PID if [ ${gnupg_SSH_AUTH_SOCK_by:-0} -ne $$ ]; then export SSH_AUTH_SOCK="${HOME}/.gnupg/S.gpg-agent.ssh" fi This will work in all cases and thus allows to start gpg-agent for testing purposes with a different homedir and use this gpg-agent as an ssh-agent. Example: GNUPGHOME=$(pwd) gpg-agent --enable-ssh-support --daemon /bin/bash gnupg_SSH_AUTH_SOCK_by is set to the PID of the exec-ed process and thus will work safely if called recursively. |
||
---|---|---|
.. | ||
agent.h | ||
cache.c | ||
call-pinentry.c | ||
call-scd.c | ||
ChangeLog-2011 | ||
command-ssh.c | ||
command.c | ||
cvt-openpgp.c | ||
cvt-openpgp.h | ||
divert-scd.c | ||
findkey.c | ||
genkey.c | ||
gpg-agent.c | ||
keyformat.txt | ||
learncard.c | ||
Makefile.am | ||
pkdecrypt.c | ||
pksign.c | ||
preset-passphrase.c | ||
protect-tool.c | ||
protect.c | ||
t-protect.c | ||
trans.c | ||
trustlist.c | ||
w32main.c | ||
w32main.h |