dovecot-2.0: auth: Master user login + prefetch userdb changed u...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Dec 7 04:00:48 EET 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/f9d34d929c3f
changeset: 12520:f9d34d929c3f
user: Timo Sirainen <tss at iki.fi>
date: Tue Dec 07 02:00:45 2010 +0000
description:
auth: Master user login + prefetch userdb changed username to master user.
diffstat:
src/auth/auth-request.c | 34 ++++++++++++++++++----------------
1 files changed, 18 insertions(+), 16 deletions(-)
diffs (58 lines):
diff -r 6a48a361c63f -r f9d34d929c3f src/auth/auth-request.c
--- a/src/auth/auth-request.c Tue Dec 07 01:50:43 2010 +0000
+++ b/src/auth/auth-request.c Tue Dec 07 02:00:45 2010 +0000
@@ -354,6 +354,22 @@
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;
@@ -368,6 +384,8 @@
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;
@@ -1079,22 +1097,6 @@
auth_stream_reply_add(request->extra_fields, name, value);
}
-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 const char *
get_updated_username(const char *old_username,
const char *name, const char *value)
More information about the dovecot-cvs
mailing list