]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: auth-request - Use only mechanism name in auth_request_mechanism_accepted()
authorStephan Bosch <stephan.bosch@open-xchange.com>
Sat, 21 Oct 2023 01:11:38 +0000 (03:11 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 9 Oct 2025 08:41:22 +0000 (08:41 +0000)
src/auth/auth-request.c

index 876749104621e4c0dcccf1b5ee25dcf05325c731..3bcdca71d9ae239897d372d84cbc0e2da8258b87 100644 (file)
@@ -524,16 +524,15 @@ auth_request_save_cache(struct auth_request *request,
 }
 
 static bool
-auth_request_mechanism_accepted(const char *const *mechs,
-                               const struct sasl_server_mech_def *mech)
+auth_request_mechanism_accepted(const char *const *mechs, const char *mech_name)
 {
        /* no filter specified, anything goes */
        if (mechs == NULL) return TRUE;
        /* request has no mechanism, see if lookup is accepted */
-       if (mech == NULL)
+       if (mech_name == NULL)
                return str_array_icase_find(mechs, "lookup");
        /* check if request mechanism is accepted */
-       return str_array_icase_find(mechs, mech->name);
+       return str_array_icase_find(mechs, mech_name);
 }
 
 /**
@@ -579,7 +578,7 @@ auth_request_want_skip_passdb(struct auth_request *request,
 
        username = request->fields.user;
 
-       if (!auth_request_mechanism_accepted(mechs, request->mech)) {
+       if (!auth_request_mechanism_accepted(mechs, request->mech->name)) {
                e_debug(request->event, "skipping passdb: mechanism filtered");
                return TRUE;
        }