From: djm@openbsd.org Date: Tue, 21 Jan 2020 07:07:31 +0000 (+0000) Subject: upstream: check access(ssh-sk-helper, X_OK) to provide friendly X-Git-Tag: V_8_2_P1~112 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5fcb0ac1cc0ef01aeec1c089146298654ab3ae0;p=thirdparty%2Fopenssh-portable.git upstream: check access(ssh-sk-helper, X_OK) to provide friendly error message for misconfigured helper paths OpenBSD-Commit-ID: 061bcc262155d12e726305c91394ac0aaf1f8341 --- diff --git a/ssh-sk-client.c b/ssh-sk-client.c index 9121570dc..359327b68 100644 --- a/ssh-sk-client.c +++ b/ssh-sk-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-sk-client.c,v 1.5 2020/01/10 23:43:26 djm Exp $ */ +/* $OpenBSD: ssh-sk-client.c,v 1.6 2020/01/21 07:07:31 djm Exp $ */ /* * Copyright (c) 2019 Google LLC * @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -56,6 +57,13 @@ start_helper(int *fdp, pid_t *pidp, void (**osigchldp)(int)) helper = getenv("SSH_SK_HELPER"); if (helper == NULL || strlen(helper) == 0) helper = _PATH_SSH_SK_HELPER; + if (access(helper, X_OK) != 0) { + oerrno = errno; + error("%s: helper \"%s\" unusable: %s", __func__, helper, + strerror(errno)); + errno = oerrno; + return SSH_ERR_SYSTEM_ERROR; + } #ifdef DEBUG_SK verbosity = "-vvv"; #endif