aboutsummaryrefslogtreecommitdiff
path: root/lib/hostip.h
AgeCommit message (Collapse)Author
2006-04-10First curl_multi_socket() commit. Should primarily be considered as an internalDaniel Stenberg
code rearrange to fit the future better.
2006-02-23Lots of work and analysis by "xbx___" in bug #1431750Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1431750) helped me identify and fix two different but related bugs: 1) Removing an easy handle from a multi handle before the transfer is done could leave a connection in the connection cache for that handle that is in a state that isn't suitable for re-use. A subsequent re-use could then read from a NULL pointer and segfault. 2) When an easy handle was removed from the multi handle, there could be an outstanding c-ares DNS name resolve request. When the response arrived, it caused havoc since the connection struct it "belonged" to could've been freed already. Now Curl_done() is called when an easy handle is removed from a multi handle pre-maturely (that is, before the transfer was complteted). Curl_done() also makes sure to cancel all (if any) outstanding c-ares requests.
2005-12-11Undo last changesYang Tse
2005-12-11Fix compiler warning and compatibility issue with the type of the parameter ↵Yang Tse
used in getnameinfo() to receive the length of the sockaddr struct.
2005-04-04kill warningsDaniel Stenberg
2005-04-04hostthre.c: destroy_thread_data() made public. CalledGisle Vanem
from url.c: Curl_disconnect().
2005-02-09FTP code turned into state machine. Not completely yet, but a good start.Daniel Stenberg
The tag 'before_ftp_statemachine' was set just before this commit in case of future need.
2005-02-08Curl_addrinfo?_callback() and addrinfo_callback() now returnsGisle Vanem
CURLE_OK or CURLE_OUT_OF_MEMORY. Add typecast in hostares.c.
2005-01-25Use plain structs and not typedef'ed ones in the hash and linked-list code.Daniel Stenberg
2004-06-24Gisle cleaned up remaining host resolve re-org issuesDaniel Stenberg
2004-06-24made the Curl_he2ai() take the port number as an int intead, to avoid lotsDaniel Stenberg
of typecasts all over
2004-06-24Source cleanups. The major one being that we now _always_ use a Curl_addrinfoDaniel Stenberg
linked list for name resolved data, even on hosts/systems with only IPv4 stacks as this simplifies a lot of code.
2004-06-10removed trailing whitespaceDaniel Stenberg
2004-06-10Gisle corrected two commentsDaniel Stenberg
2004-06-10Gisle Vanem's improved verbose output and timeout handling when connecting toDaniel Stenberg
a host name that resolves to multiple IP addresses.
2004-04-26Made defines instead of plain numbers for the Curl_resolv() return code toDaniel Stenberg
make the code easier to read
2004-04-26Curl_ip2addr() now takes an in_addr_t argument instead to prevent compilerDaniel Stenberg
warnings
2004-04-26Major hostip.c cleanup and split into multiple files and easier #ifdefDaniel Stenberg
usage.
2004-03-30adjusted to the new dns cache function to hide more hostip internalsDaniel Stenberg
2004-01-07updated year in the copyright stringDaniel Stenberg
2003-12-15added a library-wide interface for doing dns cache pruning, and no longerDaniel Stenberg
make the pruning at each name lookup, only in Curl_done().
2003-10-04Based on a patch provided by Siddhartha Prakash Jain. In Curl_resolv() whenDaniel Stenberg
my_getaddrinfo() has been called (and wait has been set to TRUE), we check if the name already is resolved and if so don't return wait status to the parent. This can happen with IP-only names.
2003-08-05ares awareness/usage/support added. If configure --enable-ares is used, weDaniel Stenberg
build libcurl to use ares for asynch name resolves.
2003-06-26use CURLDEBUG instead of MALLOCDEBUG for preprocessor conditionsDaniel Stenberg
2003-05-13Setup and use CURL_INADDR_NONE all over instead of INADDR_NONE. We setupDaniel Stenberg
the define accordingly in the hostip.h header to work nicely all over.
2003-02-04added the sharing of DNS cacheJean-Philippe Barette-LaPierre
2003-01-16copyright year update in the source headerDaniel Stenberg
2002-11-26fixed Curl_freeaddrinfo() to only free addrinfo, and added Curl_freednsinfo()Daniel Stenberg
for freeing single dns cache entries
2002-11-11unlock dns cache entries with a function call instead of a variable fiddleDaniel Stenberg
2002-11-05Curl_resolv() now returns a different struct, and it contains a referenceDaniel Stenberg
counter so that the caller needs to decrease that counter when done with the returned data. If compiled with MALLOCDEBUG I've added some extra checking that the counter is decreased before a handle is closed etc.
2002-09-03updated source code boilerplate/headerDaniel Stenberg
2002-04-25In order to not get problems with DNS cache pruning, we no longer storeDaniel Stenberg
any name resolved data in any curl handle struct. That way, we won't mind if the cache entries are pruned for the next time we need them. We'll just resolve them again instead. This changes the Curl_resolv() proto. It modifies the SessionHandle struct but perhaps most importantly, it'll make the internals somewhat dependent on the DNS cache not being disabled as that will cripple operations somewhat. Especially for persistant connections.
2002-03-19copyright string (year) updateDaniel Stenberg
2002-01-07Make cach'ing work with threads now, there are now three cases:Sterling Hughes
- Use a global dns cache (via setting the tentatively named, CURLOPT_DNS_USE_GLOBAL_CACHE option to true) - Use a per-handle dns cache, by default - Use a pooled dns cache when in the "multi" interface
2002-01-03Sterling Hughes' provided initial DNS cache source code.Daniel Stenberg
2001-10-04getaddrinfo() cleanupsDaniel Stenberg
2001-10-02major connecting updatesDaniel Stenberg
2001-09-28more transparant support for IPv6 name resolvingDaniel Stenberg
2001-08-30Major rename and redesign of the internal "backbone" structs. Details willDaniel Stenberg
be posted in a minute to the libcurl list.
2001-02-05Jun-ichiro itojun Hagino's IPv6 adjustmentsDaniel Stenberg
2001-01-05Internal symbols that aren't static are now prefixed with 'Curl_'Daniel Stenberg
2001-01-03dual-license fixDaniel Stenberg
2000-09-21GetHost() changed function argumentsDaniel Stenberg
2000-06-20haxx.nu => haxx.seDaniel Stenberg
2000-05-29David LeBlanc's fixes!Daniel Stenberg
1999-12-29Initial revisionDaniel Stenberg