From e171538b12c69c8aa85426a7590120a09a071a7e Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 11 Mar 2025 13:43:17 +0200 Subject: [PATCH] lib-auth: Add password_schemes_register_all() --- src/lib-auth/password-scheme-crypt.c | 9 +++++++++ src/lib-auth/password-scheme.c | 4 ---- src/lib-auth/password-scheme.h | 3 +++ src/lib-auth/test-password-scheme.c | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/lib-auth/password-scheme-crypt.c b/src/lib-auth/password-scheme-crypt.c index 8fafe1a044..e1de1c5047 100644 --- a/src/lib-auth/password-scheme-crypt.c +++ b/src/lib-auth/password-scheme-crypt.c @@ -254,3 +254,12 @@ void password_scheme_register_crypt(void) password_scheme_register(&blf_crypt_scheme); password_scheme_register(&default_crypt_scheme); } + +void password_schemes_register_all(void) +{ + password_schemes_init(); + password_scheme_register_crypt(); +#ifdef HAVE_LIBSODIUM + password_scheme_register_sodium(); +#endif +} diff --git a/src/lib-auth/password-scheme.c b/src/lib-auth/password-scheme.c index 17f626610d..40a0ebb5d7 100644 --- a/src/lib-auth/password-scheme.c +++ b/src/lib-auth/password-scheme.c @@ -942,10 +942,6 @@ void password_schemes_init(void) strcasecmp); for (i = 0; i < N_ELEMENTS(builtin_schemes); i++) password_scheme_register(&builtin_schemes[i]); - password_scheme_register_crypt(); -#ifdef HAVE_LIBSODIUM - password_scheme_register_sodium(); -#endif } void password_schemes_deinit(void) diff --git a/src/lib-auth/password-scheme.h b/src/lib-auth/password-scheme.h index 7307a60fad..e45c7a981d 100644 --- a/src/lib-auth/password-scheme.h +++ b/src/lib-auth/password-scheme.h @@ -85,6 +85,9 @@ void password_scheme_register(const struct password_scheme *scheme); void password_scheme_unregister(const struct password_scheme *scheme); void password_schemes_init(void); +/* Calls password_schemes_init, the difference is that this + will attempt to register also crypt and sodium schemes. */ +void password_schemes_register_all(void); void password_schemes_allow_weak(bool allow); void password_schemes_deinit(void); diff --git a/src/lib-auth/test-password-scheme.c b/src/lib-auth/test-password-scheme.c index f4a7828485..ec24bf4b96 100644 --- a/src/lib-auth/test-password-scheme.c +++ b/src/lib-auth/test-password-scheme.c @@ -134,7 +134,7 @@ int main(void) test_password_failures, NULL }; - password_schemes_init(); + password_schemes_register_all(); password_schemes_allow_weak(TRUE); return test_run(test_functions); } -- 2.47.3