- Michael Goffioul filed bug report #2107377 "Problem with mutli + GnuTLS +

proxy" (http://curl.haxx.se/bug/view.cgi?id=2107377) that showed how a multi
  interface using program didn't work when built with GnuTLS and a CONNECT
  request was done over a proxy (basically test 502 over a proxy to a HTTPS
  site). It turned out the ssl connect function would get called twice which
  caused the second call to fail.
This commit is contained in:
Daniel Stenberg 2008-09-22 20:42:13 +00:00
Родитель 1e076a4ae0
Коммит c4a694862c
3 изменённых файлов: 17 добавлений и 1 удалений

Просмотреть файл

@ -6,6 +6,14 @@
Changelog
Daniel Stenberg (22 Sep 2008)
- Michael Goffioul filed bug report #2107377 "Problem with mutli + GnuTLS +
proxy" (http://curl.haxx.se/bug/view.cgi?id=2107377) that showed how a multi
interface using program didn't work when built with GnuTLS and a CONNECT
request was done over a proxy (basically test 502 over a proxy to a HTTPS
site). It turned out the ssl connect function would get called twice which
caused the second call to fail.
Daniel Fandrich (22 Sep 2008)
- Fixed test 539 to handle an out of memory condition that shows up now
that memdebug.h is included in the test programs.

Просмотреть файл

@ -22,6 +22,7 @@ This release includes the following bugfixes:
o cookie with invalid expire dates are now considered expired
o HTTP pipelining over proxy
o fix regression in configure script which affected OpenSSL builds on MSYS
o GnuTLS-based multi interface doing HTTPS over proxy failed
This release includes the following known bugs:
@ -36,6 +37,6 @@ advice from friends like these:
Keith Mok, Yang Tse, Daniel Fandrich, Guenter Knauf, Dmitriy Sergeyev,
Linus Nielsen Feltzing, Martin Drasar, Stefan Krause, Dmitry Kurochkin,
Mike Revi, Andres Garcia
Mike Revi, Andres Garcia, Michael Goffioul
Thanks! (and sorry if I forgot to mention someone)

Просмотреть файл

@ -1814,6 +1814,13 @@ static CURLcode https_connecting(struct connectdata *conn, bool *done)
CURLcode result;
DEBUGASSERT((conn) && (conn->protocol & PROT_HTTPS));
if(conn->ssl[FIRSTSOCKET].use) {
/* in some circumstances, this already has SSL enabled and then we don't
need to connect SSL again */
*done = TRUE;
return CURLE_OK;
}
/* perform SSL initialization for this socket */
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, done);
if(result) {