From: Stephan Bosch Date: Mon, 23 Oct 2023 23:34:52 +0000 (+0200) Subject: auth: sasl-server-request - Add sasl_server_request_get_req_ctx() X-Git-Tag: 2.4.2~191 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78186132680fe3c10b9c5fd056286a7c57496a9d;p=thirdparty%2Fdovecot%2Fcore.git auth: sasl-server-request - Add sasl_server_request_get_req_ctx() --- diff --git a/src/auth/sasl-server-protected.h b/src/auth/sasl-server-protected.h index 08d4d90fd8..ea50817ec2 100644 --- a/src/auth/sasl-server-protected.h +++ b/src/auth/sasl-server-protected.h @@ -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 diff --git a/src/auth/sasl-server-request.c b/src/auth/sasl-server-request.c index 26d7a12f26..54bc29b889 100644 --- a/src/auth/sasl-server-request.c +++ b/src/auth/sasl-server-request.c @@ -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; +}