Automic VaultAutomic Vault

brew

Install ldns with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

DNS library written in C. Version 1.9.2 via Homebrew; verified 2026-06-22.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ldns

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install ldns

MacPorts ports tree · net/ldns/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add drill

Alpine Linux edge package indexes · drill · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install ldnsutils

Debian stable package indexes · ldnsutils · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install ldns

Fedora Rawhide package metadata · ldns · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#ldns

nixpkgs package indexes · pkgs/by-name/ld/ldns/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S ldns

Arch Linux sync databases · ldns · source: geo.mirror.pkgbuild.com

openSUSE zypperverified · 92%
sudo zypper install ldns

openSUSE Tumbleweed package metadata · ldns · source: download.opensuse.org

overview

Package summary

DNS library written in C

Commands and aliases

  • ldns-chaos
  • ldns-compare-zones
  • ldns-config
  • ldns-dane
  • ldns-dpa
  • ldns-gen-zone
  • ldns-key2ds
  • ldns-keyfetcher
  • ldns-keygen
  • ldns-mx
  • ldns-notify
  • ldns-nsec3-hash
  • ldns-read-zone
  • ldns-resolver
  • ldns-revoke
  • ldns-rrsig
  • ldns-signzone
  • ldns-test-edns
  • ldns-testns
  • ldns-update
  • ldns-verify-zone
  • ldns-version
  • ldns-walk
  • ldns-zcat
  • ldns-zsplit
  • ldnsd

history

Project history and usage

ldns is NLnet Labs' C library for DNS and DNSSEC programming, accompanied by command-line tools such as drill and many DNSSEC utilities. NLnet Labs describes its goal as simplifying DNS programming in C while supporting low-level DNS and DNSSEC operations.

Project history

The project appeared in 2005 during the period when DNSSEC tooling was maturing. Its changelog records a first usable 0.50 release in May 2005, an online repository in June 2005, and a 1.0.0 release in October 2005 that added drill to ldns, zonefile parsing, an experimental signer, and a BSD license.

ldns evolved into both a library and a toolbox. Drill, originally important enough that documentation says part of ldns was derived from it, became included in ldns releases from version 1.0.0 onward. The examples directory grew into a collection of practical DNSSEC and zone tools, including signers, validators, key helpers, and packet utilities.

Later releases tracked DNS standards work. The changelog records additions such as NSEC3-related utilities, DANE support in 2012, SVCB/HTTPS support in the 1.8 series, and newer resource-record handling in the 1.9 series. NLnet Labs stated that ldns entered maintenance mode in 2020, with ongoing fixes and occasional experimental use rather than broad feature expansion.

Adoption history

ldns gained adoption among DNS implementers, operators, and package maintainers because it offered a C API plus ready-to-run diagnostic tools. Distribution packaging reflects that split: some systems package the tools as ldnsutils or drill while others package the library and tools together.

The project also became a bridge between DNS research and production packaging. NLnet Labs explicitly notes use for proof-of-concept work around Internet Drafts, while the maintained command-line tools made it useful for operators who needed DNSSEC-aware zone inspection, signing, verification, and query tracing.

How it is used

Developers use the library through ldns structures such as resource records, packets, zones, and resolvers. Command-line users most often encounter drill as a dig-like DNS inspection tool and the ldns-* utilities for DNSSEC key, zone, signing, walking, comparison, and verification workflows.

The documentation stresses OpenSSL-backed cryptographic features, optional builds without OpenSSL, IPv4/IPv6 support, TSIG, DNSSEC signing and verification, manual pages, and API documentation.

Why package nerds care

ldns matters to package nerds because it is a compact DNSSEC lab in package form: a C library, a resolver/query tool, many small executables, optional crypto features, Python bindings, and a long changelog tied to RFC and draft support. It is also a good example of an upstream declaring a maintenance-mode successor path while keeping old Unix packages useful.

NLnet Labs names the Rust domain library as the natural successor to the ldns library, dnst as drop-in replacements for common example utilities, and dnsi as a reimagined DNS inspection tool. That makes ldns a legacy-but-alive package with clear lineage into newer NLnet Labs DNS tooling.

Timeline

  • May 2005: First usable ldns 0.50 release with basic DNS and DNSSEC validation.
  • 13 Jun 2005: 0.65 records the repository as online and adds documentation.
  • 18 Oct 2005: 1.0.0 adds drill to ldns, zonefile parsing, an experimental signer, and BSD licensing.
  • 7 Jul 2006: 1.1.0 adds tutorials, documentation, examples, and drill improvements.
  • 28 Nov 2007: 1.2.2 adds ldns-compare-zones and DNSSEC utility fixes.
  • 23 Oct 2012: 1.6.14 adds DANE support, including the ldns-dane example tool.
  • 2020: NLnet Labs places ldns in maintenance mode.
  • 26 Nov 2021: 1.8.0 adds ZONEMD support and SVCB/HTTPS draft support.
  • 4 Dec 2025: 1.9.0 records compact denial of existence support and additional resource-record updates.

Related projects

  • Related NLnet Labs projects include Unbound, NSD, the Rust domain library, dnst, and dnsi. Related DNS standards areas include DNSSEC, TSIG, DANE, NSEC3, ZONEMD, and SVCB/HTTPS.

security posture

Risk level: green

library-like package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • library-like package without higher-risk signals

Signals

  • metadata:library-like

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ldns-chaoscliglobal executable
ldns-compare-zonescliglobal executable
ldns-configcliglobal executable
ldns-danecliglobal executable
ldns-dpacliglobal executable
ldns-gen-zonecliglobal executable
ldns-key2dscliglobal executable
ldns-keyfetchercliglobal executable
ldns-keygencliglobal executable
ldns-mxcliglobal executable
ldns-notifycliglobal executable
ldns-nsec3-hashcliglobal executable
ldns-read-zonecliglobal executable
ldns-resolvercliglobal executable
ldns-revokecliglobal executable
ldns-rrsigcliglobal executable
ldns-signzonecliglobal executable
ldns-test-ednscliglobal executable
ldns-testnscliglobal executable
ldns-updatecliglobal executable
ldns-verify-zonecliglobal executable
ldns-versioncliglobal executable
ldns-walkcliglobal executable
ldns-zcatcliglobal executable
ldns-zsplitcliglobal executable
ldnsdcliglobal executable

freshness

Version and 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.

page generated2026-07-08
manager version1.9.2
manager updated2026-06-22
local dataok
upstreamnot checked
latest detectednot detected

https://nlnetlabs.nl/projects/ldns/

install metadata

Package metadata

Package keybrew:ldns
Version1.9.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/ldns
Homepagehttps://nlnetlabs.nl/projects/ldns/
Repositoryhttps://github.com/NLnetLabs/ldns
Upstream docshttps://nlnetlabs.nl/documentation/ldns
LicenseBSD-3-Clause
Source archivehttps://nlnetlabs.nl/downloads/ldns/ldns-1.9.2.tar.gz
Last updated2026-06-22T14:05:09-07:00
Pulseupdated
Dependenciesopenssl@3, python@3.14
Build dependenciesswig
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameldns
Version Scheme0
Revision0
Conflicts With
  • drill
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

ldnsutils 1.8.4-2+b1

ldns library for DNS programming - tools (includes drill tool)

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install ldnsutils
  • Section: net
  • Architecture: amd64
  • Source Package: ldns
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Ldns
Debian stable package indexes · deb.debian.org · Debian stable package indexes: ldnsutils from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libldns-dev 1.8.4-2+b1

ldns library for DNS programming - development files

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install libldns-dev
  • Section: libdevel
  • Architecture: amd64
  • Source Package: ldns
  • 2 dependencies
  • normalized package name match
  • Matched by: Ldns
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libldns-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

libldns3t64 1.8.4-2+b1

ldns library for DNS programming - shared library

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install libldns3t64
  • Section: libs
  • Architecture: amd64
  • Source Package: ldns
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Debian stable package indexes · deb.debian.org · Debian stable package indexes: libldns3t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

python3-ldns 1.8.4-2+b1

ldns library for DNS programming - Python3 bindings

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install python3-ldns
  • Section: python
  • Architecture: amd64
  • Source Package: ldns
  • 4 dependencies
  • normalized package name match
  • Matched by: Ldns
Debian stable package indexes · deb.debian.org · Debian stable package indexes: python3-ldns from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

ldns

nix profile install nixpkgs#ldns
  • normalized package name match
  • Matched by: Ldns
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/ld/ldns/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

ldnsutils 1.8.3-2build1

ldns library for DNS programming - tools (includes drill tool)

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install ldnsutils
  • Section: universe/net
  • Architecture: amd64
  • Source Package: ldns
  • 4 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Ldns
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: ldnsutils from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libldns-dev 1.8.3-2build1

ldns library for DNS programming - development files

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install libldns-dev
  • Section: universe/libdevel
  • Architecture: amd64
  • Source Package: ldns
  • 2 dependencies
  • normalized package name match
  • Matched by: Ldns
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libldns-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

libldns3t64 1.8.3-2build1

ldns library for DNS programming - shared library

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install libldns3t64
  • Section: universe/libs
  • Architecture: amd64
  • Source Package: ldns
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: libldns3t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

python3-ldns 1.8.3-2build1

ldns library for DNS programming - Python3 bindings

https://www.nlnetlabs.nl/projects/ldns/about/

sudo apt install python3-ldns
  • Section: universe/python
  • Architecture: amd64
  • Source Package: ldns
  • 4 dependencies
  • normalized package name match
  • Matched by: Ldns
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: python3-ldns from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

drill 1.8.4-r1

DNS(SEC) query tool ala dig

https://nlnetlabs.nl/projects/ldns/

sudo apk add drill
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: drill from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

ldns 1.8.4-r1

Lowlevel DNS(SEC) library

https://nlnetlabs.nl/projects/ldns/

sudo apk add ldns
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ldns from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

ldns-dev 1.8.4-r1

Lowlevel DNS(SEC) library (development files)

https://nlnetlabs.nl/projects/ldns/

sudo apk add ldns-dev
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ldns-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

ldns-doc 1.8.4-r1

Lowlevel DNS(SEC) library (documentation)

https://nlnetlabs.nl/projects/ldns/

sudo apk add ldns-doc
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ldns-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

ldns-static 1.8.4-r1

Lowlevel DNS(SEC) library (static library)

https://nlnetlabs.nl/projects/ldns/

sudo apk add ldns-static
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ldns-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
apk95%

ldns-tools 1.8.4-r1

ldns example tools

https://nlnetlabs.nl/projects/ldns/

sudo apk add ldns-tools
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: ldns
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Ldns
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: ldns-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
dnf95%

ldns 1.9.0-8.fc45

Low-level DNS(SEC) library with API

https://www.nlnetlabs.nl/ldns/

sudo dnf install ldns
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: i686
  • Source Package: ldns
  • 5 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Ldns
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: ldns from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment