Yang Tse
582bad89ef
sync with lib/setup_once.h
2007-10-17 16:59:24 +00:00
Steinar H. Gunderson
92aaff009d
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.
2007-10-16 21:27:51 +00:00
Dan Fandrich
a83b5d1b67
Mention first version with CURLOPT_COPYPOSTFIELDS.
...
Don't confuse NUL with NULL.
2007-10-15 21:19:40 +00:00
Gisle Vanem
3c875e0112
Added needed 'HAVE_*' defines.
2007-10-08 14:39:52 +00:00
Gisle Vanem
59136ece19
'FD_CLOXEC' is meaningless on MSDOS/Watt-32.
2007-10-08 14:38:51 +00:00
Steinar H. Gunderson
91b38857ef
Removed a piece of redundant code (process_answer already takes care of it).
2007-10-04 08:12:12 +00:00
Steinar H. Gunderson
6d5f899761
Another timeout fix in ares_getnameinfo().
2007-10-04 08:09:52 +00:00
Steinar H. Gunderson
77a3e3c7f7
Send the timeout count in ares_getnameinfo().
2007-10-04 08:09:04 +00:00
Steinar H. Gunderson
81249965f7
Moved the NULL check for channel upwards in ares_destroy().
2007-10-04 08:07:47 +00:00
Steinar H. Gunderson
45c6db9ac4
Clarified the comment over ares_cancel.
2007-10-04 08:06:25 +00:00
Yang Tse
94162d62ac
Avoid a segfault when generating a DNS "Transaction ID" in internal
...
function init_id_key() under low memory conditions.
2007-10-02 18:26:48 +00:00
Yang Tse
f5cad68d22
Add ares_llist.c and ares_llist.h to MSCV project file.
2007-10-02 11:13:58 +00:00
Daniel Stenberg
19c8da85d8
Fixed the problem where next_lookup would use 'status' uninitialized. Now
...
it gets passed the initial value as an argument.
2007-10-02 08:12:30 +00:00
Yang Tse
b03abddb28
Avoid inline C99ism, and move c-ares routines for managing doubly-linked lists.
2007-10-02 02:18:01 +00:00
Daniel Stenberg
ccf083e26d
ares_strerror() segfaulted if the input error number was out of the currently
...
supported range.
2007-10-01 22:52:31 +00:00
Daniel Stenberg
dbd4abf0ff
Prevent ares_strerror() from segfaulting if an invalid error code is passed
...
in as argument!
2007-10-01 22:51:38 +00:00
Yang Tse
38dd0ede9d
Fix compiler warning
2007-09-30 19:43:23 +00:00
Yang Tse
62c264bcdb
check availability of <netinet/tcp.h>
2007-09-30 02:12:11 +00:00
Yang Tse
d243908a01
improve portability, defining MAXDNAME and MAXCDNAME
2007-09-30 00:37:47 +00:00
Steinar H. Gunderson
c145fbea49
Fix a memory leak that I recently inadvertedly introduced.
2007-09-30 00:08:01 +00:00
Steinar H. Gunderson
84fcff79f4
Use ISDIGIT instead of isdigit; fixes a gcc warning.
2007-09-29 21:57:05 +00:00
Steinar H. Gunderson
2694b970e8
Port the TCP socket fix made in ares_fds() to ares_getsock() as well.
2007-09-29 19:26:59 +00:00
Steinar H. Gunderson
23f5d145ec
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.
2007-09-29 18:18:47 +00:00
Gisle Vanem
b01ab65225
We should standarise on C comments.
2007-09-29 14:37:47 +00:00
Gisle Vanem
7a7f490efa
Fix compiler warning in setsockopt().
2007-09-29 14:34:59 +00:00
Steinar H. Gunderson
95c15fce0c
TCP queries can time out too, not just UDP queries. (Patch from the Google tree.)
2007-09-29 14:25:14 +00:00
Steinar H. Gunderson
c788efffd4
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.)
2007-09-29 14:21:47 +00:00
Steinar H. Gunderson
c1a475e708
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.)
2007-09-29 14:09:14 +00:00
Steinar H. Gunderson
d0de9663e2
Reject names that are longer than 255 characters, to avoid problems with strict or buggy DNS server implementations. (Patch from the Google tree)
2007-09-29 13:58:23 +00:00
Steinar H. Gunderson
d6dd848523
In ares_mkquery, make sure we set buflen and buf to reasonable values if there's an error. (Patch from the Google tree)
2007-09-29 13:56:36 +00:00
Steinar H. Gunderson
9fc66e4dd9
Be stricter about what's a valid IP address in fake_hostent. (Patch from the Google tree.)
2007-09-29 13:52:14 +00:00
Steinar H. Gunderson
6ecea9453b
Handle the root of the DNS tree correctly in ares_expand_name.
2007-09-29 13:38:17 +00:00
Daniel Stenberg
8179743cee
today's modifications by Steinar and me
2007-09-28 20:28:20 +00:00
Daniel Stenberg
3d59a3855a
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)
2007-09-28 20:28:06 +00:00
Steinar H. Gunderson
ef3b425b11
Unrevert previous 'missing' hunks. They were missing since the patch is still in for review :-)
2007-09-28 15:56:28 +00:00
Steinar H. Gunderson
026d93b4f6
Yet more missing hunks... Nggh.
2007-09-28 15:55:11 +00:00
Steinar H. Gunderson
36710c4586
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.
2007-09-28 15:53:10 +00:00
Steinar H. Gunderson
63ac6156aa
Forgot to include a few hunks from ares_process.c earlier. Fixing now.
2007-09-28 15:51:00 +00:00
Steinar H. Gunderson
08a70d117c
Support a few more socket options, and refactor the option setting a bit. (Patch from the Google tree.)
2007-09-28 15:15:39 +00:00
Steinar H. Gunderson
6ce589c3ee
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.)
2007-09-28 14:46:51 +00:00
Steinar H. Gunderson
d426c20c0a
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.
2007-09-28 14:28:14 +00:00
Steinar H. Gunderson
54ca7d8cb2
Don't skip a server if it's the only one. (Bugfix from the Google tree.)
2007-09-28 14:26:11 +00:00
Daniel Stenberg
015fc6aa17
wrong, revert the previous "fix" and instead check that the fd_set pointer
...
is non-NULL before we FD_CLR
2007-09-27 12:04:56 +00:00
Daniel Stenberg
a739b9bc45
eek, fix the conditions to return on either problem instead of requiring
...
both to occur
2007-09-27 12:02:15 +00:00
Daniel Stenberg
0f4664d27f
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.
2007-09-22 21:23:10 +00:00
Daniel Stenberg
0f89a2e639
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.
2007-09-22 21:04:16 +00:00
Daniel Stenberg
05b26e7566
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.
2007-09-22 20:45:50 +00:00
Daniel Stenberg
d460b601f9
added initial pkg-config file (attempt)
2007-07-26 21:56:47 +00:00
Gunter Knauf
37dc0fa519
added curl include for debug builds.
2007-07-20 21:50:53 +00:00
Daniel Stenberg
598c589359
added another SEE ALSO
2007-07-14 23:01:49 +00:00
Daniel Stenberg
1261c3feba
Brad House's fix to hish a win32 compiler warning
2007-07-14 13:14:58 +00:00
Daniel Stenberg
7fc300d5dc
added Vlad's entire description of his valgrind fix
2007-07-14 13:11:36 +00:00
Daniel Stenberg
88ce03e945
Vlad Dinulescu fixed two outstanding valgrind reports
2007-07-14 13:08:50 +00:00
Gunter Knauf
41df67fc2c
added better CodeWarrior detection.
2007-07-08 23:17:56 +00:00
Gunter Knauf
932d38323f
removed some obsolete include paths and defines.
2007-07-07 16:26:02 +00:00
Gunter Knauf
6606ae6fe0
add test for gettimeofday() so that HAVE_GETTIMEOFDAY gets defined.
2007-07-04 17:20:19 +00:00
Gunter Knauf
3760180320
although the check for HAVE_STRUCT_TIMEVAL solved the redefine it is incorrect; lets see if a check for HAVE_GETTIMEOFDAY also works; if gettimeofday() is present then we can assume we have the timezone struct too.
2007-07-04 10:54:15 +00:00
Gunter Knauf
056af4c9ac
added check for sys/param.h.
2007-07-04 09:01:40 +00:00
Gunter Knauf
07bf3c86b6
trial to catch problem with Daniels cross-mingw ares builds.
2007-07-03 18:18:40 +00:00
Gunter Knauf
4182803bc2
added NetWare CLIB-own header to solve gcc warnings.
2007-07-03 16:21:57 +00:00
Gunter Knauf
7509ef6b4e
few minor changes to make ares compile for NetWare CLIB architecture.
2007-07-03 16:00:36 +00:00
Gunter Knauf
a7513a8521
changed to build for CLIB / LIBC.
2007-07-03 00:42:11 +00:00
Gunter Knauf
f1537d45ca
sync'd with lib makefile changes: use var for awk; fixed RECV* / SEND* defines; debug var can be overwritten; added better compiler path handling.
2007-07-02 18:50:18 +00:00
Daniel Stenberg
2fd2ca9dac
start working on 1.4.1
2007-06-08 09:01:33 +00:00
Daniel Stenberg
82d6240e7d
1.4.0 preps
2007-06-08 08:46:28 +00:00
Daniel Stenberg
42a2138d11
the revert
2007-06-05 13:53:10 +00:00
Daniel Stenberg
90d40aff72
Revered Ashish Sharma's multiple entries patch, as it caused memory madness
2007-06-04 21:33:02 +00:00
Daniel Stenberg
30808dca40
minor edit since getting an ID seems pointless when failure happens
2007-06-04 21:26:30 +00:00
Daniel Stenberg
8629620b1c
fix the bad bad bad mess this caused on name resolves returning more than
...
one name... Reported by James Bursa
2007-06-04 21:04:14 +00:00
Daniel Stenberg
25d2a27c64
Brad Spencer found and fixed three flaws in the code, found with the new
...
gcc 4.2.0 warning: -Waddress
2007-06-02 20:09:23 +00:00
Daniel Stenberg
b084dc8760
Brad House fixed VS2005 compiler warnings due to time_t being 64bit.
...
He also made recent Microsoft compilers use _strdup() instead of strdup().
2007-06-02 19:48:29 +00:00
Daniel Stenberg
2ae9536d32
Ashish Sharma provided a patch for supporting multiple entries in the
...
/etc/hosts file. Patch edited for coding style and functionality by me
(Daniel).
2007-06-02 19:42:25 +00:00
Daniel Stenberg
f5713dbb2e
ares_destroy_options() and ares_save_options() man pages by Brad House
2007-06-02 19:32:30 +00:00
Daniel Stenberg
14b9b823e6
make next version 1.4.0
2007-05-30 21:45:56 +00:00
Daniel Stenberg
6a674ded0e
first take at detecting a random device and seeding the random key using data
...
from it in randomize_key()
2007-05-30 21:37:17 +00:00
Daniel Stenberg
2faba57c85
Shmulik Regev brought cryptographically secure transaction IDs
2007-05-30 21:11:10 +00:00
Daniel Stenberg
79d59ec97b
Brad House added ares_save_options() and ares_destroy_options() that can be
...
used to keep options for later re-usal when ares_init_options() is used.
2007-05-30 20:49:14 +00:00
Daniel Stenberg
670273968c
added ares_process_fd() to allow applications to ask for processing on
...
specific sockets and thus avoiding select() and associated functions/macros.
This function will be used by upcoming libcurl releases for this very
reason. It also made me export the ares_socket_t type in the public ares.h
header file, since ares_process_fd() uses that type for two of the arguments.
2007-05-30 12:58:47 +00:00
Daniel Stenberg
fcc3e2ca34
Ravi Pratap fixed a flaw in the init_by_resolv_conf() function for windows
...
that could cause it to return a bad return code.
2007-05-25 21:11:28 +00:00
Yang Tse
94b253fde7
Steve Little's fixes to allow compilation on VMS 64-bit mode
2007-04-25 03:00:10 +00:00
Gunter Knauf
c8d3327e92
fixed ARFLAGS for CodeWarrior build.
2007-04-21 15:32:35 +00:00
Gunter Knauf
f30ae93a1f
added ranlib when library is created with ar.
2007-04-16 20:54:56 +00:00
Gisle Vanem
365e8eb78e
No need for USE_MANUAL. Use select_s() instead of select().
...
Added ares_getopt.o to program sample objects.
2007-04-16 16:52:56 +00:00
Yang Tse
827228bd69
move linkage var declarations to ares_getopt.h
2007-04-16 15:35:34 +00:00
Gunter Knauf
69c5506b69
use Makefile.inc to determine sources.
2007-04-16 13:53:58 +00:00
Gunter Knauf
3a2e623fc8
ares_getopt() command-line parser function does not belong to actual c-ares library. It is just a convinience source code helper function for use in example programs adig.c and ahost.c
2007-04-16 13:17:26 +00:00
Yang Tse
b0b6a853f6
ares_getopt() command-line parser function does not belong to actual
...
c-ares library. It is just a convinience source code helper function
for use in example programs adig.c and ahost.c
2007-04-16 09:08:15 +00:00
Yang Tse
0563a7a923
ares_getopt() command-line parser function does not belong to actual
...
c-ares library. It is just a convinience source code helper function
for use in example programs adig.c and ahost.c
2007-04-16 09:01:16 +00:00
Yang Tse
ea74b4b8e1
update MSVC project files with ares_getopt()
2007-04-12 19:14:00 +00:00
Yang Tse
2364066be0
use ares_getopt for all platforms
2007-04-12 19:01:19 +00:00
Yang Tse
b36376e12d
add ares_getopt prototype
2007-04-12 18:59:46 +00:00
Yang Tse
8aae15b630
Rename function as ares_getopt()
2007-04-12 18:06:41 +00:00
Yang Tse
88bf2a2dc7
Replace tabs with spaces
2007-04-12 17:45:57 +00:00
Yang Tse
45847c5324
Add file ares_getopt.c
...
Original file name getopt.c Initial import into the c-ares source tree
on 2007-04-11. Lifted from version 5.2 of the 'Open Mash' project with
the modified BSD license, BSD license without the advertising clause.
2007-04-12 16:53:59 +00:00
Yang Tse
84c5e846b3
convenience SIG_ATOMIC_T macro definition
2007-04-11 11:02:13 +00:00
Yang Tse
8fe9376d54
move WinSock definitions of EBADF, EINTR, EINVAL and EAFNOSUPPORT to setup_once.h
2007-04-04 06:06:36 +00:00
Yang Tse
584f3639e3
update copyright year
2007-04-03 18:25:18 +00:00
Yang Tse
305e03905f
Cleanup. Warnings related with FD_SET, FD_ISSET, and FD_ZERO macros
...
are not icc 9.0 specific.
2007-04-03 02:45:04 +00:00
Gunter Knauf
45b2577974
added variadic macro stuff.
2007-03-27 19:27:43 +00:00
Gunter Knauf
5fbc93c3eb
added CVS Id tag.
2007-03-26 01:54:06 +00:00