cURL

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Mailing List > Monthly Index > Single Mail

curl-tracker Archives

[curl:bugs] #1327 libcurl prunes CURLOPT_RESOLVE entries after detecting a dead connection

From: Daniel Stenberg <bagder_at_users.sf.net>
Date: Tue, 28 Jan 2014 21:48:57 +0000

- **status**: open --> open-confirmed

---
** [bugs:#1327] libcurl prunes CURLOPT_RESOLVE entries after detecting a dead connection**
**Status:** open-confirmed
**Created:** Mon Jan 27, 2014 02:54 PM UTC by Romulo A. Ceccon
**Last Updated:** Tue Jan 28, 2014 06:02 PM UTC
**Owner:** Daniel Stenberg
[#1303] reports an issue (now fixed) where libcurl would prune CURLOPT_RESOLVE entries after the DNS cache timeout had elapsed.
It looks like the patch is not complete, though. As of version [7.34.1-dev](https://github.com/bagder/curl/commit/0f46b3b3ddcf4fe0546477a1f09287ad358bb31e) entries are still being incorrectly removed in the following scenario:
- client starts the connection and server keeps it alive
- CURLOPT_DNS_CACHE_TIMEOUT elapses
- server kills the connection
- client starts a new request,  finds the connection to be dead and creates a new one
The attached program is basically the same one attached to bug report [#1303], except it connects to a server which keeps the connection alive for a short time (debian.org), instead of the other one, which always signaled the client to close it.
Here's the output:
    Test started with libcurl/7.34.1-DEV OpenSSL/1.0.1e zlib/1.2.8 libidn/1.28 librtmp/2.3
    debug: Added fake.host:80:150.203.164.38 to DNS cache
    debug: Rebuilt URL to: http://fake.host/
    debug: Hostname was found in DNS cache
    debug:   Trying 150.203.164.38...
    debug: Connected to fake.host (150.203.164.38) port 80 (#0)
    debug: Server Apache is not blacklisted
    debug: Connection #0 to host fake.host left intact
    HTTP transfer completed with status 0
    Sleeping for 20 seconds...
    debug: Added fake.host:80:150.203.164.38 to DNS cache
    debug: Rebuilt URL to: http://fake.host/
    debug: Found bundle for host fake.host: 0xcacc20
    debug: Connection 0 seems to be dead!
    debug: Closing connection 0
    debug: Hostname was NOT found in DNS cache
    debug: getaddrinfo(3) failed for fake.host:80
    debug: Couldn't resolve host 'fake.host'
    debug: Closing connection 1
    HTTP transfer completed with status 6
---
Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
Received on 2014-01-28

These mail archives are generated by hypermail.

donate! Page updated December 29, 2013.
web site info

File upload with ASP.NET