diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2019-11-15 03:41:58 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2019-11-15 03:41:58 +0000 |
commit | 469d2a611141b66e5daf5f7f27f5602ef42f6993 (patch) | |
tree | 106f9bb147c8217b480faa627bc646f6fb1a0d4d /usr.bin | |
parent | 1a370e80d4a2a8c1c2522b72f6a2ac47c291445a (diff) |
U2F tokens may return FIDO_ERR_USER_PRESENCE_REQUIRED when probed to
see if they own a key handle. Handle this case so the find_device()
look can work for them. Reported by Michael Forney
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/ssh/sk-usbhid.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/usr.bin/ssh/sk-usbhid.c b/usr.bin/ssh/sk-usbhid.c index 4561297e7fa..0c70b031717 100644 --- a/usr.bin/ssh/sk-usbhid.c +++ b/usr.bin/ssh/sk-usbhid.c @@ -197,6 +197,10 @@ try_device(fido_dev_t *dev, const uint8_t *message, size_t message_len, } r = fido_dev_get_assert(dev, assert, NULL); skdebug(__func__, "fido_dev_get_assert: %s", fido_strerr(r)); + if (r == FIDO_ERR_USER_PRESENCE_REQUIRED) { + /* U2F tokens may return this */ + r = FIDO_OK; + } out: fido_assert_free(&assert); |