From: Timo Sirainen Date: Thu, 10 Feb 2022 15:12:09 +0000 (+0200) Subject: director: Fix handling auth_master_user_separator setting X-Git-Tag: 2.3.20~44 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a8f52eb73f35d399333eaf10ce94948b86c1e093;p=thirdparty%2Fdovecot%2Fcore.git 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. --- 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 */