From 47f72f534ac5cc2cd3027675a3df7b00a8f77575 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 17 Aug 2022 06:01:57 +0000 Subject: [PATCH] upstream: add an extra flag to sk_probe() to indicate whether we're probing for a FIDO resident key or not. Unused here, but will make like easier for portable OpenBSD-Commit-ID: 432c8ff70e270378df9dbceb9bdeaa5b43b5a832 --- sk-usbhid.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sk-usbhid.c b/sk-usbhid.c index 02cefb87a..1d0faebcf 100644 --- a/sk-usbhid.c +++ b/sk-usbhid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sk-usbhid.c,v 1.41 2022/07/20 03:31:42 djm Exp $ */ +/* $OpenBSD: sk-usbhid.c,v 1.42 2022/08/17 06:01:57 djm Exp $ */ /* * Copyright (c) 2019 Markus Friedl * Copyright (c) 2020 Pedro Martelletto @@ -564,7 +564,7 @@ out: static struct sk_usbhid * sk_probe(const char *application, const uint8_t *key_handle, - size_t key_handle_len) + size_t key_handle_len, int probe_resident) { struct sk_usbhid *sk; fido_dev_info_t *devlist; @@ -872,7 +872,7 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len, if (device != NULL) sk = sk_open(device); else - sk = sk_probe(NULL, NULL, 0); + sk = sk_probe(NULL, NULL, 0, 0); if (sk == NULL) { ret = SSH_SK_ERR_DEVICE_NOT_FOUND; skdebug(__func__, "failed to find sk"); @@ -1174,9 +1174,9 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen, if (device != NULL) sk = sk_open(device); else if (pin != NULL || (flags & SSH_SK_USER_VERIFICATION_REQD)) - sk = sk_probe(NULL, NULL, 0); + sk = sk_probe(NULL, NULL, 0, 0); else - sk = sk_probe(application, key_handle, key_handle_len); + sk = sk_probe(application, key_handle, key_handle_len, 0); if (sk == NULL) { ret = SSH_SK_ERR_DEVICE_NOT_FOUND; skdebug(__func__, "failed to find sk"); @@ -1448,7 +1448,7 @@ sk_load_resident_keys(const char *pin, struct sk_option **options, if (device != NULL) sk = sk_open(device); else - sk = sk_probe(NULL, NULL, 0); + sk = sk_probe(NULL, NULL, 0, 1); if (sk == NULL) { ret = SSH_SK_ERR_DEVICE_NOT_FOUND; skdebug(__func__, "failed to find sk");