1
0
mirror of https://frontier.innolan.net/rainlance/c-ares.git synced 2025-10-05 16:29:42 +00:00
Commit Graph

30 Commits

Author SHA1 Message Date
f1bcfa1122 api: Allow injection of user-specified malloc/free functions
Add a new ares_library_init_mem() initialization function for the
library which allows the library user to specify their own malloc,
realloc & free equivalents for use library-wide.

Store these function pointers in library-wide global variables,
defaulting to libc's malloc(), realloc() and free().

Change all calls to malloc, realloc and free to use the function pointer
instead.  Also ensure that ares_strdup() is always available
(even if the local environment includes strdup(3)), and change the
library code to always use it.

Convert calls to calloc() to use ares_malloc() + memset
2016-02-02 10:05:07 +00:00
87ff25049c Mark unhittable lines
Add comments for the benefit of the lcov tool, marking
lines that cannot be hit.  Typically these are fall-back
protection arms that are already covered by earlier checks,
and so it's not worth taking out the unhittable code (in case
someone changes the code between the two places in future).
2016-02-02 10:05:07 +00:00
02e1f7f9af ares_expand_name: check for valid bits in label length
The top two bits of the label length indicate whether this is a
label length (00) or an index to a name elsewhere in the message
(11).  RFC1035 4.1.4 says that the other possible values for the
top two bits (01, 10) are reserved for future use.
2016-01-24 09:05:40 +00:00
148c8e0353 protocol parsing: check input data stricter
... so that bad length fields aren't blindly accepted

Bug: http://c-ares.haxx.se/mail/c-ares-archive-2013-04/0016.shtml
2013-04-15 22:28:01 +02:00
0c677f578e setup_once.h: refactor inclusion of <unistd.h> and <sys/socket.h>
Inclusion of these two header files now done in setup_once.h
2012-12-14 18:36:59 +01:00
a1035276c1 Header inclusion clean-up
Remove header inclusions already done in setup_once.h
2012-12-14 18:25:56 +01:00
c8d8ca2606 warnings: fix another 'conversion may lose significant bits' compiler warning 2011-08-21 19:56:06 +02:00
70b726c334 ares_expand_name: Fix encoded length for indirect root 2010-12-18 17:23:04 +01:00
63627fa5ab remove all $Id$ lines 2010-03-27 19:42:02 +01:00
78414c0f3a fix compiler warning 2010-02-23 18:46:27 +00:00
a82a8fbf82 Renamed c-ares setup.h to ares_setup.h 2009-11-02 11:55:53 +00:00
716d5817dc Fix compiler warning: addition result could be truncated before cast to bigger sized type 2009-10-08 00:02:32 +00:00
8362245c42 - Phil Blundell added the internal function ares__expand_name_for_response()
that is now used by the ares_parse_*_reply() functions instead of the
  ares_expand_name() simply to easier return ARES_EBADRESP for the cases where
  the name expansion fails as in responses that really isn't expected.
2009-01-11 13:49:13 +00:00
b4371466d4 Make sure sys/socket.h is included before netinet/in.h (required by
OpenWatcom C)
2008-11-29 00:26:07 +00:00
f214b583f5 adjust inclusion of "nameser.h" 2008-09-17 01:02:57 +00:00
f2582d6949 include header file only when available 2008-09-15 17:14:29 +00:00
edf1901077 We should standarise on C comments. 2007-09-29 14:37:47 +00:00
49162e5b67 Handle the root of the DNS tree correctly in ares_expand_name. 2007-09-29 13:38:17 +00:00
a627160041 Removed inclusion of <sys/types.h> in .c-files
since it's already included through "setup.h".
2007-02-26 04:33:19 +00:00
0a83c1e416 2nd try adding CVS id. 2006-07-22 15:37:10 +00:00
f6e7395ca0 Added CVS id. 2006-07-22 15:21:13 +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
b41effd113 Tupone Alfredo fixed includes of arpa/nameser_compat.h to build fine on Mac OS
X.
2005-04-06 22:27:42 +00:00
3e748f4b50 removed tabs and trailing whitespace from source 2004-10-06 07:50:18 +00:00
6deb40acac Changes for Watt-32 on Windows. I've assumed Configure
sets the required HAVE_xx defines for non-DOS/Win targets.
2004-08-20 13:45:26 +00:00
d5f3636a52 - Fixed a few variable return types for some system calls. Made configure
check for ssize_t to make it possible to use that when receiving the send()
  error code. This is necessary to prevent compiler warnings on some systems.

- Made configure create config.h, and all source files now include setup.h that
  might include the proper config.h (or a handicrafted alternative).

- Switched to 'ares_socket_t' type for sockets in ares, since Windows don't
  use 'int' for that.

- automake-ified and libool-ified c-ares. Now it builds libcares as a shared
  lib on most platforms if wanted. (This bloated the size of the release
  archive with another 200K!)

- Makefile.am now uses Makefile.inc for the c sources, h headers and man
  pages, to make it easier for other makefiles to use the exact same set of
  files.

- Adjusted 'maketgz' to use the new automake magic when building distribution
  archives.
2004-07-22 22:18:45 +00:00
961876c001 make ares_expand_name() take a long * instead of an int *, since we do
pointer arithmetic (ptr1 - ptr2) and to do that properly on 64bit we need
long
2004-02-23 07:52:20 +00:00
438444b72f include ares_private.h to make sure we get the memdebug stuff included 2004-02-17 07:40:31 +00:00
3d0a7c00df remove rcsid stuff from c files, it serves no useful purpose 2004-02-02 15:59:35 +00:00
5e847a14bd ares 1.1.1 with collected applied patches 2003-10-07 21:54:04 +00:00