cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: [PATCH] CONNECT cleanup

From: Ralph Mitchell <ralphmitchell_at_gmail.com>
Date: Thu, 11 Aug 2005 02:09:24 -0500

I just applied the patch to curl-7.14.1-20050811 and tried to grab
https://gmail.google.com/mail. I get this back from the verbose
option, right after the SSL negotiation:

     * SSL certificate verify ok.
     * Proxy auth using Basic with user 'xxxxxxxx'
> CONNECT gmail.google.com:443 HTTP/1.1
> Proxy-Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxx
> User-Agent: curl/7.14.1-20050811 (sparc64-unknown-linux-gnu)
libcurl/7.14.1-20050811 OpenSSL/0.9.7e zlib/1.2.3 libidn/0.5.15
> Host: gmail.google.com
> Proxy-Connection: Keep-Alive
>
     * Curl_xxx_rcvs returned -1, block = TRUE
     * Curl_xxx_rcvs returned -1, block = TRUE
     < HTTP/1.1 400 Bad Request
     < Date: Thu, 11 Aug 2005 06:57:25 GMT
     < Content-Type: text/html
     < Server: GFE/1.3
     < Content-Length: 3390
     * end of CONNECT headers
     * Received HTTP code 400 from proxy after CONNECT
     * Closing connection #0
     * SSLv3, TLS alert, Client hello (1):
     curl: (56) Received HTTP code 400 from proxy after CONNECT

and no content. Using 7.13.2 and the exact same command line, I get this:

     * SSL certificate verify ok.
> GET /mail HTTP/1.1
     User-Agent: curl/7.13.2 (sparc-unknown-linux-gnu) libcurl/7.13.2
OpenSSL/0.9.7e zlib/1.2.3 libidn/0.5.15
     Host: gmail.google.com
     Pragma: no-cache
     Accept: */*

     < HTTP/1.1 301 Moved Permanently
     < Set-Cookie: GMAIL_AT=EXPIRED;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GMAIL_PREFS=EXPIRED;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GMAIL_LOGIN=EXPIRED;Domain=.google.com;Expires=Mon,
01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GMAIL_STAT=EXPIRED;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GMAIL_RTT=EXPIRED;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GBE=EXPIRED;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Set-Cookie: GV=; Domain=gmail.google.com; Expires=Wed,
10-Aug-05 06:54:22 GMT; Path=/
     < Set-Cookie: GV=; Domain=gmail.google.com; Expires=Wed,
10-Aug-05 06:54:22 GMT; Path=/mail
     < Set-Cookie: GX=EXPIRED;Path=/mail;Expires=Mon, 01-Jan-1990 00:00:00 GMT
     < Location: https://mail.google.com/mail
     < Cache-control: private
     < Content-Length: 0
     < Content-Type: text/html
     < Server: GFE/1.3
     < Date: Thu, 11 Aug 2005 06:54:22 GMT
     * Connection #0 to host proxy.domain.com left intact
     * Closing connection #0

Adding -L makes no difference to 7.14.1.

Ralph Mitchell

On 8/10/05, Daniel Stenberg <daniel-curl_at_haxx.se> wrote:
> Hi friends.
>
> Attached to this mail is my first public patch that attempts to clean up the
> HTTP CONNECT handling done by libcurl.
>
> This will make CONNECT get sent and dealt with exactly like all other HTTP
> requests, which will improve the CONNECT code (and fix bug #1233264), make the
> code less confusing and improve the multi interface during its use.
>
> If you're doing SSL over a proxy, or are using CURLOPT_HTTPPROXYTUNNEL, I
> would very much appriciate if you could take a few moments to apply this patch
> against 7.14.0 (or a recent CVS, whatever works and fits you) and see if it
> works fine for you.
>
> This patch currently breaks test case 509 (but I intend to hunt down and fix
> this before this gets into CVS), but otherwise it seems to run find and I've
> done successful limited tests with FTP transfers using the proxytunnel
> feature.
>
> Thanks!
>
> I currently have three problems noted that I want properly investigated/fixed
> before next public release: http://curl.haxx.se/lxr/source/TODO-RELEASE
>
> ... and I want that release to happen before the end of August!
>
> --
> Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2005-08-11