]> granicus.if.org Git - curl/commitdiff
NTLM2 session response support
authorDaniel Stenberg <daniel@haxx.se>
Wed, 7 Jun 2006 14:14:04 +0000 (14:14 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 7 Jun 2006 14:14:04 +0000 (14:14 +0000)
25 files changed:
CHANGES
RELEASE-NOTES
lib/http_ntlm.c
lib/ssluse.c
lib/ssluse.h
tests/data/test150
tests/data/test155
tests/data/test159
tests/data/test162
tests/data/test169
tests/data/test170
tests/data/test176
tests/data/test209
tests/data/test213
tests/data/test239
tests/data/test243
tests/data/test265
tests/data/test267
tests/data/test67
tests/data/test68
tests/data/test69
tests/data/test81
tests/data/test89
tests/data/test90
tests/data/test91

diff --git a/CHANGES b/CHANGES
index 009a43f7e8b4f334896d4430cec71ed6b842a242..bb1372cc6d54eaf1c12a9a1cf6c31909b77d6ccf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
 
                                   Changelog
 
+Daniel (7 June 2006)
+- Mikael Sennerholm provided a patch that added NTLM2 session response support
+  to libcurl. The 21 NTLM test cases were again modified to comply...
+
 Daniel (27 May 2006)
 - Óscar Morales Vivó updated the libcurl.framework.make file.
 
index 2b4083599758f81061f6f4496225d4fc95120c9f..cc1d282044ea2db4769a4bb39dda975fe9cc8b65 100644 (file)
@@ -5,12 +5,13 @@ Curl and libcurl 7.15.4
  Available command line options:           112
  Available curl_easy_setopt() options:     132
  Number of public functions in libcurl:    49
- Amount of public web site mirrors:        32
+ Amount of public web site mirrors:        33
  Number of known libcurl bindings:         32
  Number of contributors:                   492
 
 This release includes the following changes:
 
+ o NTLM2 session response support
  o CURLOPT_COOKIELIST set to "SESS" clears all session cookies
  o CURLINFO_LASTSOCKET returned sockets are now checked more before returned
  o curl-config got a --checkfor option to compare version numbers
@@ -46,13 +47,17 @@ This release includes the following bugfixes:
  o TFTP transfers could trash data
  o -d + -G combo crash
 
-Other curl-related news since the previous public release:
+Other curl-related news:
 
- o http://curl.de-mirror.de/ is a new mirror in Aachen, Germany
- o http://curl.osmirror.nl/ is a new mirror in Amsterdam, the Netherlands
  o tclcurl 0.15.3 was released:
    http://personal1.iddeo.es/andresgarci/tclcurl/english/
- o http://curl.usphp.com/ is a new mirror in Florida, US
+
+New curl mirrors:
+
+ o http://curl.webdesign-zdg.de/ in Frankfurt, Germany
+ o http://curl.de-mirror.de/ in Aachen, Germany
+ o http://curl.osmirror.nl/ in Amsterdam, the Netherlands
+ o http://curl.usphp.com/ in Florida, US
 
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
@@ -60,6 +65,6 @@ advice from friends like these:
  Dan Fandrich, Ilja van Sprundel, David McCreedy, Tor Arntsen, Xavier Bouchoux,
  David Byron, Michele Bini, Ates Goral, Katie Wang, Robson Braga Araujo,
  Ale Vesely, Paul Querna, Gisle Vanem, Mark Eichin, Roland Blom, Andreas
- Ntaflos, David Shaw, Michael Wallner, Olaf Stüben
+ Ntaflos, David Shaw, Michael Wallner, Olaf Stüben, Mikael Sennerholm
 
         Thanks! (and sorry if I forgot to mention someone)
index 2dc293d9b761b6cbd5211a25962f8f8aaffacba8..01f049f242ae8ec022b16a09a356a71b0730e03b 100644 (file)
@@ -51,6 +51,7 @@
 #include "http_ntlm.h"
 #include "url.h"
 #include "memory.h"
+#include "ssluse.h"
 
 #define _MPRINTF_REPLACE /* use our functions only */
 #include <curl/mprintf.h>
@@ -59,7 +60,9 @@
 
 #include <openssl/des.h>
 #include <openssl/md4.h>
+#include <openssl/md5.h>
 #include <openssl/ssl.h>
+#include <openssl/rand.h>
 
 #if OPENSSL_VERSION_NUMBER < 0x00907001L
 #define DES_key_schedule des_key_schedule
@@ -94,6 +97,10 @@ static PSecurityFunctionTable s_pSecFn = NULL;
 /* Define this to make the type-3 message include the NT response message */
 #define USE_NTRESPONSES 1
 
+/* Define this to make the type-3 message include the NTLM2Session response
+   message, requires USE_NTRESPONSES. */
+#define USE_NTLM2SESSION 1
+
 #ifndef USE_WINDOWS_SSPI
 /* this function converts from the little endian format used in the incoming
    package to whatever endian format we're using natively */
@@ -630,7 +637,11 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
     32    start of data block
 
     */
-
+#if USE_NTLM2SESSION
+#define NTLM2FLAG NTLMFLAG_NEGOTIATE_NTLM2_KEY
+#else
+#define NTLM2FLAG 0
+#endif
     snprintf((char *)ntlmbuf, sizeof(ntlmbuf), "NTLMSSP%c"
              "\x01%c%c%c" /* 32-bit type = 1 */
              "%c%c%c%c"   /* 32-bit NTLM flag field */
@@ -651,6 +662,7 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
                NTLMFLAG_NEGOTIATE_OEM|
                NTLMFLAG_REQUEST_TARGET|
                NTLMFLAG_NEGOTIATE_NTLM_KEY|
+               NTLM2FLAG|
                NTLMFLAG_NEGOTIATE_ALWAYS_SIGN
                ),
              SHORTPAIR(domlen),
@@ -672,15 +684,18 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
               LONGQUARTET(NTLMFLAG_NEGOTIATE_OEM|
                           NTLMFLAG_REQUEST_TARGET|
                           NTLMFLAG_NEGOTIATE_NTLM_KEY|
+                          NTLM2FLAG|
                           NTLMFLAG_NEGOTIATE_ALWAYS_SIGN),
               NTLMFLAG_NEGOTIATE_OEM|
               NTLMFLAG_REQUEST_TARGET|
               NTLMFLAG_NEGOTIATE_NTLM_KEY|
+              NTLM2FLAG|
               NTLMFLAG_NEGOTIATE_ALWAYS_SIGN);
       print_flags(stderr,
                   NTLMFLAG_NEGOTIATE_OEM|
                   NTLMFLAG_REQUEST_TARGET|
                   NTLMFLAG_NEGOTIATE_NTLM_KEY|
+                  NTLM2FLAG|
                   NTLMFLAG_NEGOTIATE_ALWAYS_SIGN);
       fprintf(stderr, "\n****\n");
     });
@@ -786,7 +801,41 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,
       hostlen = strlen(host);
     }
 
-    {
+#if USE_NTLM2SESSION
+    /* We don't support NTLM2 if we don't have USE_NTRESPONSES */
+    if (ntlm->flags & NTLMFLAG_NEGOTIATE_NTLM2_KEY) {
+      unsigned char ntbuffer[0x18];
+      unsigned char tmp[0x18];
+      unsigned char md5sum[MD5_DIGEST_LENGTH];
+      MD5_CTX MD5;
+      unsigned char random[8];
+
+      /* Need to create 8 bytes random data */
+      Curl_ossl_seed(conn->data); /* Initiate the seed if not already done */
+      RAND_bytes(random,8);
+
+      /* 8 bytes random data as challenge in lmresp */
+      memcpy(lmresp,random,8);
+      /* Pad with zeros */
+      memset(lmresp+8,0,0x10);
+
+      /* Fill tmp with challenge(nonce?) + random */
+      memcpy(tmp,&ntlm->nonce[0],8);
+      memcpy(tmp+8,random,8);
+
+      MD5_Init(&MD5);
+      MD5_Update(&MD5, tmp, 16);
+      MD5_Final(md5sum, &MD5);
+      /* We shall only use the first 8 bytes of md5sum,
+         but the des code in lm_resp only encrypt the first 8 bytes */
+      mk_nt_hash(passwdp, ntbuffer);
+      lm_resp(ntbuffer, md5sum, ntresp);
+
+      /* End of NTLM2 Session code */
+    }
+    else {
+#endif
+
 #if USE_NTRESPONSES
       unsigned char ntbuffer[0x18];
 #endif
index ab177009a4b1829586f820c203889ad4abc4dec7..0bbb57886d62fda9796082acdee3b7ef5efec050 100644 (file)
@@ -169,8 +169,7 @@ static bool rand_enough(int nread)
 }
 #endif
 
-static
-int random_the_seed(struct SessionHandle *data)
+static int ossl_seed(struct SessionHandle *data)
 {
   char *buf = data->state.buffer; /* point to the big buffer */
   int nread=0;
@@ -259,6 +258,20 @@ int random_the_seed(struct SessionHandle *data)
   return nread;
 }
 
+int Curl_ossl_seed(struct SessionHandle *data)
+{
+  /* we have the "SSL is seeded" boolean static to prevent multiple
+     time-consuming seedings in vain */
+  static bool ssl_seeded = FALSE;
+
+  if(!ssl_seeded || data->set.ssl.random_file || data->set.ssl.egdsocket) {
+    ossl_seed(data);
+    ssl_seeded = TRUE;
+  }
+  return 0;
+}
+
+
 #ifndef SSL_FILETYPE_ENGINE
 #define SSL_FILETYPE_ENGINE 42
 #endif
@@ -531,9 +544,6 @@ static char *SSL_strerror(unsigned long error, char *buf, size_t size)
   return (buf);
 }
 
-/* we have the "SSL is seeded" boolean global for the application to
-   prevent multiple time-consuming seedings in vain */
-static bool ssl_seeded = FALSE;
 #endif /* USE_SSLEAY */
 
 #ifdef USE_SSLEAY
@@ -1166,12 +1176,8 @@ Curl_ossl_connect_step1(struct connectdata *conn,
 
   curlassert(ssl_connect_1 == connssl->connecting_state);
 
-  if(!ssl_seeded || data->set.ssl.random_file || data->set.ssl.egdsocket) {
-    /* Make funny stuff to get random input */
-    random_the_seed(data);
-
-    ssl_seeded = TRUE;
-  }
+  /* Make funny stuff to get random input */
+  Curl_ossl_seed(data);
 
   /* check to see if we've been told to use an explicit SSL/TLS version */
   switch(data->set.ssl.version) {
index 5cc2f700e53e7bfc5880b7fe96ad0c292295c9dc..d33ac3878e9b54251e9786ca235b116ccd8a619d 100644 (file)
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2005, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -63,7 +63,7 @@ ssize_t Curl_ossl_recv(struct connectdata *conn, /* connection data */
                        bool *wouldblock);
 
 size_t Curl_ossl_version(char *buffer, size_t size);
-
 int Curl_ossl_check_cxn(struct connectdata *cxn);
+int Curl_ossl_seed(struct SessionHandle *data);
 
 #endif
index 961898d58b61a5d388b6384872e8b1f28c052c94..7ae812d93d5bd469baa8d7df836150abac1fce60 100644 (file)
@@ -69,7 +69,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol>
 GET /150 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index 6b0ff5ac900811214d8cc9260c559201d34764e2..91ed13abd04eb51f745bde4f228bdd853c7e4559 100644 (file)
@@ -101,7 +101,7 @@ Content-Length: 85
 Expect: 100-continue\r
 \r
 PUT /155 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
 Content-Length: 0\r
index 4e335b34e077921419b4c719e8c138f346f761d6..2fcd7d502ea759ca33202eba56248055d0831b15 100644 (file)
@@ -69,7 +69,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol>
 GET /159 HTTP/1.0\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index c987c4a21d2d7a4bd79cf121e1ac9fca08f09773..e0d602429bd6386c3d6d24bbb39c1914772a1906 100644 (file)
@@ -35,7 +35,7 @@ http://%HOSTIP:%HTTPPORT/162 --proxy http://%HOSTIP:%HTTPPORT --proxy-user foo:b
 </strip>
 <protocol>
 GET http://127.0.0.1:%HTTPPORT/162 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.8.1-pre3 (sparc-sun-solaris2.7) libcurl 7.8.1-pre3 (OpenSSL 0.9.6a) (krb4 enabled)\r
 Host: 127.0.0.1:%HTTPPORT\r
 Pragma: no-cache\r
index 0bfd3128432feb8bce29afa40f2960b95f93d3e8..42d5bb00b18c4ec2312968ea8bfb8287c929bfd6 100644 (file)
@@ -87,7 +87,7 @@ s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAAAw
 </strippart)
 <protocol>
 GET http://data.from.server.requiring.digest.hohoho.com/169 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.3\r
 Host: data.from.server.requiring.digest.hohoho.com\r
 Pragma: no-cache\r
index 556b2ab2a9fcebfd92270586b90ae7cda37fa238..4b957a578b6059e61dc744844da35c9e3c5c3d65 100644 (file)
@@ -25,7 +25,7 @@ http://a.galaxy.far.far.away/170 --proxy http://%HOSTIP:%HTTPPORT --proxy-user f
 </strip>
 <protocol>
 POST http://a.galaxy.far.far.away/170 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.12.0-CVS (i686-pc-linux-gnu) libcurl/7.12.0-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 libidn/0.4.3\r
 Host: a.galaxy.far.far.away\r
 Pragma: no-cache\r
index a92c65e8d4395eb96774e7f8e729ad1452ac3c1a..e7ed3ecbb0b23edf45b8c56bfa21d4b28188864a 100644 (file)
@@ -56,7 +56,7 @@ http://%HOSTIP:%HTTPPORT/176 -u auser:apasswd --ntlm -d "junkelijunk"
 </strip>
 <protocol nonewline=yes>
 POST /176 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.12.1-CVS (i686-pc-linux-gnu) libcurl/7.12.1-CVS OpenSSL/0.9.6b ipv6 zlib/1.1.4 GSS libidn/0.4.6\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index cffb260f0ead8e95bd3b73ca8f67711bcb3b132c..3538d7a6ef33ff3736a58badcb56ff2a5aa81f93 100644 (file)
@@ -86,7 +86,7 @@ s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQ
 <protocol>
 CONNECT test.remote.server.com:209 HTTP/1.0\r
 Host: test.remote.server.com:209\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 Proxy-Connection: Keep-Alive\r
 \r
 CONNECT test.remote.server.com:209 HTTP/1.0\r
index 453d5d96bca9169b11500b4528fd7886e24a0b14..79a8f77e7899d7e42fe20509cc4505f697b4c34d 100644 (file)
@@ -86,7 +86,7 @@ s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQ
 <protocol nonewline=yes>
 CONNECT test.remote.server.com:213 HTTP/1.0\r
 Host: test.remote.server.com:213\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 Proxy-Connection: Keep-Alive\r
 \r
 CONNECT test.remote.server.com:213 HTTP/1.0\r
index b85b34b42cfd61718d273eca6809b1876347f00a..7a789b600cae4e7c59336f2401f7380505699358 100644 (file)
@@ -63,7 +63,7 @@ s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQ
 </strippart)
 <protocol nonewline=yes>
 POST http://%HOSTIP:%HTTPPORT/239 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13\r
 Host: %HOSTIP:%HTTPPORT\r
 Pragma: no-cache\r
index 1be5812ae80e37c51fea481c97c7dbf33a3796b6..f8ef686e7236855f026ca8fca23f05e4d24bcd21 100644 (file)
@@ -100,7 +100,7 @@ Content-Length: 6
 Content-Type: application/x-www-form-urlencoded\r
 \r
 postitPOST http://%HOSTIP:%HTTPPORT/243 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.13.2-CVS (i686-pc-linux-gnu) libcurl/7.13.2-CVS OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13\r
 Host: %HOSTIP:%HTTPPORT\r
 Pragma: no-cache\r
index 1e97d07e10f07c2005ccfc87bc2ad459de94b3a8..3a49bfcbc82b2545be8a1912cfa12717860174d4 100644 (file)
@@ -89,7 +89,7 @@ s/^(Proxy-Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAABQ
 <protocol nonewline=yes>
 CONNECT test.remote.server.com:265 HTTP/1.0\r
 Host: test.remote.server.com:265\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 Proxy-Connection: Keep-Alive\r
 \r
 CONNECT test.remote.server.com:265 HTTP/1.0\r
index 0abf2372b92b6f5dd39c9544fcd039cc969b4b90..56d2a0a67287731ad4b9c97962220a0555299b5c 100644 (file)
@@ -76,7 +76,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol nonewline=yes>
 POST /267 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index 551b1f8dfa8b4160105cdb5a94755e93dff2c8c7..da43a7d3ab1a9b2f6e022c34ebc49a6c317e84be 100644 (file)
@@ -76,7 +76,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol>
 GET /67 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index b44fc1129daa4bdf47cfaaecf293329f3c9d9622..19215defc85b084c2215ff52d072105a65cf9031 100644 (file)
@@ -78,7 +78,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol>
 GET /68 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index 747596e66e859bcccc6f9443e61eab5615cab5a3..333ec2c0fd8550e38fb87919bb3b49e7d1c3944e 100644 (file)
@@ -96,7 +96,7 @@ Host: 127.0.0.1:%HTTPPORT
 Accept: */*\r
 \r
 GET /69 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index 99206ae7c4add2d8f626c3042aa11b01b9c7ce47..732f9dc6d0ac45f43906ce8dd9ecc136b8d479ed 100644 (file)
@@ -74,7 +74,7 @@ s/(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAA
 </strippart)
 <protocol>
 GET http://127.0.0.1:%HTTPPORT/81 HTTP/1.1\r
-Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Proxy-Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Pragma: no-cache\r
index 29d6db01030cb09c622b50786bdb1059e6930adf..3ed2439db1337ac8d5e1104c7a55d9115b9d9e33 100644 (file)
@@ -109,7 +109,7 @@ s/^(Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAA
 </strippart)
 <protocol>
 GET /89 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
@@ -121,7 +121,7 @@ Host: 127.0.0.1:%HTTPPORT
 Accept: */*\r
 \r
 GET /you/890010 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index eb79462f5c085df06f6b7e997bfde10db61dc24e..df1bb69430057930896438c6df987f7b1e8fea50 100644 (file)
@@ -148,7 +148,7 @@ Host: 127.0.0.1:%HTTPPORT
 Accept: */*\r
 \r
 GET /90 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
@@ -164,7 +164,7 @@ Host: 127.0.0.1:%HTTPPORT
 Accept: */*\r
 \r
 GET /you/900010 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.8-pre1 (i686-pc-linux-gnu) libcurl/7.10.8-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3 GSS\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r
index 4678f5f723ef9f78d9e80f613738965e7388f153..ad054592643c1eb0d18438f40db0ca53c3dcf98c 100644 (file)
@@ -99,7 +99,7 @@ Host: 127.0.0.1:%HTTPPORT
 Accept: */*\r
 \r
 GET /91 HTTP/1.1\r
-Authorization: NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAA=\r
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=\r
 User-Agent: curl/7.10.6-pre1 (i686-pc-linux-gnu) libcurl/7.10.6-pre1 OpenSSL/0.9.7a ipv6 zlib/1.1.3\r
 Host: 127.0.0.1:%HTTPPORT\r
 Accept: */*\r