diff options
author | Werner Koch <[email protected]> | 2013-08-19 09:44:59 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2013-08-19 09:44:59 +0000 |
commit | 9f5578c29adba6d4f7d3650121d07322c2f8d254 (patch) | |
tree | e69d017a56c2a913c2bf45e2007e981ad53964e9 | |
parent | tests: Make sure not to create files outside the build directory. (diff) | |
download | gnupg-9f5578c29adba6d4f7d3650121d07322c2f8d254.tar.gz gnupg-9f5578c29adba6d4f7d3650121d07322c2f8d254.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]>
-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 a76769700..3583ea068 100644 --- a/agent/command-ssh.c +++ b/agent/command-ssh.c @@ -3369,8 +3369,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) |