From a8f52eb73f35d399333eaf10ce94948b86c1e093 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Thu, 10 Feb 2022 17:12:09 +0200 Subject: [PATCH] director: Fix handling auth_master_user_separator setting It was actually using a separate master_user_separator setting, causing logins based on auth_master_user_separator to be hashed to wrong backends. --- src/director/director-settings.c | 4 ++-- src/director/director-settings.h | 2 +- src/director/login-connection.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/director/director-settings.c b/src/director/director-settings.c index f74d68354d..10f2f9ec51 100644 --- a/src/director/director-settings.c +++ b/src/director/director-settings.c @@ -64,7 +64,7 @@ struct service_settings director_service_settings = { SETTING_DEFINE_STRUCT_##type(#name, name, struct director_settings) static const struct setting_define director_setting_defines[] = { - DEF(STR, master_user_separator), + DEF(STR, auth_master_user_separator), DEF(STR, director_servers), DEF(STR, director_mail_servers), @@ -82,7 +82,7 @@ static const struct setting_define director_setting_defines[] = { }; const struct director_settings director_default_settings = { - .master_user_separator = "", + .auth_master_user_separator = "", .director_servers = "", .director_mail_servers = "", diff --git a/src/director/director-settings.h b/src/director/director-settings.h index 363d48c142..2c5fff65ec 100644 --- a/src/director/director-settings.h +++ b/src/director/director-settings.h @@ -4,7 +4,7 @@ #include "net.h" struct director_settings { - const char *master_user_separator; + const char *auth_master_user_separator; const char *director_servers; const char *director_mail_servers; diff --git a/src/director/login-connection.c b/src/director/login-connection.c index 78de3b9372..8156078225 100644 --- a/src/director/login-connection.c +++ b/src/director/login-connection.c @@ -247,11 +247,11 @@ static void auth_input_line(const char *line, void *context) login_connection_send_line(conn, line); return; } - if (*conn->dir->set->master_user_separator != '\0') { + if (*conn->dir->set->auth_master_user_separator != '\0') { /* with master user logins we still want to use only the login username */ username = t_strcut(username, - *conn->dir->set->master_user_separator); + *conn->dir->set->auth_master_user_separator); } /* we need to add the host. the lookup might be asynchronous */ -- 2.47.3