From: Alexander Sulfrian Date: Sun, 12 Dec 2010 12:32:54 GMT Subject: [PATCH] git_getpass: fix ssh-askpass behaviour Message-ID: <1292157174-4033-2-git-send-email-alexander@sulfrian.net> In-Reply-To: call ssh-askpass only if the display environment variable is also set --- connect.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/connect.c b/connect.c index 57dc20c..2810e3b 100644 --- a/connect.c +++ b/connect.c @@ -621,7 +621,7 @@ int finish_connect(struct child_process *conn) char *git_getpass(const char *prompt) { - const char *askpass; + const char *askpass, *display; struct child_process pass; const char *args[3]; static struct strbuf buffer = STRBUF_INIT; @@ -631,7 +631,10 @@ char *git_getpass(const char *prompt) askpass = askpass_program; if (!askpass) askpass = getenv("SSH_ASKPASS"); - if (!askpass || !(*askpass)) { + + /* only call askpass if display is set */ + display = getenv("DISPLAY"); + if (!display || !(*display) || !askpass || !(*askpass)) char *result = getpass(prompt); if (!result) die_errno("Could not read password"); -- 1.7.2.2