Mercurial > dovecot > core-2.2
diff src/auth/mech-rpa.c @ 3065:29d83a8bb50d HEAD
Reorganized the code to have less global/static variables.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 07 Jan 2005 21:55:49 +0200 |
parents | 2d33734b16d5 |
children | b01a8fa09f94 |
line wrap: on
line diff
--- a/src/auth/mech-rpa.c Fri Jan 07 20:51:10 2005 +0200 +++ b/src/auth/mech-rpa.c Fri Jan 07 21:55:49 2005 +0200 @@ -238,15 +238,6 @@ return len; } -static char * -rpa_parse_username(pool_t pool, const char *username) -{ - const char *p = strrchr(username, '@'); - - return p == NULL ? p_strdup(pool, username) : - p_strdup_until(pool, username, p); -} - static int rpa_parse_token3(struct rpa_auth_request *request, const void *data, size_t data_size, const char **error) @@ -274,10 +265,11 @@ } p += 2; - user = t_strndup(p, len); + user = t_strcut(t_strndup(p, len), '@'); p += len; - auth_request->user = rpa_parse_username(request->pool, user); + if (!auth_request_set_username(auth_request, user, error)) + return FALSE; request->username_ucs2be = ucs2be_str(request->pool, auth_request->user, &request->username_len); @@ -494,16 +486,8 @@ return; } - if (!mech_fix_username(auth_request->user, &error)) { - if (verbose) { - i_info("rpa(%s): %s", - get_log_prefix(auth_request), error); - } - auth_request_fail(auth_request); - return; - } - - passdb->lookup_credentials(auth_request, PASSDB_CREDENTIALS_RPA, + auth_request->auth->passdb-> + lookup_credentials(auth_request, PASSDB_CREDENTIALS_RPA, rpa_credentials_callback); }