dovecot-1.2: auth: digest-md5, rpa mechanisms no longer require ...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Sep 1 19:21:23 EEST 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/3c171f5eee8d
changeset: 9353:3c171f5eee8d
user: Timo Sirainen <tss at iki.fi>
date: Tue Sep 01 12:21:14 2009 -0400
description:
auth: digest-md5, rpa mechanisms no longer require the realm to be listed in auth_realms.
diffstat:
2 files changed, 2 insertions(+), 42 deletions(-)
src/auth/mech-digest-md5.c | 21 ---------------------
src/auth/mech-rpa.c | 23 ++---------------------
diffs (78 lines):
diff -r 8bf54859b19b -r 3c171f5eee8d src/auth/mech-digest-md5.c
--- a/src/auth/mech-digest-md5.c Mon Aug 31 19:44:39 2009 -0400
+++ b/src/auth/mech-digest-md5.c Tue Sep 01 12:21:14 2009 -0400
@@ -217,22 +217,6 @@ static bool verify_credentials(struct di
return TRUE;
}
-static bool verify_realm(struct digest_auth_request *request, const char *realm)
-{
- char *const *tmp;
-
- if (*realm == '\0')
- return TRUE;
-
- tmp = request->auth_request.auth->auth_realms;
- for (; *tmp != NULL; tmp++) {
- if (strcmp(realm, *tmp) == 0)
- return TRUE;
- }
-
- return FALSE;
-}
-
static bool parse_next(char **data, char **key, char **value)
{
/* @UNSAFE */
@@ -294,11 +278,6 @@ static bool auth_handle_response(struct
str_lcase(key);
if (strcmp(key, "realm") == 0) {
- if (!verify_realm(request, value)) {
- *error = t_strdup_printf("Invalid realm: %s",
- str_sanitize(value, MAX_REALM_LEN));
- return FALSE;
- }
if (request->auth_request.realm == NULL && *value != '\0')
request->auth_request.realm =
p_strdup(request->pool, value);
diff -r 8bf54859b19b -r 3c171f5eee8d src/auth/mech-rpa.c
--- a/src/auth/mech-rpa.c Mon Aug 31 19:44:39 2009 -0400
+++ b/src/auth/mech-rpa.c Tue Sep 01 12:21:14 2009 -0400
@@ -236,25 +236,6 @@ rpa_read_buffer(pool_t pool, const unsig
}
static bool
-rpa_verify_realm(struct rpa_auth_request *request, const char *realm)
-{
- const char *default_realm;
- char *const *tmp;
-
- tmp = request->auth_request.auth->auth_realms;
- for (; *tmp != NULL; tmp++) {
- if (strcasecmp(realm, *tmp) == 0)
- return TRUE;
- }
-
- default_realm = request->auth_request.auth->default_realm != NULL ?
- request->auth_request.auth->default_realm :
- my_hostname;
-
- return strcasecmp(realm, default_realm) == 0;
-}
-
-static bool
rpa_parse_token3(struct rpa_auth_request *request, const void *data,
size_t data_size, const char **error)
{
@@ -283,8 +264,8 @@ rpa_parse_token3(struct rpa_auth_request
user = t_strndup(p, len);
realm = strrchr(user, '@');
- if ((realm == NULL) || !rpa_verify_realm(request, realm + 1)) {
- *error = "invalid realm";
+ if (realm == NULL) {
+ *error = "missing realm";
return FALSE;
}
user = t_strdup_until(user, realm++);
More information about the dovecot-cvs
mailing list