From: Andreas Schneider Date: Thu, 7 Aug 2025 11:32:47 +0000 (+0200) Subject: auth:creds: Also uppercase realm set via a callback X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f8ff3a567d6318c71b0960345592224721c9594;p=thirdparty%2Fsamba.git 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 --- 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);