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);
 }