c-ares

A C library for asynchronous DNS requests

OTHER License

Stars
1.8K
Committers
157

Bot releases are hidden (Show)

c-ares - 1.29.0 Latest Release

Published by bagder 5 months ago

c-ares version 1.29.0 - May 24 2024

This is a feature and bugfix release.

Features:

  • When using ARES_OPT_EVENT_THREAD, automatically reload system configuration
    when network conditions change. PR #759
  • Apple: reimplement DNS configuration reading to more accurately pull DNS
    settings. PR #750
  • Add observability into DNS server health via a server state callback, invoked
    whenever a query finishes. PR #744
  • Add server failover retry behavior, where failed servers are retried with
    small probability after a minimum delay. PR #731

Changes:

  • Mark ares_channel_t * as const in more places in the public API. PR #758

Bugfixes:

  • Due to a logic flaw dns name compression writing was not properly implemented
    which would result in the name prefix not being written for a partial match.
    This could cause issues in various record types such as MX records when using
    the deprecated API. Regression introduced in 1.28.0. Issue #757
  • Revert OpenBSD SOCK_DNS flag, it doesn't do what the docs say it does and
    causes c-ares to become non-functional. PR #754
  • ares_getnameinfo(): loosen validation on salen parameter. Issue #752
  • cmake: Android requires C99. PR #748
  • ares_queue_wait_empty() does not honor timeout_ms >= 0. Issue #742

Thanks go to these friendly people for their efforts and contributions for this
release:

  • Brad House (@bradh352)
  • Daniel Stenberg (@bagder)
  • David Hotham (@dimbleby)
  • Jiwoo Park (@jimmy-park)
  • Oliver Welsh (@oliverwelsh)
  • Volker Schlecht (@VlkrS)
c-ares - 1.28.1

Published by bagder 7 months ago

c-ares version 1.28.1 - Mar 30 2024

This release contains a fix for a single significant regression introduced
in c-ares 1.28.0.

  • ares_search() and ares_getaddrinfo() resolution fails if no search domains
    are specified. Issue #737
c-ares - 1.28.0

Published by bagder 7 months ago

c-ares version 1.28.0 - Mar 29 2024

This is a feature and bugfix release.

Features:

  • Emit warnings when deprecated c-ares functions are used. This can be
    disabled by passing a compiler definition of CARES_NO_DEPRECATED. PR #732
  • Add function ares_search_dnrec() to search for records using the new DNS
    record data structures. PR #719
  • Rework internals to pass around ares_dns_record_t instead of binary data,
    this introduces new public functions of ares_query_dnsrec() and
    ares_send_dnsrec(). PR #730

Changes:

  • tests: when performing simulated queries, reduce timeouts to make tests run
    faster
  • Replace configuration file parsers with memory-safe parser. PR #725
  • Remove acountry completely, the manpage might still get installed otherwise. Issue #718

Bugfixes:

  • CMake: don't overwrite global required libraries/definitions/includes which
    could cause build errors for projects chain building c-ares. Issue #729
  • On some platforms, netinet6/in6.h is not included by netinet/in.h
    and needs to be included separately. PR #728
  • Fix a potential memory leak in ares_init(). Issue #724
  • Some platforms don't have the isascii() function. Implement as a macro. PR #721
  • CMake: Fix Chain building if CMAKE runtime paths not set
  • NDots configuration should allow a value of zero. PR #735

Thanks go to these friendly people for their efforts and contributions for this release:

  • Brad House (@bradh352)
  • Cristian Rodríguez (@crrodriguez)
  • Daniel Stenberg (@bagder)
  • Faraz (@farazrbx)
  • Faraz Fallahi (@fffaraz)
  • Oliver Welsh (@oliverwelsh)
c-ares - 1.27.0

Published by bagder 8 months ago

c-ares version 1.27.0 - Feb 23 2024

This is a security, feature, and bugfix release.

Security:

  • Moderate. CVE-2024-25629. Reading malformatted /etc/resolv.conf,
    /etc/nsswitch.conf or the HOSTALIASES file could result in a crash.
    GHSA-mg26-v6qh-x48q

Features:

  • New function ares_queue_active_queries() to retrieve number of in-flight
    queries. PR #712
  • New function ares_queue_wait_empty() to wait for the number of in-flight
    queries to reach zero. PR #710
  • New ARES_FLAG_NO_DEFLT_SVR for ares_init_options() to return a failure if
    no DNS servers can be found rather than attempting to use 127.0.0.1. This
    also introduces a new ares status code of ARES_ENOSERVER. PR #713

Changes:

  • EDNS Packet size should be 1232 as per DNS Flag Day. PR #705

Bugfixes:

  • Windows DNS suffix search list memory leak. PR #711
  • Fix warning due to ignoring return code of write(). PR #709
  • CMake: don't override target output locations if not top-level. Issue #708
  • Fix building c-ares without thread support. PR #700

Thanks go to these friendly people for their efforts and contributions for this release:

  • Anthony Alayo (@anthonyalayo)
  • Brad House (@bradh352)
  • Cheng Zhao (@zcbenz)
  • Cristian Rodríguez (@crrodriguez)
  • Daniel Stenberg (@bagder)
  • Oliver Welsh (@oliverwelsh)
  • Vojtěch Vobr (@vojtechvobr)
c-ares - 1.26.0

Published by bagder 9 months ago

c-ares version 1.26.0 - Jan 26 2024

This is a feature and bugfix release.

Features:

  • Event Thread support. Integrators are no longer required to monitor the
    file descriptors registered by c-ares for events and call ares_process()
    when enabling the event thread feature via ARES_OPT_EVENT_THREAD passed
    to ares_init_options(). PR #696
  • Added flags to are_dns_parse() to force RAW packet parsing. PR #693

Changes:

  • Mark ares_fds() as deprecated. PR #691

Bugfixes:

  • adig: Differentiate between internal and server errors. e10b16a
  • Autotools allow make to override CFLAGS/CPPFLAGS/CXXFLAGS. PR #695
  • Autotools: fix building for 32bit windows due to stdcall symbol mangling. PR #689
  • RR Name should not be sanity checked against the Question. PR #685

Thanks go to these friendly people for their efforts and contributions for this release:

  • Brad House (@bradh352)
  • Daniel Stenberg (@bagder)
  • Erik Lax (@eriklax)
  • Gisle Vanem (@gvanem)

Full release note history available here

c-ares - 1.25.0

Published by bradh352 10 months ago

c-ares - 1.24.0

Published by bagder 10 months ago

c-ares - 1.23.0

Published by bagder 11 months ago

c-ares - 1.22.1

Published by bagder 11 months ago

c-ares - 1.22.0

Published by bagder 11 months ago

c-ares - 1.21.0

Published by bagder 12 months ago

c-ares - 1.20.1

Published by bagder about 1 year ago

c-ares - 1.20.0

Published by bagder about 1 year ago

c-ares - 1.19.1

Published by bagder over 1 year ago

c-ares version 1.19.1

This is a security and bugfix release.

A special thanks goes out to the Open Source Technology Improvement Fund
(https://ostif.org) for sponsoring a security audit of c-ares performed by X41
(https://x41-dsec.de).

Security

o CVE-2023-32067. High. 0-byte UDP payload causes Denial of Service [12]
o CVE-2023-31147. Moderate. Insufficient randomness in generation of DNS
query IDs [13]
o CVE-2023-31130. Moderate. Buffer Underwrite in ares_inet_net_pton() [14]
o CVE-2023-31124. Low. AutoTools does not set CARES_RANDOM_FILE during cross
compilation [15]

Bug fixes

o Fix uninitialized memory warning in test [1]
o Turn off IPV6_V6ONLY on Windows to allow IPv4-mapped IPv6 addresses [2]
o ares_getaddrinfo() should allow a port of 0 [3]
o Fix memory leak in ares_send() on error [4]
o Fix comment style in ares_data.h [5]
o Remove unneeded ifdef for Windows [6]
o Fix typo in ares_init_options.3 [7]
o Re-add support for Watcom compiler [8]
o Sync ax_pthread.m4 with upstream [9]
o Windows: Invalid stack variable used out of scope for HOSTS path [10]
o Sync ax_cxx_compile_stdcxx_11.m4 with upstream to fix uclibc support [11]

Thanks go to these friendly people for their efforts and contributions:

Brad House (@bradh352)
@Chilledheart
Daniel Stenberg (@bagder)
Douglas R. Reno (@renodr)
Gregor Jasny (@gjasny)
Jay Freeman (@saurik)
@lifenjoiner
Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
Yijie Ma (@yijiem)
(9 contributors)

References to bug reports and discussions on issues:

[1] = https://github.com/c-ares/c-ares/pull/515
[2] = https://github.com/c-ares/c-ares/pull/520
[3] = https://github.com/c-ares/c-ares/issues/517
[4] = https://github.com/c-ares/c-ares/pull/511
[5] = https://github.com/c-ares/c-ares/pull/513
[6] = https://github.com/c-ares/c-ares/pull/512
[7] = https://github.com/c-ares/c-ares/pull/510
[8] = https://github.com/c-ares/c-ares/pull/509
[9] = https://github.com/c-ares/c-ares/pull/507
[10] = https://github.com/c-ares/c-ares/pull/502
[11] = https://github.com/c-ares/c-ares/pull/505
[12] = https://github.com/c-ares/c-ares/security/advisories/GHSA-9g78-jv2r-p7vc
[13] = https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2
[14] = https://github.com/c-ares/c-ares/security/advisories/GHSA-x6mf-cxr9-8q6v
[15] = https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4

c-ares - 1.19.0

Published by bagder over 1 year ago

c-ares - 1.18.1

Published by bagder almost 3 years ago

c-ares - 1.18.0

Published by bagder almost 3 years ago

c-ares - 1.17.2

Published by bagder about 3 years ago

c-ares - 1.17.1

Published by bagder almost 4 years ago

c-ares - 1.17.0

Published by bagder almost 4 years ago