ask-password: check keyring in ask_password_tty and ask_password_agent
A race condition happens when calling ask_password_auto() multiple times to unlock several disks on boot and effectively no password caching is utilized. This patch fixes it by polling the cache when waiting for the password.
This commit is contained in:
committed by
Lennart Poettering
parent
45313bd921
commit
c7b7d74e81
@@ -3,15 +3,17 @@
|
||||
#include "alloc-util.h"
|
||||
#include "ask-password-api.h"
|
||||
#include "log.h"
|
||||
#include "strv.h"
|
||||
|
||||
static void ask_password(void) {
|
||||
int r;
|
||||
_cleanup_free_ char *ret;
|
||||
_cleanup_strv_free_ char **ret = NULL;
|
||||
|
||||
r = ask_password_tty(-1, "hello?", "da key", 0, 0, NULL, &ret);
|
||||
assert(r >= 0);
|
||||
assert(strv_length(ret) == 1);
|
||||
|
||||
log_info("Got %s", ret);
|
||||
log_info("Got %s", *ret);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
Reference in New Issue
Block a user