]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
urldata: Introduced a GSSAPI (Kerberos V5) data structure
authorSteve Holme <steve_holme@hotmail.com>
Sun, 10 Aug 2014 12:58:44 +0000 (13:58 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Thu, 14 Aug 2014 00:29:12 +0000 (01:29 +0100)
Added a kerberos5data structure which is similar in nature to the
ntlmdata and negotiatedata structures.

lib/urldata.h

index 0fbcf74513ccdc5d9ebb66ce1b6a05295b61493b..fca47cef5e21d96c055ff8c6b4c1f261f59a9e0c 100644 (file)
@@ -425,6 +425,19 @@ typedef enum {
 #include <iconv.h>
 #endif
 
+/* Struct used for GSSAPI (Kerberos V5) authentication */
+#if defined(USE_WINDOWS_SSPI)
+struct kerberos5data {
+  CredHandle *credentials;
+  CtxtHandle *context;
+  TCHAR *spn;
+  SEC_WINNT_AUTH_IDENTITY identity;
+  SEC_WINNT_AUTH_IDENTITY *p_identity;
+  size_t token_max;
+  BYTE *output_token;
+};
+#endif;
+
 /* Struct used for NTLM challenge-response authentication */
 struct ntlmdata {
   curlntlm state;
@@ -973,6 +986,10 @@ struct connectdata {
   struct sockaddr_in local_addr;
 #endif
 
+#if defined(USE_WINDOWS_SSPI) /* Consider moving some of the above GSS-API */
+  struct kerberos5data krb5;  /* variables into the structure definition, */
+#endif                        /* however, some of them are ftp specific. */
+
   /* the two following *_inuse fields are only flags, not counters in any way.
      If TRUE it means the channel is in use, and if FALSE it means the channel
      is up for grabs by one. */