aboutsummaryrefslogtreecommitdiff
path: root/lib/hostip.c
AgeCommit message (Collapse)Author
2006-07-07Ingmar Runge provided a source snippet that caused a crash. The reason forDaniel Stenberg
the crash was that libcurl internally was a bit confused about who owned the DNS cache at all times so if you created an easy handle that uses a shared DNS cache and added that to a multi handle it would crash. Now we keep more careful internal track of exactly what kind of DNS cache each easy handle uses: None, Private (allocated for and used only by this single handle), Shared (points to a cache held by a shared object), Global (points to the global cache) or Multi (points to the cache within the multi handle that is automatically shared between all easy handles that are added with private caches).
2006-05-04Roland Blom filed bug report #1481217Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1481217), with follow-ups by Michele Bini and David Byron. libcurl previously wrongly used GetLastError() on windows to get error details after socket-related function calls, when it really should use WSAGetLastError() instead. When changing to this, the former function Curl_ourerrno() is now instead called Curl_sockerrno() as it is necessary to only use it to get errno from socket-related functions as otherwise it won't work as intended on Windows.
2006-04-26Use the HAVE_MALLOC_H and HAVE_PROCESS_H definesGisle Vanem
(more logical).
2006-02-16Shmulik Regev provided a fix for the DNS cache when using short life times,Daniel Stenberg
as previously it could be holding on to old cached entries longer than requested.
2005-04-19only define _REENTRANT if not already defined, and only in setup.hDaniel Stenberg
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-01-25Use plain structs and not typedef'ed ones in the hash and linked-list code.Daniel Stenberg
2004-11-18Dan Fandrich fix: eliminates some pedantic CodeWarrior compiler warnings andDaniel Stenberg
errors.
2004-10-10Prevent a longjmp warning by moving the rc assign within Curl_resolv().Daniel Stenberg
Andy Cedilnik reported. Warning on HP-UX?
2004-10-06removed tabs and trailing whitespace from sourceDaniel Stenberg
2004-10-04Made the dns entry remain locked while a connection to the host remains toDaniel Stenberg
allow verbose output during this period. Bertrand Demiddelaer reported and helped fixing.
2004-06-24the _num_chars() function is not used, removingDaniel Stenberg
2004-06-24Replaced all uses of sprintf() with the safer snprintf(). It is just aDaniel Stenberg
precaution to prevent mistakes to lead to buffer overflows.
2004-06-24made the Curl_he2ai() take the port number as an int intead, to avoid lotsDaniel Stenberg
of typecasts all over
2004-06-24prevent warningDaniel Stenberg
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-05-17if shrinking the buffer fails, use the older larger oneDaniel Stenberg
2004-05-11curl_global_init_mem() allows the memory functions to be replaced.Daniel Stenberg
memory.h is included everywhere for this.
2004-05-04improved the cleaning up of memory when we fail to resolve names due toDaniel Stenberg
out of memory (thanks to 'runtests.pl -t')
2004-04-26Made defines instead of plain numbers for the Curl_resolv() return code toDaniel Stenberg
make the code easier to read
2004-04-26Major hostip.c cleanup and split into multiple files and easier #ifdefDaniel Stenberg
usage.
2004-04-23 Gisle Vanem found and fixed a memory leak when doing (failing) WindowsDaniel Stenberg
threaded name resolves.
2004-04-21include unistd.h as well for the close() proto on some platforms (like Tru64)Daniel Stenberg
2004-04-20cleanup leftoversDaniel Stenberg
2004-04-14asking for CURL_IPRESOLVE_V6 when ipv6 addresses can't be resolved willDaniel Stenberg
now cause the resolve function to return NULL immediately
2004-04-14Curl_wait_for_resolv() could hang due to the bad timeout timer resolution andDaniel Stenberg
some bad thinking on my part.
2004-04-13Gisle Vanem's fix that makes the multi interface work on Windows again evenDaniel Stenberg
when not using ares.
2004-04-12somewhat safer typecasting in case sizeof(long) != sizeof(void *) (is thereDaniel Stenberg
even such platforms?)
2004-04-06the pack_hostent() proto isn't used/needed with ipv6 is enabled.Daniel Stenberg
time to restructure this source file!
2004-04-06Gisle Vanem's fix for bug item #927979 reported by Nathan O'Sullivan.Daniel Stenberg
Good enough?
2004-04-01Dirk Manske's fix that makes sure we cancel the ares resolve when we time outDaniel Stenberg
from a name resolve. Without this, we leak memory!
2004-04-01removed my previously attempted fix for ares timeouts, not neededDaniel Stenberg
2004-03-31Roy Shan fixed a case that prevented ares name resolve timeouts to occur.Daniel Stenberg
2004-03-31Remove the elapsed time from the most recent select() only.Daniel Stenberg
2004-03-31The asynch name resolve methods now all use CURL_TIMEOUT_RESOLVE forDaniel Stenberg
the specific time to wait for a resolve. The definition is at the top of this source file.
2004-03-31Dirk Manske found out the Curl_wait_for_resolv() timed out too early.Daniel Stenberg
2004-03-30Lots of comments added an clarified. Added timeout for the ares versionDaniel Stenberg
of Curl_is_resolved() to address Roy Shan's reported problem.
2004-03-29The select() timeout is better not static since some implementation actuallyDaniel Stenberg
might change it. I don't *think* it does it when the timeout is 0,0 but it is better to be sure...
2004-03-17Günter Knauf's NetWare changes.Daniel Stenberg
2004-03-10store times in time_tDaniel Stenberg
2004-03-09only build with the windows threading trace code ifDaniel Stenberg
DEBUG_THREADING_GETHOSTBYNAME is defined
2004-03-03tv_sec is an int, so we explicitly typecast the result of long - long toDaniel Stenberg
an int when we assign it.
2004-02-23use size_t to keep strlen() resultsDaniel Stenberg
2004-02-23simplied how create_hostcache_id() is used, and also its function somewhatDaniel Stenberg
cleared up some ssize_t/size_t mixups
2004-02-20Gisle Vanem brings name resolving timeout possibilities to windows people.Daniel Stenberg
This works by magicly starting up a new thread that can be killed when the timeout is reached. testtesttest!
2004-02-18No longer uses the 'ret' variable in the plain ipv4-version ofDaniel Stenberg
my_getaddrinfo() (caused a warning by the IRIX MIPSPro compiler). Also clarified the situation for the 3-arg version of gethostbyname_r() with a huge comment.
2004-02-18Make sure dns cache timeout -1 really means forever, as it is documented toDaniel Stenberg
be. Simply skip the pruning.