From: Stephan Bosch Date: Mon, 23 Oct 2023 23:54:05 +0000 (+0200) Subject: auth: auth-sasl-mech-dovecot-token - Obtain access to the auth request through the... X-Git-Tag: 2.4.2~189 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=049eba178be11ff9ac21115342f3d3451a80a8d5;p=thirdparty%2Fdovecot%2Fcore.git auth: auth-sasl-mech-dovecot-token - Obtain access to the auth request through the sasl request --- diff --git a/src/auth/auth-sasl-mech-dovecot-token.c b/src/auth/auth-sasl-mech-dovecot-token.c index 0ef5d93971..b662c25d7c 100644 --- a/src/auth/auth-sasl-mech-dovecot-token.c +++ b/src/auth/auth-sasl-mech-dovecot-token.c @@ -13,6 +13,10 @@ static void mech_dovecot_token_auth_continue(struct sasl_server_mech_request *request, const unsigned char *data, size_t data_size) { + struct sasl_server_req_ctx *rctx = + sasl_server_request_get_req_ctx(request); + struct auth_request *auth_request = + container_of(rctx, struct auth_request, sasl.req); const char *session_id, *username, *pid, *service; char *auth_token; size_t i, len; @@ -56,7 +60,9 @@ mech_dovecot_token_auth_continue(struct sasl_server_mech_request *request, if (auth_token != NULL && str_equals_timing_almost_safe(auth_token, valid_token)) { - auth_request_set_field(request->request, "userdb_client_service", service, ""); + auth_request_set_field( + auth_request, "userdb_client_service", + service, ""); sasl_server_request_success(request, NULL, 0); } else { sasl_server_request_failure(request);