- 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.
This commit is contained in:
Родитель
2afb88e2ce
Коммит
ea6531cf32
5
CHANGES
5
CHANGES
|
@ -6,6 +6,11 @@
|
||||||
|
|
||||||
Changelog
|
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)
|
Daniel Stenberg (23 Feb 2009)
|
||||||
- After a bug reported by James Cheng I've made curl_easy_getinfo() for
|
- After a bug reported by James Cheng I've made curl_easy_getinfo() for
|
||||||
CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD return
|
CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD return
|
||||||
|
|
|
@ -43,6 +43,7 @@ This release includes the following bugfixes:
|
||||||
o ease creation of libcurl Mac OS X Framework
|
o ease creation of libcurl Mac OS X Framework
|
||||||
o CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD are -1
|
o CURLINFO_CONTENT_LENGTH_DOWNLOAD and CURLINFO_CONTENT_LENGTH_UPLOAD are -1
|
||||||
if unknown
|
if unknown
|
||||||
|
o Negotiate proxy authentication
|
||||||
|
|
||||||
This release includes the following known bugs:
|
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,
|
Peter Sylvester, Chad Monroe, Markus Moeller, Yang Tse, Scott Cantor,
|
||||||
Patrick Scott, Hidemoto Nakada, Jocelyn Jaubert, Andre Guibert de Bruet,
|
Patrick Scott, Hidemoto Nakada, Jocelyn Jaubert, Andre Guibert de Bruet,
|
||||||
Kamil Dudka, Patrik Thunstrom, Linus Nielsen Feltzing, Mark Incley,
|
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)
|
Thanks! (and sorry if I forgot to mention someone)
|
||||||
|
|
|
@ -516,6 +516,10 @@ output_auth_headers(struct connectdata *conn,
|
||||||
struct SessionHandle *data = conn->data;
|
struct SessionHandle *data = conn->data;
|
||||||
const char *auth=NULL;
|
const char *auth=NULL;
|
||||||
CURLcode result = CURLE_OK;
|
CURLcode result = CURLE_OK;
|
||||||
|
#ifdef HAVE_GSSAPI
|
||||||
|
struct negotiatedata *negdata = proxy?
|
||||||
|
&data->state.proxyneg:&data->state.negotiate;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CURL_DISABLE_CRYPTO_AUTH
|
#ifndef CURL_DISABLE_CRYPTO_AUTH
|
||||||
(void)request;
|
(void)request;
|
||||||
|
@ -524,14 +528,13 @@ output_auth_headers(struct connectdata *conn,
|
||||||
|
|
||||||
#ifdef HAVE_GSSAPI
|
#ifdef HAVE_GSSAPI
|
||||||
if((authstatus->picked == CURLAUTH_GSSNEGOTIATE) &&
|
if((authstatus->picked == CURLAUTH_GSSNEGOTIATE) &&
|
||||||
data->state.negotiate.context &&
|
negdata->context && !GSS_ERROR(negdata->status)) {
|
||||||
!GSS_ERROR(data->state.negotiate.status)) {
|
|
||||||
auth="GSS-Negotiate";
|
auth="GSS-Negotiate";
|
||||||
result = Curl_output_negotiate(conn, proxy);
|
result = Curl_output_negotiate(conn, proxy);
|
||||||
if(result)
|
if(result)
|
||||||
return result;
|
return result;
|
||||||
authstatus->done = TRUE;
|
authstatus->done = TRUE;
|
||||||
data->state.negotiate.state = GSS_AUTHSENT;
|
negdata->state = GSS_AUTHSENT;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче