1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

- Constantine Sapuntzakis fixed a bug when doing proxy CONNECT with the multi

interface, and the proxy would send Connection: close during the
  authentication phase.  http://curl.haxx.se/bug/view.cgi?id=2069047
This commit is contained in:
Daniel Stenberg 2008-08-23 12:11:38 +00:00
parent a243dd4587
commit 13dc82b9d4
5 changed files with 25 additions and 2 deletions

View File

@ -6,6 +6,11 @@
Changelog Changelog
Daniel Stenberg (23 Aug 2008)
- Constantine Sapuntzakis fixed a bug when doing proxy CONNECT with the multi
interface, and the proxy would send Connection: close during the
authentication phase. http://curl.haxx.se/bug/view.cgi?id=2069047
Daniel Fandrich (22 Aug 2008) Daniel Fandrich (22 Aug 2008)
- Fixed a problem when --dump-header - was given with more than one URL, - Fixed a problem when --dump-header - was given with more than one URL,
which caused an error when the second header was dumped due to stdout which caused an error when the second header was dumped due to stdout

View File

@ -57,6 +57,7 @@ This release includes the following bugfixes:
o memory leak in libcurl on Windows built with OpenSSL o memory leak in libcurl on Windows built with OpenSSL
o improved curl_m*printf() integral data type size and signedness handling o improved curl_m*printf() integral data type size and signedness handling
o error when --dump-header - used with more than one URL o error when --dump-header - used with more than one URL
o proxy closing connect during CONNECT with auth with the multi interface
This release includes the following known bugs: This release includes the following known bugs:

View File

@ -2006,6 +2006,13 @@ CURL_CONFIGURE_LONG
AC_CHECK_SIZEOF(time_t) AC_CHECK_SIZEOF(time_t)
AC_CHECK_SIZEOF(off_t) AC_CHECK_SIZEOF(off_t)
dnl now check if curl_off_t is larger than off_t
if test $ac_cv_sizeof_off_t -ge $ac_cv_sizeof_curl_off_t; then
AC_MSG_WARN([curl_off_t was detected to be larger than off_t.])
fi
AC_CHECK_TYPE(long long, AC_CHECK_TYPE(long long,
[AC_DEFINE(HAVE_LONGLONG, 1, [AC_DEFINE(HAVE_LONGLONG, 1,
[Define to 1 if the compiler supports the 'long long' data type.])] [Define to 1 if the compiler supports the 'long long' data type.])]

View File

@ -163,7 +163,7 @@ while (<TXT>) {
. MIME::Base64::encode($data) . MIME::Base64::encode($data)
. "-----END CERTIFICATE-----\n"; . "-----END CERTIFICATE-----\n";
open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; open(CRT, ">>$crt") or die "Couldn't open $crt: $!";
print CRT "\n$caname\n"; print CRT "\n\"$caname\"\n";
print CRT ("=" x length($caname) . "\n"); print CRT ("=" x length($caname) . "\n");
if (!$opt_t) { if (!$opt_t) {
print CRT $pem; print CRT $pem;

View File

@ -1009,7 +1009,17 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
/* this is HTTP-specific, but sending CONNECT to a proxy is HTTP... */ /* this is HTTP-specific, but sending CONNECT to a proxy is HTTP... */
easy->result = Curl_http_connect(easy->easy_conn, &protocol_connect); easy->result = Curl_http_connect(easy->easy_conn, &protocol_connect);
if(CURLE_OK == easy->result) { if(easy->easy_conn->bits.proxy_connect_closed) {
/* reset the error buffer */
if(easy->easy_handle->set.errorbuffer)
easy->easy_handle->set.errorbuffer[0] = '\0';
easy->easy_handle->state.errorbuf = FALSE;
easy->result = CURLE_OK;
result = CURLM_CALL_MULTI_PERFORM;
multistate(easy, CURLM_STATE_CONNECT);
}
else if (CURLE_OK == easy->result) {
if(!easy->easy_conn->bits.tunnel_connecting) if(!easy->easy_conn->bits.tunnel_connecting)
multistate(easy, CURLM_STATE_WAITCONNECT); multistate(easy, CURLM_STATE_WAITCONNECT);
} }