Quagmire reported that he needed to raise a NTLM buffer for SSPI to work
authorDaniel Stenberg <daniel@haxx.se>
Mon, 14 Nov 2005 22:10:52 +0000 (22:10 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 14 Nov 2005 22:10:52 +0000 (22:10 +0000)
properly for a case, and so we did. We raised it even for non-SSPI builds
but it should not do any harm. http://curl.haxx.se/bug/view.cgi?id=1356715

CHANGES
lib/http_ntlm.c

diff --git a/CHANGES b/CHANGES
index a77ca71..1cc1088 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,10 @@
 
 
 Daniel (14 November 2005)
+- Quagmire reported that he needed to raise a NTLM buffer for SSPI to work
+  properly for a case, and so we did. We raised it even for non-SSPI builds
+  but it should not do any harm. http://curl.haxx.se/bug/view.cgi?id=1356715
+
 - Jan Kunder's debian bug report
   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338680 identified a weird
   error message for when you try to upload a file and the requested directory
index 1d40434..816a4fc 100644 (file)
@@ -342,7 +342,7 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
 #endif
   size_t size;
   char *base64=NULL;
-  unsigned char ntlmbuf[256]; /* enough, unless the host/domain is very long */
+  unsigned char ntlmbuf[512]; /* enough, unless the host/domain is very long */
 
   /* point to the address of the pointer that holds the string to sent to the
      server, which is for a plain host or for a HTTP proxy */
@@ -477,13 +477,15 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
     buf.BufferType = SECBUFFER_TOKEN;
     buf.pvBuffer   = ntlmbuf;
 
-    status = s_pSecFn->InitializeSecurityContext(&ntlm->handle, NULL, (char *) host,
-                                       ISC_REQ_CONFIDENTIALITY |
-                                       ISC_REQ_REPLAY_DETECT |
-                                       ISC_REQ_CONNECTION,
-                                       0, SECURITY_NETWORK_DREP, NULL, 0,
-                                       &ntlm->c_handle, &desc, &attrs, &tsDummy
-      );
+    status = s_pSecFn->InitializeSecurityContext(&ntlm->handle, NULL,
+                                                 (char *) host,
+                                                 ISC_REQ_CONFIDENTIALITY |
+                                                 ISC_REQ_REPLAY_DETECT |
+                                                 ISC_REQ_CONNECTION,
+                                                 0, SECURITY_NETWORK_DREP,
+                                                 NULL, 0,
+                                                 &ntlm->c_handle, &desc,
+                                                 &attrs, &tsDummy);
 
     if (status == SEC_I_COMPLETE_AND_CONTINUE ||
         status == SEC_I_CONTINUE_NEEDED) {