From 4f8ff3a567d6318c71b0960345592224721c9594 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Thu, 7 Aug 2025 13:32:47 +0200 Subject: [PATCH] auth:creds: Also uppercase realm set via a callback BUG: https://bugzilla.samba.org/show_bug.cgi?id=15893 Signed-off-by: Andreas Schneider Reviewed-by: Alexander Bokovoy --- auth/credentials/credentials.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index 5588a355c74..a558aada67c 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -912,9 +912,20 @@ _PUBLIC_ const char *cli_credentials_get_realm(struct cli_credentials *cred) if (cred->realm_obtained == CRED_CALLBACK && !cred->callback_running) { + const char *realm = NULL; + cred->callback_running = true; - cred->realm = cred->realm_cb(cred); + realm = cred->realm_cb(cred); cred->callback_running = false; + + cred->realm = NULL; + if (realm != NULL) { + cred->realm = strupper_talloc(cred, realm); + if (cred->realm == NULL) { + return NULL; + } + } + if (cred->realm_obtained == CRED_CALLBACK) { cred->realm_obtained = CRED_CALLBACK_RESULT; cli_credentials_invalidate_ccache(cred, cred->realm_obtained); -- 2.47.3