Yang Tse
788acb901c
Sync PLATFORM_AIX_V3 detection and CURL_CC_DEBUG_OPTS()
...
icc warning level with libcurl's
17 years ago
Yang Tse
57abe9d22d
Fix compiler warning: conversion from "int" to "unsigned char"
...
may lose significant bits
17 years ago
Yang Tse
2c8db1aec8
actually sync with lib/setup_once.h
17 years ago
Yang Tse
0a7eb8e30e
sync with lib/setup_once.h
17 years ago
Steinar H. Gunderson
6bd2b895fb
Fix a bug where fallback from AF_INET6 to AF_INET would not work properly together with relative search; if you had a search path of .a.com and .b.com, and foo.a.com would return ARES_ENODATA and foo.b.com would return ARES_ENOTFOUND, the lookup would not properly retry with AF_INET as it forgot the first ARES_ENODATA.
17 years ago
Dan Fandrich
92b8afea6a
Mention first version with CURLOPT_COPYPOSTFIELDS.
...
Don't confuse NUL with NULL.
17 years ago
Gisle Vanem
8b280df27d
Added needed 'HAVE_*' defines.
17 years ago
Gisle Vanem
6ff970c067
'FD_CLOXEC' is meaningless on MSDOS/Watt-32.
17 years ago
Steinar H. Gunderson
f75d1172f8
Removed a piece of redundant code (process_answer already takes care of it).
17 years ago
Steinar H. Gunderson
b7dec81498
Another timeout fix in ares_getnameinfo().
17 years ago
Steinar H. Gunderson
d5919bbe17
Send the timeout count in ares_getnameinfo().
17 years ago
Steinar H. Gunderson
4f438605ca
Moved the NULL check for channel upwards in ares_destroy().
17 years ago
Steinar H. Gunderson
47e86f021f
Clarified the comment over ares_cancel.
17 years ago
Yang Tse
a15a88a4e6
Avoid a segfault when generating a DNS "Transaction ID" in internal
...
function init_id_key() under low memory conditions.
17 years ago
Yang Tse
962f9c220a
Add ares_llist.c and ares_llist.h to MSCV project file.
17 years ago
Daniel Stenberg
338d59bd0b
Fixed the problem where next_lookup would use 'status' uninitialized. Now
...
it gets passed the initial value as an argument.
17 years ago
Yang Tse
343d6f221f
Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists.
17 years ago
Daniel Stenberg
e4eb2d0e1d
ares_strerror() segfaulted if the input error number was out of the currently
...
supported range.
17 years ago
Daniel Stenberg
250e7c4020
Prevent ares_strerror() from segfaulting if an invalid error code is passed
...
in as argument!
17 years ago
Yang Tse
10df4bdba2
Fix compiler warning
17 years ago
Yang Tse
68aa62d76b
check availability of <netinet/tcp.h>
17 years ago
Yang Tse
a0b8ac2bdc
improve portability, defining MAXDNAME and MAXCDNAME
17 years ago
Steinar H. Gunderson
879f89a989
Fix a memory leak that I recently inadvertedly introduced.
17 years ago
Steinar H. Gunderson
60519063ea
Use ISDIGIT instead of isdigit; fixes a gcc warning.
17 years ago
Steinar H. Gunderson
ff7137ad74
Port the TCP socket fix made in ares_fds() to ares_getsock() as well.
17 years ago
Steinar H. Gunderson
04e49e09dc
Previously, processing a large batch of timeouts was O(n^2) in the number of
...
outstanding queries, and processing a DNS response packet was O(n) in the
number of outstanding queries. To speed things up in Google, we added a few circular,
doubly-linked lists of queries that are hash-bucketed based on
the attributes we care about, so most important operations are now O(1).
It might be that the number of buckets are higher than most people would need,
but on a quick calculation it should only be 100kB or so even on a 64-bit
system, so I've let it stay as-is.
17 years ago
Gisle Vanem
edf1901077
We should standarise on C comments.
17 years ago
Gisle Vanem
053ffe405d
Fix compiler warning in setsockopt().
17 years ago
Steinar H. Gunderson
13d4d28e11
TCP queries can time out too, not just UDP queries. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
21feec7d2d
Read and process as many packets as possible in read_udp_packets, to avoid having to run the entire event loop once per packet. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
2f7d637426
There are two different places in write_tcp_data() that advance the send_queue; however, they are slightly different and only the first one properly uses a while loop. Consolidate both into a single function that DTTR. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
46f3220097
Reject names that are longer than 255 characters, to avoid problems with strict or buggy DNS server implementations. (Patch from the Google tree)
17 years ago
Steinar H. Gunderson
22c2794e76
In ares_mkquery, make sure we set buflen and buf to reasonable values if there's an error. (Patch from the Google tree)
17 years ago
Steinar H. Gunderson
cccd9a58cd
Be stricter about what's a valid IP address in fake_hostent. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
49162e5b67
Handle the root of the DNS tree correctly in ares_expand_name.
17 years ago
Daniel Stenberg
c577d2455e
today's modifications by Steinar and me
17 years ago
Daniel Stenberg
e64b103303
Bumped version to 1.5.0 for next release and soname bumped to 2 due to ABI
...
and API changes in the progress callback (and possibly more coming up from
Steinar)
17 years ago
Steinar H. Gunderson
3b5e49995f
Unrevert previous 'missing' hunks. They were missing since the patch is still in for review :-)
17 years ago
Steinar H. Gunderson
f785dbd9c4
Yet more missing hunks... Nggh.
17 years ago
Steinar H. Gunderson
55d44d3be6
Always register for TCP events even if there are no outstanding queries, as the other side could always close the connection, which is a valid event which should be responded to.
17 years ago
Steinar H. Gunderson
c24cd24870
Forgot to include a few hunks from ares_process.c earlier. Fixing now.
17 years ago
Steinar H. Gunderson
56ffdcefe1
Support a few more socket options, and refactor the option setting a bit. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
50ba81cd23
Make the query callbacks return the number of timeouts that happened during the execution of a query, and update documentation accordingly. (Patch from the Google tree.)
17 years ago
Steinar H. Gunderson
b669e17544
Three fixes in one commit (sorry): a) Take care of the tcpbuf if it ends while queued for transmission, note broken servers and close them in the main loop, and store TCP socket generation number in order not to send the same query twice over the same socket.
17 years ago
Steinar H. Gunderson
a6a159dcad
Don't skip a server if it's the only one. (Bugfix from the Google tree.)
17 years ago
Daniel Stenberg
c97d91e349
wrong, revert the previous "fix" and instead check that the fd_set pointer
...
is non-NULL before we FD_CLR
17 years ago
Daniel Stenberg
99f15b20e8
eek, fix the conditions to return on either problem instead of requiring
...
both to occur
17 years ago
Daniel Stenberg
b17bb1bb67
Steinar H. Gunderson fixed: Correctly clear sockets from the fd_set on in
...
several functions (write_tcp_data, read_tcp_data, read_udp_packets) so that
if it fails and the socket is closed the following code doesn't try to use
the file descriptor.
17 years ago
Daniel Stenberg
eee17fc854
Steinar H. Gunderson modified c-ares to now also do to DNS retries even when
...
TCP is used since there are several edge cases where it still makes sense.
17 years ago
Daniel Stenberg
2b43edc964
Brad House provided a fix for ares_save_options(): Apparently I overlooked
...
something with the ares_save_options() where it would try to do a malloc(0)
when no options of that type needed to be saved. On most platforms, this was
fine because malloc(0) doesn't actually return NULL, but on AIX it does, so
ares_save_options would return ARES_ENOMEM.
17 years ago