aboutsummaryrefslogtreecommitdiff
path: root/lib/curl_sasl.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2014-08-14 00:03:45 +0100
committerSteve Holme <steve_holme@hotmail.com>2014-08-14 10:37:01 +0100
commit4b491c675fa6f73871a525620a23e1bb4a0e9dd3 (patch)
treee003702d72083620b1f5672632d78f01807607ad /lib/curl_sasl.c
parent3ec253532ebda3c4cfffaf3f82dec583ec24ec1a (diff)
sasl_sspi: Added GSSAPI message functions
Diffstat (limited to 'lib/curl_sasl.c')
-rw-r--r--lib/curl_sasl.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 1068dc8fe..8f6aab2e8 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -53,6 +53,10 @@
/* The last #include file should be: */
#include "memdebug.h"
+#if defined(USE_WINDOWS_SSPI)
+extern void Curl_sasl_gssapi_cleanup(struct kerberos5data *krb5);
+#endif
+
#if !defined(CURL_DISABLE_CRYPTO_AUTH) && !defined(USE_WINDOWS_SSPI)
#define DIGEST_QOP_VALUE_AUTH (1 << 0)
#define DIGEST_QOP_VALUE_AUTH_INT (1 << 1)
@@ -718,12 +722,17 @@ CURLcode Curl_sasl_create_xoauth2_message(struct SessionHandle *data,
*/
void Curl_sasl_cleanup(struct connectdata *conn, unsigned int authused)
{
+#if defined(USE_WINDOWS_SSPI)
+ /* Cleanup the gssapi structure */
+ if(authused == SASL_MECH_GSSAPI) {
+ Curl_sasl_gssapi_cleanup(&conn->krb5);
+ }
#ifdef USE_NTLM
/* Cleanup the ntlm structure */
- if(authused == SASL_MECH_NTLM) {
+ else if(authused == SASL_MECH_NTLM) {
Curl_ntlm_sspi_cleanup(&conn->ntlm);
}
- (void)conn;
+#endif
#else
/* Reserved for future use */
(void)conn;