aboutsummaryrefslogtreecommitdiff
path: root/lib/hostip.c
AgeCommit message (Collapse)Author
2008-09-24ntoa() and inet_ntoa_r() no longer usedYang Tse
2008-09-06remove unnecessary typecasting of calloc()Yang Tse
2008-09-02Removed some redundant type castsDan Fandrich
2008-07-09- Andreas Schuldei improved Phil Blundell's patch for IPv6 using c-ares, and IDaniel Stenberg
edited it slightly. Now you should be able to use IPv6 addresses fine even with libcurl built to use c-ares.
2008-03-11- Dmitry Popov filed bug report #1911069Daniel Stenberg
(http://curl.haxx.se/bug/view.cgi?id=1911069) that identified a race condition in the name resolver code when the DNS cache is shared between multiple easy handles, each running in simultaneous threads that could cause crashes.
2008-01-15Woops, partly revert my previous commit and do it slightly differently instead.Daniel Stenberg
The signalling of that a global DNS cache is wanted is done by setting the option but the setting of the internal variable that it is in use must not be done until it finally actually gets used! NOTE and WARNING: I noticed that you can't actually switch off the global dns cache with CURLOPT_DNS_USE_GLOBAL_CACHE but you couldn't do that previously either and the option is very clearly and loudly documented as DO NOTE USE so I won't bother to fix this bug now.
2008-01-15I made the torture test on test 530 go through. This was actually due toDaniel Stenberg
silly code left from when we switched to let the multi handle "hold" the dns cache when using the multi interface... Of course this only triggered when a certain function call returned error at the correct moment.
2007-11-07if () => if()Daniel Stenberg
while () => while() and some other minor re-indentings
2007-09-28Renamed a variable to avoid shadowing a global declarations.Dan Fandrich
2007-08-26Fixed some minor mismatched types found by splint.Dan Fandrich
2007-07-01Thomas J. Moore provided a patch that introduces Kerberos5 support inDaniel Stenberg
libcurl. This also makes the options change name to --krb (from --krb4) and CURLOPT_KRBLEVEL (from CURLOPT_KRB4LEVEL) but the old names are still
2007-06-26Robert Iakobashvili re-arranged the internal hash code to work with a customDaniel Stenberg
hash function for different hashes, and also expanded the default size for the socket hash table used in multi handles to greatly enhance speed when very many connections are added and the socket API is used.
2007-04-25Steve Little's fixes to allow compilation on VMS 64-bit modeYang Tse
2007-02-26Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-filesGisle Vanem
since they're already included through "setup.h".
2007-02-21curlassert macro replaced with DEBUGASSERT macro defined in setup_once.hYang Tse
2006-08-21Workaround for Cray UNICOS 9.0 to fix ftp.Dan Fandrich
2006-08-16Minor portability fixes to get things running on UNICOS 9.0 on a Cray Y-MPDan Fandrich
2006-07-25Fix warning: no newline at end of fileYang Tse
2006-07-25Simplify check for NEED_MALLOC_H, and make more explicit that NEED_MALLOC_H ↵Yang Tse
shall be defined if <malloc.h> header file must be included even when including <stdlib.h>.
2006-07-25Moved functions common to IPv4 and C-ares to hostip.c;Gisle Vanem
Curl_freeaddrinfo() and Curl_ip2addr().
2006-07-25Remove comment about c-ares not supporting IPv6.Gisle Vanem
2006-07-21Constify arguments to Curl_he2ai() and Curl_addrinfo_copy().Gisle Vanem
2006-07-21Constify 'hostname' and 'service' to various resolver functions.Gisle Vanem
2006-07-11include <malloc.h> only if HAVE_MALLOC_H and NEED_MALLOC_H are both defined.Yang Tse
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