Commits on Jan 2, 2018
  1. Embed fused Google Test 1.8.0

    gjasny committed Dec 30, 2017
Commits on Dec 21, 2017
  1. android: Check returns for obj and classes are not NULL. Document API…

    user-none committed with bradh352 Dec 21, 2017
    … levels for various Android functions and objects used. (#166)
  2. CARES_CHECK_TYPE should reference variable so a warning is not produc…

    bradh352 committed Dec 21, 2017
    …ed for -Werror compatibility
Commits on Dec 20, 2017
Commits on Dec 14, 2017
  1. travis: only test in IPv4 mode

    daviddrysdale committed Dec 13, 2017
    Travis' Trusty environment does not support IPv6.
Commits on Dec 13, 2017
Commits on Dec 11, 2017
  1. @gvanem says MSVC -RTCc option fails, looks erroneous to me, but the …

    bradh352 committed Dec 11, 2017
    …additional mask is harmless
  2. Fix some other mingw warnings

    bradh352 committed Dec 11, 2017
  3. Issue #143, get rid of windows build warning due to passing 'char **'…

    bradh352 committed Dec 11, 2017
    … to argument expecting 'const char **'
Commits on Dec 10, 2017
  1. Distribute CMake files (#130)

    gjasny committed with bradh352 Dec 10, 2017
  2. Android variants may not have __system_property_get

    bradh352 committed Dec 10, 2017
    Some android systems like ARM64 may not have the __system_property_get
    symbol in libc (but still have it in the public headers).  Detect this
    condition at build time.  The __system_property_get method of retrieving
    name servers is deprecated as of Oreo so should strictly be a fallback
    mechanism anyhow.
Commits on Nov 9, 2017
Commits on Oct 27, 2017
  1. ares_data.c: iterate through substructs when freeing

    daviddrysdale committed Oct 25, 2017
    Previous code recursed into substructures, which makes it more likely
    that large/heavily-nested responses could use up lots of stack.
Commits on Oct 17, 2017
  1. Fix a typo in inet_ntop.c (#151)

    felixonmars committed with daviddrysdale Oct 17, 2017
Commits on Sep 29, 2017
  1. ares_gethostbyname.3: fix callback status values

    bagder committed Sep 29, 2017
    - ARES_ENOTFOUND means the _name_ wasn't found
    - ARES_ENODATA can be returned when a resolve fails
    Reported-by: Jakub Hrozek
Commits on Sep 28, 2017
  1. Fix DNS server lookup breaking with Android O due to Android removing…

    user-none committed with bradh352 Sep 28, 2017
    … access to net.dns# system properties. (#148)
    As of Android 8 (Oreo) access to net.dns# has been removed ( The reasoning given is that it, "improves privacy on the platform". Currently c-ares uses this to get the list of DNS servers.
    Now the only way to access the DNS server list is by using the Connectivity Manager though Java. This adds the necessary JNI code to use the Connectivity Manager and pull the DNS server list. The old way using __system_property_get with net.dns# remains for compatibilty.
    Using the Connectivity Manager requires the ACCESS_NETWORK_STATE permission to be set on the app. Existing applications most likely are not setting this and keeping the previous method as a fallback will at the very least ensure those apps don't break on older versions of Android. They will need to add this permission for Android 8 compatibility.
    Included in the patch are two initalization functions which are required. The JVM must be registered as well as the Connectivity Manager itself. There is no way to get the Connectivity Manager except though Java. Either being passed down to C directly or by passing in an Android Context which can be used to get the Connectivity Manager. Examples are provided in the documentation.
Commits on Sep 19, 2017
  1. allow linking against the static msvc runtime library (#133)

    ksophocleous committed with bradh352 Sep 19, 2017
    allow linking against the static msvc runtime library
Commits on Sep 18, 2017
  1. Force using the ANSI versions of WinAPI functions (#142)

    ngg committed with bradh352 Sep 18, 2017
    When compiling c-ares with a build system that defines UNICODE,
    bad versions of WinAPI functions are used causing failures or even
    crashes. When windows.h is included in MBCS mode (like in the default
    build system), the ..A versions are the same as using the one without
    any suffix.
Commits on Sep 13, 2017
  1. [cmake] build fix on Solaris

    bradh352 committed Sep 13, 2017
Commits on Sep 11, 2017
  1. Win32 exclude legacy ipv6 subnets (#144)

    bradh352 committed Sep 11, 2017
    win32 ipv6: add infrastructure to exclude ipv6 subnets that are known to cause issues
  2. windows: only look for ancient compilers (#146)

    daviddrysdale committed Sep 11, 2017
    Also drop the use of a versioned output directory; just use
Commits on Aug 29, 2017
  1. ares_init_options.3: match up sock_state_cb args (#141)

    daviddrysdale committed Aug 29, 2017
    Fixes #140
Commits on Aug 24, 2017
  1. gethostbyaddr: fail with `ECANCELLED` for `ares_cancel()`

    addaleax committed with bagder Aug 14, 2017
    When `ares_cancel()` was invoked, `ares_gethostbyaddr()`
    queries would fail with `ENOTFOUND` instead of `ECANCELLED`.
    It seems appropriate to treat `ares_cancel()` like `ares_destroy()`,
    but I would appreciate review of the correctness of this change.
    Ref: nodejs/node#14814
    Closes #138
Commits on Aug 18, 2017
  1. support most recent Visual Studio 2017

    dimbleby committed with daviddrysdale Aug 17, 2017
Commits on Jul 26, 2017
  1. Preserve original DNS server order on Windows for equal metrics.

    bradh352 committed Jul 26, 2017
    qsort is not stable, in order to make it stable we need to record
    the original index and add it as a secondary sort value when the
    metrics are equal to prevent using DNS servers that may not work
    at all as reported by some users.
Commits on Jul 15, 2017
  1. ares_parse_naptr_reply: make buffer length check more accurate

    addaleax committed with daviddrysdale Jul 15, 2017
    9478908 introduced a length check
    for records parsed by `ares_parse_naptr_reply()`. However, that
    function is designed to parse replies which also contain non-NAPTR
    records; for A records, the `rr_len > 7` check will fail as there
    are only 4 bytes of payload.
    In particular, parsing ANY replies for NAPTR records was broken
    by that patch.
    Fix that by moving the check into the case in which it is already
    known that the record is a NAPTR record.
Commits on Jul 7, 2017
  1. appveyor: run dnsdump as a sanity check

    daviddrysdale committed Jul 6, 2017
  2. test: use ares_free_string() throughout

    daviddrysdale committed Jul 6, 2017
    As pointed out by Gisle Vanem in #125.
Commits on Jul 3, 2017
  1. how to release

    bagder committed Jun 21, 2017
    Fixes #115
    Closes #116
Commits on Jul 2, 2017
  1. test: Build dnsdump on Windows too

    daviddrysdale committed Jul 2, 2017
    Thanks to Gisle Vanem for showing the way: