aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2014-05-14 18:41:34 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2014-05-14 18:41:34 +0000
commit65be028f32ed37dce84f6328d4a7172132c8c224 (patch)
tree4edff3f361b23a13a9807a3a0906f9026c3a81a5
parent04f3ab9612d73d7516f230df46e860daf892dc71 (diff)
downloadsrc-65be028f32ed37dce84f6328d4a7172132c8c224.tar.gz
src-65be028f32ed37dce84f6328d4a7172132c8c224.zip
import ldns 1.6.17vendor/ldns/1.6.17
Notes
Notes: svn path=/vendor/ldns/dist/; revision=266072 svn path=/vendor/ldns/1.6.17/; revision=266073; tag=vendor/ldns/1.6.17
-rw-r--r--Changelog58
-rw-r--r--Makefile.in268
-rw-r--r--README4
-rw-r--r--README.git (renamed from README.svn)7
-rw-r--r--acx_nlnetlabs.m444
-rw-r--r--ax_python_devel.m461
-rw-r--r--compat/b32_ntop.c333
-rw-r--r--compat/b32_pton.c387
-rw-r--r--compat/b64_ntop.c31
-rw-r--r--compat/b64_pton.c17
-rw-r--r--compat/snprintf.c1750
-rwxr-xr-xconfigure6981
-rw-r--r--configure.ac135
-rw-r--r--contrib/DNS-LDNS/Changes23
-rw-r--r--contrib/DNS-LDNS/LDNS.xs3363
-rw-r--r--contrib/DNS-LDNS/MANIFEST41
-rwxr-xr-xcontrib/DNS-LDNS/Makefile.PL306
-rw-r--r--contrib/DNS-LDNS/README36
-rw-r--r--contrib/DNS-LDNS/const-c.inc2852
-rw-r--r--contrib/DNS-LDNS/const-xs.inc90
-rw-r--r--contrib/DNS-LDNS/fallback/const-c.inc2798
-rw-r--r--contrib/DNS-LDNS/fallback/const-xs.inc90
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS.pm1310
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecDataChain.pm87
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecName.pm110
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecRRSets.pm85
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecRRs.pm82
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecTrustTree.pm99
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/DNSSecZone.pm176
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/GC.pm122
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/Key.pm122
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/KeyList.pm72
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/Packet.pm259
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/RBNode.pm71
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/RBTree.pm59
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/RData.pm91
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/RR.pm481
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/RRList.pm183
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/Resolver.pm355
-rw-r--r--contrib/DNS-LDNS/lib/DNS/LDNS/Zone.pm137
-rw-r--r--contrib/DNS-LDNS/ppport.h7063
-rw-r--r--contrib/DNS-LDNS/t/DNS-LDNS.t136
-rw-r--r--contrib/DNS-LDNS/t/dnssec_datachain.t56
-rw-r--r--contrib/DNS-LDNS/t/dnssec_zone.t35
-rw-r--r--contrib/DNS-LDNS/t/key.t25
-rw-r--r--contrib/DNS-LDNS/t/rdata.t47
-rw-r--r--contrib/DNS-LDNS/t/resolver.t23
-rw-r--r--contrib/DNS-LDNS/t/rr.t47
-rw-r--r--contrib/DNS-LDNS/t/rrlist.t84
-rw-r--r--contrib/DNS-LDNS/t/testdata/key.private13
-rw-r--r--contrib/DNS-LDNS/t/testdata/myzone.org17
-rw-r--r--contrib/DNS-LDNS/t/testdata/resolv.conf3
-rw-r--r--contrib/DNS-LDNS/t/zone.t75
-rw-r--r--contrib/DNS-LDNS/typemap67
-rwxr-xr-xcontrib/build-solaris.sh2
-rw-r--r--contrib/ldnsx/ldnsx.py7
-rw-r--r--contrib/python/Changelog26
-rw-r--r--contrib/python/Makefile6
-rw-r--r--contrib/python/docs/source/conf.py4
-rw-r--r--contrib/python/docs/source/modules/ldns_rdf.rst2
-rwxr-xr-xcontrib/python/examples/test_buffer.py16
-rwxr-xr-xcontrib/python/examples/test_dname.py2
-rwxr-xr-xcontrib/python/examples/test_pkt.py1937
-rwxr-xr-xcontrib/python/examples/test_rdf.py23
-rwxr-xr-xcontrib/python/examples/test_resolver.py1751
-rw-r--r--contrib/python/examples/test_rr.py20
-rw-r--r--contrib/python/ldns_packet.i1348
-rw-r--r--contrib/python/ldns_rdf.i42
-rw-r--r--contrib/python/ldns_resolver.i1278
-rw-r--r--dane.c14
-rw-r--r--dnssec.c308
-rw-r--r--dnssec_sign.c79
-rw-r--r--dnssec_zone.c163
-rw-r--r--doc/API.xml2
-rw-r--r--drill/chasetrace.c2
-rwxr-xr-xdrill/configure37
-rw-r--r--drill/configure.ac2
-rw-r--r--drill/drill.1.in11
-rw-r--r--drill/drill.c55
-rw-r--r--drill/drill_util.c6
-rw-r--r--drill/securetrace.c28
-rw-r--r--drill/work.c1
-rw-r--r--error.c19
-rw-r--r--examples/config.h.in11
-rwxr-xr-xexamples/configure134
-rw-r--r--examples/configure.ac40
-rw-r--r--examples/ldns-compare-zones.c2
-rw-r--r--examples/ldns-dane.1.in3
-rw-r--r--examples/ldns-dane.c104
-rw-r--r--examples/ldns-dpa.c4
-rw-r--r--examples/ldns-key2ds.14
-rw-r--r--examples/ldns-key2ds.c3
-rw-r--r--examples/ldns-keyfetcher.c2
-rw-r--r--examples/ldns-keygen.c4
-rw-r--r--examples/ldns-read-zone.121
-rw-r--r--examples/ldns-read-zone.c126
-rw-r--r--examples/ldns-signzone.c22
-rw-r--r--examples/ldns-testns.c2
-rw-r--r--examples/ldns-testpkts.c61
-rw-r--r--examples/ldns-testpkts.h13
-rw-r--r--examples/ldns-update.c2
-rw-r--r--examples/ldns-verify-zone.c79
-rw-r--r--examples/ldns-walk.112
-rw-r--r--examples/ldns-zcat.14
-rw-r--r--examples/ldns-zcat.c4
-rw-r--r--examples/ldns-zsplit.14
-rw-r--r--examples/ldnsd.c10
-rw-r--r--higher.c48
-rw-r--r--host2str.c683
-rw-r--r--host2wire.c20
-rwxr-xr-xinstall-sh14
-rw-r--r--keys.c18
-rw-r--r--ldns/common.h.in3
-rw-r--r--ldns/config.h.in37
-rw-r--r--ldns/dane.h2
-rw-r--r--ldns/dnssec.h28
-rw-r--r--ldns/dnssec_sign.h4
-rw-r--r--ldns/dnssec_zone.h10
-rw-r--r--ldns/error.h11
-rw-r--r--ldns/host2str.h168
-rw-r--r--ldns/ldns.h7
-rw-r--r--ldns/net.h.in1
-rw-r--r--ldns/packet.h34
-rw-r--r--ldns/radix.h240
-rw-r--r--ldns/rdata.h62
-rw-r--r--ldns/resolver.h55
-rw-r--r--ldns/rr.h50
-rw-r--r--ldns/str2host.h60
-rw-r--r--ldns/util.h.in70
-rw-r--r--m4/libtool.m48001
-rw-r--r--m4/ltoptions.m4384
-rw-r--r--m4/ltsugar.m4123
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m498
-rw-r--r--net.c796
-rw-r--r--packaging/ldns-config.16
-rwxr-xr-xpackaging/ldns-config.in5
-rw-r--r--packet.c110
-rw-r--r--parse.c4
-rw-r--r--radix.c1590
-rw-r--r--rdata.c91
-rw-r--r--resolver.c182
-rw-r--r--rr.c911
-rw-r--r--sha1.c2
-rw-r--r--sha2.c15
-rw-r--r--str2host.c382
-rw-r--r--tsig.c10
-rw-r--r--util.c311
-rw-r--r--wire2host.c55
149 files changed, 46282 insertions, 7571 deletions
diff --git a/Changelog b/Changelog
index 845d5b8a7388..48ea9bbda3a6 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,61 @@
+1.6.17 2014-01-10
+ * Fix ldns_dnssec_zone_new_frm_fp_l to allow the last parsed line of a
+ zone to be an NSEC3 (or its RRSIG) covering an empty non terminal.
+ * Add --disable-dane option to configure and check availability of the
+ for dane needed X509_check_ca function in openssl.
+ * bugfix #490: Get rid of type-punned pointer warnings.
+ Thanks Adam Tkac.
+ * Make sure executables are linked against libcrypto with the
+ LIBSSL_LDFLAGS. Thanks Leo Baltus.
+ * Miscellaneous prototype fixes. Thanks Dag-Erling Smørgrav.
+ * README now shows preferred way to configure for examples and drill.
+ * Bind to source address for resolvers. drill binds to source with -I.
+ Thanks Bryan Duff.
+ * -T option for ldns-dane that has specific exit status for PKIX
+ validated connections without (secure) TLSA records.
+ * Fix b{32,64}_{ntop,pton} detection and handling.
+ * New RR type TKEY, but without operational practice.
+ * New RR types HIP, NINFO, RKEY, CDS, EUI48, EUI64, URI, CAA and TA.
+ * New output format flag (and accompanying functions) to print certain
+ RR's as unknown type
+ * -u and -U parameter for ldns-read-zone to mark/unmark a RR type
+ for printing as unknown type
+ * bugfix #504: GPOS RR has three rdata fields. Thanks Jelte Jansen.
+ * bugfix #497: Properly test for EOF when reading key files with drill.
+ * New functions: ldns_pkt_ixfr_request_new and
+ ldns_pkt_ixfr_request_new_frm_str.
+ * Use SNI with ldns-dane
+ * bugfix #507: ldnsx Fix use of non-existent variables and not
+ properly referring to instance variable. Patch from shussain.
+ * bugfix #508: ldnsx Adding NSEC3PARAM to known/allowable RR type
+ dictionary. Patch from shussain.
+ * bugfix #517: ldns_resolver_new_frm_fp error when invoked using a NULL
+ file pointer.
+ * Fix memory leak in contrib/python: ldns_pkt.new_query.
+ * Fix buffer overflow in fget_token and bget_token.
+ * ldns-verify-zone NSEC3 checking from quadratic to linear performance.
+ Thanks NIC MX (nicmexico.mx)
+ * ldns-dane setup new ssl session for each new connect to prevent hangs
+ * bugfix #521: drill trace continue on empty non-terminals with NSEC3
+ * bugfix #525: Fix documentation of ldns_resolver_set_retry
+ * Remove unused LDNS_RDF_TYPE_TSIG and associated functions.
+ * Fix ldns_nsec_covers_name for zones with an apex only. Thanks Miek.
+ * Configure option to build perl bindings: --with-p5-dns-ldns
+ (DNS::LDNS is a contribution from Erik Ostlyngen)
+ * bugfix #527: Move -lssl before -lcrypto when linking
+ * Optimize TSIG digest function name comparison (Thanks Marc Buijsman)
+ * Compare names case insensitive with ldns_pkt_rr_list_by_name and
+ ldns_pkt_rr_list_by_name_and_type (thanks Johannes Naab)
+ * A separate --enable for each draft RR type: --enable-rrtype-ninfo,
+ --enable-rrtype-rkey, --enable-rrtype-cds, --enable-rrtype-uri and
+ --enable-rrtype-ta
+ * bugfix #530: Don't sign and verify duplicate RRs (Thanks Jelte Jansen)
+ * bugfix #505: Manpage and usage output fixes (Thanks Tomas Hozza)
+ * Adjust ldns_sha1() so that the input data is not modified (Thanks
+ Marc Buijsman)
+ * Messages to stderr are now off by default and can be reenabled with
+ the --enable-stderr-msgs configure option.
+
1.6.16 2012-11-13
* Fix Makefile to build pyldns with BSD make
* Fix typo in exporting b32_* symbols to make pyldns load again
diff --git a/Makefile.in b/Makefile.in
index 68ee644b9272..7a1c2414a382 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,7 +2,7 @@
# See the file LICENSE for the license
SHELL = @SHELL@
VERSION = @PACKAGE_VERSION@
-version_info = @LIBTOOL_VERSION_INFO@
+version_info = @VERSION_INFO@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -13,8 +13,10 @@ datadir = @datadir@
libdir = @libdir@
includedir = @includedir@
doxygen = @doxygen@
-pywrapdir = ${srcdir}/contrib/python
-pyldnsxwrapdir = ${srcdir}/contrib/ldnsx
+pywrapdir = $(srcdir)/contrib/python
+pyldnsxwrapdir = $(srcdir)/contrib/ldnsx
+p5_dns_ldns_dir = $(srcdir)/contrib/DNS-LDNS
+PERL = @PERL@
swig = @swig@
swigpy_flags = -python @SWIGPY3@
python_site = @PYTHON_SITE_PKG@
@@ -57,17 +59,19 @@ LINTFLAGS += "-Dsigset_t=long"
LINTFLAGS += "-D__uint16_t=uint16_t" -D"__pure2=" -D"__wchar_t=wchar_t" -D"__packed=" -D"__aligned(x)="
# Ubuntu oneiric"
LINTFLAGS += -D"__BEGIN_DECLS=" -D"__ssize_t=ssize_t" -D"__intptr_t=intptr_t" -D"__nonnull(x)=" -D"__THROW=" -D"__wur=" -D"__off_t=unsigned" -D"__off64_t=unsigned" -D"__useconds_t=unsigned" -D"__uid_t=unsigned" -D"__gid_t=unsigned" -D"__attribute_deprecated__=" -D"__pid_t=unsigned" -D"__restrict=" -D"__END_DECLS=" -D"__BEGIN_NAMESPACE_STD=" -D"__END_NAMESPACE_STD=" -D"__BEGIN_NAMESPACE_C99=" -D"__END_NAMESPACE_C99=" -D"__socklen_t=unsigned" -D"sa_family_t=unsigned " -D"__mode_t=unsigned" -D"u_int16_t=uint16_t" -D"u_int32_t=uint32_t" -D"u_int8_t=uint8_t" -D"u_short=unsigned short" -D"__u16=uint16_t" -D"__u32=uint32_t" -D"__u64=uint64_t"
+# FreeBSD 9
+LINTFLAGS += -D"_RuneLocale=int"
DEPFLAG = @DEPFLAG@
INSTALL = $(srcdir)/install-sh
LIBLOBJS = $(LIBOBJS:.o=.lo)
-LDNS_LOBJS = buffer.lo dane.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo duration.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo net.lo packet.lo parse.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo
+LDNS_LOBJS = buffer.lo dane.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo duration.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo net.lo packet.lo parse.lo radix.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo
LDNS_LOBJS_EX = ^linktest\.c$$
LDNS_ALL_LOBJS = $(LDNS_LOBJS) $(LIBLOBJS)
LIB = libldns.la
-LDNS_HEADERS = buffer.h dane.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h duration.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h
+LDNS_HEADERS = buffer.h dane.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h duration.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h radix.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h
LDNS_HEADERS_EX = ^config\.h|common\.h|util\.h|net\.h$$
LDNS_HEADERS_GEN= common.h util.h net.h
@@ -92,16 +96,14 @@ EX_SSL_LOBJS = examples/ldns-nsec3-hash.lo examples/ldns-revoke.lo examples/ldns
COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
COMP_LIB = $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS)
LINK = $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS)
-LINK_LIB = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
- $(LIBS) -version-number $(version_info) -no-undefined
-LINK_EXE = $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) \
- $(LIBSSL_CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_LIB = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -version-number $(version_info) -no-undefined
+LINK_EXE = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) $(LIBSSL_LDFLAGS)
.PHONY: clean realclean docclean manpages doc lint all lib pyldns test
.PHONY: install uninstall install-doc uninstall-doc uninstall-pyldns
.PHONY: install-h uninstall-h install-lib uninstall-lib install-pyldns
-all: setup-builddir lib linktest manpages @PYLDNS@ @DRILL@ @EXAMPLES@
+all: setup-builddir lib linktest manpages @P5_DNS_LDNS@ @PYLDNS@ @DRILL@ @EXAMPLES@
.SUFFIXES: .c .o .a .lo .h .i
@@ -205,7 +207,8 @@ clean-examples:
$(LIBTOOL) --mode clean rm -f $(EXAMPLE_LOBJS)
linktest: $(srcdir)/linktest.c libldns.la
- $(LIBTOOL) --mode=link $(CC) $(srcdir)/linktest.c $(CPPFLAGS) $(LIBSSL_CPPFLAGS) $(CFLAGS) -lldns $(LIBS) -o linktest
+ $(COMP_LIB) $(LIBSSL_CPPFLAGS) -c $(srcdir)/linktest.c -o linktest.lo
+ $(LINK_EXE) linktest.lo $(LIBS) $(LIBSSL_LIBS) -lldns -o linktest
lib: libldns.la
@@ -247,9 +250,29 @@ ldns_wrapper.lo: $(pywrapdir)/ldns_wrapper.c ldns/config.h
_ldns.la: ldns_wrapper.lo libldns.la
$(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) $(PYTHON_CFLAGS) $(LDFLAGS) $(PYTHON_LDFLAGS) -module -version-number $(version_info) -no-undefined -o $@ ldns_wrapper.lo -rpath $(python_site) -L. -L.libs -lldns $(LIBS)
-install: install-h install-lib @INSTALL_CONFIG@ install-manpages $(pyldns_inst) $(pyldnsx_inst) @INSTALL_DRILL@ @INSTALL_EXAMPLES@
+$(p5_dns_ldns_dir)/Makefile: $(p5_dns_ldns_dir)/Makefile.PL
+ BUILDDIR=`pwd`; cd $(p5_dns_ldns_dir); $(PERL) Makefile.PL PREFIX="$(prefix)" LIBS="-L$$BUILDDIR/.libs -lldns" INC="-I$$BUILDDIR"
-uninstall: uninstall-manpages @UNINSTALL_CONFIG@ uninstall-h uninstall-lib $(pyldns_uninst) $(pyldnsx_uninst) @UNINSTALL_DRILL@ @UNINSTALL_EXAMPLES@
+$(p5_dns_ldns_dir)/blib/arch/auto/DNS/LDNS/LDNS.so: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE)
+
+p5-dns-ldns: $(p5_dns_ldns_dir)/blib/arch/auto/DNS/LDNS/LDNS.so
+
+install-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE) install
+
+uninstall-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE) uninstall
+
+clean-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE) clean
+
+test-p5-dns-ldns: $(p5_dns_ldns_dir)/Makefile
+ cd $(p5_dns_ldns_dir); $(MAKE) test
+
+install: install-h install-lib @INSTALL_CONFIG@ install-manpages $(pyldns_inst) $(pyldnsx_inst) @INSTALL_P5_DNS_LDNS@ @INSTALL_DRILL@ @INSTALL_EXAMPLES@
+
+uninstall: uninstall-manpages @UNINSTALL_CONFIG@ uninstall-h uninstall-lib $(pyldns_uninst) $(pyldnsx_uninst) @UNINSTALL_P5_DNS_LDNS@ @UNINSTALL_DRILL@ @UNINSTALL_EXAMPLES@
destclean: uninstall
@@ -331,7 +354,7 @@ clean-lib:
$(LIBTOOL) --mode clean rm -f $(pywrapdir)/ldns_wrapper.c
$(LIBTOOL) --mode clean rm -f $(pywrapdir)/ldns.py
-clean: @CLEAN_DRILL@ @CLEAN_EXAMPLES@ clean-manpages clean-lib putdown-builddir
+clean: @CLEAN_DRILL@ @CLEAN_EXAMPLES@ @CLEAN_P5_DNS_LDNS@ clean-manpages clean-lib putdown-builddir
realclean: clean docclean
rm -f config.status
@@ -396,7 +419,7 @@ allclean: test-clean clean
test-clean:
tpkg -b test clean
-test:
+test: @TEST_P5_DNS_LDNS@
if test -x "`which bash`"; then bash test/test_all.sh; else sh test/test_all.sh; fi
@@ -481,56 +504,56 @@ buffer.lo buffer.o: $(srcdir)/buffer.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dane.lo dane.o: $(srcdir)/dane.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dname.lo dname.o: $(srcdir)/dname.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dnssec.lo dnssec.o: $(srcdir)/dnssec.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dnssec_sign.lo dnssec_sign.o: $(srcdir)/dnssec_sign.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dnssec_verify.lo dnssec_verify.o: $(srcdir)/dnssec_verify.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
dnssec_zone.lo dnssec_zone.o: $(srcdir)/dnssec_zone.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
duration.lo duration.o: $(srcdir)/duration.c ldns/config.h $(srcdir)/ldns/duration.h
error.lo error.o: $(srcdir)/error.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
@@ -538,72 +561,74 @@ error.lo error.o: $(srcdir)/error.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/uti
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
higher.lo higher.o: $(srcdir)/higher.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
host2str.lo host2str.o: $(srcdir)/host2str.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
host2wire.lo host2wire.o: $(srcdir)/host2wire.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
keys.lo keys.o: $(srcdir)/keys.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
linktest.lo linktest.o: $(srcdir)/linktest.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
net.lo net.o: $(srcdir)/net.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
packet.lo packet.o: $(srcdir)/packet.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
parse.lo parse.o: $(srcdir)/parse.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+radix.lo radix.o: $(srcdir)/radix.c ldns/config.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/error.h ldns/util.h \
+ ldns/common.h
rbtree.lo rbtree.o: $(srcdir)/rbtree.c ldns/config.h $(srcdir)/ldns/rbtree.h ldns/util.h ldns/common.h
rdata.lo rdata.o: $(srcdir)/rdata.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
@@ -611,40 +636,40 @@ rdata.lo rdata.o: $(srcdir)/rdata.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/uti
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
resolver.lo resolver.o: $(srcdir)/resolver.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
rr.lo rr.o: $(srcdir)/rr.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
rr_functions.lo rr_functions.o: $(srcdir)/rr_functions.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
sha1.lo sha1.o: $(srcdir)/sha1.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
sha2.lo sha2.o: $(srcdir)/sha2.c ldns/config.h $(srcdir)/ldns/sha2.h
str2host.lo str2host.o: $(srcdir)/str2host.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
@@ -652,24 +677,24 @@ str2host.lo str2host.o: $(srcdir)/str2host.c ldns/config.h $(srcdir)/ldns/ldns.h
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
tsig.lo tsig.o: $(srcdir)/tsig.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
update.lo update.o: $(srcdir)/update.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
util.lo util.o: $(srcdir)/util.c ldns/config.h $(srcdir)/ldns/rdata.h ldns/common.h $(srcdir)/ldns/error.h \
ldns/util.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/buffer.h
wire2host.lo wire2host.o: $(srcdir)/wire2host.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
@@ -678,18 +703,16 @@ wire2host.lo wire2host.o: $(srcdir)/wire2host.c ldns/config.h $(srcdir)/ldns/ldn
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
zone.lo zone.o: $(srcdir)/zone.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
-compat/b32_ntop.lo compat/b32_ntop.o: $(srcdir)/compat/b32_ntop.c ldns/config.h
-compat/b32_pton.lo compat/b32_pton.o: $(srcdir)/compat/b32_pton.c ldns/config.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
compat/b64_ntop.lo compat/b64_ntop.o: $(srcdir)/compat/b64_ntop.c ldns/config.h
compat/b64_pton.lo compat/b64_pton.o: $(srcdir)/compat/b64_pton.c ldns/config.h
compat/calloc.lo compat/calloc.o: $(srcdir)/compat/calloc.c ldns/config.h
@@ -715,8 +738,8 @@ examples/ldns-chaos.lo examples/ldns-chaos.o: $(srcdir)/examples/ldns-chaos.c ld
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-compare-zones.lo examples/ldns-compare-zones.o: $(srcdir)/examples/ldns-compare-zones.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -724,31 +747,31 @@ examples/ldns-compare-zones.lo examples/ldns-compare-zones.o: $(srcdir)/examples
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-dane.lo examples/ldns-dane.o: $(srcdir)/examples/ldns-dane.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldnsd.lo examples/ldnsd.o: $(srcdir)/examples/ldnsd.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-dpa.lo examples/ldns-dpa.o: $(srcdir)/examples/ldns-dpa.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-dpa.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-dpa.h
examples/ldns-gen-zone.lo examples/ldns-gen-zone.o: $(srcdir)/examples/ldns-gen-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -756,15 +779,15 @@ examples/ldns-gen-zone.lo examples/ldns-gen-zone.o: $(srcdir)/examples/ldns-gen-
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-key2ds.lo examples/ldns-key2ds.o: $(srcdir)/examples/ldns-key2ds.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-keyfetcher.lo examples/ldns-keyfetcher.o: $(srcdir)/examples/ldns-keyfetcher.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -772,31 +795,31 @@ examples/ldns-keyfetcher.lo examples/ldns-keyfetcher.o: $(srcdir)/examples/ldns-
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-keygen.lo examples/ldns-keygen.o: $(srcdir)/examples/ldns-keygen.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-mx.lo examples/ldns-mx.o: $(srcdir)/examples/ldns-mx.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-notify.lo examples/ldns-notify.o: $(srcdir)/examples/ldns-notify.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-nsec3-hash.lo examples/ldns-nsec3-hash.o: $(srcdir)/examples/ldns-nsec3-hash.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -804,7 +827,7 @@ examples/ldns-nsec3-hash.lo examples/ldns-nsec3-hash.o: $(srcdir)/examples/ldns-
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-read-zone.lo examples/ldns-read-zone.o: $(srcdir)/examples/ldns-read-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -812,7 +835,7 @@ examples/ldns-read-zone.lo examples/ldns-read-zone.o: $(srcdir)/examples/ldns-re
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-resolver.lo examples/ldns-resolver.o: $(srcdir)/examples/ldns-resolver.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -820,23 +843,23 @@ examples/ldns-resolver.lo examples/ldns-resolver.o: $(srcdir)/examples/ldns-reso
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-revoke.lo examples/ldns-revoke.o: $(srcdir)/examples/ldns-revoke.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-rrsig.lo examples/ldns-rrsig.o: $(srcdir)/examples/ldns-rrsig.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-signzone.lo examples/ldns-signzone.o: $(srcdir)/examples/ldns-signzone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -844,7 +867,7 @@ examples/ldns-signzone.lo examples/ldns-signzone.o: $(srcdir)/examples/ldns-sign
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-test-edns.lo examples/ldns-test-edns.o: $(srcdir)/examples/ldns-test-edns.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -852,15 +875,15 @@ examples/ldns-test-edns.lo examples/ldns-test-edns.o: $(srcdir)/examples/ldns-te
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-testns.lo examples/ldns-testns.o: $(srcdir)/examples/ldns-testns.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
examples/ldns-testpkts.lo examples/ldns-testpkts.o: $(srcdir)/examples/ldns-testpkts.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -868,15 +891,16 @@ examples/ldns-testpkts.lo examples/ldns-testpkts.o: $(srcdir)/examples/ldns-test
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h \
+ $(srcdir)/examples/ldns-testpkts.h
examples/ldns-update.lo examples/ldns-update.o: $(srcdir)/examples/ldns-update.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-verify-zone.lo examples/ldns-verify-zone.o: $(srcdir)/examples/ldns-verify-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
@@ -884,39 +908,39 @@ examples/ldns-verify-zone.lo examples/ldns-verify-zone.o: $(srcdir)/examples/ldn
$(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h \
$(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h \
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h \
- $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-version.lo examples/ldns-version.o: $(srcdir)/examples/ldns-version.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-walk.lo examples/ldns-walk.o: $(srcdir)/examples/ldns-walk.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-zcat.lo examples/ldns-zcat.o: $(srcdir)/examples/ldns-zcat.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-zsplit.lo examples/ldns-zsplit.o: $(srcdir)/examples/ldns-zsplit.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/chasetrace.lo drill/chasetrace.o: $(srcdir)/drill/chasetrace.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
@@ -924,8 +948,8 @@ drill/chasetrace.lo drill/chasetrace.o: $(srcdir)/drill/chasetrace.c $(srcdir)/d
$(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h \
$(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h \
$(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/dnssec.lo drill/dnssec.o: $(srcdir)/drill/dnssec.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
@@ -933,7 +957,7 @@ drill/dnssec.lo drill/dnssec.o: $(srcdir)/drill/dnssec.c $(srcdir)/drill/drill.h
$(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h \
$(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h \
ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h \
- $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/drill.lo drill/drill.o: $(srcdir)/drill/drill.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
@@ -941,7 +965,7 @@ drill/drill.lo drill/drill.o: $(srcdir)/drill/drill.c $(srcdir)/drill/drill.h ld
$(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h \
$(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h \
ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h \
- $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/drill_util.lo drill/drill_util.o: $(srcdir)/drill/drill_util.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
@@ -949,8 +973,8 @@ drill/drill_util.lo drill/drill_util.o: $(srcdir)/drill/drill_util.c $(srcdir)/d
$(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h \
$(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h \
$(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/error.lo drill/error.o: $(srcdir)/drill/error.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
@@ -958,7 +982,7 @@ drill/error.lo drill/error.o: $(srcdir)/drill/error.c $(srcdir)/drill/drill.h ld
$(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h \
$(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h \
ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h \
- $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/root.lo drill/root.o: $(srcdir)/drill/root.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
@@ -966,7 +990,7 @@ drill/root.lo drill/root.o: $(srcdir)/drill/root.c $(srcdir)/drill/drill.h ldns/
$(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h \
$(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h \
ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h \
- $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/securetrace.lo drill/securetrace.o: $(srcdir)/drill/securetrace.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
@@ -974,8 +998,8 @@ drill/securetrace.lo drill/securetrace.o: $(srcdir)/drill/securetrace.c $(srcdir
$(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h \
$(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h \
$(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
- $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
+ $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/work.lo drill/work.o: $(srcdir)/drill/work.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
@@ -983,7 +1007,7 @@ drill/work.lo drill/work.o: $(srcdir)/drill/work.c $(srcdir)/drill/drill.h ldns/
$(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h $(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h \
$(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h $(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h \
ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h $(srcdir)/ldns/wire2host.h \
- $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-chaos: examples/ldns-chaos.lo examples/ldns-chaos.o $(LIB)
examples/ldns-compare-zones: examples/ldns-compare-zones.lo examples/ldns-compare-zones.o $(LIB)
examples/ldnsd: examples/ldnsd.lo examples/ldnsd.o $(LIB)
diff --git a/README b/README
index 0c21e6551cde..6319c6f52553 100644
--- a/README
+++ b/README
@@ -37,11 +37,11 @@ INSTALLATION
5. make install
-* Building from subversion repository
+* 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.svn. Note that the actual
+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 notable, you'll need to run libtoolize (or glibtoolize), if you skip this step, you'll get an error about missing config.sub.
* Developers
diff --git a/README.svn b/README.git
index cd402d49c1b0..34c9ae54f5e4 100644
--- a/README.svn
+++ b/README.git
@@ -1,6 +1,5 @@
-
-# The ldns subversion repository can found at:
-# www.nlnetlabs.nl/ldns/svn/
+# The ldns git repository can found at:
+# git.nlnetlabs.nl/ldns/
# small list of commands to build all on a linux system
# libtoolize is needed for most other targets
@@ -16,7 +15,7 @@
# it is needed)
libtoolize -c --install
autoreconf --install
-./configure --with-examples --with-drill # --with-pyldns
+./configure --with-examples --with-drill # --with-pyldns --with-p5-dns-ldns
make
make doc # needs doxygen for the html pages
(cd pcat && autoreconf && ./configure && make)
diff --git a/acx_nlnetlabs.m4 b/acx_nlnetlabs.m4
index e90c81ea02ab..a4047332ff22 100644
--- a/acx_nlnetlabs.m4
+++ b/acx_nlnetlabs.m4
@@ -2,7 +2,12 @@
# Copyright 2009, Wouter Wijngaards, NLnet Labs.
# BSD licensed.
#
-# Version 21
+# Version 26
+# 2013-09-19 FLTO help text improved.
+# 2013-07-18 Enable ACX_CHECK_COMPILER_FLAG to test for -Wstrict-prototypes
+# 2013-06-25 FLTO has --disable-flto option.
+# 2013-05-03 Update W32_SLEEP for newer mingw that links but not defines it.
+# 2013-03-22 Fix ACX_RSRC_VERSION for long version numbers.
# 2012-02-09 Fix AHX_MEMCMP_BROKEN with undef in compat/memcmp.h.
# 2012-01-20 Fix COMPILER_FLAGS_UNBOUND for gcc 4.6.2 assigned-not-used-warns.
# 2011-12-05 Fix getaddrinfowithincludes on windows with fedora16 mingw32-gcc.
@@ -17,7 +22,7 @@
# 2010-07-02 Add check for ss_family (for minix).
# 2010-04-26 Fix to use CPPFLAGS for CHECK_COMPILER_FLAGS.
# 2010-03-01 Fix RPATH using CONFIG_COMMANDS to run at the very end.
-# 2010-02-18 WITH_SSL outputs the LIBSSL_LDFLAGS, LIBS, CPPFLAGS seperate, -ldl
+# 2010-02-18 WITH_SSL outputs the LIBSSL_LDFLAGS, LIBS, CPPFLAGS separate, -ldl
# 2010-02-01 added ACX_CHECK_MEMCMP_SIGNED, AHX_MEMCMP_BROKEN
# 2010-01-20 added AHX_COONFIG_STRLCAT
# 2009-07-14 U_CHAR detection improved for windows crosscompile.
@@ -101,7 +106,7 @@ dnl Calculate comma separated windows-resource numbers from package version.
dnl Picks the first three(,0) or four numbers out of the name.
dnl $1: variable for the result
AC_DEFUN([ACX_RSRC_VERSION],
-[$1=[`echo $PACKAGE_VERSION | sed -e 's/^[^0-9]*\([0-9]\)[^0-9]*\([0-9]\)[^0-9]*\([0-9]\)[^0-9]*\([0-9]\).*$/\1,\2,\3,\4/' -e 's/^[^0-9]*\([0-9]\)[^0-9]*\([0-9]\)[^0-9]*\([0-9]\)[^0-9]*$/\1,\2,\3,0/' `]
+[$1=[`echo $PACKAGE_VERSION | sed -e 's/^[^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\).*$/\1,\2,\3,\4/' -e 's/^[^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9][^0-9]*\([0-9][0-9]*\)[^0-9]*$/\1,\2,\3,0/' `]
])
dnl Routine to help check for compiler flags.
@@ -116,7 +121,7 @@ AC_MSG_CHECKING(whether $CC supports -$1)
cache=`echo $1 | sed 'y%.=/+-%___p_%'`
AC_CACHE_VAL(cv_prog_cc_flag_$cache,
[
-echo 'void f(){}' >conftest.c
+echo 'void f(void){}' >conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -$1 -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_$cache=yes"
else
@@ -405,19 +410,22 @@ int test() {
dnl Check if CC supports -flto.
dnl in a way that supports clang and suncc (that flag does something else,
dnl but fails to link). It sets it in CFLAGS if it works.
-AC_DEFUN([ACX_CHECK_FLTO],
-[AC_MSG_CHECKING([if $CC supports -flto])
-BAKCFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -flto"
-AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
- if $CC $CFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
- CFLAGS="$BAKCFLAGS"
- AC_MSG_RESULT(no)
- else
- AC_MSG_RESULT(yes)
- fi
- rm -f conftest conftest.c conftest.o
-], [CFLAGS="$BAKCFLAGS" ; AC_MSG_RESULT(no)])
+AC_DEFUN([ACX_CHECK_FLTO], [
+ AC_ARG_ENABLE([flto], AS_HELP_STRING([--disable-flto], [Disable link-time optimization (gcc specific option)]))
+ AS_IF([test "x$enable_flto" != "xno"], [
+ AC_MSG_CHECKING([if $CC supports -flto])
+ BAKCFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -flto"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [
+ if $CC $CFLAGS -o conftest conftest.c 2>&1 | grep "warning: no debug symbols in executable" >/dev/null; then
+ CFLAGS="$BAKCFLAGS"
+ AC_MSG_RESULT(no)
+ else
+ AC_MSG_RESULT(yes)
+ fi
+ rm -f conftest conftest.c conftest.o
+ ], [CFLAGS="$BAKCFLAGS" ; AC_MSG_RESULT(no)])
+ ])
])
dnl Check the printf-format attribute (if any)
@@ -1208,7 +1216,7 @@ struct tm *gmtime_r(const time_t *timep, struct tm *result);
dnl provide w32 compat definition for sleep
AC_DEFUN([AHX_CONFIG_W32_SLEEP],
[
-#ifndef HAVE_SLEEP
+#if !defined(HAVE_SLEEP) || defined(HAVE_WINDOWS_H)
#define sleep(x) Sleep((x)*1000) /* on win32 */
#endif /* HAVE_SLEEP */
])
diff --git a/ax_python_devel.m4 b/ax_python_devel.m4
index 2ce6afe83509..87e7c8c253bb 100644
--- a/ax_python_devel.m4
+++ b/ax_python_devel.m4
@@ -34,11 +34,12 @@
# LICENSE
#
# Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de>
-# Copyright (c) 2009 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+# Copyright (c) 2009 Alan W. Irwin
# Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net>
-# Copyright (c) 2009 Andrew Collier <colliera@ukzn.ac.za>
+# Copyright (c) 2009 Andrew Collier
# Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org>
# Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org>
+# Copyright (c) 2013 Daniel Mullner <muellner@math.stanford.edu>
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
@@ -66,7 +67,7 @@
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 8
+#serial 16
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
AC_DEFUN([AX_PYTHON_DEVEL],[
@@ -153,8 +154,14 @@ $ac_distutils_result])
if test -z "$PYTHON_CPPFLAGS"; then
python_path=`$PYTHON -c "import distutils.sysconfig; \
print (distutils.sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
+ print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
if test -n "${python_path}"; then
- python_path="-I$python_path"
+ if test "${plat_python_path}" != "${python_path}"; then
+ python_path="-I$python_path -I$plat_python_path"
+ else
+ python_path="-I$python_path"
+ fi
fi
PYTHON_CPPFLAGS=$python_path
fi
@@ -173,13 +180,10 @@ $ac_distutils_result])
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
from distutils.sysconfig import *
-ret = ''
-for e in get_config_vars ('VERSION'):
- if (e != None):
- ret += e
-print (ret)
-EOD
-`
+e = get_config_var('VERSION')
+if e is not None:
+ print(e)
+EOD`
if test -z "$ac_python_version"; then
if test -n "$PYTHON_VERSION"; then
@@ -199,34 +203,27 @@ EOD
# There should be only one
import distutils.sysconfig
-for e in distutils.sysconfig.get_config_vars ('LIBDIR'):
- if e != None:
- print (e)
- break
-EOD
-`
-
- # Before checking for libpythonX.Y, we need to know
- # the extension the OS we're on uses for libraries
- # (we take the first one, if there's more than one fix me!):
- ac_python_soext=`$PYTHON -c \
- "import distutils.sysconfig; \
- print (distutils.sysconfig.get_config_vars('SO')[[0]])"`
+e = distutils.sysconfig.get_config_var('LIBDIR')
+if e is not None:
+ print (e)
+EOD`
# Now, for the library:
- ac_python_soname=`$PYTHON -c \
- "import distutils.sysconfig; \
- print (distutils.sysconfig.get_config_vars('LDLIBRARY')[[0]])"`
+ ac_python_library=`cat<<EOD | $PYTHON -
- # Strip away extension from the end to canonicalize its name:
- ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"`
+import distutils.sysconfig
+c = distutils.sysconfig.get_config_vars()
+if 'LDVERSION' in c:
+ print ('python'+c[['LDVERSION']])
+else:
+ print ('python'+c[['VERSION']])
+EOD`
# This small piece shamelessly adapted from PostgreSQL python macro;
# credits goes to momjian, I think. I'd like to put the right name
# in the credits, if someone can point me in the right direction... ?
#
- if test -n "$ac_python_libdir" -a -n "$ac_python_library" \
- -a x"$ac_python_library" != x"$ac_python_soname"
+ if test -n "$ac_python_libdir" -a -n "$ac_python_library"
then
# use the official shared library
ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
@@ -268,7 +265,7 @@ EOD
if test -z "$PYTHON_EXTRA_LIBS"; then
PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
conf = distutils.sysconfig.get_config_var; \
- print (conf('LOCALMODLIBS') + ' ' + conf('LIBS'))"`
+ print (conf('LIBS'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
AC_SUBST(PYTHON_EXTRA_LIBS)
diff --git a/compat/b32_ntop.c b/compat/b32_ntop.c
deleted file mode 100644
index 038ebdc95806..000000000000
--- a/compat/b32_ntop.c
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * Copyright (c) 1996, 1998 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-/*
- * Portions Copyright (c) 1995 by International Business Machines, Inc.
- *
- * International Business Machines, Inc. (hereinafter called IBM) grants
- * permission under its copyrights to use, copy, modify, and distribute this
- * Software with or without fee, provided that the above copyright notice and
- * all paragraphs of this notice appear in all copies, and that the name of IBM
- * not be used in connection with the marketing of any product incorporating
- * the Software or modifications thereof, without specific, written prior
- * permission.
- *
- * To the extent it has a right to do so, IBM grants an immunity from suit
- * under its patents, if any, for the use, sale or manufacture of products to
- * the extent that such products are used for performing Domain Name System
- * dynamic updates in TCP/IP networks by means of the Software. No immunity is
- * granted for any product per se or for any other function of any product.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
- * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
- * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
- */
-#include <ldns/config.h>
-
-#include <sys/types.h>
-#include <sys/param.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <assert.h>
-
-static const char Base32[] =
- "abcdefghijklmnopqrstuvwxyz234567";
-/* "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";*/
-/* 00000000001111111111222222222233
- 01234567890123456789012345678901*/
-static const char Base32_extended_hex[] =
-/* "0123456789ABCDEFGHIJKLMNOPQRSTUV";*/
- "0123456789abcdefghijklmnopqrstuv";
-static const char Pad32 = '=';
-
-/* (From RFC3548 and draft-josefsson-rfc3548bis-00.txt)
-5. Base 32 Encoding
-
- The Base 32 encoding is designed to represent arbitrary sequences of
- octets in a form that needs to be case insensitive but need not be
- humanly readable.
-
- A 33-character subset of US-ASCII is used, enabling 5 bits to be
- represented per printable character. (The extra 33rd character, "=",
- is used to signify a special processing function.)
-
- The encoding process represents 40-bit groups of input bits as output
- strings of 8 encoded characters. Proceeding from left to right, a
- 40-bit input group is formed by concatenating 5 8bit input groups.
- These 40 bits are then treated as 8 concatenated 5-bit groups, each
- of which is translated into a single digit in the base 32 alphabet.
- When encoding a bit stream via the base 32 encoding, the bit stream
- must be presumed to be ordered with the most-significant-bit first.
- That is, the first bit in the stream will be the high-order bit in
- the first 8bit byte, and the eighth bit will be the low-order bit in
- the first 8bit byte, and so on.
-
- Each 5-bit group is used as an index into an array of 32 printable
- characters. The character referenced by the index is placed in the
- output string. These characters, identified in Table 3, below, are
- selected from US-ASCII digits and uppercase letters.
-
- Table 3: The Base 32 Alphabet
-
- Value Encoding Value Encoding Value Encoding Value Encoding
- 0 A 9 J 18 S 27 3
- 1 B 10 K 19 T 28 4
- 2 C 11 L 20 U 29 5
- 3 D 12 M 21 V 30 6
- 4 E 13 N 22 W 31 7
- 5 F 14 O 23 X
- 6 G 15 P 24 Y (pad) =
- 7 H 16 Q 25 Z
- 8 I 17 R 26 2
-
-
- Special processing is performed if fewer than 40 bits are available
- at the end of the data being encoded. A full encoding quantum is
- always completed at the end of a body. When fewer than 40 input bits
- are available in an input group, zero bits are added (on the right)
- to form an integral number of 5-bit groups. Padding at the end of
- the data is performed using the "=" character. Since all base 32
- input is an integral number of octets, only the following cases can
- arise:
-
- (1) the final quantum of encoding input is an integral multiple of 40
- bits; here, the final unit of encoded output will be an integral
- multiple of 8 characters with no "=" padding,
-
- (2) the final quantum of encoding input is exactly 8 bits; here, the
- final unit of encoded output will be two characters followed by six
- "=" padding characters,
-
- (3) the final quantum of encoding input is exactly 16 bits; here, the
- final unit of encoded output will be four characters followed by four
- "=" padding characters,
-
- (4) the final quantum of encoding input is exactly 24 bits; here, the
- final unit of encoded output will be five characters followed by
- three "=" padding characters, or
-
- (5) the final quantum of encoding input is exactly 32 bits; here, the
- final unit of encoded output will be seven characters followed by one
- "=" padding character.
-
-
-6. Base 32 Encoding with Extended Hex Alphabet
-
- The following description of base 32 is due to [7]. This encoding
- should not be regarded as the same as the "base32" encoding, and
- should not be referred to as only "base32".
-
- One property with this alphabet, that the base64 and base32 alphabet
- lack, is that encoded data maintain its sort order when the encoded
- data is compared bit-wise.
-
- This encoding is identical to the previous one, except for the
- alphabet. The new alphabet is found in table 4.
-
- Table 4: The "Extended Hex" Base 32 Alphabet
-
- Value Encoding Value Encoding Value Encoding Value Encoding
- 0 0 9 9 18 I 27 R
- 1 1 10 A 19 J 28 S
- 2 2 11 B 20 K 29 T
- 3 3 12 C 21 L 30 U
- 4 4 13 D 22 M 31 V
- 5 5 14 E 23 N
- 6 6 15 F 24 O (pad) =
- 7 7 16 G 25 P
- 8 8 17 H 26 Q
-
-*/
-
-
-int
-ldns_b32_ntop_ar(uint8_t const *src, size_t srclength, char *target, size_t targsize, const char B32_ar[]) {
- size_t datalength = 0;
- uint8_t input[5];
- uint8_t output[8];
- size_t i;
- memset(output, 0, 8);
-
- while (4 < srclength) {
- input[0] = *src++;
- input[1] = *src++;
- input[2] = *src++;
- input[3] = *src++;
- input[4] = *src++;
- srclength -= 5;
-
- output[0] = (input[0] & 0xf8) >> 3;
- output[1] = ((input[0] & 0x07) << 2) + ((input[1] & 0xc0) >> 6);
- output[2] = (input[1] & 0x3e) >> 1;
- output[3] = ((input[1] & 0x01) << 4) + ((input[2] & 0xf0) >> 4);
- output[4] = ((input[2] & 0x0f) << 1) + ((input[3] & 0x80) >> 7);
- output[5] = (input[3] & 0x7c) >> 2;
- output[6] = ((input[3] & 0x03) << 3) + ((input[4] & 0xe0) >> 5);
- output[7] = (input[4] & 0x1f);
-
- assert(output[0] < 32);
- assert(output[1] < 32);
- assert(output[2] < 32);
- assert(output[3] < 32);
- assert(output[4] < 32);
- assert(output[5] < 32);
- assert(output[6] < 32);
- assert(output[7] < 32);
-
- if (datalength + 8 > targsize) {
- return (-1);
- }
- target[datalength++] = B32_ar[output[0]];
- target[datalength++] = B32_ar[output[1]];
- target[datalength++] = B32_ar[output[2]];
- target[datalength++] = B32_ar[output[3]];
- target[datalength++] = B32_ar[output[4]];
- target[datalength++] = B32_ar[output[5]];
- target[datalength++] = B32_ar[output[6]];
- target[datalength++] = B32_ar[output[7]];
- }
-
- /* Now we worry about padding. */
- if (0 != srclength) {
- /* Get what's left. */
- input[0] = input[1] = input[2] = input[3] = input[4] = (uint8_t) '\0';
- for (i = 0; i < srclength; i++)
- input[i] = *src++;
-
- output[0] = (input[0] & 0xf8) >> 3;
- assert(output[0] < 32);
- if (srclength >= 1) {
- output[1] = ((input[0] & 0x07) << 2) + ((input[1] & 0xc0) >> 6);
- assert(output[1] < 32);
- output[2] = (input[1] & 0x3e) >> 1;
- assert(output[2] < 32);
- }
- if (srclength >= 2) {
- output[3] = ((input[1] & 0x01) << 4) + ((input[2] & 0xf0) >> 4);
- assert(output[3] < 32);
- }
- if (srclength >= 3) {
- output[4] = ((input[2] & 0x0f) << 1) + ((input[3] & 0x80) >> 7);
- assert(output[4] < 32);
- output[5] = (input[3] & 0x7c) >> 2;
- assert(output[5] < 32);
- }
- if (srclength >= 4) {
- output[6] = ((input[3] & 0x03) << 3) + ((input[4] & 0xe0) >> 5);
- assert(output[6] < 32);
- }
-
-
- if (datalength + 1 > targsize) {
- return (-2);
- }
- target[datalength++] = B32_ar[output[0]];
- if (srclength >= 1) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[1]];
- if (srclength == 1 && output[2] == 0) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[2]];
- }
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- }
- if (srclength >= 2) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[3]];
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- }
- if (srclength >= 3) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[4]];
- if (srclength == 3 && output[5] == 0) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[5]];
- }
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- }
- if (srclength >= 4) {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = B32_ar[output[6]];
- } else {
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- }
- if (datalength + 1 > targsize) { return (-2); }
- target[datalength++] = Pad32;
- }
- if (datalength+1 > targsize) {
- return (int) (datalength);
- }
- target[datalength] = '\0'; /* Returned value doesn't count \0. */
- return (int) (datalength);
-}
-
-int
-ldns_b32_ntop(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
- return ldns_b32_ntop_ar(src, srclength, target, targsize, Base32);
-}
-
-/* deprecated, here for backwards compatibility */
-int
-b32_ntop(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
- return ldns_b32_ntop_ar(src, srclength, target, targsize, Base32);
-}
-
-int
-ldns_b32_ntop_extended_hex(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
- return ldns_b32_ntop_ar(src, srclength, target, targsize, Base32_extended_hex);
-}
-
-/* deprecated, here for backwards compatibility */
-int
-b32_ntop_extended_hex(uint8_t const *src, size_t srclength, char *target, size_t targsize) {
- return ldns_b32_ntop_ar(src, srclength, target, targsize, Base32_extended_hex);
-}
-
diff --git a/compat/b32_pton.c b/compat/b32_pton.c
deleted file mode 100644
index 9c261e615b98..000000000000
--- a/compat/b32_pton.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright (c) 1996, 1998 by Internet Software Consortium.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
- * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
- * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
- * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
- * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
- * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- * SOFTWARE.
- */
-
-/*
- * Portions Copyright (c) 1995 by International Business Machines, Inc.
- *
- * International Business Machines, Inc. (hereinafter called IBM) grants
- * permission under its copyrights to use, copy, modify, and distribute this
- * Software with or without fee, provided that the above copyright notice and
- * all paragraphs of this notice appear in all copies, and that the name of IBM
- * not be used in connection with the marketing of any product incorporating
- * the Software or modifications thereof, without specific, written prior
- * permission.
- *
- * To the extent it has a right to do so, IBM grants an immunity from suit
- * under its patents, if any, for the use, sale or manufacture of products to
- * the extent that such products are used for performing Domain Name System
- * dynamic updates in TCP/IP networks by means of the Software. No immunity is
- * granted for any product per se or for any other function of any product.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL,
- * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN
- * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
- */
-#include <ldns/config.h>
-
-#include <sys/types.h>
-#include <sys/param.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";*/
-static const char Base32[] =
- "abcdefghijklmnopqrstuvwxyz234567";
-/* "0123456789ABCDEFGHIJKLMNOPQRSTUV";*/
-static const char Base32_extended_hex[] =
- "0123456789abcdefghijklmnopqrstuv";
-static const char Pad32 = '=';
-
-/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt)
-5. Base 32 Encoding
-
- The Base 32 encoding is designed to represent arbitrary sequences of
- octets in a form that needs to be case insensitive but need not be
- humanly readable.
-
- A 33-character subset of US-ASCII is used, enabling 5 bits to be
- represented per printable character. (The extra 33rd character, "=",
- is used to signify a special processing function.)
-
- The encoding process represents 40-bit groups of input bits as output
- strings of 8 encoded characters. Proceeding from left to right, a
- 40-bit input group is formed by concatenating 5 8bit input groups.
- These 40 bits are then treated as 8 concatenated 5-bit groups, each
- of which is translated into a single digit in the base 32 alphabet.
- When encoding a bit stream via the base 32 encoding, the bit stream
- must be presumed to be ordered with the most-significant-bit first.
- That is, the first bit in the stream will be the high-order bit in
- the first 8bit byte, and the eighth bit will be the low-order bit in
- the first 8bit byte, and so on.
-
- Each 5-bit group is used as an index into an array of 32 printable
- characters. The character referenced by the index is placed in the
- output string. These characters, identified in Table 3, below, are
- selected from US-ASCII digits and uppercase letters.
-
- Table 3: The Base 32 Alphabet
-
- Value Encoding Value Encoding Value Encoding Value Encoding
- 0 A 9 J 18 S 27 3
- 1 B 10 K 19 T 28 4
- 2 C 11 L 20 U 29 5
- 3 D 12 M 21 V 30 6
- 4 E 13 N 22 W 31 7
- 5 F 14 O 23 X
- 6 G 15 P 24 Y (pad) =
- 7 H 16 Q 25 Z
- 8 I 17 R 26 2
-
-
- Special processing is performed if fewer than 40 bits are available
- at the end of the data being encoded. A full encoding quantum is
- always completed at the end of a body. When fewer than 40 input bits
- are available in an input group, zero bits are added (on the right)
- to form an integral number of 5-bit groups. Padding at the end of
- the data is performed using the "=" character. Since all base 32
- input is an integral number of octets, only the following cases can
- arise:
-
- (1) the final quantum of encoding input is an integral multiple of 40
- bits; here, the final unit of encoded output will be an integral
- multiple of 8 characters with no "=" padding,
-
- (2) the final quantum of encoding input is exactly 8 bits; here, the
- final unit of encoded output will be two characters followed by six
- "=" padding characters,
-
- (3) the final quantum of encoding input is exactly 16 bits; here, the
- final unit of encoded output will be four characters followed by four
- "=" padding characters,
-
- (4) the final quantum of encoding input is exactly 24 bits; here, the
- final unit of encoded output will be five characters followed by
- three "=" padding characters, or
-
- (5) the final quantum of encoding input is exactly 32 bits; here, the
- final unit of encoded output will be seven characters followed by one
- "=" padding character.
-
-
-6. Base 32 Encoding with Extended Hex Alphabet
-
- The following description of base 32 is due to [7]. This encoding
- should not be regarded as the same as the "base32" encoding, and
- should not be referred to as only "base32".
-
- One property with this alphabet, that the base32 and base32 alphabet
- lack, is that encoded data maintain its sort order when the encoded
- data is compared bit-wise.
-
- This encoding is identical to the previous one, except for the
- alphabet. The new alphabet is found in table 4.
-
- Table 4: The "Extended Hex" Base 32 Alphabet
-
- Value Encoding Value Encoding Value Encoding Value Encoding
- 0 0 9 9 18 I 27 R
- 1 1 10 A 19 J 28 S
- 2 2 11 B 20 K 29 T
- 3 3 12 C 21 L 30 U
- 4 4 13 D 22 M 31 V
- 5 5 14 E 23 N
- 6 6 15 F 24 O (pad) =
- 7 7 16 G 25 P
- 8 8 17 H 26 Q
-
-
-
-
-*/
-/* skips all whitespace anywhere.
- converts characters, four at a time, starting at (or after)
- src from base - 32 numbers into three 8 bit bytes in the target area.
- it returns the number of data bytes stored at the target, or -1 on error.
- */
-
-int
-ldns_b32_pton_ar(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize, const char B32_ar[])
-{
- int tarindex, state, ch;
- char *pos;
- int i = 0;
-
- state = 0;
- tarindex = 0;
-
- while ((ch = *src++) != '\0' && (i == 0 || i < (int) hashed_owner_str_len)) {
- i++;
- ch = tolower(ch);
- if (isspace((unsigned char)ch)) /* Skip whitespace anywhere. */
- continue;
-
- if (ch == Pad32)
- break;
-
- pos = strchr(B32_ar, ch);
- if (pos == 0) {
- /* A non-base32 character. */
- return (-ch);
- }
-
- switch (state) {
- case 0:
- if (target) {
- if ((size_t)tarindex >= targsize) {
- return (-2);
- }
- target[tarindex] = (pos - B32_ar) << 3;
- }
- state = 1;
- break;
- case 1:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-3);
- }
- target[tarindex] |= (pos - B32_ar) >> 2;
- target[tarindex+1] = ((pos - B32_ar) & 0x03)
- << 6 ;
- }
- tarindex++;
- state = 2;
- break;
- case 2:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-4);
- }
- target[tarindex] |= (pos - B32_ar) << 1;
- }
- /*tarindex++;*/
- state = 3;
- break;
- case 3:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-5);
- }
- target[tarindex] |= (pos - B32_ar) >> 4;
- target[tarindex+1] = ((pos - B32_ar) & 0x0f) << 4 ;
- }
- tarindex++;
- state = 4;
- break;
- case 4:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-6);
- }
- target[tarindex] |= (pos - B32_ar) >> 1;
- target[tarindex+1] = ((pos - B32_ar) & 0x01)
- << 7 ;
- }
- tarindex++;
- state = 5;
- break;
- case 5:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-7);
- }
- target[tarindex] |= (pos - B32_ar) << 2;
- }
- state = 6;
- break;
- case 6:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-8);
- }
- target[tarindex] |= (pos - B32_ar) >> 3;
- target[tarindex+1] = ((pos - B32_ar) & 0x07)
- << 5 ;
- }
- tarindex++;
- state = 7;
- break;
- case 7:
- if (target) {
- if ((size_t)tarindex + 1 >= targsize) {
- return (-9);
- }
- target[tarindex] |= (pos - B32_ar);
- }
- tarindex++;
- state = 0;
- break;
- default:
- abort();
- }
- }
-
- /*
- * We are done decoding Base-32 chars. Let's see if we ended
- * on a byte boundary, and/or with erroneous trailing characters.
- */
-
- if (ch == Pad32) { /* We got a pad char. */
- ch = *src++; /* Skip it, get next. */
- switch (state) {
- case 0: /* Invalid = in first position */
- case 1: /* Invalid = in second position */
- return (-10);
-
- case 2: /* Valid, means one byte of info */
- case 3:
- /* Skip any number of spaces. */
- for ((void)NULL; ch != '\0'; ch = *src++)
- if (!isspace((unsigned char)ch))
- break;
- /* Make sure there is another trailing = sign. */
- if (ch != Pad32) {
- return (-11);
- }
- ch = *src++; /* Skip the = */
- /* Fall through to "single trailing =" case. */
- /* FALLTHROUGH */
-
- case 4: /* Valid, means two bytes of info */
- case 5:
- case 6:
- /*
- * We know this char is an =. Is there anything but
- * whitespace after it?
- */
- for ((void)NULL; ch != '\0'; ch = *src++)
- if (!(isspace((unsigned char)ch) || ch == '=')) {
- return (-12);
- }
-
- case 7: /* Valid, means three bytes of info */
- /*
- * We know this char is an =. Is there anything but
- * whitespace after it?
- */
- for ((void)NULL; ch != '\0'; ch = *src++)
- if (!isspace((unsigned char)ch)) {
- return (-13);
- }
-
- /*
- * Now make sure for cases 2 and 3 that the "extra"
- * bits that slopped past the last full byte were
- * zeros. If we don't check them, they become a
- * subliminal channel.
- */
- if (target && target[tarindex] != 0) {
- return (-14);
- }
- }
- } else {
- /*
- * We ended by seeing the end of the string. Make sure we
- * have no partial bytes lying around.
- */
- if (state != 0)
- return (-15);
- }
-
- return (tarindex);
-}
-
-int
-ldns_b32_pton(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
-{
- return ldns_b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32);
-}
-
-/* deprecated, here for backwards compatibility */
-int
-b32_pton(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
-{
- return ldns_b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32);
-}
-
-int
-ldns_b32_pton_extended_hex(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
-{
- return ldns_b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32_extended_hex);
-}
-
-/* deprecated, here for backwards compatibility */
-int
-b32_pton_extended_hex(char const *src, size_t hashed_owner_str_len, uint8_t *target, size_t targsize)
-{
- return ldns_b32_pton_ar(src, hashed_owner_str_len, target, targsize, Base32_extended_hex);
-}
diff --git a/compat/b64_ntop.c b/compat/b64_ntop.c
index d0b52b514bdf..6895acafd37c 100644
--- a/compat/b64_ntop.c
+++ b/compat/b64_ntop.c
@@ -40,27 +40,10 @@
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
#include <ldns/config.h>
-
-#include <sys/types.h>
-#include <sys/param.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
#include <ctype.h>
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#define Assert(Cond) if (!(Cond)) abort()
-
static const char Base64[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static const char Pad64 = '=';
@@ -154,10 +137,10 @@ ldns_b64_ntop(uint8_t const *src, size_t srclength, char *target, size_t targsiz
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
output[3] = input[2] & 0x3f;
- Assert(output[0] < 64);
- Assert(output[1] < 64);
- Assert(output[2] < 64);
- Assert(output[3] < 64);
+ assert(output[0] < 64);
+ assert(output[1] < 64);
+ assert(output[2] < 64);
+ assert(output[3] < 64);
if (datalength + 4 > targsize) {
return (-1);
@@ -178,9 +161,9 @@ ldns_b64_ntop(uint8_t const *src, size_t srclength, char *target, size_t targsiz
output[0] = input[0] >> 2;
output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4);
output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6);
- Assert(output[0] < 64);
- Assert(output[1] < 64);
- Assert(output[2] < 64);
+ assert(output[0] < 64);
+ assert(output[1] < 64);
+ assert(output[2] < 64);
if (datalength + 4 > targsize) {
return (-2);
diff --git a/compat/b64_pton.c b/compat/b64_pton.c
index aa637d227549..abe32819e92d 100644
--- a/compat/b64_pton.c
+++ b/compat/b64_pton.c
@@ -40,27 +40,10 @@
* IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES.
*/
#include <ldns/config.h>
-
-#include <sys/types.h>
-#include <sys/param.h>
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
#include <ctype.h>
-#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#define Assert(Cond) if (!(Cond)) abort()
-
static const char Base64[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
static const char Pad64 = '=';
diff --git a/compat/snprintf.c b/compat/snprintf.c
index b7445111cb3f..d869ba5e7d05 100644
--- a/compat/snprintf.c
+++ b/compat/snprintf.c
@@ -1,770 +1,1036 @@
-#include <ldns/config.h>
-
-#ifndef HAVE_SNPRINTF
+/* snprintf - compatibility implementation of snprintf, vsnprintf
+ *
+ * Copyright (c) 2013, NLnet Labs. All rights reserved.
+ *
+ * This software is open source.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NLNET LABS nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <ldns/config.h>
+#include <stdio.h>
#include <ctype.h>
-#include <sys/types.h>
+#include <string.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <errno.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
-/* Define this as a fall through, HAVE_STDARG_H is probably already set */
+/* for test */
+/* #define SNPRINTF_TEST 1 */
+#ifdef SNPRINTF_TEST
+#define snprintf my_snprintf
+#define vsnprintf my_vsnprintf
+#endif /* SNPRINTF_TEST */
-#define HAVE_VARARGS_H
+int snprintf(char* str, size_t size, const char* format, ...);
+int vsnprintf(char* str, size_t size, const char* format, va_list arg);
-/**************************************************************
- * Original:
- * Patrick Powell Tue Apr 11 09:48:21 PDT 1995
- * A bombproof version of doprnt (dopr) included.
- * Sigh. This sort of thing is always nasty do deal with. Note that
- * the version here does not include floating point...
- *
- * snprintf() is used instead of sprintf() as it does limit checks
- * for string length. This covers a nasty loophole.
- *
- * The other functions are there to prevent NULL pointers from
- * causing nast effects.
+/**
+ * Very portable snprintf implementation, limited in functionality,
+ * esp. for %[capital] %[nonportable] and so on. Reduced float functionality,
+ * mostly in formatting and range (e+-16), for %f and %g.
*
- * More Recently:
- * Brandon Long (blong@fiction.net) 9/15/96 for mutt 0.43
- * This was ugly. It is still ugly. I opted out of floating point
- * numbers, but the formatter understands just about everything
- * from the normal C string format, at least as far as I can tell from
- * the Solaris 2.5 printf(3S) man page.
- *
- * Brandon Long (blong@fiction.net) 10/22/97 for mutt 0.87.1
- * Ok, added some minimal floating point support, which means this
- * probably requires libm on most operating systems. Don't yet
- * support the exponent (e,E) and sigfig (g,G). Also, fmtint()
- * was pretty badly broken, it just wasn't being exercised in ways
- * which showed it, so that's been fixed. Also, formated the code
- * to mutt conventions, and removed dead code left over from the
- * original. Also, there is now a builtin-test, just compile with:
- * gcc -DTEST_SNPRINTF -o snprintf snprintf.c -lm
- * and run snprintf for results.
- *
- **************************************************************/
+ * %s, %d, %u, %i, %x, %c, %n and %% are fully supported.
+ * This includes width, precision, flags 0- +, and *(arg for wid,prec).
+ * %f, %g, %m, %p have reduced support, support for wid,prec,flags,*, but
+ * less floating point range, no %e formatting for %g.
+ */
+int snprintf(char* str, size_t size, const char* format, ...)
+{
+ int r;
+ va_list args;
+ va_start(args, format);
+ r = vsnprintf(str, size, format, args);
+ va_end(args);
+ return r;
+}
+/** add padding to string */
+static void
+print_pad(char** at, size_t* left, int* ret, char p, int num)
+{
+ while(num--) {
+ if(*left > 1) {
+ *(*at)++ = p;
+ (*left)--;
+ }
+ (*ret)++;
+ }
+}
-/* varargs declarations: */
+/** get negative symbol, 0 if none */
+static char
+get_negsign(int negative, int plus, int space)
+{
+ if(negative)
+ return '-';
+ if(plus)
+ return '+';
+ if(space)
+ return ' ';
+ return 0;
+}
-#if defined(HAVE_STDARG_H)
-# include <stdarg.h>
-# define HAVE_STDARGS /* let's hope that works everywhere (mj) */
-# define VA_LOCAL_DECL va_list ap
-# define VA_START(f) va_start(ap, f)
-# define VA_SHIFT(v,t) ; /* no-op for ANSI */
-# define VA_END va_end(ap)
-#else
-# if defined(HAVE_VARARGS_H)
-# include <varargs.h>
-# undef HAVE_STDARGS
-# define VA_LOCAL_DECL va_list ap
-# define VA_START(f) va_start(ap) /* f is ignored! */
-# define VA_SHIFT(v,t) v = va_arg(ap,t)
-# define VA_END va_end(ap)
-# else
-/*XX ** NO VARARGS ** XX*/
-# endif
-#endif
+#define PRINT_DEC_BUFSZ 32 /* 20 is enough for 64 bit decimals */
+/** print decimal into buffer, returns length */
+static int
+print_dec(char* buf, int max, unsigned int value)
+{
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = '0' + value % 10;
+ value /= 10;
+ }
+ return i;
+}
+
+/** print long decimal into buffer, returns length */
+static int
+print_dec_l(char* buf, int max, unsigned long value)
+{
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = '0' + value % 10;
+ value /= 10;
+ }
+ return i;
+}
+
+/** print long decimal into buffer, returns length */
+static int
+print_dec_ll(char* buf, int max, unsigned long long value)
+{
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = '0' + value % 10;
+ value /= 10;
+ }
+ return i;
+}
+
+/** print hex into buffer, returns length */
+static int
+print_hex(char* buf, int max, unsigned int value)
+{
+ const char* h = "0123456789abcdef";
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = h[value & 0x0f];
+ value >>= 4;
+ }
+ return i;
+}
+
+/** print long hex into buffer, returns length */
+static int
+print_hex_l(char* buf, int max, unsigned long value)
+{
+ const char* h = "0123456789abcdef";
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = h[value & 0x0f];
+ value >>= 4;
+ }
+ return i;
+}
+
+/** print long long hex into buffer, returns length */
+static int
+print_hex_ll(char* buf, int max, unsigned long long value)
+{
+ const char* h = "0123456789abcdef";
+ int i = 0;
+ if(value == 0) {
+ if(max > 0) {
+ buf[0] = '0';
+ i = 1;
+ }
+ } else while(value && i < max) {
+ buf[i++] = h[value & 0x0f];
+ value >>= 4;
+ }
+ return i;
+}
+
+/** copy string into result, reversed */
+static void
+spool_str_rev(char** at, size_t* left, int* ret, const char* buf, int len)
+{
+ int i = len;
+ while(i) {
+ if(*left > 1) {
+ *(*at)++ = buf[--i];
+ (*left)--;
+ } else --i;
+ (*ret)++;
+ }
+}
+
+/** copy string into result */
+static void
+spool_str(char** at, size_t* left, int* ret, const char* buf, int len)
+{
+ int i;
+ for(i=0; i<len; i++) {
+ if(*left > 1) {
+ *(*at)++ = buf[i];
+ (*left)--;
+ }
+ (*ret)++;
+ }
+}
+
+/** print number formatted */
+static void
+print_num(char** at, size_t* left, int* ret, int minw, int precision,
+ int prgiven, int zeropad, int minus, int plus, int space,
+ int zero, int negative, char* buf, int len)
+{
+ int w = len; /* excludes minus sign */
+ char s = get_negsign(negative, plus, space);
+ if(minus) {
+ /* left adjust the number into the field, space padding */
+ /* calc numw = [sign][zeroes][number] */
+ int numw = w;
+ if(precision == 0 && zero) numw = 0;
+ if(numw < precision) numw = precision;
+ if(s) numw++;
+
+ /* sign */
+ if(s) print_pad(at, left, ret, s, 1);
+
+ /* number */
+ if(precision == 0 && zero) {
+ /* "" for the number */
+ } else {
+ if(w < precision)
+ print_pad(at, left, ret, '0', precision - w);
+ spool_str_rev(at, left, ret, buf, len);
+ }
+ /* spaces */
+ if(numw < minw)
+ print_pad(at, left, ret, ' ', minw - numw);
+ } else {
+ /* pad on the left of the number */
+ /* calculate numw has width of [sign][zeroes][number] */
+ int numw = w;
+ if(precision == 0 && zero) numw = 0;
+ if(numw < precision) numw = precision;
+ if(!prgiven && zeropad && numw < minw) numw = minw;
+ else if(s) numw++;
+
+ /* pad with spaces */
+ if(numw < minw)
+ print_pad(at, left, ret, ' ', minw - numw);
+ /* print sign (and one less zeropad if so) */
+ if(s) {
+ print_pad(at, left, ret, s, 1);
+ numw--;
+ }
+ /* pad with zeroes */
+ if(w < numw)
+ print_pad(at, left, ret, '0', numw - w);
+ if(precision == 0 && zero)
+ return;
+ /* print the characters for the value */
+ spool_str_rev(at, left, ret, buf, len);
+ }
+}
+
+/** print %d and %i */
+static void
+print_num_d(char** at, size_t* left, int* ret, int value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = (value < 0);
+ int zero = (value == 0);
+ int len = print_dec(buf, (int)sizeof(buf),
+ (unsigned int)(negative?-value:value));
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+/** print %ld and %li */
+static void
+print_num_ld(char** at, size_t* left, int* ret, long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = (value < 0);
+ int zero = (value == 0);
+ int len = print_dec_l(buf, (int)sizeof(buf),
+ (unsigned long)(negative?-value:value));
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+/** print %lld and %lli */
+static void
+print_num_lld(char** at, size_t* left, int* ret, long long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = (value < 0);
+ int zero = (value == 0);
+ int len = print_dec_ll(buf, (int)sizeof(buf),
+ (unsigned long long)(negative?-value:value));
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+/** print %u */
+static void
+print_num_u(char** at, size_t* left, int* ret, unsigned int value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_dec(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+/** print %lu */
+static void
+print_num_lu(char** at, size_t* left, int* ret, unsigned long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_dec_l(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+/** print %llu */
+static void
+print_num_llu(char** at, size_t* left, int* ret, unsigned long long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_dec_ll(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
-int snprintf (char *str, size_t count, const char *fmt, ...);
-int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
+/** print %x */
+static void
+print_num_x(char** at, size_t* left, int* ret, unsigned int value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_hex(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
-static void dopr (char *buffer, size_t maxlen, const char *format,
- va_list args);
-static void fmtstr (char *buffer, size_t *currlen, size_t maxlen,
- char *value, int flags, int min, int max);
-static void fmtint (char *buffer, size_t *currlen, size_t maxlen,
- long value, int base, int min, int max, int flags);
-static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
- long double fvalue, int min, int max, int flags);
-static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c );
+/** print %lx */
+static void
+print_num_lx(char** at, size_t* left, int* ret, unsigned long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_hex_l(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
-int vsnprintf (char *str, size_t count, const char *fmt, va_list args)
+/** print %llx */
+static void
+print_num_llx(char** at, size_t* left, int* ret, unsigned long long value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
{
- str[0] = 0;
- dopr(str, count, fmt, args);
- return(strlen(str));
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+ int len = print_hex_ll(buf, (int)sizeof(buf), value);
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
}
-/* VARARGS3 */
-#ifdef HAVE_STDARGS
-int snprintf (char *str,size_t count,const char *fmt,...)
+/** print %llp */
+static void
+print_num_llp(char** at, size_t* left, int* ret, void* value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_DEC_BUFSZ];
+ int negative = 0;
+ int zero = (value == 0);
+#if defined(UINTPTR_MAX) && defined(UINT32_MAX) && (UINTPTR_MAX == UINT32_MAX)
+ /* avoid warning about upcast on 32bit systems */
+ unsigned long long llvalue = (unsigned long)value;
#else
-int snprintf (va_alist) va_dcl
+ unsigned long long llvalue = (unsigned long long)value;
#endif
+ int len = print_hex_ll(buf, (int)sizeof(buf), llvalue);
+ if(zero) {
+ buf[0]=')';
+ buf[1]='l';
+ buf[2]='i';
+ buf[3]='n';
+ buf[4]='(';
+ len = 5;
+ } else {
+ /* put '0x' in front of the (reversed) buffer result */
+ if(len < PRINT_DEC_BUFSZ)
+ buf[len++] = 'x';
+ if(len < PRINT_DEC_BUFSZ)
+ buf[len++] = '0';
+ }
+ print_num(at, left, ret, minw, precision, prgiven, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
+
+#define PRINT_FLOAT_BUFSZ 64 /* xx.yy with 20.20 about the max */
+/** spool remainder after the decimal point to buffer, in reverse */
+static int
+print_remainder(char* buf, int max, double r, int prec)
{
-#ifndef HAVE_STDARGS
- char *str;
- size_t count;
- char *fmt;
-#endif
- VA_LOCAL_DECL;
-
- VA_START (fmt);
- VA_SHIFT (str, char *);
- VA_SHIFT (count, size_t );
- VA_SHIFT (fmt, char *);
- (void) vsnprintf(str, count, fmt, ap);
- VA_END;
- return(strlen(str));
-}
-
-/*
- * dopr(): poor man's version of doprintf
- */
+ unsigned long long cap = 1;
+ unsigned long long value;
+ int len, i;
+ if(prec > 19) prec = 19; /* max we can do */
+ if(max < prec) return 0;
+ for(i=0; i<prec; i++) {
+ cap *= 10;
+ }
+ r *= (double)cap;
+ value = (unsigned long long)r;
+ /* see if we need to round up */
+ if(((unsigned long long)((r - (double)value)*10.0)) >= 5) {
+ value++;
+ /* that might carry to numbers before the comma, if so,
+ * just ignore that rounding. failure because 64bitprintout */
+ if(value >= cap)
+ value = cap-1;
+ }
+ len = print_dec_ll(buf, max, value);
+ while(len < prec) { /* pad with zeroes, e.g. if 0.0012 */
+ buf[len++] = '0';
+ }
+ if(len < max)
+ buf[len++] = '.';
+ return len;
+}
-/* format read states */
-#define DP_S_DEFAULT 0
-#define DP_S_FLAGS 1
-#define DP_S_MIN 2
-#define DP_S_DOT 3
-#define DP_S_MAX 4
-#define DP_S_MOD 5
-#define DP_S_CONV 6
-#define DP_S_DONE 7
-
-/* format flags - Bits */
-#define DP_F_MINUS 1
-#define DP_F_PLUS 2
-#define DP_F_SPACE 4
-#define DP_F_NUM 8
-#define DP_F_ZERO 16
-#define DP_F_UP 32
-
-/* Conversion Flags */
-#define DP_C_SHORT 1
-#define DP_C_LONG 2
-#define DP_C_LDOUBLE 3
-
-#define char_to_int(p) (p - '0')
-#define MAX(p,q) ((p >= q) ? p : q)
-
-static void dopr (char *buffer, size_t maxlen, const char *format, va_list args)
-{
- char ch;
- long value;
- long double fvalue;
- char *strvalue;
- int min;
- int max;
- int state;
- int flags;
- int cflags;
- size_t currlen;
-
- state = DP_S_DEFAULT;
- currlen = flags = cflags = min = 0;
- max = -1;
- ch = *format++;
-
- while (state != DP_S_DONE)
- {
- if ((ch == '\0') || (currlen >= maxlen))
- state = DP_S_DONE;
-
- switch(state)
- {
- case DP_S_DEFAULT:
- if (ch == '%')
- state = DP_S_FLAGS;
- else
- dopr_outch (buffer, &currlen, maxlen, ch);
- ch = *format++;
- break;
- case DP_S_FLAGS:
- switch (ch)
- {
- case '-':
- flags |= DP_F_MINUS;
- ch = *format++;
- break;
- case '+':
- flags |= DP_F_PLUS;
- ch = *format++;
- break;
- case ' ':
- flags |= DP_F_SPACE;
- ch = *format++;
- break;
- case '#':
- flags |= DP_F_NUM;
- ch = *format++;
- break;
- case '0':
- flags |= DP_F_ZERO;
- ch = *format++;
- break;
- default:
- state = DP_S_MIN;
- break;
- }
- break;
- case DP_S_MIN:
- if (isdigit((int) ch))
- {
- min = 10*min + char_to_int (ch);
- ch = *format++;
- }
- else if (ch == '*')
- {
- min = va_arg (args, int);
- ch = *format++;
- state = DP_S_DOT;
- }
- else
- state = DP_S_DOT;
- break;
- case DP_S_DOT:
- if (ch == '.')
- {
- state = DP_S_MAX;
- ch = *format++;
- }
- else
- state = DP_S_MOD;
- break;
- case DP_S_MAX:
- if (isdigit((int) ch))
- {
- if (max < 0)
- max = 0;
- max = 10*max + char_to_int (ch);
- ch = *format++;
- }
- else if (ch == '*')
- {
- max = va_arg (args, int);
- ch = *format++;
- state = DP_S_MOD;
- }
- else
- state = DP_S_MOD;
- break;
- case DP_S_MOD:
- /* Currently, we don't support Long Long, bummer */
- switch (ch)
- {
- case 'h':
- cflags = DP_C_SHORT;
- ch = *format++;
- break;
- case 'l':
- cflags = DP_C_LONG;
- ch = *format++;
- break;
- case 'L':
- cflags = DP_C_LDOUBLE;
- ch = *format++;
- break;
- default:
- break;
- }
- state = DP_S_CONV;
- break;
- case DP_S_CONV:
- switch (ch)
- {
- case 'd':
- case 'i':
- if (cflags == DP_C_SHORT)
- value = va_arg (args, int);
- else if (cflags == DP_C_LONG)
- value = va_arg (args, long int);
- else
- value = va_arg (args, int);
- fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
- break;
- case 'o':
- flags &= ~DP_F_PLUS;
- if (cflags == DP_C_SHORT)
- value = va_arg (args, unsigned int);
- else if (cflags == DP_C_LONG)
- value = va_arg (args, unsigned long int);
- else
- value = va_arg (args, unsigned int);
- fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
- break;
- case 'u':
- flags &= ~DP_F_PLUS;
- if (cflags == DP_C_SHORT)
- value = va_arg (args, unsigned int);
- else if (cflags == DP_C_LONG)
- value = va_arg (args, unsigned long int);
- else
- value = va_arg (args, unsigned int);
- fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
- break;
- case 'X':
- flags |= DP_F_UP;
- case 'x':
- flags &= ~DP_F_PLUS;
- if (cflags == DP_C_SHORT)
- value = va_arg (args, unsigned int);
- else if (cflags == DP_C_LONG)
- value = va_arg (args, unsigned long int);
- else
- value = va_arg (args, unsigned int);
- fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
- break;
- case 'f':
- if (cflags == DP_C_LDOUBLE)
- fvalue = va_arg (args, long double);
- else
- fvalue = va_arg (args, double);
- /* um, floating point? */
- fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
- break;
- case 'E':
- flags |= DP_F_UP;
- case 'e':
- if (cflags == DP_C_LDOUBLE)
- fvalue = va_arg (args, long double);
- else
- fvalue = va_arg (args, double);
- break;
- case 'G':
- flags |= DP_F_UP;
- case 'g':
- if (cflags == DP_C_LDOUBLE)
- fvalue = va_arg (args, long double);
- else
- fvalue = va_arg (args, double);
- break;
- case 'c':
- dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
- break;
- case 's':
- strvalue = va_arg (args, char *);
- if (max < 0)
- max = maxlen; /* ie, no max */
- fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
- break;
- case 'p':
- strvalue = va_arg (args, void *);
- fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min, max, flags);
- break;
- case 'n':
- if (cflags == DP_C_SHORT)
- {
- short int *num;
- num = va_arg (args, short int *);
- *num = currlen;
- }
- else if (cflags == DP_C_LONG)
- {
- long int *num;
- num = va_arg (args, long int *);
- *num = currlen;
- }
- else
- {
- int *num;
- num = va_arg (args, int *);
- *num = currlen;
- }
- break;
- case '%':
- dopr_outch (buffer, &currlen, maxlen, ch);
- break;
- case 'w':
- /* not supported yet, treat as next char */
- ch = *format++;
- break;
- default:
- /* Unknown, skip */
- break;
- }
- ch = *format++;
- state = DP_S_DEFAULT;
- flags = cflags = min = 0;
- max = -1;
- break;
- case DP_S_DONE:
- break;
- default:
- /* hmm? */
- break; /* some picky compilers need this */
- }
- }
- if (currlen < maxlen - 1)
- buffer[currlen] = '\0';
- else
- buffer[maxlen - 1] = '\0';
-}
-
-static void fmtstr (char *buffer, size_t *currlen, size_t maxlen,
- char *value, int flags, int min, int max)
-{
- int padlen, strln; /* amount to pad */
- int cnt = 0;
-
- if (value == 0)
- {
- value = (char *) "<NULL>";
- }
-
- for (strln = 0; value[strln]; ++strln); /* strlen */
- padlen = min - strln;
- if (padlen < 0)
- padlen = 0;
- if (flags & DP_F_MINUS)
- padlen = -padlen; /* Left Justify */
-
- while ((padlen > 0) && (cnt < max))
- {
- dopr_outch (buffer, currlen, maxlen, ' ');
- --padlen;
- ++cnt;
- }
- while (*value && (cnt < max))
- {
- dopr_outch (buffer, currlen, maxlen, *value++);
- ++cnt;
- }
- while ((padlen < 0) && (cnt < max))
- {
- dopr_outch (buffer, currlen, maxlen, ' ');
- ++padlen;
- ++cnt;
- }
-}
-
-/* Have to handle DP_F_NUM (ie 0x and 0 alternates) */
-
-static void fmtint (char *buffer, size_t *currlen, size_t maxlen,
- long value, int base, int min, int max, int flags)
-{
- int signvalue = 0;
- unsigned long uvalue;
- char convert[20];
- int place = 0;
- int spadlen = 0; /* amount to space pad */
- int zpadlen = 0; /* amount to zero pad */
- int caps = 0;
-
- if (max < 0)
- max = 0;
-
- uvalue = value;
- if( value < 0 ) {
- signvalue = '-';
- uvalue = -value;
- }
- else
- if (flags & DP_F_PLUS) /* Do a sign (+/i) */
- signvalue = '+';
- else
- if (flags & DP_F_SPACE)
- signvalue = ' ';
-
- if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
-
- do {
- convert[place++] =
- (caps? "0123456789ABCDEF":"0123456789abcdef")
- [uvalue % (unsigned)base ];
- uvalue = (uvalue / (unsigned)base );
- } while(uvalue && (place < 20));
- if (place == 20) place--;
- convert[place] = 0;
-
- zpadlen = max - place;
- spadlen = min - MAX (max, place) - (signvalue ? 1 : 0);
- if (zpadlen < 0) zpadlen = 0;
- if (spadlen < 0) spadlen = 0;
- if (flags & DP_F_ZERO)
- {
- zpadlen = MAX(zpadlen, spadlen);
- spadlen = 0;
- }
- if (flags & DP_F_MINUS)
- spadlen = -spadlen; /* Left Justifty */
-
-#ifdef DEBUG_SNPRINTF
- dprint (1, (debugfile, "zpad: %d, spad: %d, min: %d, max: %d, place: %d\n",
- zpadlen, spadlen, min, max, place));
-#endif
+/** spool floating point to buffer */
+static int
+print_float(char* buf, int max, double value, int prec)
+{
+ /* as xxx.xxx if prec==0, no '.', with prec decimals after . */
+ /* no conversion for NAN and INF, because we do not want to require
+ linking with -lm. */
+ /* Thus, the conversions use 64bit integers to convert the numbers,
+ * which makes 19 digits before and after the decimal point the max */
+ unsigned long long whole = (unsigned long long)value;
+ double remain = value - (double)whole;
+ int len = 0;
+ if(prec != 0)
+ len = print_remainder(buf, max, remain, prec);
+ len += print_dec_ll(buf+len, max-len, whole);
+ return len;
+}
- /* Spaces */
- while (spadlen > 0)
- {
- dopr_outch (buffer, currlen, maxlen, ' ');
- --spadlen;
- }
-
- /* Sign */
- if (signvalue)
- dopr_outch (buffer, currlen, maxlen, signvalue);
-
- /* Zeros */
- if (zpadlen > 0)
- {
- while (zpadlen > 0)
- {
- dopr_outch (buffer, currlen, maxlen, '0');
- --zpadlen;
- }
- }
-
- /* Digits */
- while (place > 0)
- dopr_outch (buffer, currlen, maxlen, convert[--place]);
-
- /* Left Justified spaces */
- while (spadlen < 0) {
- dopr_outch (buffer, currlen, maxlen, ' ');
- ++spadlen;
- }
-}
-
-static long double abs_val (long double value)
-{
- long double result = value;
-
- if (value < 0)
- result = -value;
-
- return result;
-}
-
-static double pow10 (double exp)
-{
- long double result = 1;
-
- while (exp)
- {
- result *= 10;
- exp--;
- }
-
- return result;
-}
-
-static double round (double value)
-{
- long intpart;
-
- intpart = value;
- value = value - intpart;
- if (value >= 0.5)
- intpart++;
-
- return intpart;
-}
-
-static void fmtfp (char *buffer, size_t *currlen, size_t maxlen,
- long double fvalue, int min, int max, int flags)
-{
- int signvalue = 0;
- long double ufvalue;
- char iconvert[20];
- char fconvert[20];
- int iplace = 0;
- int fplace = 0;
- int padlen = 0; /* amount to pad */
- int zpadlen = 0;
- int caps = 0;
- long intpart;
- long fracpart;
-
- /*
- * AIX manpage says the default is 0, but Solaris says the default
- * is 6, and sprintf on AIX defaults to 6
- */
- if (max < 0)
- max = 6;
-
- ufvalue = abs_val (fvalue);
-
- if (fvalue < 0)
- signvalue = '-';
- else
- if (flags & DP_F_PLUS) /* Do a sign (+/i) */
- signvalue = '+';
- else
- if (flags & DP_F_SPACE)
- signvalue = ' ';
-
-#if 0
- if (flags & DP_F_UP) caps = 1; /* Should characters be upper case? */
-#endif
+/** print %f */
+static void
+print_num_f(char** at, size_t* left, int* ret, double value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_FLOAT_BUFSZ];
+ int negative = (value < 0);
+ int zero = 0;
+ int len;
+ if(!prgiven) precision = 6;
+ len = print_float(buf, (int)sizeof(buf), negative?-value:value,
+ precision);
+ print_num(at, left, ret, minw, 1, 0, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
- intpart = ufvalue;
+/* rudimentary %g support */
+static int
+print_float_g(char* buf, int max, double value, int prec)
+{
+ unsigned long long whole = (unsigned long long)value;
+ double remain = value - (double)whole;
+ int before = 0;
+ int len = 0;
+
+ /* number of digits before the decimal point */
+ while(whole > 0) {
+ before++;
+ whole /= 10;
+ }
+ whole = (unsigned long long)value;
+
+ if(prec > before && remain != 0.0) {
+ /* see if the last decimals are zero, if so, skip them */
+ len = print_remainder(buf, max, remain, prec-before);
+ while(len > 0 && buf[0]=='0') {
+ memmove(buf, buf+1, --len);
+ }
+ }
+ len += print_dec_ll(buf+len, max-len, whole);
+ return len;
+}
- /*
- * Sorry, we only support 9 digits past the decimal because of our
- * conversion method
- */
- if (max > 9)
- max = 9;
- /* We "cheat" by converting the fractional part to integer by
- * multiplying by a factor of 10
- */
- fracpart = round ((pow10 (max)) * (ufvalue - intpart));
+/** print %g */
+static void
+print_num_g(char** at, size_t* left, int* ret, double value,
+ int minw, int precision, int prgiven, int zeropad, int minus,
+ int plus, int space)
+{
+ char buf[PRINT_FLOAT_BUFSZ];
+ int negative = (value < 0);
+ int zero = 0;
+ int len;
+ if(!prgiven) precision = 6;
+ if(precision == 0) precision = 1;
+ len = print_float_g(buf, (int)sizeof(buf), negative?-value:value,
+ precision);
+ print_num(at, left, ret, minw, 1, 0, zeropad, minus,
+ plus, space, zero, negative, buf, len);
+}
- if (fracpart >= pow10 (max))
- {
- intpart++;
- fracpart -= pow10 (max);
- }
-#ifdef DEBUG_SNPRINTF
- dprint (1, (debugfile, "fmtfp: %f =? %d.%d\n", fvalue, intpart, fracpart));
-#endif
+/** strnlen (compat implementation) */
+static int
+my_strnlen(const char* s, int max)
+{
+ int i;
+ for(i=0; i<max; i++)
+ if(s[i]==0)
+ return i;
+ return max;
+}
- /* Convert integer part */
- do {
- iconvert[iplace++] =
- (caps? "0123456789ABCDEF":"0123456789abcdef")[intpart % 10];
- intpart = (intpart / 10);
- } while(intpart && (iplace < 20));
- if (iplace == 20) iplace--;
- iconvert[iplace] = 0;
-
- /* Convert fractional part */
- do {
- fconvert[fplace++] =
- (caps? "0123456789ABCDEF":"0123456789abcdef")[fracpart % 10];
- fracpart = (fracpart / 10);
- } while(fracpart && (fplace < 20));
- if (fplace == 20) fplace--;
- fconvert[fplace] = 0;
-
- /* -1 for decimal point, another -1 if we are printing a sign */
- padlen = min - iplace - max - 1 - ((signvalue) ? 1 : 0);
- zpadlen = max - fplace;
- if (zpadlen < 0)
- zpadlen = 0;
- if (padlen < 0)
- padlen = 0;
- if (flags & DP_F_MINUS)
- padlen = -padlen; /* Left Justifty */
-
- if ((flags & DP_F_ZERO) && (padlen > 0))
- {
- if (signvalue)
- {
- dopr_outch (buffer, currlen, maxlen, signvalue);
- --padlen;
- signvalue = 0;
- }
- while (padlen > 0)
- {
- dopr_outch (buffer, currlen, maxlen, '0');
- --padlen;
- }
- }
- while (padlen > 0)
- {
- dopr_outch (buffer, currlen, maxlen, ' ');
- --padlen;
- }
- if (signvalue)
- dopr_outch (buffer, currlen, maxlen, signvalue);
-
- while (iplace > 0)
- dopr_outch (buffer, currlen, maxlen, iconvert[--iplace]);
-
- /*
- * Decimal point. This should probably use locale to find the correct
- * char to print out.
- */
- dopr_outch (buffer, currlen, maxlen, '.');
-
- while (zpadlen > 0)
- {
- dopr_outch (buffer, currlen, maxlen, '0');
- --zpadlen;
- }
-
- while (fplace > 0)
- dopr_outch (buffer, currlen, maxlen, fconvert[--fplace]);
-
- while (padlen < 0)
- {
- dopr_outch (buffer, currlen, maxlen, ' ');
- ++padlen;
- }
-}
-
-static void dopr_outch (char *buffer, size_t *currlen, size_t maxlen, char c)
-{
- if (*currlen < maxlen)
- buffer[(*currlen)++] = c;
-}
-
-#ifdef TEST_SNPRINTF
-#ifndef LONG_STRING
-#define LONG_STRING 1024
-#endif
-int main (void)
-{
- char buf1[LONG_STRING];
- char buf2[LONG_STRING];
- char *fp_fmt[] = {
- "%-1.5f",
- "%1.5f",
- "%123.9f",
- "%10.5f",
- "% 10.5f",
- "%+22.9f",
- "%+4.9f",
- "%01.3f",
- "%4f",
- "%3.1f",
- "%3.2f",
- NULL
- };
- double fp_nums[] = { -1.5, 134.21, 91340.2, 341.1234, 0203.9, 0.96, 0.996,
- 0.9996, 1.996, 4.136, 0};
- char *int_fmt[] = {
- "%-1.5d",
- "%1.5d",
- "%123.9d",
- "%5.5d",
- "%10.5d",
- "% 10.5d",
- "%+22.33d",
- "%01.3d",
- "%4d",
- NULL
- };
- long int_nums[] = { -1, 134, 91340, 341, 0203, 0};
- int x, y;
- int fail = 0;
- int num = 0;
-
- printf ("Testing snprintf format codes against system sprintf...\n");
-
- for (x = 0; fp_fmt[x] != NULL ; x++)
- for (y = 0; fp_nums[y] != 0 ; y++)
- {
- snprintf (buf1, sizeof (buf1), fp_fmt[x], fp_nums[y]);
- sprintf (buf2, fp_fmt[x], fp_nums[y]);
- if (strcmp (buf1, buf2))
- {
- printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n",
- fp_fmt[x], buf1, buf2);
- fail++;
- }
- num++;
- }
-
- for (x = 0; int_fmt[x] != NULL ; x++)
- for (y = 0; int_nums[y] != 0 ; y++)
- {
- snprintf (buf1, sizeof (buf1), int_fmt[x], int_nums[y]);
- sprintf (buf2, int_fmt[x], int_nums[y]);
- if (strcmp (buf1, buf2))
- {
- printf("snprintf doesn't match Format: %s\n\tsnprintf = %s\n\tsprintf = %s\n",
- int_fmt[x], buf1, buf2);
- fail++;
- }
- num++;
- }
- printf ("%d tests failed out of %d.\n", fail, num);
+/** print %s */
+static void
+print_str(char** at, size_t* left, int* ret, char* s,
+ int minw, int precision, int prgiven, int minus)
+{
+ int w;
+ /* with prec: no more than x characters from this string, stop at 0 */
+ if(prgiven)
+ w = my_strnlen(s, precision);
+ else w = (int)strlen(s); /* up to the nul */
+ if(w < minw && !minus)
+ print_pad(at, left, ret, ' ', minw - w);
+ spool_str(at, left, ret, s, w);
+ if(w < minw && minus)
+ print_pad(at, left, ret, ' ', minw - w);
+}
+
+/** print %c */
+static void
+print_char(char** at, size_t* left, int* ret, int c,
+ int minw, int minus)
+{
+ if(1 < minw && !minus)
+ print_pad(at, left, ret, ' ', minw - 1);
+ print_pad(at, left, ret, c, 1);
+ if(1 < minw && minus)
+ print_pad(at, left, ret, ' ', minw - 1);
+}
+
+
+/**
+ * Print to string.
+ * str: string buffer for result. result will be null terminated.
+ * size: size of the buffer. null is put inside buffer.
+ * format: printf format string.
+ * arg: '...' arguments to print.
+ * returns number of characters. a null is printed after this.
+ * return number of bytes that would have been written
+ * if the buffer had been large enough.
+ *
+ * supported format specifiers:
+ * %s, %u, %d, %x, %i, %f, %g, %c, %p, %n.
+ * length: l, ll (for d, u, x).
+ * precision: 6.6d (for d, u, x)
+ * %f, %g precisions, 0.3f
+ * %20s, '.*s'
+ * and %%.
+ */
+int vsnprintf(char* str, size_t size, const char* format, va_list arg)
+{
+ char* at = str;
+ size_t left = size;
+ int ret = 0;
+ const char* fmt = format;
+ int conv, minw, precision, prgiven, zeropad, minus, plus, space, length;
+ while(*fmt) {
+ /* copy string before % */
+ while(*fmt && *fmt!='%') {
+ if(left > 1) {
+ *at++ = *fmt++;
+ left--;
+ } else fmt++;
+ ret++;
+ }
+
+ /* see if we are at end */
+ if(!*fmt) break;
+
+ /* fetch next argument % designation from format string */
+ fmt++; /* skip the '%' */
+
+ /********************************/
+ /* get the argument designation */
+ /********************************/
+ /* we must do this vararg stuff inside this function for
+ * portability. Hence, get_designation, and print_designation
+ * are not their own functions. */
+
+ /* printout designation:
+ * conversion specifier: x, d, u, s, c, n, m, p
+ * flags: # not supported
+ * 0 zeropad (on the left)
+ * - left adjust (right by default)
+ * ' ' printspace for positive number (in - position).
+ * + alwayssign
+ * fieldwidth: [1-9][0-9]* minimum field width.
+ * if this is * then type int next argument specifies the minwidth.
+ * if this is negative, the - flag is set (with positive width).
+ * precision: period[digits]*, %.2x.
+ * if this is * then type int next argument specifies the precision.
+ * just '.' or negative value means precision=0.
+ * this is mindigits to print for d, i, u, x
+ * this is aftercomma digits for f
+ * this is max number significant digits for g
+ * maxnumber characters to be printed for s
+ * length: 0-none (int), 1-l (long), 2-ll (long long)
+ * notsupported: hh (char), h (short), L (long double), q, j, z, t
+ * Does not support %m$ and *m$ argument designation as array indices.
+ * Does not support %#x
+ *
+ */
+ minw = 0;
+ precision = 1;
+ prgiven = 0;
+ zeropad = 0;
+ minus = 0;
+ plus = 0;
+ space = 0;
+ length = 0;
+
+ /* get flags in any order */
+ for(;;) {
+ if(*fmt == '0')
+ zeropad = 1;
+ else if(*fmt == '-')
+ minus = 1;
+ else if(*fmt == '+')
+ plus = 1;
+ else if(*fmt == ' ')
+ space = 1;
+ else break;
+ fmt++;
+ }
+
+ /* field width */
+ if(*fmt == '*') {
+ fmt++; /* skip char */
+ minw = va_arg(arg, int);
+ if(minw < 0) {
+ minus = 1;
+ minw = -minw;
+ }
+ } else while(*fmt >= '0' && *fmt <= '9') {
+ minw = minw*10 + (*fmt++)-'0';
+ }
+
+ /* precision */
+ if(*fmt == '.') {
+ fmt++; /* skip period */
+ prgiven = 1;
+ precision = 0;
+ if(*fmt == '*') {
+ fmt++; /* skip char */
+ precision = va_arg(arg, int);
+ if(precision < 0)
+ precision = 0;
+ } else while(*fmt >= '0' && *fmt <= '9') {
+ precision = precision*10 + (*fmt++)-'0';
+ }
+ }
+
+ /* length */
+ if(*fmt == 'l') {
+ fmt++; /* skip char */
+ length = 1;
+ if(*fmt == 'l') {
+ fmt++; /* skip char */
+ length = 2;
+ }
+ }
+
+ /* get the conversion */
+ if(!*fmt) conv = 0;
+ else conv = *fmt++;
+
+ /***********************************/
+ /* print that argument designation */
+ /***********************************/
+ switch(conv) {
+ case 'i':
+ case 'd':
+ if(length == 0)
+ print_num_d(&at, &left, &ret, va_arg(arg, int),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 1)
+ print_num_ld(&at, &left, &ret, va_arg(arg, long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 2)
+ print_num_lld(&at, &left, &ret,
+ va_arg(arg, long long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ case 'u':
+ if(length == 0)
+ print_num_u(&at, &left, &ret,
+ va_arg(arg, unsigned int),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 1)
+ print_num_lu(&at, &left, &ret,
+ va_arg(arg, unsigned long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 2)
+ print_num_llu(&at, &left, &ret,
+ va_arg(arg, unsigned long long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ case 'x':
+ if(length == 0)
+ print_num_x(&at, &left, &ret,
+ va_arg(arg, unsigned int),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 1)
+ print_num_lx(&at, &left, &ret,
+ va_arg(arg, unsigned long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ else if(length == 2)
+ print_num_llx(&at, &left, &ret,
+ va_arg(arg, unsigned long long),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ case 's':
+ print_str(&at, &left, &ret, va_arg(arg, char*),
+ minw, precision, prgiven, minus);
+ break;
+ case 'c':
+ print_char(&at, &left, &ret, va_arg(arg, int),
+ minw, minus);
+ break;
+ case 'n':
+ *va_arg(arg, int*) = ret;
+ break;
+ case 'm':
+ print_str(&at, &left, &ret, strerror(errno),
+ minw, precision, prgiven, minus);
+ break;
+ case 'p':
+ print_num_llp(&at, &left, &ret, va_arg(arg, void*),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ case '%':
+ print_pad(&at, &left, &ret, '%', 1);
+ break;
+ case 'f':
+ print_num_f(&at, &left, &ret, va_arg(arg, double),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ case 'g':
+ print_num_g(&at, &left, &ret, va_arg(arg, double),
+ minw, precision, prgiven, zeropad, minus, plus, space);
+ break;
+ /* unknown */
+ default:
+ case 0: break;
+ }
+ }
+
+ /* zero terminate */
+ if(left > 0)
+ *at = 0;
+ return ret;
}
-#endif /* SNPRINTF_TEST */
-#endif /* !HAVE_SNPRINTF */
+#ifdef SNPRINTF_TEST
+
+/** do tests */
+#undef snprintf
+#define DOTEST(bufsz, result, retval, ...) do { \
+ char buf[bufsz]; \
+ printf("now test %s\n", #__VA_ARGS__); \
+ int r=my_snprintf(buf, sizeof(buf), __VA_ARGS__); \
+ if(r != retval || strcmp(buf, result) != 0) { \
+ printf("error test(%s) was \"%s\":%d\n", \
+ ""#bufsz", "#result", "#retval", "#__VA_ARGS__, \
+ buf, r); \
+ exit(1); \
+ } \
+ r=snprintf(buf, sizeof(buf), __VA_ARGS__); \
+ if(r != retval || strcmp(buf, result) != 0) { \
+ printf("error test(%s) differs with system, \"%s\":%d\n", \
+ ""#bufsz", "#result", "#retval", "#__VA_ARGS__, \
+ buf, r); \
+ exit(1); \
+ } \
+ printf("test(\"%s\":%d) passed\n", buf, r); \
+ } while(0);
+
+/** test program */
+int main(void)
+{
+ int x = 0;
+
+ /* bufsize, expectedstring, expectedretval, snprintf arguments */
+ DOTEST(1024, "hello", 5, "hello");
+ DOTEST(1024, "h", 1, "h");
+ /* warning from gcc for format string, but it does work
+ * DOTEST(1024, "", 0, ""); */
+
+ DOTEST(3, "he", 5, "hello");
+ DOTEST(1, "", 7, "%d", 7823089);
+
+ /* test positive numbers */
+ DOTEST(1024, "0", 1, "%d", 0);
+ DOTEST(1024, "1", 1, "%d", 1);
+ DOTEST(1024, "9", 1, "%d", 9);
+ DOTEST(1024, "15", 2, "%d", 15);
+ DOTEST(1024, "ab15cd", 6, "ab%dcd", 15);
+ DOTEST(1024, "167", 3, "%d", 167);
+ DOTEST(1024, "7823089", 7, "%d", 7823089);
+ DOTEST(1024, " 12", 3, "%3d", 12);
+ DOTEST(1024, "012", 3, "%.3d", 12);
+ DOTEST(1024, "012", 3, "%3.3d", 12);
+ DOTEST(1024, "012", 3, "%03d", 12);
+ DOTEST(1024, " 012", 4, "%4.3d", 12);
+ DOTEST(1024, "", 0, "%.0d", 0);
+
+ /* test negative numbers */
+ DOTEST(1024, "-1", 2, "%d", -1);
+ DOTEST(1024, "-12", 3, "%3d", -12);
+ DOTEST(1024, " -2", 3, "%3d", -2);
+ DOTEST(1024, "-012", 4, "%.3d", -12);
+ DOTEST(1024, "-012", 4, "%3.3d", -12);
+ DOTEST(1024, "-012", 4, "%4.3d", -12);
+ DOTEST(1024, " -012", 5, "%5.3d", -12);
+ DOTEST(1024, "-12", 3, "%03d", -12);
+ DOTEST(1024, "-02", 3, "%03d", -2);
+ DOTEST(1024, "-15", 3, "%d", -15);
+ DOTEST(1024, "-7307", 5, "%d", -7307);
+ DOTEST(1024, "-12 ", 5, "%-5d", -12);
+ DOTEST(1024, "-00012", 6, "%-.5d", -12);
+
+ /* test + and space flags */
+ DOTEST(1024, "+12", 3, "%+d", 12);
+ DOTEST(1024, " 12", 3, "% d", 12);
+
+ /* test %u */
+ DOTEST(1024, "12", 2, "%u", 12);
+ DOTEST(1024, "0", 1, "%u", 0);
+ DOTEST(1024, "4294967295", 10, "%u", 0xffffffff);
+
+ /* test %x */
+ DOTEST(1024, "0", 1, "%x", 0);
+ DOTEST(1024, "c", 1, "%x", 12);
+ DOTEST(1024, "12ab34cd", 8, "%x", 0x12ab34cd);
+
+ /* test %llu, %lld */
+ DOTEST(1024, "18446744073709551615", 20, "%llu",
+ (long long)0xffffffffffffffff);
+ DOTEST(1024, "-9223372036854775808", 20, "%lld",
+ (long long)0x8000000000000000);
+ DOTEST(1024, "9223372036854775808", 19, "%llu",
+ (long long)0x8000000000000000);
+
+ /* test %s */
+ DOTEST(1024, "hello", 5, "%s", "hello");
+ DOTEST(1024, " hello", 10, "%10s", "hello");
+ DOTEST(1024, "hello ", 10, "%-10s", "hello");
+ DOTEST(1024, "he", 2, "%.2s", "hello");
+ DOTEST(1024, " he", 4, "%4.2s", "hello");
+ DOTEST(1024, " h", 4, "%4.2s", "h");
+
+ /* test %c */
+ DOTEST(1024, "a", 1, "%c", 'a');
+ /* warning from gcc for format string, but it does work
+ DOTEST(1024, " a", 5, "%5c", 'a');
+ DOTEST(1024, "a", 1, "%.0c", 'a'); */
+
+ /* test %n */
+ DOTEST(1024, "hello", 5, "hello%n", &x);
+ if(x != 5) { printf("the %%n failed\n"); exit(1); }
+
+ /* test %m */
+ errno = 0;
+ DOTEST(1024, "Success", 7, "%m");
+
+ /* test %p */
+ DOTEST(1024, "0x10", 4, "%p", (void*)0x10);
+ DOTEST(1024, "(nil)", 5, "%p", (void*)0x0);
+
+ /* test %% */
+ DOTEST(1024, "%", 1, "%%");
+
+ /* test %f */
+ DOTEST(1024, "0.000000", 8, "%f", 0.0);
+ DOTEST(1024, "0.00", 4, "%.2f", 0.0);
+ /* differs, "-0.00" DOTEST(1024, "0.00", 4, "%.2f", -0.0); */
+ DOTEST(1024, "234.00", 6, "%.2f", 234.005);
+ DOTEST(1024, "8973497.1246", 12, "%.4f", 8973497.12456);
+ DOTEST(1024, "-12.000000", 10, "%f", -12.0);
+ DOTEST(1024, "6", 1, "%.0f", 6.0);
+
+ DOTEST(1024, "6", 1, "%g", 6.0);
+ DOTEST(1024, "6.1", 3, "%g", 6.1);
+ DOTEST(1024, "6.15", 4, "%g", 6.15);
+
+ /* These format strings are from the code of NSD, Unbound, ldns */
+
+ DOTEST(1024, "abcdef", 6, "%s", "abcdef");
+ DOTEST(1024, "005", 3, "%03u", 5);
+ DOTEST(1024, "12345", 5, "%03u", 12345);
+ DOTEST(1024, "5", 1, "%d", 5);
+ DOTEST(1024, "(nil)", 5, "%p", NULL);
+ DOTEST(1024, "12345", 5, "%ld", (long)12345);
+ DOTEST(1024, "12345", 5, "%lu", (long)12345);
+ DOTEST(1024, " 12345", 12, "%12u", (unsigned)12345);
+ DOTEST(1024, "12345", 5, "%u", (unsigned)12345);
+ DOTEST(1024, "12345", 5, "%llu", (unsigned long long)12345);
+ DOTEST(1024, "12345", 5, "%x", 0x12345);
+ DOTEST(1024, "12345", 5, "%llx", (long long)0x12345);
+ DOTEST(1024, "012345", 6, "%6.6d", 12345);
+ DOTEST(1024, "012345", 6, "%6.6u", 12345);
+ DOTEST(1024, "1234.54", 7, "%g", 1234.54);
+ DOTEST(1024, "123456789.54", 12, "%.12g", 123456789.54);
+ DOTEST(1024, "3456789123456.54", 16, "%.16g", 3456789123456.54);
+ /* %24g does not work with 24 digits, not enough accuracy,
+ * the first 16 digits are correct */
+ DOTEST(1024, "12345", 5, "%3.3d", 12345);
+ DOTEST(1024, "000", 3, "%3.3d", 0);
+ DOTEST(1024, "001", 3, "%3.3d", 1);
+ DOTEST(1024, "012", 3, "%3.3d", 12);
+ DOTEST(1024, "-012", 4, "%3.3d", -12);
+ DOTEST(1024, "he", 2, "%.2s", "hello");
+ DOTEST(1024, "helloworld", 10, "%s%s", "hello", "world");
+ DOTEST(1024, "he", 2, "%.*s", 2, "hello");
+ DOTEST(1024, " hello", 7, "%*s", 7, "hello");
+ DOTEST(1024, "hello ", 7, "%*s", -7, "hello");
+ DOTEST(1024, "0", 1, "%c", '0');
+ DOTEST(1024, "A", 1, "%c", 'A');
+ DOTEST(1024, "", 1, "%c", 0);
+ DOTEST(1024, "\010", 1, "%c", 8);
+ DOTEST(1024, "%", 1, "%%");
+ DOTEST(1024, "0a", 2, "%02x", 0x0a);
+ DOTEST(1024, "bd", 2, "%02x", 0xbd);
+ DOTEST(1024, "12", 2, "%02ld", (long)12);
+ DOTEST(1024, "02", 2, "%02ld", (long)2);
+ DOTEST(1024, "02", 2, "%02u", (unsigned)2);
+ DOTEST(1024, "765432", 6, "%05u", (unsigned)765432);
+ DOTEST(1024, "10.234", 6, "%0.3f", 10.23421);
+ DOTEST(1024, "123456.234", 10, "%0.3f", 123456.23421);
+ DOTEST(1024, "123456789.234", 13, "%0.3f", 123456789.23421);
+ DOTEST(1024, "123456.23", 9, "%.2f", 123456.23421);
+ DOTEST(1024, "123456", 6, "%.0f", 123456.23421);
+ DOTEST(1024, "0123", 4, "%.4x", 0x0123);
+ DOTEST(1024, "00000123", 8, "%.8x", 0x0123);
+ DOTEST(1024, "ffeb0cde", 8, "%.8x", 0xffeb0cde);
+ DOTEST(1024, " 987654321", 10, "%10lu", (unsigned long)987654321);
+ DOTEST(1024, " 987654321", 12, "%12lu", (unsigned long)987654321);
+ DOTEST(1024, "987654321", 9, "%i", 987654321);
+ DOTEST(1024, "-87654321", 9, "%i", -87654321);
+ DOTEST(1024, "hello ", 16, "%-16s", "hello");
+ DOTEST(1024, " ", 16, "%-16s", "");
+ DOTEST(1024, "a ", 16, "%-16s", "a");
+ DOTEST(1024, "foobarfoobar ", 16, "%-16s", "foobarfoobar");
+ DOTEST(1024, "foobarfoobarfoobar", 18, "%-16s", "foobarfoobarfoobar");
+
+ /* combined expressions */
+ DOTEST(1024, "foo 1.0 size 512 edns", 21,
+ "foo %s size %d %s%s", "1.0", 512, "", "edns");
+ DOTEST(15, "foo 1.0 size 5", 21,
+ "foo %s size %d %s%s", "1.0", 512, "", "edns");
+ DOTEST(1024, "packet 1203ceff id", 18,
+ "packet %2.2x%2.2x%2.2x%2.2x id", 0x12, 0x03, 0xce, 0xff);
+ DOTEST(1024, "/tmp/testbound_123abcd.tmp", 26, "/tmp/testbound_%u%s%s.tmp", 123, "ab", "cd");
+
+ return 0;
+}
+#endif /* SNPRINTF_TEST */
diff --git a/configure b/configure
index be312d1e3f16..8bc7462cf02c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ldns 1.6.16.
+# Generated by GNU Autoconf 2.68 for ldns 1.6.17.
#
# Report bugs to <libdns@nlnetlabs.nl>.
#
@@ -570,8 +570,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ldns'
PACKAGE_TARNAME='libdns'
-PACKAGE_VERSION='1.6.16'
-PACKAGE_STRING='ldns 1.6.16'
+PACKAGE_VERSION='1.6.17'
+PACKAGE_STRING='ldns 1.6.17'
PACKAGE_BUGREPORT='libdns@nlnetlabs.nl'
PACKAGE_URL=''
@@ -621,6 +621,8 @@ DEFAULT_CAPATH
DEFAULT_CAFILE
LDNS_TRUST_ANCHOR_FILE
WINDRES
+ldns_build_config_have_b32_pton
+ldns_build_config_have_b32_ntop
LIBOBJS
ldns_build_config_have_socklen_t
LIBPCAP_LIBS
@@ -633,30 +635,16 @@ LIBSSL_SSL_LIBS
LIBSSL_LIBS
LIBSSL_LDFLAGS
LIBSSL_CPPFLAGS
+ldns_build_config_use_dane
RUNTIME_PATH
HAVE_SSL
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-AWK
-RANLIB
-STRIP
-ac_ct_AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-SED
-LIBTOOL
-AR
libtool
+CLEAN_P5_DNS_LDNS
+UNINSTALL_P5_DNS_LDNS
+INSTALL_P5_DNS_LDNS
+TEST_P5_DNS_LDNS
+P5_DNS_LDNS
+PERL
PYLDNSXUNINST
PYLDNSXINST
PYLDNSUNINST
@@ -691,6 +679,28 @@ INSTALL_DRILL
DRILL
doxygen
LINTFLAGS
+SET_MAKE
+DEPFLAG
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+AWK
+RANLIB
+STRIP
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
host_os
host_vendor
host_cpu
@@ -699,8 +709,7 @@ build_os
build_vendor
build_cpu
build
-SET_MAKE
-DEPFLAG
+LIBTOOL
EGREP
GREP
CPP
@@ -711,10 +720,10 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
+VERSION_INFO
LDNS_VERSION_MICRO
LDNS_VERSION_MINOR
LDNS_VERSION_MAJOR
-LIBTOOL_VERSION_INFO
target_alias
host_alias
build_alias
@@ -756,11 +765,6 @@ SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
-with_drill
-with_examples
-enable_ldns_config
-with_pyldns
-with_pyldnsx
enable_shared
enable_static
with_pic
@@ -768,10 +772,23 @@ enable_fast_install
with_gnu_ld
with_sysroot
enable_libtool_lock
+with_drill
+with_examples
+enable_ldns_config
+enable_stderr_msgs
+with_pyldns
+with_pyldnsx
+with_p5_dns_ldns
with_ssl
enable_sha2
enable_gost
enable_ecdsa
+enable_dane
+enable_rrtype_ninfo
+enable_rrtype_rkey
+enable_rrtype_cds
+enable_rrtype_uri
+enable_rrtype_ta
enable_rpath
with_trust_anchor
with_ca_file
@@ -1329,7 +1346,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ldns 1.6.16 to adapt to many kinds of systems.
+\`configure' configures ldns 1.6.17 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1394,7 +1411,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ldns 1.6.16:";;
+ short | recursive ) echo "Configuration of ldns 1.6.17:";;
esac
cat <<\_ACEOF
@@ -1402,31 +1419,40 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-ldns-config disable installation of ldns-config (default=enabled)
--enable-shared[=PKGS] build shared libraries [default=yes]
--enable-static[=PKGS] build static libraries [default=yes]
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --disable-ldns-config disable installation of ldns-config
+ (default=enabled)
+ --enable-stderr-msgs Enable printing to stderr (default=disabled)
--disable-sha2 Disable SHA256 and SHA512 RRSIG support
--disable-gost Disable GOST support
--disable-ecdsa Disable ECDSA support
+ --disable-dane Disable DANE support
+ --enable-rrtype-ninfo Enable draft RR type ninfo.
+ --enable-rrtype-rkey Enable draft RR type rkey.
+ --enable-rrtype-cds Enable draft RR type cds.
+ --enable-rrtype-uri Enable draft RR type uri.
+ --enable-rrtype-ta Enable draft RR type ta.
--disable-rpath disable hardcoded rpath (default=enabled)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot=DIR Search for dependent libraries within DIR
+ (or the compiler's sysroot if not specified).
--with-drill Also build drill.
--with-examples Also build examples.
--with-pyldns generate python library, or --without-pyldns to
disable Python support.
--without-pyldnsx Do not install the ldnsx python module, or
--with-pyldnsx to install it.
- --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
- both]
- --with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
+ --with-p5-dns-ldns generate DNS::LDNS perl bindings
--with-ssl=pathname enable SSL (will check /usr/local/ssl /usr/lib/ssl
/usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw
/usr)
@@ -1517,7 +1543,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ldns configure 1.6.16
+ldns configure 1.6.17
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1770,60 +1796,6 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_header_compile
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
@@ -1937,6 +1909,60 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_func
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
# ---------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -2221,7 +2247,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ldns $as_me 1.6.16, which was
+It was created by ldns $as_me 1.6.17, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -2571,18 +2597,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# needed to build correct soname
-LIBTOOL_VERSION_INFO=1:6:16
-
LDNS_VERSION_MAJOR=1
LDNS_VERSION_MINOR=6
-LDNS_VERSION_MICRO=16
+LDNS_VERSION_MICRO=17
+VERSION_INFO=1:6:17
-OURCPPFLAGS=''
-CPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}}
-CFLAGS="$CFLAGS"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -3834,598 +3856,6 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
-# Checks for programs.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $CC dependency flag" >&5
-$as_echo_n "checking $CC dependency flag... " >&6; }
-echo 'void f(){}' >conftest.c
-if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
- DEPFLAG="-MM"
-else
- if test "`$CC -xM1 conftest.c 2>&1`" = "conftest.o: conftest.c"; then
- DEPFLAG="-xM1"
- else
- DEPFLAG="-MM" # dunno do something
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEPFLAG" >&5
-$as_echo "$DEPFLAG" >&6; }
-rm -f conftest.c
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
- @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
- *@@@%%%=?*=@@@%%%*)
- eval ac_cv_prog_make_${ac_make}_set=yes;;
- *)
- eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- SET_MAKE=
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-# Extra (sp)lint flags for NetBSD
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
@@ -4455,6 +3885,31 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.2'
+macro_revision='1.3337'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
@@ -4526,2630 +3981,6 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-case "$host_os" in
- netbsd*) LINTFLAGS="'-D__RENAME(x)=' -D_NETINET_IN_H_ $LINTFLAGS"
- ;;
- *) LINTFLAGS="$LINTFLAGS"
- ;;
-esac
-
-
-
-$as_echo "#define WINVER 0x0502" >>confdefs.h
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
-$as_echo_n "checking whether $CC supports -std=c99... " >&6; }
-cache=`echo std=c99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-C99FLAG="-std=c99"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
-$as_echo_n "checking whether $CC supports -xc99... " >&6; }
-cache=`echo xc99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-C99FLAG="-xc99"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-# routine to copy files
-# argument 1 is a list of files (relative to the source dir)
-# argument 2 is a destination directory (relative to the current
-# working directory
-
-
-# copy all .h files in the dir at argument 1
-# (relative to source) to the dir at argument 2
-# (relative to current dir)
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if ${ac_cv_c_const+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset cs;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *pcpcc;
- char **ppc;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- pcpcc = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++pcpcc;
- ppc = (char**) pcpcc;
- pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- if (s) return 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- if (!foo) return 0;
- }
- return !cs[0] && !zero.x;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_const=yes
-else
- ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "#define const /**/" >>confdefs.h
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-if test "x$CFLAGS" = "x" ; then
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -g" >&5
-$as_echo_n "checking whether $CC supports -g... " >&6; }
-cache=`echo g | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -g -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="-g"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -O2" >&5
-$as_echo_n "checking whether $CC supports -O2... " >&6; }
-cache=`echo O2 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -O2 -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="-O2 $CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
-$as_echo_n "checking whether $CC supports -Wall... " >&6; }
-cache=`echo Wall | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="-Wall $CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -W" >&5
-$as_echo_n "checking whether $CC supports -W... " >&6; }
-cache=`echo W | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -W -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="-W $CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wwrite-strings" >&5
-$as_echo_n "checking whether $CC supports -Wwrite-strings... " >&6; }
-cache=`echo Wwrite-strings | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wwrite-strings -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="-Wwrite-strings $CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-for ac_header in getopt.h time.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# MinGW32 tests
-for ac_header in winsock2.h ws2tcpip.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-# end mingw32 tests
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror" >&5
-$as_echo_n "checking whether $CC supports -Werror... " >&6; }
-cache=`echo Werror | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Werror -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-ERRFLAG="-Werror"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-ERRFLAG="-errwarn"
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
-$as_echo_n "checking whether $CC supports -Wall... " >&6; }
-cache=`echo Wall | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-ERRFLAG="$ERRFLAG -Wall"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-ERRFLAG="$ERRFLAG -errfmt"
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
-$as_echo_n "checking whether $CC supports -std=c99... " >&6; }
-cache=`echo std=c99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-C99FLAG="-std=c99"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
-$as_echo_n "checking whether $CC supports -xc99... " >&6; }
-cache=`echo xc99 | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-C99FLAG="-xc99"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-for ac_header in getopt.h time.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include "confdefs.h"
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/time.h>
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#include <unistd.h>
-#include <netdb.h>
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-int test() {
- int a;
- char **opts = NULL;
- struct timeval tv;
- char *t;
- time_t time = 0;
- char *buf = NULL;
- const char* str = NULL;
- struct msghdr msg;
- msg.msg_control = 0;
- t = ctime_r(&time, buf);
- tv.tv_usec = 10;
- srandom(32);
- a = getopt(2, opts, "a");
- a = isascii(32);
- str = gai_strerror(0);
- if(str && t && tv.tv_usec && msg.msg_control)
- a = 0;
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include "confdefs.h"
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/time.h>
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#include <unistd.h>
-#include <netdb.h>
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-int test() {
- int a;
- char **opts = NULL;
- struct timeval tv;
- char *t;
- time_t time = 0;
- char *buf = NULL;
- const char* str = NULL;
- struct msghdr msg;
- msg.msg_control = 0;
- t = ctime_r(&time, buf);
- tv.tv_usec = 10;
- srandom(32);
- a = getopt(2, opts, "a");
- a = isascii(32);
- str = gai_strerror(0);
- if(str && t && tv.tv_usec && msg.msg_control)
- a = 0;
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG as a flag for $CC" >&5
-$as_echo_n "checking whether we need $C99FLAG as a flag for $CC... " >&6; }
-cache=`$as_echo "$C99FLAG" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include <stdbool.h>
-#include <ctype.h>
-int test() {
- int a = 0;
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS $C99FLAG"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_BSD_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_BSD_SOURCE as a flag for $CC... " >&6; }
-cache=_D_BSD_SOURCE
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include <ctype.h>
-
-int test() {
- int a;
- a = isascii(32);
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS -D_BSD_SOURCE"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_GNU_SOURCE as a flag for $CC... " >&6; }
-cache=_D_GNU_SOURCE
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include <netinet/in.h>
-
-int test() {
- struct in6_pktinfo inf;
- int a = (int)sizeof(inf);
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS -D_GNU_SOURCE"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-# check again for GNU_SOURCE for setresgid. May fail if setresgid
-# is not available at all. -D_FRSRESGID is to make this check unique.
-# otherwise we would get the previous cached result.
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC... " >&6; }
-cache=_D_GNU_SOURCE__D_FRSRESGID
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include <unistd.h>
-
-int test() {
- int a = setresgid(0,0,0);
- a = setresuid(0,0,0);
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS -D_GNU_SOURCE"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC... " >&6; }
-cache=`$as_echo "-D_POSIX_C_SOURCE=200112" | $as_tr_sh`
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include "confdefs.h"
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#include <netdb.h>
-
-int test() {
- int a = 0;
- char *t;
- time_t time = 0;
- char *buf = NULL;
- const char* str = NULL;
- t = ctime_r(&time, buf);
- str = gai_strerror(0);
- if(t && str)
- a = 0;
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D__EXTENSIONS__ as a flag for $CC" >&5
-$as_echo_n "checking whether we need -D__EXTENSIONS__ as a flag for $CC... " >&6; }
-cache=_D__EXTENSIONS__
-if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo '
-#include "confdefs.h"
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/time.h>
-#ifdef HAVE_TIME_H
-#include <time.h>
-#endif
-#include <unistd.h>
-#ifdef HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-int test() {
- int a;
- char **opts = NULL;
- struct timeval tv;
- tv.tv_usec = 10;
- srandom(32);
- a = getopt(2, opts, "a");
- a = isascii(32);
- if(tv.tv_usec)
- a = 0;
- return a;
-}
-' > conftest.c
-echo 'void f(){}' >>conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=no"
-else
-
-if test -z "`$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_needed_$cache=yes"
-else
-eval "cv_prog_cc_flag_needed_$cache=fail"
-#echo 'Test with flag fails too!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-fi
-
-fi
-rm -f conftest conftest.c conftest.o
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-CFLAGS="$CFLAGS -D__EXTENSIONS__"
-else
-if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-#echo 'Test with flag is no!'
-#cat conftest.c
-#echo "$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1"
-#echo `$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`
-#exit 1
-:
-
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-:
-
-fi
-fi
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
-$as_echo_n "checking for inline... " >&6; }
-if ${ac_cv_c_inline+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_inline=$ac_kw
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
-$as_echo "$ac_cv_c_inline" >&6; }
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
-if test "x$ac_cv_type_int8_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define int8_t char
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default"
-if test "x$ac_cv_type_int16_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define int16_t short
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default"
-if test "x$ac_cv_type_int32_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define int32_t int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
-if test "x$ac_cv_type_int64_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define int64_t long long
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint8_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define uint8_t unsigned char
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint16_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define uint16_t unsigned short
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint32_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define uint32_t unsigned int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint64_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define uint64_t unsigned long long
-_ACEOF
-
-fi
-
-
-# my own checks
-# Extract the first word of "doxygen", so it can be a program name with args.
-set dummy doxygen; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_doxygen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$doxygen"; then
- ac_cv_prog_doxygen="$doxygen" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_doxygen="doxygen"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-doxygen=$ac_cv_prog_doxygen
-if test -n "$doxygen"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doxygen" >&5
-$as_echo "$doxygen" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-# check to see if libraries are needed for these functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_socket+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-
-else
- ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
-$as_echo_n "checking for library containing inet_pton... " >&6; }
-if ${ac_cv_search_inet_pton+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char inet_pton ();
-int
-main ()
-{
-return inet_pton ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_search_inet_pton=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_inet_pton+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_inet_pton+:} false; then :
-
-else
- ac_cv_search_inet_pton=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
-$as_echo "$ac_cv_search_inet_pton" >&6; }
-ac_res=$ac_cv_search_inet_pton
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-
-
-
-# Check whether --with-drill was given.
-if test "${with_drill+set}" = set; then :
- withval=$with_drill;
-else
- with_drill="no"
-fi
-
-if test x_$with_drill != x_no ; then
- DRILL=drill
-
- INSTALL_DRILL=install-drill
-
- UNINSTALL_DRILL=uninstall-drill
-
- CLEAN_DRILL=clean-drill
-
- LINT_DRILL=lint-drill
-
- if test -e $srcdir/drill/config.h -o -e drill/config.h ; then
- as_fn_error $? "
-A config.h was detected in the drill subdirectory.
-This does not work with the --with-drill option.
-Please remove the config.h from the drill subdirectory
-or do not use the --with-drill option." "$LINENO" 5
- fi
- DRILL_CONFIG=" drill/drill.1"
-else
- DRILL=""
-
- INSTALL_DRILL=""
-
- UNINSTALL_DRILL=""
-
- CLEAN_DRILL=""
-
- LINT_DRILL=""
-
- DRILL_CONFIG=""
-fi
-
-
-
-# Check whether --with-examples was given.
-if test "${with_examples+set}" = set; then :
- withval=$with_examples;
-else
- with_examples="no"
-fi
-
-if test x_$with_examples != x_no ; then
- EXAMPLES=examples
-
- INSTALL_EXAMPLES=install-examples
-
- UNINSTALL_EXAMPLES=uninstall-examples
-
- CLEAN_EXAMPLES=clean-examples
-
- LINT_EXAMPLES=lint-examples
-
- if test -e $srcdir/examples/config.h -o -e examples/config.h ; then
- as_fn_error $? "
-A config.h was detected in the examples subdirectory.
-This does not work with the --with-examples option.
-Please remove the config.h from the examples subdirectory
-or do not use the --with-examples option." "$LINENO" 5
- fi
- EXAMPLES_CONFIG=" examples/ldns-dane.1 examples/ldns-verify-zone.1"
-else
- EXAMPLES=""
-
- INSTALL_EXAMPLES=""
-
- UNINSTALL_EXAMPLES=""
-
- CLEAN_EXAMPLES=""
-
- LINT_EXAMPLES=""
-
- EXAMPLES_CONFIG=""
-fi
-
-# add option to disable installation of ldns-config script
-# Check whether --enable-ldns-config was given.
-if test "${enable_ldns_config+set}" = set; then :
- enableval=$enable_ldns_config; enable_ldns_config=$enableval
-else
- enable_ldns_config=yes
-fi
-
-if test "x$enable_ldns_config" = xyes; then
- INSTALL_CONFIG=install-config
-
- INSTALL_CONFIG_MANPAGE=install-config-manpage
-
- UNINSTALL_CONFIG=uninstall-config
-
- UNINSTALL_CONFIG_MANPAGE=uninstall-config-manpage
-
-else
- INSTALL_CONFIG=""
-
- INSTALL_CONFIG_MANPAGE=""
-
- UNINSTALL_CONFIG=""
-
- UNINSTALL_CONFIG_MANPAGE=""
-
-fi
-
-# check for python
-PYTHON_X_CFLAGS=""
-ldns_with_pyldns=no
-ldns_with_pyldnsx=no
-
-# Check whether --with-pyldns was given.
-if test "${with_pyldns+set}" = set; then :
- withval=$with_pyldns;
-else
- withval="no"
-fi
-
-ldns_have_python=no
-if test x_$withval != x_no; then
- # ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_python_devel.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_PYTHON_DEVEL([version])
-#
-# DESCRIPTION
-#
-# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it
-# in your configure.ac.
-#
-# This macro checks for Python and tries to get the include path to
-# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
-# output variables. It also exports $(PYTHON_EXTRA_LIBS) and
-# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
-#
-# You can search for some particular version of Python by passing a
-# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please
-# note that you *have* to pass also an operator along with the version to
-# match, and pay special attention to the single quotes surrounding the
-# version number. Don't use "PYTHON_VERSION" for this: that environment
-# variable is declared as precious and thus reserved for the end-user.
-#
-# This macro should work for all versions of Python >= 2.1.0. As an end
-# user, you can disable the check for the python version by setting the
-# PYTHON_NOVERSIONCHECK environment variable to something else than the
-# empty string.
-#
-# If you need to use this macro for an older Python version, please
-# contact the authors. We're always open for feedback.
-#
-# LICENSE
-#
-# Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de>
-# Copyright (c) 2009 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
-# Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net>
-# Copyright (c) 2009 Andrew Collier <colliera@ukzn.ac.za>
-# Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org>
-# Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org>
-#
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 8
-
-# This is what autoupdate's m4 run will expand. It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4. It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once. We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf. It tells the user to run autoupdate, and
-# then outputs the replacement expansion. We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
- ac_save_LIBS="$LIBS"
-
- #
- # Allow the use of a (user set) custom python version
- #
-
-
- # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
-set dummy python$PYTHON_VERSION; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PYTHON in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PYTHON=$ac_cv_path_PYTHON
-if test -n "$PYTHON"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- if test -z "$PYTHON"; then
- as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
- PYTHON_VERSION=""
- fi
-
- #
- # Check for a version of Python >= 2.1.0
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
-$as_echo_n "checking for a version of Python >= '2.1.0'... " >&6; }
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[0]; \
- print (ver >= '2.1.0')"`
- if test "$ac_supports_python_ver" != "True"; then
- if test -z "$PYTHON_NOVERSIONCHECK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
-This version of the AC_PYTHON_DEVEL macro
-doesn't work properly with versions of Python before
-2.1.0. You may need to re-run configure, setting the
-variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
-PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
-Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
-to something else than an empty string.
-
-See \`config.log' for more details" "$LINENO" 5; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
-$as_echo "skip at user request" >&6; }
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- fi
-
- #
- # if the macro parameter ``version'' is set, honour it
- #
- if test -n ">= '2.4.0'"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.4.0'" >&5
-$as_echo_n "checking for a version of Python >= '2.4.0'... " >&6; }
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[0]; \
- print (ver >= '2.4.0')"`
- if test "$ac_supports_python_ver" = "True"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "this package requires Python >= '2.4.0'.
-If you have it installed, but it isn't the default Python
-interpreter in your system path, please pass the PYTHON_VERSION
-variable to configure. See \`\`configure --help'' for reference.
-" "$LINENO" 5
- PYTHON_VERSION=""
- fi
- fi
-
- #
- # Check if you have distutils, else fail
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
-$as_echo_n "checking for the distutils Python package... " >&6; }
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
- if test -z "$ac_distutils_result"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- as_fn_error $? "cannot import Python module \"distutils\".
-Please check your Python installation. The error was:
-$ac_distutils_result" "$LINENO" 5
- PYTHON_VERSION=""
- fi
-
- #
- # Check for Python include path
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
-$as_echo_n "checking for Python include path... " >&6; }
- if test -z "$PYTHON_CPPFLAGS"; then
- python_path=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_inc ());"`
- if test -n "${python_path}"; then
- python_path="-I$python_path"
- fi
- PYTHON_CPPFLAGS=$python_path
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
-$as_echo "$PYTHON_CPPFLAGS" >&6; }
-
-
- #
- # Check for Python library path
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
-$as_echo_n "checking for Python library path... " >&6; }
- if test -z "$PYTHON_LDFLAGS"; then
- # (makes two attempts to ensure we've got a version number
- # from the interpreter)
- ac_python_version=`cat<<EOD | $PYTHON -
-
-# join all versioning strings, on some systems
-# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
-ret = ''
-for e in get_config_vars ('VERSION'):
- if (e != None):
- ret += e
-print (ret)
-EOD
-`
-
- if test -z "$ac_python_version"; then
- if test -n "$PYTHON_VERSION"; then
- ac_python_version=$PYTHON_VERSION
- else
- ac_python_version=`$PYTHON -c "import sys; \
- print (sys.version[:3])"`
- fi
- fi
-
- # Make the versioning information available to the compiler
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_PYTHON "$ac_python_version"
-_ACEOF
-
-
- # First, the library directory:
- ac_python_libdir=`cat<<EOD | $PYTHON -
-
-# There should be only one
-import distutils.sysconfig
-for e in distutils.sysconfig.get_config_vars ('LIBDIR'):
- if e != None:
- print (e)
- break
-EOD
-`
-
- # Before checking for libpythonX.Y, we need to know
- # the extension the OS we're on uses for libraries
- # (we take the first one, if there's more than one fix me!):
- ac_python_soext=`$PYTHON -c \
- "import distutils.sysconfig; \
- print (distutils.sysconfig.get_config_vars('SO')[0])"`
-
- # Now, for the library:
- ac_python_soname=`$PYTHON -c \
- "import distutils.sysconfig; \
- print (distutils.sysconfig.get_config_vars('LDLIBRARY')[0])"`
-
- # Strip away extension from the end to canonicalize its name:
- ac_python_library=`echo "$ac_python_soname" | sed "s/${ac_python_soext}$//"`
-
- # This small piece shamelessly adapted from PostgreSQL python macro;
- # credits goes to momjian, I think. I'd like to put the right name
- # in the credits, if someone can point me in the right direction... ?
- #
- if test -n "$ac_python_libdir" -a -n "$ac_python_library" \
- -a x"$ac_python_library" != x"$ac_python_soname"
- then
- # use the official shared library
- ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
- else
- # old way: use libpython from python_configdir
- ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
- import os; \
- print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
- PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
- fi
-
- if test -z "PYTHON_LDFLAGS"; then
- as_fn_error $? "
- Cannot determine location of your Python DSO. Please check it was installed with
- dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
- " "$LINENO" 5
- fi
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
-$as_echo "$PYTHON_LDFLAGS" >&6; }
-
-
- #
- # Check for site packages
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
-$as_echo_n "checking for Python site-packages path... " >&6; }
- if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(1,0));"`
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
-$as_echo "$PYTHON_SITE_PKG" >&6; }
-
-
- #
- # libraries which must be linked in when embedding
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
-$as_echo_n "checking python extra libraries... " >&6; }
- if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
- print (conf('LOCALMODLIBS') + ' ' + conf('LIBS'))"`
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
-$as_echo "$PYTHON_EXTRA_LIBS" >&6; }
-
-
- #
- # linking flags needed when embedding
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
-$as_echo_n "checking python extra linking flags... " >&6; }
- if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
- print (conf('LINKFORSHARED'))"`
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
-$as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; }
-
-
- #
- # final check to see if everything compiles alright
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
-$as_echo_n "checking consistency of all components of python development environment... " >&6; }
- # save current global flags
- ac_save_LIBS="$LIBS"
- ac_save_CPPFLAGS="$CPPFLAGS"
- LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
- CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <Python.h>
-int
-main ()
-{
-Py_Initialize();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- pythonexists=yes
-else
- pythonexists=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
- # turn back to default flags
- CPPFLAGS="$ac_save_CPPFLAGS"
- LIBS="$ac_save_LIBS"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
-$as_echo "$pythonexists" >&6; }
-
- if test ! "x$pythonexists" = "xyes"; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "
- Could not link test program to Python. Maybe the main Python library has been
- installed in some non-standard library path. If so, pass it to configure,
- via the LDFLAGS environment variable.
- Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
- ============================================================================
- ERROR!
- You probably have to install the development version of the Python package
- for your distribution. The exact name of this package varies among them.
- ============================================================================
-
-See \`config.log' for more details" "$LINENO" 5; }
- PYTHON_VERSION=""
- fi
-
- #
- # all done!
- #
-
- if test ! -z "$ac_python_version"; then
- ldns_have_python=yes
- fi
-
- # pass additional Python 3 option to SWIG
- if test `$PYTHON -c "import sys; \
- ver = sys.version.split()[0]; \
- print(ver >= '3')"` = "True"; then
- SWIGPY3="-py3 -DPY3"
-
- fi
-
- # check for SWIG
- if test x_$ldns_have_python != x_no; then
- # ===========================================================================
-# http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html
-# ===========================================================================
-#
-# SYNOPSIS
-#
-# AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found])
-#
-# DESCRIPTION
-#
-# This macro searches for a SWIG installation on your system. If found,
-# then SWIG is AC_SUBST'd; if not found, then $SWIG is empty. If SWIG is
-# found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd.
-#
-# You can use the optional first argument to check if the version of the
-# available SWIG is greater than or equal to the value of the argument. It
-# should have the format: N[.N[.N]] (N is a number between 0 and 999. Only
-# the first N is mandatory.) If the version argument is given (e.g.
-# 1.3.17), AX_PKG_SWIG checks that the swig package is this version number
-# or higher.
-#
-# As usual, action-if-found is executed if SWIG is found, otherwise
-# action-if-not-found is executed.
-#
-# In configure.in, use as:
-#
-# AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
-# AX_SWIG_ENABLE_CXX
-# AX_SWIG_MULTI_MODULE_SUPPORT
-# AX_SWIG_PYTHON
-#
-# LICENSE
-#
-# Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
-# Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
-# Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
-# Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za>
-# Copyright (c) 2011 Murray Cumming <murrayc@openismus.com>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 8
-
-
-
-
- # check for >=SWIG-2.0.4 if Python 3.2 used
- if test `$PYTHON -c "import sys; \
- ver = sys.version.split()[0]; \
- print(ver >= '3.2')"` = "True"; then
-
- # Ubuntu has swig 2.0 as /usr/bin/swig2.0
- for ac_prog in swig2.0 swig
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SWIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $SWIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-SWIG=$ac_cv_path_SWIG
-if test -n "$SWIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
-$as_echo "$SWIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$SWIG" && break
-done
-
- if test -z "$SWIG" ; then
- as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
- elif test -n "2.0.4" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
-$as_echo_n "checking SWIG version... " >&6; }
- swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
-$as_echo "$swig_version" >&6; }
- if test -n "$swig_version" ; then
- # Calculate the required version number components
- required=2.0.4
- required_major=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_major" ; then
- required_major=0
- fi
- required=`echo $required | sed 's/[0-9]*[^0-9]//'`
- required_minor=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_minor" ; then
- required_minor=0
- fi
- required=`echo $required | sed 's/[0-9]*[^0-9]//'`
- required_patch=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_patch" ; then
- required_patch=0
- fi
- # Calculate the available version number components
- available=$swig_version
- available_major=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_major" ; then
- available_major=0
- fi
- available=`echo $available | sed 's/[0-9]*[^0-9]//'`
- available_minor=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_minor" ; then
- available_minor=0
- fi
- available=`echo $available | sed 's/[0-9]*[^0-9]//'`
- available_patch=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_patch" ; then
- available_patch=0
- fi
- # Convert the version tuple into a single number for easier comparison.
- # Using base 100 should be safe since SWIG internally uses BCD values
- # to encode its version number.
- required_swig_vernum=`expr $required_major \* 10000 \
- \+ $required_minor \* 100 \+ $required_patch`
- available_swig_vernum=`expr $available_major \* 10000 \
- \+ $available_minor \* 100 \+ $available_patch`
-
- if test $available_swig_vernum -lt $required_swig_vernum; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.4 is required. You have $swig_version." >&5
-$as_echo "$as_me: WARNING: SWIG version >= 2.0.4 is required. You have $swig_version." >&2;}
- SWIG=''
- as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
-$as_echo_n "checking for SWIG library... " >&6; }
- SWIG_LIB=`$SWIG -swiglib`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
-$as_echo "$SWIG_LIB" >&6; }
-
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
-$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
- SWIG=''
- as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
- fi
- fi
-
-
- else
-
- # Ubuntu has swig 2.0 as /usr/bin/swig2.0
- for ac_prog in swig2.0 swig
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_SWIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $SWIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-SWIG=$ac_cv_path_SWIG
-if test -n "$SWIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
-$as_echo "$SWIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$SWIG" && break
-done
-
- if test -z "$SWIG" ; then
- :
- elif test -n "" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
-$as_echo_n "checking SWIG version... " >&6; }
- swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
-$as_echo "$swig_version" >&6; }
- if test -n "$swig_version" ; then
- # Calculate the required version number components
- required=
- required_major=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_major" ; then
- required_major=0
- fi
- required=`echo $required | sed 's/[0-9]*[^0-9]//'`
- required_minor=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_minor" ; then
- required_minor=0
- fi
- required=`echo $required | sed 's/[0-9]*[^0-9]//'`
- required_patch=`echo $required | sed 's/[^0-9].*//'`
- if test -z "$required_patch" ; then
- required_patch=0
- fi
- # Calculate the available version number components
- available=$swig_version
- available_major=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_major" ; then
- available_major=0
- fi
- available=`echo $available | sed 's/[0-9]*[^0-9]//'`
- available_minor=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_minor" ; then
- available_minor=0
- fi
- available=`echo $available | sed 's/[0-9]*[^0-9]//'`
- available_patch=`echo $available | sed 's/[^0-9].*//'`
- if test -z "$available_patch" ; then
- available_patch=0
- fi
- # Convert the version tuple into a single number for easier comparison.
- # Using base 100 should be safe since SWIG internally uses BCD values
- # to encode its version number.
- required_swig_vernum=`expr $required_major \* 10000 \
- \+ $required_minor \* 100 \+ $required_patch`
- available_swig_vernum=`expr $available_major \* 10000 \
- \+ $available_minor \* 100 \+ $available_patch`
-
- if test $available_swig_vernum -lt $required_swig_vernum; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version." >&5
-$as_echo "$as_me: WARNING: SWIG version >= is required. You have $swig_version." >&2;}
- SWIG=''
-
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
-$as_echo_n "checking for SWIG library... " >&6; }
- SWIG_LIB=`$SWIG -swiglib`
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
-$as_echo "$SWIG_LIB" >&6; }
-
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
-$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
- SWIG=''
-
- fi
- fi
-
-
- fi
-
- if test ! -x "$SWIG"; then
- as_fn_error $? "failed to find SWIG tool, install it, or do not build pyldns" "$LINENO" 5
- else
-
-$as_echo "#define HAVE_SWIG 1" >>confdefs.h
-
- PYLDNS="pyldns"
-
- swig="$SWIG"
-
- ldns_with_pyldns=yes
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** don't have Python, skipping SWIG, no pyldns ***" >&5
-$as_echo "*** don't have Python, skipping SWIG, no pyldns ***" >&6; } # '
- fi
-
- # xtra cflags for pyldns
- if test x_$ldns_have_python != x_no; then
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-strict-aliasing" >&5
-$as_echo_n "checking whether $CC supports -fno-strict-aliasing... " >&6; }
-cache=`echo fno-strict-aliasing | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -fno-strict-aliasing -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-PYTHON_X_CFLAGS="-fno-strict-aliasing"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-missing-field-initializers" >&5
-$as_echo_n "checking whether $CC supports -Wno-missing-field-initializers... " >&6; }
-cache=`echo Wno-missing-field-initializers | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-missing-field-initializers -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-PYTHON_X_CFLAGS="-Wno-missing-field-initializers $PYTHON_X_CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-parameter" >&5
-$as_echo_n "checking whether $CC supports -Wno-unused-parameter... " >&6; }
-cache=`echo Wno-unused-parameter | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-unused-parameter -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-PYTHON_X_CFLAGS="-Wno-unused-parameter $PYTHON_X_CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-variable" >&5
-$as_echo_n "checking whether $CC supports -Wno-unused-variable... " >&6; }
-cache=`echo Wno-unused-variable | sed 'y%.=/+-%___p_%'`
-if eval \${cv_prog_cc_flag_$cache+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
-echo 'void f(){}' >conftest.c
-if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-unused-variable -c conftest.c 2>&1`"; then
-eval "cv_prog_cc_flag_$cache=yes"
-else
-eval "cv_prog_cc_flag_$cache=no"
-fi
-rm -f conftest conftest.o conftest.c
-
-fi
-
-if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-:
-PYTHON_X_CFLAGS="-Wno-unused-variable $PYTHON_X_CFLAGS"
-else
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-:
-
-fi
-
- fi
-fi
-
-
-# Check for pyldnsx
-
-# Check whether --with-pyldnsx was given.
-if test "${with_pyldnsx+set}" = set; then :
- withval=$with_pyldnsx;
-else
- withval="with_pyldns"
-fi
-
-if test x_$withval != x_no; then
- if test x_$ldns_with_pyldns != x_no; then
- PYLDNSX="pyldnsx"
-
- ldns_with_pyldnsx=yes
- else
- if test x_$withval != x_with_pyldns; then
- as_fn_error $? "--with-pyldns is needed for the ldnsx python module" "$LINENO" 5
- fi
- fi
-fi
-
-if test x_$ldns_with_pyldns != x_no; then
- PYLDNSINST="install-pyldns"
- PYLDNSUNINST="uninstall-pyldns"
-
-else
- PYLDNSINST=""
- PYLDNSUNINST=""
-
-fi
-if test x_$ldns_with_pyldnsx != x_no; then
- PYLDNSXINST="install-pyldnsx"
- PYLDNSXUNINST="uninstall-pyldnsx"
-
-else
- PYLDNSXINST=""
- PYLDNSXUNINST=""
-
-fi
-
-# Use libtool
-
-# skip these tests, we do not need them.
-
-
-
-
-
-
-
-
-# always use ./libtool unless override from commandline (libtool=mylibtool)
-if test -z "$libtool"; then
- libtool="./libtool"
-fi
-
-# avoid libtool max commandline length test on systems that fork slowly.
-
-if echo "$host_os" | grep "sunos4" >/dev/null; then
- lt_cv_sys_max_cmd_len=32750;
-fi
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-AR=$ac_cv_path_AR
-if test -n "$AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_AR"; then
- ac_pt_AR=$AR
- # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_AR+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_path_ac_pt_AR="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_AR=$ac_cv_path_ac_pt_AR
-if test -n "$ac_pt_AR"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_AR" >&5
-$as_echo "$ac_pt_AR" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_AR" = x; then
- AR="false"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- AR=$ac_pt_AR
- fi
-else
- AR="$ac_cv_path_AR"
-fi
-
-if test $AR = false; then
- as_fn_error $? "Cannot find 'ar', please extend PATH to include it" "$LINENO" 5
-fi
-
-case `pwd` in
- *\ * | *\ *)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.4.2'
-macro_revision='1.3337'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
# Backslashify metacharacters that are still active within
# double-quoted strings.
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
@@ -10276,8 +7107,6 @@ done
-
-
# Set options
@@ -14296,6 +11125,3324 @@ CC="$lt_save_CC"
+OURCPPFLAGS=''
+CPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}}
+CFLAGS="$CFLAGS"
+
+# Checks for programs.
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $CC dependency flag" >&5
+$as_echo_n "checking $CC dependency flag... " >&6; }
+echo 'void f(){}' >conftest.c
+if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
+ DEPFLAG="-MM"
+else
+ if test "`$CC -xM1 conftest.c 2>&1`" = "conftest.o: conftest.c"; then
+ DEPFLAG="-xM1"
+ else
+ DEPFLAG="-MM" # dunno do something
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEPFLAG" >&5
+$as_echo "$DEPFLAG" >&6; }
+rm -f conftest.c
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+
+# Extra (sp)lint flags for NetBSD
+
+case "$host_os" in
+ netbsd*) LINTFLAGS="'-D__RENAME(x)=' -D_NETINET_IN_H_ $LINTFLAGS"
+ ;;
+ *) LINTFLAGS="$LINTFLAGS"
+ ;;
+esac
+
+
+
+$as_echo "#define WINVER 0x0502" >>confdefs.h
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
+$as_echo_n "checking whether $CC supports -std=c99... " >&6; }
+cache=`echo std=c99 | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+C99FLAG="-std=c99"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
+$as_echo_n "checking whether $CC supports -xc99... " >&6; }
+cache=`echo xc99 | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+C99FLAG="-xc99"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+# routine to copy files
+# argument 1 is a list of files (relative to the source dir)
+# argument 2 is a destination directory (relative to the current
+# working directory
+
+
+# copy all .h files in the dir at argument 1
+# (relative to source) to the dir at argument 2
+# (relative to current dir)
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if ${ac_cv_c_const+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+ /* Ultrix mips cc rejects this. */
+ typedef int charset[2];
+ const charset cs;
+ /* SunOS 4.1.1 cc rejects this. */
+ char const *const *pcpcc;
+ char **ppc;
+ /* NEC SVR4.0.2 mips cc rejects this. */
+ struct point {int x, y;};
+ static struct point const zero = {0,0};
+ /* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in
+ an arm of an if-expression whose if-part is not a constant
+ expression */
+ const char *g = "string";
+ pcpcc = &g + (g ? g-g : 0);
+ /* HPUX 7.0 cc rejects these. */
+ ++pcpcc;
+ ppc = (char**) pcpcc;
+ pcpcc = (char const *const *) ppc;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+ if (s) return 0;
+ }
+ { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+ }
+ { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+ }
+ { /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+ }
+ { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+ if (!foo) return 0;
+ }
+ return !cs[0] && !zero.x;
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_const=yes
+else
+ ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test "x$CFLAGS" = "x" ; then
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -g" >&5
+$as_echo_n "checking whether $CC supports -g... " >&6; }
+cache=`echo g | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -g -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-g"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -O2" >&5
+$as_echo_n "checking whether $CC supports -O2... " >&6; }
+cache=`echo O2 | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -O2 -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-O2 $CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
+$as_echo_n "checking whether $CC supports -Wall... " >&6; }
+cache=`echo Wall | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-Wall $CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -W" >&5
+$as_echo_n "checking whether $CC supports -W... " >&6; }
+cache=`echo W | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -W -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-W $CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wwrite-strings" >&5
+$as_echo_n "checking whether $CC supports -Wwrite-strings... " >&6; }
+cache=`echo Wwrite-strings | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wwrite-strings -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-Wwrite-strings $CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wstrict-prototypes" >&5
+$as_echo_n "checking whether $CC supports -Wstrict-prototypes... " >&6; }
+cache=`echo Wstrict-prototypes | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wstrict-prototypes -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="-Wstrict-prototypes $CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+for ac_header in getopt.h time.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+# MinGW32 tests
+for ac_header in winsock2.h ws2tcpip.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+# end mingw32 tests
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror" >&5
+$as_echo_n "checking whether $CC supports -Werror... " >&6; }
+cache=`echo Werror | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Werror -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+ERRFLAG="-Werror"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+ERRFLAG="-errwarn"
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wall" >&5
+$as_echo_n "checking whether $CC supports -Wall... " >&6; }
+cache=`echo Wall | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wall -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+ERRFLAG="$ERRFLAG -Wall"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+ERRFLAG="$ERRFLAG -errfmt"
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -std=c99" >&5
+$as_echo_n "checking whether $CC supports -std=c99... " >&6; }
+cache=`echo std=c99 | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -std=c99 -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+C99FLAG="-std=c99"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -xc99" >&5
+$as_echo_n "checking whether $CC supports -xc99... " >&6; }
+cache=`echo xc99 | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -xc99 -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+C99FLAG="-xc99"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+for ac_header in getopt.h time.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC" >&5
+$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE as a flag for $CC... " >&6; }
+cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" | $as_tr_sh`
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include "confdefs.h"
+#include <stdlib.h>
+#include <ctype.h>
+#include <sys/time.h>
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#include <unistd.h>
+#include <netdb.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+int test() {
+ int a;
+ char **opts = NULL;
+ struct timeval tv;
+ char *t;
+ time_t time = 0;
+ char *buf = NULL;
+ const char* str = NULL;
+ struct msghdr msg;
+ msg.msg_control = 0;
+ t = ctime_r(&time, buf);
+ tv.tv_usec = 10;
+ srandom(32);
+ a = getopt(2, opts, "a");
+ a = isascii(32);
+ str = gai_strerror(0);
+ if(str && t && tv.tv_usec && msg.msg_control)
+ a = 0;
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC" >&5
+$as_echo_n "checking whether we need $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE as a flag for $CC... " >&6; }
+cache=`$as_echo "$C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE" | $as_tr_sh`
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include "confdefs.h"
+#include <stdlib.h>
+#include <ctype.h>
+#include <sys/time.h>
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#include <unistd.h>
+#include <netdb.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+int test() {
+ int a;
+ char **opts = NULL;
+ struct timeval tv;
+ char *t;
+ time_t time = 0;
+ char *buf = NULL;
+ const char* str = NULL;
+ struct msghdr msg;
+ msg.msg_control = 0;
+ t = ctime_r(&time, buf);
+ tv.tv_usec = 10;
+ srandom(32);
+ a = getopt(2, opts, "a");
+ a = isascii(32);
+ str = gai_strerror(0);
+ if(str && t && tv.tv_usec && msg.msg_control)
+ a = 0;
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D_ALL_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need $C99FLAG as a flag for $CC" >&5
+$as_echo_n "checking whether we need $C99FLAG as a flag for $CC... " >&6; }
+cache=`$as_echo "$C99FLAG" | $as_tr_sh`
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include <stdbool.h>
+#include <ctype.h>
+int test() {
+ int a = 0;
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS $C99FLAG"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS $C99FLAG $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_BSD_SOURCE as a flag for $CC" >&5
+$as_echo_n "checking whether we need -D_BSD_SOURCE as a flag for $CC... " >&6; }
+cache=_D_BSD_SOURCE
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include <ctype.h>
+
+int test() {
+ int a;
+ a = isascii(32);
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS -D_BSD_SOURCE"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_BSD_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE as a flag for $CC" >&5
+$as_echo_n "checking whether we need -D_GNU_SOURCE as a flag for $CC... " >&6; }
+cache=_D_GNU_SOURCE
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include <netinet/in.h>
+
+int test() {
+ struct in6_pktinfo inf;
+ int a = (int)sizeof(inf);
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+# check again for GNU_SOURCE for setresgid. May fail if setresgid
+# is not available at all. -D_FRSRESGID is to make this check unique.
+# otherwise we would get the previous cached result.
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC" >&5
+$as_echo_n "checking whether we need -D_GNU_SOURCE -D_FRSRESGID as a flag for $CC... " >&6; }
+cache=_D_GNU_SOURCE__D_FRSRESGID
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include <unistd.h>
+
+int test() {
+ int a = setresgid(0,0,0);
+ a = setresuid(0,0,0);
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_GNU_SOURCE -D_FRSRESGID $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC" >&5
+$as_echo_n "checking whether we need -D_POSIX_C_SOURCE=200112 as a flag for $CC... " >&6; }
+cache=`$as_echo "-D_POSIX_C_SOURCE=200112" | $as_tr_sh`
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include "confdefs.h"
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#include <netdb.h>
+
+int test() {
+ int a = 0;
+ char *t;
+ time_t time = 0;
+ char *buf = NULL;
+ const char* str = NULL;
+ t = ctime_r(&time, buf);
+ str = gai_strerror(0);
+ if(t && str)
+ a = 0;
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS -D_POSIX_C_SOURCE=200112"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D_POSIX_C_SOURCE=200112 $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -D__EXTENSIONS__ as a flag for $CC" >&5
+$as_echo_n "checking whether we need -D__EXTENSIONS__ as a flag for $CC... " >&6; }
+cache=_D__EXTENSIONS__
+if eval \${cv_prog_cc_flag_needed_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo '
+#include "confdefs.h"
+#include <stdlib.h>
+#include <ctype.h>
+#include <sys/time.h>
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#include <unistd.h>
+#ifdef HAVE_GETOPT_H
+#include <getopt.h>
+#endif
+
+int test() {
+ int a;
+ char **opts = NULL;
+ struct timeval tv;
+ tv.tv_usec = 10;
+ srandom(32);
+ a = getopt(2, opts, "a");
+ a = isascii(32);
+ if(tv.tv_usec)
+ a = 0;
+ return a;
+}
+' > conftest.c
+echo 'void f(){}' >>conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=no"
+else
+
+if test -z "`$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_needed_$cache=yes"
+else
+eval "cv_prog_cc_flag_needed_$cache=fail"
+#echo 'Test with flag fails too!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+fi
+
+fi
+rm -f conftest conftest.c conftest.o
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+CFLAGS="$CFLAGS -D__EXTENSIONS__"
+else
+if eval "test \"`echo '$cv_prog_cc_flag_needed_'$cache`\" = no"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+#echo 'Test with flag is no!'
+#cat conftest.c
+#echo "$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1"
+#echo `$CC $CPPFLAGS $CFLAGS -D__EXTENSIONS__ $ERRFLAG -c conftest.c 2>&1`
+#exit 1
+:
+
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+:
+
+fi
+fi
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+ inline | yes) ;;
+ *)
+ case $ac_cv_c_inline in
+ no) ac_val=;;
+ *) ac_val=$ac_cv_c_inline;;
+ esac
+ cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+ ;;
+esac
+
+ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
+if test "x$ac_cv_type_int8_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define int8_t char
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default"
+if test "x$ac_cv_type_int16_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define int16_t short
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default"
+if test "x$ac_cv_type_int32_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define int32_t int
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default"
+if test "x$ac_cv_type_int64_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define int64_t long long
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint8_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint8_t unsigned char
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint16_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint16_t unsigned short
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint32_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint32_t unsigned int
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint64_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define uint64_t unsigned long long
+_ACEOF
+
+fi
+
+
+# my own checks
+# Extract the first word of "doxygen", so it can be a program name with args.
+set dummy doxygen; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_doxygen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$doxygen"; then
+ ac_cv_prog_doxygen="$doxygen" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_doxygen="doxygen"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+doxygen=$ac_cv_prog_doxygen
+if test -n "$doxygen"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $doxygen" >&5
+$as_echo "$doxygen" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+# check to see if libraries are needed for these functions.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
+$as_echo_n "checking for library containing socket... " >&6; }
+if ${ac_cv_search_socket+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char socket ();
+int
+main ()
+{
+return socket ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' socket; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_socket=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_socket+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_socket+:} false; then :
+
+else
+ ac_cv_search_socket=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
+$as_echo "$ac_cv_search_socket" >&6; }
+ac_res=$ac_cv_search_socket
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inet_pton" >&5
+$as_echo_n "checking for library containing inet_pton... " >&6; }
+if ${ac_cv_search_inet_pton+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char inet_pton ();
+int
+main ()
+{
+return inet_pton ();
+ ;
+ return 0;
+}
+_ACEOF
+for ac_lib in '' nsl; do
+ if test -z "$ac_lib"; then
+ ac_res="none required"
+ else
+ ac_res=-l$ac_lib
+ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
+ fi
+ if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_search_inet_pton=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext
+ if ${ac_cv_search_inet_pton+:} false; then :
+ break
+fi
+done
+if ${ac_cv_search_inet_pton+:} false; then :
+
+else
+ ac_cv_search_inet_pton=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inet_pton" >&5
+$as_echo "$ac_cv_search_inet_pton" >&6; }
+ac_res=$ac_cv_search_inet_pton
+if test "$ac_res" != no; then :
+ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+
+
+# Check whether --with-drill was given.
+if test "${with_drill+set}" = set; then :
+ withval=$with_drill;
+else
+ with_drill="no"
+fi
+
+if test x_$with_drill != x_no ; then
+ DRILL=drill
+
+ INSTALL_DRILL=install-drill
+
+ UNINSTALL_DRILL=uninstall-drill
+
+ CLEAN_DRILL=clean-drill
+
+ LINT_DRILL=lint-drill
+
+ if test -e $srcdir/drill/config.h -o -e drill/config.h ; then
+ as_fn_error $? "
+A config.h was detected in the drill subdirectory.
+This does not work with the --with-drill option.
+Please remove the config.h from the drill subdirectory
+or do not use the --with-drill option." "$LINENO" 5
+ fi
+ DRILL_CONFIG=" drill/drill.1"
+else
+ DRILL=""
+
+ INSTALL_DRILL=""
+
+ UNINSTALL_DRILL=""
+
+ CLEAN_DRILL=""
+
+ LINT_DRILL=""
+
+ DRILL_CONFIG=""
+fi
+
+
+
+# Check whether --with-examples was given.
+if test "${with_examples+set}" = set; then :
+ withval=$with_examples;
+else
+ with_examples="no"
+fi
+
+if test x_$with_examples != x_no ; then
+ EXAMPLES=examples
+
+ INSTALL_EXAMPLES=install-examples
+
+ UNINSTALL_EXAMPLES=uninstall-examples
+
+ CLEAN_EXAMPLES=clean-examples
+
+ LINT_EXAMPLES=lint-examples
+
+ if test -e $srcdir/examples/config.h -o -e examples/config.h ; then
+ as_fn_error $? "
+A config.h was detected in the examples subdirectory.
+This does not work with the --with-examples option.
+Please remove the config.h from the examples subdirectory
+or do not use the --with-examples option." "$LINENO" 5
+ fi
+ EXAMPLES_CONFIG=" examples/ldns-dane.1 examples/ldns-verify-zone.1"
+else
+ EXAMPLES=""
+
+ INSTALL_EXAMPLES=""
+
+ UNINSTALL_EXAMPLES=""
+
+ CLEAN_EXAMPLES=""
+
+ LINT_EXAMPLES=""
+
+ EXAMPLES_CONFIG=""
+fi
+
+# add option to disable installation of ldns-config script
+# Check whether --enable-ldns-config was given.
+if test "${enable_ldns_config+set}" = set; then :
+ enableval=$enable_ldns_config; enable_ldns_config=$enableval
+else
+ enable_ldns_config=yes
+fi
+
+if test "x$enable_ldns_config" = xyes; then
+ INSTALL_CONFIG=install-config
+
+ INSTALL_CONFIG_MANPAGE=install-config-manpage
+
+ UNINSTALL_CONFIG=uninstall-config
+
+ UNINSTALL_CONFIG_MANPAGE=uninstall-config-manpage
+
+else
+ INSTALL_CONFIG=""
+
+ INSTALL_CONFIG_MANPAGE=""
+
+ UNINSTALL_CONFIG=""
+
+ UNINSTALL_CONFIG_MANPAGE=""
+
+fi
+
+# add option to disable library printing to stderr
+# Check whether --enable-stderr-msgs was given.
+if test "${enable_stderr_msgs+set}" = set; then :
+ enableval=$enable_stderr_msgs; enable_stderr_msgs=$enableval
+else
+ enable_stderr_msgs=no
+fi
+
+case "$enable_stderr_msgs" in
+ no) ;;
+ *)
+
+cat >>confdefs.h <<_ACEOF
+#define STDERR_MSGS 1
+_ACEOF
+
+ ;;
+esac
+
+# check for python
+PYTHON_X_CFLAGS=""
+ldns_with_pyldns=no
+ldns_with_pyldnsx=no
+
+# Check whether --with-pyldns was given.
+if test "${with_pyldns+set}" = set; then :
+ withval=$with_pyldns;
+else
+ withval="no"
+fi
+
+ldns_have_python=no
+if test x_$withval != x_no; then
+ # ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_python_devel.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PYTHON_DEVEL([version])
+#
+# DESCRIPTION
+#
+# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it
+# in your configure.ac.
+#
+# This macro checks for Python and tries to get the include path to
+# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LDFLAGS)
+# output variables. It also exports $(PYTHON_EXTRA_LIBS) and
+# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
+#
+# You can search for some particular version of Python by passing a
+# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please
+# note that you *have* to pass also an operator along with the version to
+# match, and pay special attention to the single quotes surrounding the
+# version number. Don't use "PYTHON_VERSION" for this: that environment
+# variable is declared as precious and thus reserved for the end-user.
+#
+# This macro should work for all versions of Python >= 2.1.0. As an end
+# user, you can disable the check for the python version by setting the
+# PYTHON_NOVERSIONCHECK environment variable to something else than the
+# empty string.
+#
+# If you need to use this macro for an older Python version, please
+# contact the authors. We're always open for feedback.
+#
+# LICENSE
+#
+# Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de>
+# Copyright (c) 2009 Alan W. Irwin
+# Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net>
+# Copyright (c) 2009 Andrew Collier
+# Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org>
+# Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org>
+# Copyright (c) 2013 Daniel Mullner <muellner@math.stanford.edu>
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 16
+
+# This is what autoupdate's m4 run will expand. It fires
+# the warning (with _au_warn_XXX), outputs it into the
+# updated configure.ac (with AC_DIAGNOSE), and then outputs
+# the replacement expansion.
+
+
+# This is an auxiliary macro that is also run when
+# autoupdate runs m4. It simply calls m4_warning, but
+# we need a wrapper so that each warning is emitted only
+# once. We break the quoting in m4_warning's argument in
+# order to expand this macro's arguments, not AU_DEFUN's.
+
+
+# Finally, this is the expansion that is picked up by
+# autoconf. It tells the user to run autoupdate, and
+# then outputs the replacement expansion. We do not care
+# about autoupdate's warning because that contains
+# information on what to do *after* running autoupdate.
+
+
+
+ ac_save_LIBS="$LIBS"
+
+ #
+ # Allow the use of a (user set) custom python version
+ #
+
+
+ # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
+set dummy python$PYTHON_VERSION; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PYTHON+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PYTHON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PYTHON=$ac_cv_path_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -z "$PYTHON"; then
+ as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
+ PYTHON_VERSION=""
+ fi
+
+ #
+ # Check for a version of Python >= 2.1.0
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
+$as_echo_n "checking for a version of Python >= '2.1.0'... " >&6; }
+ ac_supports_python_ver=`$PYTHON -c "import sys; \
+ ver = sys.version.split ()[0]; \
+ print (ver >= '2.1.0')"`
+ if test "$ac_supports_python_ver" != "True"; then
+ if test -z "$PYTHON_NOVERSIONCHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+This version of the AC_PYTHON_DEVEL macro
+doesn't work properly with versions of Python before
+2.1.0. You may need to re-run configure, setting the
+variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
+PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
+Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
+to something else than an empty string.
+
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
+$as_echo "skip at user request" >&6; }
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ fi
+
+ #
+ # if the macro parameter ``version'' is set, honour it
+ #
+ if test -n ">= '2.4.0'"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.4.0'" >&5
+$as_echo_n "checking for a version of Python >= '2.4.0'... " >&6; }
+ ac_supports_python_ver=`$PYTHON -c "import sys; \
+ ver = sys.version.split ()[0]; \
+ print (ver >= '2.4.0')"`
+ if test "$ac_supports_python_ver" = "True"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "this package requires Python >= '2.4.0'.
+If you have it installed, but it isn't the default Python
+interpreter in your system path, please pass the PYTHON_VERSION
+variable to configure. See \`\`configure --help'' for reference.
+" "$LINENO" 5
+ PYTHON_VERSION=""
+ fi
+ fi
+
+ #
+ # Check if you have distutils, else fail
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+$as_echo_n "checking for the distutils Python package... " >&6; }
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+ if test -z "$ac_distutils_result"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ as_fn_error $? "cannot import Python module \"distutils\".
+Please check your Python installation. The error was:
+$ac_distutils_result" "$LINENO" 5
+ PYTHON_VERSION=""
+ fi
+
+ #
+ # Check for Python include path
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
+$as_echo_n "checking for Python include path... " >&6; }
+ if test -z "$PYTHON_CPPFLAGS"; then
+ python_path=`$PYTHON -c "import distutils.sysconfig; \
+ print (distutils.sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
+ print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
+ if test -n "${python_path}"; then
+ if test "${plat_python_path}" != "${python_path}"; then
+ python_path="-I$python_path -I$plat_python_path"
+ else
+ python_path="-I$python_path"
+ fi
+ fi
+ PYTHON_CPPFLAGS=$python_path
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
+$as_echo "$PYTHON_CPPFLAGS" >&6; }
+
+
+ #
+ # Check for Python library path
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
+$as_echo_n "checking for Python library path... " >&6; }
+ if test -z "$PYTHON_LDFLAGS"; then
+ # (makes two attempts to ensure we've got a version number
+ # from the interpreter)
+ ac_python_version=`cat<<EOD | $PYTHON -
+
+# join all versioning strings, on some systems
+# major/minor numbers could be in different list elements
+from distutils.sysconfig import *
+e = get_config_var('VERSION')
+if e is not None:
+ print(e)
+EOD`
+
+ if test -z "$ac_python_version"; then
+ if test -n "$PYTHON_VERSION"; then
+ ac_python_version=$PYTHON_VERSION
+ else
+ ac_python_version=`$PYTHON -c "import sys; \
+ print (sys.version[:3])"`
+ fi
+ fi
+
+ # Make the versioning information available to the compiler
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_PYTHON "$ac_python_version"
+_ACEOF
+
+
+ # First, the library directory:
+ ac_python_libdir=`cat<<EOD | $PYTHON -
+
+# There should be only one
+import distutils.sysconfig
+e = distutils.sysconfig.get_config_var('LIBDIR')
+if e is not None:
+ print (e)
+EOD`
+
+ # Now, for the library:
+ ac_python_library=`cat<<EOD | $PYTHON -
+
+import distutils.sysconfig
+c = distutils.sysconfig.get_config_vars()
+if 'LDVERSION' in c:
+ print ('python'+c['LDVERSION'])
+else:
+ print ('python'+c['VERSION'])
+EOD`
+
+ # This small piece shamelessly adapted from PostgreSQL python macro;
+ # credits goes to momjian, I think. I'd like to put the right name
+ # in the credits, if someone can point me in the right direction... ?
+ #
+ if test -n "$ac_python_libdir" -a -n "$ac_python_library"
+ then
+ # use the official shared library
+ ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
+ PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
+ else
+ # old way: use libpython from python_configdir
+ ac_python_libdir=`$PYTHON -c \
+ "from distutils.sysconfig import get_python_lib as f; \
+ import os; \
+ print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
+ PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
+ fi
+
+ if test -z "PYTHON_LDFLAGS"; then
+ as_fn_error $? "
+ Cannot determine location of your Python DSO. Please check it was installed with
+ dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
+ " "$LINENO" 5
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
+$as_echo "$PYTHON_LDFLAGS" >&6; }
+
+
+ #
+ # Check for site packages
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
+$as_echo_n "checking for Python site-packages path... " >&6; }
+ if test -z "$PYTHON_SITE_PKG"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
+ print (distutils.sysconfig.get_python_lib(1,0));"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
+$as_echo "$PYTHON_SITE_PKG" >&6; }
+
+
+ #
+ # libraries which must be linked in when embedding
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
+$as_echo_n "checking python extra libraries... " >&6; }
+ if test -z "$PYTHON_EXTRA_LIBS"; then
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
+ conf = distutils.sysconfig.get_config_var; \
+ print (conf('LIBS'))"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
+$as_echo "$PYTHON_EXTRA_LIBS" >&6; }
+
+
+ #
+ # linking flags needed when embedding
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
+$as_echo_n "checking python extra linking flags... " >&6; }
+ if test -z "$PYTHON_EXTRA_LDFLAGS"; then
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
+ conf = distutils.sysconfig.get_config_var; \
+ print (conf('LINKFORSHARED'))"`
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
+$as_echo "$PYTHON_EXTRA_LDFLAGS" >&6; }
+
+
+ #
+ # final check to see if everything compiles alright
+ #
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
+$as_echo_n "checking consistency of all components of python development environment... " >&6; }
+ # save current global flags
+ ac_save_LIBS="$LIBS"
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
+ CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ #include <Python.h>
+int
+main ()
+{
+Py_Initialize();
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ pythonexists=yes
+else
+ pythonexists=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ # turn back to default flags
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIBS="$ac_save_LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
+$as_echo "$pythonexists" >&6; }
+
+ if test ! "x$pythonexists" = "xyes"; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "
+ Could not link test program to Python. Maybe the main Python library has been
+ installed in some non-standard library path. If so, pass it to configure,
+ via the LDFLAGS environment variable.
+ Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
+ ============================================================================
+ ERROR!
+ You probably have to install the development version of the Python package
+ for your distribution. The exact name of this package varies among them.
+ ============================================================================
+
+See \`config.log' for more details" "$LINENO" 5; }
+ PYTHON_VERSION=""
+ fi
+
+ #
+ # all done!
+ #
+
+ if test ! -z "$ac_python_version"; then
+ ldns_have_python=yes
+ fi
+
+ # pass additional Python 3 option to SWIG
+ if test `$PYTHON -c "import sys; \
+ ver = sys.version.split()[0]; \
+ print(ver >= '3')"` = "True"; then
+ SWIGPY3="-py3 -DPY3"
+
+ fi
+
+ # check for SWIG
+ if test x_$ldns_have_python != x_no; then
+ # ===========================================================================
+# http://www.gnu.org/software/autoconf-archive/ax_pkg_swig.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AX_PKG_SWIG([major.minor.micro], [action-if-found], [action-if-not-found])
+#
+# DESCRIPTION
+#
+# This macro searches for a SWIG installation on your system. If found,
+# then SWIG is AC_SUBST'd; if not found, then $SWIG is empty. If SWIG is
+# found, then SWIG_LIB is set to the SWIG library path, and AC_SUBST'd.
+#
+# You can use the optional first argument to check if the version of the
+# available SWIG is greater than or equal to the value of the argument. It
+# should have the format: N[.N[.N]] (N is a number between 0 and 999. Only
+# the first N is mandatory.) If the version argument is given (e.g.
+# 1.3.17), AX_PKG_SWIG checks that the swig package is this version number
+# or higher.
+#
+# As usual, action-if-found is executed if SWIG is found, otherwise
+# action-if-not-found is executed.
+#
+# In configure.in, use as:
+#
+# AX_PKG_SWIG(1.3.17, [], [ AC_MSG_ERROR([SWIG is required to build..]) ])
+# AX_SWIG_ENABLE_CXX
+# AX_SWIG_MULTI_MODULE_SUPPORT
+# AX_SWIG_PYTHON
+#
+# LICENSE
+#
+# Copyright (c) 2008 Sebastian Huber <sebastian-huber@web.de>
+# Copyright (c) 2008 Alan W. Irwin <irwin@beluga.phys.uvic.ca>
+# Copyright (c) 2008 Rafael Laboissiere <rafael@laboissiere.net>
+# Copyright (c) 2008 Andrew Collier <colliera@ukzn.ac.za>
+# Copyright (c) 2011 Murray Cumming <murrayc@openismus.com>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 8
+
+
+
+
+ # check for >=SWIG-2.0.4 if Python 3.2 used
+ if test `$PYTHON -c "import sys; \
+ ver = sys.version.split()[0]; \
+ print(ver >= '3.2')"` = "True"; then
+
+ # Ubuntu has swig 2.0 as /usr/bin/swig2.0
+ for ac_prog in swig2.0 swig
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_SWIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $SWIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+SWIG=$ac_cv_path_SWIG
+if test -n "$SWIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
+$as_echo "$SWIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$SWIG" && break
+done
+
+ if test -z "$SWIG" ; then
+ as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
+ elif test -n "2.0.4" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
+$as_echo_n "checking SWIG version... " >&6; }
+ swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
+$as_echo "$swig_version" >&6; }
+ if test -n "$swig_version" ; then
+ # Calculate the required version number components
+ required=2.0.4
+ required_major=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_major" ; then
+ required_major=0
+ fi
+ required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+ required_minor=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_minor" ; then
+ required_minor=0
+ fi
+ required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+ required_patch=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_patch" ; then
+ required_patch=0
+ fi
+ # Calculate the available version number components
+ available=$swig_version
+ available_major=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_major" ; then
+ available_major=0
+ fi
+ available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+ available_minor=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_minor" ; then
+ available_minor=0
+ fi
+ available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+ available_patch=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_patch" ; then
+ available_patch=0
+ fi
+ # Convert the version tuple into a single number for easier comparison.
+ # Using base 100 should be safe since SWIG internally uses BCD values
+ # to encode its version number.
+ required_swig_vernum=`expr $required_major \* 10000 \
+ \+ $required_minor \* 100 \+ $required_patch`
+ available_swig_vernum=`expr $available_major \* 10000 \
+ \+ $available_minor \* 100 \+ $available_patch`
+
+ if test $available_swig_vernum -lt $required_swig_vernum; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= 2.0.4 is required. You have $swig_version." >&5
+$as_echo "$as_me: WARNING: SWIG version >= 2.0.4 is required. You have $swig_version." >&2;}
+ SWIG=''
+ as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
+$as_echo_n "checking for SWIG library... " >&6; }
+ SWIG_LIB=`$SWIG -swiglib`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
+$as_echo "$SWIG_LIB" >&6; }
+
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
+$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+ SWIG=''
+ as_fn_error $? "SWIG-2.0.4 is required to build pyldns for Python 3.2 and greater." "$LINENO" 5
+ fi
+ fi
+
+
+ else
+
+ # Ubuntu has swig 2.0 as /usr/bin/swig2.0
+ for ac_prog in swig2.0 swig
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_SWIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $SWIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_SWIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+SWIG=$ac_cv_path_SWIG
+if test -n "$SWIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
+$as_echo "$SWIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$SWIG" && break
+done
+
+ if test -z "$SWIG" ; then
+ :
+ elif test -n "" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
+$as_echo_n "checking SWIG version... " >&6; }
+ swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
+$as_echo "$swig_version" >&6; }
+ if test -n "$swig_version" ; then
+ # Calculate the required version number components
+ required=
+ required_major=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_major" ; then
+ required_major=0
+ fi
+ required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+ required_minor=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_minor" ; then
+ required_minor=0
+ fi
+ required=`echo $required | sed 's/[0-9]*[^0-9]//'`
+ required_patch=`echo $required | sed 's/[^0-9].*//'`
+ if test -z "$required_patch" ; then
+ required_patch=0
+ fi
+ # Calculate the available version number components
+ available=$swig_version
+ available_major=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_major" ; then
+ available_major=0
+ fi
+ available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+ available_minor=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_minor" ; then
+ available_minor=0
+ fi
+ available=`echo $available | sed 's/[0-9]*[^0-9]//'`
+ available_patch=`echo $available | sed 's/[^0-9].*//'`
+ if test -z "$available_patch" ; then
+ available_patch=0
+ fi
+ # Convert the version tuple into a single number for easier comparison.
+ # Using base 100 should be safe since SWIG internally uses BCD values
+ # to encode its version number.
+ required_swig_vernum=`expr $required_major \* 10000 \
+ \+ $required_minor \* 100 \+ $required_patch`
+ available_swig_vernum=`expr $available_major \* 10000 \
+ \+ $available_minor \* 100 \+ $available_patch`
+
+ if test $available_swig_vernum -lt $required_swig_vernum; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version." >&5
+$as_echo "$as_me: WARNING: SWIG version >= is required. You have $swig_version." >&2;}
+ SWIG=''
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
+$as_echo_n "checking for SWIG library... " >&6; }
+ SWIG_LIB=`$SWIG -swiglib`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
+$as_echo "$SWIG_LIB" >&6; }
+
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
+$as_echo "$as_me: WARNING: cannot determine SWIG version" >&2;}
+ SWIG=''
+
+ fi
+ fi
+
+
+ fi
+
+ if test ! -x "$SWIG"; then
+ as_fn_error $? "failed to find SWIG tool, install it, or do not build pyldns" "$LINENO" 5
+ else
+
+$as_echo "#define HAVE_SWIG 1" >>confdefs.h
+
+ PYLDNS="pyldns"
+
+ swig="$SWIG"
+
+ ldns_with_pyldns=yes
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: *** don't have Python, skipping SWIG, no pyldns ***" >&5
+$as_echo "*** don't have Python, skipping SWIG, no pyldns ***" >&6; } # '
+ fi
+
+ # xtra cflags for pyldns
+ if test x_$ldns_have_python != x_no; then
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fno-strict-aliasing" >&5
+$as_echo_n "checking whether $CC supports -fno-strict-aliasing... " >&6; }
+cache=`echo fno-strict-aliasing | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -fno-strict-aliasing -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+PYTHON_X_CFLAGS="-fno-strict-aliasing"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-missing-field-initializers" >&5
+$as_echo_n "checking whether $CC supports -Wno-missing-field-initializers... " >&6; }
+cache=`echo Wno-missing-field-initializers | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-missing-field-initializers -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+PYTHON_X_CFLAGS="-Wno-missing-field-initializers $PYTHON_X_CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-parameter" >&5
+$as_echo_n "checking whether $CC supports -Wno-unused-parameter... " >&6; }
+cache=`echo Wno-unused-parameter | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-unused-parameter -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+PYTHON_X_CFLAGS="-Wno-unused-parameter $PYTHON_X_CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-variable" >&5
+$as_echo_n "checking whether $CC supports -Wno-unused-variable... " >&6; }
+cache=`echo Wno-unused-variable | sed 'y%.=/+-%___p_%'`
+if eval \${cv_prog_cc_flag_$cache+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+echo 'void f(void){}' >conftest.c
+if test -z "`$CC $CPPFLAGS $CFLAGS -Wno-unused-variable -c conftest.c 2>&1`"; then
+eval "cv_prog_cc_flag_$cache=yes"
+else
+eval "cv_prog_cc_flag_$cache=no"
+fi
+rm -f conftest conftest.o conftest.c
+
+fi
+
+if eval "test \"`echo '$cv_prog_cc_flag_'$cache`\" = yes"; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+:
+PYTHON_X_CFLAGS="-Wno-unused-variable $PYTHON_X_CFLAGS"
+else
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+:
+
+fi
+
+ fi
+fi
+
+
+# Check for pyldnsx
+
+# Check whether --with-pyldnsx was given.
+if test "${with_pyldnsx+set}" = set; then :
+ withval=$with_pyldnsx;
+else
+ withval="with_pyldns"
+fi
+
+if test x_$withval != x_no; then
+ if test x_$ldns_with_pyldns != x_no; then
+ PYLDNSX="pyldnsx"
+
+ ldns_with_pyldnsx=yes
+ else
+ if test x_$withval != x_with_pyldns; then
+ as_fn_error $? "--with-pyldns is needed for the ldnsx python module" "$LINENO" 5
+ fi
+ fi
+fi
+
+if test x_$ldns_with_pyldns != x_no; then
+ PYLDNSINST="install-pyldns"
+ PYLDNSUNINST="uninstall-pyldns"
+
+else
+ PYLDNSINST=""
+ PYLDNSUNINST=""
+
+fi
+if test x_$ldns_with_pyldnsx != x_no; then
+ PYLDNSXINST="install-pyldnsx"
+ PYLDNSXUNINST="uninstall-pyldnsx"
+
+else
+ PYLDNSXINST=""
+ PYLDNSXUNINST=""
+
+fi
+
+# check for perl
+ldns_with_p5_dns_ldns=no
+
+# Check whether --with-p5-dns-ldns was given.
+if test "${with_p5_dns_ldns+set}" = set; then :
+ withval=$with_p5_dns_ldns;
+else
+ withval="no"
+fi
+
+ldns_have_perl=no
+if test x_$withval != x_no; then
+ # Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PERL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PERL in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ if test -z "$PERL"; then
+ as_fn_error $? "Cannot find perl in your system path" "$LINENO" 5
+ fi
+ P5_DNS_LDNS="p5-dns-ldns"
+ TEST_P5_DNS_LDNS="test-p5-dns-ldns"
+ INSTALL_P5_DNS_LDNS="install-p5-dns-ldns"
+ UNINSTALL_P5_DNS_LDNS="uninstall-p5-dns-ldns"
+ CLEAN_P5_DNS_LDNS="clean-p5-dns-ldns"
+
+else
+ P5_DNS_LDNS=""
+ TEST_P5_DNS_LDNS=""
+ INSTALL_P5_DNS_LDNS=""
+ UNINSTALL_P5_DNS_LDNS=""
+ CLEAN_P5_DNS_LDNS=""
+
+fi
+
+# Use libtool
+
+# skip these tests, we do not need them.
+
+
+
+
+
+
+
+
+# always use ./libtool unless override from commandline (libtool=mylibtool)
+if test -z "$libtool"; then
+ libtool="./libtool"
+fi
+
+# avoid libtool max commandline length test on systems that fork slowly.
+
+if echo "$host_os" | grep "sunos4" >/dev/null; then
+ lt_cv_sys_max_cmd_len=32750;
+fi
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $AR in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_AR="$AR" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+AR=$ac_cv_path_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_AR"; then
+ ac_pt_AR=$AR
+ # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_AR in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_AR="$ac_pt_AR" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_path_ac_pt_AR="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_AR=$ac_cv_path_ac_pt_AR
+if test -n "$ac_pt_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_AR" >&5
+$as_echo "$ac_pt_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_pt_AR
+ fi
+else
+ AR="$ac_cv_path_AR"
+fi
+
+if test $AR = false; then
+ as_fn_error $? "Cannot find 'ar', please extend PATH to include it" "$LINENO" 5
+fi
+
+
+
+
+
+
tmp_CPPFLAGS=$CPPFLAGS
tmp_LDFLAGS=$LDFLAGS
tmp_LIBS=$LIBS
@@ -14723,11 +14870,122 @@ _ACEOF
;;
esac
+# Check whether --enable-dane was given.
+if test "${enable_dane+set}" = set; then :
+ enableval=$enable_dane;
+fi
+
+case "$enable_dane" in
+ no)
+ ldns_build_config_use_dane=0
+
+ ;;
+ *) if test "x$HAVE_SSL" != "xyes"; then
+ as_fn_error $? "DANE enabled, but no SSL support" "$LINENO" 5
+ fi
+ ac_fn_c_check_func "$LINENO" "X509_check_ca" "ac_cv_func_X509_check_ca"
+if test "x$ac_cv_func_X509_check_ca" = xyes; then :
+
+else
+ as_fn_error $? "OpenSSL does not support DANE: please upgrade OpenSSL or rerun with --disable-dane" "$LINENO" 5
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define USE_DANE 1
+_ACEOF
+
+ ldns_build_config_use_dane=1
+
+ ;;
+esac
+
+# Check whether --enable-rrtype-ninfo was given.
+if test "${enable_rrtype_ninfo+set}" = set; then :
+ enableval=$enable_rrtype_ninfo;
+fi
+
+case "$enable_rrtype_ninfo" in
+ yes)
+
+cat >>confdefs.h <<_ACEOF
+#define RRTYPE_NINFO /**/
+_ACEOF
+
+ ;;
+ no|*)
+ ;;
+esac
+# Check whether --enable-rrtype-rkey was given.
+if test "${enable_rrtype_rkey+set}" = set; then :
+ enableval=$enable_rrtype_rkey;
+fi
+
+case "$enable_rrtype_rkey" in
+ yes)
+
+cat >>confdefs.h <<_ACEOF
+#define RRTYPE_RKEY /**/
+_ACEOF
+
+ ;;
+ no|*)
+ ;;
+esac
+# Check whether --enable-rrtype-cds was given.
+if test "${enable_rrtype_cds+set}" = set; then :
+ enableval=$enable_rrtype_cds;
+fi
+
+case "$enable_rrtype_cds" in
+ yes)
+
+cat >>confdefs.h <<_ACEOF
+#define RRTYPE_CDS /**/
+_ACEOF
+
+ ;;
+ no|*)
+ ;;
+esac
+# Check whether --enable-rrtype-uri was given.
+if test "${enable_rrtype_uri+set}" = set; then :
+ enableval=$enable_rrtype_uri;
+fi
+
+case "$enable_rrtype_uri" in
+ yes)
+
+cat >>confdefs.h <<_ACEOF
+#define RRTYPE_URI /**/
+_ACEOF
+
+ ;;
+ no|*)
+ ;;
+esac
+# Check whether --enable-rrtype-ta was given.
+if test "${enable_rrtype_ta+set}" = set; then :
+ enableval=$enable_rrtype_ta;
+fi
+
+case "$enable_rrtype_ta" in
+ yes)
+
+cat >>confdefs.h <<_ACEOF
+#define RRTYPE_TA /**/
+_ACEOF
+
+ ;;
+ no|*)
+ ;;
+esac
+
if test "x$HAVE_SSL" = "xyes"; then
-LIBSSL_SSL_LIBS="$LIBSSL_LIBS -lssl"
+LIBSSL_SSL_LIBS="-lssl $LIBSSL_LIBS"
fi
CPPFLAGS=$tmp_CPPFLAGS
@@ -15365,14 +15623,13 @@ _ACEOF
if test x_$with_examples != x_no; then
for ac_header in pcap.h
do :
- ac_fn_c_check_header_mongrel "$LINENO" "pcap.h" "ac_cv_header_pcap_h" "$ac_includes_default"
+ ac_fn_c_check_header_compile "$LINENO" "pcap.h" "ac_cv_header_pcap_h" "$ac_includes_default
+"
if test "x$ac_cv_header_pcap_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_PCAP_H 1
_ACEOF
-else
- $ac_includes_default
fi
done
@@ -15505,41 +15762,17 @@ _ACEOF
fi
-
- ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
+ac_fn_c_check_type "$LINENO" "intptr_t" "ac_cv_type_intptr_t" "$ac_includes_default"
if test "x$ac_cv_type_intptr_t" = xyes; then :
-$as_echo "#define HAVE_INTPTR_T 1" >>confdefs.h
-
else
- for ac_type in 'int' 'long int' 'long long int'; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
cat >>confdefs.h <<_ACEOF
-#define intptr_t $ac_type
+#define intptr_t size_t
_ACEOF
- ac_type=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- test -z "$ac_type" && break
- done
fi
-
ac_fn_c_check_type "$LINENO" "in_addr_t" "ac_cv_type_in_addr_t" "
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
@@ -15781,34 +16014,6 @@ esac
fi
-ac_fn_c_check_func "$LINENO" "b32_pton" "ac_cv_func_b32_pton"
-if test "x$ac_cv_func_b32_pton" = xyes; then :
- $as_echo "#define HAVE_B32_PTON 1" >>confdefs.h
-
-else
- case " $LIBOBJS " in
- *" b32_pton.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS b32_pton.$ac_objext"
- ;;
-esac
-
-fi
-
-
-ac_fn_c_check_func "$LINENO" "b32_ntop" "ac_cv_func_b32_ntop"
-if test "x$ac_cv_func_b32_ntop" = xyes; then :
- $as_echo "#define HAVE_B32_NTOP 1" >>confdefs.h
-
-else
- case " $LIBOBJS " in
- *" b32_ntop.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS b32_ntop.$ac_objext"
- ;;
-esac
-
-fi
-
-
ac_fn_c_check_func "$LINENO" "calloc" "ac_cv_func_calloc"
if test "x$ac_cv_func_calloc" = xyes; then :
$as_echo "#define HAVE_CALLOC 1" >>confdefs.h
@@ -16215,7 +16420,7 @@ $as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h
fi
-for ac_func in endprotoent endservent sleep random fcntl strtoul bzero memset
+for ac_func in endprotoent endservent sleep random fcntl strtoul bzero memset b32_ntop b32_pton
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -16227,6 +16432,20 @@ _ACEOF
fi
done
+if test "x$HAVE_B32_NTOP" = "xyes"; then
+ ldns_build_config_have_b32_ntop=1
+
+else
+ ldns_build_config_have_b32_ntop=0
+
+fi
+if test "x$HAVE_B32_PTON" = "xyes"; then
+ ldns_build_config_have_b32_pton=1
+
+else
+ ldns_build_config_have_b32_pton=0
+
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo" >&5
@@ -17181,7 +17400,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ldns $as_me 1.6.16, which was
+This file was extended by ldns $as_me 1.6.17, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17247,7 +17466,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ldns config.status 1.6.16
+ldns config.status 1.6.17
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index fae43271960a..5f25c7dc4236 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,20 +6,23 @@ sinclude(acx_nlnetlabs.m4)
# must be numbers. ac_defun because of later processing.
m4_define([VERSION_MAJOR],[1])
m4_define([VERSION_MINOR],[6])
-m4_define([VERSION_MICRO],[16])
+m4_define([VERSION_MICRO],[17])
AC_INIT(ldns, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), libdns@nlnetlabs.nl, libdns)
AC_CONFIG_SRCDIR([packet.c])
# needed to build correct soname
-AC_SUBST(LIBTOOL_VERSION_INFO, VERSION_MAJOR:VERSION_MINOR:VERSION_MICRO)
AC_SUBST(LDNS_VERSION_MAJOR, [VERSION_MAJOR])
AC_SUBST(LDNS_VERSION_MINOR, [VERSION_MINOR])
AC_SUBST(LDNS_VERSION_MICRO, [VERSION_MICRO])
+AC_SUBST(VERSION_INFO, [VERSION_MAJOR:VERSION_MINOR:VERSION_MICRO])
+
+AC_AIX
+LT_INIT
+AC_CONFIG_MACRO_DIR([m4])
OURCPPFLAGS=''
CPPFLAGS=${CPPFLAGS:-${OURCPPFLAGS}}
CFLAGS="$CFLAGS"
-AC_AIX
# Checks for programs.
AC_PROG_CC
ACX_DEPFLAG
@@ -70,6 +73,7 @@ fi
ACX_CHECK_COMPILER_FLAG(Wall, [CFLAGS="-Wall $CFLAGS"])
ACX_CHECK_COMPILER_FLAG(W, [CFLAGS="-W $CFLAGS"])
ACX_CHECK_COMPILER_FLAG(Wwrite-strings, [CFLAGS="-Wwrite-strings $CFLAGS"])
+ACX_CHECK_COMPILER_FLAG(Wstrict-prototypes, [CFLAGS="-Wstrict-prototypes $CFLAGS"])
AC_CHECK_HEADERS([getopt.h time.h],,, [AC_INCLUDES_DEFAULT])
@@ -152,7 +156,7 @@ else
fi
# add option to disable installation of ldns-config script
-AC_ARG_ENABLE(ldns-config, [ --disable-ldns-config disable installation of ldns-config (default=enabled)],
+AC_ARG_ENABLE(ldns-config, AC_HELP_STRING([--disable-ldns-config], [disable installation of ldns-config (default=enabled)]),
enable_ldns_config=$enableval, enable_ldns_config=yes)
if test "x$enable_ldns_config" = xyes; then
AC_SUBST(INSTALL_CONFIG, [install-config])
@@ -166,6 +170,16 @@ else
AC_SUBST(UNINSTALL_CONFIG_MANPAGE, [""])
fi
+# add option to disable library printing to stderr
+AC_ARG_ENABLE(stderr-msgs, AC_HELP_STRING([--enable-stderr-msgs], [Enable printing to stderr (default=disabled)]), enable_stderr_msgs=$enableval, enable_stderr_msgs=no)
+case "$enable_stderr_msgs" in
+ no) dnl default
+ ;;
+ *)
+ AC_DEFINE_UNQUOTED([STDERR_MSGS], [1], [Define this to enable messages to stderr.])
+ ;;
+esac
+
# check for python
PYTHON_X_CFLAGS=""
ldns_with_pyldns=no
@@ -255,6 +269,30 @@ else
AC_SUBST(PYLDNSXUNINST, "")
fi
+# check for perl
+ldns_with_p5_dns_ldns=no
+AC_ARG_WITH(p5-dns-ldns, AC_HELP_STRING([--with-p5-dns-ldns],
+ [generate DNS::LDNS perl bindings]),
+ [],[ withval="no" ])
+ldns_have_perl=no
+if test x_$withval != x_no; then
+ AC_PATH_PROG([PERL], [perl])
+ if test -z "$PERL"; then
+ AC_MSG_ERROR([Cannot find perl in your system path])
+ fi
+ AC_SUBST(P5_DNS_LDNS, "p5-dns-ldns")dnl
+ AC_SUBST(TEST_P5_DNS_LDNS, "test-p5-dns-ldns")dnl
+ AC_SUBST(INSTALL_P5_DNS_LDNS, "install-p5-dns-ldns")dnl
+ AC_SUBST(UNINSTALL_P5_DNS_LDNS, "uninstall-p5-dns-ldns")dnl
+ AC_SUBST(CLEAN_P5_DNS_LDNS, "clean-p5-dns-ldns")
+else
+ AC_SUBST(P5_DNS_LDNS, "")dnl
+ AC_SUBST(TEST_P5_DNS_LDNS, "")dnl
+ AC_SUBST(INSTALL_P5_DNS_LDNS, "")dnl
+ AC_SUBST(UNINSTALL_P5_DNS_LDNS, "")dnl
+ AC_SUBST(CLEAN_P5_DNS_LDNS, "")
+fi
+
# Use libtool
ACX_LIBTOOL_C_ONLY
@@ -320,11 +358,67 @@ case "$enable_ecdsa" in
;;
esac
+AC_ARG_ENABLE(dane, AC_HELP_STRING([--disable-dane], [Disable DANE support]))
+case "$enable_dane" in
+ no)
+ AC_SUBST(ldns_build_config_use_dane, 0)
+ ;;
+ *) dnl default
+ if test "x$HAVE_SSL" != "xyes"; then
+ AC_MSG_ERROR([DANE enabled, but no SSL support])
+ fi
+ AC_CHECK_FUNC(X509_check_ca, [], [AC_MSG_ERROR([OpenSSL does not support DANE: please upgrade OpenSSL or rerun with --disable-dane])])
+ AC_DEFINE_UNQUOTED([USE_DANE], [1], [Define this to enable DANE support.])
+ AC_SUBST(ldns_build_config_use_dane, 1)
+ ;;
+esac
+
+AC_ARG_ENABLE(rrtype-ninfo, AC_HELP_STRING([--enable-rrtype-ninfo], [Enable draft RR type ninfo.]))
+case "$enable_rrtype_ninfo" in
+ yes)
+ AC_DEFINE_UNQUOTED([RRTYPE_NINFO], [], [Define this to enable RR type NINFO.])
+ ;;
+ no|*)
+ ;;
+esac
+AC_ARG_ENABLE(rrtype-rkey, AC_HELP_STRING([--enable-rrtype-rkey], [Enable draft RR type rkey.]))
+case "$enable_rrtype_rkey" in
+ yes)
+ AC_DEFINE_UNQUOTED([RRTYPE_RKEY], [], [Define this to enable RR type RKEY.])
+ ;;
+ no|*)
+ ;;
+esac
+AC_ARG_ENABLE(rrtype-cds, AC_HELP_STRING([--enable-rrtype-cds], [Enable draft RR type cds.]))
+case "$enable_rrtype_cds" in
+ yes)
+ AC_DEFINE_UNQUOTED([RRTYPE_CDS], [], [Define this to enable RR type CDS.])
+ ;;
+ no|*)
+ ;;
+esac
+AC_ARG_ENABLE(rrtype-uri, AC_HELP_STRING([--enable-rrtype-uri], [Enable draft RR type uri.]))
+case "$enable_rrtype_uri" in
+ yes)
+ AC_DEFINE_UNQUOTED([RRTYPE_URI], [], [Define this to enable RR type URI.])
+ ;;
+ no|*)
+ ;;
+esac
+AC_ARG_ENABLE(rrtype-ta, AC_HELP_STRING([--enable-rrtype-ta], [Enable draft RR type ta.]))
+case "$enable_rrtype_ta" in
+ yes)
+ AC_DEFINE_UNQUOTED([RRTYPE_TA], [], [Define this to enable RR type TA.])
+ ;;
+ no|*)
+ ;;
+esac
+
AC_SUBST(LIBSSL_CPPFLAGS)
AC_SUBST(LIBSSL_LDFLAGS)
AC_SUBST(LIBSSL_LIBS)
if test "x$HAVE_SSL" = "xyes"; then
-AC_SUBST(LIBSSL_SSL_LIBS, ["$LIBSSL_LIBS -lssl"])
+AC_SUBST(LIBSSL_SSL_LIBS, ["-lssl $LIBSSL_LIBS"])
fi
CPPFLAGS=$tmp_CPPFLAGS
LDFLAGS=$tmp_LDFLAGS
@@ -426,7 +520,7 @@ AC_INCLUDES_DEFAULT
])
if test x_$with_examples != x_no; then
-AC_CHECK_HEADERS([pcap.h],, [AC_INCLUDES_DEFAULT])
+AC_CHECK_HEADERS([pcap.h],,, [AC_INCLUDES_DEFAULT])
AC_CHECK_LIB(pcap, pcap_open_offline, [
AC_DEFINE([HAVE_LIBPCAP], [1], [Define to 1 if you have the `pcap' library (-lpcap).])dnl`
AC_SUBST([LIBPCAP_LIBS], [-lpcap])
@@ -458,8 +552,9 @@ else
AC_SUBST(ldns_build_config_have_socklen_t, 0)
fi
AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_INTPTR_T
+AC_CHECK_TYPE(ssize_t, int)
+dnl AC_TYPE_INTPTR_T does not work on all platforms (autoconf)
+AC_CHECK_TYPE(intptr_t, size_t)
AC_CHECK_TYPE(in_addr_t, [], [AC_DEFINE([in_addr_t], [uint32_t], [in_addr_t])], [
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
@@ -481,8 +576,6 @@ AC_FUNC_REALLOC
AC_REPLACE_FUNCS(b64_pton)
AC_REPLACE_FUNCS(b64_ntop)
-AC_REPLACE_FUNCS(b32_pton)
-AC_REPLACE_FUNCS(b32_ntop)
AC_REPLACE_FUNCS(calloc)
AC_REPLACE_FUNCS(timegm)
AC_REPLACE_FUNCS(gmtime_r)
@@ -497,7 +590,17 @@ AC_REPLACE_FUNCS(snprintf)
AC_REPLACE_FUNCS(strlcpy)
AC_REPLACE_FUNCS(memmove)
AC_FUNC_FORK
-AC_CHECK_FUNCS([endprotoent endservent sleep random fcntl strtoul bzero memset])
+AC_CHECK_FUNCS([endprotoent endservent sleep random fcntl strtoul bzero memset b32_ntop b32_pton])
+if test "x$HAVE_B32_NTOP" = "xyes"; then
+ AC_SUBST(ldns_build_config_have_b32_ntop, 1)
+else
+ AC_SUBST(ldns_build_config_have_b32_ntop, 0)
+fi
+if test "x$HAVE_B32_PTON" = "xyes"; then
+ AC_SUBST(ldns_build_config_have_b32_pton, 1)
+else
+ AC_SUBST(ldns_build_config_have_b32_pton, 0)
+fi
ACX_CHECK_GETADDRINFO_WITH_INCLUDES
if test $ac_cv_func_getaddrinfo = no; then
@@ -618,7 +721,6 @@ AH_BOTTOM([
extern "C" {
#endif
-#ifndef B64_PTON
int ldns_b64_ntop(uint8_t const *src, size_t srclength,
char *target, size_t targsize);
/**
@@ -629,8 +731,6 @@ static inline size_t ldns_b64_ntop_calculate_size(size_t srcsize)
{
return ((((srcsize + 2) / 3) * 4) + 1);
}
-#endif /* !B64_PTON */
-#ifndef B64_NTOP
int ldns_b64_pton(char const *src, uint8_t *target, size_t targsize);
/**
* calculates the size needed to store the result of ldns_b64_pton
@@ -640,7 +740,12 @@ static inline size_t ldns_b64_pton_calculate_size(size_t srcsize)
{
return (((((srcsize + 3) / 4) * 3)) + 1);
}
-#endif /* !B64_NTOP */
+
+/**
+ * Given in dnssec_zone.c, also used in dnssec_sign.c:w
+
+ */
+int ldns_dname_compare_v(const void *a, const void *b);
#ifndef HAVE_SLEEP
/* use windows sleep, in millisecs, instead */
diff --git a/contrib/DNS-LDNS/Changes b/contrib/DNS-LDNS/Changes
new file mode 100644
index 000000000000..b718c30222e6
--- /dev/null
+++ b/contrib/DNS-LDNS/Changes
@@ -0,0 +1,23 @@
+Revision history for Perl extension DNS::LDNS.
+
+0.01 Thu Nov 22 12:48:29 2012
+ - original version; created by h2xs 1.23 with options
+ -A -n LDNS
+
+0.02 Fri Jan 18 09:47:57 2013
+ - Support for DNSSec and Resolver. Added some more constants from
+ the header files; created by h2xs 1.23 with options
+ -n LDNS /usr/include/ldns/ldns.h /usr/include/ldns/error.h /usr/include/ldns/rr.h /usr/include/ldns/keys.h /usr/include/ldns/packet.h /usr/include/ldns/resolver.h /usr/include/ldns/rdata.h /usr/include/ldns/dnssec.h
+
+0.03 Fri Apr 19 13:40:57 2013
+ - Renamed module to Net::LDNS
+
+0.04 Fri Dec 13 14:15:26 2013
+ - Renamed module to DNS::LDNS
+
+0.05 Mon Dec 30 10:14:00 2013
+ - Corrected versioning variable in all classes.
+ - Cleaned up the base class documentation.
+
+0.06 Tue Dec 31 12:17:00 2013
+ - Corrected pod syntax
diff --git a/contrib/DNS-LDNS/LDNS.xs b/contrib/DNS-LDNS/LDNS.xs
new file mode 100644
index 000000000000..83f09ddee777
--- /dev/null
+++ b/contrib/DNS-LDNS/LDNS.xs
@@ -0,0 +1,3363 @@
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include "ppport.h"
+
+#include "ldns/ldns.h"
+#include "ldns/error.h"
+#include "ldns/rr.h"
+#include "ldns/keys.h"
+#include "ldns/dname.h"
+#include "ldns/host2str.h"
+#include "ldns/rdata.h"
+#include "ldns/rbtree.h"
+#include "ldns/resolver.h"
+#include "ldns/packet.h"
+#include "ldns/dnssec.h"
+
+#include "ldns/dnssec_zone.h"
+#include "ldns/dnssec_verify.h"
+#include "ldns/dnssec_sign.h"
+#include "ldns/rr_functions.h"
+
+#if LDNS_REVISION < ((1<<16)|(6<<8)|(17))
+ #define LDNS_RDF_TYPE_HIP LDNS_RDF_TYPE_TSIG
+#endif
+
+#include "const-c.inc"
+
+typedef ldns_zone * DNS__LDNS__Zone;
+typedef ldns_rr_list * DNS__LDNS__RRList;
+typedef ldns_rr * DNS__LDNS__RR;
+typedef ldns_rr * DNS__LDNS__RR__Opt;
+typedef ldns_rdf * DNS__LDNS__RData;
+typedef ldns_rdf * DNS__LDNS__RData__Opt;
+typedef ldns_dnssec_zone * DNS__LDNS__DNSSecZone;
+typedef ldns_dnssec_rrsets * DNS__LDNS__DNSSecRRSets;
+typedef ldns_dnssec_rrs * DNS__LDNS__DNSSecRRs;
+typedef ldns_dnssec_name * DNS__LDNS__DNSSecName;
+typedef ldns_rbtree_t * DNS__LDNS__RBTree;
+typedef ldns_rbnode_t * DNS__LDNS__RBNode;
+typedef ldns_resolver * DNS__LDNS__Resolver;
+typedef ldns_pkt * DNS__LDNS__Packet;
+typedef ldns_key * DNS__LDNS__Key;
+typedef ldns_key_list * DNS__LDNS__KeyList;
+typedef ldns_dnssec_data_chain * DNS__LDNS__DNSSecDataChain;
+typedef ldns_dnssec_trust_tree * DNS__LDNS__DNSSecTrustTree;
+typedef const char * Mortal_PV;
+
+typedef ldns_pkt_opcode LDNS_Pkt_Opcode;
+typedef ldns_pkt_rcode LDNS_Pkt_Rcode;
+typedef ldns_pkt_section LDNS_Pkt_Section;
+typedef ldns_pkt_type LDNS_Pkt_Type;
+typedef ldns_rr_type LDNS_RR_Type;
+typedef ldns_rr_class LDNS_RR_Class;
+typedef ldns_rdf_type LDNS_RDF_Type;
+typedef ldns_hash LDNS_Hash;
+typedef ldns_status LDNS_Status;
+typedef ldns_signing_algorithm LDNS_Signing_Algorithm;
+
+/* callback function used by the signing methods */
+int sign_policy(ldns_rr *sig, void *n) {
+ return *(uint16_t*)n;
+}
+
+/* utility methods */
+void add_cloned_rrs_to_list(ldns_rr_list * list, ldns_rr_list * add) {
+ size_t count;
+ size_t i;
+
+ count = ldns_rr_list_rr_count(add);
+
+ for(i = 0; i < count; i++) {
+ ldns_rr_list_push_rr(list, ldns_rr_clone(ldns_rr_list_rr(add, i)));
+ }
+}
+
+
+#if LDNS_REVISION < ((1<<16)|(6<<8)|(12))
+ldns_dnssec_trust_tree *ldns_dnssec_derive_trust_tree_time(
+ ldns_dnssec_data_chain *data_chain,
+ ldns_rr *rr, time_t check_time);
+ldns_rr_list *ldns_fetch_valid_domain_keys_time(const ldns_resolver * res,
+ const ldns_rdf * domain, const ldns_rr_list * keys,
+ time_t check_time, ldns_status *status);
+ldns_rr_list *ldns_validate_domain_dnskey_time(
+ const ldns_resolver *res, const ldns_rdf *domain,
+ const ldns_rr_list *keys, time_t check_time);
+ldns_rr_list *ldns_validate_domain_ds_time(
+ const ldns_resolver *res, const ldns_rdf *domain,
+ const ldns_rr_list * keys, time_t check_time);
+
+ldns_dnssec_trust_tree *ldns_dnssec_derive_trust_tree_time(
+ ldns_dnssec_data_chain *data_chain,
+ ldns_rr *rr, time_t check_time) {
+ Perl_croak(aTHX_ "function ldns_dnssec_derive_trust_tree_time is not implemented in this version of ldns");
+}
+
+ldns_rr_list *ldns_fetch_valid_domain_keys_time(const ldns_resolver * res,
+ const ldns_rdf * domain, const ldns_rr_list * keys,
+ time_t check_time, ldns_status *status) {
+ Perl_croak(aTHX_ "function ldns_fetch_valid_domain_keys_time is not implemented in this version of ldns");
+}
+
+ldns_rr_list *ldns_validate_domain_dnskey_time(
+ const ldns_resolver *res, const ldns_rdf *domain,
+ const ldns_rr_list *keys, time_t check_time) {
+ Perl_croak(aTHX_ "function ldns_validate_domain_dnskey_time is not implemented in this version of ldns");
+}
+
+ldns_rr_list *ldns_validate_domain_ds_time(
+ const ldns_resolver *res, const ldns_rdf *domain,
+ const ldns_rr_list * keys, time_t check_time) {
+ Perl_croak(aTHX_ "function ldns_validate_domain_ds_time is not implemented in this version of ldns");
+}
+
+
+#endif
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS
+
+INCLUDE: const-xs.inc
+
+const char *
+ldns_get_errorstr_by_id(s)
+ LDNS_Status s
+ ALIAS:
+ errorstr_by_id = 1
+
+Mortal_PV
+ldns_rr_type2str(type)
+ LDNS_RR_Type type;
+ ALIAS:
+ rr_type2str = 1
+
+Mortal_PV
+ldns_rr_class2str(class)
+ LDNS_RR_Class class;
+ ALIAS:
+ rr_class2str = 1
+
+Mortal_PV
+ldns_pkt_opcode2str(opcode)
+ LDNS_Pkt_Opcode opcode;
+ ALIAS:
+ pkt_opcode2str = 1
+
+Mortal_PV
+ldns_pkt_rcode2str(rcode)
+ LDNS_Pkt_Rcode rcode;
+ ALIAS:
+ pkt_rcode2str = 1
+
+LDNS_RR_Type
+ldns_get_rr_type_by_name(name)
+ char * name;
+ ALIAS:
+ rr_type_by_name = 1
+
+LDNS_RR_Class
+ldns_get_rr_class_by_name(name)
+ char * name;
+ ALIAS:
+ rr_class_by_name = 1
+
+DNS__LDNS__RR
+ldns_dnssec_create_nsec(from, to, nsec_type)
+ DNS__LDNS__DNSSecName from;
+ DNS__LDNS__DNSSecName to;
+ LDNS_RR_Type nsec_type;
+ ALIAS:
+ dnssec_create_nsec = 1
+
+DNS__LDNS__RR
+dnssec_create_nsec3(from, to, zone_name, algorithm, flags, iterations, salt)
+ DNS__LDNS__DNSSecName from;
+ DNS__LDNS__DNSSecName to;
+ DNS__LDNS__RData zone_name;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint16_t iterations;
+ char * salt;
+ CODE:
+ RETVAL = ldns_dnssec_create_nsec3(from, to, zone_name, algorithm, flags, iterations, strlen(salt), (uint8_t*)salt);
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RR
+ldns_create_nsec(current, next, rrs)
+ DNS__LDNS__RData current;
+ DNS__LDNS__RData next;
+ DNS__LDNS__RRList rrs;
+ ALIAS:
+ create_nsec = 1
+
+DNS__LDNS__RR
+create_nsec3(cur_owner, cur_zone, rrs, algorithm, flags, iterations, salt, emptynonterminal)
+ DNS__LDNS__RData cur_owner;
+ DNS__LDNS__RData cur_zone;
+ DNS__LDNS__RRList rrs;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint16_t iterations;
+ char * salt;
+ bool emptynonterminal;
+ CODE:
+ RETVAL = ldns_create_nsec3(cur_owner, cur_zone, rrs, algorithm,
+ flags, iterations, strlen(salt), (uint8_t*)salt, emptynonterminal);
+ OUTPUT:
+ RETVAL
+
+LDNS_Signing_Algorithm
+ldns_get_signing_algorithm_by_name(name)
+ const char * name;
+ ALIAS:
+ signing_algorithm_by_name = 1
+
+int
+ldns_key_algo_supported(algorithm)
+ int algorithm;
+ ALIAS:
+ key_algorithm_supported = 1
+
+DNS__LDNS__RR
+ldns_read_anchor_file(filename)
+ char * filename;
+ ALIAS:
+ read_anchor_file = 1
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::GC
+
+void
+ldns_zone_deep_free(zone)
+ DNS__LDNS__Zone zone;
+ ALIAS:
+ _zone_deep_free = 1
+
+void
+ldns_rr_list_deep_free(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ _rrlist_deep_free = 1
+
+void
+ldns_rr_free(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rr_free = 1
+
+void
+ldns_rdf_deep_free(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rdata_deep_free = 1
+
+void
+ldns_dnssec_zone_deep_free(zone)
+ DNS__LDNS__DNSSecZone zone;
+ ALIAS:
+ _dnssec_zone_deep_free = 1
+
+void
+ldns_dnssec_name_deep_free(name)
+ DNS__LDNS__DNSSecName name;
+ ALIAS:
+ _dnssec_name_deep_free = 1
+
+void
+ldns_resolver_deep_free(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ _resolver_deep_free = 1
+
+void
+ldns_pkt_free(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _packet_free = 1
+
+void
+ldns_key_deep_free(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ _key_deep_free = 1
+
+void
+ldns_key_list_free(keylist)
+ DNS__LDNS__KeyList keylist;
+ ALIAS:
+ _keylist_free = 1
+
+void
+ldns_dnssec_data_chain_deep_free(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ ALIAS:
+ _dnssec_datachain_deep_free = 1
+
+void
+ldns_dnssec_trust_tree_free(tree)
+ DNS__LDNS__DNSSecTrustTree tree;
+ ALIAS:
+ _dnssec_trusttree_free = 1
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::Zone
+
+PROTOTYPES: ENABLE
+
+DNS__LDNS__Zone
+ldns_zone_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__Zone
+_new_from_file(fp, origin, ttl, c, s, line_nr)
+ FILE* fp;
+ DNS__LDNS__RData__Opt origin;
+ uint32_t ttl;
+ LDNS_RR_Class c;
+ LDNS_Status s;
+ int line_nr;
+ PREINIT:
+ ldns_zone *z;
+ CODE:
+ if (ttl == 0) { ttl = 0; }
+ RETVAL = NULL;
+ s = ldns_zone_new_frm_fp_l(&z, fp, origin, ttl, c, &line_nr);
+
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = z;
+ }
+
+ OUTPUT:
+ RETVAL
+ s
+ line_nr
+
+void
+print(zone, fp)
+ DNS__LDNS__Zone zone;
+ FILE* fp;
+ CODE:
+ ldns_zone_print(fp, zone);
+
+void
+canonicalize(zone)
+ DNS__LDNS__Zone zone;
+ PREINIT:
+ ldns_rr_list *list;
+ size_t count;
+ size_t i;
+ CODE:
+ list = ldns_zone_rrs(zone);
+ count = ldns_rr_list_rr_count(list);
+
+ ldns_rr2canonical(ldns_zone_soa(zone));
+ for (i = 0; i < ldns_rr_list_rr_count(ldns_zone_rrs(zone)); i++) {
+ ldns_rr2canonical(ldns_rr_list_rr(ldns_zone_rrs(zone), i));
+ }
+
+void
+ldns_zone_sort(zone)
+ DNS__LDNS__Zone zone;
+ ALIAS:
+ sort = 1
+
+DNS__LDNS__RR
+ldns_zone_soa(zone)
+ DNS__LDNS__Zone zone;
+ ALIAS:
+ _soa = 1
+
+void
+ldns_zone_set_soa(zone, soa)
+ DNS__LDNS__Zone zone;
+ DNS__LDNS__RR soa;
+ ALIAS:
+ _set_soa = 1
+
+DNS__LDNS__RRList
+ldns_zone_rrs(zone)
+ DNS__LDNS__Zone zone;
+ ALIAS:
+ _rrs = 1
+
+void
+ldns_zone_set_rrs(zone, list)
+ DNS__LDNS__Zone zone;
+ DNS__LDNS__RRList list;
+ ALIAS:
+ _set_rrs = 1
+
+DNS__LDNS__Zone
+ldns_zone_sign(zone, keylist)
+ DNS__LDNS__Zone zone;
+ DNS__LDNS__KeyList keylist;
+ ALIAS:
+ sign = 1
+
+DNS__LDNS__Zone
+sign_nsec3(zone, keylist, algorithm, flags, iterations, salt)
+ DNS__LDNS__Zone zone;
+ DNS__LDNS__KeyList keylist;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint16_t iterations;
+ unsigned char * salt;
+ CODE:
+ RETVAL = ldns_zone_sign_nsec3(zone, keylist, algorithm, flags, iterations, strlen(salt), (uint8_t*)salt);
+ OUTPUT:
+ RETVAL
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::RRList
+
+PROTOTYPES: ENABLE
+
+DNS__LDNS__RRList
+ldns_rr_list_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__RRList
+_new_hosts_from_file(fp, line_nr)
+ FILE * fp;
+ int line_nr;
+ CODE:
+ RETVAL = ldns_get_rr_list_hosts_frm_fp_l(fp, &line_nr);
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RRList
+ldns_rr_list_clone(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ clone = 1
+
+void
+print(list, fp)
+ DNS__LDNS__RRList list;
+ FILE* fp;
+ CODE:
+ ldns_rr_list_print(fp, list);
+
+Mortal_PV
+ldns_rr_list2str(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ to_string = 1
+
+DNS__LDNS__RR
+ldns_rr_list_rr(list, i)
+ DNS__LDNS__RRList list;
+ size_t i;
+ ALIAS:
+ _rr = 1
+
+DNS__LDNS__RR
+ldns_rr_list_pop_rr(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ pop = 1
+
+bool
+ldns_rr_list_push_rr(list, rr)
+ DNS__LDNS__RRList list;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _push = 1
+
+size_t
+ldns_rr_list_rr_count(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ rr_count = 1
+
+int
+ldns_rr_list_compare(list, otherlist)
+ DNS__LDNS__RRList list;
+ DNS__LDNS__RRList otherlist;
+ ALIAS:
+ compare = 1
+
+DNS__LDNS__RRList
+ldns_rr_list_subtype_by_rdf(list, rdf, pos)
+ DNS__LDNS__RRList list;
+ DNS__LDNS__RData rdf;
+ size_t pos;
+ ALIAS:
+ subtype_by_rdata = 1
+
+DNS__LDNS__RRList
+ldns_rr_list_pop_rrset(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ pop_rrset = 1
+
+bool
+ldns_is_rrset(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ is_rrset = 1
+
+bool
+ldns_rr_list_contains_rr(list, rr)
+ DNS__LDNS__RRList list;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ contains_rr = 1
+
+DNS__LDNS__RRList
+ldns_rr_list_pop_rr_list(list, count)
+ DNS__LDNS__RRList list;
+ size_t count;
+ ALIAS:
+ pop_list = 1
+
+bool
+_push_list(list, otherlist)
+ DNS__LDNS__RRList list;
+ DNS__LDNS__RRList otherlist;
+ PREINIT:
+ bool ret;
+ CODE:
+ ret = ldns_rr_list_push_rr_list(list, otherlist);
+ if (ret) {
+ ldns_rr_list_free(otherlist);
+ }
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_verify_rrsig_keylist(rrset, rrsig, keys, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RR rrsig;
+ DNS__LDNS__RRList keys;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify_rrsig_keylist(rrset, rrsig, keys, good_keys);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_verify_rrsig_keylist_time(rrset, rrsig, keys, check_time, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RR rrsig;
+ DNS__LDNS__RRList keys;
+ time_t check_time;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify_rrsig_keylist_time(
+ rrset, rrsig, keys, check_time, good_keys);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_verify_rrsig_keylist_notime(rrset, rrsig, keys, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RR rrsig;
+ DNS__LDNS__RRList keys;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify_rrsig_keylist_notime(rrset, rrsig, keys, NULL);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+ldns_verify_rrsig(rrset, rrsig, key)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RR rrsig;
+ DNS__LDNS__RR key;
+ ALIAS:
+ _verify_rrsig = 1
+
+LDNS_Status
+ldns_verify_rrsig_time(rrset, rrsig, key, check_time)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RR rrsig;
+ DNS__LDNS__RR key;
+ time_t check_time;
+ ALIAS:
+ _verify_rrsig_time = 1
+
+LDNS_Status
+_verify(rrset, rrsig, keys, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RRList rrsig;
+ DNS__LDNS__RRList keys;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify(rrset, rrsig, keys, gk);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_verify_time(rrset, rrsig, keys, check_time, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RRList rrsig;
+ DNS__LDNS__RRList keys;
+ time_t check_time;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify_time(rrset, rrsig, keys, check_time, gk);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_verify_notime(rrset, rrsig, keys, good_keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RRList rrsig;
+ DNS__LDNS__RRList keys;
+ DNS__LDNS__RRList good_keys;
+ PREINIT:
+ DNS__LDNS__RRList gk;
+ CODE:
+ gk = ldns_rr_list_new();
+ RETVAL = ldns_verify_notime(rrset, rrsig, keys, gk);
+ add_cloned_rrs_to_list(good_keys, gk);
+ ldns_rr_list_free(gk);
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RR
+ldns_create_empty_rrsig(rrset, current_key)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__Key current_key;
+ ALIAS:
+ create_empty_rrsig = 1
+
+DNS__LDNS__RRList
+ldns_sign_public(rrset, keys)
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__KeyList keys;
+ ALIAS:
+ sign_public = 1
+
+void
+ldns_rr_list_sort(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ sort = 1
+
+void
+ldns_rr_list_sort_nsec3(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ sort_nsec3 = 1
+
+void
+ldns_rr_list2canonical(list)
+ DNS__LDNS__RRList list;
+ ALIAS:
+ canonicalize = 1
+
+DNS__LDNS__RR
+ldns_dnssec_get_dnskey_for_rrsig(rr, rrlist)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RRList rrlist;
+ ALIAS:
+ _get_dnskey_for_rrsig = 1
+
+DNS__LDNS__RR
+ldns_dnssec_get_rrsig_for_name_and_type(name, type, rrsigs)
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ DNS__LDNS__RRList rrsigs;
+ ALIAS:
+ _get_rrsig_for_name_and_type = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::RR
+
+PROTOTYPES: ENABLE
+
+DNS__LDNS__RR
+ldns_rr_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__RR
+ldns_rr_new_frm_type(t)
+ LDNS_RR_Type t;
+ ALIAS:
+ _new_from_type = 1
+
+DNS__LDNS__RR
+_new_from_str(str, default_ttl, origin, s)
+ const char* str;
+ uint32_t default_ttl;
+ DNS__LDNS__RData__Opt origin;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__RR rr = NULL;
+ CODE:
+ s = ldns_rr_new_frm_str(&rr, str, default_ttl, origin, NULL);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = rr;
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__RR
+_new_from_file(fp, origin, default_ttl, s, line_nr)
+ FILE* fp;
+ DNS__LDNS__RData__Opt origin;
+ uint32_t default_ttl;
+ LDNS_Status s;
+ int line_nr;
+ PREINIT:
+ ldns_rr *rr;
+ ldns_rdf *oclone = NULL;
+ CODE:
+ RETVAL = NULL;
+ /* Clone the origin object because the call may change/replace it and
+ then it must be freed */
+ if (origin) {
+ oclone = ldns_rdf_clone(origin);
+ }
+ s = ldns_rr_new_frm_fp_l(&rr, fp, &default_ttl, &oclone, NULL,
+ &line_nr);
+
+ if (oclone) {
+ ldns_rdf_deep_free(oclone);
+ }
+
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = rr;
+ }
+
+ OUTPUT:
+ RETVAL
+ s
+ line_nr
+
+DNS__LDNS__RR
+ldns_rr_clone(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ clone = 1
+
+void
+ldns_rr_set_owner(rr, owner)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData owner;
+ ALIAS:
+ _set_owner = 1
+
+void
+ldns_rr_set_ttl(rr, ttl)
+ DNS__LDNS__RR rr;
+ uint32_t ttl;
+ ALIAS:
+ set_ttl = 1
+
+void
+ldns_rr_set_type(rr, type)
+ DNS__LDNS__RR rr;
+ LDNS_RR_Type type;
+ ALIAS:
+ set_type = 1
+
+void
+ldns_rr_set_class(rr, class)
+ DNS__LDNS__RR rr;
+ LDNS_RR_Class class;
+ ALIAS:
+ set_class = 1
+
+void
+print(rr, fp)
+ DNS__LDNS__RR rr;
+ FILE* fp;
+ CODE:
+ ldns_rr_print(fp, rr);
+
+Mortal_PV
+ldns_rr2str(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ to_string = 1
+
+int
+ldns_rr_compare(rr, otherrr)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RR otherrr;
+ ALIAS:
+ compare = 1
+
+int
+ldns_rr_compare_no_rdata(rr, otherrr)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RR otherrr;
+ ALIAS:
+ compare_no_rdata = 1
+
+int
+ldns_rr_compare_ds(rr, otherrr)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RR otherrr;
+ ALIAS:
+ compare_ds = 1
+
+int
+compare_dname(rr, otherrr)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RR otherrr;
+ CODE:
+ RETVAL = ldns_dname_compare(
+ ldns_rr_owner(rr), ldns_rr_owner(otherrr));
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RData
+ldns_rr_owner(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _owner = 1
+
+size_t
+ldns_rr_rd_count(rr);
+ DNS__LDNS__RR rr;
+ ALIAS:
+ rd_count = 1
+
+DNS__LDNS__RData
+ldns_rr_rdf(rr, i)
+ DNS__LDNS__RR rr;
+ size_t i;
+ ALIAS:
+ _rdata = 1
+
+DNS__LDNS__RData
+ldns_rr_set_rdf(rr, rdf, i)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ size_t i;
+ ALIAS:
+ _set_rdata = 1
+
+uint32_t
+ldns_rr_ttl(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ ttl = 1
+
+LDNS_RR_Class
+ldns_rr_get_class(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ class = 1
+
+LDNS_RR_Type
+ldns_rr_get_type(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ type = 1
+
+DNS__LDNS__RData
+ldns_rr_pop_rdf(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ pop_rdata = 1
+
+bool
+ldns_rr_push_rdf(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _push_rdata = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_typecovered(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_typecovered = 1
+
+bool
+ldns_rr_rrsig_set_typecovered(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_typecovered = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_algorithm(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_algorithm = 1
+
+bool
+ldns_rr_rrsig_set_algorithm(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_algorithm = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_expiration(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_expiration = 1
+
+bool
+ldns_rr_rrsig_set_expiration(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_expiration = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_inception(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_inception = 1
+
+bool
+ldns_rr_rrsig_set_inception(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_inception = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_keytag(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_keytag = 1
+
+bool
+ldns_rr_rrsig_set_keytag(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_keytag = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_sig(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_sig = 1
+
+bool
+ldns_rr_rrsig_set_sig(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_sig = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_labels(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_labels = 1
+
+bool
+ldns_rr_rrsig_set_labels(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_labels = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_origttl(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_origttl = 1
+
+bool
+ldns_rr_rrsig_set_origttl(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_origttl = 1
+
+DNS__LDNS__RData
+ldns_rr_rrsig_signame(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _rrsig_signame = 1
+
+bool
+ldns_rr_rrsig_set_signame(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _rrsig_set_signame = 1
+
+DNS__LDNS__RData
+ldns_rr_dnskey_algorithm(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _dnskey_algorithm = 1
+
+bool
+ldns_rr_dnskey_set_algorithm(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _dnskey_set_algorithm = 1
+
+DNS__LDNS__RData
+ldns_rr_dnskey_flags(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _dnskey_flags = 1
+
+bool
+ldns_rr_dnskey_set_flags(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _dnskey_set_flags = 1
+
+DNS__LDNS__RData
+ldns_rr_dnskey_protocol(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _dnskey_protocol = 1
+
+bool
+ldns_rr_dnskey_set_protocol(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _dnskey_set_protocol = 1
+
+DNS__LDNS__RData
+ldns_rr_dnskey_key(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _dnskey_key = 1
+
+bool
+ldns_rr_dnskey_set_key(rr, rdf)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ _dnskey_set_key = 1
+
+size_t
+ldns_rr_dnskey_key_size(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ dnskey_key_size = 1
+
+uint16_t
+ldns_calc_keytag(key)
+ DNS__LDNS__RR key;
+ ALIAS:
+ calc_keytag = 1
+
+DNS__LDNS__RData
+ldns_nsec3_hash_name_frm_nsec3(rr, name)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RData name;
+ ALIAS:
+ _hash_name_from_nsec3 = 1
+
+DNS__LDNS__RData
+_nsec3_hash_name(name, algorithm, iterations, salt)
+ DNS__LDNS__RData name;
+ uint8_t algorithm;
+ uint16_t iterations;
+ char * salt;
+ CODE:
+ RETVAL = ldns_nsec3_hash_name(name, algorithm, iterations,
+ strlen(salt), (uint8_t *)salt);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+ldns_dnssec_verify_denial(rr, nsecs, rrsigs)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RRList nsecs;
+ DNS__LDNS__RRList rrsigs;
+ ALIAS:
+ _verify_denial = 1
+
+LDNS_Status
+ldns_dnssec_verify_denial_nsec3(rr, nsecs, rrsigs, packet_rcode, packet_qtype, packet_nodata)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RRList nsecs;
+ DNS__LDNS__RRList rrsigs;
+ LDNS_Pkt_Rcode packet_rcode;
+ LDNS_RR_Type packet_qtype;
+ signed char packet_nodata;
+ ALIAS:
+ _verify_denial_nsec3 = 1
+
+DNS__LDNS__RR
+_verify_denial_nsec3_match(rr, nsecs, rrsigs, packet_rcode, packet_qtype, packet_nodata, status)
+ DNS__LDNS__RR rr;
+ DNS__LDNS__RRList nsecs;
+ DNS__LDNS__RRList rrsigs;
+ LDNS_Pkt_Rcode packet_rcode;
+ LDNS_RR_Type packet_qtype;
+ signed char packet_nodata;
+ LDNS_Status status;
+ PREINIT:
+ ldns_rr ** match;
+ CODE:
+ RETVAL = NULL;
+ status = ldns_dnssec_verify_denial_nsec3_match(rr, nsecs, rrsigs,
+ packet_rcode, packet_qtype, packet_nodata, match);
+ if (status == LDNS_STATUS_OK) {
+ RETVAL = *match;
+ }
+ OUTPUT:
+ status
+ RETVAL
+
+void
+nsec3_add_param_rdfs(rr, algorithm, flags, iterations, salt)
+ DNS__LDNS__RR rr;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint16_t iterations;
+ char * salt;
+ CODE:
+ ldns_nsec3_add_param_rdfs(rr, algorithm, flags, iterations, strlen(salt), (uint8_t*)salt);
+
+uint8_t
+ldns_nsec3_algorithm(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ nsec3_algorithm = 1
+
+uint8_t
+ldns_nsec3_flags(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ nsec3_flags = 1
+
+bool
+ldns_nsec3_optout(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ nsec3_optout = 1
+
+uint16_t
+ldns_nsec3_iterations(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ nsec3_iterations = 1
+
+DNS__LDNS__RData
+ldns_nsec3_next_owner(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ _nsec3_next_owner = 1
+
+DNS__LDNS__RData
+ldns_nsec3_bitmap(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ _nsec3_bitmap = 1
+
+DNS__LDNS__RData
+ldns_nsec3_salt(nsec3)
+ DNS__LDNS__RR nsec3;
+ ALIAS:
+ _nsec3_salt = 1
+
+DNS__LDNS__RR
+ldns_key_rr2ds(key, hash)
+ DNS__LDNS__RR key;
+ LDNS_Hash hash;
+ ALIAS:
+ key_to_ds = 1
+
+bool
+ldns_rr_is_question(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ is_question = 1
+
+uint8_t
+ldns_rr_label_count(rr)
+ DNS__LDNS__RR rr;
+ ALIAS:
+ label_count = 1
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::RData
+
+PROTOTYPES: ENABLE
+
+DNS__LDNS__RData
+ldns_rdf_new_frm_str(type, str)
+ LDNS_RDF_Type type;
+ const char *str;
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__RData
+ldns_rdf_clone(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ clone = 1
+
+const char*
+ldns_rdf2str(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ to_string = 1
+
+void
+print(rdf, fp)
+ DNS__LDNS__RData rdf;
+ FILE* fp;
+ CODE:
+ ldns_rdf_print(fp, rdf);
+
+LDNS_RDF_Type
+ldns_rdf_get_type(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ type = 1
+
+void
+ldns_rdf_set_type(rdf, type)
+ DNS__LDNS__RData rdf;
+ LDNS_RDF_Type type
+ ALIAS:
+ set_type = 1
+
+int
+ldns_rdf_compare(rd1, rd2)
+ DNS__LDNS__RData rd1;
+ DNS__LDNS__RData rd2;
+ ALIAS:
+ compare = 1
+
+DNS__LDNS__RData
+ldns_rdf_address_reverse(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ address_reverse = 1
+
+uint8_t
+ldns_dname_label_count(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ label_count = 1
+
+DNS__LDNS__RData
+ldns_dname_label(rdf, labelpos)
+ DNS__LDNS__RData rdf;
+ uint8_t labelpos;
+ ALIAS:
+ label = 1
+
+int
+ldns_dname_is_wildcard(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ is_wildcard = 1
+
+int
+ldns_dname_match_wildcard(rdf, wildcard)
+ DNS__LDNS__RData rdf;
+ DNS__LDNS__RData wildcard;
+ ALIAS:
+ matches_wildcard = 1
+
+signed char
+ldns_dname_is_subdomain(rdf, parent)
+ DNS__LDNS__RData rdf;
+ DNS__LDNS__RData parent;
+ ALIAS:
+ is_subdomain = 1
+
+DNS__LDNS__RData
+ldns_dname_left_chop(rdf)
+ DNS__LDNS__RData rdf
+ ALIAS:
+ left_chop = 1
+
+LDNS_Status
+ldns_dname_cat(rdata, otherrd)
+ DNS__LDNS__RData rdata;
+ DNS__LDNS__RData otherrd;
+ ALIAS:
+ _cat = 1
+
+int
+ldns_dname_compare(dname, otherdname)
+ DNS__LDNS__RData dname;
+ DNS__LDNS__RData otherdname;
+ ALIAS:
+ compare = 1
+
+LDNS_RR_Type
+ldns_rdf2rr_type(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ to_rr_type = 1
+
+DNS__LDNS__RData
+ldns_dname_reverse(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ dname_reverse = 1
+
+void
+ldns_dname2canonical(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ dname2canonical = 1
+
+time_t
+ldns_rdf2native_time_t(rdf)
+ DNS__LDNS__RData rdf;
+ ALIAS:
+ to_unix_time = 1
+ 2native_time_t = 2
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecZone
+
+PROTOTYPES: ENABLE
+
+DNS__LDNS__DNSSecZone
+ldns_dnssec_zone_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__DNSSecZone
+_new_from_file(fp, origin, ttl, c, s, line_nr)
+ FILE* fp;
+ DNS__LDNS__RData__Opt origin;
+ uint32_t ttl;
+ LDNS_RR_Class c;
+ LDNS_Status s;
+ int line_nr;
+ PREINIT:
+ ldns_dnssec_zone *z;
+ CODE:
+ RETVAL = NULL;
+#if LDNS_REVISION < ((1<<16)|(6<<8)|(13))
+ Perl_croak(aTHX_ "function ldns_dnssec_zone_new_frm_fp_l is not implemented in this version of ldns");
+#else
+ s = ldns_dnssec_zone_new_frm_fp_l(&z, fp, origin, ttl, c, &line_nr);
+#endif
+
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = z;
+ }
+
+ OUTPUT:
+ RETVAL
+ s
+ line_nr
+
+LDNS_Status
+create_from_zone(dnssec_zone, zone)
+ DNS__LDNS__DNSSecZone dnssec_zone;
+ DNS__LDNS__Zone zone;
+ PREINIT:
+ size_t i;
+ ldns_rr *cur_rr;
+ ldns_status status;
+ ldns_rr_list *failed_nsec3s;
+ ldns_rr_list *failed_nsec3_rrsigs;
+ ldns_status result = LDNS_STATUS_OK;
+ CODE:
+ failed_nsec3s = ldns_rr_list_new();
+ failed_nsec3_rrsigs = ldns_rr_list_new();
+
+ status = ldns_dnssec_zone_add_rr(dnssec_zone,
+ ldns_rr_clone(ldns_zone_soa(zone)));
+ if (result == LDNS_STATUS_OK) {
+ result = status;
+ }
+
+ for (i = 0; i < ldns_rr_list_rr_count(ldns_zone_rrs(zone)); i++) {
+ cur_rr = ldns_rr_list_rr(ldns_zone_rrs(zone), i);
+ status = ldns_dnssec_zone_add_rr(dnssec_zone,
+ ldns_rr_clone(cur_rr));
+ if (status != LDNS_STATUS_OK) {
+ if (LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND == status) {
+ if (ldns_rr_get_type(cur_rr) == LDNS_RR_TYPE_RRSIG
+ && ldns_rdf2rr_type(ldns_rr_rrsig_typecovered(cur_rr))
+ == LDNS_RR_TYPE_NSEC3) {
+ ldns_rr_list_push_rr(failed_nsec3_rrsigs, cur_rr);
+ } else {
+ ldns_rr_list_push_rr(failed_nsec3s, cur_rr);
+ }
+ }
+ if (result == LDNS_STATUS_OK) {
+ result = status;
+ }
+ }
+ }
+
+ if (ldns_rr_list_rr_count(failed_nsec3s) > 0) {
+ (void) ldns_dnssec_zone_add_empty_nonterminals(dnssec_zone);
+ for (i = 0; i < ldns_rr_list_rr_count(failed_nsec3s); i++) {
+ cur_rr = ldns_rr_list_rr(failed_nsec3s, i);
+ status = ldns_dnssec_zone_add_rr(dnssec_zone,
+ ldns_rr_clone(cur_rr));
+ if (result == LDNS_STATUS_OK) {
+ result = status;
+ }
+ }
+ for (i = 0; i < ldns_rr_list_rr_count(failed_nsec3_rrsigs); i++) {
+ cur_rr = ldns_rr_list_rr(failed_nsec3_rrsigs, i);
+ status = ldns_dnssec_zone_add_rr(dnssec_zone,
+ ldns_rr_clone(cur_rr));
+ if (result == LDNS_STATUS_OK) {
+ result = status;
+ }
+ }
+ }
+
+ ldns_rr_list_free(failed_nsec3_rrsigs);
+ ldns_rr_list_free(failed_nsec3s);
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+void
+print(zone, fp)
+ DNS__LDNS__DNSSecZone zone;
+ FILE* fp;
+ CODE:
+ ldns_dnssec_zone_print(fp, zone);
+
+LDNS_Status
+ldns_dnssec_zone_add_rr(zone, rr)
+ DNS__LDNS__DNSSecZone zone;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _add_rr = 1
+
+LDNS_Status
+ldns_dnssec_zone_add_empty_nonterminals(zone)
+ DNS__LDNS__DNSSecZone zone;
+ ALIAS:
+ _add_empty_nonterminals = 1
+
+LDNS_Status
+ldns_dnssec_zone_mark_glue(zone)
+ DNS__LDNS__DNSSecZone zone;
+ ALIAS:
+ _mark_glue = 1
+
+DNS__LDNS__DNSSecName
+_soa(zone)
+ DNS__LDNS__DNSSecZone zone;
+ CODE:
+ RETVAL = zone->soa;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RBTree
+_names(zone)
+ DNS__LDNS__DNSSecZone zone;
+ CODE:
+ RETVAL = zone->names;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecRRSets
+ldns_dnssec_zone_find_rrset(zone, rdf, type)
+ DNS__LDNS__DNSSecZone zone;
+ DNS__LDNS__RData rdf;
+ LDNS_RR_Type type;
+ ALIAS:
+ _find_rrset = 1
+
+LDNS_Status
+_sign(zone, key_list, policy, flags)
+ DNS__LDNS__DNSSecZone zone;
+ DNS__LDNS__KeyList key_list;
+ uint16_t policy;
+ int flags;
+ PREINIT:
+ ldns_rr_list * new_rrs;
+ CODE:
+ new_rrs = ldns_rr_list_new();
+ RETVAL = ldns_dnssec_zone_sign_flg(zone, new_rrs, key_list,
+ sign_policy, (void*)&policy, flags);
+ ldns_rr_list_free(new_rrs);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_sign_nsec3(zone, key_list, policy, algorithm, flags, iterations, salt, signflags)
+ DNS__LDNS__DNSSecZone zone;
+ DNS__LDNS__KeyList key_list;
+ uint16_t policy;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint16_t iterations;
+ char * salt;
+ int signflags;
+ PREINIT:
+ ldns_rr_list * new_rrs;
+ CODE:
+ new_rrs = ldns_rr_list_new();
+ RETVAL = ldns_dnssec_zone_sign_nsec3_flg(zone, new_rrs, key_list,
+ sign_policy, (void*)&policy, algorithm, flags, iterations,
+ strlen(salt), (uint8_t*)salt, signflags);
+ ldns_rr_list_free(new_rrs);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+create_nsecs(zone)
+ DNS__LDNS__DNSSecZone zone;
+ PREINIT:
+ ldns_rr_list * new_rrs;
+ CODE:
+ new_rrs = ldns_rr_list_new();
+ RETVAL = ldns_dnssec_zone_create_nsecs(zone, new_rrs);
+ ldns_rr_list_free(new_rrs);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+create_nsec3s(zone, algorithm, flags, iterations, salt)
+ DNS__LDNS__DNSSecZone zone;
+ uint8_t algorithm;
+ uint8_t flags;
+ uint8_t iterations;
+ char * salt;
+ PREINIT:
+ ldns_rr_list * new_rrs;
+ CODE:
+ new_rrs = ldns_rr_list_new();
+ RETVAL = ldns_dnssec_zone_create_nsec3s(zone, new_rrs, algorithm,
+ flags, iterations, strlen(salt), (uint8_t*)salt);
+ ldns_rr_list_free(new_rrs);
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+create_rrsigs(zone, key_list, policy, flags)
+ DNS__LDNS__DNSSecZone zone;
+ DNS__LDNS__KeyList key_list;
+ uint16_t policy;
+ int flags;
+ PREINIT:
+ ldns_rr_list * new_rrs;
+ CODE:
+ new_rrs = ldns_rr_list_new();
+ RETVAL = ldns_dnssec_zone_create_rrsigs_flg(zone, new_rrs, key_list,
+ sign_policy, (void*)&policy, flags);
+ ldns_rr_list_free(new_rrs);
+ OUTPUT:
+ RETVAL
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecRRSets
+
+DNS__LDNS__DNSSecRRs
+_rrs(rrsets)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ CODE:
+ RETVAL = rrsets->rrs;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecRRs
+_signatures(rrsets)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ CODE:
+ RETVAL = rrsets->signatures;
+ OUTPUT:
+ RETVAL
+
+bool
+ldns_dnssec_rrsets_contains_type(rrsets, type)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ LDNS_RR_Type type;
+ ALIAS:
+ contains_type = 1
+
+LDNS_RR_Type
+ldns_dnssec_rrsets_type(rrsets)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ ALIAS:
+ type = 1
+
+LDNS_Status
+ldns_dnssec_rrsets_set_type(rrsets, type)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ LDNS_RR_Type type;
+ ALIAS:
+ _set_type = 1
+
+DNS__LDNS__DNSSecRRSets
+_next(rrsets)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ CODE:
+ RETVAL = rrsets->next;
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+ldns_dnssec_rrsets_add_rr(rrsets, rr)
+ DNS__LDNS__DNSSecRRSets rrsets;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _add_rr = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecRRs
+
+DNS__LDNS__DNSSecRRs
+ldns_dnssec_rrs_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__RR
+_rr(rrs)
+ DNS__LDNS__DNSSecRRs rrs;
+ CODE:
+ RETVAL = rrs->rr;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecRRs
+_next(rrs)
+ DNS__LDNS__DNSSecRRs rrs;
+ CODE:
+ RETVAL = rrs->next;
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+ldns_dnssec_rrs_add_rr(rrs, rr)
+ DNS__LDNS__DNSSecRRs rrs;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _add_rr = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecName
+
+DNS__LDNS__DNSSecName
+ldns_dnssec_name_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__RData
+ldns_dnssec_name_name(name)
+ DNS__LDNS__DNSSecName name;
+ ALIAS:
+ _name = 1
+
+bool
+ldns_dnssec_name_is_glue(name)
+ DNS__LDNS__DNSSecName name;
+ ALIAS:
+ is_glue = 1
+
+DNS__LDNS__DNSSecRRSets
+_rrsets(name)
+ DNS__LDNS__DNSSecName name;
+ CODE:
+ RETVAL = name->rrsets;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RR
+_nsec(name)
+ DNS__LDNS__DNSSecName name;
+ CODE:
+ RETVAL = name->nsec;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RData
+_hashed_name(name)
+ DNS__LDNS__DNSSecName name;
+ CODE:
+ RETVAL = name->hashed_name;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecRRs
+_nsec_signatures(name)
+ DNS__LDNS__DNSSecName name;
+ CODE:
+ RETVAL = name->nsec_signatures;
+ OUTPUT:
+ RETVAL
+
+void
+ldns_dnssec_name_set_name(name, dname)
+ DNS__LDNS__DNSSecName name;
+ DNS__LDNS__RData dname;
+ ALIAS:
+ _set_name = 1
+
+void
+ldns_dnssec_name_set_nsec(name, nsec)
+ DNS__LDNS__DNSSecName name;
+ DNS__LDNS__RR nsec;
+ ALIAS:
+ _set_nsec = 1
+
+int
+ldns_dnssec_name_cmp(a, b)
+ DNS__LDNS__DNSSecName a;
+ DNS__LDNS__DNSSecName b;
+ ALIAS:
+ compare = 1
+
+LDNS_Status
+ldns_dnssec_name_add_rr(name, rr)
+ DNS__LDNS__DNSSecName name;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _add_rr = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::RBTree
+
+DNS__LDNS__RBNode
+ldns_rbtree_first(tree)
+ DNS__LDNS__RBTree tree;
+ ALIAS:
+ _first = 1
+
+DNS__LDNS__RBNode
+ldns_rbtree_last(tree)
+ DNS__LDNS__RBTree tree;
+ ALIAS:
+ _last = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::RBNode
+
+DNS__LDNS__RBNode
+ldns_rbtree_next(node)
+ DNS__LDNS__RBNode node;
+ ALIAS:
+ _next = 1
+
+DNS__LDNS__RBNode
+ldns_rbtree_previous(node)
+ DNS__LDNS__RBNode node;
+ ALIAS:
+ _previous = 1
+
+DNS__LDNS__RBNode
+ldns_dnssec_name_node_next_nonglue(node)
+ DNS__LDNS__RBNode node;
+ ALIAS:
+ _next_nonglue = 1
+
+bool
+is_null(node)
+ DNS__LDNS__RBNode node;
+ CODE:
+ RETVAL = (node == LDNS_RBTREE_NULL);
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecName
+_name(node)
+ DNS__LDNS__RBNode node;
+ CODE:
+ RETVAL = (ldns_dnssec_name*)node->data;
+ OUTPUT:
+ RETVAL
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::Resolver
+
+DNS__LDNS__Resolver
+_new_from_file(fp, s)
+ FILE* fp;
+ LDNS_Status s;
+ PREINIT:
+ ldns_resolver *r;
+ CODE:
+ RETVAL = NULL;
+ s = ldns_resolver_new_frm_fp(&r, fp);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = r;
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__Resolver
+ldns_resolver_new()
+ ALIAS:
+ _new = 1
+
+bool
+ldns_resolver_dnssec(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ dnssec = 1
+
+void
+ldns_resolver_set_dnssec(resolver, d)
+ DNS__LDNS__Resolver resolver;
+ bool d;
+ ALIAS:
+ set_dnssec = 1
+
+bool
+ldns_resolver_dnssec_cd(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ dnssec_cd = 1
+
+void
+ldns_resolver_set_dnssec_cd(resolver, d)
+ DNS__LDNS__Resolver resolver;
+ bool d;
+ ALIAS:
+ set_dnssec_cd = 1
+
+uint16_t
+ldns_resolver_port(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ port = 1
+
+void
+ldns_resolver_set_port(resolver, port)
+ DNS__LDNS__Resolver resolver;
+ uint16_t port;
+ ALIAS:
+ set_port = 1
+
+bool
+ldns_resolver_recursive(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ recursive = 1
+
+void
+ldns_resolver_set_recursive(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_recursive = 1
+
+bool
+ldns_resolver_debug(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ debug = 1
+
+void
+ldns_resolver_set_debug(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_debug = 1
+
+uint8_t
+ldns_resolver_retry(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ retry = 1
+
+void
+ldns_resolver_set_retry(resolver, re)
+ DNS__LDNS__Resolver resolver;
+ uint8_t re;
+ ALIAS:
+ set_retry = 1
+
+uint8_t
+ldns_resolver_retrans(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ retrans = 1
+
+void
+ldns_resolver_set_retrans(resolver, re)
+ DNS__LDNS__Resolver resolver;
+ uint8_t re;
+ ALIAS:
+ set_retrans = 1
+
+bool
+ldns_resolver_fallback(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ fallback = 1
+
+void
+ldns_resolver_set_fallback(resolver, f)
+ DNS__LDNS__Resolver resolver;
+ bool f;
+ ALIAS:
+ set_fallback = 1
+
+uint8_t
+ldns_resolver_ip6(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ ip6 = 1
+
+void
+ldns_resolver_set_ip6(resolver, i)
+ DNS__LDNS__Resolver resolver;
+ uint8_t i;
+ ALIAS:
+ set_ip6 = 1
+
+uint16_t
+ldns_resolver_edns_udp_size(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ edns_udp_size = 1
+
+void
+ldns_resolver_set_edns_udp_size(resolver, s)
+ DNS__LDNS__Resolver resolver;
+ uint16_t s;
+ ALIAS:
+ set_edns_udp_size = 1
+
+bool
+ldns_resolver_usevc(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ usevc = 1
+
+void
+ldns_resolver_set_usevc(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_usevc = 1
+
+bool
+ldns_resolver_fail(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ fail = 1
+
+void
+ldns_resolver_set_fail(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_fail = 1
+
+bool
+ldns_resolver_defnames(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ defnames = 1
+
+void
+ldns_resolver_set_defnames(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_defnames = 1
+
+bool
+ldns_resolver_dnsrch(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ dnsrch = 1
+
+void
+ldns_resolver_set_dnsrch(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_dnsrch = 1
+
+bool
+ldns_resolver_igntc(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ igntc = 1
+
+void
+ldns_resolver_set_igntc(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_igntc = 1
+
+bool
+ldns_resolver_random(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ random = 1
+
+void
+ldns_resolver_set_random(resolver, b)
+ DNS__LDNS__Resolver resolver;
+ bool b;
+ ALIAS:
+ set_random = 1
+
+bool
+ldns_resolver_trusted_key(resolver, keys, trusted_key)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RRList keys;
+ DNS__LDNS__RRList trusted_key;
+ ALIAS:
+ trusted_key = 1
+
+DNS__LDNS__RRList
+ldns_resolver_dnssec_anchors(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ _dnssec_anchors = 1
+
+void
+ldns_resolver_set_dnssec_anchors(resolver, list)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RRList list;
+ ALIAS:
+ _set_dnssec_anchors = 1
+
+void
+ldns_resolver_push_dnssec_anchor(resolver, rr)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _push_dnssec_anchor = 1
+
+DNS__LDNS__RData
+ldns_resolver_domain(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ _domain = 1
+
+void
+ldns_resolver_set_domain(resolver, rd)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData rd;
+ ALIAS:
+ _set_domain = 1
+
+AV *
+_nameservers(resolver)
+ DNS__LDNS__Resolver resolver;
+ PREINIT:
+ ldns_rdf** list;
+ AV * result;
+ int i;
+ SV * elem;
+ CODE:
+ result = (AV *)sv_2mortal((SV *)newAV());
+ list = ldns_resolver_nameservers(resolver);
+
+ /* FIXME: Make a typemap for this ? */
+ for (i = 0; i < ldns_resolver_nameserver_count(resolver); i++) {
+ elem = newSVpv(0, 0);
+ sv_setref_pv(elem, "LDNS::RData", list[i]);
+ av_push(result, elem);
+ }
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+size_t
+ldns_resolver_nameserver_count(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ nameserver_count = 1
+
+LDNS_Status
+ldns_resolver_push_nameserver(resolver, n)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData n;
+ ALIAS:
+ _push_nameserver = 1
+
+DNS__LDNS__RData
+ldns_resolver_pop_nameserver(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ _pop_nameserver = 1
+
+void
+ldns_resolver_nameservers_randomize(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ nameservers_randomize = 1
+
+char*
+ldns_resolver_tsig_keyname(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ tsig_keyname = 1
+
+void
+ldns_resolver_set_tsig_keyname(resolver, tsig_keyname)
+ DNS__LDNS__Resolver resolver;
+ char* tsig_keyname;
+ ALIAS:
+ set_tsig_keyname = 1
+
+char*
+ldns_resolver_tsig_algorithm(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ tsig_algorithm = 1
+
+void
+ldns_resolver_set_tsig_algorithm(resolver, tsig_algorithm)
+ DNS__LDNS__Resolver resolver;
+ char* tsig_algorithm;
+ ALIAS:
+ set_tsig_algorithm = 1
+
+char*
+ldns_resolver_tsig_keydata(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ tsig_keydata = 1
+
+void
+ldns_resolver_set_tsig_keydata(resolver, tsig_keydata)
+ DNS__LDNS__Resolver resolver;
+ char* tsig_keydata;
+ ALIAS:
+ set_tsig_keydata = 1
+
+size_t
+ldns_resolver_searchlist_count(resolver)
+ DNS__LDNS__Resolver resolver;
+ ALIAS:
+ searchlist_count = 1
+
+void
+ldns_resolver_push_searchlist(resolver, rd)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData rd;
+ ALIAS:
+ _push_searchlist = 1
+
+AV *
+_searchlist(resolver)
+ DNS__LDNS__Resolver resolver;
+ PREINIT:
+ ldns_rdf** list;
+ AV * result;
+ int i;
+ SV * elem;
+ CODE:
+ result = (AV *)sv_2mortal((SV *)newAV());
+ list = ldns_resolver_searchlist(resolver);
+
+ /* FIXME: Make a typemap for this ? */
+ for (i = 0; i < ldns_resolver_searchlist_count(resolver); i++) {
+ elem = newSVpv(0, 0);
+ sv_setref_pv(elem, "LDNS::RData", list[i]);
+ av_push(result, elem);
+ }
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+size_t
+ldns_resolver_nameserver_rtt(resolver, pos)
+ DNS__LDNS__Resolver resolver;
+ size_t pos;
+ ALIAS:
+ nameserver_rtt = 1
+
+void
+ldns_resolver_set_nameserver_rtt(resolver, pos, val)
+ DNS__LDNS__Resolver resolver;
+ size_t pos;
+ size_t val;
+ ALIAS:
+ set_nameserver_rtt = 1
+
+AV *
+_timeout(resolver)
+ DNS__LDNS__Resolver resolver;
+ PREINIT:
+ struct timeval t;
+ AV * result;
+ CODE:
+ t = ldns_resolver_timeout(resolver);
+ result = (AV *)sv_2mortal((SV *)newAV());
+ av_push(result, newSVuv(t.tv_sec));
+ av_push(result, newSVuv(t.tv_usec));
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+void
+set_timeout(resolver, sec, usec)
+ DNS__LDNS__Resolver resolver;
+ uint32_t sec;
+ uint32_t usec;
+ PREINIT:
+ struct timeval t;
+ CODE:
+ t.tv_sec = sec;
+ t.tv_usec = usec;
+ ldns_resolver_set_timeout(resolver, t);
+
+void
+_set_rtt(resolver, rtt)
+ DNS__LDNS__Resolver resolver;
+ AV * rtt;
+ PREINIT:
+ size_t *buff;
+ int i;
+ SV** elem;
+ CODE:
+ buff = malloc(sizeof(size_t)*(av_len(rtt)+1));
+ for (i = 0; i <= av_len(rtt); i++) {
+ elem = av_fetch(rtt, i, 0);
+ buff[i] = SvUV(*elem);
+ }
+ ldns_resolver_set_rtt(resolver, buff);
+
+AV *
+_rtt(resolver)
+ DNS__LDNS__Resolver resolver;
+ PREINIT:
+ int i;
+ size_t *rtt;
+ AV * result;
+ CODE:
+ result = (AV *)sv_2mortal((SV *)newAV());
+ rtt = ldns_resolver_rtt(resolver);
+
+ for (i = 0; i < ldns_resolver_nameserver_count(resolver); i++) {
+ av_push(result, newSVuv(rtt[i]));
+ }
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RRList
+ldns_validate_domain_ds(resolver, domain, keys)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ ALIAS:
+ validate_domain_ds = 1
+
+DNS__LDNS__RRList
+ldns_validate_domain_ds_time(resolver, domain, keys, check_time)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ time_t check_time;
+ ALIAS:
+ validate_domain_ds_time = 1
+
+DNS__LDNS__RRList
+ldns_validate_domain_dnskey(resolver, domain, keys)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ ALIAS:
+ validate_domain_dnskey = 1
+
+DNS__LDNS__RRList
+ldns_validate_domain_dnskey_time(resolver, domain, keys, check_time)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ time_t check_time;
+ ALIAS:
+ validate_domain_dnskey_time = 1
+
+LDNS_Status
+ldns_verify_trusted(resolver, rrset, rrsigs, validating_keys)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RRList rrsigs;
+ DNS__LDNS__RRList validating_keys;
+ ALIAS:
+ _verify_trusted = 1
+
+LDNS_Status
+ldns_verify_trusted_time(resolver, rrset, rrsigs, check_time, validating_keys)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RRList rrset;
+ DNS__LDNS__RRList rrsigs;
+ time_t check_time;
+ DNS__LDNS__RRList validating_keys;
+ ALIAS:
+ _verify_trusted_time = 1
+
+DNS__LDNS__RRList
+_fetch_valid_domain_keys(resolver, domain, keys, s)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__RRList trusted;
+ DNS__LDNS__RRList ret;
+ size_t i;
+ CODE:
+ RETVAL = NULL;
+ trusted = ldns_fetch_valid_domain_keys(resolver, domain, keys, &s);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = ldns_rr_list_clone(trusted);
+ ldns_rr_list_free(trusted);
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__RRList
+_fetch_valid_domain_keys_time(resolver, domain, keys, check_time, s)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData domain;
+ DNS__LDNS__RRList keys;
+ time_t check_time;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__RRList trusted;
+ DNS__LDNS__RRList ret;
+ size_t i;
+ CODE:
+ RETVAL = NULL;
+ trusted = ldns_fetch_valid_domain_keys_time(
+ resolver, domain, keys, check_time, &s);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = ldns_rr_list_clone(trusted);
+ ldns_rr_list_free(trusted);
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__Packet
+ldns_resolver_query(resolver, name, type, class, flags)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ ALIAS:
+ query = 1
+
+DNS__LDNS__Packet
+_send(resolver, name, type, class, flags, s)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__Packet packet;
+ CODE:
+ s = ldns_resolver_send(&packet, resolver, name, type, class, flags);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = packet;
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__Packet
+_send_pkt(resolver, packet, s)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__Packet packet;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__Packet answer;
+ CODE:
+ s = ldns_resolver_send_pkt(&answer, resolver, packet);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = answer;
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__Packet
+_prepare_query_pkt(resolver, name, type, class, flags, s)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ LDNS_Status s;
+ PREINIT:
+ DNS__LDNS__Packet packet;
+ CODE:
+ s = ldns_resolver_prepare_query_pkt(&packet, resolver, name, type, class, flags);
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = packet;
+ }
+ OUTPUT:
+ RETVAL
+ s
+
+DNS__LDNS__Packet
+ldns_resolver_search(resolver, name, type, class, flags)
+ DNS__LDNS__Resolver resolver;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ ALIAS:
+ search = 1
+
+DNS__LDNS__DNSSecDataChain
+build_data_chain(res, qflags, data_set, pkt, orig_rr)
+ DNS__LDNS__Resolver res;
+ uint16_t qflags;
+ DNS__LDNS__RRList data_set;
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RR__Opt orig_rr;
+ CODE:
+ RETVAL = ldns_dnssec_build_data_chain(res, qflags, data_set, pkt, orig_rr);
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RRList
+ldns_get_rr_list_addr_by_name(res, name, class, flags)
+ DNS__LDNS__Resolver res;
+ DNS__LDNS__RData name;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ ALIAS:
+ get_rr_list_addr_by_name = 1
+
+DNS__LDNS__RRList
+ldns_get_rr_list_name_by_addr(res, addr, class, flags)
+ DNS__LDNS__Resolver res;
+ DNS__LDNS__RData addr;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ ALIAS:
+ get_rr_list_addr_by_addr = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::Packet
+
+Mortal_PV
+ldns_pkt2str(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ to_string = 1
+
+DNS__LDNS__RRList
+ldns_pkt_question(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _question = 1
+
+void
+ldns_pkt_set_question(pkt, l)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RRList l;
+ ALIAS:
+ _set_question = 1
+
+DNS__LDNS__RRList
+ldns_pkt_answer(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _answer = 1
+
+void
+ldns_pkt_set_answer(pkt, l)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RRList l;
+ ALIAS:
+ _set_answer = 1
+
+DNS__LDNS__RRList
+ldns_pkt_authority(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _authority = 1
+
+void
+ldns_pkt_set_authority(pkt, l)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RRList l;
+ ALIAS:
+ _set_authority = 1
+
+DNS__LDNS__RRList
+ldns_pkt_additional(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _additional = 1
+
+void
+ldns_pkt_set_additional(pkt, l)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RRList l;
+ ALIAS:
+ _set_additional = 1
+
+DNS__LDNS__RRList
+ldns_pkt_all(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ all = 1
+
+DNS__LDNS__RRList
+ldns_pkt_all_noquestion(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ all_noquestion = 1
+
+signed char
+ldns_pkt_qr(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ qr = 1
+
+void
+ldns_pkt_set_qr(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_qr = 1
+
+signed char
+ldns_pkt_aa(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ aa = 1
+
+void
+ldns_pkt_set_aa(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_aa = 1
+
+signed char
+ldns_pkt_tc(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ tc = 1
+
+void
+ldns_pkt_set_tc(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_tc = 1
+
+signed char
+ldns_pkt_rd(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ rd = 1
+
+void
+ldns_pkt_set_rd(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_rd = 1
+
+bool
+ldns_pkt_cd(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ cd = 1
+
+void
+ldns_pkt_set_cd(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_cd = 1
+
+signed char
+ldns_pkt_ra(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ ra = 1
+
+void
+ldns_pkt_set_ra(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_ra = 1
+
+signed char
+ldns_pkt_ad(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ ad = 1
+
+void
+ldns_pkt_set_ad(pkt, b)
+ DNS__LDNS__Packet pkt;
+ signed char b;
+ ALIAS:
+ set_ad = 1
+
+uint16_t
+ldns_pkt_id(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ id = 1
+
+void
+ldns_pkt_set_id(pkt, id)
+ DNS__LDNS__Packet pkt;
+ uint16_t id;
+ ALIAS:
+ set_id = 1
+
+void
+ldns_pkt_set_random_id(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ set_random_id = 1
+
+uint16_t
+ldns_pkt_qdcount(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ qdcount = 1
+
+uint16_t
+ldns_pkt_ancount(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ ancount = 1
+
+uint16_t
+ldns_pkt_nscount(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ nscount = 1
+
+uint16_t
+ldns_pkt_arcount(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ arcount = 1
+
+LDNS_Pkt_Opcode
+ldns_pkt_get_opcode(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ opcode = 1
+
+void
+ldns_pkt_set_opcode(pkt, c)
+ DNS__LDNS__Packet pkt;
+ LDNS_Pkt_Opcode c;
+ ALIAS:
+ set_opcode = 1
+
+uint8_t
+ldns_pkt_get_rcode(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ rcode = 1
+
+void
+ldns_pkt_set_rcode(pkt, r)
+ DNS__LDNS__Packet pkt;
+ uint8_t r;
+ ALIAS:
+ set_rcode = 1
+
+size_t
+ldns_pkt_size(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ size = 1
+
+uint32_t
+ldns_pkt_querytime(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ querytime = 1
+
+void
+ldns_pkt_set_querytime(pkt, t)
+ DNS__LDNS__Packet pkt;
+ uint32_t t;
+ ALIAS:
+ set_querytime = 1
+
+DNS__LDNS__RData
+ldns_pkt_answerfrom(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _answerfrom = 1
+
+AV *
+_timestamp(pkt)
+ DNS__LDNS__Packet pkt;
+ PREINIT:
+ struct timeval t;
+ AV * result;
+ CODE:
+ t = ldns_pkt_timestamp(pkt);
+ result = (AV *)sv_2mortal((SV *)newAV());
+ av_push(result, newSVuv(t.tv_sec));
+ av_push(result, newSVuv(t.tv_usec));
+ RETVAL = result;
+ OUTPUT:
+ RETVAL
+
+void
+set_timestamp(pkt, sec, usec)
+ DNS__LDNS__Packet pkt;
+ uint32_t sec;
+ uint32_t usec;
+ PREINIT:
+ struct timeval t;
+ CODE:
+ t.tv_sec = sec;
+ t.tv_usec = usec;
+ ldns_pkt_set_timestamp(pkt, t);
+
+void
+ldns_pkt_set_answerfrom(pkt, a)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RData a;
+ ALIAS:
+ _set_answerfrom = 1
+
+bool
+ldns_pkt_set_flags(pkt, f)
+ DNS__LDNS__Packet pkt;
+ uint16_t f;
+ ALIAS:
+ set_flags = 1
+
+DNS__LDNS__RRList
+ldns_pkt_rr_list_by_name(pkt, name, sec)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RData name;
+ LDNS_Pkt_Section sec;
+ ALIAS:
+ rr_list_by_name = 1
+
+DNS__LDNS__RRList
+ldns_pkt_rr_list_by_type(pkt, type, sec)
+ DNS__LDNS__Packet pkt;
+ LDNS_RR_Type type;
+ LDNS_Pkt_Section sec;
+ ALIAS:
+ rr_list_by_type = 1
+
+DNS__LDNS__RRList
+ldns_pkt_rr_list_by_name_and_type(pkt, name, type, sec)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_Pkt_Section sec;
+ ALIAS:
+ rr_list_by_name_and_type = 1
+
+bool
+ldns_pkt_rr(pkt, sec, rr)
+ DNS__LDNS__Packet pkt;
+ LDNS_Pkt_Section sec;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ rr = 1
+
+bool
+ldns_pkt_push_rr(pkt, sec, rr)
+ DNS__LDNS__Packet pkt;
+ LDNS_Pkt_Section sec;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _push_rr = 1
+
+bool
+ldns_pkt_safe_push_rr(pkt, sec, rr)
+ DNS__LDNS__Packet pkt;
+ LDNS_Pkt_Section sec;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _safe_push_rr = 1
+
+uint16_t
+ldns_pkt_section_count(pkt, sec)
+ DNS__LDNS__Packet pkt;
+ LDNS_Pkt_Section sec;
+ ALIAS:
+ section_count = 1
+
+signed char
+ldns_pkt_empty(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ empty = 1
+
+DNS__LDNS__RR
+ldns_pkt_tsig(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _tsig = 1
+
+void
+ldns_pkt_set_tsig(pkt, rr)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _set_tsig = 1
+
+DNS__LDNS__Packet
+ldns_pkt_clone(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ clone = 1
+
+LDNS_Pkt_Type
+ldns_pkt_reply_type(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ reply_type = 1
+
+DNS__LDNS__Packet
+ldns_pkt_new()
+ ALIAS:
+ _new = 1
+
+DNS__LDNS__Packet
+ldns_pkt_query_new(name, type, class, flags)
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ LDNS_RR_Class class;
+ uint16_t flags;
+ ALIAS:
+ _query_new = 1
+
+DNS__LDNS__RRList
+ldns_dnssec_pkt_get_rrsigs_for_name_and_type(pkt, name, type)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RData name;
+ LDNS_RR_Type type;
+ ALIAS:
+ get_rrsigs_for_name_and_type = 1
+
+DNS__LDNS__RRList
+ldns_dnssec_pkt_get_rrsigs_for_type(pkt, type)
+ DNS__LDNS__Packet pkt;
+ LDNS_RR_Type type;
+ ALIAS:
+ get_rrsigs_for_type = 1
+
+uint16_t
+ldns_pkt_edns_udp_size(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns_udp_size = 1
+
+void
+ldns_pkt_set_edns_udp_size(pkt, s)
+ DNS__LDNS__Packet pkt;
+ uint16_t s;
+ ALIAS:
+ set_edns_udp_size = 1
+
+uint8_t
+ldns_pkt_edns_extended_rcode(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns_extended_rcode = 1
+
+void
+ldns_pkt_set_edns_extended_rcode(pkt, c)
+ DNS__LDNS__Packet pkt;
+ uint8_t c;
+ ALIAS:
+ set_edns_extended_rcode = 1
+
+uint8_t
+ldns_pkt_edns_version(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns_version = 1
+
+void
+ldns_pkt_set_edns_version(pkt, v)
+ DNS__LDNS__Packet pkt;
+ uint8_t v;
+ ALIAS:
+ set_edns_version = 1
+
+uint16_t
+ldns_pkt_edns_z(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns_z = 1
+
+void
+ldns_pkt_set_edns_z(pkt, z)
+ DNS__LDNS__Packet pkt;
+ uint16_t z;
+ ALIAS:
+ set_edns_z = 1
+
+signed char
+ldns_pkt_edns_do(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns_do = 1
+
+DNS__LDNS__RData
+ldns_pkt_edns_data(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ _edns_data = 1
+
+void
+ldns_pkt_set_edns_data(pkt, data)
+ DNS__LDNS__Packet pkt;
+ DNS__LDNS__RData data;
+ ALIAS:
+ _set_edns_data = 1
+
+void
+ldns_pkt_set_edns_do(pkt, val)
+ DNS__LDNS__Packet pkt;
+ signed char val;
+ ALIAS:
+ set_edns_do = 1
+
+bool
+ldns_pkt_edns(pkt)
+ DNS__LDNS__Packet pkt;
+ ALIAS:
+ edns = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::Key
+
+DNS__LDNS__Key
+_new_from_file(fp, line_nr, s)
+ FILE* fp;
+ int line_nr;
+ LDNS_Status s;
+ PREINIT:
+ ldns_key *key;
+ CODE:
+ RETVAL = NULL;
+ s = ldns_key_new_frm_fp_l(&key, fp, &line_nr);
+
+ if (s == LDNS_STATUS_OK) {
+ RETVAL = key;
+ }
+ OUTPUT:
+ RETVAL
+ s
+ line_nr
+
+DNS__LDNS__Key
+ldns_key_new()
+ ALIAS:
+ _new = 1
+
+void
+print(key, fp)
+ DNS__LDNS__Key key;
+ FILE* fp;
+ CODE:
+ ldns_key_print(fp, key);
+
+Mortal_PV
+ldns_key2str(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ to_string = 1
+
+void
+ldns_key_set_algorithm(key, algorithm)
+ DNS__LDNS__Key key;
+ LDNS_Signing_Algorithm algorithm;
+ ALIAS:
+ set_algorithm = 1
+
+LDNS_Signing_Algorithm
+ldns_key_algorithm(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ algorithm = 1
+
+void
+ldns_key_set_flags(key, flags)
+ DNS__LDNS__Key key;
+ uint16_t flags;
+ ALIAS:
+ set_flags = 1
+
+uint16_t
+ldns_key_flags(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ flags = 1
+
+void
+ldns_key_set_hmac_key(key, hmac)
+ DNS__LDNS__Key key;
+ unsigned char* hmac;
+ ALIAS:
+ set_hmac_key = 1
+
+unsigned char *
+ldns_key_hmac_key(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ hmac_key = 1
+
+void
+ldns_key_set_hmac_size(key, size)
+ DNS__LDNS__Key key;
+ size_t size;
+ ALIAS:
+ set_hmac_size = 1
+
+size_t
+ldns_key_hmac_size(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ hmac_size = 1
+
+void
+ldns_key_set_origttl(key, t)
+ DNS__LDNS__Key key;
+ uint32_t t;
+ ALIAS:
+ set_origttl = 1
+
+uint32_t
+ldns_key_origttl(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ origttl = 1
+
+void
+ldns_key_set_inception(key, i)
+ DNS__LDNS__Key key;
+ uint32_t i;
+ ALIAS:
+ set_inception = 1
+
+uint32_t
+ldns_key_inception(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ inception = 1
+
+void
+ldns_key_set_expiration(key, e)
+ DNS__LDNS__Key key;
+ uint32_t e;
+ ALIAS:
+ set_expiration = 1
+
+uint32_t
+ldns_key_expiration(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ expiration = 1
+
+void
+ldns_key_set_pubkey_owner(key, r)
+ DNS__LDNS__Key key;
+ DNS__LDNS__RData r;
+ ALIAS:
+ _set_pubkey_owner = 1
+
+DNS__LDNS__RData
+ldns_key_pubkey_owner(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ _pubkey_owner = 1
+
+void
+ldns_key_set_keytag(key, tag)
+ DNS__LDNS__Key key;
+ uint16_t tag;
+ ALIAS:
+ set_keytag = 1
+
+uint16_t
+ldns_key_keytag(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ keytag = 1
+
+void
+ldns_key_set_use(key, v)
+ DNS__LDNS__Key key;
+ signed char v;
+ ALIAS:
+ set_use = 1
+
+signed char
+ldns_key_use(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ use = 1
+
+char *
+ldns_key_get_file_base_name(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ get_file_base_name = 1
+
+DNS__LDNS__RR
+ldns_key2rr(key)
+ DNS__LDNS__Key key;
+ ALIAS:
+ to_rr = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::KeyList
+
+DNS__LDNS__KeyList
+ldns_key_list_new()
+ ALIAS:
+ _new = 1
+
+void
+ldns_key_list_set_use(keys, v)
+ DNS__LDNS__KeyList keys;
+ bool v;
+ ALIAS:
+ set_use = 1
+
+DNS__LDNS__Key
+ldns_key_list_pop_key(keylist)
+ DNS__LDNS__KeyList keylist;
+ ALIAS:
+ pop = 1
+
+void
+ldns_key_list_push_key(keylist, key)
+ DNS__LDNS__KeyList keylist;
+ DNS__LDNS__Key key;
+ ALIAS:
+ _push = 1
+
+size_t
+ldns_key_list_key_count(keylist)
+ DNS__LDNS__KeyList keylist;
+ ALIAS:
+ count = 1
+
+DNS__LDNS__Key
+ldns_key_list_key(keylist, nr)
+ DNS__LDNS__KeyList keylist;
+ size_t nr;
+ ALIAS:
+ _key = 1
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecDataChain
+
+DNS__LDNS__DNSSecDataChain
+ldns_dnssec_data_chain_new()
+ ALIAS:
+ _new = 1
+
+void
+print(chain, fp)
+ DNS__LDNS__DNSSecDataChain chain;
+ FILE* fp;
+ CODE:
+ ldns_dnssec_data_chain_print(fp, chain);
+
+DNS__LDNS__DNSSecTrustTree
+ldns_dnssec_derive_trust_tree(chain, rr)
+ DNS__LDNS__DNSSecDataChain chain;
+ DNS__LDNS__RR rr;
+ ALIAS:
+ _derive_trust_tree = 1
+
+DNS__LDNS__DNSSecTrustTree
+ldns_dnssec_derive_trust_tree_time(chain, rr, check_time)
+ DNS__LDNS__DNSSecDataChain chain;
+ DNS__LDNS__RR rr;
+ time_t check_time;
+ ALIAS:
+ _derive_trust_tree_time = 1
+
+DNS__LDNS__RRList
+_rrset(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->rrset;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RRList
+_signatures(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->signatures;
+ OUTPUT:
+ RETVAL
+
+LDNS_RR_Type
+parent_type(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->parent_type;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecDataChain
+_parent(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->parent;
+ OUTPUT:
+ RETVAL
+
+LDNS_Pkt_Rcode
+packet_rcode(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->packet_rcode;
+ OUTPUT:
+ RETVAL
+
+LDNS_RR_Type
+packet_qtype(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->packet_qtype;
+ OUTPUT:
+ RETVAL
+
+signed char
+packet_nodata(chain)
+ DNS__LDNS__DNSSecDataChain chain;
+ CODE:
+ RETVAL = chain->packet_nodata;
+ OUTPUT:
+ RETVAL
+
+
+MODULE = DNS::LDNS PACKAGE = DNS::LDNS::DNSSecTrustTree
+
+DNS__LDNS__DNSSecTrustTree
+ldns_dnssec_trust_tree_new()
+ ALIAS:
+ _new = 1
+
+void
+print(tree, fp, tabs, extended)
+ DNS__LDNS__DNSSecTrustTree tree;
+ FILE* fp;
+ size_t tabs;
+ bool extended;
+ CODE:
+ ldns_dnssec_trust_tree_print(fp, tree, tabs, extended);
+
+size_t
+ldns_dnssec_trust_tree_depth(tree)
+ DNS__LDNS__DNSSecTrustTree tree;
+ ALIAS:
+ depth = 1
+
+LDNS_Status
+ldns_dnssec_trust_tree_add_parent(tree, parent, signature, parent_status)
+ DNS__LDNS__DNSSecTrustTree tree;
+ DNS__LDNS__DNSSecTrustTree parent;
+ DNS__LDNS__RR signature;
+ LDNS_Status parent_status;
+ ALIAS:
+ _add_parent = 1
+
+LDNS_Status
+ldns_dnssec_trust_tree_contains_keys(tree, trusted_keys)
+ DNS__LDNS__DNSSecTrustTree tree;
+ DNS__LDNS__RRList trusted_keys;
+ ALIAS:
+ _contains_keys = 1
+
+DNS__LDNS__RR
+_rr(tree)
+ DNS__LDNS__DNSSecTrustTree tree;
+ CODE:
+ RETVAL = tree->rr;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RRList
+_rrset(tree)
+ DNS__LDNS__DNSSecTrustTree tree;
+ CODE:
+ RETVAL = tree->rrset;
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__DNSSecTrustTree
+_parent(tree, i)
+ DNS__LDNS__DNSSecTrustTree tree;
+ size_t i;
+ CODE:
+ RETVAL = tree->parents[i];
+ OUTPUT:
+ RETVAL
+
+LDNS_Status
+_parent_status(tree, i)
+ DNS__LDNS__DNSSecTrustTree tree;
+ size_t i;
+ CODE:
+ RETVAL = tree->parent_status[i];
+ OUTPUT:
+ RETVAL
+
+DNS__LDNS__RR
+_parent_signature(tree, i)
+ DNS__LDNS__DNSSecTrustTree tree;
+ size_t i;
+ CODE:
+ RETVAL = tree->parent_signature[i];
+ OUTPUT:
+ RETVAL
+
+size_t
+parent_count(tree)
+ DNS__LDNS__DNSSecTrustTree tree;
+ CODE:
+ RETVAL = tree->parent_count;
+ OUTPUT:
+ RETVAL
diff --git a/contrib/DNS-LDNS/MANIFEST b/contrib/DNS-LDNS/MANIFEST
new file mode 100644
index 000000000000..decbaa0d6c07
--- /dev/null
+++ b/contrib/DNS-LDNS/MANIFEST
@@ -0,0 +1,41 @@
+Changes
+const-c.inc
+const-xs.inc
+fallback/const-c.inc
+fallback/const-xs.inc
+LDNS.xs
+lib/DNS/LDNS.pm
+lib/DNS/LDNS/DNSSecDataChain.pm
+lib/DNS/LDNS/DNSSecName.pm
+lib/DNS/LDNS/DNSSecRRs.pm
+lib/DNS/LDNS/DNSSecRRSets.pm
+lib/DNS/LDNS/DNSSecTrustTree.pm
+lib/DNS/LDNS/DNSSecZone.pm
+lib/DNS/LDNS/GC.pm
+lib/DNS/LDNS/Key.pm
+lib/DNS/LDNS/KeyList.pm
+lib/DNS/LDNS/Packet.pm
+lib/DNS/LDNS/RBNode.pm
+lib/DNS/LDNS/RBTree.pm
+lib/DNS/LDNS/RData.pm
+lib/DNS/LDNS/Resolver.pm
+lib/DNS/LDNS/RR.pm
+lib/DNS/LDNS/RRList.pm
+lib/DNS/LDNS/Zone.pm
+Makefile.PL
+MANIFEST
+ppport.h
+README
+t/dnssec_datachain.t
+t/dnssec_zone.t
+t/key.t
+t/DNS-LDNS.t
+t/rdata.t
+t/resolver.t
+t/rr.t
+t/rrlist.t
+t/testdata/key.private
+t/testdata/myzone.org
+t/testdata/resolv.conf
+t/zone.t
+typemap
diff --git a/contrib/DNS-LDNS/Makefile.PL b/contrib/DNS-LDNS/Makefile.PL
new file mode 100755
index 000000000000..2ee291ddb765
--- /dev/null
+++ b/contrib/DNS-LDNS/Makefile.PL
@@ -0,0 +1,306 @@
+use 5.014002;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+ NAME => 'DNS::LDNS',
+ VERSION_FROM => 'lib/DNS/LDNS.pm', # finds $VERSION
+ PREREQ_PM => {}, # e.g., Module::Name => 1.1
+ ($] >= 5.005 ? ## Add these new keywords supported since 5.005
+ (ABSTRACT_FROM => 'lib/DNS/LDNS.pm', # retrieve abstract from module
+ AUTHOR => 'Erik Pihl Ostlyngen <erik.ostlyngen@uninett.no>') : ()),
+ LIBS => ['-lldns'],
+ DEFINE => '',
+ INC => '-I.',
+ # Un-comment this if you add C files to link with later:
+ # OBJECT => '$(O_FILES)', # link all the C files too
+);
+if (eval {require ExtUtils::Constant; 1}) {
+ # If you edit these definitions to change the constants used by this module,
+ # you will need to use the generated const-c.inc and const-xs.inc
+ # files to replace their "fallback" counterparts before distributing your
+ # changes.
+ my @names = (qw(LDNS_AA LDNS_AD LDNS_CD LDNS_DEFAULT_EXP_TIME
+ LDNS_DEFAULT_TTL LDNS_DNSSEC_KEYPROTO LDNS_IP4ADDRLEN
+ LDNS_IP6ADDRLEN LDNS_KEY_REVOKE_KEY LDNS_KEY_SEP_KEY
+ LDNS_KEY_ZONE_KEY LDNS_MAX_DOMAINLEN LDNS_MAX_KEYLEN
+ LDNS_MAX_LABELLEN LDNS_MAX_PACKETLEN LDNS_MAX_POINTERS
+ LDNS_MAX_RDFLEN LDNS_NSEC3_MAX_ITERATIONS
+ LDNS_NSEC3_VARS_OPTOUT_MASK LDNS_PORT LDNS_QR LDNS_RA LDNS_RD
+ LDNS_RDATA_FIELD_DESCRIPTORS_COMMON LDNS_RDF_SIZE_16BYTES
+ LDNS_RDF_SIZE_6BYTES LDNS_RDF_SIZE_BYTE
+ LDNS_RDF_SIZE_DOUBLEWORD LDNS_RDF_SIZE_WORD LDNS_RESOLV_ANCHOR
+ LDNS_RESOLV_DEFDOMAIN LDNS_RESOLV_INET LDNS_RESOLV_INET6
+ LDNS_RESOLV_INETANY LDNS_RESOLV_KEYWORD LDNS_RESOLV_KEYWORDS
+ LDNS_RESOLV_NAMESERVER LDNS_RESOLV_OPTIONS LDNS_RESOLV_RTT_INF
+ LDNS_RESOLV_RTT_MIN LDNS_RESOLV_SEARCH LDNS_RESOLV_SORTLIST
+ LDNS_RR_OVERHEAD LDNS_SIGNATURE_LEAVE_ADD_NEW
+ LDNS_SIGNATURE_LEAVE_NO_ADD LDNS_SIGNATURE_REMOVE_ADD_NEW
+ LDNS_SIGNATURE_REMOVE_NO_ADD LDNS_TC),
+ {name=>"LDNS_CERT_ACPKIX", macro=>"1"},
+ {name=>"LDNS_CERT_IACPKIX", macro=>"1"},
+ {name=>"LDNS_CERT_IPGP", macro=>"1"},
+ {name=>"LDNS_CERT_IPKIX", macro=>"1"},
+ {name=>"LDNS_CERT_ISPKI", macro=>"1"},
+ {name=>"LDNS_CERT_OID", macro=>"1"},
+ {name=>"LDNS_CERT_PGP", macro=>"1"},
+ {name=>"LDNS_CERT_PKIX", macro=>"1"},
+ {name=>"LDNS_CERT_SPKI", macro=>"1"},
+ {name=>"LDNS_CERT_URI", macro=>"1"},
+ {name=>"LDNS_DH", macro=>"1"},
+ {name=>"LDNS_DSA", macro=>"1"},
+ {name=>"LDNS_DSA_NSEC3", macro=>"1"},
+ {name=>"LDNS_ECC", macro=>"1"},
+ {name=>"LDNS_ECC_GOST", macro=>"1"},
+ {name=>"LDNS_HASH_GOST", macro=>"1"},
+ {name=>"LDNS_PACKET_ANSWER", macro=>"1"},
+ {name=>"LDNS_PACKET_IQUERY", macro=>"1"},
+ {name=>"LDNS_PACKET_NODATA", macro=>"1"},
+ {name=>"LDNS_PACKET_NOTIFY", macro=>"1"},
+ {name=>"LDNS_PACKET_NXDOMAIN", macro=>"1"},
+ {name=>"LDNS_PACKET_QUERY", macro=>"1"},
+ {name=>"LDNS_PACKET_QUESTION", macro=>"1"},
+ {name=>"LDNS_PACKET_REFERRAL", macro=>"1"},
+ {name=>"LDNS_PACKET_STATUS", macro=>"1"},
+ {name=>"LDNS_PACKET_UNKNOWN", macro=>"1"},
+ {name=>"LDNS_PACKET_UPDATE", macro=>"1"},
+ {name=>"LDNS_PRIVATEDNS", macro=>"1"},
+ {name=>"LDNS_PRIVATEOID", macro=>"1"},
+ {name=>"LDNS_RCODE_FORMERR", macro=>"1"},
+ {name=>"LDNS_RCODE_NOERROR", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTAUTH", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTIMPL", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTZONE", macro=>"1"},
+ {name=>"LDNS_RCODE_NXDOMAIN", macro=>"1"},
+ {name=>"LDNS_RCODE_NXRRSET", macro=>"1"},
+ {name=>"LDNS_RCODE_REFUSED", macro=>"1"},
+ {name=>"LDNS_RCODE_SERVFAIL", macro=>"1"},
+ {name=>"LDNS_RCODE_YXDOMAIN", macro=>"1"},
+ {name=>"LDNS_RCODE_YXRRSET", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_A", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_AAAA", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_ALG", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_APL", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_ATMA", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_B32_EXT", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_B64", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_CERT_ALG", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_CLASS", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_DNAME", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_HEX", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT16", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT16_DATA", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT32", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT8", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_IPSECKEY", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_LOC", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NONE", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSAP", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC3_NEXT_OWNER", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC3_SALT", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_PERIOD", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_SERVICE", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_STR", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TIME", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_HIP", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TSIGTIME", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TYPE", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_UNKNOWN", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_WKS", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_ANY", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_CH", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_COUNT", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_FIRST", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_HS", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_IN", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_LAST", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_NONE", macro=>"1"},
+ {name=>"LDNS_RR_COMPRESS", macro=>"1"},
+ {name=>"LDNS_RR_NO_COMPRESS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_A", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_A6", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AAAA", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AFSDB", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ANY", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_APL", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ATMA", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AXFR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_CERT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_CNAME", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_COUNT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DHCID", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DLV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DNAME", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DNSKEY", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_EID", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_FIRST", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_GID", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_GPOS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_HINFO", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_IPSECKEY", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ISDN", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_IXFR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_KEY", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_KX", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_LAST", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_LOC", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MAILA", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MAILB", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MB", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MD", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MF", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MG", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MINFO", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MX", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NAPTR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NIMLOC", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSAP", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSAP_PTR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3PARAM", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3PARAMS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NULL", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NXT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_OPT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_PTR", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_PX", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RP", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RRSIG", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SIG", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SINK", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SOA", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SPF", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SRV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SSHFP", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TALINK", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TSIG", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TXT", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UID", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UINFO", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UNSPEC", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_WKS", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_X25", macro=>"1"},
+ {name=>"LDNS_RSAMD5", macro=>"1"},
+ {name=>"LDNS_RSASHA1", macro=>"1"},
+ {name=>"LDNS_RSASHA1_NSEC3", macro=>"1"},
+ {name=>"LDNS_RSASHA256", macro=>"1"},
+ {name=>"LDNS_RSASHA512", macro=>"1"},
+ {name=>"LDNS_SECTION_ADDITIONAL", macro=>"1"},
+ {name=>"LDNS_SECTION_ANSWER", macro=>"1"},
+ {name=>"LDNS_SECTION_ANY", macro=>"1"},
+ {name=>"LDNS_SECTION_ANY_NOQUESTION", macro=>"1"},
+ {name=>"LDNS_SECTION_AUTHORITY", macro=>"1"},
+ {name=>"LDNS_SECTION_QUESTION", macro=>"1"},
+ {name=>"LDNS_SHA1", macro=>"1"},
+ {name=>"LDNS_SHA256", macro=>"1"},
+ {name=>"LDNS_SIGN_DSA", macro=>"1"},
+ {name=>"LDNS_SIGN_DSA_NSEC3", macro=>"1"},
+ {name=>"LDNS_SIGN_ECC_GOST", macro=>"1"},
+ {name=>"LDNS_SIGN_HMACSHA1", macro=>"1"},
+ {name=>"LDNS_SIGN_HMACSHA256", macro=>"1"},
+ {name=>"LDNS_SIGN_RSAMD5", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA1", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA1_NSEC3", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA256", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA512", macro=>"1"},
+ {name=>"LDNS_STATUS_ADDRESS_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_CERT_BAD_ALGORITHM", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_BOGUS", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_DNSKEY", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_DS", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_RRSIG", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_TRUSTED_DS", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_SIG_EXPIRED", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TSIG_BOGUS", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TSIG_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_UNKNOWN_ALGO", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_VALIDATED", macro=>"1"},
+ {name=>"LDNS_STATUS_DDD_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_EXISTENCE_DENIED", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED", macro=>"1"},
+ {name=>"LDNS_STATUS_DOMAINNAME_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_DOMAINNAME_UNDERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_EMPTY_LABEL", macro=>"1"},
+ {name=>"LDNS_STATUS_ENGINE_KEY_NOT_LOADED", macro=>"1"},
+ {name=>"LDNS_STATUS_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_FILE_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_INTERNAL_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_B32_EXT", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_B64", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_HEX", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_INT", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_IP4", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_IP6", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_POINTER", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_STR", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_TIME", macro=>"1"},
+ {name=>"LDNS_STATUS_LABEL_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_MEM_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_MISSING_RDATA_FIELDS_KEY", macro=>"1"},
+ {name=>"LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG", macro=>"1"},
+ {name=>"LDNS_STATUS_NETWORK_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_NOT_IMPL", macro=>"1"},
+ {name=>"LDNS_STATUS_NO_DATA", macro=>"1"},
+ {name=>"LDNS_STATUS_NSEC3_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_NULL", macro=>"1"},
+ {name=>"LDNS_STATUS_OK", macro=>"1"},
+ {name=>"LDNS_STATUS_PACKET_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_RES_NO_NS", macro=>"1"},
+ {name=>"LDNS_STATUS_RES_QUERY", macro=>"1"},
+ {name=>"LDNS_STATUS_SOCKET_ERROR", macro=>"1"},
+ {name=>"LDNS_STATUS_SSL_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ALG_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_BAD_ESCAPE", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_CLASS_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_DNAME_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_EMPTY", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INCLUDE", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_KEYWORD_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ORIGIN", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_RDATA_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TTL", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TTL_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TYPE_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_VERSION_ERR", macro=>"1"},
+ {name=>"LDNS_STATUS_UNKNOWN_INET", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_ANSWER", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_HEADER", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_QUESTION", macro=>"1"});
+ ExtUtils::Constant::WriteConstants(
+ NAME => 'LDNS',
+ NAMES => \@names,
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c.inc',
+ XS_FILE => 'const-xs.inc',
+ );
+
+}
+else {
+ use File::Copy;
+ use File::Spec;
+ foreach my $file ('const-c.inc', 'const-xs.inc') {
+ my $fallback = File::Spec->catfile('fallback', $file);
+ copy ($fallback, $file) or die "Can't copy $fallback to $file: $!";
+ }
+}
diff --git a/contrib/DNS-LDNS/README b/contrib/DNS-LDNS/README
new file mode 100644
index 000000000000..9f6830323655
--- /dev/null
+++ b/contrib/DNS-LDNS/README
@@ -0,0 +1,36 @@
+DNS::LDNS version 0.06
+======================
+
+DESCRIPTION
+
+DNS::LDNS is a perl OO-wrapper for the ldns library. For a detailed
+description on how this library works, you are advised to read the ldns
+documentation. For a functional description of the wrapper classes,
+please read the perldoc for DNS::LDNS and subclasses.
+
+INSTALLATION
+
+To install this module type the following:
+
+ perl Makefile.PL
+ make
+ make test
+ make install
+
+DEPENDENCIES
+
+This module requires these other modules and libraries:
+
+ ldns
+
+AUTHOR
+
+Erik Pihl Ostlyngen, erik.ostlyngen@uninett.no
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2013 by UNINETT Norid AS
+
+This library is free software; you can redistribute it and/or modify
+it under the same terms as Perl itself, either Perl version 5.8.8 or,
+at your option, any later version of Perl 5 you may have available.
diff --git a/contrib/DNS-LDNS/const-c.inc b/contrib/DNS-LDNS/const-c.inc
new file mode 100644
index 000000000000..4b794458f9b4
--- /dev/null
+++ b/contrib/DNS-LDNS/const-c.inc
@@ -0,0 +1,2852 @@
+#define PERL_constant_NOTFOUND 1
+#define PERL_constant_NOTDEF 2
+#define PERL_constant_ISIV 3
+#define PERL_constant_ISNO 4
+#define PERL_constant_ISNV 5
+#define PERL_constant_ISPV 6
+#define PERL_constant_ISPVN 7
+#define PERL_constant_ISSV 8
+#define PERL_constant_ISUNDEF 9
+#define PERL_constant_ISUV 10
+#define PERL_constant_ISYES 11
+
+#ifndef NVTYPE
+typedef double NV; /* 5.6 and later define NVTYPE, and typedef NV to it. */
+#endif
+#ifndef aTHX_
+#define aTHX_ /* 5.6 or later define this for threading support. */
+#endif
+#ifndef pTHX_
+#define pTHX_ /* 5.6 or later define this for threading support. */
+#endif
+
+static int
+constant_7 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_AA LDNS_AD LDNS_CD LDNS_DH LDNS_QR LDNS_RA LDNS_RD LDNS_TC */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'A':
+ if (memEQ(name, "LDNS_AA", 7)) {
+ /* ^ */
+#ifdef LDNS_AA
+ *iv_return = LDNS_AA;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_AD", 7)) {
+ /* ^ */
+#ifdef LDNS_AD
+ *iv_return = LDNS_AD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_CD", 7)) {
+ /* ^ */
+#ifdef LDNS_CD
+ *iv_return = LDNS_CD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_DH", 7)) {
+ /* ^ */
+ *iv_return = LDNS_DH;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Q':
+ if (memEQ(name, "LDNS_QR", 7)) {
+ /* ^ */
+#ifdef LDNS_QR
+ *iv_return = LDNS_QR;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_RA", 7)) {
+ /* ^ */
+#ifdef LDNS_RA
+ *iv_return = LDNS_RA;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RD", 7)) {
+ /* ^ */
+#ifdef LDNS_RD
+ *iv_return = LDNS_RD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_TC", 7)) {
+ /* ^ */
+#ifdef LDNS_TC
+ *iv_return = LDNS_TC;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_13 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_CERT_OID LDNS_CERT_PGP LDNS_CERT_URI LDNS_ECC_GOST LDNS_SIGN_DSA */
+ /* Offset 12 gives the best switch position. */
+ switch (name[12]) {
+ case 'A':
+ if (memEQ(name, "LDNS_SIGN_DS", 12)) {
+ /* A */
+ *iv_return = LDNS_SIGN_DSA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_CERT_OI", 12)) {
+ /* D */
+ *iv_return = LDNS_CERT_OID;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_CERT_UR", 12)) {
+ /* I */
+ *iv_return = LDNS_CERT_URI;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_CERT_PG", 12)) {
+ /* P */
+ *iv_return = LDNS_CERT_PGP;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_ECC_GOS", 12)) {
+ /* T */
+ *iv_return = LDNS_ECC_GOST;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_14 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_CERT_IPGP LDNS_CERT_PKIX LDNS_CERT_SPKI LDNS_DSA_NSEC3 LDNS_HASH_GOST
+ LDNS_RR_TYPE_A LDNS_RSASHA256 LDNS_RSASHA512 LDNS_STATUS_OK */
+ /* Offset 13 gives the best switch position. */
+ switch (name[13]) {
+ case '2':
+ if (memEQ(name, "LDNS_RSASHA51", 13)) {
+ /* 2 */
+ *iv_return = LDNS_RSASHA512;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '3':
+ if (memEQ(name, "LDNS_DSA_NSEC", 13)) {
+ /* 3 */
+ *iv_return = LDNS_DSA_NSEC3;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '6':
+ if (memEQ(name, "LDNS_RSASHA25", 13)) {
+ /* 6 */
+ *iv_return = LDNS_RSASHA256;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_RR_TYPE_", 13)) {
+ /* A */
+ *iv_return = LDNS_RR_TYPE_A;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_CERT_SPK", 13)) {
+ /* I */
+ *iv_return = LDNS_CERT_SPKI;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "LDNS_STATUS_O", 13)) {
+ /* K */
+ *iv_return = LDNS_STATUS_OK;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_CERT_IPG", 13)) {
+ /* P */
+ *iv_return = LDNS_CERT_IPGP;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_HASH_GOS", 13)) {
+ /* T */
+ *iv_return = LDNS_HASH_GOST;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDNS_CERT_PKI", 13)) {
+ /* X */
+ *iv_return = LDNS_CERT_PKIX;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_15 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_CERT_IPKIX LDNS_CERT_ISPKI LDNS_IP4ADDRLEN LDNS_IP6ADDRLEN
+ LDNS_MAX_KEYLEN LDNS_MAX_RDFLEN LDNS_PRIVATEDNS LDNS_PRIVATEOID
+ LDNS_RDF_TYPE_A LDNS_RR_TYPE_A6 LDNS_RR_TYPE_DS LDNS_RR_TYPE_KX
+ LDNS_RR_TYPE_MB LDNS_RR_TYPE_MD LDNS_RR_TYPE_MF LDNS_RR_TYPE_MG
+ LDNS_RR_TYPE_MR LDNS_RR_TYPE_MX LDNS_RR_TYPE_NS LDNS_RR_TYPE_PX
+ LDNS_RR_TYPE_RP LDNS_RR_TYPE_RT LDNS_STATUS_ERR */
+ /* Offset 14 gives the best switch position. */
+ switch (name[14]) {
+ case '6':
+ if (memEQ(name, "LDNS_RR_TYPE_A", 14)) {
+ /* 6 */
+ *iv_return = LDNS_RR_TYPE_A6;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_RDF_TYPE_", 14)) {
+ /* A */
+ *iv_return = LDNS_RDF_TYPE_A;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* B */
+ *iv_return = LDNS_RR_TYPE_MB;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_PRIVATEOI", 14)) {
+ /* D */
+ *iv_return = LDNS_PRIVATEOID;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* D */
+ *iv_return = LDNS_RR_TYPE_MD;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* F */
+ *iv_return = LDNS_RR_TYPE_MF;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* G */
+ *iv_return = LDNS_RR_TYPE_MG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_CERT_ISPK", 14)) {
+ /* I */
+ *iv_return = LDNS_CERT_ISPKI;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_IP4ADDRLE", 14)) {
+ /* N */
+#ifdef LDNS_IP4ADDRLEN
+ *iv_return = LDNS_IP4ADDRLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_IP6ADDRLE", 14)) {
+ /* N */
+#ifdef LDNS_IP6ADDRLEN
+ *iv_return = LDNS_IP6ADDRLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_MAX_KEYLE", 14)) {
+ /* N */
+#ifdef LDNS_MAX_KEYLEN
+ *iv_return = LDNS_MAX_KEYLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_MAX_RDFLE", 14)) {
+ /* N */
+#ifdef LDNS_MAX_RDFLEN
+ *iv_return = LDNS_MAX_RDFLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RR_TYPE_R", 14)) {
+ /* P */
+ *iv_return = LDNS_RR_TYPE_RP;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* R */
+ *iv_return = LDNS_RR_TYPE_MR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_ER", 14)) {
+ /* R */
+ *iv_return = LDNS_STATUS_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_PRIVATEDN", 14)) {
+ /* S */
+ *iv_return = LDNS_PRIVATEDNS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_D", 14)) {
+ /* S */
+ *iv_return = LDNS_RR_TYPE_DS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_N", 14)) {
+ /* S */
+ *iv_return = LDNS_RR_TYPE_NS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_RR_TYPE_R", 14)) {
+ /* T */
+ *iv_return = LDNS_RR_TYPE_RT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDNS_CERT_IPKI", 14)) {
+ /* X */
+ *iv_return = LDNS_CERT_IPKIX;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_K", 14)) {
+ /* X */
+ *iv_return = LDNS_RR_TYPE_KX;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_M", 14)) {
+ /* X */
+ *iv_return = LDNS_RR_TYPE_MX;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_P", 14)) {
+ /* X */
+ *iv_return = LDNS_RR_TYPE_PX;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_16 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_CERT_ACPKIX LDNS_DEFAULT_TTL LDNS_KEY_SEP_KEY LDNS_RESOLV_INET
+ LDNS_RR_CLASS_CH LDNS_RR_CLASS_HS LDNS_RR_CLASS_IN LDNS_RR_COMPRESS
+ LDNS_RR_OVERHEAD LDNS_RR_TYPE_ANY LDNS_RR_TYPE_APL LDNS_RR_TYPE_DLV
+ LDNS_RR_TYPE_EID LDNS_RR_TYPE_GID LDNS_RR_TYPE_KEY LDNS_RR_TYPE_LOC
+ LDNS_RR_TYPE_NXT LDNS_RR_TYPE_OPT LDNS_RR_TYPE_PTR LDNS_RR_TYPE_SIG
+ LDNS_RR_TYPE_SOA LDNS_RR_TYPE_SPF LDNS_RR_TYPE_SRV LDNS_RR_TYPE_TXT
+ LDNS_RR_TYPE_UID LDNS_RR_TYPE_WKS LDNS_RR_TYPE_X25 LDNS_SECTION_ANY
+ LDNS_SIGN_RSAMD5 LDNS_STATUS_NULL */
+ /* Offset 13 gives the best switch position. */
+ switch (name[13]) {
+ case 'A':
+ if (memEQ(name, "LDNS_RR_TYPE_ANY", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_ANY;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_APL", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_APL;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SECTION_ANY", 16)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_ANY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_RR_TYPE_DLV", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_DLV;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_RR_COMPRESS", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_COMPRESS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_OVERHEAD", 16)) {
+ /* ^ */
+#ifdef LDNS_RR_OVERHEAD
+ *iv_return = LDNS_RR_OVERHEAD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_EID", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_EID;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "LDNS_RR_TYPE_GID", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_GID;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "LDNS_CERT_ACPKIX", 16)) {
+ /* ^ */
+ *iv_return = LDNS_CERT_ACPKIX;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_KEY_SEP_KEY", 16)) {
+ /* ^ */
+#ifdef LDNS_KEY_SEP_KEY
+ *iv_return = LDNS_KEY_SEP_KEY;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_KEY", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_KEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_RR_TYPE_LOC", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_LOC;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "LDNS_SIGN_RSAMD5", 16)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_RSAMD5;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_RESOLV_INET", 16)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_INET
+ *iv_return = LDNS_RESOLV_INET;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NXT", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_NXT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_RR_TYPE_OPT", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_OPT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RR_TYPE_PTR", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_PTR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_RR_TYPE_SIG", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_SIG;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_SOA", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_SOA;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_SPF", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_SPF;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_SRV", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_SRV;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_DEFAULT_TTL", 16)) {
+ /* ^ */
+#ifdef LDNS_DEFAULT_TTL
+ *iv_return = LDNS_DEFAULT_TTL;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_TXT", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_TXT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "LDNS_RR_TYPE_UID", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_UID;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_NULL", 16)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_NULL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'W':
+ if (memEQ(name, "LDNS_RR_TYPE_WKS", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_WKS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDNS_RR_TYPE_X25", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_X25;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LDNS_RR_CLASS_CH", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_CLASS_CH;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_HS", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_CLASS_HS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_IN", 16)) {
+ /* ^ */
+ *iv_return = LDNS_RR_CLASS_IN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_17 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_CERT_IACPKIX LDNS_KEY_ZONE_KEY LDNS_MAX_LABELLEN LDNS_MAX_POINTERS
+ LDNS_PACKET_QUERY LDNS_RDF_TYPE_ALG LDNS_RDF_TYPE_APL LDNS_RDF_TYPE_B64
+ LDNS_RDF_TYPE_HEX LDNS_RDF_TYPE_HIP LDNS_RDF_TYPE_LOC LDNS_RDF_TYPE_STR
+ LDNS_RDF_TYPE_WKS LDNS_RESOLV_INET6 LDNS_RR_CLASS_ANY LDNS_RR_TYPE_AAAA
+ LDNS_RR_TYPE_ATMA LDNS_RR_TYPE_AXFR LDNS_RR_TYPE_CERT LDNS_RR_TYPE_GPOS
+ LDNS_RR_TYPE_ISDN LDNS_RR_TYPE_IXFR LDNS_RR_TYPE_LAST LDNS_RR_TYPE_NSAP
+ LDNS_RR_TYPE_NSEC LDNS_RR_TYPE_NULL LDNS_RR_TYPE_SINK LDNS_RR_TYPE_TSIG
+ LDNS_SIGN_RSASHA1 */
+ /* Offset 16 gives the best switch position. */
+ switch (name[16]) {
+ case '1':
+ if (memEQ(name, "LDNS_SIGN_RSASHA", 16)) {
+ /* 1 */
+ *iv_return = LDNS_SIGN_RSASHA1;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '4':
+ if (memEQ(name, "LDNS_RDF_TYPE_B6", 16)) {
+ /* 4 */
+ *iv_return = LDNS_RDF_TYPE_B64;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '6':
+ if (memEQ(name, "LDNS_RESOLV_INET", 16)) {
+ /* 6 */
+#ifdef LDNS_RESOLV_INET6
+ *iv_return = LDNS_RESOLV_INET6;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_RR_TYPE_AAA", 16)) {
+ /* A */
+ *iv_return = LDNS_RR_TYPE_AAAA;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_ATM", 16)) {
+ /* A */
+ *iv_return = LDNS_RR_TYPE_ATMA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_RDF_TYPE_LO", 16)) {
+ /* C */
+ *iv_return = LDNS_RDF_TYPE_LOC;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NSE", 16)) {
+ /* C */
+ *iv_return = LDNS_RR_TYPE_NSEC;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "LDNS_RDF_TYPE_AL", 16)) {
+ /* G */
+ *iv_return = LDNS_RDF_TYPE_ALG;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_TSI", 16)) {
+ /* G */
+ *iv_return = LDNS_RR_TYPE_TSIG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "LDNS_RR_TYPE_SIN", 16)) {
+ /* K */
+ *iv_return = LDNS_RR_TYPE_SINK;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_RDF_TYPE_AP", 16)) {
+ /* L */
+ *iv_return = LDNS_RDF_TYPE_APL;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NUL", 16)) {
+ /* L */
+ *iv_return = LDNS_RR_TYPE_NULL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_MAX_LABELLE", 16)) {
+ /* N */
+#ifdef LDNS_MAX_LABELLEN
+ *iv_return = LDNS_MAX_LABELLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_ISD", 16)) {
+ /* N */
+ *iv_return = LDNS_RR_TYPE_ISDN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RDF_TYPE_HI", 16)) {
+ /* P */
+ *iv_return = LDNS_RDF_TYPE_HIP;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NSA", 16)) {
+ /* P */
+ *iv_return = LDNS_RR_TYPE_NSAP;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_RDF_TYPE_ST", 16)) {
+ /* R */
+ *iv_return = LDNS_RDF_TYPE_STR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_AXF", 16)) {
+ /* R */
+ *iv_return = LDNS_RR_TYPE_AXFR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_IXF", 16)) {
+ /* R */
+ *iv_return = LDNS_RR_TYPE_IXFR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_MAX_POINTER", 16)) {
+ /* S */
+#ifdef LDNS_MAX_POINTERS
+ *iv_return = LDNS_MAX_POINTERS;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_WK", 16)) {
+ /* S */
+ *iv_return = LDNS_RDF_TYPE_WKS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_GPO", 16)) {
+ /* S */
+ *iv_return = LDNS_RR_TYPE_GPOS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_RR_TYPE_CER", 16)) {
+ /* T */
+ *iv_return = LDNS_RR_TYPE_CERT;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_LAS", 16)) {
+ /* T */
+ *iv_return = LDNS_RR_TYPE_LAST;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDNS_CERT_IACPKI", 16)) {
+ /* X */
+ *iv_return = LDNS_CERT_IACPKIX;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_HE", 16)) {
+ /* X */
+ *iv_return = LDNS_RDF_TYPE_HEX;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "LDNS_KEY_ZONE_KE", 16)) {
+ /* Y */
+#ifdef LDNS_KEY_ZONE_KEY
+ *iv_return = LDNS_KEY_ZONE_KEY;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_PACKET_QUER", 16)) {
+ /* Y */
+ *iv_return = LDNS_PACKET_QUERY;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_AN", 16)) {
+ /* Y */
+ *iv_return = LDNS_RR_CLASS_ANY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_18 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_MAX_DOMAINLEN LDNS_MAX_PACKETLEN LDNS_PACKET_ANSWER
+ LDNS_PACKET_IQUERY LDNS_PACKET_NODATA LDNS_PACKET_NOTIFY
+ LDNS_PACKET_STATUS LDNS_PACKET_UPDATE LDNS_RCODE_FORMERR
+ LDNS_RCODE_NOERROR LDNS_RCODE_NOTAUTH LDNS_RCODE_NOTIMPL
+ LDNS_RCODE_NOTZONE LDNS_RCODE_NXRRSET LDNS_RCODE_REFUSED
+ LDNS_RCODE_YXRRSET LDNS_RDF_SIZE_BYTE LDNS_RDF_SIZE_WORD
+ LDNS_RDF_TYPE_AAAA LDNS_RDF_TYPE_ATMA LDNS_RDF_TYPE_INT8
+ LDNS_RDF_TYPE_NONE LDNS_RDF_TYPE_NSAP LDNS_RDF_TYPE_NSEC
+ LDNS_RDF_TYPE_TIME LDNS_RDF_TYPE_TYPE LDNS_RESOLV_ANCHOR
+ LDNS_RESOLV_SEARCH LDNS_RR_CLASS_LAST LDNS_RR_CLASS_NONE
+ LDNS_RR_TYPE_AFSDB LDNS_RR_TYPE_CNAME LDNS_RR_TYPE_COUNT
+ LDNS_RR_TYPE_DHCID LDNS_RR_TYPE_DNAME LDNS_RR_TYPE_FIRST
+ LDNS_RR_TYPE_HINFO LDNS_RR_TYPE_MAILA LDNS_RR_TYPE_MAILB
+ LDNS_RR_TYPE_MINFO LDNS_RR_TYPE_NAPTR LDNS_RR_TYPE_NSEC3
+ LDNS_RR_TYPE_RRSIG LDNS_RR_TYPE_SSHFP LDNS_RR_TYPE_UINFO
+ LDNS_RSASHA1_NSEC3 LDNS_SIGN_ECC_GOST LDNS_SIGN_HMACSHA1 */
+ /* Offset 17 gives the best switch position. */
+ switch (name[17]) {
+ case '1':
+ if (memEQ(name, "LDNS_SIGN_HMACSHA", 17)) {
+ /* 1 */
+ *iv_return = LDNS_SIGN_HMACSHA1;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '3':
+ if (memEQ(name, "LDNS_RR_TYPE_NSEC", 17)) {
+ /* 3 */
+ *iv_return = LDNS_RR_TYPE_NSEC3;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RSASHA1_NSEC", 17)) {
+ /* 3 */
+ *iv_return = LDNS_RSASHA1_NSEC3;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '8':
+ if (memEQ(name, "LDNS_RDF_TYPE_INT", 17)) {
+ /* 8 */
+ *iv_return = LDNS_RDF_TYPE_INT8;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_PACKET_NODAT", 17)) {
+ /* A */
+ *iv_return = LDNS_PACKET_NODATA;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_AAA", 17)) {
+ /* A */
+ *iv_return = LDNS_RDF_TYPE_AAAA;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_ATM", 17)) {
+ /* A */
+ *iv_return = LDNS_RDF_TYPE_ATMA;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_MAIL", 17)) {
+ /* A */
+ *iv_return = LDNS_RR_TYPE_MAILA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "LDNS_RR_TYPE_AFSD", 17)) {
+ /* B */
+ *iv_return = LDNS_RR_TYPE_AFSDB;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_MAIL", 17)) {
+ /* B */
+ *iv_return = LDNS_RR_TYPE_MAILB;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_RDF_TYPE_NSE", 17)) {
+ /* C */
+ *iv_return = LDNS_RDF_TYPE_NSEC;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_RCODE_REFUSE", 17)) {
+ /* D */
+ *iv_return = LDNS_RCODE_REFUSED;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_SIZE_WOR", 17)) {
+ /* D */
+#ifdef LDNS_RDF_SIZE_WORD
+ *iv_return = LDNS_RDF_SIZE_WORD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_DHCI", 17)) {
+ /* D */
+ *iv_return = LDNS_RR_TYPE_DHCID;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_PACKET_UPDAT", 17)) {
+ /* E */
+ *iv_return = LDNS_PACKET_UPDATE;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RCODE_NOTZON", 17)) {
+ /* E */
+ *iv_return = LDNS_RCODE_NOTZONE;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_SIZE_BYT", 17)) {
+ /* E */
+#ifdef LDNS_RDF_SIZE_BYTE
+ *iv_return = LDNS_RDF_SIZE_BYTE;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_NON", 17)) {
+ /* E */
+ *iv_return = LDNS_RDF_TYPE_NONE;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_TIM", 17)) {
+ /* E */
+ *iv_return = LDNS_RDF_TYPE_TIME;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_TYP", 17)) {
+ /* E */
+ *iv_return = LDNS_RDF_TYPE_TYPE;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_NON", 17)) {
+ /* E */
+ *iv_return = LDNS_RR_CLASS_NONE;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_CNAM", 17)) {
+ /* E */
+ *iv_return = LDNS_RR_TYPE_CNAME;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_DNAM", 17)) {
+ /* E */
+ *iv_return = LDNS_RR_TYPE_DNAME;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "LDNS_RR_TYPE_RRSI", 17)) {
+ /* G */
+ *iv_return = LDNS_RR_TYPE_RRSIG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "LDNS_RCODE_NOTAUT", 17)) {
+ /* H */
+ *iv_return = LDNS_RCODE_NOTAUTH;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RESOLV_SEARC", 17)) {
+ /* H */
+#ifdef LDNS_RESOLV_SEARCH
+ *iv_return = LDNS_RESOLV_SEARCH;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_RCODE_NOTIMP", 17)) {
+ /* L */
+ *iv_return = LDNS_RCODE_NOTIMPL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_MAX_DOMAINLE", 17)) {
+ /* N */
+#ifdef LDNS_MAX_DOMAINLEN
+ *iv_return = LDNS_MAX_DOMAINLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_MAX_PACKETLE", 17)) {
+ /* N */
+#ifdef LDNS_MAX_PACKETLEN
+ *iv_return = LDNS_MAX_PACKETLEN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_RR_TYPE_HINF", 17)) {
+ /* O */
+ *iv_return = LDNS_RR_TYPE_HINFO;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_MINF", 17)) {
+ /* O */
+ *iv_return = LDNS_RR_TYPE_MINFO;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_UINF", 17)) {
+ /* O */
+ *iv_return = LDNS_RR_TYPE_UINFO;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RDF_TYPE_NSA", 17)) {
+ /* P */
+ *iv_return = LDNS_RDF_TYPE_NSAP;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_SSHF", 17)) {
+ /* P */
+ *iv_return = LDNS_RR_TYPE_SSHFP;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_PACKET_ANSWE", 17)) {
+ /* R */
+ *iv_return = LDNS_PACKET_ANSWER;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RCODE_FORMER", 17)) {
+ /* R */
+ *iv_return = LDNS_RCODE_FORMERR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RCODE_NOERRO", 17)) {
+ /* R */
+ *iv_return = LDNS_RCODE_NOERROR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RESOLV_ANCHO", 17)) {
+ /* R */
+#ifdef LDNS_RESOLV_ANCHOR
+ *iv_return = LDNS_RESOLV_ANCHOR;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NAPT", 17)) {
+ /* R */
+ *iv_return = LDNS_RR_TYPE_NAPTR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_PACKET_STATU", 17)) {
+ /* S */
+ *iv_return = LDNS_PACKET_STATUS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_RCODE_NXRRSE", 17)) {
+ /* T */
+ *iv_return = LDNS_RCODE_NXRRSET;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RCODE_YXRRSE", 17)) {
+ /* T */
+ *iv_return = LDNS_RCODE_YXRRSET;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_LAS", 17)) {
+ /* T */
+ *iv_return = LDNS_RR_CLASS_LAST;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_COUN", 17)) {
+ /* T */
+ *iv_return = LDNS_RR_TYPE_COUNT;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_FIRS", 17)) {
+ /* T */
+ *iv_return = LDNS_RR_TYPE_FIRST;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SIGN_ECC_GOS", 17)) {
+ /* T */
+ *iv_return = LDNS_SIGN_ECC_GOST;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "LDNS_PACKET_IQUER", 17)) {
+ /* Y */
+ *iv_return = LDNS_PACKET_IQUERY;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_PACKET_NOTIF", 17)) {
+ /* Y */
+ *iv_return = LDNS_PACKET_NOTIFY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_19 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_KEY_REVOKE_KEY LDNS_PACKET_UNKNOWN LDNS_RCODE_NXDOMAIN
+ LDNS_RCODE_SERVFAIL LDNS_RCODE_YXDOMAIN LDNS_RDF_TYPE_CLASS
+ LDNS_RDF_TYPE_DNAME LDNS_RDF_TYPE_INT16 LDNS_RDF_TYPE_INT32
+ LDNS_RESOLV_INETANY LDNS_RESOLV_KEYWORD LDNS_RESOLV_OPTIONS
+ LDNS_RESOLV_RTT_INF LDNS_RESOLV_RTT_MIN LDNS_RR_CLASS_COUNT
+ LDNS_RR_CLASS_FIRST LDNS_RR_NO_COMPRESS LDNS_RR_TYPE_DNSKEY
+ LDNS_RR_TYPE_NIMLOC LDNS_RR_TYPE_TALINK LDNS_RR_TYPE_UNSPEC
+ LDNS_SECTION_ANSWER LDNS_SIGN_DSA_NSEC3 LDNS_SIGN_RSASHA256
+ LDNS_SIGN_RSASHA512 LDNS_STATUS_MEM_ERR LDNS_STATUS_NO_DATA
+ LDNS_STATUS_SSL_ERR */
+ /* Offset 14 gives the best switch position. */
+ switch (name[14]) {
+ case 'A':
+ if (memEQ(name, "LDNS_RR_TYPE_TALINK", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_TALINK;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_RDF_TYPE_CLASS", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_CLASS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_CLASS_COUNT", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_CLASS_COUNT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_RDF_TYPE_DNAME", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_DNAME;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_KEY_REVOKE_KEY", 19)) {
+ /* ^ */
+#ifdef LDNS_KEY_REVOKE_KEY
+ *iv_return = LDNS_KEY_REVOKE_KEY;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RESOLV_INETANY", 19)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_INETANY
+ *iv_return = LDNS_RESOLV_INETANY;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "LDNS_RR_CLASS_FIRST", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_CLASS_FIRST;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "LDNS_SIGN_RSASHA256", 19)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_RSASHA256;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SIGN_RSASHA512", 19)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_RSASHA512;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_RDF_TYPE_INT16", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_INT16;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_INT32", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_INT32;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_NIMLOC", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_NIMLOC;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "LDNS_PACKET_UNKNOWN", 19)) {
+ /* ^ */
+ *iv_return = LDNS_PACKET_UNKNOWN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_STATUS_SSL_ERR", 19)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SSL_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "LDNS_STATUS_MEM_ERR", 19)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_MEM_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_RR_TYPE_DNSKEY", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_DNSKEY;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RR_TYPE_UNSPEC", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_UNSPEC;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SECTION_ANSWER", 19)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_ANSWER;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SIGN_DSA_NSEC3", 19)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_DSA_NSEC3;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_RCODE_NXDOMAIN", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RCODE_NXDOMAIN;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RCODE_YXDOMAIN", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RCODE_YXDOMAIN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RR_NO_COMPRESS", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RR_NO_COMPRESS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_RESOLV_OPTIONS", 19)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_OPTIONS
+ *iv_return = LDNS_RESOLV_OPTIONS;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RESOLV_RTT_INF", 19)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_RTT_INF
+ *iv_return = LDNS_RESOLV_RTT_INF;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_RESOLV_RTT_MIN", 19)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_RTT_MIN
+ *iv_return = LDNS_RESOLV_RTT_MIN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'V':
+ if (memEQ(name, "LDNS_RCODE_SERVFAIL", 19)) {
+ /* ^ */
+ *iv_return = LDNS_RCODE_SERVFAIL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "LDNS_RESOLV_KEYWORD", 19)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_KEYWORD
+ *iv_return = LDNS_RESOLV_KEYWORD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LDNS_STATUS_NO_DATA", 19)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_NO_DATA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_20 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_DNSSEC_KEYPROTO LDNS_PACKET_NXDOMAIN LDNS_PACKET_QUESTION
+ LDNS_PACKET_REFERRAL LDNS_RDF_SIZE_6BYTES LDNS_RDF_TYPE_PERIOD
+ LDNS_RESOLV_KEYWORDS LDNS_RESOLV_SORTLIST LDNS_SIGN_HMACSHA256
+ LDNS_STATUS_FILE_ERR LDNS_STATUS_NOT_IMPL */
+ /* Offset 18 gives the best switch position. */
+ switch (name[18]) {
+ case '5':
+ if (memEQ(name, "LDNS_SIGN_HMACSHA256", 20)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_HMACSHA256;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_PACKET_REFERRAL", 20)) {
+ /* ^ */
+ *iv_return = LDNS_PACKET_REFERRAL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_RESOLV_KEYWORDS", 20)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_KEYWORDS
+ *iv_return = LDNS_RESOLV_KEYWORDS;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_RDF_SIZE_6BYTES", 20)) {
+ /* ^ */
+#ifdef LDNS_RDF_SIZE_6BYTES
+ *iv_return = LDNS_RDF_SIZE_6BYTES;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_PACKET_NXDOMAIN", 20)) {
+ /* ^ */
+ *iv_return = LDNS_PACKET_NXDOMAIN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_PACKET_QUESTION", 20)) {
+ /* ^ */
+ *iv_return = LDNS_PACKET_QUESTION;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_RDF_TYPE_PERIOD", 20)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_PERIOD;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_NOT_IMPL", 20)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_NOT_IMPL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_STATUS_FILE_ERR", 20)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_FILE_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_RESOLV_SORTLIST", 20)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_SORTLIST
+ *iv_return = LDNS_RESOLV_SORTLIST;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_DNSSEC_KEYPROTO", 20)) {
+ /* ^ */
+#ifdef LDNS_DNSSEC_KEYPROTO
+ *iv_return = LDNS_DNSSEC_KEYPROTO;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_21 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_DEFAULT_EXP_TIME LDNS_RDF_SIZE_16BYTES LDNS_RDF_TYPE_B32_EXT
+ LDNS_RDF_TYPE_SERVICE LDNS_RDF_TYPE_UNKNOWN LDNS_RESOLV_DEFDOMAIN
+ LDNS_RR_TYPE_IPSECKEY LDNS_RR_TYPE_NSAP_PTR LDNS_SECTION_QUESTION
+ LDNS_STATUS_NSEC3_ERR LDNS_STATUS_RES_NO_NS LDNS_STATUS_RES_QUERY */
+ /* Offset 16 gives the best switch position. */
+ switch (name[16]) {
+ case '2':
+ if (memEQ(name, "LDNS_RDF_TYPE_B32_EXT", 21)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_B32_EXT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '3':
+ if (memEQ(name, "LDNS_STATUS_NSEC3_ERR", 21)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_NSEC3_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "LDNS_RDF_SIZE_16BYTES", 21)) {
+ /* ^ */
+#ifdef LDNS_RDF_SIZE_16BYTES
+ *iv_return = LDNS_RDF_SIZE_16BYTES;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_RR_TYPE_IPSECKEY", 21)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_IPSECKEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "LDNS_RDF_TYPE_UNKNOWN", 21)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_UNKNOWN;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_RES_NO_NS", 21)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_RES_NO_NS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_RESOLV_DEFDOMAIN", 21)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_DEFDOMAIN
+ *iv_return = LDNS_RESOLV_DEFDOMAIN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_RR_TYPE_NSAP_PTR", 21)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_NSAP_PTR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Q':
+ if (memEQ(name, "LDNS_STATUS_RES_QUERY", 21)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_RES_QUERY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_RDF_TYPE_SERVICE", 21)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_SERVICE;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_SECTION_QUESTION", 21)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_QUESTION;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LDNS_DEFAULT_EXP_TIME", 21)) {
+ /* ^ */
+#ifdef LDNS_DEFAULT_EXP_TIME
+ *iv_return = LDNS_DEFAULT_EXP_TIME;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_22 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_RDF_TYPE_CERT_ALG LDNS_RDF_TYPE_IPSECKEY LDNS_RDF_TYPE_TSIGTIME
+ LDNS_RESOLV_NAMESERVER LDNS_SECTION_AUTHORITY LDNS_STATUS_SYNTAX_ERR
+ LDNS_STATUS_SYNTAX_TTL */
+ /* Offset 14 gives the best switch position. */
+ switch (name[14]) {
+ case 'C':
+ if (memEQ(name, "LDNS_RDF_TYPE_CERT_ALG", 22)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_CERT_ALG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_RDF_TYPE_IPSECKEY", 22)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_IPSECKEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "LDNS_RESOLV_NAMESERVER", 22)) {
+ /* ^ */
+#ifdef LDNS_RESOLV_NAMESERVER
+ *iv_return = LDNS_RESOLV_NAMESERVER;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_ERR", 22)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_ERR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_TTL", 22)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_TTL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_RDF_TYPE_TSIGTIME", 22)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_TSIGTIME;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "LDNS_SECTION_AUTHORITY", 22)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_AUTHORITY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_23 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_RR_TYPE_NSEC3PARAM LDNS_SECTION_ADDITIONAL LDNS_SIGN_RSASHA1_NSEC3
+ LDNS_STATUS_ADDRESS_ERR LDNS_STATUS_EMPTY_LABEL LDNS_STATUS_INVALID_B64
+ LDNS_STATUS_INVALID_HEX LDNS_STATUS_INVALID_INT LDNS_STATUS_INVALID_IP4
+ LDNS_STATUS_INVALID_IP6 LDNS_STATUS_INVALID_STR LDNS_STATUS_NETWORK_ERR */
+ /* Offset 21 gives the best switch position. */
+ switch (name[21]) {
+ case '6':
+ if (memEQ(name, "LDNS_STATUS_INVALID_B64", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_B64;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "LDNS_RR_TYPE_NSEC3PARAM", 23)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_NSEC3PARAM;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_SECTION_ADDITIONAL", 23)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_ADDITIONAL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_SIGN_RSASHA1_NSEC3", 23)) {
+ /* ^ */
+ *iv_return = LDNS_SIGN_RSASHA1_NSEC3;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_STATUS_EMPTY_LABEL", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_EMPTY_LABEL;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_INVALID_HEX", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_HEX;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_INVALID_INT", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_INT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_INVALID_IP4", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_IP4;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_INVALID_IP6", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_IP6;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_STATUS_ADDRESS_ERR", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_ADDRESS_ERR;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_NETWORK_ERR", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_NETWORK_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_INVALID_STR", 23)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_STR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_24 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_RDF_SIZE_DOUBLEWORD LDNS_RDF_TYPE_INT16_DATA LDNS_RDF_TYPE_NSEC3_SALT
+ LDNS_RR_TYPE_NSEC3PARAMS LDNS_STATUS_CRYPTO_BOGUS LDNS_STATUS_CRYPTO_NO_DS
+ LDNS_STATUS_DDD_OVERFLOW LDNS_STATUS_INTERNAL_ERR LDNS_STATUS_INVALID_TIME
+ LDNS_STATUS_SOCKET_ERROR LDNS_STATUS_SYNTAX_EMPTY LDNS_STATUS_UNKNOWN_INET
+ */
+ /* Offset 17 gives the best switch position. */
+ switch (name[17]) {
+ case '1':
+ if (memEQ(name, "LDNS_RDF_TYPE_INT16_DATA", 24)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_INT16_DATA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '3':
+ if (memEQ(name, "LDNS_RR_TYPE_NSEC3PARAMS", 24)) {
+ /* ^ */
+ *iv_return = LDNS_RR_TYPE_NSEC3PARAMS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "LDNS_RDF_SIZE_DOUBLEWORD", 24)) {
+ /* ^ */
+#ifdef LDNS_RDF_SIZE_DOUBLEWORD
+ *iv_return = LDNS_RDF_SIZE_DOUBLEWORD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "LDNS_RDF_TYPE_NSEC3_SALT", 24)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_NSEC3_SALT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_STATUS_INVALID_TIME", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_TIME;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_INTERNAL_ERR", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INTERNAL_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_BOGUS", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_BOGUS;
+ return PERL_constant_ISIV;
+ }
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_NO_DS", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_NO_DS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_SOCKET_ERROR", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SOCKET_ERROR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'V':
+ if (memEQ(name, "LDNS_STATUS_DDD_OVERFLOW", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_DDD_OVERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'W':
+ if (memEQ(name, "LDNS_STATUS_UNKNOWN_INET", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_UNKNOWN_INET;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_EMPTY", 24)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_EMPTY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_26 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_STATUS_LABEL_OVERFLOW LDNS_STATUS_SYNTAX_ALG_ERR
+ LDNS_STATUS_SYNTAX_INCLUDE LDNS_STATUS_SYNTAX_TTL_ERR */
+ /* Offset 20 gives the best switch position. */
+ switch (name[20]) {
+ case 'E':
+ if (memEQ(name, "LDNS_STATUS_LABEL_OVERFLOW", 26)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_LABEL_OVERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_ALG_ERR", 26)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_ALG_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_INCLUDE", 26)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_INCLUDE;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_TTL_ERR", 26)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_TTL_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_27 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_NSEC3_VARS_OPTOUT_MASK LDNS_SECTION_ANY_NOQUESTION
+ LDNS_SIGNATURE_LEAVE_NO_ADD LDNS_STATUS_CRYPTO_NO_RRSIG
+ LDNS_STATUS_CRYPTO_TSIG_ERR LDNS_STATUS_INVALID_B32_EXT
+ LDNS_STATUS_INVALID_POINTER LDNS_STATUS_PACKET_OVERFLOW
+ LDNS_STATUS_SYNTAX_TYPE_ERR */
+ /* Offset 20 gives the best switch position. */
+ switch (name[20]) {
+ case 'B':
+ if (memEQ(name, "LDNS_STATUS_INVALID_B32_EXT", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_B32_EXT;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_NO_RRSIG", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_NO_RRSIG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_INVALID_POINTER", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_INVALID_POINTER;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_TSIG_ERR", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_TSIG_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "LDNS_NSEC3_VARS_OPTOUT_MASK", 27)) {
+ /* ^ */
+#ifdef LDNS_NSEC3_VARS_OPTOUT_MASK
+ *iv_return = LDNS_NSEC3_VARS_OPTOUT_MASK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "LDNS_SECTION_ANY_NOQUESTION", 27)) {
+ /* ^ */
+ *iv_return = LDNS_SECTION_ANY_NOQUESTION;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'V':
+ if (memEQ(name, "LDNS_STATUS_PACKET_OVERFLOW", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_PACKET_OVERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_TYPE_ERR", 27)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_TYPE_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LDNS_SIGNATURE_LEAVE_NO_ADD", 27)) {
+ /* ^ */
+#ifdef LDNS_SIGNATURE_LEAVE_NO_ADD
+ *iv_return = LDNS_SIGNATURE_LEAVE_NO_ADD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_28 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_SIGNATURE_LEAVE_ADD_NEW LDNS_SIGNATURE_REMOVE_NO_ADD
+ LDNS_STATUS_CRYPTO_NO_DNSKEY LDNS_STATUS_CRYPTO_VALIDATED
+ LDNS_STATUS_SYNTAX_CLASS_ERR LDNS_STATUS_SYNTAX_DNAME_ERR
+ LDNS_STATUS_SYNTAX_RDATA_ERR */
+ /* Offset 20 gives the best switch position. */
+ switch (name[20]) {
+ case 'A':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_VALIDATED", 28)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_VALIDATED;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_RDATA_ERR", 28)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_RDATA_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_SIGNATURE_REMOVE_NO_ADD", 28)) {
+ /* ^ */
+#ifdef LDNS_SIGNATURE_REMOVE_NO_ADD
+ *iv_return = LDNS_SIGNATURE_REMOVE_NO_ADD;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_CLASS_ERR", 28)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_CLASS_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_DNAME_ERR", 28)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_DNAME_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_NO_DNSKEY", 28)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_NO_DNSKEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LDNS_SIGNATURE_LEAVE_ADD_NEW", 28)) {
+ /* ^ */
+#ifdef LDNS_SIGNATURE_LEAVE_ADD_NEW
+ *iv_return = LDNS_SIGNATURE_LEAVE_ADD_NEW;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_29 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_SIGNATURE_REMOVE_ADD_NEW LDNS_STATUS_CRYPTO_TSIG_BOGUS
+ LDNS_STATUS_SYNTAX_BAD_ESCAPE */
+ /* Offset 15 gives the best switch position. */
+ switch (name[15]) {
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_TSIG_BOGUS", 29)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_TSIG_BOGUS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_SIGNATURE_REMOVE_ADD_NEW", 29)) {
+ /* ^ */
+#ifdef LDNS_SIGNATURE_REMOVE_ADD_NEW
+ *iv_return = LDNS_SIGNATURE_REMOVE_ADD_NEW;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_BAD_ESCAPE", 29)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_BAD_ESCAPE;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_30 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_RDF_TYPE_NSEC3_NEXT_OWNER LDNS_STATUS_CERT_BAD_ALGORITHM
+ LDNS_STATUS_CRYPTO_SIG_EXPIRED LDNS_STATUS_SYNTAX_KEYWORD_ERR
+ LDNS_STATUS_SYNTAX_VERSION_ERR */
+ /* Offset 25 gives the best switch position. */
+ switch (name[25]) {
+ case 'D':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_KEYWORD_ERR", 30)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_KEYWORD_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_VERSION_ERR", 30)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_VERSION_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_RDF_TYPE_NSEC3_NEXT_OWNER", 30)) {
+ /* ^ */
+ *iv_return = LDNS_RDF_TYPE_NSEC3_NEXT_OWNER;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_SIG_EXPIRED", 30)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_SIG_EXPIRED;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_STATUS_CERT_BAD_ALGORITHM", 30)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CERT_BAD_ALGORITHM;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_32 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL LDNS_STATUS_CRYPTO_NO_TRUSTED_DS
+ LDNS_STATUS_DOMAINNAME_UNDERFLOW */
+ /* Offset 20 gives the best switch position. */
+ switch (name[20]) {
+ case 'L':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL", 32)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "LDNS_STATUS_DOMAINNAME_UNDERFLOW", 32)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_DOMAINNAME_UNDERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_NO_TRUSTED_DS", 32)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_NO_TRUSTED_DS;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_35 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_RDATA_FIELD_DESCRIPTORS_COMMON LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED
+ LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR LDNS_STATUS_DNSSEC_EXISTENCE_DENIED
+ LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW */
+ /* Offset 21 gives the best switch position. */
+ switch (name[21]) {
+ case 'G':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED", 35)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "LDNS_STATUS_DNSSEC_EXISTENCE_DENIED", 35)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_DNSSEC_EXISTENCE_DENIED;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR", 35)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_RDATA_FIELD_DESCRIPTORS_COMMON", 35)) {
+ /* ^ */
+#ifdef LDNS_RDATA_FIELD_DESCRIPTORS_COMMON
+ *iv_return = LDNS_RDATA_FIELD_DESCRIPTORS_COMMON;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW", 35)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_36 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY LDNS_STATUS_MISSING_RDATA_FIELDS_KEY
+ LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR LDNS_STATUS_WIRE_INCOMPLETE_QUESTION
+ */
+ /* Offset 14 gives the best switch position. */
+ switch (name[14]) {
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR", 36)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_STATUS_WIRE_INCOMPLETE_QUESTION", 36)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_WIRE_INCOMPLETE_QUESTION;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_STATUS_MISSING_RDATA_FIELDS_KEY", 36)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_MISSING_RDATA_FIELDS_KEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY", 36)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_38 (pTHX_ const char *name, IV *iv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED
+ LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG
+ LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL
+ LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW
+ LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL */
+ /* Offset 20 gives the best switch position. */
+ switch (name[20]) {
+ case 'N':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL", 38)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL", 38)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG", 38)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED", 38)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW", 38)) {
+ /* ^ */
+ *iv_return = LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant (pTHX_ const char *name, STRLEN len, IV *iv_return) {
+ /* Initially switch on the length of the name. */
+ /* When generated this function returned values for the list of names given
+ in this section of perl code. Rather than manually editing these functions
+ to add or remove constants, which would result in this comment and section
+ of code becoming inaccurate, we recommend that you edit this section of
+ code, and use it to regenerate a new set of constant functions which you
+ then use to replace the originals.
+
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+#!/usr/bin/perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(LDNS_AA LDNS_AD LDNS_CD LDNS_DEFAULT_EXP_TIME LDNS_DEFAULT_TTL
+ LDNS_DNSSEC_KEYPROTO LDNS_IP4ADDRLEN LDNS_IP6ADDRLEN
+ LDNS_KEY_REVOKE_KEY LDNS_KEY_SEP_KEY LDNS_KEY_ZONE_KEY
+ LDNS_MAX_DOMAINLEN LDNS_MAX_KEYLEN LDNS_MAX_LABELLEN
+ LDNS_MAX_PACKETLEN LDNS_MAX_POINTERS LDNS_MAX_RDFLEN
+ LDNS_NSEC3_MAX_ITERATIONS LDNS_NSEC3_VARS_OPTOUT_MASK LDNS_PORT
+ LDNS_QR LDNS_RA LDNS_RD LDNS_RDATA_FIELD_DESCRIPTORS_COMMON
+ LDNS_RDF_SIZE_16BYTES LDNS_RDF_SIZE_6BYTES LDNS_RDF_SIZE_BYTE
+ LDNS_RDF_SIZE_DOUBLEWORD LDNS_RDF_SIZE_WORD LDNS_RESOLV_ANCHOR
+ LDNS_RESOLV_DEFDOMAIN LDNS_RESOLV_INET LDNS_RESOLV_INET6
+ LDNS_RESOLV_INETANY LDNS_RESOLV_KEYWORD LDNS_RESOLV_KEYWORDS
+ LDNS_RESOLV_NAMESERVER LDNS_RESOLV_OPTIONS LDNS_RESOLV_RTT_INF
+ LDNS_RESOLV_RTT_MIN LDNS_RESOLV_SEARCH LDNS_RESOLV_SORTLIST
+ LDNS_RR_OVERHEAD LDNS_SIGNATURE_LEAVE_ADD_NEW
+ LDNS_SIGNATURE_LEAVE_NO_ADD LDNS_SIGNATURE_REMOVE_ADD_NEW
+ LDNS_SIGNATURE_REMOVE_NO_ADD LDNS_TC),
+ {name=>"LDNS_CERT_ACPKIX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_IACPKIX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_IPGP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_IPKIX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_ISPKI", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_OID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_PGP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_PKIX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_SPKI", type=>"IV", macro=>"1"},
+ {name=>"LDNS_CERT_URI", type=>"IV", macro=>"1"},
+ {name=>"LDNS_DH", type=>"IV", macro=>"1"},
+ {name=>"LDNS_DSA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_DSA_NSEC3", type=>"IV", macro=>"1"},
+ {name=>"LDNS_ECC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_ECC_GOST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_HASH_GOST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_ANSWER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_IQUERY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_NODATA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_NOTIFY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_NXDOMAIN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_QUERY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_QUESTION", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_REFERRAL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_STATUS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_UNKNOWN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PACKET_UPDATE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PRIVATEDNS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_PRIVATEOID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_FORMERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NOERROR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTAUTH", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTIMPL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NOTZONE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NXDOMAIN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_NXRRSET", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_REFUSED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_SERVFAIL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_YXDOMAIN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RCODE_YXRRSET", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_A", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_AAAA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_ALG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_APL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_ATMA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_B32_EXT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_B64", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_CERT_ALG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_CLASS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_DNAME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_HEX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_HIP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT16", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT16_DATA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT32", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_INT8", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_IPSECKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_LOC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NONE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSAP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC3_NEXT_OWNER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_NSEC3_SALT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_PERIOD", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_SERVICE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_STR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TIME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TSIGTIME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_TYPE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_UNKNOWN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RDF_TYPE_WKS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_ANY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_CH", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_COUNT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_FIRST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_HS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_IN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_LAST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_CLASS_NONE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_COMPRESS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_NO_COMPRESS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_A", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_A6", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AAAA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AFSDB", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ANY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_APL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ATMA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_AXFR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_CERT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_CNAME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_COUNT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DHCID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DLV", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DNAME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DNSKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_DS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_EID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_FIRST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_GID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_GPOS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_HINFO", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_IPSECKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_ISDN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_IXFR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_KEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_KX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_LAST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_LOC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MAILA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MAILB", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MB", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MD", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MF", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MINFO", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_MX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NAPTR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NIMLOC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSAP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSAP_PTR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3PARAM", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NSEC3PARAMS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NULL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_NXT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_OPT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_PTR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_PX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RRSIG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_RT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SIG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SINK", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SOA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SPF", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SRV", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_SSHFP", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TALINK", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TSIG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_TXT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UID", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UINFO", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_UNSPEC", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_WKS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RR_TYPE_X25", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RSAMD5", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RSASHA1", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RSASHA1_NSEC3", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RSASHA256", type=>"IV", macro=>"1"},
+ {name=>"LDNS_RSASHA512", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_ADDITIONAL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_ANSWER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_ANY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_ANY_NOQUESTION", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_AUTHORITY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SECTION_QUESTION", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SHA1", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SHA256", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_DSA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_DSA_NSEC3", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_ECC_GOST", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_HMACSHA1", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_HMACSHA256", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_RSAMD5", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA1", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA1_NSEC3", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA256", type=>"IV", macro=>"1"},
+ {name=>"LDNS_SIGN_RSASHA512", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_ADDRESS_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CERT_BAD_ALGORITHM", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_ALGO_NOT_IMPL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_BOGUS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_EXPIRATION_BEFORE_INCEPTION", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_DNSKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_DS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_MATCHING_KEYTAG_DNSKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_RRSIG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_TRUSTED_DNSKEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_NO_TRUSTED_DS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_SIG_EXPIRED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_SIG_NOT_INCEPTED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TSIG_BOGUS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TSIG_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_TYPE_COVERED_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_UNKNOWN_ALGO", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_CRYPTO_VALIDATED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DDD_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_EXISTENCE_DENIED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC3_ORIGINAL_NOT_FOUND", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC_RR_NOT_COVERED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DNSSEC_NSEC_WILDCARD_NOT_COVERED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DOMAINNAME_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_DOMAINNAME_UNDERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_EMPTY_LABEL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_ENGINE_KEY_NOT_LOADED", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_FILE_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INTERNAL_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_B32_EXT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_B64", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_HEX", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_INT", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_IP4", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_IP6", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_POINTER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_STR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_INVALID_TIME", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_LABEL_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_MEM_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_MISSING_RDATA_FIELDS_KEY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_MISSING_RDATA_FIELDS_RRSIG", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_NETWORK_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_NOT_IMPL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_NO_DATA", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_NSEC3_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_NULL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_OK", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_PACKET_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_RES_NO_NS", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_RES_QUERY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SOCKET_ERROR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SSL_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ALG_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_BAD_ESCAPE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_CLASS_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_DNAME_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_EMPTY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INCLUDE", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INCLUDE_ERR_NOTIMPL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_INTEGER_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ITERATIONS_OVERFLOW", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_KEYWORD_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_MISSING_VALUE_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_ORIGIN", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_RDATA_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TTL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TTL_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_TYPE_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_SYNTAX_VERSION_ERR", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_UNKNOWN_INET", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_ADDITIONAL", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_ANSWER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_AUTHORITY", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_HEADER", type=>"IV", macro=>"1"},
+ {name=>"LDNS_STATUS_WIRE_INCOMPLETE_QUESTION", type=>"IV", macro=>"1"});
+
+print constant_types(), "\n"; # macro defs
+foreach (C_constant ("LDNS", 'constant', 'IV', $types, undef, 3, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "\n#### XS Section:\n";
+print XS_constant ("LDNS", $types);
+__END__
+ */
+
+ switch (len) {
+ case 7:
+ return constant_7 (aTHX_ name, iv_return);
+ break;
+ case 8:
+ /* Names all of length 8. */
+ /* LDNS_DSA LDNS_ECC */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'D':
+ if (memEQ(name, "LDNS_DSA", 8)) {
+ /* ^ */
+ *iv_return = LDNS_DSA;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "LDNS_ECC", 8)) {
+ /* ^ */
+ *iv_return = LDNS_ECC;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ break;
+ case 9:
+ /* Names all of length 9. */
+ /* LDNS_PORT LDNS_SHA1 */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'P':
+ if (memEQ(name, "LDNS_PORT", 9)) {
+ /* ^ */
+#ifdef LDNS_PORT
+ *iv_return = LDNS_PORT;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDNS_SHA1", 9)) {
+ /* ^ */
+ *iv_return = LDNS_SHA1;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ break;
+ case 11:
+ /* Names all of length 11. */
+ /* LDNS_RSAMD5 LDNS_SHA256 */
+ /* Offset 10 gives the best switch position. */
+ switch (name[10]) {
+ case '5':
+ if (memEQ(name, "LDNS_RSAMD", 10)) {
+ /* 5 */
+ *iv_return = LDNS_RSAMD5;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case '6':
+ if (memEQ(name, "LDNS_SHA25", 10)) {
+ /* 6 */
+ *iv_return = LDNS_SHA256;
+ return PERL_constant_ISIV;
+ }
+ break;
+ }
+ break;
+ case 12:
+ if (memEQ(name, "LDNS_RSASHA1", 12)) {
+ *iv_return = LDNS_RSASHA1;
+ return PERL_constant_ISIV;
+ }
+ break;
+ case 13:
+ return constant_13 (aTHX_ name, iv_return);
+ break;
+ case 14:
+ return constant_14 (aTHX_ name, iv_return);
+ break;
+ case 15:
+ return constant_15 (aTHX_ name, iv_return);
+ break;
+ case 16:
+ return constant_16 (aTHX_ name, iv_return);
+ break;
+ case 17:
+ return constant_17 (aTHX_ name, iv_return);
+ break;
+ case 18:
+ return constant_18 (aTHX_ name, iv_return);
+ break;
+ case 19:
+ return constant_19 (aTHX_ name, iv_return);
+ break;
+ case 20:
+ return constant_20 (aTHX_ name, iv_return);
+ break;
+ case 21:
+ return constant_21 (aTHX_ name, iv_return);
+ break;
+ case 22:
+ return constant_22 (aTHX_ name, iv_return);
+ break;
+ case 23:
+ return constant_23 (aTHX_ name, iv_return);
+ break;
+ case 24:
+ return constant_24 (aTHX_ name, iv_return);
+ break;
+ case 25:
+ /* Names all of length 25. */
+ /* LDNS_NSEC3_MAX_ITERATIONS LDNS_STATUS_SYNTAX_ORIGIN */
+ /* Offset 6 gives the best switch position. */
+ switch (name[6]) {
+ case 'S':
+ if (memEQ(name, "LDNS_NSEC3_MAX_ITERATIONS", 25)) {
+ /* ^ */
+#ifdef LDNS_NSEC3_MAX_ITERATIONS
+ *iv_return = LDNS_NSEC3_MAX_ITERATIONS;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+