From: Timo Sirainen Date: Tue, 14 Oct 2014 17:16:03 +0000 (-0700) Subject: auth: Check for empty username after doing all the username changes. X-Git-Tag: 2.2.15~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1323ac1fde7748dcdc446bd37957f44cd4575e19;p=thirdparty%2Fdovecot%2Fcore.git auth: Check for empty username after doing all the username changes. --- diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c index c841a06c9f..b9055518e7 100644 --- a/src/auth/auth-request.c +++ b/src/auth/auth-request.c @@ -1190,6 +1190,11 @@ auth_request_fix_username(struct auth_request *request, const char *username, request->user = old_username; } + if (user[0] == '\0') { + /* Some PAM plugins go nuts with empty usernames */ + *error_r = "Empty username"; + return FALSE; + } return user; } @@ -1206,11 +1211,6 @@ bool auth_request_set_username(struct auth_request *request, /* it does, set it. */ login_username = t_strdup_until(username, p); - if (*login_username == '\0') { - *error_r = "Empty login username"; - return FALSE; - } - /* username is the master user */ username = p + 1; } @@ -1228,12 +1228,6 @@ bool auth_request_set_username(struct auth_request *request, username = request->user; } - if (*username == '\0') { - /* Some PAM plugins go nuts with empty usernames */ - *error_r = "Empty username"; - return FALSE; - } - request->user = auth_request_fix_username(request, username, error_r); if (request->user == NULL) return FALSE;