Vsevolod Novikov
ca015f1a45
asynch resolvers: unified
...
Introducing an internal API for handling of different async resolver
backends.
2011-04-25 19:47:16 +02:00
Daniel Stenberg
ef19e30985
ares: memory leak fix
...
The double name resolve trick used with c-ares could leave allocated
memory in 'temp_ai' if the operation was aborted in the middle.
2011-01-27 14:41:07 +01:00
Daniel Stenberg
b6a3e2be8e
c-ares: fix cancelled resolves
...
When built IPv6-enabled, we could do Curl_done() with one of the two
resolves having returned already, so when ares_cancel() is called the
resolve callback ends up doing funny things (sometimes resulting in a
segfault) since it would try to actually store the previous resolve even
though we're shutting down the resolve.
This bug was introduced in commit 8ab137b2bc
so it hasn't been
included in any public release.
Bug: http://curl.haxx.se/bug/view.cgi?id=3145445
Reported by: Pedro Larroy
2010-12-27 10:01:44 +01:00
Tommie Gannert
8ab137b2bc
ares: ask for both IPv4 and IPv6 addresses
...
Make the c-ares resolver code ask for both IPv4 and IPv6 addresses when
IPv6 is enabled.
This is a workaround for the missing ares_getaddrinfo() and is a lot
easier to implement.
Note that as long as c-ares returns IPv4 addresses when IPv6 addresses
were requested but missing, this will cause a host's IPv4 addresses to
occur twice in the DNS cache.
URL: http://curl.haxx.se/mail/lib-2010-12/0041.html
2010-12-18 22:33:27 +01:00
Daniel Stenberg
2309b4e330
remove the CVSish $Id$ lines
2010-03-24 11:02:54 +01:00
Yang Tse
bfc4c33985
Constantine Sapuntzakis refactoring of async callbacks, allowing
...
removal of Curl_addrinfo_copy(), Curl_addrinfo6_callback(), and
Curl_addrinfo4_callback()
2010-01-22 06:36:52 +00:00
Yang Tse
3184a91ec8
VMS specific preprocessor symbol checking adjustments
2009-12-30 17:59:56 +00:00
Yang Tse
33a3753c3f
libcurl's memory.h renamed to curl_memory.h
2009-04-21 11:46:16 +00:00
Yang Tse
9770899a4b
Moved potential inclusion of system's malloc.h and memory.h header files to
...
setup_once.h. Inclusion of each header file is based on the definition of
NEED_MALLOC_H and NEED_MEMORY_H respectively.
2009-04-21 10:26:58 +00:00
Yang Tse
0ce97f77e0
Use our Curl_addrinfo definition even when an addrinfo struct is available.
...
Use a wrapper function to call system's getaddrinfo().
2008-10-30 13:45:25 +00:00
Dan Fandrich
8f467b4288
Removed unneeded includes of signal.h and setjmp.h
2008-09-29 21:44:50 +00:00
Yang Tse
4e909ee8b1
ntoa() and inet_ntoa_r() no longer used
2008-09-24 12:22:16 +00:00
Daniel Stenberg
2c105af910
Adapted the c-ares code to the API change c-ares 1.5.0 brings in the
...
notifier callback(s).
2007-09-28 21:48:28 +00:00
Yang Tse
584f3639e3
update copyright year
2007-04-03 18:25:18 +00:00
Gisle Vanem
c514a2a89a
Removed inclusion of <sys/types.h> and <sys/stat.h> in .c-files
...
since they're already included through "setup.h".
2007-02-26 04:24:26 +00:00
Yang Tse
13616f8f96
Simplify check for NEED_MALLOC_H, and make more explicit that NEED_MALLOC_H shall be defined if <malloc.h> header file must be included even when including <stdlib.h>.
2006-07-25 13:49:49 +00:00
Gisle Vanem
4a1a1a75fb
Added note for CURLRES_ARES and CURLRES_IPV6.
2006-07-25 10:49:12 +00:00
Yang Tse
fe22872d14
include <malloc.h> only if HAVE_MALLOC_H and NEED_MALLOC_H are both defined.
2006-07-11 21:34:23 +00:00
Daniel Stenberg
e85e30546c
Roland Blom filed bug report #1481217
...
(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-05-04 22:39:47 +00:00
Gisle Vanem
3cbb1b2b64
Use the HAVE_MALLOC_H and HAVE_PROCESS_H defines
...
(more logical).
2006-04-26 17:23:28 +00:00
Daniel Stenberg
5f0366c2cb
only define _REENTRANT if not already defined, and only in setup.h
2005-04-19 23:19:23 +00:00
Daniel Stenberg
ab4086bc24
Updated the copyright year since changes have been this year.
2005-03-31 07:02:02 +00:00
Daniel Stenberg
6a2e21ec8c
FTP code turned into state machine. Not completely yet, but a good start.
...
The tag 'before_ftp_statemachine' was set just before this commit in case
of future need.
2005-02-09 13:06:40 +00:00
Gisle Vanem
d118312922
Curl_addrinfo?_callback() and addrinfo_callback() now returns
...
CURLE_OK or CURLE_OUT_OF_MEMORY.
Add typecast in hostares.c.
2005-02-08 12:36:13 +00:00
Daniel Stenberg
39af394a1c
removed tabs and trailing whitespace from source
2004-10-06 07:50:18 +00:00
Daniel Stenberg
2ee6c33412
set async.done to TRUE last in the addrinfo callback to prevent the risk that
...
the multi-threaded resolver does wrong
2004-10-03 21:32:24 +00:00
Daniel Stenberg
785bad388b
Gisle cleaned up remaining host resolve re-org issues
2004-06-24 14:39:52 +00:00
Daniel Stenberg
c39858aac0
Source cleanups. The major one being that we now _always_ use a Curl_addrinfo
...
linked list for name resolved data, even on hosts/systems with only IPv4
stacks as this simplifies a lot of code.
2004-06-24 07:43:48 +00:00
Daniel Stenberg
17eb1fca7c
+ when storing the address in the cache fails, cleanup the resolved address
...
properly
+ delete trailing whitespace
2004-05-18 07:35:37 +00:00
Daniel Stenberg
bbafb2eb27
curl_global_init_mem() allows the memory functions to be replaced.
...
memory.h is included everywhere for this.
2004-05-11 11:30:23 +00:00
Daniel Stenberg
648e82f05d
Major hostip.c cleanup and split into multiple files and easier #ifdef
...
usage.
2004-04-26 07:20:11 +00:00