]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Use auth_request_init_userdb_reply() always for initializing userdb_reply
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 4 Aug 2020 11:26:08 +0000 (14:26 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 27 Aug 2020 06:20:17 +0000 (06:20 +0000)
src/auth/auth-request-fields.c
src/auth/auth-request.c

index 5be1a1211d0e89bd027b128ba9530fa71abd313e..a183b8e1768eef41df942055182254a01bfd3214 100644 (file)
@@ -246,7 +246,7 @@ bool auth_request_import(struct auth_request *request,
                auth_fields_add(fields->extra_fields, key+7, value, 0);
        else if (str_begins(key, "userdb_")) {
                if (fields->userdb_reply == NULL)
-                       fields->userdb_reply = auth_fields_init(request->pool);
+                       auth_request_init_userdb_reply(request, FALSE);
                auth_fields_add(fields->userdb_reply, key+7, value, 0);
        } else
                return FALSE;
index 755def330e4d5a2ea579dc3f64e28712925496c1..0310a8540ac7eb5cc53eada530d6abec10dfbc49 100644 (file)
@@ -1408,17 +1408,16 @@ static bool auth_request_lookup_user_cache(struct auth_request *request,
        if (*value == '\0') {
                /* negative cache entry */
                *result_r = USERDB_RESULT_USER_UNKNOWN;
-               request->fields.userdb_reply = auth_fields_init(request->pool);
+               auth_request_init_userdb_reply(request, FALSE);
                return TRUE;
        }
 
        /* We want to preserve any userdb fields set by the earlier passdb
           lookup, so initialize userdb_reply only if it doesn't exist.
-          Don't use auth_request_init_userdb_reply(), because the entire
-          userdb part of the result comes from the cache so we don't want to
-          initialize it with default_fields. */
+          Don't add userdb's default_fields, because the entire userdb part of
+          the result comes from the cache. */
        if (request->fields.userdb_reply == NULL)
-               request->fields.userdb_reply = auth_fields_init(request->pool);
+               auth_request_init_userdb_reply(request, FALSE);
        auth_request_userdb_import(request, value);
        *result_r = USERDB_RESULT_OK;
        return TRUE;