Commit Graph
124 Commits
Author SHA1 Message Date
Yang Tse e18952cc6f Sync up with reality 2008-09-17 01:33:43 +00:00
Daniel Stenberg d71fd1b305 Version 1.5.3 2008-08-29 08:33:02 +00:00
Yang Tse 2b838e85e7 George Neill's fix acountry sample application compilation failure. 2008-08-25 03:44:43 +00:00
Yang Tse 09d10cb5c5 Brad House's validation that DNS response address matches the request address 2008-08-25 03:34:50 +00:00
Daniel Stenberg 3f1bde7664 - Fix by Tofu Linden:
The symptom:
  * Users (usually, but not always) on 2-Wire routers and the Comcast service
  and a wired connection to their router would find that the second and
  subsequent DNS lookups from fresh processes using c-ares to resolve the same
  address would cause the process to never see a reply (it keeps polling for
  around 1m15s before giving up).

  The repro:
  * On such a machine (and yeah, it took us a lot of QA to find the systems
  that reproduce such a specific problem!), do 'ahost www.secondlife.com',
  then do it again.  The first process's lookup will work, subsequent lookups
  will time-out and fail.

  The cause:
  * init_id_key() was calling randomize_key() *before* it initialized
  key->state, meaning that the randomness generated by randomize_key() is
  immediately overwritten with deterministic values. (/dev/urandom was also
  being read incorrectly in the c-ares version we were using, but this was
  fixed in a later version.)
  * This makes the stream of generated query-IDs from any new c-ares process
  be an identical and predictable sequence of IDs.
  * This makes the 2-Wire's default built-in DNS server detect these queries
  as probable-duplicates and (erroneously) not respond at all.
2008-08-04 20:23:12 +00:00
Yang Tse 5c5e64b2f5 Autoconf 2.62 has changed the behaviour of the AC_AIX macro which we use.
Prior versions of autoconf defined _ALL_SOURCE if _AIX was defined. But,
autoconf 2.62 version of AC_AIX defines _ALL_SOURCE along with other four
preprocessor symbols no matter if the system is AIX or not. To keep the
traditional behaviour, as well as an uniform one, across autoconf versions
AC_AIX is replaced with our own internal macro.
2008-08-04 06:48:11 +00:00
Yang Tse e09327a51a Sync up with reality 2008-08-01 03:10:54 +00:00
Yang Tse 44ae9e4697 when recvfrom prototype uses a void pointer for arguments 2, 5 or 6 this will
now cause the definition of RECVFROM_TYPE_ARG2_IS_VOID, RECVFROM_TYPE_ARG5_IS_VOID
or RECVFROM_TYPE_ARG6_IS_VOID, as appropriate.
2008-07-21 00:36:55 +00:00
Yang Tse 2aeb0314f5 RECVFROM_TYPE_ARG2, RECVFROM_TYPE_ARG5 and RECVFROM_TYPE_ARG6 are now defined
to the data type pointed by its respective argument and not the pointer type.
2008-07-17 03:07:54 +00:00
Yang Tse 7dd6d7cbe1 Configure process now checks availability of recvfrom() socket function and
finds out its return type and the types of its arguments. Added definitions
for non-configure systems config files, and introduced macro sreadfrom which
will be used on udp sockets as a recvfrom() wrapper.
2008-07-16 19:16:41 +00:00
Yang Tse b95f5e5bed Improved configure detection of number of arguments for getservbyport_r 2008-07-16 12:26:09 +00:00
Yang Tse e5e2cd5659 Allow --enable-largefile and --disable-largefile configurations.
Configure process no longer needs nor checks size of curl_off_t.
Library will now be built with _REENTRANT symbol defined.
2008-07-15 16:43:39 +00:00
Daniel Stenberg 93e7573628 - Phil Blundell: If you ask ares_gethostbyname() to do an AF_INET6 lookup and
the target host has only A records, it automatically falls back to an
  AF_INET lookup and gives you the A results.  However, if the target host has
  a CNAME record, this behaviour is defeated since the original query does
  return some data even though ares_parse_aaa_reply() doesn't consider it
  relevant. Here's a small patch to make it behave the same with and without
  the CNAME.
2008-07-03 11:32:35 +00:00
Yang Tse cd1f1d080c fallback to gettimeofday when monotonic clock is unavailable at run-time 2008-07-02 03:04:56 +00:00
Daniel Stenberg 705c749aa1 - As was pointed out to me by Andreas Schuldei, the MAXHOSTNAMELEN define is
not posix or anything and thus c-ares failed to build on hurd (and possibly
  elsewhere). The define was also somewhat artificially used in the windows
  port. Now, I instead rewrote the use of gethostbyname to enlarge the host
  name buffer in case of need and totally avoid the use of the MAXHOSTNAMELEN
  define. I thus also removed the defien from the namser.h file where it was
  once added for the windows build.

  I also fixed init_by_defaults() function to not leak memory in case if
  error.
2008-06-30 12:48:25 +00:00
Yang Tse 4ccd0a85b1 fix pkg-config reporting of private libraries needed for static linking 2008-06-09 01:06:48 +00:00
Yang Tse 9191dc5c33 Brad House fixed a missing header file inclusion in adig sample program 2008-05-30 15:26:42 +00:00
Daniel Stenberg 2d09f0bf7c 1.5.2 2008-05-29 20:10:40 +00:00
Daniel Stenberg 46dbd9461a - Introducing millisecond resolution support for the timeout option. See
ares_init_options()'s ARES_OPT_TIMEOUTMS.
2008-05-13 20:48:48 +00:00
Yang Tse 0848b4fdaa Use monotonic time source if available. 2008-05-09 16:30:24 +00:00
Daniel Stenberg 0645b841d0 - Sebastian made c-ares able to return all PTR-records when doing reverse
lookups. It is not common practice to have multiple PTR-Records for a single
  IP, but its perfectly legal and some sites have those.
2008-05-07 21:20:45 +00:00
Daniel Stenberg 3994a0be7f - Doug Goldstein provided a configure patch: updates autoconf 2.13 usage to
autoconf 2.57 usage (which is the version you have specified as the minimum
  version). It's a minor change but it does clean up some warnings with newer
  autoconf (specifically 2.62).
2008-05-07 21:16:06 +00:00
Yang Tse fc4704b4d8 Improved parsing of resolver configuration files 2008-05-05 17:48:25 +00:00
Daniel Stenberg 2b31a21d91 - Alexey Simak fixed the VC dsp file by adding the missing source file
ares_expand_string.c
2008-04-04 20:26:06 +00:00
Daniel Stenberg b1c3cc0cfe Alexey Simak made adig support NAPTR records 2008-04-04 20:24:41 +00:00
Daniel Stenberg cb4a169f75 Eino Tuominen improved the code when a file is used to seed the randomizer 2008-04-04 20:05:23 +00:00
Gisle Vanem 521b982a8b Added acountry.c. 2007-12-11 17:26:07 +00:00
Daniel Stenberg aae96300a4 Erik Kline cleaned up ares_gethostbyaddr.c:next_lookup() somewhat 2007-12-03 10:25:05 +00:00
Daniel Stenberg dc0e93d89e Brad Spencer fixed the configure script to assume that there's no
/dev/urandom when built cross-compiled as then the script cannot check for
it.
2007-12-03 10:22:29 +00:00
Daniel Stenberg 2e31cc0be4 and we start on 1.5.2! 2007-11-21 10:16:44 +00:00
Daniel Stenberg 73b3390b83 change 2007-11-21 10:12:20 +00:00
Yang Tse a15a88a4e6 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
Daniel Stenberg e4eb2d0e1d 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 c577d2455e today's modifications by Steinar and me 2007-09-28 20:28:20 +00:00
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.
2007-09-22 21:23:10 +00:00
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.
2007-09-22 21:04:16 +00:00
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.
2007-09-22 20:45:50 +00:00
Daniel Stenberg 278e8f3926 added Vlad's entire description of his valgrind fix 2007-07-14 13:11:36 +00:00
Daniel Stenberg 403b315a3b Vlad Dinulescu fixed two outstanding valgrind reports 2007-07-14 13:08:50 +00:00
Daniel Stenberg 93bb7ef1ea 1.4.0 preps 2007-06-08 08:46:28 +00:00
Daniel Stenberg 5b992f99dc the revert 2007-06-05 13:53:10 +00:00
Daniel Stenberg fc5a460e0e 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 efa231bec5 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 4e27354b82 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 7a77f24d26 Shmulik Regev brought cryptographically secure transaction IDs 2007-05-30 21:11:10 +00:00
Daniel Stenberg f1440b2405 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 8c35c65fc7 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 557aad7b02 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 d741a92e20 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
Daniel Stenberg c1bc4c19be Vlad Dinulescu added ares_parse_ns_reply() 2007-02-19 14:06:11 +00:00