aboutsummaryrefslogtreecommitdiff
path: root/lib/curl_sasl_sspi.c
diff options
context:
space:
mode:
authorStefan Bühler <buehler@teamviewer.com>2015-11-12 11:09:21 +0100
committerSteve Holme <steve_holme@hotmail.com>2015-11-12 19:11:40 +0000
commitb6baa108fac4d5c251fd4951867444d7cb92fe96 (patch)
treec7f8a7d2a3a932f4e8a6befe5a29beee4e97c46b /lib/curl_sasl_sspi.c
parent88702ebb315a10a12f9cd1f3f0ffdaacc79adfb0 (diff)
sasl_sspi: fixed unicode build for digest authentication
Closes #525
Diffstat (limited to 'lib/curl_sasl_sspi.c')
-rw-r--r--lib/curl_sasl_sspi.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/curl_sasl_sspi.c b/lib/curl_sasl_sspi.c
index 3e2e49571..84fce9f24 100644
--- a/lib/curl_sasl_sspi.c
+++ b/lib/curl_sasl_sspi.c
@@ -418,6 +418,7 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data,
SECURITY_STATUS status;
unsigned long attrs;
TimeStamp expiry; /* For Windows 9x compatibility of SSPI calls */
+ TCHAR *spn;
(void) data;
@@ -489,12 +490,20 @@ CURLcode Curl_sasl_create_digest_http_message(struct SessionHandle *data,
resp_buf.pvBuffer = output_token;
resp_buf.cbBuffer = curlx_uztoul(token_max);
+ spn = Curl_convert_UTF8_to_tchar((char *) uripath);
+ if(!spn) {
+ free(output_token);
+
+ return CURLE_OUT_OF_MEMORY;
+ }
+
/* Generate our reponse message */
status = s_pSecFn->InitializeSecurityContext(&credentials, NULL,
- (TCHAR *) uripath,
+ spn,
ISC_REQ_USE_HTTP_STYLE, 0, 0,
&chlg_desc, 0, &context,
&resp_desc, &attrs, &expiry);
+ Curl_unicodefree(spn);
if(status == SEC_I_COMPLETE_NEEDED ||
status == SEC_I_COMPLETE_AND_CONTINUE)