]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: always call fido_init(); previous behaviour only called
authordjm@openbsd.org <djm@openbsd.org>
Wed, 13 May 2020 09:57:17 +0000 (09:57 +0000)
committerDamien Miller <djm@mindrot.org>
Wed, 27 May 2020 00:09:19 +0000 (10:09 +1000)
fido_init() when SK_DEBUG was defined. Harmless with current libfido2, but
this isn't guaranteed in the future.

OpenBSD-Commit-ID: c7ea20ff2bcd98dd12015d748d3672d4f01f0864

sk-usbhid.c

index 25250824dba7b1f0b57a3b698d93e0033a73effa..8097cc7f474c8a03e42a53df0defa6e7aafc942e 100644 (file)
 
 /* #define SK_DEBUG 1 */
 
+#ifdef SK_DEBUG
+#define SSH_FIDO_INIT_ARG      FIDO_DEBUG
+#else
+#define SSH_FIDO_INIT_ARG      0
+#endif
+
 #define MAX_FIDO_DEVICES       256
 
 /* Compatibility with OpenSSH 1.0.x */
@@ -459,9 +465,8 @@ sk_enroll(uint32_t alg, const uint8_t *challenge, size_t challenge_len,
        int r;
        char *device = NULL;
 
-#ifdef SK_DEBUG
-       fido_init(FIDO_DEBUG);
-#endif
+       fido_init(SSH_FIDO_INIT_ARG);
+
        if (enroll_response == NULL) {
                skdebug(__func__, "enroll_response == NULL");
                goto out;
@@ -749,9 +754,7 @@ sk_sign(uint32_t alg, const uint8_t *data, size_t datalen,
        int ret = SSH_SK_ERR_GENERAL;
        int r;
 
-#ifdef SK_DEBUG
-       fido_init(FIDO_DEBUG);
-#endif
+       fido_init(SSH_FIDO_INIT_ARG);
 
        if (sign_response == NULL) {
                skdebug(__func__, "sign_response == NULL");
@@ -995,6 +998,8 @@ sk_load_resident_keys(const char *pin, struct sk_option **options,
        *rksp = NULL;
        *nrksp = 0;
 
+       fido_init(SSH_FIDO_INIT_ARG);
+
        if (check_sign_load_resident_options(options, &device) != 0)
                goto out; /* error already logged */
        if (device != NULL) {