From ca9ddb31f594f970721dea96669f1cdec10002bb Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Sat, 28 Oct 2023 00:23:09 +0200 Subject: [PATCH] auth: sasl-server-mech-digest-md5 - Migrate the mech_digest_test_set_nonce() function to sasl-server This is the last dependency on the old auth environment. --- src/auth/Makefile.am | 1 - src/auth/mech-digest-md5-private.h | 9 --------- src/auth/sasl-server-mech-digest-md5.c | 16 +++++++++------- src/auth/sasl-server.h | 2 ++ src/auth/test-mech.c | 4 ++-- 5 files changed, 13 insertions(+), 19 deletions(-) delete mode 100644 src/auth/mech-digest-md5-private.h diff --git a/src/auth/Makefile.am b/src/auth/Makefile.am index 5d8740dc60..b45df4c3b6 100644 --- a/src/auth/Makefile.am +++ b/src/auth/Makefile.am @@ -183,7 +183,6 @@ headers = \ db-passwd-file.h \ db-oauth2.h \ mech-otp.h \ - mech-digest-md5-private.h \ sasl-server.h \ sasl-server-gssapi.h \ sasl-server-oauth2.h \ diff --git a/src/auth/mech-digest-md5-private.h b/src/auth/mech-digest-md5-private.h deleted file mode 100644 index 00f69f14c5..0000000000 --- a/src/auth/mech-digest-md5-private.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef MECH_DIGEST_MD5_PRIVATE_H -#define MECH_DIGEST_MD5_PRIVATE_H - -#include "auth-request.h" - -void mech_digest_test_set_nonce(struct auth_request *auth_request, - const char *nonce); - -#endif diff --git a/src/auth/sasl-server-mech-digest-md5.c b/src/auth/sasl-server-mech-digest-md5.c index 339f569da1..305e3d48dc 100644 --- a/src/auth/sasl-server-mech-digest-md5.c +++ b/src/auth/sasl-server-mech-digest-md5.c @@ -6,14 +6,14 @@ #include "base64.h" #include "buffer.h" #include "hex-binary.h" -#include "mech-digest-md5-private.h" #include "md5.h" #include "randgen.h" #include "str.h" #include "str-sanitize.h" #include "settings-parser.h" +#include "password-scheme.h" -#include "sasl-server-private.h" // FIXME: Use protected API only +#include "sasl-server-protected.h" /* Linear whitespace */ #define IS_LWS(c) ((c) == ' ' || (c) == '\t') @@ -627,13 +627,15 @@ void sasl_server_mech_register_digest_md5(struct sasl_server_instance *sinst) sasl_server_mech_register(sinst, &mech_digest_md5); } -void mech_digest_test_set_nonce(struct auth_request *auth_request, - const char *nonce) +void sasl_server_mech_digest_md5_test_set_nonce( + struct sasl_server_req_ctx *rctx, const char *nonce) { + struct sasl_server_mech_request *auth_request = + sasl_server_request_get_mech_request(rctx); struct digest_auth_request *request = - container_of(auth_request->sasl.req.request->mech, - struct digest_auth_request, auth_request); + container_of(auth_request, struct digest_auth_request, + auth_request); - i_assert(request->auth_request.mech->def == &mech_digest_md5); + i_assert(auth_request->mech->def == &mech_digest_md5); request->nonce = p_strdup(auth_request->pool, nonce); } diff --git a/src/auth/sasl-server.h b/src/auth/sasl-server.h index 67aff3d942..d57cedd1c5 100644 --- a/src/auth/sasl-server.h +++ b/src/auth/sasl-server.h @@ -166,6 +166,8 @@ sasl_server_request_has_failed(const struct sasl_server_req_ctx *rctx); // FIXME: get rid of this void sasl_server_request_test_set_authid(struct sasl_server_req_ctx *rctx, const char *authid); +void sasl_server_mech_digest_md5_test_set_nonce( + struct sasl_server_req_ctx *rctx, const char *nonce); /* * Mechanism definitions diff --git a/src/auth/test-mech.c b/src/auth/test-mech.c index 692c346568..b1a177103f 100644 --- a/src/auth/test-mech.c +++ b/src/auth/test-mech.c @@ -10,7 +10,6 @@ #include "auth-request.h" #include "auth-request-handler-private.h" #include "auth-settings.h" -#include "mech-digest-md5-private.h" #include "auth-token.h" #include @@ -147,7 +146,8 @@ test_mech_handle_challenge(struct auth_request *request, str_append(out, "testuser b913a602c7eda7a495b4e6e7334d3890"); } else if (strcmp(request->fields.mech_name, SASL_MECH_NAME_DIGEST_MD5) == 0) { - mech_digest_test_set_nonce(request, "OA6MG9tEQGm2hh"); + sasl_server_mech_digest_md5_test_set_nonce( + &request->sasl.req, "OA6MG9tEQGm2hh"); } auth_request_continue(request, out->data, out->used); } -- 2.47.3