From: Stephan Bosch Date: Fri, 17 Mar 2023 00:43:56 +0000 (+0100) Subject: auth: sasl-server - Add sasl_server_request_initial() X-Git-Tag: 2.4.2~253 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=36a19a72a898611988d4a90874c843b979fcbf24;p=thirdparty%2Fdovecot%2Fcore.git auth: sasl-server - Add sasl_server_request_initial() --- diff --git a/src/auth/auth-sasl.c b/src/auth/auth-sasl.c index 48c42f1a2e..d33ed2ec42 100644 --- a/src/auth/auth-sasl.c +++ b/src/auth/auth-sasl.c @@ -168,7 +168,8 @@ void auth_sasl_request_deinit(struct auth_request *request) void auth_sasl_request_initial(struct auth_request *request) { - request->mech->auth_initial(request->sasl, request->initial_response, + sasl_server_request_initial(request->sasl, + request->initial_response, request->initial_response_len); } diff --git a/src/auth/sasl-server-request.c b/src/auth/sasl-server-request.c index d2b4112483..6d3559e3e7 100644 --- a/src/auth/sasl-server-request.c +++ b/src/auth/sasl-server-request.c @@ -41,6 +41,15 @@ void sasl_server_request_destroy(struct auth_request *request) mreq->mech->auth_free(mreq); } +void sasl_server_request_initial(struct sasl_server_mech_request *mreq, + const unsigned char *data, size_t data_size) +{ + const struct sasl_server_mech_def *mech = mreq->mech; + + i_assert(mech->auth_initial != NULL); + mech->auth_initial(mreq, data, data_size); +} + /* * Mechanism API */ diff --git a/src/auth/sasl-server.h b/src/auth/sasl-server.h index 57518ee0be..160ead1f17 100644 --- a/src/auth/sasl-server.h +++ b/src/auth/sasl-server.h @@ -4,6 +4,8 @@ #include "sasl-common.h" struct sasl_server_mech_def; +struct sasl_server_mech_request; +struct sasl_server_req_ctx; enum sasl_passdb_result_status { SASL_PASSDB_RESULT_INTERNAL_FAILURE = PASSDB_RESULT_INTERNAL_FAILURE, @@ -68,4 +70,7 @@ void sasl_server_request_create(struct auth_request *request, struct event *event_parent); void sasl_server_request_destroy(struct auth_request *request); +void sasl_server_request_initial(struct sasl_server_mech_request *mreq, + const unsigned char *data, size_t data_size); + #endif