cURL / Mailing Lists / curl-library / Single Mail


Re: libcurl, https transfers, and NAT

From: Daniel Stenberg <>
Date: Sat, 2 Jun 2007 12:11:21 +0200 (CEST)

On Fri, 1 Jun 2007, Robert Olson wrote:

> We've been seeing some strangeness with HTTPS transfers running on machines
> sitting behind NAT routers. If the NAT changes public address while a
> transfer is ongoing, the libcurl app will spin forever waiting for the
> transfer to complete. One behavior I have seen is the Apache log showing the
> web hit timing out after the server's timeout, but on the client the socket
> is still in the ESTABLISHED state so the app thinks all is well.

To me this sounds a like a silly NAT. If libcurl still has a TCP connection
and there's nothing that indicates badness or traffic, then the connection
will of course be kept and libcurl will just consider the server/connection to
be very slow/inactive.

If you want libcurl to abort slow/inactive servers, you should consider one of
the timeout options or even craft one yourself using the callbacks at hand.

  Commercial curl and libcurl Technical Support:
Received on 2007-06-02