upstream: 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

OpenBSD-Commit-ID: 2ccd5b30a6ddfe4dba228b7159bf168601bd9166
This commit is contained in:
djm@openbsd.org 2019-11-15 03:41:57 +00:00 committed by Damien Miller
parent cf62307bc9
commit 01362cf7cb
1 changed files with 4 additions and 0 deletions

View File

@ -201,6 +201,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);