break;
case USERDB_RESULT_OK:
str_printfa(str, "USER\t%u\t", auth_request->id);
+ str_append_tabescaped(str, auth_request->user);
+ str_append_c(str, '\t');
str_append(str, auth_stream_reply_export(reply));
break;
}
auth_stream_reply_add(reply, NULL, dec2str(request->id));
break;
case USERDB_RESULT_OK:
- auth_stream_reply_add(reply, "USER", NULL);
- auth_stream_reply_add(reply, NULL, dec2str(request->id));
if (request->master_user != NULL &&
auth_stream_reply_find(request->userdb_reply,
"master_user") == NULL) {
"anonymous", NULL);
}
+ auth_stream_reply_add(reply, "USER", NULL);
+ auth_stream_reply_add(reply, NULL, dec2str(request->id));
+ auth_stream_reply_add(reply, NULL, request->user);
auth_stream_reply_import(reply,
auth_stream_reply_export(request->userdb_reply));
result == PASSDB_RESULT_OK);
}
-static void auth_request_userdb_reply_update_user(struct auth_request *request)
-{
- const char *str, *p;
-
- str = t_strdup(auth_stream_reply_export(request->userdb_reply));
-
- /* reset the reply and add the new username */
- auth_stream_reply_reset(request->userdb_reply);
- auth_stream_reply_add(request->userdb_reply, NULL, request->user);
-
- /* add the rest */
- p = strchr(str, '\t');
- if (p != NULL)
- auth_stream_reply_import(request->userdb_reply, p + 1);
-}
-
static bool auth_request_master_lookup_finish(struct auth_request *request)
{
struct auth_passdb *passdb;
request->master_user = request->user;
request->user = request->requested_login_user;
request->requested_login_user = NULL;
- if (request->userdb_reply != NULL)
- auth_request_userdb_reply_update_user(request);
request->skip_password_check = TRUE;
request->passdb_password = NULL;
"username changed %s -> %s",
request->user, new_value);
request->user = p_strdup(request->pool, new_value);
- if (request->userdb_reply != NULL)
- auth_request_userdb_reply_update_user(request);
}
return TRUE;
}
struct userdb_module *module = request->userdb->userdb;
request->userdb_reply = auth_stream_reply_init(request->pool);
- auth_stream_reply_add(request->userdb_reply, NULL, request->user);
-
userdb_template_export(module->default_fields_tmpl, request);
}