summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2020-08-31 18:52:44 +0200
committerAndrew Bartlett <abartlet@samba.org>2021-04-28 03:43:34 +0000
commitf33844b70b6712fd5b909b730c5b4da582c06b20 (patch)
tree6c1f8b4a294fa8d485ce0cf46c720f266057650c /auth
parentf65a32fac10e2d96d95bddee37f12abea7036ba3 (diff)
downloadsamba-f33844b70b6712fd5b909b730c5b4da582c06b20.tar.gz
auth:creds: Add cli_credentials_get_username_and_obtained()
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rw-r--r--auth/credentials/credentials.c20
-rw-r--r--auth/credentials/credentials.h2
2 files changed, 22 insertions, 0 deletions
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);