return TRUE;
}
-static char *
+static const char *
auth_request_fix_username(struct auth_request *request, const char *username,
const char **error_r)
{
if (*set->default_realm != '\0' &&
strchr(username, '@') == NULL) {
- user = p_strconcat(request->pool, username, "@",
+ user = p_strconcat(unsafe_data_stack_pool, username, "@",
set->default_realm, NULL);
} else {
- user = p_strdup(request->pool, username);
+ user = t_strdup_noconst(username);
}
for (p = (unsigned char *)user; *p != '\0'; p++) {
"Failed to expand username_format=%s: %s",
set->username_format, error);
}
- user = p_strdup(request->pool, str_c(dest));
+ user = str_c_modifiable(dest);
}
if (user[0] == '\0') {
username = request->fields.user;
}
- request->fields.user = auth_request_fix_username(request, username, error_r);
+ request->fields.user = p_strdup(request->pool,
+ auth_request_fix_username(request, username, error_r));
if (request->fields.user == NULL)
return FALSE;
if (request->fields.translated_username == NULL) {
}
request->passdb = master_passdb;
- request->fields.requested_login_user =
- auth_request_fix_username(request, username, error_r);
+ request->fields.requested_login_user = p_strdup(request->pool,
+ auth_request_fix_username(request, username, error_r));
if (request->fields.requested_login_user == NULL)
return FALSE;