From f33844b70b6712fd5b909b730c5b4da582c06b20 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 31 Aug 2020 18:52:44 +0200 Subject: auth:creds: Add cli_credentials_get_username_and_obtained() Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett --- auth/credentials/credentials.c | 20 ++++++++++++++++++++ auth/credentials/credentials.h | 2 ++ 2 files changed, 22 insertions(+) (limited to 'auth') diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c index 85fe03bdf94..ac2b42a669b 100644 --- a/auth/credentials/credentials.c +++ b/auth/credentials/credentials.c @@ -197,6 +197,26 @@ _PUBLIC_ const char *cli_credentials_get_username(struct cli_credentials *cred) return cred->username; } +/** + * @brief Obtain the username for this credentials context. + * + * @param[in] cred The credential context. + * + * @param[in] obtained A pointer to store the obtained information. + * + * return The user name or NULL if an error occured. + */ +_PUBLIC_ const char * +cli_credentials_get_username_and_obtained(struct cli_credentials *cred, + enum credentials_obtained *obtained) +{ + if (obtained != NULL) { + *obtained = cred->username_obtained; + } + + return cli_credentials_get_username(cred); +} + _PUBLIC_ bool cli_credentials_set_username(struct cli_credentials *cred, const char *val, enum credentials_obtained obtained) { diff --git a/auth/credentials/credentials.h b/auth/credentials/credentials.h index 1007d8e3d66..bea734f06dc 100644 --- a/auth/credentials/credentials.h +++ b/auth/credentials/credentials.h @@ -103,6 +103,8 @@ NTSTATUS cli_credentials_get_ntlm_response(struct cli_credentials *cred, TALLOC_ DATA_BLOB *_lm_session_key, DATA_BLOB *_session_key); const char *cli_credentials_get_realm(struct cli_credentials *cred); const char *cli_credentials_get_username(struct cli_credentials *cred); +const char *cli_credentials_get_username_and_obtained(struct cli_credentials *cred, + enum credentials_obtained *obtained); int cli_credentials_get_krb5_context(struct cli_credentials *cred, struct loadparm_context *lp_ctx, struct smb_krb5_context **smb_krb5_context); -- cgit v1.2.1