summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/ssh-sk.c
diff options
context:
space:
mode:
authordjm <djm@openbsd.org>2020-08-27 01:08:19 +0000
committerdjm <djm@openbsd.org>2020-08-27 01:08:19 +0000
commit15a2cdb62dc7e0ba241ac757e4f3d41ba5b76ccc (patch)
tree68aa6f8d99434f0a3680c54dc511386dbd4d989a /usr.bin/ssh/ssh-sk.c
parentmajor rework of FIDO token selection logic (diff)
downloadwireguard-openbsd-15a2cdb62dc7e0ba241ac757e4f3d41ba5b76ccc.tar.xz
wireguard-openbsd-15a2cdb62dc7e0ba241ac757e4f3d41ba5b76ccc.zip
preserve verify-required for resident FIDO keys
When downloading a resident, verify-required key from a FIDO token, preserve the verify-required in the private key that is written to disk. Previously we weren't doing that because of lack of support in the middleware API. from Pedro Martelletto; ok markus@ and myself
Diffstat (limited to 'usr.bin/ssh/ssh-sk.c')
-rw-r--r--usr.bin/ssh/ssh-sk.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/usr.bin/ssh/ssh-sk.c b/usr.bin/ssh/ssh-sk.c
index 0a4a2957512..6a2422f2bba 100644
--- a/usr.bin/ssh/ssh-sk.c
+++ b/usr.bin/ssh/ssh-sk.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-sk.c,v 1.30 2020/04/28 04:02:29 djm Exp $ */
+/* $OpenBSD: ssh-sk.c,v 1.31 2020/08/27 01:08:19 djm Exp $ */
/*
* Copyright (c) 2019 Google LLC
*
@@ -759,8 +759,9 @@ sshsk_load_resident(const char *provider_path, const char *device,
default:
continue;
}
- /* XXX where to get flags? */
flags = SSH_SK_USER_PRESENCE_REQD|SSH_SK_RESIDENT_KEY;
+ if ((rks[i]->flags & SSH_SK_USER_VERIFICATION_REQD))
+ flags |= SSH_SK_USER_VERIFICATION_REQD;
if ((r = sshsk_key_from_response(rks[i]->alg,
rks[i]->application, flags, &rks[i]->key, &key)) != 0)
goto out;