else if (strcmp(key, "original-username") == 0)
fields->original_username = p_strdup(request->pool, value);
else if (strcmp(key, "requested-login-user") == 0)
- fields->requested_login_user = p_strdup(request->pool, value);
+ auth_request_set_login_username_forced(request, value);
else if (strcmp(key, "successful") == 0)
auth_request_set_auth_successful(request);
else if (strcmp(key, "skip-password-check") == 0)
request->fields.user = p_strdup(request->pool, username);
}
+void auth_request_set_login_username_forced(struct auth_request *request,
+ const char *username)
+{
+ i_assert(username != NULL);
+
+ request->fields.requested_login_user =
+ p_strdup(request->pool, username);
+}
+
bool auth_request_set_login_username(struct auth_request *request,
const char *username,
const char **error_r)
request->fields.requested_login_user = NULL;
return FALSE;
}
- request->fields.requested_login_user =
- p_strdup(request->pool, username);
+ auth_request_set_login_username_forced(request, username);
e_debug(request->event,
"%sMaster user lookup for login: %s",
/* don't change the original value so it gets saved correctly
to cache. */
} else if (strcmp(name, "login_user") == 0) {
- request->fields.requested_login_user =
- p_strdup(request->pool, value);
+ auth_request_set_login_username_forced(request, value);
} else if (strcmp(name, "allow_nets") == 0) {
auth_request_validate_networks(request, name, value,
&request->fields.remote_ip);
bool auth_request_set_login_username(struct auth_request *request,
const char *username,
const char **error_r);
+/* Change the login username without any translations or checks. */
+void auth_request_set_login_username_forced(struct auth_request *request,
+ const char *username);
void auth_request_set_realm(struct auth_request *request, const char *realm);
/* Request was fully successfully authenticated, including policy checks etc. */
void auth_request_set_auth_successful(struct auth_request *request);