]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: sasl-server-request - Add request free callback
authorStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 30 Oct 2023 03:52:31 +0000 (04:52 +0100)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 9 Oct 2025 08:41:22 +0000 (08:41 +0000)
Mostly for completenes; it is not currently used.

src/auth/sasl-server-request.c
src/auth/sasl-server.h

index 58b34419a63b13f1d3d276e8b893619257a2b85e..5f434130e02d14ac6517cacdced507c114030bc2 100644 (file)
@@ -89,12 +89,15 @@ void sasl_server_mech_request_unref(struct sasl_server_mech_request **_mreq)
 
        struct sasl_server_instance *sinst = req->sinst;
        struct sasl_server *server = sinst->server;
+       const struct sasl_server_request_funcs *funcs = server->funcs;
 
        i_assert(sinst->requests > 0);
        sinst->requests--;
        i_assert(server->requests > 0);
        server->requests--;
 
+       if (funcs->request_free != NULL && req->rctx != NULL)
+               funcs->request_free(req->rctx);
        if (mreq->mech->def->funcs->auth_free != NULL)
                mreq->mech->def->funcs->auth_free(mreq);
 
index 44810add985b3686eb910a6e2cf55682df2ef502..0efb15407e469b5a37b72697d935900fdee07bae 100644 (file)
@@ -143,6 +143,8 @@ struct sasl_server_request_funcs {
                struct sasl_server_req_ctx *rctx,
                const char *scheme, const char *data,
                sasl_server_passdb_callback_t *callback);
+
+       void (*request_free)(struct sasl_server_req_ctx *rctx);
 };
 
 void sasl_server_request_create(struct sasl_server_req_ctx *rctx,