diff options
author | djm@openbsd.org <djm@openbsd.org> | 2024-03-30 05:27:44 +0100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2024-03-30 05:35:03 +0100 |
commit | 697359be9c23ee43618243cdbcc9c7981e766752 (patch) | |
tree | 55700f153bae1d775e36f0995bdabd5800f9bdf0 /readpass.c | |
parent | upstream: Use egrep instead of grep -E. (diff) | |
download | openssh-697359be9c23ee43618243cdbcc9c7981e766752.tar.xz openssh-697359be9c23ee43618243cdbcc9c7981e766752.zip |
upstream: allow WAYLAND_DISPLAY to enable SSH_ASKPASS
From dkg via GHPR479; ok dtucker@
OpenBSD-Commit-ID: 1ac1f9c45da44eabbae89375393c662349239257
Diffstat (limited to 'readpass.c')
-rw-r--r-- | readpass.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/readpass.c b/readpass.c index b52f3d6b1..d42b1185d 100644 --- a/readpass.c +++ b/readpass.c @@ -1,4 +1,4 @@ -/* $OpenBSD: readpass.c,v 1.70 2022/05/27 04:27:49 dtucker Exp $ */ +/* $OpenBSD: readpass.c,v 1.71 2024/03/30 04:27:44 djm Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. * @@ -127,8 +127,9 @@ read_passphrase(const char *prompt, int flags) const char *askpass_hint = NULL; const char *s; - if ((s = getenv("DISPLAY")) != NULL) - allow_askpass = *s != '\0'; + if (((s = getenv("DISPLAY")) != NULL && *s != '\0') || + ((s = getenv("WAYLAND_DISPLAY")) != NULL && *s != '\0')) + allow_askpass = 1; if ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) != NULL) { if (strcasecmp(s, "force") == 0) { use_askpass = 1; @@ -261,7 +262,7 @@ notify_start(int force_askpass, const char *fmt, ...) debug3_f("cannot notify: no askpass"); goto out; } - if (getenv("DISPLAY") == NULL && + if (getenv("DISPLAY") == NULL && getenv("WAYLAND_DISPLAY") == NULL && ((s = getenv(SSH_ASKPASS_REQUIRE_ENV)) == NULL || strcmp(s, "force") != 0)) { debug3_f("cannot notify: no display"); |