All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0
@ 2017-06-03 13:12 Bernd Kuhls
  2017-06-03 15:11 ` Thomas Petazzoni
  2017-06-05 10:05 ` Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Bernd Kuhls @ 2017-06-03 13:12 UTC (permalink / raw)
  To: buildroot

Commit https://git.nlnetlabs.nl/ldns/commit/host2str.c?id=f7b3a9700e91f8e46477f335c5aaac7c6cdd8acb
added compatability with openssl 1.1.0 but, at the same time, breaks
build without openssl:

./host2str.c:1934:74: error: unknown type name ?BIGNUM?
 ldns_print_bignum_b64_line(ldns_buffer* output, const char* label, const BIGNUM* num)

This bump makes openssl a mandatory dependency to circumvent the
problem, we do not gain much by leaving out crypto support in a
sensitive area like dns. The only package using libldns, freeswitch,
selects openssl as well, so we have no use case for having libldns
without openssl support.

--disable-dane-verify is needed until we bump our openssl to 1.1.x.,
this fixes the following configure error:

checking for SSL_get0_dane... no
configure: error: OpenSSL does not support offline DANE verification
(Needed for the DANE-TA usage type).  Please upgrade OpenSSL to version
>= 1.1.0 or rerun with --disable-dane-verify or --disable-dane-ta-usage

Removed patches applied upstream:

0001-bugfix-548-Double-free-for-answers-4096.patch
https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=2853eb352b4461e98f2926ace4ea3810cedf4167

0002-whitespace-bug-in-ldns-read-zone.patch
https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=d6037a22fbedb8ef3a22de4107e4eaa36840865b

0003-let-doxyparse-output-manpage-generation-issues.patch
https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=168ee09a4bf184947798c3ee3ac99b6651470d64

0004-Comment-out-debugging-remnants.patch
https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=a0a943d504debb05ce4d62ea81c2d218a6cc8727

0005-Remove-manpage-content-nondeterminicity-warnings.patch
https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=a56e48856d519d12f1ef600848f335615467f147

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 ...1-bugfix-548-Double-free-for-answers-4096.patch |  28 --
 .../0002-whitespace-bug-in-ldns-read-zone.patch    |  47 ---
 ...oxyparse-output-manpage-generation-issues.patch | 116 ------
 .../0004-Comment-out-debugging-remnants.patch      |  31 --
 ...manpage-content-nondeterminicity-warnings.patch | 429 ---------------------
 package/libldns/Config.in                          |   1 +
 package/libldns/libldns.hash                       |   8 +-
 package/libldns/libldns.mk                         |  28 +-
 8 files changed, 14 insertions(+), 674 deletions(-)
 delete mode 100644 package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch
 delete mode 100644 package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch
 delete mode 100644 package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch
 delete mode 100644 package/libldns/0004-Comment-out-debugging-remnants.patch
 delete mode 100644 package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch

diff --git a/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch b/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch
deleted file mode 100644
index 4097cfedd..000000000
--- a/package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 128aeb54593d4dd8ff2403eb2dd7d6cd596717d2 Mon Sep 17 00:00:00 2001
-From: Willem Toorop <willem@nlnetlabs.nl>
-Date: Tue, 28 Jan 2014 11:06:38 +0100
-Subject: [PATCH] bugfix #548: Double free for answers > 4096
-
-in ldns_resolver_send_pkt.  Thank you sunthought at gmail.com
-
-[Backport from upstream commit 2853eb352b4461e98f2926ace4ea3810cedf4167]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- resolver.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/resolver.c b/resolver.c
-index 16efc90..1474dc8 100644
---- a/resolver.c
-+++ b/resolver.c
-@@ -1117,6 +1117,7 @@ ldns_resolver_send_pkt(ldns_pkt **answer, ldns_resolver *r,
- 					ldns_pkt_set_edns_udp_size(query_pkt
- 							, 4096);
- 					ldns_pkt_free(answer_pkt);
-+					answer_pkt = NULL;
- 					/* Nameservers should not become 
- 					 * unreachable because fragments are
- 					 * dropped (network error). We might
--- 
-2.6.4
-
diff --git a/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch b/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch
deleted file mode 100644
index ec87b18e0..000000000
--- a/package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 055ea6aef77058f651b5571d98d2d9458821a977 Mon Sep 17 00:00:00 2001
-From: Matthijs Mekking <matthijs@nlnetlabs.nl>
-Date: Wed, 18 Jun 2014 09:55:17 +0200
-Subject: [PATCH] whitespace bug in ldns-read-zone
-
-[Backport from upstream commit d6037a22fbedb8ef3a22de4107e4eaa36840865b]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- rr.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/rr.c b/rr.c
-index cfee170..e530702 100644
---- a/rr.c
-+++ b/rr.c
-@@ -670,6 +670,18 @@ ldns_rr_new_question_frm_str(ldns_rr **newrr, const char *str,
- 	                                    true);
- }
- 
-+static int
-+ldns_rr_is_whitespace_line(char* line, int line_len)
-+{
-+	int i;
-+	for (i = 0; i < line_len; i++) {
-+		if (!isspace((int)line[i])) {
-+			return 0;
-+		}
-+	}
-+	return 1;
-+}
-+
- ldns_status
- ldns_rr_new_frm_fp(ldns_rr **newrr, FILE *fp, uint32_t *ttl, ldns_rdf **origin, ldns_rdf **prev)
- {
-@@ -745,6 +757,9 @@ ldns_rr_new_frm_fp_l(ldns_rr **newrr, FILE *fp, uint32_t *default_ttl, ldns_rdf
- 		s = LDNS_STATUS_SYNTAX_TTL;
- 	} else if (strncmp(line, "$INCLUDE", 8) == 0) {
- 		s = LDNS_STATUS_SYNTAX_INCLUDE;
-+	} else if (ldns_rr_is_whitespace_line(line, size)) {
-+		LDNS_FREE(line);
-+		return LDNS_STATUS_SYNTAX_EMPTY;
- 	} else {
- 		if (origin && *origin) {
- 			s = ldns_rr_new_frm_str(&rr, (const char*) line, ttl, *origin, prev);
--- 
-2.6.4
-
diff --git a/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch b/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch
deleted file mode 100644
index 223ebe98b..000000000
--- a/package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From d8a3da12be085fbc92e3d4d4d084c328fc37485a Mon Sep 17 00:00:00 2001
-From: Willem Toorop <willem@nlnetlabs.nl>
-Date: Thu, 27 Nov 2014 16:21:54 +0100
-Subject: [PATCH] let doxyparse output manpage generation issues
-
-[Backport from upstream commit
-168ee09a4bf184947798c3ee3ac99b6651470d64, fixes the build with Perl
-5.22.]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- doc/doxyparse.pl | 45 ++++++++++++++++++++++++++++++++++++++-------
- 1 file changed, 38 insertions(+), 7 deletions(-)
-
-diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
-index 96a1732..a09b2e8 100755
---- a/doc/doxyparse.pl
-+++ b/doc/doxyparse.pl
-@@ -57,10 +57,15 @@ This manpage was automaticly generated from the ldns source code by
- use of Doxygen and some perl.
- ";
- 
--getopts("m:",\%options);
-+getopts("em:",\%options);
- # if -m manpage file is given process that file
- # parse the file which tells us what manpages go together
- my $functions, $see_also;
-+my $i = -1;
-+my $report_errors = defined $options{'e'};
-+my $errors = 0;
-+my %unique;
-+
- if (defined $options{'m'}) {
- 	# process
- 	open(MAN, "<$options{'m'}") or die "Cannot open $options{'m'}";
-@@ -68,18 +73,35 @@ if (defined $options{'m'}) {
- 		# func1, func2, .. | see_also1, see_also2, ...
- 		while(<MAN>) {
- 			chomp;
-+			$i += 1;
- 			if (/^#/) { next; }
- 			if (/^$/) { next; }
--			($functions, $see_also) = split /[\t ]*\|[\t ]*/, $_;
--			#print "{$functions}\n";
--			#print "{$see_also}\n";
-+			my @parts = split /[\t ]*\|[\t ]*/, $_;
-+			$functions = shift @parts;
-+			$see_also = join ', ', @parts;
-+			print "{$functions}\n";
-+			print "{$see_also}\n";
- 			my @funcs = split /[\t ]*,[\t ]*/, $functions;
- 			my @also = split /[\t ]*,[\t ]*/, $see_also;
- 			$manpages{$funcs[0]} = \@funcs;
- 			$see_also{$funcs[0]} = \@also;
-+			foreach (@funcs) {
-+				if ($unique{$_}) {
-+					push $unique{$_}, ($i,);
-+				} else {
-+					$unique{$_} = [$i];
-+				}
-+			}
- 			#print "[", $funcs[0], "]\n";
- 		}
- 	close(MAN);
-+	while (($func, $lines) = each %unique ) {
-+		if (scalar @$lines > 1) {
-+			print STDERR "$func in function_manpages on lines: "
-+			    . join(", ",@$lines) . "\n" if $report_errors;
-+			$errors += 1;
-+		}
-+	}
- } else {
- 	print "Need -m file to process the .h files\n";
- 	exit 1;
-@@ -95,7 +117,7 @@ mkdir "doc/man";
- mkdir "doc/man/man$MAN_SECTION";
- 
- $state = 0;
--my $i;
-+$i = 0;
- my @lines = <STDIN>;
- my $max = @lines;
- 
-@@ -273,7 +295,7 @@ foreach (keys %manpages) {
- 
- 	print MAN $MAN_MIDDLE;
- 
--	if (defined(@$also)) {
-+	if (@$also) {
- 		print MAN "\n.SH SEE ALSO\n\\fI";
- 		print MAN join "\\fR, \\fI", @$also;
- 		print MAN "\\fR.\nAnd ";
-@@ -290,7 +312,7 @@ foreach (keys %manpages) {
- 	# create symlinks
- 	chdir("$BASE/man$MAN_SECTION");
- 	foreach (@$name) {
--		print STDERR $_,"\n";
-+		print STDOUT $_,"\n";
- 		my $new_file = $_ . "." . $MAN_SECTION;
- 		if ($new_file eq $symlink_file) {
- 			next;
-@@ -301,3 +323,12 @@ foreach (keys %manpages) {
- 	chdir("../../.."); # and back, tricky and fragile...
- 	close(MAN);
- }
-+foreach (keys %api) {
-+	next if (/ / || /^$/);
-+	if (not $unique{$_}) {
-+		print STDERR "no man page for $_\n" if $report_errors;
-+		$errors += 1;
-+	}
-+}
-+
-+exit ($report_errors and $errors != 0);
--- 
-2.6.4
-
diff --git a/package/libldns/0004-Comment-out-debugging-remnants.patch b/package/libldns/0004-Comment-out-debugging-remnants.patch
deleted file mode 100644
index 659253876..000000000
--- a/package/libldns/0004-Comment-out-debugging-remnants.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9720f6f7fdae210aa6d87d97324abd32e103dd16 Mon Sep 17 00:00:00 2001
-From: Willem Toorop <willem@nlnetlabs.nl>
-Date: Thu, 27 Nov 2014 16:50:33 +0100
-Subject: [PATCH] Comment out debugging remnants
-
-[Backport from upstream commit
-a0a943d504debb05ce4d62ea81c2d218a6cc8727, needed for a following patch
-fixing the build with Perl 5.10.]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- doc/doxyparse.pl | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
-index a09b2e8..3f7897f 100755
---- a/doc/doxyparse.pl
-+++ b/doc/doxyparse.pl
-@@ -79,8 +79,8 @@ if (defined $options{'m'}) {
- 			my @parts = split /[\t ]*\|[\t ]*/, $_;
- 			$functions = shift @parts;
- 			$see_also = join ', ', @parts;
--			print "{$functions}\n";
--			print "{$see_also}\n";
-+			#print "{$functions}\n";
-+			#print "{$see_also}\n";
- 			my @funcs = split /[\t ]*,[\t ]*/, $functions;
- 			my @also = split /[\t ]*,[\t ]*/, $see_also;
- 			$manpages{$funcs[0]} = \@funcs;
--- 
-2.6.4
-
diff --git a/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch b/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch
deleted file mode 100644
index c28263408..000000000
--- a/package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch
+++ /dev/null
@@ -1,429 +0,0 @@
-From adcef14bb9257ab38238eacabaa48cb7e8ef471f Mon Sep 17 00:00:00 2001
-From: Willem Toorop <willem@nlnetlabs.nl>
-Date: Wed, 14 Jan 2015 10:14:32 +0100
-Subject: [PATCH] Remove manpage content nondeterminicity & warnings
-
-TODO: Missing manpages
-
-[Backport upstream commit a56e48856d519d12f1ef600848f335615467f147,
-which fixes the build with Perl 5.10.]
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- doc/doxyparse.pl      |  20 +++--
- doc/function_manpages | 244 ++++++++++++++++++++++++--------------------------
- 2 files changed, 133 insertions(+), 131 deletions(-)
-
-diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
-index 3f7897f..b9f015d 100755
---- a/doc/doxyparse.pl
-+++ b/doc/doxyparse.pl
-@@ -35,7 +35,7 @@ my %see_also;
- 
- my $BASE="doc/man";
- my $MAN_SECTION = "3";
--my $MAN_HEADER = ".TH ldns $MAN_SECTION \"30 May 2006\"\n";
-+my $MAN_HEADER = ".ad l\n.TH ldns $MAN_SECTION \"30 May 2006\"\n";
- my $MAN_MIDDLE = ".SH AUTHOR
- The ldns team at NLnet Labs. Which consists out of
- Jelte Jansen and Miek Gieben.
-@@ -60,8 +60,8 @@ use of Doxygen and some perl.
- getopts("em:",\%options);
- # if -m manpage file is given process that file
- # parse the file which tells us what manpages go together
--my $functions, $see_also;
--my $i = -1;
-+my $functions, $see_also, $shorts;
-+my $i = 0;
- my $report_errors = defined $options{'e'};
- my $errors = 0;
- my %unique;
-@@ -78,16 +78,22 @@ if (defined $options{'m'}) {
- 			if (/^$/) { next; }
- 			my @parts = split /[\t ]*\|[\t ]*/, $_;
- 			$functions = shift @parts;
--			$see_also = join ', ', @parts;
-+			@parts = split /[\t ]*-[\t ]*/, join ', ', @parts;
-+			$see_also = shift @parts;
-+			if (! $see_also) {
-+				@parts = split /[\t ]*-[\t ]*/, $_;
-+				$functions = shift @parts;
-+			}
- 			#print "{$functions}\n";
- 			#print "{$see_also}\n";
- 			my @funcs = split /[\t ]*,[\t ]*/, $functions;
- 			my @also = split /[\t ]*,[\t ]*/, $see_also;
- 			$manpages{$funcs[0]} = \@funcs;
- 			$see_also{$funcs[0]} = \@also;
-+			$shorts{$funcs[0]} = join '', @parts;
- 			foreach (@funcs) {
- 				if ($unique{$_}) {
--					push $unique{$_}, ($i,);
-+					push @{$unique{$_}}, ($i,);
- 				} else {
- 					$unique{$_} = [$i];
- 				}
-@@ -249,6 +255,7 @@ while($i < $max) {
- foreach (keys %manpages) {
- 	$name = $manpages{$_};
- 	$also = $see_also{$_};
-+	my $shrt = $shorts{$_};
- 
- 	$filename = @$name[0];
- 	$filename = "$BASE/man$MAN_SECTION/$filename.$MAN_SECTION";
-@@ -261,6 +268,9 @@ foreach (keys %manpages) {
- 	print MAN  $MAN_HEADER;
- 	print MAN  ".SH NAME\n";
- 	print MAN  join ", ", @$name;
-+	if ($shrt) {
-+		print MAN " \\- $shrt";
-+	}
- 	print MAN  "\n\n";
- 	print MAN  ".SH SYNOPSIS\n";
- 
-diff --git a/doc/function_manpages b/doc/function_manpages
-index ce05899..db53ee5 100644
---- a/doc/function_manpages
-+++ b/doc/function_manpages
-@@ -8,221 +8,213 @@
- 
- ### host2wire.h
- # conversion functions
--ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire | ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf
-+ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire | ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf - conversion functions
- # lower level conversions, some are from host2str.h
--ldns_pkt2buffer_str, ldns_pktheader2buffer_str, ldns_rr2buffer_str, ldns_rr_list2buffer_str, ldns_rdf2buffer_str, ldns_key2buffer_str, ldns_pkt2buffer_wire, ldns_rr2buffer_wire, ldns_rdf2buffer_wire, ldns_rrsig2buffer_wire, ldns_rr_rdata2buffer_wire | ldns_pkt2str, ldns_rr2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str
-+ldns_pkt2buffer_str, ldns_pktheader2buffer_str, ldns_rr2buffer_str, ldns_rr_list2buffer_str, ldns_rdf2buffer_str, ldns_key2buffer_str, ldns_pkt2buffer_wire, ldns_rr2buffer_wire, ldns_rdf2buffer_wire, ldns_rrsig2buffer_wire, ldns_rr_rdata2buffer_wire | ldns_pkt2str, ldns_rr2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str - lower level conversions
- ### /host2wire.h
- 
- ### host2str.h
--ldns_rr2str, ldns_pkt2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str | ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print
--ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print | ldns_rr2str, ldns_rdf2str, ldns_pkt2str, ldns_rr_list2str, ldns_key2str
-+ldns_rr2str, ldns_pkt2str, ldns_rdf2str, ldns_rr_list2str, ldns_key2str | ldns_rr_print, ldns_rdf_print, ldns_pkt_print, ldns_rr_list_print, ldns_resolver_print, ldns_zone_print - functions for conversions to string
- ### /host2str.h
- 
- ### host2str.h
- # and even lower
--ldns_rdf2buffer_str_a, ldns_rdf2buffer_str_aaaa, ldns_rdf2buffer_str_str, ldns_rdf2buffer_str_b64, ldns_rdf2buffer_str_hex, ldns_rdf2buffer_str_type, ldns_rdf2buffer_str_class, ldns_rdf2buffer_str_alg, ldns_rdf2buffer_str_loc, ldns_rdf2buffer_str_unknown, ldns_rdf2buffer_str_nsap, ldns_rdf2buffer_str_wks, ldns_rdf2buffer_str_nsec, ldns_rdf2buffer_str_period, ldns_rdf2buffer_str_tsigtime, ldns_rdf2buffer_str_apl, ldns_rdf2buffer_str_int16_data, ldns_rdf2buffer_str_int16, ldns_rdf2buffer_str_ipseckey
-+ldns_rdf2buffer_str_a, ldns_rdf2buffer_str_aaaa, ldns_rdf2buffer_str_str, ldns_rdf2buffer_str_b64, ldns_rdf2buffer_str_hex, ldns_rdf2buffer_str_type, ldns_rdf2buffer_str_class, ldns_rdf2buffer_str_alg, ldns_rdf2buffer_str_loc, ldns_rdf2buffer_str_unknown, ldns_rdf2buffer_str_nsap, ldns_rdf2buffer_str_wks, ldns_rdf2buffer_str_nsec, ldns_rdf2buffer_str_period, ldns_rdf2buffer_str_tsigtime, ldns_rdf2buffer_str_apl, ldns_rdf2buffer_str_int16_data, ldns_rdf2buffer_str_int16, ldns_rdf2buffer_str_ipseckey - lower level to string conversion functions
- ### /host2str.h
- 
- ### wire2host.h
- # wirefunctions
--ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf, ldns_wire2dname | ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire, ldns_dname2wire
--ldns_buffer2pkt_wire
-+ldns_wire2rr, ldns_wire2pkt, ldns_wire2rdf, ldns_wire2dname | ldns_rr2wire, ldns_pkt2wire, ldns_rdf2wire, ldns_dname2wire  -  convert from wire format to host type
-+ldns_buffer2pkt_wire - convert buffer/wire format to ldns_pkt
- ### /wire2host.h
- 
- ### dname.h
--ldns_dname_left_chop, ldns_dname_label_count | ldns_dname
--ldns_dname2canonical | ldns_dname
--ldns_dname_cat_clone, ldns_dname_cat | ldns_dname
--ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data | ldns_dname, ldns_pkt_query_new_frm_str, ldns_rdf_new_frm_str, ldns_rr_new_frm_str
--ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label | ldns_dname
--ldns_dname_compare, ldns_dname_interval | ldns_dname_is_subdomain | ldns_dname
--ldns_dname | ldns_dname_left_chop, ldns_dname_label_count, ldns_dname2canonical, ldns_dname_cat, ldns_dname_cat_clone, ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data, ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label, ldns_dname_compare, ldns_dname_interval
-+ldns_dname_left_chop, ldns_dname_label_count - dname label functions
-+ldns_dname2canonical - canonicalize dname
-+ldns_dname_cat_clone, ldns_dname_cat - concatenate two dnames
-+ldns_dname_new, ldns_dname_new_frm_str, ldns_dname_new_frm_data | ldns_pkt_query_new_frm_str, ldns_rdf_new_frm_str, ldns_rr_new_frm_str -  create a dname
-+ldns_dname_is_subdomain, ldns_dname_str_absolute, ldns_dname_label - check properties of dnames
-+ldns_dname_compare, ldns_dname_interval | ldns_dname_is_subdomain  - compare two dnames
- ### /dname.h
- 
- ### dane.h
--ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr | ldns_dane_verify, ldns_dane_verify_rr
--ldns_dane_verify, ldns_dane_verify_rr | ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr
-+ldns_dane_create_tlsa_rr, ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate | ldns_dane_verify, ldns_dane_verify_rr - TLSA RR creation functions
-+ldns_dane_verify, ldns_dane_verify_rr | ldns_dane_create_tlsa_owner, ldns_dane_cert2rdf, ldns_dane_select_certificate, ldns_dane_create_tlsa_rr - TLSA RR verification functions
- ### /dane.h
- 
- ### rdata.h
--ldns_rdf, ldns_rdf_type | ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t
--ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data | ldns_rdf
--ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare | ldns_rdf
--ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print | ldns_rdf
--ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t | ldns_rdf
--ldns_rdf_address_reverse | ldns_rdf
--ldns_octet | ldns_rdf
-+ldns_rdf, ldns_rdf_type | ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data, ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare, ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t, ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t - rdata field type
-+ldns_rdf_set_size, ldns_rdf_set_type, ldns_rdf_set_data | ldns_rdf - set rdf attributes
-+ldns_rdf_size, ldns_rdf_get_type, ldns_rdf_data, ldns_rdf_compare | ldns_rdf - get rdf attributes
-+ldns_rdf_new, ldns_rdf_clone, ldns_rdf_new_frm_data, ldns_rdf_new_frm_str, ldns_rdf_new_frm_fp, ldns_rdf_free, ldns_rdf_deep_free, ldns_rdf_print | ldns_rdf - ldns_rdf creation, destruction and printing
-+ldns_native2rdf_int8, ldns_native2rdf_int16, ldns_native2rdf_int32, ldns_native2rdf_int16_data, ldns_rdf2native_int8, ldns_rdf2native_int16, ldns_rdf2native_int32, ldns_rdf2native_sockaddr_storage, ldns_rdf2native_time_t | ldns_rdf - rdf numeric converion functions
-+ldns_rdf_address_reverse | ldns_rdf - reverse an address rdf
-+ldns_octet | ldns_rdf - removes escaped from the input
- # why is this in rdata.h?
--ldns_str2period
-+ldns_str2period - converts a ttl value (like 5d2h) to a long
- ### /rdata.h
- 
- ### higher.h
--ldns_get_rr_list_addr_by_name, ldns_get_rr_list_name_by_addr | ldns_rr_list, ldns_rr
--ldns_get_rr_list_hosts_frm_fp, ldns_get_rr_list_hosts_frm_file | ldns_rr_list, ldns_rr, ldns_get_rr_list_hosts_frm_fp_l
--ldns_get_rr_list_hosts_frm_fp_l | ldns_rr_list
--ldns_getaddrinfo
-+ldns_get_rr_list_addr_by_name, ldns_get_rr_list_name_by_addr | ldns_rr_list, ldns_rr - get addresses by name or names by address
-+ldns_get_rr_list_hosts_frm_file, ldns_get_rr_list_hosts_frm_fp, ldns_get_rr_list_hosts_frm_fp_l | ldns_rr_list, ldns_rr - parse /etc/hosts file
-+ldns_getaddrinfo - mimic libc getaddrinfo
- ### /higher.h
- 
- #
- ### dnssec.h
- #
--ldns_calc_keytag, ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_key_rr2ds, ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig
--
- # algs
--ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5 | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig
-+ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5 | ldns_key, ldns_sign_public, ldns_zone_sign, ldns_verify, ldns_verify_rrsig - verify signature data buffers
- 
- # tsig
--ldns_pkt_tsig_verify, ldns_pkt_tsig_sign | ldns_key
-+ldns_pkt_tsig_verify, ldns_pkt_tsig_sign | ldns_key - tsig signing and verification
- 
- # verify
--ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_keylist, ldns_verify_rrsig_keylist_notime, ldns_verify_notime | ldns_verify_rrsig_evp | ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_sign_public, ldns_zone_sign, ldns_key
-+ldns_verify, ldns_verify_rrsig, ldns_verify_rrsig_keylist, ldns_verify_rrsig_keylist_notime, ldns_verify_notime | ldns_verify_rrsig_evp | ldns_verify_rrsig_dsa, ldns_verify_rrsig_rsasha1, ldns_verify_rrsig_rsamd5, ldns_sign_public, ldns_zone_sign, ldns_key - verify rrsigs
- 
- # convert
--ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key_rr2ds
--ldns_key_rr2ds | ldns_key
--ldns_create_nsec | ldns_sign_public
-+ldns_key_buf2dsa, ldns_key_buf2rsa | ldns_key_rr2ds - convert buffer to openssl key
-+ldns_key_rr2ds | ldns_key - create DS rr from DNSKEY rr
-+ldns_create_nsec | ldns_sign_public - Create a NSEC record
- 
- # signing
--ldns_sign_public | ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1, ldns_verify, ldns_verify_rrsig, ldns_key
--ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1 | ldns_sign_public
--ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3 | ldns_zone_sign, ldns_zone_sign_nsec3 | ldns_sign_public, ldns_key, ldns_init_random
--ldns_init_random | ldns_sign_public, ldns_key
--ldns_pkt_verify | ldns_verify, ldns_sign_public, ldns_zone_sign
-+ldns_sign_public | ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1, ldns_verify, ldns_verify_rrsig, ldns_key - sign an rrset
-+ldns_sign_public_dsa, ldns_sign_public_rsamd5, ldns_sign_public_rsasha1 | ldns_sign_public - sign buffer
-+ldns_init_random | ldns_sign_public, ldns_key - seed the random function
-+ldns_pkt_verify | ldns_verify, ldns_sign_public, ldns_zone_sign - verify a packet
-+ldns_zone_sign, ldns_zone_sign_nsec3 - dnssec sign a zone
- 
- # new family of dnssec functions
--ldns_dnssec_zone, ldns_dnssec_name, ldns_dnssec_rrs, ldns_dnssec_rrsets | ldns_dnssec_zone_new, ldns_dnssec_name_new, ldns_dnssec_rrs_new, ldns_dnssec_rrsets_new
--ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals | ldns_dnssec_zone
--ldns_dnssec_name_new, ldns_dnssec_name_new_frm_rr, ldns_dnssec_name_free, ldns_dnssec_name_name, ldns_dnssec_name_set_name, ldns_dnssec_name_set_nsec, ldns_dnssec_name_cmp, ldns_dnssec_name_add_rr, ldns_dnssec_name_find_rrset, ldns_dnssec_name_print | ldns_dnssec_zone
--ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print | ldns_dnssec_zone
--ldns_dnssec_rrs_new, ldns_dnssec_rrs_free, ldns_dnssec_rrs_add_rr, ldns_dnssec_rrs_print | ldns_dnssec_zone
-+ldns_dnssec_zone, ldns_dnssec_name, ldns_dnssec_rrs, ldns_dnssec_rrsets | ldns_dnssec_zone_new, ldns_dnssec_name_new, ldns_dnssec_rrs_new, ldns_dnssec_rrsets_new - data structures
-+ldns_dnssec_zone_find_rrset, ldns_dnssec_zone_new, ldns_dnssec_zone_free, ldns_dnssec_zone_add_rr, ldns_dnssec_zone_names_print, ldns_dnssec_zone_print, ldns_dnssec_zone_add_empty_nonterminals | ldns_dnssec_zone - functions for ldns_dnssec_zone
-+ldns_dnssec_name_new, ldns_dnssec_name_new_frm_rr, ldns_dnssec_name_free, ldns_dnssec_name_name, ldns_dnssec_name_set_name, ldns_dnssec_name_set_nsec, ldns_dnssec_name_cmp, ldns_dnssec_name_add_rr, ldns_dnssec_name_find_rrset, ldns_dnssec_name_print | ldns_dnssec_zone - functions for ldns_dnssec_name
-+ldns_dnssec_rrsets_new, ldns_dnssec_rrsets_free, ldns_dnssec_rrsets_type, ldns_dnssec_rrsets_set_type, ldns_dnssec_rrsets_add_rr, ldns_dnssec_rrsets_print | ldns_dnssec_zone - functions for ldns_dnssec_rrsets
-+ldns_dnssec_rrs_new, ldns_dnssec_rrs_free, ldns_dnssec_rrs_add_rr, ldns_dnssec_rrs_print | ldns_dnssec_zone - functions for ldns_dnssec-rrs
- 
- # verification
--ldns_dnssec_data_chain, ldns_dnssec_data_chain_struct, ldns_dnssec_trust_tree | ldns_dnssec_data_chain_new, ldns_dnssec_trust_tree_new, ldns_dnssec_verify_denial
--ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print | ldns_dnssec_data_chain
--ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig | ldns_dnssec_data_chain, ldns_dnssec_trust_tree
--ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 | ldns_dnssec_trust_tree, ldns_dnssec_data_chain
-+ldns_dnssec_data_chain, ldns_dnssec_data_chain_struct, ldns_dnssec_trust_tree | ldns_dnssec_data_chain_new, ldns_dnssec_trust_tree_new, ldns_dnssec_verify_denial - data structures for validation chains
-+ldns_dnssec_data_chain_new, ldns_dnssec_data_chain_free, ldns_dnssec_data_chain_deep_free, ldns_dnssec_build_data_chain, ldns_dnssec_data_chain_print | ldns_dnssec_data_chain - ldns_chain creation, destruction and printing
-+ldns_dnssec_trust_tree_new, ldns_dnssec_trust_tree_free, ldns_dnssec_trust_tree_depth, ldns_dnssec_derive_trust_tree, ldns_dnssec_trust_tree_contains_keys, ldns_dnssec_trust_tree_print, ldns_dnssec_trust_tree_print_sm, ldns_dnssec_trust_tree_add_parent, ldns_dnssec_derive_trust_tree_normal_rrset, ldns_dnssec_derive_trust_tree_dnskey_rrset, ldns_dnssec_derive_trust_tree_ds_rrset, ldns_dnssec_derive_trust_tree_no_sig | ldns_dnssec_data_chain, ldns_dnssec_trust_tree - functions for ldns_dnssec_trust_tree
-+ldns_dnssec_verify_denial, ldns_dnssec_verify_denial_nsec3 | ldns_dnssec_trust_tree, ldns_dnssec_data_chain - verify denial of existence
- 
- # new signing functions
--ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3, ldns_dnssec_zone_mark_glue, ldns_dnssec_name_node_next_nonglue, ldns_dnssec_zone_create_nsecs, ldns_dnssec_remove_signatures, ldns_dnssec_zone_create_rrsigs | ldns_dnssec_zone
-+ldns_dnssec_zone_sign, ldns_dnssec_zone_sign_nsec3, ldns_dnssec_zone_mark_glue, ldns_dnssec_name_node_next_nonglue, ldns_dnssec_zone_create_nsecs, ldns_dnssec_remove_signatures, ldns_dnssec_zone_create_rrsigs | ldns_dnssec_zone - sign ldns_dnssec_zone
- 
- ### /dnssec.h
- 
- ### dnskey.h
--ldns_key_new | ldns_key, ldns_key_list_new
--ldns_key_new_frm_algorithm, ldns_key_new_frm_fp, ldns_key_new_frm_fp_l | ldns_key
--ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l | ldns_key_new_frm_fp, ldns_key
--ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l | ldns_key_new_frm_fp, ldns_key
--ldns_key_list_new | ldns_key_new, ldns_key
-+ldns_key_new, ldns_key_new_frm_algorithm, ldns_key_new_frm_fp, ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l | ldns_key - create a ldns_key
-+ldns_key_list_new  - create a ldns_key_list
- # access, write
--ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_algo_supported | ldns_key_push_key, ldns_key
--ldns_key_list_push_key | ldns_key_list_pop_key, ldns_key
--ldns_key_list_pop_key | ldns_key_list_push_key, ldns_key
-+ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_algo_supported | ldns_key_push_key, ldns_key - set ldns_key attributes
-+ldns_key_list_push_key, ldns_key_list_pop_key | ldns_key - manipulate ldns_key_list
- # access, read
--ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key
-+ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key - read ldns_keys
- # convert
--ldns_key2rr | ldns_key
--ldns_key_free, ldns_key_deep_free, ldns_key_list_free | ldns_key
-+ldns_key2rr | ldns_key - convert ldns_key to rr
-+ldns_key_free, ldns_key_deep_free, ldns_key_list_free | ldns_key - free a ldns_key
- #
--ldns_key_print | ldns_key_new, ldns_key
--ldns_key | ldns_key_new, ldns_key_new_frm_algorithm,ldns_key_new_frm_fp,ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l, ldns_key_list_new, ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags, ldns_key2rr, ldns_key_free, ldns_key_deep_free, ldns_key_list_free, ldns_key_print
-+ldns_key_print | ldns_key_new, ldns_key - print a ldns_key
-+ldns_calc_keytag, ldns_calc_keytag_raw | ldns_key - calculate ldns keytag
-+ldns_key | ldns_key_new, ldns_key_new_frm_algorithm,ldns_key_new_frm_fp,ldns_key_new_frm_fp_l, ldns_key_new_frm_fp_rsa, ldns_key_new_frm_fp_rsa_l, ldns_key_new_frm_fp_dsa, ldns_key_new_frm_fp_dsa_l, ldns_key_list_new, ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key, ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key, ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags, ldns_key2rr, ldns_key_free, ldns_key_deep_free, ldns_key_list_free, ldns_key_print - ldns_key data structure
- ### /dnskey.h
- 
- ### MIEK TOT HIER TOT HIER
- 
--#	lists
--ldns_key_list_new, ldns_key_list_push_key, ldns_key_list_pop_key, ldns_key_list_key_count, ldns_key_list_key | ldns_key_list, ldns_key
--ldns_key_rsa_key, ldns_key_dsa_key, ldns_key_algorithm, ldns_key_hmac_key | ldns_key_list, ldns_key
--
--#	gets/sets
--ldns_key_origttl, ldns_key_inception, ldns_key_expiration, ldns_key_keytag, ldns_key_pubkey_owner, ldns_key_flags | ldns_key
--ldns_key_set_algorithm, ldns_key_set_rsa_key, ldns_key_set_dsa_key, ldns_key_set_hmac_key, ldns_key_set_origttl, ldns_key_set_inception, ldns_key_set_expiration, ldns_key_set_pubkey_owner, ldns_key_set_keytag, ldns_key_set_flags, ldns_key_list_set_key_count | ldns_key
--
- # errr.h
--ldns_get_errorstr_by_id | ldns_status
--ldns_status | ldns_get_errorstr_by_id
-+ldns_get_errorstr_by_id, ldns_status - errors
- 
- ### net.h
--ldns_send | ldns_pkt, ldns_resolver
--ldns_tcp_send_query, ldns_tcp_read_wire, ldns_tcp_connect | ldns_send, ldns_pkt, ldns_resolver
-+ldns_send | ldns_pkt, ldns_resolver - send a packet
-+ldns_tcp_send_query, ldns_tcp_read_wire, ldns_tcp_connect | ldns_send, ldns_pkt, ldns_resolver - tcp queries
- ### /net.h
- 
- ### buffer.h
- # general
--ldns_buffer | ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_export, ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip, ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current, ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok, ldns_buffer_write_at, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32
--ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_export | ldns_buffer
-+ldns_buffer, ldns_buffer_new, ldns_buffer_new_frm_data, ldns_buffer_clear, ldns_buffer_printf, ldns_buffer_free, ldns_buffer_copy, ldns_buffer_export, ldns_buffer_export2str, ldns_buffer2str | ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip, ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current, ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u
 32, ldns
 _buffer_write_u32, ldns_buffer_write_u32_at - buffers
- # position
--ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip | ldns_buffer
-+ldns_buffer_flip, ldns_buffer_rewind, ldns_buffer_position, ldns_buffer_set_position, ldns_buffer_skip | ldns_buffer - buffer positioning
- # values and pointers
--ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current | ldns_buffer
-+ldns_buffer_limit, ldns_buffer_set_limit, ldns_buffer_capacity, ldns_buffer_set_capacity, ldns_buffer_reserve, ldns_buffer_at, ldns_buffer_begin, ldns_buffer_end, ldns_buffer_current | ldns_buffer - buffer limits and pointers
- # info
--ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok | ldns_buffer
-+ldns_buffer_remaining_at, ldns_buffer_remaining, ldns_buffer_available_at, ldns_buffer_available, ldns_buffer_status, ldns_buffer_status_ok | ldns_buffer - check buffer status
- # read and write
--ldns_buffer_write_at, ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32 | ldns_buffer
-+ldns_buffer_write_at, ldns_buffer_write, ldns_buffer_write_string_at, ldns_buffer_write_string, ldns_buffer_write_u8_at, ldns_buffer_write_u8, ldns_buffer_write_u16_at, ldns_buffer_write_u16, ldns_buffer_read_at, ldns_buffer_read, ldns_buffer_read_u8_at, ldns_buffer_read_u8, ldns_buffer_read_u16_at, ldns_buffer_read_u16, ldns_buffer_read_u32_at, ldns_buffer_read_u32, ldns_buffer_write_u32, ldns_buffer_write_u32_at | ldns_buffer - reading and writing buffers
- ### /buffer.h
- 
- # parse.h
--ldns_bget_token, ldns_bgetc, ldns_bskipcs | ldns_buffer
--ldns_fget_token, ldns_fskipcs | ldns_buffer
--ldns_str_remove_comment
--
-+ldns_bget_token, ldns_bgetc, ldns_bskipcs | ldns_buffer - get tokens from buffers
-+ldns_fget_token, ldns_fskipcs | ldns_buffer - get tokens from files
- 
- # rr.h and other general rr funcs
--ldns_rr, ldns_rr_class, ldns_rr_type, ldns_rr_compress, ldns_rr_list | ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print, ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf, ldns_rr_push_rdf, ldns_rr_pop_rdf, ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class, ldns_rr_list_rr_count, ldns_rr_list_set_rr_count, ldns_rr_list_new, ldns_rr_list_free, ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr, ldns_is_rrset, ldns_rr_set_push_rr, ldns_rr_set_pop_rr, ldns_get_rr_class_by_name, ldns_get_rr_type_by_name, ldns_rr_list_clone, ldns_rr_list_sort, ldns_rr_compare, ldns_rr_compare_ds, ldns_rr_uncompressed_size, ldns_rr2canonical, ldns_rr_label_count, ldns_is_rrset, ldns_rr_descriptor, ldns_rr_descript
--ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print | ldns_rr, ldns_rr_list
--ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf | ldns_rr, ldns_rr_list
--ldns_rr_push_rdf, ldns_rr_pop_rdf | ldns_rr, ldns_rr_list
--ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class | ldns_rr, ldns_rr_list
--ldns_rr_list_rr_count, ldns_rr_list_set_rr_count | ldns_rr, ldns_rr_list
--ldns_rr_list_new, ldns_rr_list_free | ldns_rr, ldns_rr_list
--ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr | ldns_rr, ldns_rr_list
--ldns_is_rrset | ldns_rr, ldns_rr_list
--ldns_rr_set_push_rr, ldns_rr_set_pop_rr | ldns_rr, ldns_rr_list
--ldns_get_rr_class_by_name, ldns_get_rr_type_by_name | ldns_rr, ldns_rr_list
--ldns_rr_list_clone | ldns_rr, ldns_rr_list
--ldns_rr_list_sort | ldns_rr, ldns_rr_list
--ldns_rr_compare, ldns_rr_compare_ds | ldns_rr, ldns_rr_list
--ldns_rr_uncompressed_size | ldns_rr, ldns_rr_list
--ldns_rr2canonical | ldns_rr, ldns_rr_list
--ldns_rr_label_count | ldns_rr, ldns_rr_list
--ldns_is_rrset | ldns_rr
-+ldns_rr, ldns_rr_class, ldns_rr_type, ldns_rr_compress, ldns_rr_list | ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print, ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf, ldns_rr_push_rdf, ldns_rr_pop_rdf, ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class, ldns_rr_list_rr_count, ldns_rr_list_set_rr_count, ldns_rr_list_new, ldns_rr_list_free, ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr, ldns_is_rrset, ldns_rr_set_push_rr, ldns_rr_set_pop_rr, ldns_get_rr_class_by_name, ldns_get_rr_type_by_name, ldns_rr_list_clone, ldns_rr_list_sort, ldns_rr_compare, ldns_rr_compare_ds, ldns_rr_uncompressed_size, ldns_rr2canonical, ldns_rr_label_count, ldns_is_rrset, ldns_rr_descriptor, ldns_rr_descript - types representing dns resource records
-+ldns_rr_new, ldns_rr_new_frm_type, ldns_rr_new_frm_str, ldns_rr_new_frm_fp, ldns_rr_free, ldns_rr_print | ldns_rr, ldns_rr_list - ldns_rr creation, destruction and printing
-+ldns_rr_set_owner, ldns_rr_set_ttl, ldns_rr_set_type, ldns_rr_set_rd_count, ldns_rr_set_class, ldns_rr_set_rdf | ldns_rr, ldns_rr_list - set ldns_rr attributes
-+ldns_rr_push_rdf, ldns_rr_pop_rdf | ldns_rr, ldns_rr_list - push and pop rdata fields
-+ldns_rr_rdf, ldns_rr_owner, ldns_rr_rd_count, ldns_rr_ttl, ldns_rr_get_class | ldns_rr, ldns_rr_list - access rdata fields on ldns_rr
-+ldns_rr_list_rr_count, ldns_rr_list_set_rr_count | ldns_rr, ldns_rr_list - get and set ldns_rr_list length
-+ldns_rr_list_new, ldns_rr_list_free | ldns_rr, ldns_rr_list - ldns_rr_list creation and destruction
-+ldns_rr_list_cat, ldns_rr_list_push_rr, ldns_rr_list_pop_rr | ldns_rr, ldns_rr_list - ldns_rr_list manipulation
-+ldns_is_rrset | ldns_rr, ldns_rr_list - is rr_list a rrset
-+ldns_rr_set_push_rr, ldns_rr_set_pop_rr | ldns_rr, ldns_rr_list - push and pop rr on a rrset
-+ldns_get_rr_class_by_name, ldns_get_rr_type_by_name | ldns_rr, ldns_rr_list - lookup class or type by name
-+ldns_rr_list_clone | ldns_rr, ldns_rr_list - clone a ldns_rr_list
-+ldns_rr_list_sort | ldns_rr, ldns_rr_list - sort a ldns_rr_list
-+ldns_rr_compare, ldns_rr_compare_ds | ldns_rr, ldns_rr_list - compare a ldns_rr
-+ldns_rr_uncompressed_size | ldns_rr, ldns_rr_list - calculates the uncompressed size of an RR
-+ldns_rr2canonical | ldns_rr, ldns_rr_list - canonicalize a RR
-+ldns_rr_label_count | ldns_rr, ldns_rr_list - return ownername label count
- 
- # rr descriptors
--ldns_rr_descriptor, ldns_rr_descript, ldns_rr_descriptor_minimum, ldns_rr_descriptor_maximum, ldns_rr_descriptor_field_type | ldns_rr, ldns_rdf
-+ldns_rr_descriptor, ldns_rr_descript, ldns_rr_descriptor_minimum, ldns_rr_descriptor_maximum, ldns_rr_descriptor_field_type | ldns_rr, ldns_rdf - rdata field descriptors
- 
- # packet.h
--ldns_pkt, ldns_pkt_section, ldns_pkt_type | ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type, ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type, ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_siz
 e, ldns_
 pkt_set_section_count, ldns_pkt_set_tsig, ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data
-+ldns_pkt, ldns_pkt_section, ldns_pkt_type | ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type, ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type, ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_siz
 e, ldns_
 pkt_set_section_count, ldns_pkt_set_tsig, ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data - request or anser packets types
- 
--ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type | ldns_pkt
-+ldns_pkt_new, ldns_pkt_free, ldns_pkt_print, ldns_pkt_query_new, ldns_pkt_query_new_frm_str, ldns_pkt_reply_type | ldns_pkt - ldns_pkt creation, destruction and printing
- #	gets
--ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt 
-+ldns_pkt_id, ldns_pkt_qr, ldns_pkt_aa, ldns_pkt_tc, ldns_pkt_rd, ldns_pkt_cd, ldns_pkt_ra, ldns_pkt_ad, ldns_pkt_get_opcode, ldns_pkt_get_rcode, ldns_pkt_qdcount, ldns_pkt_ancount, ldns_pkt_nscount, ldns_pkt_arcount, ldns_pkt_answerfrom, ldns_pkt_querytime, ldns_pkt_size, ldns_pkt_tsig, ldns_pkt_question, ldns_pkt_answer, ldns_pkt_authority, ldns_pkt_additional, ldns_pkt_get_section_clone, ldns_pkt_rr_list_by_name, ldns_pkt_rr_list_by_type, ldns_pkt_rr_list_by_name_and_type | ldns_pkt - get ldns_pkt attributes
- #	sets
--ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig | ldns_pkt 
-+ldns_pkt_set_flags, ldns_pkt_set_id, ldns_pkt_set_qr, ldns_pkt_set_aa, ldns_pkt_set_tc, ldns_pkt_set_rd, ldns_pkt_set_cd, ldns_pkt_set_ra, ldns_pkt_set_ad, ldns_pkt_set_opcode, ldns_pkt_set_rcode, ldns_pkt_set_qdcount, ldns_pkt_set_ancount, ldns_pkt_set_nscount, ldns_pkt_set_arcount, ldns_pkt_set_answerfrom, ldns_pkt_set_querytime, ldns_pkt_set_size, ldns_pkt_set_section_count, ldns_pkt_set_tsig | ldns_pkt - set ldns_pkt attributes
- #	EDNS0
--ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data | ldns_pkt
-+ldns_pkt_edns, ldns_pkt_edns_udp_size, ldns_pkt_edns_extended_rcode, ldns_pkt_edns_version, ldns_pkt_edns_z, ldns_pkt_edns_data, ldns_pkt_set_edns_udp_size, ldns_pkt_set_edns_extended_rcode, ldns_pkt_set_edns_version, ldns_pkt_set_edns_z, ldns_pkt_set_edns_data | ldns_pkt - ldns_pkt ends0 related functions
- 
- # rr_functions.h
--ldns_rr_ns_nsdname
-+ldns_rr_ns_nsdname - get dname rdata field from NS RR
- #
--ldns_rr_mx_preference, ldns_rr_mx_exchange
-+ldns_rr_mx_preference, ldns_rr_mx_exchange - get MX RR rdata fields
- #
--ldns_rr_rrsig_typecovered, ldns_rr_rrsig_set_typecovered, ldns_rr_rrsig_algorithm, ldns_rr_rrsig_set_algorithm, ldns_rr_rrsig_labels, ldns_rr_rrsig_set_labels, ldns_rr_rrsig_origttl, ldns_rr_rrsig_set_origttl, ldns_rr_rrsig_expiration, ldns_rr_rrsig_set_expiration, ldns_rr_rrsig_inception, ldns_rr_rrsig_set_inception, ldns_rr_rrsig_keytag, ldns_rr_rrsig_set_keytag, ldns_rr_rrsig_signame, ldns_rr_rrsig_set_signame, ldns_rr_rrsig_sig, ldns_rr_rrsig_set_sig
-+ldns_rr_rrsig_typecovered, ldns_rr_rrsig_set_typecovered, ldns_rr_rrsig_algorithm, ldns_rr_rrsig_set_algorithm, ldns_rr_rrsig_labels, ldns_rr_rrsig_set_labels, ldns_rr_rrsig_origttl, ldns_rr_rrsig_set_origttl, ldns_rr_rrsig_expiration, ldns_rr_rrsig_set_expiration, ldns_rr_rrsig_inception, ldns_rr_rrsig_set_inception, ldns_rr_rrsig_keytag, ldns_rr_rrsig_set_keytag, ldns_rr_rrsig_signame, ldns_rr_rrsig_set_signame, ldns_rr_rrsig_sig, ldns_rr_rrsig_set_sig - get and set RRSIG RR rdata fields
- #
--ldns_rr_dnskey_flags, ldns_rr_dnskey_set_flags, ldns_rr_dnskey_protocol, ldns_rr_dnskey_set_protocol, ldns_rr_dnskey_algorithm, ldns_rr_dnskey_set_algorithm, ldns_rr_dnskey_key, ldns_rr_dnskey_set_key | ldns_rr
-+ldns_rr_dnskey_flags, ldns_rr_dnskey_set_flags, ldns_rr_dnskey_protocol, ldns_rr_dnskey_set_protocol, ldns_rr_dnskey_algorithm, ldns_rr_dnskey_set_algorithm, ldns_rr_dnskey_key, ldns_rr_dnskey_set_key | ldns_rr - get and set DNSKEY RR rdata fields
- 
- ### zone.h
--ldns_zone |  ldns_zone_new, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l, ldns_zone_sort, ldns_zone_glue_rr_list, ldns_zone_push_rr, ldns_zone_push_rr_list, ldns_zone_set_rrs, ldns_zone_set_soa, ldns_zone_rrs, ldns_zone_soa, ldns_zone_rr_count,
-+ldns_zone, ldns_zone_new, ldns_zone_free, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l,  ldns_zone_print, ldns_zone_print_fmt - ldns_zone creation, destruction and printing
-+ldns_zone_sort, ldns_zone_glue_rr_list | ldns_zone - sort a zone and get the glue records
-+ldns_zone_push_rr, ldns_zone_push_rr_list | ldns_zone - add rr's to a ldns_zone
-+ldns_zone_set_rrs, ldns_zone_set_soa | ldns_zone, ldns_zone_rrs, ldns_zone_soa - ldns_zone set content
-+ldns_zone_rrs, ldns_zone_soa | ldns_zone ldns_zone_set_rrs - ldns_zone get content
-+ldns_zone_rr_count | ldns_zone - get ldns_zone size
- 
-+### update.h
-+ldns_update_pkt_new | ldns_update_pkt_tsig_add, ldns_update_pkt_tsig_add, ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount, ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount - create an update packet
- 
--ldns_zone_new, ldns_zone_deep_free, ldns_zone_new_frm_fp, ldns_zone_new_frm_fp_l | ldns_zone
--ldns_zone_sort, ldns_zone_glue_rr_list | ldns_zone
--ldns_zone_push_rr, ldns_zone_push_rr_list | ldns_zone
--ldns_zone_set_rrs, ldns_zone_set_soa | ldns_zone, ldns_zone_rrs, ldns_zone_soa
--ldns_zone_rrs, ldns_zone_soa | ldns_zone ldns_zone_set_rrs
--ldns_zone_rr_count | ldns_zone
-+ldns_update_pkt_tsig_add | ldns_update_pkt_new - add resolver's tsig credentials to an ldns_pkt
-+ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount | ldns_update_pkt_new - return update packet counters
-+ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount | ldns_update_pkt_new - set the update packet counters
-+
-+### keys.h
-+ldns_algorithm - numbers assigned to algorithms used in dns
-+
-+
-+ldns_axfr_start, ldns_axfr_next, ldns_axfr_abort, ldns_axfr_complete, ldns_axfr_last_pkt - functions for full zone transfer
-+
-+ldns_b32_ntop_calculate_size, ldns_b32_pton_calculate_size, ldns_b64_ntop_calculate_size, ldns_b64_pton_calculate_size - return size needed for b32 or b64 encoded or decoded data
-+
-+ldns_duration_type, ldns_duration_create, ldns_duration_create_from_string, ldns_duration_cleanup, ldns_duration_compare, ldns_duration2string, ldns_duration2time - duration type and related functions
-+
-+ldns_bubblebabble - encode data as BubbleBabble
-+
-+ldns_version - return library version
- 
--### update.h
--ldns_update_pkt_new | ldns_update_pkt_tsig_add, ldns_update_pkt_tsig_add, ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount, ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount,
- 
--ldns_update_pkt_tsig_add | ldns_update_pkt_new
--ldns_update_zocount, ldns_update_prcount, ldns_update_upcount, ldns_update_adcount | ldns_update_pkt_new
--ldns_update_set_zocount, ldns_update_set_prcount, ldns_update_set_upcount, ldns_update_set_adcount | ldns_update_pkt_new
--- 
-2.6.4
-
diff --git a/package/libldns/Config.in b/package/libldns/Config.in
index 12065ae2f..696fec97b 100644
--- a/package/libldns/Config.in
+++ b/package/libldns/Config.in
@@ -1,5 +1,6 @@
 config BR2_PACKAGE_LIBLDNS
 	bool "libldns"
+	select BR2_PACKAGE_OPENSSL
 	help
 	  The goal of ldns is to simplify DNS programming, it supports
 	  recent RFCs like the DNSSEC documents, and allows developers
diff --git a/package/libldns/libldns.hash b/package/libldns/libldns.hash
index 3565c5830..dc6b1a341 100644
--- a/package/libldns/libldns.hash
+++ b/package/libldns/libldns.hash
@@ -1,4 +1,4 @@
-# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.6.17.tar.gz.sha1
-sha1	4218897b3c002aadfc7280b3f40cda829e05c9a4	ldns-1.6.17.tar.gz
-# Locally calculated
-sha256	8b88e059452118e8949a2752a55ce59bc71fa5bc414103e17f5b6b06f9bcc8cd	ldns-1.6.17.tar.gz
+# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha1
+sha1 ceeeccf8a27e61a854762737f6ee02f44662c1b8  ldns-1.7.0.tar.gz
+# From http://www.nlnetlabs.nl/downloads/ldns/ldns-1.7.0.tar.gz.sha256
+sha256 c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc  ldns-1.7.0.tar.gz
diff --git a/package/libldns/libldns.mk b/package/libldns/libldns.mk
index 20323c0bd..d3c89bb6b 100644
--- a/package/libldns/libldns.mk
+++ b/package/libldns/libldns.mk
@@ -4,26 +4,25 @@
 #
 ################################################################################
 
-LIBLDNS_VERSION = 1.6.17
+LIBLDNS_VERSION = 1.7.0
 LIBLDNS_SOURCE = ldns-$(LIBLDNS_VERSION).tar.gz
 LIBLDNS_SITE = http://www.nlnetlabs.nl/downloads/ldns
 LIBLDNS_LICENSE = BSD-3-Clause
 LIBLDNS_LICENSE_FILES = LICENSE
 LIBLDNS_INSTALL_STAGING = YES
+LIBLDNS_DEPENDENCIES = openssl
+# --disable-dane-verify can be removed after openssl bump to 1.1.x
 LIBLDNS_CONF_OPTS = \
-	--without-examples \
-	--without-p5-dns-ldns \
-	--without-pyldns \
-	--without-pyldnsx
-
-ifeq ($(BR2_PACKAGE_OPENSSL),y)
-LIBLDNS_DEPENDENCIES += openssl
-LIBLDNS_CONF_OPTS += \
 	--with-ssl=$(STAGING_DIR)/usr \
 	--enable-dane \
+	--disable-dane-verify \
 	--enable-ecdsa \
 	--enable-gost \
-	--enable-sha2
+	--enable-sha2 \
+	--without-examples \
+	--without-p5-dns-ldns \
+	--without-pyldns \
+	--without-pyldnsx
 
 ifeq ($(BR2_STATIC_LIBS),y)
 LIBLDNS_DEPENDENCIES += host-pkgconf
@@ -31,15 +30,6 @@ LIBLDNS_DEPENDENCIES += host-pkgconf
 LIBLDNS_CONF_ENV += LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs openssl`"
 endif
 
-else
-LIBLDNS_CONF_OPTS += \
-	--without-ssl \
-	--disable-dane \
-	--disable-ecdsa \
-	--disable-gost \
-	--disable-sha2
-endif
-
 # the linktest make target fails with static linking, and we are only
 # interested in the lib target anyway
 LIBLDNS_MAKE_OPTS = lib
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0
  2017-06-03 13:12 [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0 Bernd Kuhls
@ 2017-06-03 15:11 ` Thomas Petazzoni
  2017-06-03 16:05   ` Bernd Kuhls
  2017-06-05 10:05 ` Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-06-03 15:11 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat,  3 Jun 2017 15:12:53 +0200, Bernd Kuhls wrote:
> Commit https://git.nlnetlabs.nl/ldns/commit/host2str.c?id=f7b3a9700e91f8e46477f335c5aaac7c6cdd8acb
> added compatability with openssl 1.1.0 but, at the same time, breaks
> build without openssl:

When I try to apply this patch, I get:

thomas at skate:~/projets/buildroot (master)$ git pwam 770780
Applying patch #770780 using 'git am -s'
Description: [1/1] package/libldns: bump version to 1.7.0
Applying: package/libldns: bump version to 1.7.0
fatal: corrupt patch at line 704
Patch failed at 0001 package/libldns: bump version to 1.7.0
The copy of the patch that failed is found in: .git/rebase-apply/patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
'git am' failed with exit status 128

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0
  2017-06-03 15:11 ` Thomas Petazzoni
@ 2017-06-03 16:05   ` Bernd Kuhls
  0 siblings, 0 replies; 4+ messages in thread
From: Bernd Kuhls @ 2017-06-03 16:05 UTC (permalink / raw)
  To: buildroot

Am Sat, 03 Jun 2017 17:11:52 +0200 schrieb Thomas Petazzoni:

> When I try to apply this patch, I get:
> 
> thomas at skate:~/projets/buildroot (master)$ git pwam 770780
> Applying patch #770780 using 'git am -s'
> Description: [1/1] package/libldns: bump version to 1.7.0
> Applying: package/libldns: bump version to 1.7.0
> fatal: corrupt patch at line 704

Hi Thomas,

git send-email complained about a patch line longer than 998 chars which 
I ignored by using --no-validate, I guess this line was 704 ;)

Bottom line: You can remove all patches from the package, as they are 
included in 1.7.0.

Regards, Bernd

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0
  2017-06-03 13:12 [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0 Bernd Kuhls
  2017-06-03 15:11 ` Thomas Petazzoni
@ 2017-06-05 10:05 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2017-06-05 10:05 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat,  3 Jun 2017 15:12:53 +0200, Bernd Kuhls wrote:
> Commit https://git.nlnetlabs.nl/ldns/commit/host2str.c?id=f7b3a9700e91f8e46477f335c5aaac7c6cdd8acb
> added compatability with openssl 1.1.0 but, at the same time, breaks
> build without openssl:
> 
> ./host2str.c:1934:74: error: unknown type name ?BIGNUM?
>  ldns_print_bignum_b64_line(ldns_buffer* output, const char* label, const BIGNUM* num)
> 
> This bump makes openssl a mandatory dependency to circumvent the
> problem, we do not gain much by leaving out crypto support in a
> sensitive area like dns. The only package using libldns, freeswitch,
> selects openssl as well, so we have no use case for having libldns
> without openssl support.
> 
> --disable-dane-verify is needed until we bump our openssl to 1.1.x.,
> this fixes the following configure error:
> 
> checking for SSL_get0_dane... no
> configure: error: OpenSSL does not support offline DANE verification
> (Needed for the DANE-TA usage type).  Please upgrade OpenSSL to version
> >= 1.1.0 or rerun with --disable-dane-verify or --disable-dane-ta-usage  
> 
> Removed patches applied upstream:
> 
> 0001-bugfix-548-Double-free-for-answers-4096.patch
> https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=2853eb352b4461e98f2926ace4ea3810cedf4167
> 
> 0002-whitespace-bug-in-ldns-read-zone.patch
> https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=d6037a22fbedb8ef3a22de4107e4eaa36840865b
> 
> 0003-let-doxyparse-output-manpage-generation-issues.patch
> https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=168ee09a4bf184947798c3ee3ac99b6651470d64
> 
> 0004-Comment-out-debugging-remnants.patch
> https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=a0a943d504debb05ce4d62ea81c2d218a6cc8727
> 
> 0005-Remove-manpage-content-nondeterminicity-warnings.patch
> https://git.nlnetlabs.nl/ldns/commit/?h=release-1.7.x&id=a56e48856d519d12f1ef600848f335615467f147
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
>  ...1-bugfix-548-Double-free-for-answers-4096.patch |  28 --
>  .../0002-whitespace-bug-in-ldns-read-zone.patch    |  47 ---
>  ...oxyparse-output-manpage-generation-issues.patch | 116 ------
>  .../0004-Comment-out-debugging-remnants.patch      |  31 --
>  ...manpage-content-nondeterminicity-warnings.patch | 429 ---------------------
>  package/libldns/Config.in                          |   1 +
>  package/libldns/libldns.hash                       |   8 +-
>  package/libldns/libldns.mk                         |  28 +-
>  8 files changed, 14 insertions(+), 674 deletions(-)
>  delete mode 100644 package/libldns/0001-bugfix-548-Double-free-for-answers-4096.patch
>  delete mode 100644 package/libldns/0002-whitespace-bug-in-ldns-read-zone.patch
>  delete mode 100644 package/libldns/0003-let-doxyparse-output-manpage-generation-issues.patch
>  delete mode 100644 package/libldns/0004-Comment-out-debugging-remnants.patch
>  delete mode 100644 package/libldns/0005-Remove-manpage-content-nondeterminicity-warnings.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-05 10:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-03 13:12 [Buildroot] [PATCH 1/1] package/libldns: bump version to 1.7.0 Bernd Kuhls
2017-06-03 15:11 ` Thomas Petazzoni
2017-06-03 16:05   ` Bernd Kuhls
2017-06-05 10:05 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.