curl-library
RE: libCurl and BOINC (Proxy HTTP status code 407 issue)
Date: Fri, 18 Aug 2006 09:04:03 +0200 (CEST)
On Thu, 17 Aug 2006, Rom Walton wrote:
> I did some more investigation and found a reference in the TODO file that I
> think better describes the problem:
>
> * Support CONNECT 407 responses that kill the connection and expect the
> client to reconnect to complete the authentication. Currently libcurl
> assumes that a proxy connection will be kept alive.
>
> FreeProxy is returning a 407 and closing the connection after the first
> attempt, NTLM Auth it appears is just a distraction.
>
> Is anybody actively working on this connection issue?
Nope, at least nobody has told us about it. (And I doubt anyone would take on
such a task without doing so.)
I did in fact once make an effort to move the entire CONNECT handling over to
the regular HTTP request-sending code in an attempt to unify all HTTP request
sends, but it got very messy and I had to back that out and I haven't tried
any further than so.
It got messy mainly because we support using HTTP CONNECT for non-http
protocols as well, so moving the HTTP CONNECT into the ordinary HTTP functions
made other protocols needing CONNECT more complicated.
Of course it can still be done, I just think I hadn't though through the issue
properly before I dove in and I got burned by the fact that it wasn't as easy
as I had first thought.
However, fixing the issue with CONNECT getting a closed connection (be it 407
or others) and it being needed to get re-connected does in no way _force_ us
to unify the request handling, but it will "simply" require some new fine
logic so that libcurl can re-connect (TCP) and re-CONNECT (HTTP) fine.
-- Commercial curl and libcurl Technical Support: http://haxx.se/curl.htmlReceived on 2006-08-18