Commit b0f6e7ce authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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.
parent ed72d4e1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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...

+2 −1
Original line number Diff line number Diff line
@@ -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)
+10 −0
Original line number Diff line number Diff line
@@ -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