Mercurial > dovecot > core-2.2
diff src/auth/auth-request.h @ 4030:faf83f3e19b5 HEAD
Added support for "master users" who can log in as other people. Currently works only with SASL PLAIN authentication by giving it authorization ID string.
author | Timo Sirainen <timo.sirainen@movial.fi> |
---|---|
date | Mon, 20 Feb 2006 15:14:58 +0200 |
parents | 40a461d554e6 |
children | 7dbfff239206 |
line wrap: on
line diff
--- a/src/auth/auth-request.h Sat Feb 18 14:14:32 2006 +0200 +++ b/src/auth/auth-request.h Mon Feb 20 15:14:58 2006 +0200 @@ -21,7 +21,13 @@ pool_t pool; enum auth_request_state state; - char *user; + /* user contains the user who is being authenticated. + When master user is logging in as someone else, it gets more + complicated. Initially user is set to master's username and the + requested_login_user is set to destination username. After masterdb + has validated user as a valid master user, master_user is set to + user and user is set to requested_login_user. */ + char *user, *requested_login_user, *master_user; char *mech_password; /* set if verify_plain() is called */ char *passdb_password; /* set after password lookup if successful */ struct auth_stream_reply *extra_fields; @@ -58,6 +64,7 @@ unsigned int no_failure_delay:1; unsigned int no_login:1; unsigned int no_password:1; + unsigned int skip_password_check:1; unsigned int proxy:1; unsigned int cert_username:1; @@ -96,6 +103,9 @@ bool auth_request_set_username(struct auth_request *request, const char *username, const char **error_r); +bool auth_request_set_login_username(struct auth_request *request, + const char *username, + const char **error_r); void auth_request_set_field(struct auth_request *request, const char *name, const char *value,