summaryrefslogtreecommitdiff
path: root/include/git2/transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/git2/transport.h')
-rw-r--r--include/git2/transport.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/include/git2/transport.h b/include/git2/transport.h
index 81ebf4dc9..fe4883f99 100644
--- a/include/git2/transport.h
+++ b/include/git2/transport.h
@@ -31,13 +31,16 @@ GIT_BEGIN_DECL
/** Authentication type requested */
typedef enum {
/* git_cred_userpass_plaintext */
- GIT_CREDTYPE_USERPASS_PLAINTEXT = (1u << 0),
+ GIT_CREDTYPE_USERPASS_PLAINTEXT = (1u << 0),
/* git_cred_ssh_key */
GIT_CREDTYPE_SSH_KEY = (1u << 1),
/* git_cred_ssh_custom */
- GIT_CREDTYPE_SSH_CUSTOM = (1u << 2),
+ GIT_CREDTYPE_SSH_CUSTOM = (1u << 2),
+
+ /* git_cred_default */
+ GIT_CREDTYPE_DEFAULT = (1u << 3),
} git_credtype_t;
/* The base structure for all credential types */
@@ -48,7 +51,7 @@ struct git_cred {
void (*free)(git_cred *cred);
};
-/* A plaintext username and password */
+/** A plaintext username and password */
typedef struct {
git_cred parent;
char *username;
@@ -84,6 +87,9 @@ typedef struct git_cred_ssh_custom {
void *sign_data;
} git_cred_ssh_custom;
+/** A key for NTLM/Kerberos "default" credentials */
+typedef struct git_cred git_cred_default;
+
/**
* Check whether a credential object contains username information.
*
@@ -151,6 +157,14 @@ GIT_EXTERN(int) git_cred_ssh_custom_new(
void *sign_data);
/**
+ * Create a "default" credential usable for Negotiate mechanisms like NTLM
+ * or Kerberos authentication.
+ *
+ * @return 0 for success or an error code for failure
+ */
+GIT_EXTERN(int) git_cred_default_new(git_cred **out);
+
+/**
* Signature of a function which acquires a credential object.
*
* @param cred The newly created credential object.