version 1.39, 2022/07/20 03:29:14 |
version 1.40, 2023/07/19 14:02:27 |
|
|
ret->sk_load_resident_keys = ssh_sk_load_resident_keys; |
ret->sk_load_resident_keys = ssh_sk_load_resident_keys; |
return ret; |
return ret; |
} |
} |
|
if (lib_contains_symbol(path, "sk_api_version") != 0) { |
|
error("provider %s is not an OpenSSH FIDO library", path); |
|
goto fail; |
|
} |
if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL) { |
if ((ret->dlhandle = dlopen(path, RTLD_NOW)) == NULL) { |
error("Provider \"%s\" dlopen failed: %s", path, dlerror()); |
error("Provider \"%s\" dlopen failed: %s", path, dlerror()); |
goto fail; |
goto fail; |
} |
} |
if ((ret->sk_api_version = dlsym(ret->dlhandle, |
if ((ret->sk_api_version = dlsym(ret->dlhandle, |
"sk_api_version")) == NULL) { |
"sk_api_version")) == NULL) { |
error("Provider \"%s\" dlsym(sk_api_version) failed: %s", |
fatal("Provider \"%s\" dlsym(sk_api_version) failed: %s", |
path, dlerror()); |
path, dlerror()); |
goto fail; |
|
} |
} |
version = ret->sk_api_version(); |
version = ret->sk_api_version(); |
debug_f("provider %s implements version 0x%08lx", ret->path, |
debug_f("provider %s implements version 0x%08lx", ret->path, |