switch (authid_type) {
case SASL_SERVER_AUTHID_TYPE_USERNAME:
+ if (request->fields.realm != NULL &&
+ strchr(authid, '@') == NULL) {
+ authid = t_strconcat(
+ authid, "@", request->fields.realm, NULL);
+ request->domain_is_realm = TRUE;
+ }
if (!auth_request_set_username(request, authid, &error)) {
e_info(request->event, "%s", error);
return FALSE;
struct digest_auth_request *request =
container_of(auth_request, struct digest_auth_request,
auth_request);
- const char *username, *error;
+ const char *error;
if (!parse_digest_response(request, data, data_size, &error)) {
e_info(auth_request->mech_event, "%s", error);
return;
}
- if (auth_request->fields.realm != NULL &&
- strchr(request->username, '@') == NULL) {
- username = t_strconcat(request->username, "@",
- auth_request->fields.realm, NULL);
- auth_request->domain_is_realm = TRUE;
- } else {
- username = request->username;
- }
if (!sasl_server_request_set_authid(auth_request,
SASL_SERVER_AUTHID_TYPE_USERNAME,
- username)) {
+ request->username)) {
sasl_server_request_failure(auth_request);
return;
}