diff options
author | Werner Koch <[email protected]> | 2013-08-19 09:44:59 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2014-03-07 08:59:32 +0000 |
commit | 90688b29f3701f4d3e2a5a49c5544fe8d2a84b2d (patch) | |
tree | 61b12e2711cc1316bde6f42619861b8627c9e654 /agent/command-ssh.c | |
parent | gpgv: Init Libgcrypt to avoid syslog warning. (diff) | |
download | gnupg-90688b29f3701f4d3e2a5a49c5544fe8d2a84b2d.tar.gz gnupg-90688b29f3701f4d3e2a5a49c5544fe8d2a84b2d.zip |
agent: Fix UPDATESTARTUPTTY for ssh.
* agent/command-ssh.c (setup_ssh_env): Fix env setting.
--
gniibe reported this to gnupg-devel on 2012-07-04:
[...]
(2) UPDATESTARTUPTTY doesn't work to switch TTY for pinentry for
SSH.
[...]
Current implementation:
In the function start_command_handler_ssh, the logic puts
priority on ctrl->session_env which is initialized by
agent_init_default_ctrl. There are always GPG_TTY and TERM
defined, because lines around 968 in gpg-agent.c, it says:
/* Make sure that we have a default ttyname. */
While UPDATESTARTUPTTY updates opt.startup_env, it doesn't
affect at all.
Here is a patch to point the issue. Tested and works for me.
Signed-off-by: Werner Koch <[email protected]>
(cherry picked from commit 9f5578c29adba6d4f7d3650121d07322c2f8d254)
Diffstat (limited to 'agent/command-ssh.c')
-rw-r--r-- | agent/command-ssh.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/agent/command-ssh.c b/agent/command-ssh.c index 4bd1aa7a7..4191d6f0c 100644 --- a/agent/command-ssh.c +++ b/agent/command-ssh.c @@ -3370,8 +3370,7 @@ setup_ssh_env (ctrl_t ctrl) const char *value; for (idx=0; !err && names[idx]; idx++) - if (!session_env_getenv (ctrl->session_env, names[idx]) - && (value = session_env_getenv (opt.startup_env, names[idx]))) + if ((value = session_env_getenv (opt.startup_env, names[idx]))) err = session_env_setenv (ctrl->session_env, names[idx], value); if (!err && !ctrl->lc_ctype && opt.startup_lc_ctype) |