KNOWN_BUGS #17 fixed. A DNS cache entry may not remain locked between two

curl_easy_perform() invokes. It was previously unlocked at disconnect, which
could mean that it remained locked between multiple transfers. The DNS cache
may not live as long as the connection cache does, as they are separate.

To deal with the lack of DNS (host address) data availability in re-used
connections, libcurl now keeps a copy of the IP adress as a string, to be able
to show it even on subsequent requests on the same connection.
This commit is contained in:
Daniel Stenberg 2005-01-28 22:14:48 +00:00
parent 064bc3ecbc
commit 4551e7ce49
4 changed files with 54 additions and 24 deletions

View file

@ -6,19 +6,6 @@ may have been fixed since this was written!
18. test case 57 has </test> that should be </client> but when corrected, the
test case fails!
17. Memory badness:
1. create a multi handle
2. add an easy handle
3. fetch a URL that is persistent (leaves the connection alive)
4. remove the easy handle from the multi
5. kill the multi handle
6. create a multi handle
7. add the same easy handle to the new multi handle
8. fetch a URL from the same server as before (re-using the connection)
Use valgrind to see the memory problems when libcurl assumes that the DNS
data lives as long as the connection
16. FTP URLs passed to curl may contain NUL (0x00) in the RFC 1738 <user>,
<password>, and <fpath> components, encoded as "%00". The problem is that
curl_unescape does not detect this, but instead returns a shortened C