- 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
|
||||
|
||||
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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче