diff options
Diffstat (limited to 'source4/lib/credentials.c')
-rw-r--r-- | source4/lib/credentials.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/source4/lib/credentials.c b/source4/lib/credentials.c index cdef9042b8..4650fee1af 100644 --- a/source4/lib/credentials.c +++ b/source4/lib/credentials.c @@ -121,9 +121,13 @@ const char *cli_credentials_get_principal(struct cli_credentials *cred, TALLOC_C } if (cred->principal_obtained < cred->username_obtained) { - return talloc_asprintf(mem_ctx, "%s@%s", - cli_credentials_get_username(cred, mem_ctx), - cli_credentials_get_realm(cred)); + if (cred->domain_obtained > cred->realm_obtained) { + return NULL; + } else { + return talloc_asprintf(mem_ctx, "%s@%s", + cli_credentials_get_username(cred, mem_ctx), + cli_credentials_get_realm(cred)); + } } return talloc_reference(mem_ctx, cred->principal); } |