1
0
mirror of https://frontier.innolan.net/rainlance/c-ares.git synced 2025-10-06 18:19:52 +00:00
Commit Graph

95 Commits

Author SHA1 Message Date
2e31cc0be4 and we start on 1.5.2! 2007-11-21 10:16:44 +00:00
73b3390b83 change 2007-11-21 10:12:20 +00:00
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
e4eb2d0e1d ares_strerror() segfaulted if the input error number was out of the currently
supported range.
2007-10-01 22:52:31 +00:00
c577d2455e today's modifications by Steinar and me 2007-09-28 20:28:20 +00:00
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
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
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
278e8f3926 added Vlad's entire description of his valgrind fix 2007-07-14 13:11:36 +00:00
403b315a3b Vlad Dinulescu fixed two outstanding valgrind reports 2007-07-14 13:08:50 +00:00
93bb7ef1ea 1.4.0 preps 2007-06-08 08:46:28 +00:00
5b992f99dc the revert 2007-06-05 13:53:10 +00:00
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
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
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
7a77f24d26 Shmulik Regev brought cryptographically secure transaction IDs 2007-05-30 21:11:10 +00:00
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
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
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
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
c1bc4c19be Vlad Dinulescu added ares_parse_ns_reply() 2007-02-19 14:06:11 +00:00
6751a208d6 Fix c-ares failing to get the search sequence of /etc/hosts and
DNS from /etc/nsswitch.conf, /etc/host.conf or /etc/svc.conf when
/etc/resolv.conf did not exist or was unable to read it.
2007-02-13 16:14:25 +00:00
6a59182e81 Michael Wallner fixed this problem: When I set domains in the options
struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.
2006-11-22 22:54:41 +00:00
bc76d02bc3 Install ares_dns.h too 2006-11-22 22:51:01 +00:00
877966659d avoid a couple of potential zero size memory allocations 2006-11-06 13:56:51 +00:00
fadf4bfa08 mention the areslib.dsp fix 2006-11-05 23:11:22 +00:00
a39a54189b stand clear for release 1.3.2 2006-11-03 10:47:35 +00:00
8df5b67ab0 Prevent ares_getsock() to overflow if more than 16 sockets are used. 2006-10-13 21:25:11 +00:00
d3439e3332 - Guilherme Balena Versiani: I noted a strange BUG in Win32 port
(ares_init.c/get_iphlpapi_dns_info() function): when I disable the network
  by hand or disconnect the network cable in Windows 2000 or Windows XP, my
  application gets 127.0.0.1 as the only name server. The problem comes from
  'GetNetworkParams' function, that returns the empty string "" as the only
  name server in that case. Moreover, the Windows implementation of
  inet_addr() returns INADDR_LOOPBACK instead of INADDR_NONE.
2006-09-11 20:25:13 +00:00
1bec3073dc Brad Spencer did
o made ares_version.h use extern "C" for c++ compilers
 o fixed compiler warnings in ares_getnameinfo.c
 o fixed a buffer position init for TCP reads
2006-08-29 15:17:47 +00:00
19fb255f9e Ravi Pratap fixed ares_getsock() to actually return the proper bitmap and
not always zero!
2006-08-03 18:20:45 +00:00
08ce30f216 Added getopt() processing. 2006-07-23 10:10:52 +00:00
0e07499e96 1.3.1 2006-06-24 18:29:18 +00:00
d1ad89f943 Remove "big endian" DNS section and RR data integer parser macros from
ares_dns.h, which break c-ares on my Sparc64. Bit-wise operations in C
operate on logical values. And in any event the octets are already in
big-endian (aka network) byte order so they're being reversed (thus the
source of the breakage).
2006-06-19 06:41:55 +00:00
70dbc3725d Handle EAGAIN/EWOULDBLOCK readiness errors, which can occur for both TCP and
UDP even when a poll(2) or select(2) suggest otherwise.
2006-06-19 01:18:05 +00:00
e75c876ac5 Bram Matthys brought my attention to a libtool peculiarity where detecting
things such as C++ compiler actually is a bad thing and since we don't need
that detection I added a work-around, much inspired by a previous patch by
Paolo Bonzini. This also shortens the configure script quite a lot.
2006-05-10 08:03:54 +00:00
22e34b53e4 Nick Mathewson added the ARES_OPT_SOCK_STATE_CB option that when set makes
c-ares call a callback on socket state changes. A better way than the
ares_getsock() to get full control over the socket state.
2006-05-03 06:11:44 +00:00
de713cb37d Alexander Lazic improved the getservbyport_r() configure check. 2006-01-09 08:31:48 +00:00
7a03bdaf34 buildconf fixes 2006-01-06 22:59:34 +00:00
d07656e76d James Bursa fixes: find the hosts file on RISC OS, and made it build with
newer gcc versions that no longer defines "riscos".
2006-01-05 07:57:32 +00:00
7b650b80c1 added ares_getsock() 2005-12-22 15:29:12 +00:00
513f448061 Yang Tse fixed compiler warnings 2005-11-25 22:45:06 +00:00
6afd5c16d3 Added constants that will be used by ares_getaddrinfo. Made ares_getnameinfo use the reentrant getservbyport (getservbyport_r) if it isavailable to ensure it works properly in a threaded environment 2005-09-18 16:44:49 +00:00
8df407ed7d mention the configure change 2005-09-15 19:23:31 +00:00
7885baf74d 1.3.0 coming just up 2005-08-29 07:03:05 +00:00
a8bb249d07 Alfredo Tupone provided a fix for the Windows code in get_iphlpapi_dns_info()
when getting the DNS server etc.
2005-08-21 21:09:44 +00:00
ebcf14a69b Added some checks for the addrinfo structure. 2005-06-19 16:58:40 +00:00
4e9c5b2dbb William Ahern:
Make UDP sockets non-blocking. I've confirmed that at least on Linux 2.4 a
  read event can come back from poll() on a valid SOCK_DGRAM socket but
  recv(2) will still block. This patch doesn't ignore EAGAIN in
  read_udp_packets(), though maybe it should. (This patch was edited by Daniel
  Stenberg and a new configure test was added (imported from curl's configure)
  to properly detect what non-blocking socket approach to use.)
2005-06-02 11:58:04 +00:00
ae75ee1423 William Ahern:
I'm not quite sure how this was happening, but I've been seeing PTR queries
  which seem to return empty responses. At least, they were empty when calling
  ares_expand_name() on the record. Here's a patch which guarantees to
  NUL-terminate the expanded name. The old behavior failed to NUL-terminate if
  len was 0, and this was causing strlen() to run past the end of the buffer
  after calling ares_expand_name() and getting ARES_SUCCESS as the return
  value. If q is not greater than *s then it's equal and *s is always
  allocated with at least one byte.
2005-06-02 11:09:10 +00:00
aba0b775ea Added ares_getnameinfo which mimics the getnameinfo API 2005-05-16 18:06:54 +00:00