1
0
Fork 0
mirror of https://github.com/NLnetLabs/ldns.git synced 2025-12-05 22:28:39 +00:00
LDNS is a DNS library that facilitates DNS tool programming
Find a file
2025-12-04 16:54:06 +01:00
.github Clang static code analysis tpkg 2025-11-18 14:04:26 +01:00
compat * Fix for windows compile; asctime_r compat, search for inet_ntop 2024-01-29 14:06:35 +01:00
contrib Use SWIG_AppendOutput to support swig 4.3 2024-10-23 23:31:13 +02:00
doc Update email addresses 2023-09-22 16:47:34 +02:00
drill Merge branch 'develop' of github.com:jschauma/ldns into jschauma-develop 2025-11-17 16:24:53 +01:00
examples PR #220: Optionally exclude ZONEMD RRs in ldns-compare-zone 2025-11-18 15:40:57 +01:00
ldns Another fix for clang static code analysis 2025-11-18 14:23:52 +01:00
lua Fix typos (the the -> the) 2024-06-05 22:31:48 -07:00
m4 Update m4 files from autoconf-archive 2021-06-03 12:29:51 +02:00
masterdont send errors to stderr 2024-08-08 12:20:25 -04:00
packaging Update email addresses 2023-09-22 16:47:34 +02:00
pcat Fix typos (the the -> the) 2024-06-05 22:31:48 -07:00
test Fix for issue raised in PR #200 2025-11-18 15:01:05 +01:00
.gitignore Ignore build generated files 2024-06-05 22:31:48 -07:00
.gitmodules Update DNS-LDNS perl module 2019-07-16 17:03:16 +02:00
acx_nlnetlabs.m4 Fix to compile with OpenSSL 3.2. Update acx_nlnetlabs.m4 to 48. 2024-01-29 16:19:34 +01:00
ax_pkg_swig.m4 Update m4 files from autoconf-archive 2021-06-03 12:29:51 +02:00
ax_python_devel.m4 Update python configuration, support platform site dir 2023-01-03 21:37:34 +01:00
buffer.c More generalized zonemd functions + verification 2020-11-16 23:14:59 +01:00
Changelog Continue development on ldns-1.9.1 2025-12-04 16:54:06 +01:00
configure.ac Continue development on ldns-1.9.1 2025-12-04 16:54:06 +01:00
dane.c ldns_dane_match_any_cert_with_data: fix types 2024-06-05 22:31:48 -07:00
dname.c non-substantive spelling fixes 2022-04-13 17:39:29 -07:00
dnssec.c Make ldns_key_rr2ds() available for CDNSKEY RR 2024-08-27 11:56:57 +02:00
dnssec_sign.c Don't rely on libcrypto returning static buffers 2024-05-30 18:52:21 +02:00
dnssec_verify.c spelling: initializes 2021-06-14 11:29:16 +02:00
dnssec_zone.c Fix #287 ldns-verify-zone hangs with missing NSEC3 RRs 2025-12-04 12:54:20 +01:00
duration.c Issue #73 replace ldns_duration2string... 2020-03-17 15:32:36 +01:00
edns.c Attribute Roland 2024-07-12 14:57:10 +02:00
error.c Address the memory leaks in ldns-verify-zone 2025-01-25 22:15:04 +01:00
higher.c higher.c: don't try to parse comments in hosts 2016-04-26 12:37:40 +02:00
host2str.c RFC 9824: Compact Denial of Existence in DNSSEC 2025-11-17 15:29:19 +01:00
host2wire.c Nit that came out of testing on FreeBSD 2025-11-27 15:17:34 +01:00
keys.c More clang analysis fixes 2025-11-18 14:49:47 +01:00
libdns.doxygen.in Fix building documentation in build directory. 2022-09-05 10:01:18 +02:00
libdns.vim Update of libdns.vim from Miek and some align on the 80 columns textual changes of ldns-verify-zone.c 2011-09-20 09:58:52 +00:00
LICENSE update the LICENSE for 2006 2005-12-15 15:15:39 +00:00
linktest.c oops, removed test code 2009-10-01 12:28:38 +00:00
makedist.sh Remove recipes for unused CI services 2022-09-15 18:16:31 +02:00
Makefile.in Merge branch 'reproducible-build-path' of github.com:duthils/ldns into duthils-reproducible-build-path 2025-11-17 16:35:34 +01:00
makewin.sh Fix to compile DLLs, and pick out of the lib64 dir, and include 2024-01-30 14:36:01 +01:00
net.c More clang analysis fixes 2025-11-18 14:49:47 +01:00
packet.c RFC 9824: Compact Denial of Existence in DNSSEC 2025-11-17 15:29:19 +01:00
parse.c Issue #237 : Resolver uses nameserver commented out in /etc/resolv.conf 2024-05-07 14:43:16 +02:00
radix.c Issues detected in ldns library by scan of Coverity 2019-07-11 15:22:44 +02:00
rbtree.c spelling: initializes 2021-06-14 11:29:16 +02:00
rdata.c Merge branch 'develop' into features/additional-rr-types 2025-05-07 16:49:40 +02:00
README Add PRs and bug fixes to maintenance 2025-06-04 14:39:26 +02:00
README.git Mention submodule init in README.git 2016-10-25 16:15:15 +02:00
README.snapshots Fix typos (the the -> the) 2024-06-05 22:31:48 -07:00
resolver.c Don't touch return variable pkt by reference... 2025-11-12 16:43:56 +01:00
rr.c Fixes for clang statix code analysis failures 2025-11-18 14:10:11 +01:00
rr_functions.c non-substantive spelling fixes 2022-04-13 17:39:29 -07:00
sha1.c Fixes for clang statix code analysis failures 2025-11-18 14:10:11 +01:00
sha2.c Fixes for clang statix code analysis failures 2025-11-18 14:10:11 +01:00
str2host.c Some memory leaks that came out of review 2025-11-14 15:21:09 +01:00
tsig.c spelling: digestible 2021-06-14 11:29:17 +02:00
update.c Remove consts when function takes ownership of parameter 2016-05-12 12:14:53 +02:00
util.c If RNG is already seeded, return early 2024-08-28 10:52:51 -04:00
wire2host.c Merge branch 'develop' into features/additional-rr-types 2025-05-07 16:49:40 +02:00
zone.c Some memory leaks that came out of review 2025-11-14 15:21:09 +01:00

DEVELOPMENT VISION

Note: ldns has been in maintenance mode since 2020, with no plans for major
features. We welcome PRs from contributors who want to add new functionality. 
We also actively fix bugs, so users can continue to rely on ldns if its 
current features meet their needs.

We will continue to make occasional use of ldns in an experimental
setting, such as during an IETF Hackathon to build a proof of concept for an
Internet Draft.

The natural successor to the ldns library is the domain library for Rust:
https://github.com/NLnetLabs/domain

We offer drop-in replacements for commonly used ldns example tools in dnst:
https://github.com/NLnetLabs/dnst

---

Contents: 
	REQUIREMENTS
	INSTALLATION
		libdns
		examples
		drill
	INFORMATION FOR SPECIFIC OPERATING SYSTEMS
		Mac OS X
		Solaris
	KNOWN ISSUES
		pyldns

Project page:
http://www.nlnetlabs.nl/ldns/
On that page you can also subscribe to the ldns mailing list.

* Development 
ldns is mainly developed on Linux and FreeBSD. It is regularly tested to
compile on other systems like Solaris and Mac OS X.

REQUIREMENTS
- OpenSSL (Optional, but needed for features like DNSSEC)
  - OpenSSL >= 0.9.7f for DANE support
  - OpenSSL >= 1.0.0  for ECDSA and GOST support
- libpcap (Optional, but needed for examples/ldns-dpa)
- (GNU) libtool (in OSX, that's glibtool, not libtool)
- GNU make

INSTALLATION
1. Unpack the tarball
2. cd ldns-<VERSION>
3. ./configure --with-examples --with-drill
   (optionally compile python bindings too with: --with-pyldns)
4. make
5. make install


* Building from repository

If you are building from the repository you will need to have (gnu)
autotools like libtool and autoreconf installed. A list of all the commands
needed to build everything can be found in README.git. Note that the actual
commands may be a little bit different on your machine. Most notably, you'll
need to run libtoolize (or glibtoolize). If you skip this step, you'll get
an error about missing config.sub.

* Developers
ldns is developed by the ldns team at NLnet Labs. This team currently
consists of:
  o Willem Toorop
  o Wouter Wijngaards

Former main developers:
  o Jelte Jansen
  o Miek Gieben
  o Matthijs Mekking

* Credits
We have received patches from the following people, thanks!
  o Bedrich Kosata
  o Erik Rozendaal
  o Håkan Olsson
  o Jakob Schlyter
  o Paul Wouters
  o Simon Vallet
  o Ondřej Surý
  o Karel Slany
  o Havard Eidnes
  o Leo Baltus
  o Dag-Erling Smørgrav
  o Felipe Gasper


INFORMATION FOR SPECIFIC OPERATING SYSTEMS

MAC OS X

For MACOSX 10.4 and later, it seems that you have to set the
MACOSX_DEPLOYMENT_TARGET environment variable to 10.4 before running
make. Apparently it defaults to 10.1.

This appears to be a known problem in 10.2 to 10.4, see:
http://developer.apple.com/qa/qa2001/qa1233.html
for more information.


SOLARIS

In Solaris multi-architecture systems (which have both 32-bit and
64-bit support), it can be a bit taxing to convince the system to
compile in 64-bit mode. Jakob Schlyter has kindly contributed a build
script that sets the right build and link options. You can find it in
contrib/build-solaris.sh

KNOWN ISSUES

A complete list of currently known open issues can be found here:
https://github.com/NLnetLabs/ldns/issues

* pyldns
Compiling pyldns produces many ``unused parameter'' warnings.  Those are
harmless and may safely be ignored.
Also, when building with SWIG older than 2.0.4, compiling
pyldns produces many ``missing initializer'' warnings. Those are harmless
too.