From: Stephan Bosch Date: Sat, 4 Mar 2023 15:03:17 +0000 (+0100) Subject: auth: sasl-server - Add sasl_server_request_verify_plain() X-Git-Tag: 2.4.2~271 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5a440ab2fe0a012e2c818836b1f284dbd02d3a9;p=thirdparty%2Fdovecot%2Fcore.git auth: sasl-server - Add sasl_server_request_verify_plain() Wraps auth_request_verify_plain(). --- diff --git a/src/auth/sasl-server-mech-external.c b/src/auth/sasl-server-mech-external.c index 3b32774be9..1d481a83bf 100644 --- a/src/auth/sasl-server-mech-external.c +++ b/src/auth/sasl-server-mech-external.c @@ -35,7 +35,7 @@ mech_external_auth_continue(struct auth_request *request, "login user: %s", error); sasl_server_request_failure(request); } else { - auth_request_verify_plain( + sasl_server_request_verify_plain( request, "", sasl_server_mech_plain_verify_callback); } } diff --git a/src/auth/sasl-server-mech-login.c b/src/auth/sasl-server-mech-login.c index d7d3f0106d..bfb095e3b8 100644 --- a/src/auth/sasl-server-mech-login.c +++ b/src/auth/sasl-server-mech-login.c @@ -31,7 +31,7 @@ mech_login_auth_continue(struct auth_request *request, sasl_server_request_output(request, prompt2, strlen(prompt2)); } else { char *pass = p_strndup(unsafe_data_stack_pool, data, data_size); - auth_request_verify_plain( + sasl_server_request_verify_plain( request, pass, sasl_server_mech_plain_verify_callback); safe_memset(pass, 0, strlen(pass)); } diff --git a/src/auth/sasl-server-mech-plain.c b/src/auth/sasl-server-mech-plain.c index 79b0ad08e3..53c1a8299b 100644 --- a/src/auth/sasl-server-mech-plain.c +++ b/src/auth/sasl-server-mech-plain.c @@ -55,7 +55,7 @@ mech_plain_auth_continue(struct auth_request *request, "login user: %s", error); sasl_server_request_failure(request); } else { - auth_request_verify_plain( + sasl_server_request_verify_plain( request, pass, sasl_server_mech_plain_verify_callback); } diff --git a/src/auth/sasl-server-protected.h b/src/auth/sasl-server-protected.h index 4bfbf5dbe7..ed9060b48b 100644 --- a/src/auth/sasl-server-protected.h +++ b/src/auth/sasl-server-protected.h @@ -76,4 +76,8 @@ void sasl_server_request_failure_with_reply(struct auth_request *request, void sasl_server_request_failure(struct auth_request *request); void sasl_server_request_internal_failure(struct auth_request *request); +void sasl_server_request_verify_plain( + struct auth_request *request, const char *password, + sasl_server_verify_plain_callback_t *callback); + #endif diff --git a/src/auth/sasl-server-request.c b/src/auth/sasl-server-request.c index 222cc85690..29dc3fc392 100644 --- a/src/auth/sasl-server-request.c +++ b/src/auth/sasl-server-request.c @@ -63,3 +63,10 @@ void sasl_server_request_internal_failure(struct auth_request *request) SASL_SERVER_OUTPUT_INTERNAL_FAILURE, "", 0); } + +void sasl_server_request_verify_plain( + struct auth_request *request, const char *password, + sasl_server_verify_plain_callback_t *callback) +{ + auth_sasl_request_verify_plain(request, password, callback); +} diff --git a/src/auth/sasl-server.h b/src/auth/sasl-server.h index 423ca2ea6a..9ad7b83940 100644 --- a/src/auth/sasl-server.h +++ b/src/auth/sasl-server.h @@ -29,6 +29,8 @@ enum sasl_server_output_status { SASL_SERVER_OUTPUT_SUCCESS = 1, }; +typedef verify_plain_callback_t sasl_server_verify_plain_callback_t; + struct sasl_server_output { enum sasl_server_output_status status;