auth:creds: Add cli_credentials_get_username_and_obtained()
authorAndreas Schneider <asn@samba.org>
Mon, 31 Aug 2020 16:52:44 +0000 (18:52 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 28 Apr 2021 03:43:34 +0000 (03:43 +0000)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
auth/credentials/credentials.c
auth/credentials/credentials.h

index 85fe03bdf947f4587ff693055afd2c7dddad3618..ac2b42a669ba0523571933a74609fad5fb565b42 100644 (file)
@@ -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)
 {
index 1007d8e3d668f58b502b9679d1aaf57a9e46809e..bea734f06dc09a0924df2c3bf5dcebf3ba9389e8 100644 (file)
@@ -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);