diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2006-09-09 11:45:27 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2006-09-09 11:45:27 +0000 | 
| commit | b0f6e7cee48365d6b0cc9b52eeb8c151f2d86814 (patch) | |
| tree | 27db0cdd266a567acb8ca9f65d87bfcd29d51b79 | |
| parent | ed72d4e104cb7bf5b279b21550bf20c420819534 (diff) | |
Michele Bini fixed how the hostname is put in NTLM packages. As servers
don't expect fully qualified names we need to cut them off at the first dot.
| -rw-r--r-- | CHANGES | 3 | ||||
| -rw-r--r-- | RELEASE-NOTES | 3 | ||||
| -rw-r--r-- | lib/http_ntlm.c | 10 | 
3 files changed, 15 insertions, 1 deletions
@@ -7,6 +7,9 @@                                    Changelog  Daniel (9 September 2006) +- Michele Bini fixed how the hostname is put in NTLM packages. As servers +  don't expect fully qualified names we need to cut them off at the first dot. +  - Peter Sylvester cleaned up and fixed the getsockname() uses in ftp.c. Some    of them can be completetly removed though... diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 65ac9c6aa..942f59f7f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -19,6 +19,7 @@ This release includes the following changes:  This release includes the following bugfixes: + o (HTTP) NTLM hostname fix   o getsockname usage fixes   o SOCKS5 proxy connects can now time-out   o SOCKS5 connects that require auth no longer segfaults when auth not given @@ -45,6 +46,6 @@ advice from friends like these:   Domenico Andreoli, Armel Asselin, Gisle Vanem, Yang Tse, Andrew Biggs,   Peter Sylvester, David McCreedy, Dmitriy Sergeyev, Dmitry Rechkin, - Jari Sundell, Ravi Pratap + Jari Sundell, Ravi Pratap, Michele Bini          Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c index 24b89dded..7444a400c 100644 --- a/lib/http_ntlm.c +++ b/lib/http_ntlm.c @@ -277,6 +277,7 @@ CURLntlm Curl_input_ntlm(struct connectdata *conn,          fprintf(stderr, "\n                  nonce=");          print_hex(stderr, ntlm->nonce, 8);          fprintf(stderr, "\n****\n"); +        fprintf(stderr, "**** Header %s\n ", header);        });        free(buffer); @@ -708,6 +709,7 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,        *allocuserpwd = aprintf("%sAuthorization: NTLM %s\r\n",                                proxy?"Proxy-":"",                                base64); +      DEBUG_OUT(fprintf(stderr, "**** Header %s\n ", *allocuserpwd));        free(base64);      }      else @@ -798,6 +800,13 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,        hostlen = 0;      }      else { +      /* If the workstation if configured with a full DNS name (i.e. +       * workstation.somewhere.net) gethostname() returns the fully qualified +       * name, which NTLM doesn't like. +       */ +      char *dot = strchr(host, '.'); +      if (dot) +        *dot = '\0';        hostlen = strlen(host);      } @@ -1011,6 +1020,7 @@ CURLcode Curl_output_ntlm(struct connectdata *conn,        *allocuserpwd = aprintf("%sAuthorization: NTLM %s\r\n",                                proxy?"Proxy-":"",                                base64); +      DEBUG_OUT(fprintf(stderr, "**** %s\n ", *allocuserpwd));        free(base64);      }      else  | 
