macOS
brew install c-aresprovider-native install command
brew / rank 44
Asynchronous DNS library. Version 1.34.8 via Homebrew; verified 2026-07-08.
install
brew install c-aresprovider-native install command
overview
Asynchronous DNS library
history
c-ares is an MIT-licensed C library for asynchronous DNS resolution. It grew out of Daniel Stenberg's search for a non-blocking resolver suitable for libcurl and became a long-lived dependency for network software that cannot afford blocking name lookups.
The official `why` page explains that Daniel Stenberg looked for an asynchronous DNS resolver for libcurl, found the older ares library, began expanding it, and forked when the original author would not accept the needed changes. That fork became c-ares.
The project still acknowledges ares as the public API influence while noting that the code no longer closely resembles the original. Its README now describes c-ares as a modern DNS stub resolver written in C with asynchronous interfaces, portability across Unix, Windows, mobile, and other systems, and active maintenance after more than 20 years.
Recent project materials emphasize security practice as much as asynchronous lookup: safe parsers and builders, static and dynamic analysis, OSS-Fuzz coverage, signed releases, and SLSA provenance for release artifacts.
c-ares adoption started from libcurl's need for DNS lookups that could integrate with event-driven network code. From there it spread into software that needs many DNS queries in parallel or wants resolver behavior independent from a platform's blocking libc calls.
Its package-manager footprint is broad: Homebrew, Debian and Ubuntu development packages, Fedora, Alpine, Arch, MacPorts, Nix, and openSUSE all package it. That breadth reflects its status as a library dependency more than an end-user command, although tools such as `adig` and `ahost` are installed with some packages.
Developers link against c-ares to issue asynchronous DNS queries through non-blocking sockets and integrate DNS work into event loops. The official docs include initialization APIs such as `ares_init_options` and resolver configuration behavior.
On Unix-like systems c-ares reads resolver environment from standard system files such as `/etc/resolv.conf` and `/etc/hosts`, matching the package's curated config-file locations.
c-ares is one of those packages users may never invoke directly but build systems constantly care about. It is a small C library whose ABI, headers, pkg-config metadata, and security updates affect curl-like networking stacks across distributions.
For package nerds, it is also a clean example of a library fork becoming infrastructure: born from a specific libcurl need, preserved for API/ABI stability, and now maintained with modern supply-chain signals such as signed releases and SLSA provenance.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
/etc/resolv.conf/etc/hostsexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
adig | executable | indexed executable | Discovered from the local executable index. |
ahost | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:c-ares |
|---|---|
| Version | 1.34.8 |
| Package manager | Homebrew |
| Homepage | https://c-ares.org/ |
| Repository | https://github.com/c-ares/c-ares |
| Last updated | 2026-07-08T02:31:43Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.