]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: sasl-server-request - Add sasl_server_request_get_req_ctx()
authorStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 23 Oct 2023 23:34:52 +0000 (01:34 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 9 Oct 2025 08:41:22 +0000 (08:41 +0000)
src/auth/sasl-server-protected.h
src/auth/sasl-server-request.c

index 08d4d90fd8ce29b5582c3a5d88b32b86043d5f5d..ea50817ec2d1587d13d4a777e252ed29203325a0 100644 (file)
@@ -152,5 +152,11 @@ void sasl_server_request_set_credentials(
 */
 struct sasl_server_mech_request *
 sasl_server_request_get_mech_request(struct sasl_server_req_ctx *rctx);
+/* Obtains the request context struct (public) from the mechanism request
+   struct (protected). This can be used to create SASL mechanisms that have
+   broader access to the application. This is normally not needed and should
+   only be used for custom mechanisms for internal use. */
+struct sasl_server_req_ctx *
+sasl_server_request_get_req_ctx(struct sasl_server_mech_request *mreq);
 
 #endif
index 26d7a12f262d50fe04e209bbafee2a2bf19da549..54bc29b889521220418ba644a79f37a336cde06d 100644 (file)
@@ -534,3 +534,10 @@ sasl_server_request_get_mech_request(struct sasl_server_req_ctx *rctx)
 {
        return rctx->request->mech;
 }
+
+struct sasl_server_req_ctx *
+sasl_server_request_get_req_ctx(struct sasl_server_mech_request *mreq)
+{
+       i_assert(mreq->req->rctx != NULL);
+       return mreq->req->rctx;
+}