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

- Brian J. Murrell found out that Negotiate proxy authentication didn't work.

  It happened because the code used the struct for server-based auth all the
  time for both proxy and server auth which of course was wrong.
parent 2afb88e2
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -6,6 +6,11 @@

                                  Changelog

Daniel Stenberg (24 Feb 2009)
- Brian J. Murrell found out that Negotiate proxy authentication didn't work.
  It happened because the code used the struct for server-based auth all the
  time for both proxy and server auth which of course was wrong.

Daniel Stenberg (23 Feb 2009)
- After a bug reported by James Cheng I've made curl_easy_getinfo() for
  CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD return
+2 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ This release includes the following bugfixes:
 o ease creation of libcurl Mac OS X Framework
 o CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD are -1
   if unknown
 o Negotiate proxy authentication

This release includes the following known bugs:

@@ -55,6 +56,6 @@ advice from friends like these:
 Peter Sylvester, Chad Monroe, Markus Moeller, Yang Tse, Scott Cantor,
 Patrick Scott, Hidemoto Nakada, Jocelyn Jaubert, Andre Guibert de Bruet,
 Kamil Dudka, Patrik Thunstrom, Linus Nielsen Feltzing, Mark Incley,
 Daniel Johnson, James Cheng
 Daniel Johnson, James Cheng, Brian J. Murrell

        Thanks! (and sorry if I forgot to mention someone)
+6 −3
Original line number Diff line number Diff line
@@ -516,6 +516,10 @@ output_auth_headers(struct connectdata *conn,
  struct SessionHandle *data = conn->data;
  const char *auth=NULL;
  CURLcode result = CURLE_OK;
#ifdef HAVE_GSSAPI
  struct negotiatedata *negdata = proxy?
    &data->state.proxyneg:&data->state.negotiate;
#endif

#ifndef CURL_DISABLE_CRYPTO_AUTH
  (void)request;
@@ -524,14 +528,13 @@ output_auth_headers(struct connectdata *conn,

#ifdef HAVE_GSSAPI
  if((authstatus->picked == CURLAUTH_GSSNEGOTIATE) &&
     data->state.negotiate.context &&
     !GSS_ERROR(data->state.negotiate.status)) {
     negdata->context && !GSS_ERROR(negdata->status)) {
    auth="GSS-Negotiate";
    result = Curl_output_negotiate(conn, proxy);
    if(result)
      return result;
    authstatus->done = TRUE;
    data->state.negotiate.state = GSS_AUTHSENT;
    negdata->state = GSS_AUTHSENT;
  }
  else
#endif