summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-05-22 13:36:27 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-05-22 13:36:27 +0000
commit3dcfa5af412125cd1bad1d383ff7c18c5effbd77 (patch)
treeabc0f699ca62367a3ac39ce6899ec9f64e26769f
parent4891157c57ccd537cf8fc88feb002be10e94c288 (diff)
-rw-r--r--Changelog41
-rw-r--r--Makefile.in48
-rw-r--r--README23
-rw-r--r--README-Travis.md274
-rw-r--r--README.snapshots2
-rw-r--r--acx_nlnetlabs.m4223
-rw-r--r--ax_python_devel.m4147
-rw-r--r--compat/asctime_r.c16
-rwxr-xr-xconfig.guess70
-rwxr-xr-xconfig.sub239
-rwxr-xr-xconfigure876
-rw-r--r--configure.ac150
-rw-r--r--contrib/DNS-LDNS/META.yml6
-rw-r--r--contrib/android/15-android.conf37
-rwxr-xr-xcontrib/android/bootstrap_ldns.sh55
-rwxr-xr-xcontrib/android/install_ndk.sh60
-rwxr-xr-xcontrib/android/install_openssl.sh44
-rwxr-xr-xcontrib/android/install_tools.sh26
-rwxr-xr-xcontrib/android/setenv_android.sh203
-rw-r--r--contrib/ios/15-ios.conf41
-rwxr-xr-xcontrib/ios/bootstrap_ldns.sh55
-rwxr-xr-xcontrib/ios/install_openssl.sh52
-rwxr-xr-xcontrib/ios/install_tools.sh9
-rw-r--r--contrib/ios/openssl.patch48
-rwxr-xr-xcontrib/ios/setenv_ios.sh274
-rw-r--r--contrib/ldnsx/ldnsx.py2
-rw-r--r--contrib/python/ldns.i4
-rw-r--r--contrib/python/ldns_rdf.i67
-rw-r--r--dane.c4
-rw-r--r--dnssec.c8
-rw-r--r--dnssec_sign.c9
-rw-r--r--dnssec_zone.c7
-rwxr-xr-xdoc/doxyparse.pl5
-rw-r--r--doc/ldns_manpages674
-rw-r--r--doc/man/man3/ldns_algorithm.35
-rw-r--r--doc/man/man3/ldns_axfr_start.35
-rw-r--r--doc/man/man3/ldns_b32_ntop_calculate_size.35
-rw-r--r--doc/man/man3/ldns_bget_token.35
-rw-r--r--doc/man/man3/ldns_bubblebabble.35
-rw-r--r--doc/man/man3/ldns_buffer.35
-rw-r--r--doc/man/man3/ldns_buffer2pkt_wire.35
-rw-r--r--doc/man/man3/ldns_buffer_flip.35
-rw-r--r--doc/man/man3/ldns_buffer_limit.35
-rw-r--r--doc/man/man3/ldns_buffer_remaining_at.35
-rw-r--r--doc/man/man3/ldns_buffer_write_at.35
-rw-r--r--doc/man/man3/ldns_calc_keytag.35
-rw-r--r--doc/man/man3/ldns_create_nsec.35
-rw-r--r--doc/man/man3/ldns_dane_create_tlsa_rr.35
-rw-r--r--doc/man/man3/ldns_dane_verify.35
-rw-r--r--doc/man/man3/ldns_dname2canonical.35
-rw-r--r--doc/man/man3/ldns_dname_cat_clone.35
-rw-r--r--doc/man/man3/ldns_dname_compare.35
-rw-r--r--doc/man/man3/ldns_dname_is_subdomain.35
-rw-r--r--doc/man/man3/ldns_dname_left_chop.35
-rw-r--r--doc/man/man3/ldns_dname_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_data_chain.35
-rw-r--r--doc/man/man3/ldns_dnssec_data_chain_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_name_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_rrs_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_rrsets_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_trust_tree_new.35
-rw-r--r--doc/man/man3/ldns_dnssec_verify_denial.35
-rw-r--r--doc/man/man3/ldns_dnssec_zone.35
-rw-r--r--doc/man/man3/ldns_dnssec_zone_find_rrset.35
-rw-r--r--doc/man/man3/ldns_dnssec_zone_sign.35
-rw-r--r--doc/man/man3/ldns_duration_type.35
-rw-r--r--doc/man/man3/ldns_fget_token.35
-rw-r--r--doc/man/man3/ldns_get_errorstr_by_id.35
-rw-r--r--doc/man/man3/ldns_get_rr_class_by_name.35
-rw-r--r--doc/man/man3/ldns_get_rr_list_addr_by_name.35
-rw-r--r--doc/man/man3/ldns_get_rr_list_hosts_frm_file.35
-rw-r--r--doc/man/man3/ldns_getaddrinfo.35
-rw-r--r--doc/man/man3/ldns_init_random.35
-rw-r--r--doc/man/man3/ldns_is_rrset.35
-rw-r--r--doc/man/man3/ldns_key.35
-rw-r--r--doc/man/man3/ldns_key2rr.35
-rw-r--r--doc/man/man3/ldns_key_buf2dsa.35
-rw-r--r--doc/man/man3/ldns_key_free.35
-rw-r--r--doc/man/man3/ldns_key_list_key_count.35
-rw-r--r--doc/man/man3/ldns_key_list_new.35
-rw-r--r--doc/man/man3/ldns_key_list_push_key.35
-rw-r--r--doc/man/man3/ldns_key_new.35
-rw-r--r--doc/man/man3/ldns_key_print.35
-rw-r--r--doc/man/man3/ldns_key_rr2ds.35
-rw-r--r--doc/man/man3/ldns_key_set_algorithm.35
-rw-r--r--doc/man/man3/ldns_native2rdf_int8.35
-rw-r--r--doc/man/man3/ldns_octet.35
-rw-r--r--doc/man/man3/ldns_pkt.35
-rw-r--r--doc/man/man3/ldns_pkt2buffer_str.35
-rw-r--r--doc/man/man3/ldns_pkt_edns.35
-rw-r--r--doc/man/man3/ldns_pkt_id.35
-rw-r--r--doc/man/man3/ldns_pkt_new.35
-rw-r--r--doc/man/man3/ldns_pkt_set_flags.35
-rw-r--r--doc/man/man3/ldns_pkt_tsig_verify.35
-rw-r--r--doc/man/man3/ldns_pkt_verify.35
-rw-r--r--doc/man/man3/ldns_rdf.35
-rw-r--r--doc/man/man3/ldns_rdf2buffer_str_a.35
-rw-r--r--doc/man/man3/ldns_rdf_address_reverse.35
-rw-r--r--doc/man/man3/ldns_rdf_new.35
-rw-r--r--doc/man/man3/ldns_rdf_set_size.35
-rw-r--r--doc/man/man3/ldns_rdf_size.37
-rw-r--r--doc/man/man3/ldns_rr.329
-rw-r--r--doc/man/man3/ldns_rr2canonical.35
-rw-r--r--doc/man/man3/ldns_rr2str.35
-rw-r--r--doc/man/man3/ldns_rr2wire.35
-rw-r--r--doc/man/man3/ldns_rr_compare.35
-rw-r--r--doc/man/man3/ldns_rr_descriptor.35
-rw-r--r--doc/man/man3/ldns_rr_dnskey_flags.35
-rw-r--r--doc/man/man3/ldns_rr_label_count.35
-rw-r--r--doc/man/man3/ldns_rr_list_cat.35
-rw-r--r--doc/man/man3/ldns_rr_list_clone.35
-rw-r--r--doc/man/man3/ldns_rr_list_new.35
-rw-r--r--doc/man/man3/ldns_rr_list_rr_count.35
-rw-r--r--doc/man/man3/ldns_rr_list_sort.35
-rw-r--r--doc/man/man3/ldns_rr_mx_preference.35
-rw-r--r--doc/man/man3/ldns_rr_new.35
-rw-r--r--doc/man/man3/ldns_rr_ns_nsdname.35
-rw-r--r--doc/man/man3/ldns_rr_push_rdf.35
-rw-r--r--doc/man/man3/ldns_rr_rdf.35
-rw-r--r--doc/man/man3/ldns_rr_rrsig_typecovered.35
-rw-r--r--doc/man/man3/ldns_rr_set_owner.35
-rw-r--r--doc/man/man3/ldns_rr_set_push_rr.35
-rw-r--r--doc/man/man3/ldns_rr_uncompressed_size.35
-rw-r--r--doc/man/man3/ldns_send.35
-rw-r--r--doc/man/man3/ldns_sign_public.35
-rw-r--r--doc/man/man3/ldns_sign_public_dsa.35
-rw-r--r--doc/man/man3/ldns_str2period.35
-rw-r--r--doc/man/man3/ldns_tcp_send_query.35
-rw-r--r--doc/man/man3/ldns_update_pkt_new.35
-rw-r--r--doc/man/man3/ldns_update_pkt_tsig_add.35
-rw-r--r--doc/man/man3/ldns_update_set_zocount.35
-rw-r--r--doc/man/man3/ldns_update_zocount.35
-rw-r--r--doc/man/man3/ldns_verify.35
-rw-r--r--doc/man/man3/ldns_verify_rrsig_dsa.35
-rw-r--r--doc/man/man3/ldns_version.35
-rw-r--r--doc/man/man3/ldns_wire2rr.35
-rw-r--r--doc/man/man3/ldns_zone.35
-rw-r--r--doc/man/man3/ldns_zone_push_rr.35
-rw-r--r--doc/man/man3/ldns_zone_rr_count.35
-rw-r--r--doc/man/man3/ldns_zone_rrs.35
-rw-r--r--doc/man/man3/ldns_zone_set_rrs.35
-rw-r--r--doc/man/man3/ldns_zone_sign.35
-rw-r--r--doc/man/man3/ldns_zone_sort.35
-rw-r--r--drill/drill.1.in2
-rw-r--r--drill/drill.c2
-rw-r--r--drill/root.c22
-rw-r--r--edns.c47
-rw-r--r--error.c5
-rw-r--r--examples/ldns-chaos.12
-rw-r--r--examples/ldns-dane.1.in2
-rw-r--r--examples/ldns-dpa.12
-rw-r--r--examples/ldns-gen-zone.12
-rw-r--r--examples/ldns-key2ds.12
-rw-r--r--examples/ldns-keyfetcher.12
-rw-r--r--examples/ldns-keygen.12
-rw-r--r--examples/ldns-keygen.c4
-rw-r--r--examples/ldns-mx.12
-rw-r--r--examples/ldns-notify.12
-rw-r--r--examples/ldns-notify.c2
-rw-r--r--examples/ldns-nsec3-hash.12
-rw-r--r--examples/ldns-nsec3-hash.c1
-rw-r--r--examples/ldns-read-zone.12
-rw-r--r--examples/ldns-resolver.12
-rw-r--r--examples/ldns-revoke.12
-rw-r--r--examples/ldns-rrsig.12
-rw-r--r--examples/ldns-signzone.12
-rw-r--r--examples/ldns-signzone.c6
-rw-r--r--examples/ldns-test-edns.12
-rw-r--r--examples/ldns-testns.16
-rw-r--r--examples/ldns-testns.c9
-rw-r--r--examples/ldns-testpkts.c43
-rw-r--r--examples/ldns-testpkts.h5
-rw-r--r--examples/ldns-update.12
-rw-r--r--examples/ldns-verify-zone.1.in2
-rw-r--r--examples/ldns-version.12
-rw-r--r--examples/ldns-walk.12
-rw-r--r--examples/ldns-walk.c15
-rw-r--r--examples/ldns-zcat.12
-rw-r--r--examples/ldns-zsplit.12
-rw-r--r--examples/ldnsd.12
-rw-r--r--host2str.c20
-rw-r--r--keys.c16
-rw-r--r--ldns/config.h.in28
-rw-r--r--ldns/edns.h15
-rw-r--r--ldns/error.h4
-rw-r--r--ldns/net.h.in3
-rw-r--r--ldns/parse.h26
-rw-r--r--ldns/radix.h2
-rw-r--r--ldns/rdata.h2
-rw-r--r--ldns/rr.h18
-rw-r--r--libdns.doxygen.in20
-rwxr-xr-xltmain.sh851
-rw-r--r--m4/libtool.m4229
-rw-r--r--m4/ltoptions.m44
-rw-r--r--m4/ltsugar.m42
-rw-r--r--m4/ltversion.m413
-rw-r--r--m4/lt~obsolete.m44
-rwxr-xr-xmakewin.sh65
-rw-r--r--net.c4
-rw-r--r--packaging/ldns-config.12
-rw-r--r--packet.c4
-rw-r--r--rr.c14
-rw-r--r--util.c2
-rw-r--r--wire2host.c2
204 files changed, 3014 insertions, 2921 deletions
diff --git a/Changelog b/Changelog
index aba41c88c5c8..c7f36767b360 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,44 @@
+1.8.4 2024-07-19
+ * Fix building documentation in build directory.
+ Thanks Michael Tokarev
+ * Updated the configure script for split openssl directories.
+ * Fix for windows compile; asctime_r compat, search for inet_ntop
+ in ws2_32, avoid double decl of inet_ntop, check for symlink call,
+ include config.h in edns.c, have socket compare use correct
+ signedness, add -u repo option to makewin.sh, fix quoting in
+ makewin.sh and check return value of bind and connect in net.c
+ for failure instead of a socket type. And fix to install .exe files.
+ * Fix to compile with OpenSSL 3.2. Update acx_nlnetlabs.m4 to 48.
+ * Fix to compile DLLs, and pick out of the lib64 dir, and include
+ libssp-0.dll and ldns-config.
+ * bugfix #237: Resolver uses nameserver commented out in
+ /etc/resolv.conf. Thanks grembo.
+ * Added RESINFO rrtype.
+ * Added WALLET rrtype.
+ * PR #241: Fix coverity cited problems. Thanks Enji Cooper.
+ * PR #233: Several Python SWIG issues. Thanks Florian Weimer.
+ * PR #231: const ldns_rdf * typemap fixes to support swig-4.2.0
+ Thanks William S Fulton
+ * PR #227: keys.c: fix build with libressl >= 3.8.1
+ Thanks Fabrice Fontaine
+ * PR #224: Portable executable progs don't underlink to libldns
+ Thanks Ørjan Malde
+ * PR #216: Update declaration for function with no argument
+ Thanks Ed Maste
+ * PR #214: fix the build in FreeBSD's base system
+ Thanks Pierre Pronchery and Dag-Erling Smørgrav
+ * PR #206: improve 'next-label' algorithm in ldns-walk
+ Thanks Jelte Jansen
+ * PR #205: Add functions to extract RFC 8914 extended errors
+ Thanks Roland van Rijswijk-Deij
+ * PR #203: Expand CI: Cygwin, BSDs, musl libc, 32-bit, and big-endian
+ Thanks Felipe Gasper
+ * PR #191: 16-unit-tests-edns: Fix leak & warnings
+ Thanks Felipe Gasper
+ * Added NXNAME rrtype.
+ * PR #242: Openssl no engine improved support #242
+ Thanks Petr Menšík
+
1.8.3 2022-08-15
* bugfix #183: Assertion failure with OPT record without rdata.
This caused packet creation with only a DO bit (for DNSSEC OK)
diff --git a/Makefile.in b/Makefile.in
index 57957d0844d3..32b91576d0d9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -20,13 +20,14 @@ p5_dns_ldns_dir = $(srcdir)/contrib/DNS-LDNS
PERL = @PERL@
swig = @swig@
swigpy_flags = -python @SWIGPY3@
-python_site = @PYTHON_SITE_PKG@
+python_site = @PYTHON_PLATFORM_SITE_PKG@
pyldns_inst = @PYLDNSINST@
pyldns_uninst = @PYLDNSUNINST@
pyldnsx_inst = @PYLDNSXINST@
pyldnsx_uninst = @PYLDNSXUNINST@
libtool = @libtool@
CONFIG_FILES = @CONFIG_FILES@
+top_builddir = @top_builddir@
LDNS_TRUST_ANCHOR_FILE = @LDNS_TRUST_ANCHOR_FILE@
DEFAULT_CAFILE = @DEFAULT_CAFILE@
@@ -85,6 +86,7 @@ LINTFLAGS += -D"__BEGIN_DECLS=" -D"__ssize_t=ssize_t" -D"__intptr_t=intptr
# FreeBSD 9
LINTFLAGS += -D"_RuneLocale=int"
DEPFLAG = @DEPFLAG@
+EXEEXT=@EXEEXT@
INSTALL = $(srcdir)/install-sh
@@ -150,7 +152,8 @@ setup-builddir:
# builddir/ is used by 60-compile-builddir
putdown-builddir:
- rm -f include/ldns lib config.h
+ rm -rf include/ldns
+ rm -f lib config.h
test ! -d include || rmdir include || :
if test -d examples -a ! -f examples/README; then rmdir examples || : ; fi
if test -d drill -a ! -f drill/README ; then rmdir drill || : ; fi
@@ -168,7 +171,7 @@ no-drill-config-h:
fi
drill/drill: $(DRILL_LOBJS) $(LIB) $(LIBLOBJS)
- $(LINK_EXE) $(DRILL_LOBJS) $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o drill/drill
+ $(LINK_EXE) $(DRILL_LOBJS) $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o drill/drill $(top_builddir)/libldns.la
drill/drill.1: $(srcdir)/drill/drill.1.in
$(edit) $(srcdir)/drill/drill.1.in > drill/drill.1
@@ -177,16 +180,16 @@ install-drill: drill/drill drill/drill.1
$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
- $(LIBTOOL) --mode=install cp drill/drill $(DESTDIR)$(bindir)
+ $(LIBTOOL) --mode=install cp drill/drill$(EXEEXT) $(DESTDIR)$(bindir)
$(INSTALL) -m 644 drill/drill.1 $(DESTDIR)$(mandir)/man1/drill.1
uninstall-drill:
- rm -f $(DESTDIR)$(bindir)/drill $(DESTDIR)$(mandir)/man1/drill.1
+ rm -f $(DESTDIR)$(bindir)/drill$(EXEEXT) $(DESTDIR)$(mandir)/man1/drill.1
test ! -d $(DESTDIR)$(mandir) || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
test ! -d $(DESTDIR)$(bindir) || rmdir -p $(DESTDIR)$(bindir) || : ;
clean-drill:
- $(LIBTOOL) --mode clean rm -f $(DRILL_LOBJS) drill/drill drill/drill.1
+ $(LIBTOOL) --mode clean rm -f $(DRILL_LOBJS) drill/drill$(EXEEXT) drill/drill.1
examples: setup-builddir no-examples-config-h $(LIB) $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_PROGS) examples/ldns-dane.1 examples/ldns-verify-zone.1
no-examples-config-h:
@@ -200,23 +203,23 @@ no-examples-config-h:
# Need LIBSSL_LIBS
$(EXAMPLE_PROGS):
- $(LINK_EXE) $@.lo $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $@
+ $(LINK_EXE) $@.lo $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $@ $(top_builddir)/libldns.la
# Need LIBSSL_LIBS
$(TESTNS):
- $(LINK_EXE) $(TESTNS_LOBJS) $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $(TESTNS)
+ $(LINK_EXE) $(TESTNS_LOBJS) $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $(TESTNS) $(top_builddir)/libldns.la
# Need LIBSSL_LIBS
$(LDNS_DPA):
$(LINK_EXE) $(LDNS_DPA_LOBJS) $(LIBLOBJS) $(LIB) $(LIBPCAP_LIBS) $(LIBSSL_LIBS) $(LIBS) \
- -o $(LDNS_DPA)
+ -o $(LDNS_DPA) $(top_builddir)/libldns.la
$(LDNS_DANE):
$(LINK_EXE) $(LDNS_DANE_LOBJS) $(LIBLOBJS) $(LIB) $(LIBSSL_SSL_LIBS) $(LIBS) \
- -o $(LDNS_DANE)
+ -o $(LDNS_DANE) $(top_builddir)/libldns.la
$(EX_SSL_PROGS):
- $(LINK_EXE) $@.lo $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $@
+ $(LINK_EXE) $@.lo $(LIBLOBJS) $(LIB) $(LIBSSL_LIBS) $(LIBS) -o $@ $(top_builddir)/libldns.la
examples/ldns-dane.1: $(srcdir)/examples/ldns-dane.1.in
$(edit) $(srcdir)/examples/ldns-dane.1.in > examples/ldns-dane.1
@@ -229,7 +232,7 @@ install-examples: $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_P
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
for p in $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_PROGS) ; do \
- $(LIBTOOL) --mode=install cp $$p $(DESTDIR)$(bindir) ; \
+ $(LIBTOOL) --mode=install cp $$p$(EXEEXT) $(DESTDIR)$(bindir) ; \
if test -f $$p.1 ; \
then $(INSTALL) -m 644 $$p.1 $(DESTDIR)$(mandir)/man1 ; \
else $(INSTALL) -m 644 $(srcdir)/$$p.1 $(DESTDIR)$(mandir)/man1 ; \
@@ -238,20 +241,22 @@ install-examples: $(EXAMPLE_PROGS) $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_P
uninstall-examples:
for p in $(EX_PROGS_BASENM) ; do \
- rm -f $(DESTDIR)$(bindir)/$$p $(DESTDIR)$(mandir)/man1/$$p.1 ;\
+ rm -f $(DESTDIR)$(bindir)/$$p$(EXEEXT) $(DESTDIR)$(mandir)/man1/$$p.1 ;\
done
test ! -d $(DESTDIR)$(mandir) || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
test ! -d $(DESTDIR)$(bindir) || rmdir -p $(DESTDIR)$(bindir) || : ;
clean-examples:
- $(LIBTOOL) --mode clean rm -f $(EXAMPLE_PROGS)
+ for p in $(EX_PROGS_BASENM) ; do \
+ $(LIBTOOL) --mode clean rm -f $$p$(EXEEXT) ;\
+ done
$(LIBTOOL) --mode clean rm -f $(TESTNS) $(LDNS_DPA) $(LDNS_DANE) $(EX_SSL_PROGS)
$(LIBTOOL) --mode clean rm -f $(EXAMPLE_LOBJS)
$(LIBTOOL) --mode clean rm -f examples/ldns-dane.1 examples/ldns-verify-zone.1
linktest: $(srcdir)/linktest.c libldns.la
$(COMP_LIB) $(LIBSSL_CPPFLAGS) -c $(srcdir)/linktest.c -o linktest.lo
- $(LINK_EXE) linktest.lo $(LIB) $(LIBSSL_LIBS) $(LIBS) -o linktest
+ $(LINK_EXE) linktest.lo $(LIB) $(LIBSSL_LIBS) $(LIBS) -o linktest $(top_builddir)/libldns.la
lib: libldns.la
@@ -270,7 +275,7 @@ doxygen:
@if test ! -e doc/header.html ; then \
$(INSTALL) -c -m 644 $(srcdir)/doc/header.html doc/ ; \
fi ;
- $(doxygen) $(srcdir)/libdns.doxygen
+ $(doxygen) libdns.doxygen
doc: manpages $(doxygen)
@$(INSTALL) -d doc
@@ -641,10 +646,10 @@ dnssec_zone.lo dnssec_zone.o: $(srcdir)/dnssec_zone.c ldns/config.h $(srcdir)/ld
$(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.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
-edns.lo edns.o: $(srcdir)/edns.c $(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/edns.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 \
+edns.lo edns.o: $(srcdir)/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 $(srcdir)/ldns/edns.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/radix.h \
@@ -807,6 +812,7 @@ zone.lo zone.o: $(srcdir)/zone.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.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/radix.h \
$(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+compat/asctime_r.lo compat/asctime_r.o: $(srcdir)/compat/asctime_r.c ldns/config.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
@@ -865,7 +871,7 @@ examples/ldns-dpa.lo examples/ldns-dpa.o: $(srcdir)/examples/ldns-dpa.c ldns/con
$(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/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-dpa.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.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 \
diff --git a/README b/README
index 98575917b448..e07fdc078aa2 100644
--- a/README
+++ b/README
@@ -106,26 +106,3 @@ Also, when building with SWIG older than 2.0.4, compiling
pyldns produces many ``missing initializer'' warnings. Those are harmless
too.
-Your Support
-NLnet Labs offers all of its software products as open source, most
-published under a BSD license. You can download them, not only from the
-NLnet Labs website but also through the various OS distributions for
-which NSD, ldns, and Unbound are packaged. We therefore have little idea
-who uses our software in production environments and have no direct ties
-with 'our customers'.
-
-Therefore, we ask you to contact us at users@NLnetLabs.nl and tell us
-whether you use one of our products in your production environment,
-what that environment looks like, and maybe even share some praise.
-We would like to refer to the fact that your organization is using our
-products. We will only do that if you explicitly allow us. In all other
-cases we will keep the information you share with us to ourselves.
-
-In addition to the moral support you can also support us
-financially. NLnet Labs is a recognized not-for-profit charity foundation
-that is chartered to develop open-source software and open-standards
-for the Internet. If you use our software to satisfaction please express
-that by giving us a donation. For small donations PayPal can be used. For
-larger and regular donations please contact us at users@NLnetLabs.nl. Also
-see http://www.nlnetlabs.nl/labs/contributors/.
-
diff --git a/README-Travis.md b/README-Travis.md
deleted file mode 100644
index faa534353119..000000000000
--- a/README-Travis.md
+++ /dev/null
@@ -1,274 +0,0 @@
-# Travis Testing
-
-LDNS 1.7.1 and above leverage Travis CI to increase coverage of compilers and platforms. Compilers include Clang and GCC; while platforms include Android, iOS, Linux, and OS X on AMD64, Aarch64, PowerPC and s390x hardware.
-
-Android is tested on armv7a, aarch64, x86 and x86_64. The Android recipes build and install OpenSSL, and then builds LDNS. The testing is tailored for Android NDK-r19 and above, and includes NDK-r20 and NDK-r21. Mips and Mips64 are not tested because they are no longer supported under current NDKs.
-
-iOS is tested for iPhoneOS, WatchOS, AppleTVOS, iPhoneSimulator, AppleTVSimulator and WatchSimulator. The testing uses Xcode 10 on OS X 10.13.
-
-The LDNS Travis configuration file `.travis.yml` does not use top-level keys like `os:` and `compiler:` so there is no matrix expansion. Instead LDNS specifies the exact job to run under the `jobs:` and `include:` keys.
-
-## Typical recipe
-
-A typical recipe tests Clang and GCC on various hardware. The hardware includes AMD64, Aarch64, PowerPC and s390x. PowerPC is a little-endian platform, and s390x is a big-endian platform. There are pairs of recipes that are similar to the following.
-
-```
-- os: linux
- name: GCC on Linux, Aarch64
- compiler: gcc
- arch: arm64
- dist: bionic
-- os: linux
- name: Clang on Linux, Aarch64
- compiler: clang
- arch: arm64
- dist: bionic
-```
-
-OS X provides a single recipe to test Clang. GCC is not tested because GCC is an alias for Clang.
-
-## Sanitizer builds
-
-Two sanitizer builds are tested using Clang and GCC, for a total of four builds. The first sanitizer is Undefined Behavior sanitizer (UBsan), and the second is Address sanitizer (Asan). The sanitizers are only run on AMD64 hardware. Note the environment includes `UBSAN=yes` or `ASAN=yes` for the sanitizer builds.
-
-The recipes are similar to the following.
-
-```
-- os: linux
- name: UBsan, GCC on Linux, Amd64
- compiler: gcc
- arch: amd64
- dist: bionic
- env: UBSAN=yes
-- os: linux
- name: UBsan, Clang on Linux, Amd64
- compiler: clang
- arch: amd64
- dist: bionic
- env: UBSAN=yes
-```
-
-When the Travis script encounters a sanitizer it uses different `CFLAGS` and configuration string.
-
-```
-if [ "$UBSAN" = "yes" ]; then
- export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover"
- bash test/test_ci.sh
-elif [ "$ASAN" = "yes" ]; then
- export CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address"
- bash test/test_ci.sh
-...
-```
-
-## Android builds
-
-Travis tests Android builds for the armv7a, aarch64, x86 and x86_64 architectures. The builds are trickier than other builds for several reasons. The testing requires installation of the Android NDK and SDK, it requires a cross-compile, and requires OpenSSL prerequisites. The Android cross-compiles also require care to set the Autotools triplet, the OpenSSL triplet, the toolchain path, the tool variables, and the sysroot. The discussion below detail the steps of the Android recipes.
-
-### Android job
-
-The first step sets environmental variables for the cross-compile using the Travis job. A typical job with variables is shown below.
-
-```
-- os: linux
- name: Android armv7a, Linux, Amd64
- compiler: clang
- arch: amd64
- dist: bionic
- env:
- - ANDROID=yes
- - AUTOTOOLS_HOST=armv7a-linux-androideabi
- - OPENSSL_HOST=android-arm
- - ANDROID_CPU=armv7a
- - ANDROID_API=23
- - ANDROID_PREFIX="$HOME/android$ANDROID_API-$ANDROID_CPU"
- - ANDROID_SDK_ROOT="$HOME/android-sdk"
- - ANDROID_NDK_ROOT="$HOME/android-ndk"
-```
-
-### ANDROID_NDK_ROOT
-
-The second step for Android is to set the environmental variables `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT`. This is an important step because the NDK and SDK use the variables internally to locate their own tools. Also see [Recommended NDK Directory?](https://groups.google.com/forum/#!topic/android-ndk/qZjhOaynHXc) on the android-ndk mailing list. (Many folks miss this step, or use incorrect variables like `ANDROID_NDK_HOME` or `ANDROID_SDK_HOME`).
-
-If you are working from a developer machine you probably already have the necessary tools installed. You should ensure `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT` are set properly.
-
-### Tool installation
-
-The second step installs tools needed for OpenSSL, Expat and LDNS. This step is handled in by the script `contrib/android/install_tools.sh`. The tools include curl, tar, zip, unzip and java.
-
-```
-before_script:
- - |
- if [ "$ANDROID" = "yes" ]; then
- ./contrib/android/install_tools.sh
- elif [ "$IOS" = "yes" ]; then
- ./contrib/ios/install_tools.sh
- fi
-```
-
-### NDK installation
-
-The third step installs the NDK and SDK. This step is handled in by the script `contrib/android/install_ndk.sh`. The script uses `ANDROID_NDK_ROOT` and `ANDROID_SDK_ROOT` to place the NDK and SDK in the `$HOME` directory.
-
-If you are working from a developer machine you probably already have a NDK and SDK installed.
-
-### Android environment
-
-The fourth step sets the Android cross-compile environment using the script `contrib/android/setenv_android.sh`. The script is `sourced` so the variables in the script are available to the calling shell. The script sets variables like `CC`, `CXX`, `AS` and `AR`; sets `CFLAGS` and `CXXFLAGS`; sets a `sysroot` so Android headers and libraries are found; and adds the path to the toolchain to `PATH`.
-
-`contrib/android/setenv_android.sh` knows which toolchain and architecture to select by inspecting environmental variables set by Travis for the job. In particular, the variables `ANDROID_CPU` and `ANDROID_API` tell `contrib/android/setenv_android.sh` which tools and libraries to select.
-
-The `contrib/android/setenv_android.sh` script specifies the tools in a `case` statement like the following. There is a case for each of the architectures armv7a, aarch64, x86 and x86_64.
-
-```
-armv8a|aarch64|arm64|arm64-v8a)
- CC="aarch64-linux-android$ANDROID_API-clang"
- CXX="aarch64-linux-android$ANDROID_API-clang++"
- LD="aarch64-linux-android-ld"
- AS="aarch64-linux-android-as"
- AR="aarch64-linux-android-ar"
- RANLIB="aarch64-linux-android-ranlib"
- STRIP="aarch64-linux-android-strip"
-
- CFLAGS="-funwind-tables -fexceptions"
- CXXFLAGS="-funwind-tables -fexceptions -frtti"
-```
-
-### OpenSSL
-
-The fifth step builds OpenSSL. OpenSSL is built for iOS using the scripts `contrib/android/install_openssl.sh`. The script downloads, configures and installs the latest release version of the OpenSSL libraries. OpenSSL is configured with `--prefix="$ANDROID_PREFIX"` so the headers are placed in `$ANDROID_PREFIX/include` directory, and the libraries are placed in the `$ANDROID_PREFIX/lib` directory.
-
-`ANDROID_PREFIX` is the value `$HOME/android$ANDROID_API-$ANDROID_CPU`. The libraries will be installed in `$HOME/android23-armv7a`, `$HOME/android23-aarch64`, etc. For Autotools projects, the appropriate `PKG_CONFIG_PATH` is exported.
-
-`PKG_CONFIG_PATH` is an important variable. It is the userland equivalent to sysroot, and allows Autotools to find non-system headers and libraries for an architecture. Typical `PKG_CONFIG_PATH` are `$HOME/android23-armv7a/lib/pkgconfig` and `$HOME/android23-aarch64/lib/pkgconfig`.
-
-OpenSSL also uses a custom configuration file called `15-android.conf`. It is a copy of the OpenSSL's project file and located at `contrib/android/15-android.conf`. The LDNS version is copied to the OpenSSL source files after unpacking the OpenSSL distribution. The LDNS version has legacy NDK support removed and some other fixes, like `ANDROID_NDK_ROOT` awareness. The changes mean LDNS's `15-android.conf` will only work with LDNS, with NDK-r19 and above, and a properly set environment.
-
-OpenSSL is configured with `no-engine`. If you want to include OpenSSL engines then edit `contrib/android/install_openssl.sh` and remove the config option.
-
-### Android build
-
-Finally, once OpenSSL are built, then the Travis script configures and builds LDNS. The recipe looks as follows.
-
-```
-elif [ "$ANDROID" = "yes" ]; then
- export AUTOTOOLS_BUILD="$(./config.guess)"
- export PKG_CONFIG_PATH="$ANDROID_PREFIX/lib/pkgconfig"
- ./contrib/android/install_ndk.sh
- source ./contrib/android/setenv_android.sh
- ./contrib/android/install_openssl.sh
- ./contrib/android/bootstrap_ldns.sh
- ./configure \
- --build="$AUTOTOOLS_BUILD" \
- --host="$AUTOTOOLS_HOST" \
- --prefix="$ANDROID_PREFIX" \
- --with-ssl="$ANDROID_PREFIX" \
- --disable-gost \
- --with-drill --with-examples
- make -j 2
- make install
-```
-
-Travis only smoke tests an Android build using a compile, link and install. The self tests are not run. TODO: figure out how to fire up an emulator, push the tests to the device and run them.
-
-### Android flags
-
-`contrib/android/setenv_android.sh` uses specific flags for `CFLAGS` and `CXXFLAGS`. They are taken from `ndk-build`, so we consider them the official flag set. It is important to use the same flags across projects to avoid subtle problems due to mixing and matching different flags.
-
-`CXXFLAGS` includes `-fexceptions` and `-frtti` because exceptions and runtime type info are disabled by default. `CFLAGS` include `-funwind-tables` and `-fexceptions` to ensure C++ exceptions pass through C code, if needed. Also see `docs/CPLUSPLUS-SUPPORT.html` in the NDK docs.
-
-To inspect the flags used by `ndk-build` for a platform clone ASOP's [ndk-samples](https://github.com/android/ndk-samples/tree/master/hello-jni) and build the `hello-jni` project. Use the `V=1` flag to see the full compiler output from `ndk-build`.
-
-## iOS builds
-
-Travis tests iOS builds for the armv7a, armv7s and aarch64 architectures for iPhoneOS, AppleTVOS and WatchOS. iPhoneOS is tested using both 32-bit builds (iPhones) and 64-bit builds (iPads). Travis also tests compiles against the simulators. The builds are trickier than other builds for several reasons. The testing requires a cross-compile, and requires OpenSSL prerequisites. The iOS cross-compiles also require care to set the Autotools triplet, the OpenSSL triplet, the toolchain path, the tool variables, and the sysroot. The discussion below detail the steps of the iOS recipes.
-
-### iOS job
-
-The first step sets environmental variables for the cross-compile using the Travis job. A typical job with variables is shown below.
-
-```
-- os: osx
- osx_image: xcode10
- name: Apple iPhone on iOS, armv7
- compiler: clang
- env:
- - IOS=yes
- - AUTOTOOLS_HOST=armv7-apple-ios
- - OPENSSL_HOST=ios-cross
- - IOS_SDK=iPhoneOS
- - IOS_CPU=armv7s
- - IOS_PREFIX="$HOME/$IOS_SDK-$IOS_CPU"
-```
-
-### Tool installation
-
-The second step installs tools needed for OpenSSL, Expat and LDNS. This step is handled in by the script `contrib/ios/install_tools.sh`. The tools include autotools, curl and perl. The installation happens at the `before_script:` stage of Travis.
-
-```
-before_script:
- - |
- if [ "$ANDROID" = "yes" ]; then
- ./contrib/android/install_tools.sh
- elif [ "$IOS" = "yes" ]; then
- ./contrib/ios/install_tools.sh
- fi
-```
-
-### iOS environment
-
-The third step sets the iOS cross-compile environment using the script `contrib/ios/setenv_ios.sh`. The script is `sourced` so the variables in the script are available to the calling shell. The script sets variables like `CC`, `CXX`, `AS` and `AR`; sets `CFLAGS` and `CXXFLAGS`; sets a `sysroot` so iOS headers and libraries are found; and adds the path to the toolchain to `PATH`.
-
-`contrib/ios/setenv_ios.sh` knows which toolchain and architecture to select by inspecting environmental variables set by Travis for the job. In particular, the variables `IOS_SDK` and `IOS_CPU` tell `contrib/ios/setenv_ios.sh` which tools and libraries to select.
-
-The `contrib/ios/setenv_ios.sh` script specifies the tools to use during the cross-compile. For Apple SDKs, the tool names are the same as a desktop. There are no special prefixes for the mobile tools.
-
-```
-CPP=cpp
-CC=clang
-CXX=clang++
-LD=ld
-AS=as
-AR=ar
-RANLIB=ranlib
-STRIP=strip
-```
-
-If you are working from a developer machine you probably already have the necessary tools installed.
-
-### OpenSSL
-
-The fourth step builds OpenSSL. OpenSSL is built for iOS using the scripts `contrib/ios/install_openssl.sh`. The script downloads, configures and installs the latest release version of the OpenSSL libraries. OpenSSL is configured with `--prefix="$IOS_PREFIX"` so the headers are placed in `$IOS_PREFIX/include` directory, and the libraries are placed in the `$IOS_PREFIX/lib` directory.
-
-`IOS_PREFIX` is the value `$HOME/$IOS_SDK-$IOS_CPU`. The scheme handles both iOS SDKs and cpu architectures so the pair receives a unique installation directory. The libraries will be installed in `$HOME/iPhoneOS-armv7s`, `$HOME/iPhoneOS-arm64`, `$HOME/iPhoneSimulator-i386`, etc. For Autotools projects, the appropriate `PKG_CONFIG_PATH` is exported.
-
-`PKG_CONFIG_PATH` is an important variable. It is the userland equivalent to sysroot, and allows Autotools to find non-system headers and libraries for an architecture. Typical `PKG_CONFIG_PATH` are `$HOME/iPhoneOS-armv7s/lib/pkgconfig` and `$HOME/iPhoneOS-arm64/lib/pkgconfig`.
-
-OpenSSL also uses a custom configuration file called `15-ios.conf`. It is a copy of the OpenSSL's project file and located at `contrib/ios/15-ios.conf`. The LDNS version is copied to the OpenSSL source files after unpacking the OpenSSL distribution. The changes mean LDNS's `15-ios.conf` will only work with LDNS and a properly set environment.
-
-OpenSSL is configured with `no-engine`. Engines require dynamic loading so engines are disabled permanently in `15-ios.conf`.
-
-### iOS build
-
-Finally, once OpenSSL are built, then the Travis script configures and builds LDNS. The full recipe looks as follows.
-
-```
-elif [ "$IOS" = "yes" ]; then
- export AUTOTOOLS_BUILD="$(./config.guess)"
- export PKG_CONFIG_PATH="$IOS_PREFIX/lib/pkgconfig"
- source ./contrib/ios/setenv_ios.sh
- ./contrib/ios/install_openssl.sh
- ./contrib/ios/bootstrap_ldns.sh
- ./configure \
- --build="$AUTOTOOLS_BUILD" --host="$AUTOTOOLS_HOST" \
- --prefix="$IOS_PREFIX" \
- --with-ssl="$IOS_PREFIX" --disable-gost \
- --with-drill --with-examples
- make -j 2
- make install
-```
-
-Travis only smoke tests an iOS build using a compile, link and install. The self tests are not run. TODO: figure out how to fire up an simulator, push the tests to the device and run them.
-
-### iOS flags
-
-`contrib/ios/setenv_ios.sh` uses specific flags for `CFLAGS` and `CXXFLAGS`. They are taken from Xcode, so we consider them the official flag set. It is important to use the same flags across projects to avoid subtle problems due to mixing and matching different flags.
diff --git a/README.snapshots b/README.snapshots
index 891fcca1d6ef..df7ee003cada 100644
--- a/README.snapshots
+++ b/README.snapshots
@@ -3,6 +3,6 @@ ldns - snapshot releases
Snapshot releases are not official released. They can be released to
interested parties for development.
-Snapshots can be recognized from the date in the the tar file name.
+Snapshots can be recognized from the date in the tar file name.
They should not be used for packaging in distributions.
diff --git a/acx_nlnetlabs.m4 b/acx_nlnetlabs.m4
index 39e92d875331..6a01dc5a4769 100644
--- a/acx_nlnetlabs.m4
+++ b/acx_nlnetlabs.m4
@@ -2,7 +2,16 @@
# Copyright 2009, Wouter Wijngaards, NLnet Labs.
# BSD licensed.
#
-# Version 41
+# Version 48
+# 2024-01-16 fix to add -l:libssp.a to -lcrypto link check.
+# and check for getaddrinfo with only header.
+# 2024-01-15 fix to add crypt32 to -lcrypto link check when checking for gdi32.
+# 2023-05-04 fix to remove unused whitespace.
+# 2023-01-26 fix -Wstrict-prototypes.
+# 2022-09-01 fix checking if nonblocking sockets work on OpenBSD.
+# 2021-08-17 fix sed script in ssldir split handling.
+# 2021-08-17 fix for openssl to detect split version, with ssldir_include
+# and ssldir_lib output directories.
# 2021-07-30 fix for openssl use of lib64 directory.
# 2021-06-14 fix nonblocking test to use host instead of target for mingw test.
# 2021-05-17 fix nonblocking socket test from grep on mingw32 to mingw for
@@ -183,7 +192,7 @@ dnl cache=`echo $1 | sed 'y%.=/+- %___p__%'`
AC_CACHE_VAL(cv_prog_cc_flag_needed_$cache,
[
echo '$2' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -229,7 +238,7 @@ dnl DEPFLAG: set to flag that generates dependencies.
AC_DEFUN([ACX_DEPFLAG],
[
AC_MSG_CHECKING([$CC dependency flag])
-echo 'void f(){}' >conftest.c
+echo 'void f(void){}' >conftest.c
if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
DEPFLAG="-MM"
else
@@ -268,7 +277,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAUL
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -305,7 +314,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG -D__EXTENSIONS__ -D_BSD_SOURCE -D_DEFAUL
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -331,7 +340,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED($C99FLAG,
[
#include <stdbool.h>
#include <ctype.h>
-int test() {
+int test(void) {
int a = 0;
return a;
}
@@ -341,7 +350,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_BSD_SOURCE -D_DEFAULT_SOURCE,
[
#include <ctype.h>
-int test() {
+int test(void) {
int a;
a = isascii(32);
return a;
@@ -352,7 +361,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_GNU_SOURCE,
[
#include <netinet/in.h>
-int test() {
+int test(void) {
struct in6_pktinfo inf;
int a = (int)sizeof(inf);
return a;
@@ -366,7 +375,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_GNU_SOURCE -D_FRSRESGID,
[
#include <unistd.h>
-int test() {
+int test(void) {
int a = setresgid(0,0,0);
a = setresuid(0,0,0);
return a;
@@ -381,7 +390,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D_POSIX_C_SOURCE=200112,
#endif
#include <netdb.h>
-int test() {
+int test(void) {
int a = 0;
char *t;
time_t time = 0;
@@ -409,7 +418,7 @@ ACX_CHECK_COMPILER_FLAG_NEEDED(-D__EXTENSIONS__,
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -471,7 +480,7 @@ fi
dnl Setup ATTR_FORMAT config.h parts.
dnl make sure you call ACX_CHECK_FORMAT_ATTRIBUTE also.
AC_DEFUN([AHX_CONFIG_FORMAT_ATTRIBUTE],
-[
+[
#ifdef HAVE_ATTR_FORMAT
# define ATTR_FORMAT(archetype, string_index, first_to_check) \
__attribute__ ((format (archetype, string_index, first_to_check)))
@@ -647,6 +656,30 @@ AC_DEFUN([ACX_SSL_CHECKS], [
withval=$1
if test x_$withval != x_no; then
AC_MSG_CHECKING(for SSL)
+ if test -n "$withval"; then
+ dnl look for openssl install with different version, eg.
+ dnl in /usr/include/openssl11/openssl/ssl.h
+ dnl and /usr/lib64/openssl11/libssl.so
+ dnl with the --with-ssl=/usr/include/openssl11
+ if test ! -f "$withval/include/openssl/ssl.h" -a -f "$withval/openssl/ssl.h"; then
+ ssldir="$withval"
+ found_ssl="yes"
+ withval=""
+ ssldir_include="$ssldir"
+ dnl find the libdir
+ ssldir_lib=`echo $ssldir | sed -e 's/include/lib/'`
+ if test -f "$ssldir_lib/libssl.a" -o -f "$ssldir_lib/libssl.so"; then
+ : # found here
+ else
+ ssldir_lib=`echo $ssldir | sed -e 's/include/lib64/'`
+ if test -f "$ssldir_lib/libssl.a" -o -f "$ssldir_lib/libssl.so"; then
+ : # found here
+ else
+ AC_MSG_ERROR([Could not find openssl lib file, $ssldir_lib/libssl.[so,a], pass like "/usr/local" or "/usr/include/openssl11"])
+ fi
+ fi
+ fi
+ fi
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr"
fi
@@ -654,12 +687,12 @@ AC_DEFUN([ACX_SSL_CHECKS], [
ssldir="$dir"
if test -f "$dir/include/openssl/ssl.h"; then
found_ssl="yes"
- AC_DEFINE_UNQUOTED([HAVE_SSL], [], [Define if you have the SSL libraries installed.])
- dnl assume /usr/include is already in the include-path.
- if test "$ssldir" != "/usr"; then
- CPPFLAGS="$CPPFLAGS -I$ssldir/include"
- LIBSSL_CPPFLAGS="$LIBSSL_CPPFLAGS -I$ssldir/include"
- fi
+ ssldir_include="$ssldir/include"
+ if test ! -d "$ssldir/lib" -a -d "$ssldir/lib64"; then
+ ssldir_lib="$ssldir/lib64"
+ else
+ ssldir_lib="$ssldir/lib"
+ fi
break;
fi
done
@@ -667,20 +700,17 @@ AC_DEFUN([ACX_SSL_CHECKS], [
AC_MSG_ERROR(Cannot find the SSL libraries in $withval)
else
AC_MSG_RESULT(found in $ssldir)
+ AC_DEFINE_UNQUOTED([HAVE_SSL], [], [Define if you have the SSL libraries installed.])
HAVE_SSL=yes
- dnl assume /usr is already in the lib and dynlib paths.
- if test "$ssldir" != "/usr" -a "$ssldir" != ""; then
- if test ! -d "$ssldir/lib" -a -d "$ssldir/lib64"; then
- LDFLAGS="$LDFLAGS -L$ssldir/lib64"
- LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir/lib64"
- ACX_RUNTIME_PATH_ADD([$ssldir/lib64])
- else
- LDFLAGS="$LDFLAGS -L$ssldir/lib"
- LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir/lib"
- ACX_RUNTIME_PATH_ADD([$ssldir/lib])
- fi
- fi
-
+ dnl assume /usr is already in the include, lib and dynlib paths.
+ if test "$ssldir" != "/usr"; then
+ CPPFLAGS="$CPPFLAGS -I$ssldir_include"
+ LIBSSL_CPPFLAGS="$LIBSSL_CPPFLAGS -I$ssldir_include"
+ LDFLAGS="$LDFLAGS -L$ssldir_lib"
+ LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir_lib"
+ ACX_RUNTIME_PATH_ADD([$ssldir_lib])
+ fi
+
AC_MSG_CHECKING([for EVP_sha256 in -lcrypto])
LIBS="$LIBS -lcrypto"
LIBSSL_LIBS="$LIBSSL_LIBS -lcrypto"
@@ -705,40 +735,73 @@ AC_DEFUN([ACX_SSL_CHECKS], [
]])],[
AC_DEFINE([HAVE_EVP_SHA256], 1,
[If you have EVP_sha256])
- AC_MSG_RESULT(yes)
+ AC_MSG_RESULT(yes)
],[
AC_MSG_RESULT(no)
LIBS="$BAKLIBS"
LIBSSL_LIBS="$BAKSSLLIBS"
- LIBS="$LIBS -ldl"
- LIBSSL_LIBS="$LIBSSL_LIBS -ldl"
- AC_MSG_CHECKING([if -lcrypto needs -ldl])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
- int EVP_sha256(void);
- (void)EVP_sha256();
- ]])],[
- AC_DEFINE([HAVE_EVP_SHA256], 1,
- [If you have EVP_sha256])
- AC_MSG_RESULT(yes)
- ],[
- AC_MSG_RESULT(no)
- LIBS="$BAKLIBS"
- LIBSSL_LIBS="$BAKSSLLIBS"
- LIBS="$LIBS -ldl -pthread"
- LIBSSL_LIBS="$LIBSSL_LIBS -ldl -pthread"
- AC_MSG_CHECKING([if -lcrypto needs -ldl -pthread])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
- int EVP_sha256(void);
- (void)EVP_sha256();
- ]])],[
- AC_DEFINE([HAVE_EVP_SHA256], 1,
- [If you have EVP_sha256])
- AC_MSG_RESULT(yes)
- ],[
- AC_MSG_RESULT(no)
- AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required])
+
+ LIBS="$LIBS -lgdi32 -lws2_32 -lcrypt32"
+ LIBSSL_LIBS="$LIBSSL_LIBS -lgdi32 -lws2_32 -lcrypt32"
+ AC_MSG_CHECKING([if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+ ]])],[
+ AC_DEFINE([HAVE_EVP_SHA256], 1,
+ [If you have EVP_sha256])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+
+ LIBS="$LIBS -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a"
+ LIBSSL_LIBS="$LIBSSL_LIBS -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a"
+ AC_MSG_CHECKING([if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+ ]])],[
+ AC_DEFINE([HAVE_EVP_SHA256], 1,
+ [If you have EVP_sha256])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+
+ LIBS="$LIBS -ldl"
+ LIBSSL_LIBS="$LIBSSL_LIBS -ldl"
+ AC_MSG_CHECKING([if -lcrypto needs -ldl])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+ ]])],[
+ AC_DEFINE([HAVE_EVP_SHA256], 1,
+ [If you have EVP_sha256])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+ LIBS="$LIBS -ldl -pthread"
+ LIBSSL_LIBS="$LIBSSL_LIBS -ldl -pthread"
+ AC_MSG_CHECKING([if -lcrypto needs -ldl -pthread])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+ ]])],[
+ AC_DEFINE([HAVE_EVP_SHA256], 1,
+ [If you have EVP_sha256])
+ AC_MSG_RESULT(yes)
+ ],[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required])
+ ])
+ ])
])
- ])
+ ])
])
])
fi
@@ -752,13 +815,13 @@ AC_CHECK_HEADERS([openssl/rand.h],,, [AC_INCLUDES_DEFAULT])
dnl Check for SSL, where SSL is mandatory
dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found
-dnl Setup of CPPFLAGS, CFLAGS. Adds -lcrypto to LIBS.
+dnl Setup of CPPFLAGS, CFLAGS. Adds -lcrypto to LIBS.
dnl Checks main header files of SSL.
dnl
AC_DEFUN([ACX_WITH_SSL],
[
AC_ARG_WITH(ssl, AS_HELP_STRING([--with-ssl=pathname],[enable SSL (will check /usr/local/ssl
- /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[
+ /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr or specify like /usr/include/openssl11)]),[
],[
withval="yes"
])
@@ -776,7 +839,7 @@ dnl
AC_DEFUN([ACX_WITH_SSL_OPTIONAL],
[
AC_ARG_WITH(ssl, AS_HELP_STRING([--with-ssl=pathname],[enable SSL (will check /usr/local/ssl
- /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[
+ /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr or specify like /usr/include/openssl11)]),[
],[
withval="yes"
])
@@ -809,7 +872,7 @@ dnl try to see if an additional _LARGEFILE_SOURCE 1 is needed to get fseeko
ACX_CHECK_COMPILER_FLAG_NEEDED(-D_LARGEFILE_SOURCE=1,
[
#include <stdio.h>
-int test() {
+int test(void) {
int a = fseeko(stdin, 0, 0);
return a;
}
@@ -834,7 +897,7 @@ char* (*f) () = getaddrinfo;
#ifdef __cplusplus
}
#endif
-int main() {
+int main(void) {
;
return 0;
}
@@ -845,7 +908,7 @@ dnl see if on windows
if test "$ac_cv_header_windows_h" = "yes"; then
AC_DEFINE(USE_WINSOCK, 1, [Whether the windows socket API is used])
USE_WINSOCK="1"
- if echo $LIBS | grep 'lws2_32' >/dev/null; then
+ if echo "$LIBS" | grep 'lws2_32' >/dev/null; then
:
else
LIBS="$LIBS -lws2_32"
@@ -853,6 +916,24 @@ if test "$ac_cv_header_windows_h" = "yes"; then
fi
],
dnl no quick getaddrinfo, try mingw32 and winsock2 library.
+dnl perhaps getaddrinfo needs only the include
+AC_LINK_IFELSE(
+[AC_LANG_PROGRAM(
+[
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+],
+[
+ (void)getaddrinfo(NULL, NULL, NULL, NULL);
+]
+)],
+[
+ac_cv_func_getaddrinfo="yes"
+AC_DEFINE(USE_WINSOCK, 1, [Whether the windows socket API is used])
+USE_WINSOCK="1"
+],
+
ORIGLIBS="$LIBS"
LIBS="$LIBS -lws2_32"
AC_LINK_IFELSE(
@@ -877,6 +958,7 @@ ac_cv_func_getaddrinfo="no"
LIBS="$ORIGLIBS"
])
)
+)
AC_MSG_RESULT($ac_cv_func_getaddrinfo)
if test $ac_cv_func_getaddrinfo = yes; then
@@ -898,7 +980,7 @@ cache=`echo $1 | sed 'y%.=/+-%___p_%'`
AC_CACHE_VAL(cv_cc_deprecated_$cache,
[
echo '$3' >conftest.c
-echo 'void f(){ $2 }' >>conftest.c
+echo 'void f(void){ $2 }' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS -c conftest.c 2>&1 | grep -e deprecated -e unavailable`"; then
eval "cv_cc_deprecated_$cache=no"
else
@@ -939,6 +1021,9 @@ AC_LANG_SOURCE([[
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
@@ -1289,7 +1374,7 @@ AC_DEFUN([AHX_CONFIG_W32_FD_SET_T],
#ifdef HAVE_WINSOCK2_H
#define FD_SET_T (u_int)
#else
-#define FD_SET_T
+#define FD_SET_T
#endif
])
@@ -1327,7 +1412,7 @@ dnl $3: define value, 1
AC_DEFUN([AHX_CONFIG_FLAG_OMITTED],
[#if defined($1) && !defined($2)
#define $2 $3
-[#]endif ])
+[#]endif])
dnl Wrapper for AHX_CONFIG_FLAG_OMITTED for -D style flags
dnl $1: the -DNAME or -DNAME=value string.
diff --git a/ax_python_devel.m4 b/ax_python_devel.m4
index aff04f68ecc4..780584eaeb5d 100644
--- a/ax_python_devel.m4
+++ b/ax_python_devel.m4
@@ -67,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 21
+#serial 32
AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
AC_DEFUN([AX_PYTHON_DEVEL],[
@@ -112,15 +112,39 @@ to something else than an empty string.
fi
#
- # if the macro parameter ``version'' is set, honour it
+ # If the macro parameter ``version'' is set, honour it.
+ # A Python shim class, VPy, is used to implement correct version comparisons via
+ # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for
+ # Python 2.7.10 (the ".1" being evaluated as less than ".3").
#
if test -n "$1"; then
AC_MSG_CHECKING([for a version of Python $1])
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[[0]]; \
+ cat << EOF > ax_python_devel_vpy.py
+class VPy:
+ def vtup(self, s):
+ return tuple(map(int, s.strip().replace("rc", ".").split(".")))
+ def __init__(self):
+ import sys
+ self.vpy = tuple(sys.version_info)
+ def __eq__(self, s):
+ return self.vpy == self.vtup(s)
+ def __ne__(self, s):
+ return self.vpy != self.vtup(s)
+ def __lt__(self, s):
+ return self.vpy < self.vtup(s)
+ def __gt__(self, s):
+ return self.vpy > self.vtup(s)
+ def __le__(self, s):
+ return self.vpy <= self.vtup(s)
+ def __ge__(self, s):
+ return self.vpy >= self.vtup(s)
+EOF
+ ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \
+ ver = ax_python_devel_vpy.VPy(); \
print (ver $1)"`
+ rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py*
if test "$ac_supports_python_ver" = "True"; then
- AC_MSG_RESULT([yes])
+ AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
AC_MSG_ERROR([this package requires Python $1.
@@ -135,16 +159,25 @@ variable to configure. See ``configure --help'' for reference.
#
# Check if you have distutils, else fail
#
- AC_MSG_CHECKING([for the distutils Python package])
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+ AC_MSG_CHECKING([for the sysconfig Python package])
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
if test $? -eq 0; then
AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="import sysconfig"
else
AC_MSG_RESULT([no])
- AC_MSG_ERROR([cannot import Python module "distutils".
+
+ AC_MSG_CHECKING([for the distutils Python package])
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
+ if test $? -eq 0; then
+ AC_MSG_RESULT([yes])
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
+ else
+ AC_MSG_ERROR([cannot import Python module "distutils".
Please check your Python installation. The error was:
-$ac_distutils_result])
- PYTHON_VERSION=""
+$ac_sysconfig_result])
+ PYTHON_VERSION=""
+ fi
fi
#
@@ -152,10 +185,19 @@ $ac_distutils_result])
#
AC_MSG_CHECKING([for Python include path])
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 "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ # sysconfig module has different functions
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('include'));"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('platinclude'));"`
+ else
+ # old distutils way
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc (plat_specific=1));"`
+ fi
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -179,7 +221,7 @@ $ac_distutils_result])
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -190,7 +232,7 @@ EOD`
ac_python_version=$PYTHON_VERSION
else
ac_python_version=`$PYTHON -c "import sys; \
- print (sys.version[[:3]])"`
+ print ("%d.%d" % sys.version_info[[:2]])"`
fi
fi
@@ -202,8 +244,8 @@ EOD`
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+$IMPORT_SYSCONFIG
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -211,8 +253,8 @@ EOD`
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+$IMPORT_SYSCONFIG
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c[['LDVERSION']])
else:
@@ -231,7 +273,7 @@ EOD`
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_python_lib as f; \
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
@@ -252,19 +294,66 @@ EOD`
#
AC_MSG_CHECKING([for Python site-packages path])
if test -z "$PYTHON_SITE_PKG"; then
- PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
- print (distutils.sysconfig.get_python_lib(1,0));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('purelib', scheme, vars={'base': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(0,0));"`
+ fi
fi
AC_MSG_RESULT([$PYTHON_SITE_PKG])
AC_SUBST([PYTHON_SITE_PKG])
#
+ # Check for platform-specific site packages
+ #
+ AC_MSG_CHECKING([for Python platform specific site-packages path])
+ if test -z "$PYTHON_PLATFORM_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(1,0));"`
+ fi
+ fi
+ AC_MSG_RESULT([$PYTHON_PLATFORM_SITE_PKG])
+ AC_SUBST([PYTHON_PLATFORM_SITE_PKG])
+
+ #
# libraries which must be linked in when embedding
#
AC_MSG_CHECKING(python extra libraries)
if test -z "$PYTHON_EXTRA_LIBS"; then
- PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
@@ -275,8 +364,8 @@ EOD`
#
AC_MSG_CHECKING(python extra linking flags)
if test -z "$PYTHON_EXTRA_LDFLAGS"; then
- PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
- conf = distutils.sysconfig.get_config_var; \
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
@@ -290,7 +379,7 @@ EOD`
ac_save_LIBS="$LIBS"
ac_save_LDFLAGS="$LDFLAGS"
ac_save_CPPFLAGS="$CPPFLAGS"
- LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
+ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS"
LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
AC_LANG_PUSH([C])
@@ -306,7 +395,7 @@ EOD`
AC_MSG_RESULT([$pythonexists])
- if test ! "x$pythonexists" = "xyes"; then
+ if test ! "x$pythonexists" = "xyes"; then
AC_MSG_FAILURE([
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,
diff --git a/compat/asctime_r.c b/compat/asctime_r.c
new file mode 100644
index 000000000000..63e5355f9b56
--- /dev/null
+++ b/compat/asctime_r.c
@@ -0,0 +1,16 @@
+#ifdef HAVE_CONFIG_H
+#include <ldns/config.h>
+#endif
+
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+
+char *asctime_r(const struct tm *tm, char *buf)
+{
+ /* no thread safety. */
+ char* result = asctime(tm);
+ if(buf && result)
+ strcpy(buf, result);
+ return result;
+}
diff --git a/config.guess b/config.guess
index 1817bdce90dc..f6d217a49f8f 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2022 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2022-05-25'
+timestamp='2024-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
-Output the configuration name of the system \`$me' is run on.
+Output the configuration name of the system '$me' is run on.
Options:
-h, --help print this help, then exit
@@ -60,13 +60,13 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
+# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
+# use 'HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
set_cc_for_build
cat <<-EOF > "$dummy.c"
+ #if defined(__ANDROID__)
+ LIBC=android
+ #else
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
@@ -162,6 +165,8 @@ Linux|GNU|GNU/*)
LIBC=dietlibc
#elif defined(__GLIBC__)
LIBC=gnu
+ #elif defined(__LLVM_LIBC__)
+ LIBC=llvm
#else
#include <stdarg.h>
/* First heuristic to detect musl libc. */
@@ -169,6 +174,7 @@ Linux|GNU|GNU/*)
LIBC=musl
#endif
#endif
+ #endif
EOF
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
eval "$cc_set_libc"
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
UNAME_RELEASE=`uname -v`
;;
esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
+ # Japanese Language versions have a version number like '4.1.3-JL'.
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
GUESS=sparc-sun-sunos$SUN_REL
;;
@@ -904,7 +910,7 @@ EOF
fi
;;
*:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ UNAME_PROCESSOR=`uname -p`
case $UNAME_PROCESSOR in
amd64)
UNAME_PROCESSOR=x86_64 ;;
@@ -966,11 +972,37 @@ EOF
GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
;;
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
+ ;;
+ *:[Mm]anagarm:*:*)
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
+ ;;
*:Minix:*:*)
GUESS=$UNAME_MACHINE-unknown-minix
;;
aarch64:Linux:*:*)
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ set_cc_for_build
+ CPU=$UNAME_MACHINE
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __ARM_EABI__
+ #ifdef __ARM_PCS_VFP
+ ABI=eabihf
+ #else
+ ABI=eabi
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
+ esac
+ fi
+ GUESS=$CPU-unknown-linux-$LIBCABI
;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
@@ -1036,7 +1068,16 @@ EOF
k1om:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
- loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+ kvx:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ kvx:cos:*:*)
+ GUESS=$UNAME_MACHINE-unknown-cos
+ ;;
+ kvx:mbr:*:*)
+ GUESS=$UNAME_MACHINE-unknown-mbr
+ ;;
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
m32r*:Linux:*:*)
@@ -1191,7 +1232,7 @@ EOF
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
;;
i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
+ # If we were able to find 'uname', then EMX Unix compatibility
# is probably installed.
GUESS=$UNAME_MACHINE-pc-os2-emx
;;
@@ -1332,7 +1373,7 @@ EOF
GUESS=ns32k-sni-sysv
fi
;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
GUESS=i586-unisys-sysv4
;;
@@ -1554,6 +1595,9 @@ EOF
*:Unleashed:*:*)
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
;;
+ *:Ironclad:*:*)
+ GUESS=$UNAME_MACHINE-unknown-ironclad
+ ;;
esac
# Do we have a guess based on uname results?
diff --git a/config.sub b/config.sub
index dba16e84c77c..2c6a07ab3c34 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2022 Free Software Foundation, Inc.
+# Copyright 1992-2024 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale
-timestamp='2022-01-03'
+timestamp='2024-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -76,13 +76,13 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2022 Free Software Foundation, Inc.
+Copyright 1992-2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
-Try \`$me --help' for more information."
+Try '$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
@@ -130,7 +130,7 @@ IFS=$saved_IFS
# Separate into logical components for further validation
case $1 in
*-*-*-*-*)
- echo Invalid configuration \`"$1"\': more than four components >&2
+ echo "Invalid configuration '$1': more than four components" >&2
exit 1
;;
*-*-*-*)
@@ -145,7 +145,8 @@ case $1 in
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
- | storm-chaos* | os2-emx* | rtmk-nova*)
+ | storm-chaos* | os2-emx* | rtmk-nova* | managarm-* \
+ | windows-* )
basic_machine=$field1
basic_os=$maybe_os
;;
@@ -943,7 +944,7 @@ $basic_machine
EOF
IFS=$saved_IFS
;;
- # We use `pc' rather than `unknown'
+ # We use 'pc' rather than 'unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
@@ -1075,7 +1076,7 @@ case $cpu-$vendor in
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
;;
- pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
cpu=i686
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
@@ -1180,7 +1181,7 @@ case $cpu-$vendor in
case $cpu in
1750a | 580 \
| a29k \
- | aarch64 | aarch64_be \
+ | aarch64 | aarch64_be | aarch64c | arm64ec \
| abacus \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
@@ -1199,50 +1200,29 @@ case $cpu-$vendor in
| d10v | d30v | dlx | dsp16xx \
| e2k | elxsi | epiphany \
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
+ | javascript \
| h8300 | h8500 \
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
+ | kvx \
| le32 | le64 \
| lm32 \
- | loongarch32 | loongarch64 | loongarchx32 \
+ | loongarch32 | loongarch64 \
| m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
| m88110 | m88k | maxq | mb | mcore | mep | metag \
| microblaze | microblazeel \
- | mips | mipsbe | mipseb | mipsel | mipsle \
- | mips16 \
- | mips64 | mips64eb | mips64el \
- | mips64octeon | mips64octeonel \
- | mips64orion | mips64orionel \
- | mips64r5900 | mips64r5900el \
- | mips64vr | mips64vrel \
- | mips64vr4100 | mips64vr4100el \
- | mips64vr4300 | mips64vr4300el \
- | mips64vr5000 | mips64vr5000el \
- | mips64vr5900 | mips64vr5900el \
- | mipsisa32 | mipsisa32el \
- | mipsisa32r2 | mipsisa32r2el \
- | mipsisa32r3 | mipsisa32r3el \
- | mipsisa32r5 | mipsisa32r5el \
- | mipsisa32r6 | mipsisa32r6el \
- | mipsisa64 | mipsisa64el \
- | mipsisa64r2 | mipsisa64r2el \
- | mipsisa64r3 | mipsisa64r3el \
- | mipsisa64r5 | mipsisa64r5el \
- | mipsisa64r6 | mipsisa64r6el \
- | mipsisa64sb1 | mipsisa64sb1el \
- | mipsisa64sr71k | mipsisa64sr71kel \
- | mipsr5900 | mipsr5900el \
- | mipstx39 | mipstx39el \
+ | mips* \
| mmix \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
+ | nanomips* \
| nds32 | nds32le | nds32be \
| nfp \
| nios | nios2 | nios2eb | nios2el \
@@ -1274,6 +1254,7 @@ case $cpu-$vendor in
| ubicom32 \
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
| vax \
+ | vc4 \
| visium \
| w65 \
| wasm32 | wasm64 \
@@ -1285,7 +1266,7 @@ case $cpu-$vendor in
;;
*)
- echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
+ echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
exit 1
;;
esac
@@ -1306,11 +1287,12 @@ esac
# Decode manufacturer-specific aliases for certain operating systems.
-if test x$basic_os != x
+if test x"$basic_os" != x
then
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
# set os.
+obj=
case $basic_os in
gnu/linux*)
kernel=linux
@@ -1341,6 +1323,10 @@ EOF
kernel=linux
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
;;
+ managarm*)
+ kernel=managarm
+ os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
+ ;;
*)
kernel=
os=$basic_os
@@ -1506,10 +1492,16 @@ case $os in
os=eabi
;;
*)
- os=elf
+ os=
+ obj=elf
;;
esac
;;
+ aout* | coff* | elf* | pe*)
+ # These are machine code file formats, not OSes
+ obj=$os
+ os=
+ ;;
*)
# No normalization, but not necessarily accepted, that comes below.
;;
@@ -1528,12 +1520,15 @@ else
# system, and we'll never get to this point.
kernel=
+obj=
case $cpu-$vendor in
score-*)
- os=elf
+ os=
+ obj=elf
;;
spu-*)
- os=elf
+ os=
+ obj=elf
;;
*-acorn)
os=riscix1.2
@@ -1543,28 +1538,35 @@ case $cpu-$vendor in
os=gnu
;;
arm*-semi)
- os=aout
+ os=
+ obj=aout
;;
c4x-* | tic4x-*)
- os=coff
+ os=
+ obj=coff
;;
c8051-*)
- os=elf
+ os=
+ obj=elf
;;
clipper-intergraph)
os=clix
;;
hexagon-*)
- os=elf
+ os=
+ obj=elf
;;
tic54x-*)
- os=coff
+ os=
+ obj=coff
;;
tic55x-*)
- os=coff
+ os=
+ obj=coff
;;
tic6x-*)
- os=coff
+ os=
+ obj=coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1586,19 +1588,24 @@ case $cpu-$vendor in
os=sunos3
;;
m68*-cisco)
- os=aout
+ os=
+ obj=aout
;;
mep-*)
- os=elf
+ os=
+ obj=elf
;;
mips*-cisco)
- os=elf
+ os=
+ obj=elf
;;
- mips*-*)
- os=elf
+ mips*-*|nanomips*-*)
+ os=
+ obj=elf
;;
or32-*)
- os=coff
+ os=
+ obj=coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=sysv3
@@ -1607,7 +1614,8 @@ case $cpu-$vendor in
os=sunos4.1.1
;;
pru-*)
- os=elf
+ os=
+ obj=elf
;;
*-be)
os=beos
@@ -1688,10 +1696,12 @@ case $cpu-$vendor in
os=uxpv
;;
*-rom68k)
- os=coff
+ os=
+ obj=coff
;;
*-*bug)
- os=coff
+ os=
+ obj=coff
;;
*-apple)
os=macos
@@ -1709,10 +1719,11 @@ esac
fi
-# Now, validate our (potentially fixed-up) OS.
+# Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
+
case $os in
# Sometimes we do "kernel-libc", so those need to count as OSes.
- musl* | newlib* | relibc* | uclibc*)
+ llvm* | musl* | newlib* | relibc* | uclibc*)
;;
# Likewise for "kernel-abi"
eabi* | gnueabi*)
@@ -1720,6 +1731,9 @@ case $os in
# VxWorks passes extra cpu info in the 4th filed.
simlinux | simwindows | spe)
;;
+ # See `case $cpu-$os` validation below
+ ghcjs)
+ ;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
@@ -1728,7 +1742,7 @@ case $os in
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
| hiux* | abug | nacl* | netware* | windows* \
- | os9* | macos* | osx* | ios* \
+ | os9* | macos* | osx* | ios* | tvos* | watchos* \
| mpw* | magic* | mmixware* | mon960* | lnews* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* | twizzler* \
@@ -1737,11 +1751,11 @@ case $os in
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+ | bosx* | nextstep* | cxux* | oabi* \
+ | ptx* | ecoff* | winnt* | domain* | vsta* \
| udi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* | serenity* \
- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+ | cygwin* | msys* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | mint* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
| interix* | uwin* | mks* | rhapsody* | darwin* \
@@ -1754,49 +1768,116 @@ case $os in
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
- | fiwix* )
+ | fiwix* | mlibc* | cos* | mbr* | ironclad* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
;;
+ # This refers to builds using the UEFI calling convention
+ # (which depends on the architecture) and PE file format.
+ # Note that this is both a different calling convention and
+ # different file format than that of GNU-EFI
+ # (x86_64-w64-mingw32).
+ uefi)
+ ;;
none)
;;
+ kernel* | msvc* )
+ # Restricted further below
+ ;;
+ '')
+ if test x"$obj" = x
+ then
+ echo "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
+ fi
+ ;;
*)
- echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
+ echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+case $obj in
+ aout* | coff* | elf* | pe*)
+ ;;
+ '')
+ # empty is fine
+ ;;
+ *)
+ echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we handle the constraint that a (synthetic) cpu and os are
+# valid only in combination with each other and nowhere else.
+case $cpu-$os in
+ # The "javascript-unknown-ghcjs" triple is used by GHC; we
+ # accept it here in order to tolerate that, but reject any
+ # variations.
+ javascript-ghcjs)
+ ;;
+ javascript-* | *-ghcjs)
+ echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
exit 1
;;
esac
# As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel.
-case $kernel-$os in
- linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
- | linux-musl* | linux-relibc* | linux-uclibc* )
+case $kernel-$os-$obj in
+ linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
+ | linux-mlibc*- | linux-musl*- | linux-newlib*- \
+ | linux-relibc*- | linux-uclibc*- )
+ ;;
+ uclinux-uclibc*- )
+ ;;
+ managarm-mlibc*- | managarm-kernel*- )
;;
- uclinux-uclibc* )
+ windows*-msvc*-)
;;
- -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
+ -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
+ | -uclibc*- )
# These are just libc implementations, not actual OSes, and thus
# require a kernel.
- echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
+ echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
exit 1
;;
- kfreebsd*-gnu* | kopensolaris*-gnu*)
+ -kernel*- )
+ echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
+ exit 1
;;
- vxworks-simlinux | vxworks-simwindows | vxworks-spe)
+ *-kernel*- )
+ echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
+ exit 1
;;
- nto-qnx*)
+ *-msvc*- )
+ echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
+ exit 1
;;
- os2-emx)
+ kfreebsd*-gnu*- | kopensolaris*-gnu*-)
+ ;;
+ vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
+ ;;
+ nto-qnx*-)
+ ;;
+ os2-emx-)
;;
- *-eabi* | *-gnueabi*)
+ *-eabi*- | *-gnueabi*-)
;;
- -*)
+ none--*)
+ # None (no kernel, i.e. freestanding / bare metal),
+ # can be paired with an machine code file format
+ ;;
+ -*-)
# Blank kernel with real OS is always fine.
;;
- *-*)
- echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
+ --*)
+ # Blank kernel and OS with real machine code file format is always fine.
+ ;;
+ *-*-*)
+ echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
exit 1
;;
esac
@@ -1879,7 +1960,7 @@ case $vendor in
;;
esac
-echo "$cpu-$vendor-${kernel:+$kernel-}$os"
+echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
exit
# Local variables:
diff --git a/configure b/configure
index e032179f176d..42ceafb240b6 100755
--- a/configure
+++ b/configure
@@ -1,8 +1,8 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for ldns 1.8.3.
+# Generated by GNU Autoconf 2.71 for ldns 1.8.4.
#
-# Report bugs to <libdns@nlnetlabs.nl>.
+# Report bugs to <dns-team@nlnetlabs.nl>.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -276,7 +276,7 @@ then :
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
-$0: libdns@nlnetlabs.nl about your system, including any
+$0: dns-team@nlnetlabs.nl about your system, including any
$0: error possibly output before this message. Then install
$0: a modern shell, or manually run the script under such a
$0: shell if you do have one."
@@ -621,9 +621,9 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ldns'
PACKAGE_TARNAME='libdns'
-PACKAGE_VERSION='1.8.3'
-PACKAGE_STRING='ldns 1.8.3'
-PACKAGE_BUGREPORT='libdns@nlnetlabs.nl'
+PACKAGE_VERSION='1.8.4'
+PACKAGE_STRING='ldns 1.8.4'
+PACKAGE_BUGREPORT='dns-team@nlnetlabs.nl'
PACKAGE_URL=''
ac_unique_file="packet.c"
@@ -711,6 +711,7 @@ SWIG
SWIGPY3
PYTHON_EXTRA_LDFLAGS
PYTHON_EXTRA_LIBS
+PYTHON_PLATFORM_SITE_PKG
PYTHON_SITE_PKG
PYTHON_LIBS
PYTHON_CPPFLAGS
@@ -748,6 +749,7 @@ ac_ct_AR
AR
DLLTOOL
OBJDUMP
+FILECMD
LN_S
NM
ac_ct_DUMPBIN
@@ -857,6 +859,7 @@ enable_rrtype_avc
enable_rrtype_doa
enable_rrtype_amtrelay
enable_rrtype_svcb_https
+enable_rrtype_resinfo
enable_rpath
with_xcode_sdk
with_trust_anchor
@@ -1421,7 +1424,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.8.3 to adapt to many kinds of systems.
+\`configure' configures ldns 1.8.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1487,7 +1490,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ldns 1.8.3:";;
+ short | recursive ) echo "Configuration of ldns 1.8.4:";;
esac
cat <<\_ACEOF
@@ -1524,10 +1527,11 @@ Optional Features:
--enable-rrtype-ta Enable draft RR type ta.
--enable-rrtype-avc Enable draft RR type avc.
--enable-rrtype-doa Enable draft RR type DOA.
- --enable-rrtype-amtrelay
- Enable draft RR type AMTRELAY.
+ --disable-rrtype-amtrelay
+ Disable RR type AMTRELAY.
--disable-rrtype-svcb-https
Disable RR types SVCB and HTTPS.
+ --enable-rrtype-resinfo Disable RR type RESINFO.
--disable-rpath disable hardcoded rpath (default=enabled)
Optional Packages:
@@ -1550,7 +1554,7 @@ Optional Packages:
--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)
+ /usr or specify like /usr/include/openssl11)
--with-xcode-sdk Set xcode SDK version. Default is autodetect
--with-trust-anchor=KEYFILE
Default location of the trust anchor file for drill
@@ -1577,7 +1581,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to <libdns@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
_ACEOF
ac_status=$?
fi
@@ -1641,7 +1645,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ldns configure 1.8.3
+ldns configure 1.8.4
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2260,7 +2264,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.8.3, which was
+It was created by ldns $as_me 1.8.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3026,7 +3030,7 @@ LDNS_VERSION_MAJOR=1
LDNS_VERSION_MINOR=8
-LDNS_VERSION_MICRO=3
+LDNS_VERSION_MICRO=4
# Library version
@@ -3049,7 +3053,7 @@ LDNS_VERSION_MICRO=3
# ldns-1.8.2 had libversion 7:0:4
# ldns-1.8.3 has libversion 8:0:5
#
-VERSION_INFO=8:0:5
+VERSION_INFO=9:0:6
@@ -4218,7 +4222,6 @@ then :
fi
-
if test "$ac_cv_header_minix_config_h" = "yes"; then
printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
@@ -4234,8 +4237,8 @@ esac
-macro_version='2.4.6'
-macro_revision='2.4.6'
+macro_version='2.4.7'
+macro_revision='2.4.7'
@@ -4863,13 +4866,13 @@ else
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
@@ -5007,7 +5010,7 @@ esac
fi
fi
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
@@ -5111,7 +5114,7 @@ else $as_nop
lt_cv_sys_max_cmd_len=8192;
;;
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -5154,7 +5157,7 @@ else $as_nop
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -5360,6 +5363,114 @@ esac
if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args.
+set dummy ${ac_tool_prefix}file; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_FILECMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$FILECMD"; then
+ ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_FILECMD="${ac_tool_prefix}file"
+ printf "%s\n" "$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
+FILECMD=$ac_cv_prog_FILECMD
+if test -n "$FILECMD"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5
+printf "%s\n" "$FILECMD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_FILECMD"; then
+ ac_ct_FILECMD=$FILECMD
+ # Extract the first word of "file", so it can be a program name with args.
+set dummy file; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_FILECMD+y}
+then :
+ printf %s "(cached) " >&6
+else $as_nop
+ if test -n "$ac_ct_FILECMD"; then
+ ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_FILECMD="file"
+ printf "%s\n" "$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_FILECMD=$ac_cv_prog_ac_ct_FILECMD
+if test -n "$ac_ct_FILECMD"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5
+printf "%s\n" "$ac_ct_FILECMD" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+ if test "x$ac_ct_FILECMD" = x; then
+ FILECMD=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ FILECMD=$ac_ct_FILECMD
+ fi
+else
+ FILECMD="$ac_cv_prog_FILECMD"
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
set dummy ${ac_tool_prefix}objdump; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -5502,7 +5613,7 @@ beos*)
bsdi[45]*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_cmd='$FILECMD -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
@@ -5536,14 +5647,14 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
@@ -5557,7 +5668,7 @@ haiku*)
;;
hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
@@ -5604,7 +5715,7 @@ netbsd* | netbsdelf*-gnu)
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
@@ -5977,13 +6088,29 @@ esac
fi
: ${AR=ar}
-: ${AR_FLAGS=cr}
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+
+
+
+
+
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+
@@ -6447,7 +6574,7 @@ esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
@@ -6465,20 +6592,20 @@ fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
@@ -6502,7 +6629,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
@@ -6520,9 +6647,9 @@ for ac_symprfx in "" "_"; do
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@@ -6722,7 +6849,7 @@ case $with_sysroot in #(
fi
;; #(
/*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
@@ -6847,7 +6974,7 @@ ia64-*-hpux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
@@ -6868,7 +6995,7 @@ ia64-*-hpux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
if test yes = "$lt_cv_prog_gnu_ld"; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
@@ -6880,7 +7007,7 @@ ia64-*-hpux*)
;;
esac
else
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
@@ -6906,7 +7033,7 @@ mips64*-*linux*)
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
@@ -6914,7 +7041,7 @@ mips64*-*linux*)
emul="${emul}64"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
@@ -6922,7 +7049,7 @@ mips64*-*linux*)
emul="${emul}ltsmip"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
@@ -6946,14 +7073,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
@@ -7061,7 +7188,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
@@ -7844,8 +7971,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
- echo "$AR cr libconftest.a conftest.o" >&5
- $AR cr libconftest.a conftest.o 2>&5
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&5
echo "$RANLIB libconftest.a" >&5
$RANLIB libconftest.a 2>&5
cat > conftest.c << _LT_EOF
@@ -7872,17 +7999,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; }
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[912]*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- 10.[012][,.]*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*|11.*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ darwin*)
+ case $MACOSX_DEPLOYMENT_TARGET,$host in
+ 10.[012],*|,*powerpc*-darwin[5-8]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ *)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
@@ -8241,8 +8363,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -8760,7 +8882,7 @@ lt_prog_compiler_static=
lt_prog_compiler_static='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
lt_prog_compiler_pic='-KPIC'
@@ -9183,15 +9305,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
@@ -9246,7 +9368,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -9358,6 +9480,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
interix[3-9]*)
@@ -9372,7 +9495,7 @@ _LT_EOF
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -9415,7 +9538,7 @@ _LT_EOF
compiler_needs_object=yes
;;
esac
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C 5.9
whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
@@ -9427,13 +9550,14 @@ _LT_EOF
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
tcc*)
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
export_dynamic_flag_spec='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
@@ -9443,7 +9567,7 @@ _LT_EOF
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
@@ -9575,7 +9699,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -9846,12 +9970,12 @@ fi
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
always_export_symbols=yes
@@ -9892,7 +10016,7 @@ fi
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
hardcode_libdir_flag_spec=' '
allow_undefined_flag=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -9933,8 +10057,8 @@ fi
output_verbose_link_cmd=func_echo_all
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
- archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
- module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@@ -9968,7 +10092,7 @@ fi
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
@@ -10149,6 +10273,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
# Fabrice Bellard et al's Tiny C Compiler
ld_shlibs=yes
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
;;
esac
;;
@@ -10220,6 +10345,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
emximp -o $lib $output_objdir/$libname.def'
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
;;
osf3*)
@@ -10912,7 +11038,7 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
@@ -10922,14 +11048,14 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -10948,7 +11074,7 @@ cygwin* | mingw* | pw32* | cegcc*)
done
IFS=$lt_save_ifs
# Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
@@ -10985,7 +11111,7 @@ cygwin* | mingw* | pw32* | cegcc*)
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -11018,7 +11144,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
@@ -12183,30 +12309,41 @@ striplib=
old_striplib=
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
printf %s "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-printf "%s\n" "yes" >&6; }
+if test -z "$STRIP"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
- else
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- fi
- ;;
- *)
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ fi
+ ;;
+ *)
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- ;;
- esac
+ ;;
+ esac
+ fi
fi
@@ -13036,7 +13173,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking $CC dependency flag" >&5
printf %s "checking $CC dependency flag... " >&6; }
-echo 'void f(){}' >conftest.c
+echo 'void f(void){}' >conftest.c
if test "`$CC -MM conftest.c 2>&1`" = "conftest.o: conftest.c"; then
DEPFLAG="-MM"
else
@@ -13772,7 +13909,7 @@ echo '
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -13793,7 +13930,7 @@ int test() {
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -13864,7 +14001,7 @@ echo '
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -13885,7 +14022,7 @@ int test() {
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -13945,12 +14082,12 @@ else $as_nop
echo '
#include <stdbool.h>
#include <ctype.h>
-int test() {
+int test(void) {
int a = 0;
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14010,13 +14147,13 @@ else $as_nop
echo '
#include <ctype.h>
-int test() {
+int test(void) {
int a;
a = isascii(32);
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14076,13 +14213,13 @@ else $as_nop
echo '
#include <netinet/in.h>
-int test() {
+int test(void) {
struct in6_pktinfo inf;
int a = (int)sizeof(inf);
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14145,13 +14282,13 @@ else $as_nop
echo '
#include <unistd.h>
-int test() {
+int test(void) {
int a = setresgid(0,0,0);
a = setresuid(0,0,0);
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14215,7 +14352,7 @@ echo '
#endif
#include <netdb.h>
-int test() {
+int test(void) {
int a = 0;
char *t;
time_t time = 0;
@@ -14228,7 +14365,7 @@ int test() {
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14298,7 +14435,7 @@ echo '
#include <getopt.h>
#endif
-int test() {
+int test(void) {
int a;
char **opts = NULL;
struct timeval tv;
@@ -14311,7 +14448,7 @@ int test() {
return a;
}
' > conftest.c
-echo 'void f(){}' >>conftest.c
+echo 'void f(void){}' >>conftest.c
if test -z "`$CC $CPPFLAGS $CFLAGS $ERRFLAG -c conftest.c 2>&1`"; then
eval "cv_prog_cc_flag_needed_$cache=no"
else
@@ -14601,6 +14738,7 @@ fi
# modern OS X provides inet_ntop in -lc.
# modern Solaris provides inet_ntop in -lsocket -lnsl.
# older Solaris provides inet_ntop in -lresolv.
+# Windows provides inet_ntop in -lws2_32.
ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop"
if test "x$ac_cv_func_inet_ntop" = xyes
then :
@@ -14628,7 +14766,7 @@ return inet_ntop ();
return 0;
}
_ACEOF
-for ac_lib in '' socket c nsl resolv
+for ac_lib in '' socket c nsl resolv ws2_32
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -14673,6 +14811,7 @@ fi
# modern OS X provides inet_pton in -lc.
# modern Solaris provides inet_pton in -lsocket -lnsl.
# older Solaris provides inet_pton in -lresolv.
+# Windows provides inet_pton in -lws2_32.
ac_fn_c_check_func "$LINENO" "inet_pton" "ac_cv_func_inet_pton"
if test "x$ac_cv_func_inet_pton" = xyes
then :
@@ -14700,7 +14839,7 @@ return inet_pton ();
return 0;
}
_ACEOF
-for ac_lib in '' socket c nsl resolv
+for ac_lib in '' socket c nsl resolv ws2_32
do
if test -z "$ac_lib"; then
ac_res="none required"
@@ -14742,7 +14881,6 @@ fi
-
# Check whether --with-drill was given.
if test ${with_drill+y}
then :
@@ -15041,7 +15179,7 @@ if test x_$withval != x_no; then
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
-#serial 21
+#serial 32
# 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
@@ -15157,16 +15295,40 @@ printf "%s\n" "yes" >&6; }
fi
#
- # if the macro parameter ``version'' is set, honour it
+ # If the macro parameter ``version'' is set, honour it.
+ # A Python shim class, VPy, is used to implement correct version comparisons via
+ # string expressions, since e.g. a naive textual ">= 2.7.3" won't work for
+ # Python 2.7.10 (the ".1" being evaluated as less than ".3").
#
if test -n ">= '2.4.0'"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.4.0'" >&5
printf %s "checking for a version of Python >= '2.4.0'... " >&6; }
- ac_supports_python_ver=`$PYTHON -c "import sys; \
- ver = sys.version.split ()[0]; \
+ cat << EOF > ax_python_devel_vpy.py
+class VPy:
+ def vtup(self, s):
+ return tuple(map(int, s.strip().replace("rc", ".").split(".")))
+ def __init__(self):
+ import sys
+ self.vpy = tuple(sys.version_info)
+ def __eq__(self, s):
+ return self.vpy == self.vtup(s)
+ def __ne__(self, s):
+ return self.vpy != self.vtup(s)
+ def __lt__(self, s):
+ return self.vpy < self.vtup(s)
+ def __gt__(self, s):
+ return self.vpy > self.vtup(s)
+ def __le__(self, s):
+ return self.vpy <= self.vtup(s)
+ def __ge__(self, s):
+ return self.vpy >= self.vtup(s)
+EOF
+ ac_supports_python_ver=`$PYTHON -c "import ax_python_devel_vpy; \
+ ver = ax_python_devel_vpy.VPy(); \
print (ver >= '2.4.0')"`
+ rm -rf ax_python_devel_vpy*.py* __pycache__/ax_python_devel_vpy*.py*
if test "$ac_supports_python_ver" = "True"; then
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
@@ -15183,19 +15345,30 @@ variable to configure. See \`\`configure --help'' for reference.
#
# Check if you have distutils, else fail
#
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
-printf %s "checking for the distutils Python package... " >&6; }
- ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the sysconfig Python package" >&5
+printf %s "checking for the sysconfig Python package... " >&6; }
+ ac_sysconfig_result=`$PYTHON -c "import sysconfig" 2>&1`
if test $? -eq 0; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
+ IMPORT_SYSCONFIG="import sysconfig"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- as_fn_error $? "cannot import Python module \"distutils\".
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
+printf %s "checking for the distutils Python package... " >&6; }
+ ac_sysconfig_result=`$PYTHON -c "from distutils import sysconfig" 2>&1`
+ if test $? -eq 0; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+ IMPORT_SYSCONFIG="from distutils import sysconfig"
+ else
+ as_fn_error $? "cannot import Python module \"distutils\".
Please check your Python installation. The error was:
-$ac_distutils_result" "$LINENO" 5
- PYTHON_VERSION=""
+$ac_sysconfig_result" "$LINENO" 5
+ PYTHON_VERSION=""
+ fi
fi
#
@@ -15204,10 +15377,19 @@ $ac_distutils_result" "$LINENO" 5
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
printf %s "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 "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ # sysconfig module has different functions
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('include'));"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_path ('platinclude'));"`
+ else
+ # old distutils way
+ python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc ());"`
+ plat_python_path=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_inc (plat_specific=1));"`
+ fi
if test -n "${python_path}"; then
if test "${plat_python_path}" != "${python_path}"; then
python_path="-I$python_path -I$plat_python_path"
@@ -15233,7 +15415,7 @@ printf %s "checking for Python library path... " >&6; }
# join all versioning strings, on some systems
# major/minor numbers could be in different list elements
-from distutils.sysconfig import *
+from sysconfig import *
e = get_config_var('VERSION')
if e is not None:
print(e)
@@ -15244,7 +15426,7 @@ EOD`
ac_python_version=$PYTHON_VERSION
else
ac_python_version=`$PYTHON -c "import sys; \
- print (sys.version[:3])"`
+ print ("%d.%d" % sys.version_info[:2])"`
fi
fi
@@ -15257,8 +15439,8 @@ printf "%s\n" "#define HAVE_PYTHON \"$ac_python_version\"" >>confdefs.h
ac_python_libdir=`cat<<EOD | $PYTHON -
# There should be only one
-import distutils.sysconfig
-e = distutils.sysconfig.get_config_var('LIBDIR')
+$IMPORT_SYSCONFIG
+e = sysconfig.get_config_var('LIBDIR')
if e is not None:
print (e)
EOD`
@@ -15266,8 +15448,8 @@ EOD`
# Now, for the library:
ac_python_library=`cat<<EOD | $PYTHON -
-import distutils.sysconfig
-c = distutils.sysconfig.get_config_vars()
+$IMPORT_SYSCONFIG
+c = sysconfig.get_config_vars()
if 'LDVERSION' in c:
print ('python'+c['LDVERSION'])
else:
@@ -15286,7 +15468,7 @@ EOD`
else
# old way: use libpython from python_configdir
ac_python_libdir=`$PYTHON -c \
- "from distutils.sysconfig import get_python_lib as f; \
+ "from sysconfig import get_python_lib as f; \
import os; \
print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
@@ -15309,21 +15491,70 @@ printf "%s\n" "$PYTHON_LIBS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
printf %s "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));"`
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('purelib', scheme, vars={'base': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(0,0));"`
+ fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
#
+ # Check for platform-specific site packages
+ #
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python platform specific site-packages path" >&5
+printf %s "checking for Python platform specific site-packages path... " >&6; }
+ if test -z "$PYTHON_PLATFORM_SITE_PKG"; then
+ if test "$IMPORT_SYSCONFIG" = "import sysconfig"; then
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "
+$IMPORT_SYSCONFIG;
+if hasattr(sysconfig, 'get_default_scheme'):
+ scheme = sysconfig.get_default_scheme()
+else:
+ scheme = sysconfig._get_default_scheme()
+if scheme == 'posix_local':
+ # Debian's default scheme installs to /usr/local/ but we want to find headers in /usr/
+ scheme = 'posix_prefix'
+prefix = '$prefix'
+if prefix == 'NONE':
+ prefix = '$ac_default_prefix'
+sitedir = sysconfig.get_path('platlib', scheme, vars={'platbase': prefix})
+print(sitedir)"`
+ else
+ # distutils.sysconfig way
+ PYTHON_PLATFORM_SITE_PKG=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ print (sysconfig.get_python_lib(1,0));"`
+ fi
+ fi
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_PLATFORM_SITE_PKG" >&5
+printf "%s\n" "$PYTHON_PLATFORM_SITE_PKG" >&6; }
+
+
+ #
# libraries which must be linked in when embedding
#
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
printf %s "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; \
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
@@ -15336,8 +15567,8 @@ printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
printf %s "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; \
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "$IMPORT_SYSCONFIG; \
+ conf = sysconfig.get_config_var; \
print (conf('LINKFORSHARED'))"`
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
@@ -15353,7 +15584,7 @@ printf %s "checking consistency of all components of python development environm
ac_save_LIBS="$LIBS"
ac_save_LDFLAGS="$LDFLAGS"
ac_save_CPPFLAGS="$CPPFLAGS"
- LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
+ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS"
LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
ac_ext=c
@@ -15397,7 +15628,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
printf "%s\n" "$pythonexists" >&6; }
- if test ! "x$pythonexists" = "xyes"; then
+ if test ! "x$pythonexists" = "xyes"; then
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "
@@ -16184,6 +16415,25 @@ fi
if test x_$withval != x_no; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SSL" >&5
printf %s "checking for SSL... " >&6; }
+ if test -n "$withval"; then
+ if test ! -f "$withval/include/openssl/ssl.h" -a -f "$withval/openssl/ssl.h"; then
+ ssldir="$withval"
+ found_ssl="yes"
+ withval=""
+ ssldir_include="$ssldir"
+ ssldir_lib=`echo $ssldir | sed -e 's/include/lib/'`
+ if test -f "$ssldir_lib/libssl.a" -o -f "$ssldir_lib/libssl.so"; then
+ : # found here
+ else
+ ssldir_lib=`echo $ssldir | sed -e 's/include/lib64/'`
+ if test -f "$ssldir_lib/libssl.a" -o -f "$ssldir_lib/libssl.so"; then
+ : # found here
+ else
+ as_fn_error $? "Could not find openssl lib file, $ssldir_lib/libssl.so,a, pass like \"/usr/local\" or \"/usr/include/openssl11\"" "$LINENO" 5
+ fi
+ fi
+ fi
+ fi
if test x_$withval = x_ -o x_$withval = x_yes; then
withval="/usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr"
fi
@@ -16191,13 +16441,12 @@ printf %s "checking for SSL... " >&6; }
ssldir="$dir"
if test -f "$dir/include/openssl/ssl.h"; then
found_ssl="yes"
-
-printf "%s\n" "#define HAVE_SSL /**/" >>confdefs.h
-
- if test "$ssldir" != "/usr"; then
- CPPFLAGS="$CPPFLAGS -I$ssldir/include"
- LIBSSL_CPPFLAGS="$LIBSSL_CPPFLAGS -I$ssldir/include"
- fi
+ ssldir_include="$ssldir/include"
+ if test ! -d "$ssldir/lib" -a -d "$ssldir/lib64"; then
+ ssldir_lib="$ssldir/lib64"
+ else
+ ssldir_lib="$ssldir/lib"
+ fi
break;
fi
done
@@ -16206,30 +16455,23 @@ printf "%s\n" "#define HAVE_SSL /**/" >>confdefs.h
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: found in $ssldir" >&5
printf "%s\n" "found in $ssldir" >&6; }
- HAVE_SSL=yes
- if test "$ssldir" != "/usr" -a "$ssldir" != ""; then
- if test ! -d "$ssldir/lib" -a -d "$ssldir/lib64"; then
- LDFLAGS="$LDFLAGS -L$ssldir/lib64"
- LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir/lib64"
- if test "x$enable_rpath" = xyes; then
- if echo "$ssldir/lib64" | grep "^/" >/dev/null; then
- RUNTIME_PATH="$RUNTIME_PATH -R$ssldir/lib64"
- fi
- fi
+printf "%s\n" "#define HAVE_SSL /**/" >>confdefs.h
- else
- LDFLAGS="$LDFLAGS -L$ssldir/lib"
- LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir/lib"
+ HAVE_SSL=yes
+ if test "$ssldir" != "/usr"; then
+ CPPFLAGS="$CPPFLAGS -I$ssldir_include"
+ LIBSSL_CPPFLAGS="$LIBSSL_CPPFLAGS -I$ssldir_include"
+ LDFLAGS="$LDFLAGS -L$ssldir_lib"
+ LIBSSL_LDFLAGS="$LIBSSL_LDFLAGS -L$ssldir_lib"
if test "x$enable_rpath" = xyes; then
- if echo "$ssldir/lib" | grep "^/" >/dev/null; then
- RUNTIME_PATH="$RUNTIME_PATH -R$ssldir/lib"
+ if echo "$ssldir_lib" | grep "^/" >/dev/null; then
+ RUNTIME_PATH="$RUNTIME_PATH -R$ssldir_lib"
fi
fi
- fi
- fi
+ fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_sha256 in -lcrypto" >&5
printf %s "checking for EVP_sha256 in -lcrypto... " >&6; }
@@ -16298,19 +16540,88 @@ else $as_nop
printf "%s\n" "no" >&6; }
LIBS="$BAKLIBS"
LIBSSL_LIBS="$BAKSSLLIBS"
- LIBS="$LIBS -ldl"
- LIBSSL_LIBS="$LIBSSL_LIBS -ldl"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl" >&5
+
+ LIBS="$LIBS -lgdi32 -lws2_32 -lcrypt32"
+ LIBSSL_LIBS="$LIBSSL_LIBS -lgdi32 -lws2_32 -lcrypt32"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32" >&5
+printf %s "checking if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+
+
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+
+ LIBS="$LIBS -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a"
+ LIBSSL_LIBS="$LIBSSL_LIBS -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a" >&5
+printf %s "checking if -lcrypto needs -lgdi32 -lws2_32 -lcrypt32 -l:libssp.a... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main (void)
+{
+
+ int EVP_sha256(void);
+ (void)EVP_sha256();
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+
+
+printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+
+else $as_nop
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+
+ LIBS="$LIBS -ldl"
+ LIBSSL_LIBS="$LIBSSL_LIBS -ldl"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl" >&5
printf %s "checking if -lcrypto needs -ldl... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
- int EVP_sha256(void);
- (void)EVP_sha256();
+ int EVP_sha256(void);
+ (void)EVP_sha256();
;
return 0;
@@ -16322,28 +16633,28 @@ then :
printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- LIBS="$BAKLIBS"
- LIBSSL_LIBS="$BAKSSLLIBS"
- LIBS="$LIBS -ldl -pthread"
- LIBSSL_LIBS="$LIBSSL_LIBS -ldl -pthread"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl -pthread" >&5
+ LIBS="$BAKLIBS"
+ LIBSSL_LIBS="$BAKSSLLIBS"
+ LIBS="$LIBS -ldl -pthread"
+ LIBSSL_LIBS="$LIBSSL_LIBS -ldl -pthread"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if -lcrypto needs -ldl -pthread" >&5
printf %s "checking if -lcrypto needs -ldl -pthread... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
- int EVP_sha256(void);
- (void)EVP_sha256();
+ int EVP_sha256(void);
+ (void)EVP_sha256();
;
return 0;
@@ -16355,14 +16666,22 @@ then :
printf "%s\n" "#define HAVE_EVP_SHA256 1" >>confdefs.h
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
else $as_nop
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
- as_fn_error $? "OpenSSL found in $ssldir, but version 0.9.7 or higher is required" "$LINENO" 5
+ as_fn_error $? "OpenSSL found in $ssldir, but version 0.9.7 or higher is required" "$LINENO" 5
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
@@ -17338,13 +17657,13 @@ then :
fi
case "$enable_rrtype_amtrelay" in
- yes)
+ no)
+ ;;
+ yes|*)
printf "%s\n" "#define RRTYPE_AMTRELAY /**/" >>confdefs.h
;;
- no|*)
- ;;
esac
# Check whether --enable-rrtype-svcb-https was given.
if test ${enable_rrtype_svcb_https+y}
@@ -17361,8 +17680,29 @@ printf "%s\n" "#define RRTYPE_SVCB_HTTPS /**/" >>confdefs.h
;;
esac
+# Check whether --enable-rrtype-resinfo was given.
+if test ${enable_rrtype_resinfo+y}
+then :
+ enableval=$enable_rrtype_resinfo;
+fi
+
+case "$enable_rrtype_resinfo" in
+ no)
+ ;;
+ yes|*)
+
+printf "%s\n" "#define RRTYPE_RESINFO /**/" >>confdefs.h
+
+ ;;
+esac
+if echo "$tmp_LIBS" | grep "ws2_32" >/dev/null; then
+ if echo "$LIBSSL_LIBS" | grep "ws2_32" >/dev/null; then
+ # only need it once.
+ LIBSSL_LIBS=`echo "$LIBSSL_LIBS" | sed -e 's/ -lws2_32//' -e 's/^-lws2_32//'`
+ fi
+fi
@@ -18458,6 +18798,68 @@ fi
fi
+ac_fn_check_decl "$LINENO" "inet_pton" "ac_cv_have_decl_inet_pton" "
+$ac_includes_default
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
+
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_inet_pton" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_INET_PTON $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "inet_ntop" "ac_cv_have_decl_inet_ntop" "
+$ac_includes_default
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
+
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_inet_ntop" = xyes
+then :
+ ac_have_decl=1
+else $as_nop
+ ac_have_decl=0
+fi
+printf "%s\n" "#define HAVE_DECL_INET_NTOP $ac_have_decl" >>confdefs.h
+
+
# AC_FUNC_MALLOC suffers false failures and causes Asan failures.
# AC_FUNC_MALLOC
# AC_FUNC_REALLOC
@@ -18532,6 +18934,20 @@ esac
fi
+ac_fn_c_check_func "$LINENO" "asctime_r" "ac_cv_func_asctime_r"
+if test "x$ac_cv_func_asctime_r" = xyes
+then :
+ printf "%s\n" "#define HAVE_ASCTIME_R 1" >>confdefs.h
+
+else $as_nop
+ case " $LIBOBJS " in
+ *" asctime_r.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS asctime_r.$ac_objext"
+ ;;
+esac
+
+fi
+
ac_fn_c_check_func "$LINENO" "ctime_r" "ac_cv_func_ctime_r"
if test "x$ac_cv_func_ctime_r" = xyes
then :
@@ -19029,6 +19445,12 @@ then :
printf "%s\n" "#define HAVE_B32_PTON 1" >>confdefs.h
fi
+ac_fn_c_check_func "$LINENO" "symlink" "ac_cv_func_symlink"
+if test "x$ac_cv_func_symlink" = xyes
+then :
+ printf "%s\n" "#define HAVE_SYMLINK 1" >>confdefs.h
+
+fi
if test "x$HAVE_B32_NTOP" = "xyes"; then
ldns_build_config_have_b32_ntop=1
@@ -19061,7 +19483,7 @@ char* (*f) () = getaddrinfo;
#ifdef __cplusplus
}
#endif
-int main() {
+int main(void) {
;
return 0;
}
@@ -19075,7 +19497,7 @@ if test "$ac_cv_header_windows_h" = "yes"; then
printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h
USE_WINSOCK="1"
- if echo $LIBS | grep 'lws2_32' >/dev/null; then
+ if echo "$LIBS" | grep 'lws2_32' >/dev/null; then
:
else
LIBS="$LIBS -lws2_32"
@@ -19083,6 +19505,34 @@ printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h
fi
else $as_nop
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+
+int
+main (void)
+{
+
+ (void)getaddrinfo(NULL, NULL, NULL, NULL);
+
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"
+then :
+
+ac_cv_func_getaddrinfo="yes"
+
+printf "%s\n" "#define USE_WINSOCK 1" >>confdefs.h
+
+USE_WINSOCK="1"
+
+else $as_nop
ORIGLIBS="$LIBS"
LIBS="$LIBS -lws2_32"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -19125,6 +19575,10 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
+ conftest$ac_exeext conftest.$ac_ext
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_getaddrinfo" >&5
printf "%s\n" "$ac_cv_func_getaddrinfo" >&6; }
if test $ac_cv_func_getaddrinfo = yes; then
@@ -20013,7 +20467,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.8.3, which was
+This file was extended by ldns $as_me 1.8.4, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -20073,7 +20527,7 @@ $config_headers
Configuration commands:
$config_commands
-Report bugs to <libdns@nlnetlabs.nl>."
+Report bugs to <dns-team@nlnetlabs.nl>."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
@@ -20081,7 +20535,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-ldns config.status 1.8.3
+ldns config.status 1.8.4
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
@@ -20241,6 +20695,7 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`'
OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
@@ -20249,6 +20704,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
@@ -20369,6 +20825,7 @@ LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
+FILECMD \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
@@ -20377,7 +20834,6 @@ want_nocaseglob \
DLLTOOL \
sharedlib_from_linklib_cmd \
AR \
-AR_FLAGS \
archiver_list_spec \
STRIP \
RANLIB \
@@ -21178,6 +21634,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
# convert \$build files to toolchain format.
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+# A file(cmd) program that detects file types.
+FILECMD=$lt_FILECMD
+
# An object symbol dumper.
OBJDUMP=$lt_OBJDUMP
@@ -21202,8 +21661,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
# The archiver.
AR=$lt_AR
+# Flags to create an archive (by configure).
+lt_ar_flags=$lt_ar_flags
+
# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
+AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
# How to feed a file listing to the archiver.
archiver_list_spec=$lt_archiver_list_spec
@@ -21579,7 +22041,7 @@ ltmain=$ac_aux_dir/ltmain.sh
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
+ $SED '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
diff --git a/configure.ac b/configure.ac
index 20b7aba19e86..9bf9823f73c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,13 +1,13 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.56)
+AC_PREREQ([2.71])
sinclude(acx_nlnetlabs.m4)
# must be numbers. ac_defun because of later processing.
m4_define([VERSION_MAJOR],[1])
m4_define([VERSION_MINOR],[8])
-m4_define([VERSION_MICRO],[3])
-AC_INIT(ldns, m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]), libdns@nlnetlabs.nl, libdns)
+m4_define([VERSION_MICRO],[4])
+AC_INIT([ldns],m4_defn([VERSION_MAJOR]).m4_defn([VERSION_MINOR]).m4_defn([VERSION_MICRO]),[dns-team@nlnetlabs.nl],[libdns])
AC_CONFIG_SRCDIR([packet.c])
# needed to build correct soname
AC_SUBST(LDNS_VERSION_MAJOR, [VERSION_MAJOR])
@@ -34,9 +34,9 @@ AC_SUBST(LDNS_VERSION_MICRO, [VERSION_MICRO])
# ldns-1.8.2 had libversion 7:0:4
# ldns-1.8.3 has libversion 8:0:5
#
-AC_SUBST(VERSION_INFO, [8:0:5])
+AC_SUBST(VERSION_INFO, [9:0:6])
-AC_AIX
+AC_USE_SYSTEM_EXTENSIONS
if test "$ac_cv_header_minix_config_h" = "yes"; then
AC_DEFINE(_NETBSD_SOURCE,1, [Enable for compile on Minix])
fi
@@ -89,7 +89,7 @@ COPY_FILES($srcdir/$1/*.h, $2)
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
-AC_LANG_C
+AC_LANG([C])
if test "x$CFLAGS" = "x" ; then
ACX_CHECK_COMPILER_FLAG(g, [CFLAGS="-g"])
ACX_CHECK_COMPILER_FLAG(O2, [CFLAGS="-O2 $CFLAGS"])
@@ -137,23 +137,23 @@ AC_CHECK_FUNC([socket],
# modern OS X provides inet_ntop in -lc.
# modern Solaris provides inet_ntop in -lsocket -lnsl.
# older Solaris provides inet_ntop in -lresolv.
+# Windows provides inet_ntop in -lws2_32.
AC_CHECK_FUNC([inet_ntop],
[],
- [AC_SEARCH_LIBS([inet_ntop], [socket c nsl resolv], [ac_cv_func_inet_ntop=yes])
+ [AC_SEARCH_LIBS([inet_ntop], [socket c nsl resolv ws2_32], [ac_cv_func_inet_ntop=yes])
])
# modern Linux provides inet_pton in -lsocket.
# modern OS X provides inet_pton in -lc.
# modern Solaris provides inet_pton in -lsocket -lnsl.
# older Solaris provides inet_pton in -lresolv.
+# Windows provides inet_pton in -lws2_32.
AC_CHECK_FUNC([inet_pton],
[],
- [AC_SEARCH_LIBS([inet_pton], [socket c nsl resolv], [ac_cv_func_inet_pton=yes])
+ [AC_SEARCH_LIBS([inet_pton], [socket c nsl resolv ws2_32], [ac_cv_func_inet_pton=yes])
])
-
-AC_ARG_WITH(drill, AC_HELP_STRING([--with-drill],
- [Also build drill.]),
+AC_ARG_WITH(drill, AS_HELP_STRING([--with-drill],[Also build drill.]),
[],[with_drill="no"])
if test x_$with_drill != x_no ; then
AC_SUBST(DRILL,[drill])
@@ -177,8 +177,7 @@ else
fi
-AC_ARG_WITH(examples, AC_HELP_STRING([--with-examples],
- [Also build examples.]),
+AC_ARG_WITH(examples, AS_HELP_STRING([--with-examples],[Also build examples.]),
[],[with_examples="no"])
if test x_$with_examples != x_no ; then
AC_SUBST(EXAMPLES,[examples])
@@ -202,7 +201,7 @@ else
fi
# add option to disable installation of ldns-config script
-AC_ARG_ENABLE(ldns-config, AC_HELP_STRING([--disable-ldns-config], [disable installation of ldns-config (default=enabled)]),
+AC_ARG_ENABLE(ldns-config, AS_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])
@@ -217,7 +216,7 @@ else
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)
+AC_ARG_ENABLE(stderr-msgs, AS_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
;;
@@ -237,8 +236,7 @@ AX_CONFIG_FEATURE(
PYTHON_X_CFLAGS=""
ldns_with_pyldns=no
ldns_with_pyldnsx=no
-AC_ARG_WITH(pyldns, AC_HELP_STRING([--with-pyldns],
- [generate python library, or --without-pyldns to disable Python support.]),
+AC_ARG_WITH(pyldns, AS_HELP_STRING([--with-pyldns],[generate python library, or --without-pyldns to disable Python support.]),
[],[ withval="no" ])
ldns_have_python=no
if test x_$withval != x_no; then
@@ -293,8 +291,7 @@ fi
AC_SUBST(PYTHON_X_CFLAGS)
# Check for pyldnsx
-AC_ARG_WITH(pyldnsx, AC_HELP_STRING([--without-pyldnsx],
- [Do not install the ldnsx python module, or --with-pyldnsx to install it.]),
+AC_ARG_WITH(pyldnsx, AS_HELP_STRING([--without-pyldnsx],[Do not install the ldnsx python module, or --with-pyldnsx to install it.]),
[],[ withval="with_pyldns" ])
if test x_$withval != x_no; then
if test x_$ldns_with_pyldns != x_no; then
@@ -324,8 +321,7 @@ 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]),
+AC_ARG_WITH(p5-dns-ldns, AS_HELP_STRING([--with-p5-dns-ldns],[generate DNS::LDNS perl bindings]),
[],[ withval="no" ])
ldns_have_perl=no
if test x_$withval != x_no; then
@@ -390,7 +386,7 @@ So either no OpenSSL at all (the include already failed), or the version < 3.0.0
#AC_CHECK_PROG(glibtool, glibtool, [glibtool], )
#AC_CHECK_PROGS(libtool, [libtool15 libtool], [./libtool])
-AC_ARG_ENABLE(sha2, AC_HELP_STRING([--disable-sha2], [Disable SHA256 and SHA512 RRSIG support]))
+AC_ARG_ENABLE(sha2, AS_HELP_STRING([--disable-sha2],[Disable SHA256 and SHA512 RRSIG support]))
case "$enable_sha2" in
no)
;;
@@ -515,7 +511,7 @@ eval "ac_cv_c_gost_works=maybe"
fi
])dnl
-AC_ARG_ENABLE(gost, AC_HELP_STRING([--disable-gost], [Disable GOST support]))
+AC_ARG_ENABLE(gost, AS_HELP_STRING([--disable-gost],[Disable GOST support]))
case "$enable_gost" in
no)
;;
@@ -527,7 +523,7 @@ case "$enable_gost" in
AC_CHECK_FUNC(EVP_PKEY_set_type_str, [],[AC_MSG_ERROR([OpenSSL >= 1.0.0 is needed for GOST support or rerun with --disable-gost])])
AC_CHECK_FUNC(EC_KEY_new, [], [AC_MSG_ERROR([No ECC functions found in OpenSSL: please upgrade OpenSSL or rerun with --disable-gost])])
AC_CHECK_GOST_WORKS
- AC_ARG_ENABLE(gost-anyway, AC_HELP_STRING([--enable-gost-anyway], [Enable GOST even without a GOST engine installed]))
+ AC_ARG_ENABLE(gost-anyway, AS_HELP_STRING([--enable-gost-anyway],[Enable GOST even without a GOST engine installed]))
if test "$ac_cv_c_gost_works" != "no" -o "$enable_gost_anyway" = "yes"; then
if test "$ac_cv_c_gost_works" = "no"; then
AC_MSG_RESULT([no, but compiling with GOST support anyway])
@@ -545,7 +541,7 @@ case "$enable_gost" in
;;
esac
-AC_ARG_ENABLE(ecdsa, AC_HELP_STRING([--disable-ecdsa], [Disable ECDSA support]))
+AC_ARG_ENABLE(ecdsa, AS_HELP_STRING([--disable-ecdsa],[Disable ECDSA support]))
case "$enable_ecdsa" in
no)
;;
@@ -563,7 +559,7 @@ case "$enable_ecdsa" in
;;
esac
-AC_ARG_ENABLE(dsa, AC_HELP_STRING([--disable-dsa], [Disable DSA support]))
+AC_ARG_ENABLE(dsa, AS_HELP_STRING([--disable-dsa],[Disable DSA support]))
case "$enable_dsa" in
no)
AC_SUBST(ldns_build_config_use_dsa, 0)
@@ -579,7 +575,7 @@ case "$enable_dsa" in
;;
esac
-AC_ARG_ENABLE(ed25519, AC_HELP_STRING([--disable-ed25519], [Disable (experimental) ED25519 support. Default is detect]))
+AC_ARG_ENABLE(ed25519, AS_HELP_STRING([--disable-ed25519],[Disable (experimental) ED25519 support. Default is detect]))
case "$enable_ed25519" in
no)
AC_SUBST(ldns_build_config_use_ed25519, 0)
@@ -596,7 +592,7 @@ case "$enable_ed25519" in
;;
esac
-AC_ARG_ENABLE(ed448, AC_HELP_STRING([--disable-ed448], [Disable (experimental) ED448 support. Default is detect]))
+AC_ARG_ENABLE(ed448, AS_HELP_STRING([--disable-ed448],[Disable (experimental) ED448 support. Default is detect]))
case "$enable_ed448" in
no)
AC_SUBST(ldns_build_config_use_ed448, 0)
@@ -613,9 +609,9 @@ case "$enable_ed448" in
;;
esac
-AC_ARG_ENABLE(dane, AC_HELP_STRING([--disable-dane], [Disable DANE support]))
-AC_ARG_ENABLE(dane-verify, AC_HELP_STRING([--disable-dane-verify], [Disable DANE verify support]))
-AC_ARG_ENABLE(dane-ta-usage, AC_HELP_STRING([--disable-dane-ta-usage], [Disable DANE-TA usage type support]))
+AC_ARG_ENABLE(dane, AS_HELP_STRING([--disable-dane],[Disable DANE support]))
+AC_ARG_ENABLE(dane-verify, AS_HELP_STRING([--disable-dane-verify],[Disable DANE verify support]))
+AC_ARG_ENABLE(dane-ta-usage, AS_HELP_STRING([--disable-dane-ta-usage],[Disable DANE-TA usage type support]))
AC_ARG_ENABLE(full-dane,, [
enable_dane_ta_usage=yes
@@ -671,7 +667,7 @@ case "$enable_dane" in
;;
esac
-AC_ARG_ENABLE(rrtype-ninfo, AC_HELP_STRING([--enable-rrtype-ninfo], [Enable draft RR type ninfo.]))
+AC_ARG_ENABLE(rrtype-ninfo, AS_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.])
@@ -679,7 +675,7 @@ case "$enable_rrtype_ninfo" in
no|*)
;;
esac
-AC_ARG_ENABLE(rrtype-rkey, AC_HELP_STRING([--enable-rrtype-rkey], [Enable draft RR type rkey.]))
+AC_ARG_ENABLE(rrtype-rkey, AS_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.])
@@ -687,7 +683,7 @@ case "$enable_rrtype_rkey" in
no|*)
;;
esac
-AC_ARG_ENABLE(rrtype-openpgpkey, AC_HELP_STRING([--disable-rrtype-openpgpkey], [Disable openpgpkey RR type.]))
+AC_ARG_ENABLE(rrtype-openpgpkey, AS_HELP_STRING([--disable-rrtype-openpgpkey],[Disable openpgpkey RR type.]))
case "$enable_rrtype_openpgpkey" in
no)
;;
@@ -695,7 +691,7 @@ case "$enable_rrtype_openpgpkey" in
AC_DEFINE_UNQUOTED([RRTYPE_OPENPGPKEY], [], [Define this to enable RR type OPENPGPKEY.])
;;
esac
-AC_ARG_ENABLE(rrtype-ta, AC_HELP_STRING([--enable-rrtype-ta], [Enable draft RR type ta.]))
+AC_ARG_ENABLE(rrtype-ta, AS_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.])
@@ -703,7 +699,7 @@ case "$enable_rrtype_ta" in
no|*)
;;
esac
-AC_ARG_ENABLE(rrtype-avc, AC_HELP_STRING([--enable-rrtype-avc], [Enable draft RR type avc.]))
+AC_ARG_ENABLE(rrtype-avc, AS_HELP_STRING([--enable-rrtype-avc],[Enable draft RR type avc.]))
case "$enable_rrtype_avc" in
yes)
AC_DEFINE_UNQUOTED([RRTYPE_AVC], [], [Define this to enable RR type AVC.])
@@ -711,7 +707,7 @@ case "$enable_rrtype_avc" in
no|*)
;;
esac
-AC_ARG_ENABLE(rrtype-doa, AC_HELP_STRING([--enable-rrtype-doa], [Enable draft RR type DOA.]))
+AC_ARG_ENABLE(rrtype-doa, AS_HELP_STRING([--enable-rrtype-doa],[Enable draft RR type DOA.]))
case "$enable_rrtype_doa" in
yes)
AC_DEFINE_UNQUOTED([RRTYPE_DOA], [], [Define this to enable RR type DOA.])
@@ -719,15 +715,15 @@ case "$enable_rrtype_doa" in
no|*)
;;
esac
-AC_ARG_ENABLE(rrtype-amtrelay, AC_HELP_STRING([--enable-rrtype-amtrelay], [Enable draft RR type AMTRELAY.]))
+AC_ARG_ENABLE(rrtype-amtrelay, AS_HELP_STRING([--disable-rrtype-amtrelay],[Disable RR type AMTRELAY.]))
case "$enable_rrtype_amtrelay" in
- yes)
- AC_DEFINE_UNQUOTED([RRTYPE_AMTRELAY], [], [Define this to enable RR type AMTRELAY.])
+ no)
;;
- no|*)
+ yes|*)
+ AC_DEFINE_UNQUOTED([RRTYPE_AMTRELAY], [], [Define this to enable RR type AMTRELAY.])
;;
esac
-AC_ARG_ENABLE(rrtype-svcb-https, AC_HELP_STRING([--disable-rrtype-svcb-https], [Disable RR types SVCB and HTTPS.]))
+AC_ARG_ENABLE(rrtype-svcb-https, AS_HELP_STRING([--disable-rrtype-svcb-https],[Disable RR types SVCB and HTTPS.]))
case "$enable_rrtype_svcb_https" in
no)
;;
@@ -735,8 +731,22 @@ case "$enable_rrtype_svcb_https" in
AC_DEFINE_UNQUOTED([RRTYPE_SVCB_HTTPS], [], [Define this to enable RR types SVCB and HTTPS.])
;;
esac
+AC_ARG_ENABLE(rrtype-resinfo, AS_HELP_STRING([--enable-rrtype-resinfo],[Disable RR type RESINFO.]))
+case "$enable_rrtype_resinfo" in
+ no)
+ ;;
+ yes|*)
+ AC_DEFINE_UNQUOTED([RRTYPE_RESINFO], [], [Define this to enable RR type RESINFO.])
+ ;;
+esac
+if echo "$tmp_LIBS" | grep "ws2_32" >/dev/null; then
+ if echo "$LIBSSL_LIBS" | grep "ws2_32" >/dev/null; then
+ # only need it once.
+ LIBSSL_LIBS=`echo "$LIBSSL_LIBS" | sed -e 's/ -lws2_32//' -e 's/^-lws2_32//'`
+ fi
+fi
AC_SUBST(LIBSSL_CPPFLAGS)
AC_SUBST(LIBSSL_LDFLAGS)
@@ -776,7 +786,15 @@ ACX_ARG_RPATH
AC_C_BIGENDIAN
# Checks for header files.
-AC_HEADER_STDC
+m4_warn([obsolete],
+[The preprocessor macro `STDC_HEADERS' is obsolete.
+ Except in unusual embedded environments, you can safely include all
+ ISO C90 headers unconditionally.])dnl
+# Autoupdate added the next two lines to ensure that your configure
+# script's behavior did not change. They are probably safe to remove.
+AC_CHECK_INCLUDES_DEFAULT
+AC_PROG_EGREP
+
AC_HEADER_STDBOOL
#AC_HEADER_SYS_WAIT
#AC_CHECK_HEADERS([getopt.h fcntl.h stdlib.h string.h strings.h unistd.h])
@@ -900,6 +918,29 @@ AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])],
#endif])
ACX_CHECK_SS_FAMILY
+AC_CHECK_DECLS([inet_pton,inet_ntop], [], [], [
+AC_INCLUDES_DEFAULT
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+
+#ifdef HAVE_NETINET_TCP_H
+#include <netinet/tcp.h>
+#endif
+
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+
+#ifdef HAVE_WINSOCK2_H
+#include <winsock2.h>
+#endif
+
+#ifdef HAVE_WS2TCPIP_H
+#include <ws2tcpip.h>
+#endif
+])
+
# AC_FUNC_MALLOC suffers false failures and causes Asan failures.
# AC_FUNC_MALLOC
# AC_FUNC_REALLOC
@@ -909,6 +950,7 @@ AC_REPLACE_FUNCS(b64_ntop)
AC_REPLACE_FUNCS(calloc)
AC_REPLACE_FUNCS(timegm)
AC_REPLACE_FUNCS(gmtime_r)
+AC_REPLACE_FUNCS(asctime_r)
AC_REPLACE_FUNCS(ctime_r)
AC_REPLACE_FUNCS(localtime_r)
AC_REPLACE_FUNCS(isblank)
@@ -930,7 +972,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
AC_DEFINE([HAVE_FORK_AVAILABLE], 1, [if fork is available for compile])
], [ AC_MSG_RESULT(no)
])
-AC_CHECK_FUNCS([endprotoent endservent sleep random fcntl strtoul bzero memset b32_ntop b32_pton])
+AC_CHECK_FUNCS([endprotoent endservent sleep random fcntl strtoul bzero memset b32_ntop b32_pton symlink])
if test "x$HAVE_B32_NTOP" = "xyes"; then
AC_SUBST(ldns_build_config_have_b32_ntop, 1)
else
@@ -956,8 +998,7 @@ ACX_FUNC_IOCTLSOCKET
ACX_CHECK_FORMAT_ATTRIBUTE
ACX_CHECK_UNUSED_ATTRIBUTE
-AC_ARG_WITH(xcode-sdk, AC_HELP_STRING([--with-xcode-sdk],
- [Set xcode SDK version. Default is autodetect]),
+AC_ARG_WITH(xcode-sdk, AS_HELP_STRING([--with-xcode-sdk],[Set xcode SDK version. Default is autodetect]),
[],[with_xcode_sdk="yes"])
if test "x_$with_xcode_sdk" != "x_no" ; then
# check OSX deployment target, if needed
@@ -985,14 +1026,14 @@ fi
AC_DEFINE([SYSCONFDIR], [sysconfdir], [System configuration dir])
-AC_ARG_WITH(trust-anchor, AC_HELP_STRING([--with-trust-anchor=KEYFILE], [Default location of the trust anchor file for drill and ldns-dane. [default=SYSCONFDIR/unbound/root.key]]), [
+AC_ARG_WITH(trust-anchor, AS_HELP_STRING([--with-trust-anchor=KEYFILE],[Default location of the trust anchor file for drill and ldns-dane. [default=SYSCONFDIR/unbound/root.key]]), [
AC_SUBST([LDNS_TRUST_ANCHOR_FILE], ["$withval"])
AC_MSG_NOTICE([Default trust anchor: $withval])
],[
AC_SUBST([LDNS_TRUST_ANCHOR_FILE], ["\$(sysconfdir)/unbound/root.key"])
])
-AC_ARG_WITH(ca-file, AC_HELP_STRING([--with-ca-file=CAFILE], [File containing CA certificates for ldns-dane]), [
+AC_ARG_WITH(ca-file, AS_HELP_STRING([--with-ca-file=CAFILE],[File containing CA certificates for ldns-dane]), [
AC_DEFINE([HAVE_DANE_CA_FILE], [1], [Is a CAFILE given at configure time])
AC_DEFINE_UNQUOTED([LDNS_DANE_CA_FILE], ["$withval"], [Is a CAFILE given at configure time])
AC_MSG_NOTICE([Using CAfile: $withval])
@@ -1002,7 +1043,7 @@ AC_ARG_WITH(ca-file, AC_HELP_STRING([--with-ca-file=CAFILE], [File containing CA
AC_SUBST(DEFAULT_CAFILE, [])
])
-AC_ARG_WITH(ca-path, AC_HELP_STRING([--with-ca-path=CAPATH], [Directory containing CA certificate files for ldns-dane]), [
+AC_ARG_WITH(ca-path, AS_HELP_STRING([--with-ca-path=CAPATH],[Directory containing CA certificate files for ldns-dane]), [
AC_DEFINE([HAVE_DANE_CA_PATH], [1], [Is a CAPATH given at configure time])
AC_DEFINE_UNQUOTED([LDNS_DANE_CA_PATH], ["$withval"], [Is a CAPATH given at configure time])
AC_MSG_NOTICE([Using CApath: $withval])
@@ -1114,6 +1155,9 @@ time_t timegm (struct tm *tm);
#ifndef HAVE_GMTIME_R
struct tm *gmtime_r(const time_t *timep, struct tm *result);
#endif
+#ifndef HAVE_ASCTIME_R
+char *asctime_r(const struct tm *tm, char *buf);
+#endif
#ifndef HAVE_LOCALTIME_R
struct tm *localtime_r(const time_t *timep, struct tm *result);
#endif
@@ -1128,10 +1172,10 @@ int isascii(int c);
int snprintf (char *str, size_t count, const char *fmt, ...);
int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
#endif /* HAVE_SNPRINTF */
-#ifndef HAVE_INET_PTON
+#if !defined(HAVE_INET_PTON) && !HAVE_DECL_INET_PTON
int inet_pton(int af, const char* src, void* dst);
#endif /* HAVE_INET_PTON */
-#ifndef HAVE_INET_NTOP
+#if !defined(HAVE_INET_NTOP) && !HAVE_DECL_INET_NTOP
const char *inet_ntop(int af, const void *src, char *dst, size_t size);
#endif
#ifndef HAVE_INET_ATON
@@ -1145,7 +1189,7 @@ size_t strlcpy(char *dst, const char *src, size_t siz);
#endif
#ifdef USE_WINSOCK
-#define SOCK_INVALID INVALID_SOCKET
+#define SOCK_INVALID ((INT_PTR)INVALID_SOCKET)
#define close_socket(_s) do { if (_s != SOCK_INVALID) {closesocket(_s); _s = -1;} } while(0)
#else
#define SOCK_INVALID -1
@@ -1183,7 +1227,7 @@ CONFIG_FILES="Makefile libdns.doxygen ldns/common.h ldns/net.h ldns/util.h packa
AC_SUBST(CONFIG_FILES)
AC_CONFIG_FILES([$CONFIG_FILES])
-AC_CONFIG_HEADER([ldns/config.h])
+AC_CONFIG_HEADERS([ldns/config.h])
AC_OUTPUT
COPY_HEADER_FILES(ldns/, ldns/)
diff --git a/contrib/DNS-LDNS/META.yml b/contrib/DNS-LDNS/META.yml
index 79efd69d9e45..3a7f6465d8fc 100644
--- a/contrib/DNS-LDNS/META.yml
+++ b/contrib/DNS-LDNS/META.yml
@@ -10,7 +10,7 @@ configure_requires:
Devel::CheckLib: '0.9'
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.024, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Dist::Zilla version 6.030, CPAN::Meta::Converter version 2.150010'
license: restrictive
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -25,5 +25,5 @@ requires:
strict: '0'
warnings: '0'
version: '0.61'
-x_generated_by_perl: v5.34.0
-x_serialization_backend: 'YAML::Tiny version 1.73'
+x_generated_by_perl: v5.38.2
+x_serialization_backend: 'YAML::Tiny version 1.74'
diff --git a/contrib/android/15-android.conf b/contrib/android/15-android.conf
deleted file mode 100644
index e1fc91e703f2..000000000000
--- a/contrib/android/15-android.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-#### Android...
-#
-# Heavily hacked 15-android.conf based on OpenSSL's config file of the same name.
-# This 15-android.conf avoids compiler errors using NDK-r20. This 15-android.conf
-# requires an environment set (sourced) using setenv-android.sh.
-
-my %targets = (
- "android" => {
- inherit_from => [ "linux-generic32" ],
- template => 1,
- bin_cflags => add("-fPIE"),
- bin_lflags => add("-pie"),
- enable => [ ],
- },
-
- "android-arm" => {
- inherit_from => [ "android", asm("armv4_asm") ],
- bn_ops => [ "BN_LLONG", "RC4_CHAR" ],
- },
- "android-arm64" => {
- inherit_from => [ "android", asm("aarch64_asm") ],
- bn_ops => [ "SIXTY_FOUR_BIT_LONG", "RC4_CHAR" ],
- perlasm_scheme => "linux64",
- },
-
- "android-x86" => {
- inherit_from => [ "android", asm("x86_asm") ],
- cflags => add(picker(release => "-fomit-frame-pointer")),
- bn_ops => [ "BN_LLONG", "RC4_INT" ],
- perlasm_scheme => "android",
- },
- "android-x86_64" => {
- inherit_from => [ "android", asm("x86_64_asm") ],
- bn_ops => [ "SIXTY_FOUR_BIT_LONG", "RC4_INT" ],
- perlasm_scheme => "elf",
- },
-);
diff --git a/contrib/android/bootstrap_ldns.sh b/contrib/android/bootstrap_ldns.sh
deleted file mode 100755
index 7e423030ccae..000000000000
--- a/contrib/android/bootstrap_ldns.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-
-if ! git submodule update --init; then
- echo "Failed to init submodule"
- exit 1
-fi
-
-echo "AUTOTOOLS_BUILD: $AUTOTOOLS_BUILD"
-echo "AUTOTOOLS_HOST: $AUTOTOOLS_HOST"
-
-# libtool complains about our updated config.guess and config.sub.
-# Remove them to get through bootstrap. Re-add them after libtoolize.
-
-echo "Running libtoolize"
-if [ -n "$(command -v glibtoolize)" ]; then
- rm -f config.guess config.sub
- if ! glibtoolize -ci ; then
- echo "Failed to libtoolize (glibtoolize)"
- exit 1
- fi
-elif [ -n "$(command -v libtoolize)" ]; then
- rm -f config.guess config.sub
- if ! libtoolize -ci ; then
- echo "Failed to libtoolize (libtoolize)"
- exit 1
- fi
-else
- echo "Failed to find a libtool"
- exit 1
-fi
-
-echo "Updating config.guess"
-if ! wget -q -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'; then
- echo "Failed to download config.guess"
-fi
-
-echo "Updating config.sub"
-if ! wget -q -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'; then
- echo "Failed to download config.sub"
-fi
-
-echo "Fixing config permissions"
-chmod a+x config.guess config.sub
-if [ -n "$(command -v xattr 2>/dev/null)" ]; then
- xattr -d com.apple.quarantine config.guess 2>/dev/null
- xattr -d com.apple.quarantine config.sub 2>/dev/null
-fi
-
-echo "Running autoreconf"
-if ! autoreconf -fi ; then
- echo "Failed to autoreconf"
- exit 1
-fi
-
-exit 0
diff --git a/contrib/android/install_ndk.sh b/contrib/android/install_ndk.sh
deleted file mode 100755
index 90e453153db5..000000000000
--- a/contrib/android/install_ndk.sh
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/env bash
-
-if [ -z "$ANDROID_SDK_ROOT" ]; then
- echo "ERROR: ANDROID_SDK_ROOT is not set. Please set it."
- echo "SDK root is $ANDROID_SDK_ROOT"
- exit 1
-fi
-
-if [ -z "$ANDROID_NDK_ROOT" ]; then
- echo "ERROR: ANDROID_NDK_ROOT is not set. Please set it."
- echo "NDK root is $ANDROID_NDK_ROOT"
- exit 1
-fi
-
-echo "Using ANDROID_SDK_ROOT: $ANDROID_SDK_ROOT"
-echo "Using ANDROID_NDK_ROOT: $ANDROID_NDK_ROOT"
-
-echo "Downloading SDK"
-if ! curl -L -k -s -o "$HOME/android-sdk.zip" https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip;
-then
- echo "Failed to download SDK"
- exit 1
-fi
-
-echo "Downloading NDK"
-if ! curl -L -k -s -o "$HOME/android-ndk.zip" https://dl.google.com/android/repository/android-ndk-r20b-linux-x86_64.zip;
-then
- echo "Failed to download NDK"
- exit 1
-fi
-
-echo "Unpacking SDK to $ANDROID_SDK_ROOT"
-if ! unzip -qq "$HOME/android-sdk.zip" -d "$ANDROID_SDK_ROOT";
-then
- echo "Failed to unpack SDK"
- exit 1
-fi
-
-echo "Unpacking NDK to $ANDROID_NDK_ROOT"
-if ! unzip -qq "$HOME/android-ndk.zip" -d "$HOME";
-then
- echo "Failed to unpack NDK"
- exit 1
-fi
-
-if ! mv "$HOME/android-ndk-r20b" "$ANDROID_NDK_ROOT";
-then
- echo "Failed to move $HOME/android-ndk-r20b to $ANDROID_NDK_ROOT"
- exit 1
-fi
-
-rm -f "$HOME/android-sdk.zip"
-rm -f "$HOME/android-ndk.zip"
-
-# https://stackoverflow.com/a/47028911/608639
-touch "$ANDROID_SDK_ROOT/repositories.cfg"
-
-echo "Finished installing SDK and NDK"
-
-exit 0
diff --git a/contrib/android/install_openssl.sh b/contrib/android/install_openssl.sh
deleted file mode 100755
index e4fb87266e2e..000000000000
--- a/contrib/android/install_openssl.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env bash
-
-echo "Downloading OpenSSL"
-if ! curl -L -k -s -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz;
-then
- echo "Failed to download OpenSSL"
- exit 1
-fi
-
-echo "Unpacking OpenSSL"
-rm -rf ./openssl-1.1.1d
-if ! tar -xf openssl-1.1.1d.tar.gz;
-then
- echo "Failed to unpack OpenSSL"
- exit 1
-fi
-
-cd openssl-1.1.1d || exit 1
-
-if ! cp ../contrib/android/15-android.conf Configurations/; then
- echo "Failed to copy OpenSSL Android config"
- exit 1
-fi
-
-echo "Configuring OpenSSL"
-if ! ./Configure "$OPENSSL_HOST" no-comp no-asm no-hw no-engine shared \
- --prefix="$ANDROID_PREFIX" --openssldir="$ANDROID_PREFIX"; then
- echo "Failed to configure OpenSSL"
- exit 1
-fi
-
-echo "Building OpenSSL"
-if ! make; then
- echo "Failed to build OpenSSL"
- exit 1
-fi
-
-echo "Installing OpenSSL"
-if ! make install_sw; then
- echo "Failed to install OpenSSL"
- exit 1
-fi
-
-exit 0
diff --git a/contrib/android/install_tools.sh b/contrib/android/install_tools.sh
deleted file mode 100755
index 45aff601e2d7..000000000000
--- a/contrib/android/install_tools.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-# This step should install tools needed for all packages - OpenSSL and LDNS
-echo "Updating tools"
-sudo apt-get -qq update
-sudo apt-get -qq install --no-install-recommends curl wget tar zip unzip patch perl openjdk-8-jdk autoconf automake libtool pkg-config
-
-# Android builds run config.guess early to determine BUILD and HOST. We need to add config.guess
-# and config.sub now. Later, bootstrap_ldns.sh will handle the complete bootstrap of LDNS.
-
-echo "Adding config.guess"
-if ! wget -q -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'; then
- echo "Failed to download config.guess"
-fi
-
-echo "Adding config.sub"
-if ! wget -q -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'; then
- echo "Failed to download config.sub"
-fi
-
-echo "Fixing config permissions"
-chmod a+x config.guess config.sub
-if [ -n "$(command -v xattr 2>/dev/null)" ]; then
- xattr -d com.apple.quarantine config.guess 2>/dev/null
- xattr -d com.apple.quarantine config.sub 2>/dev/null
-fi
diff --git a/contrib/android/setenv_android.sh b/contrib/android/setenv_android.sh
deleted file mode 100755
index f45acb0f7ead..000000000000
--- a/contrib/android/setenv_android.sh
+++ /dev/null
@@ -1,203 +0,0 @@
-#!/usr/bin/env bash
-
-# ====================================================================
-# Sets the cross compile environment for Android
-#
-# Based upon OpenSSL's setenv-android.sh by TH, JW, and SM.
-# Heavily modified by JWW for Crypto++.
-# Updated by Skycoder42 for current recommendations for Android.
-# Modified by JWW for LDNS.
-# ====================================================================
-
-#########################################
-##### Some validation #####
-#########################################
-
-if [ -z "$ANDROID_API" ]; then
- echo "ANDROID_API is not set. Please set it"
- [[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
-fi
-
-if [ -z "$ANDROID_CPU" ]; then
- echo "ANDROID_CPU is not set. Please set it"
- [[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
-fi
-
-if [ ! -d "$ANDROID_NDK_ROOT" ]; then
- echo "ERROR: ANDROID_NDK_ROOT is not a valid path. Please set it."
- echo "NDK root is $ANDROID_NDK_ROOT"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# cryptest-android.sh may run this script without sourcing.
-if [ "$0" = "${BASH_SOURCE[0]}" ]; then
- echo "setenv-android.sh is usually sourced, but not this time."
-fi
-
-#####################################################################
-
-# Need to set THIS_HOST to darwin-x86_64, linux-x86_64,
-# windows, or windows-x86_64
-
-if [[ "$(uname -s | grep -i -c darwin)" -ne 0 ]]; then
- THIS_HOST=darwin-x86_64
-elif [[ "$(uname -s | grep -i -c linux)" -ne 0 ]]; then
- THIS_HOST=linux-x86_64
-else
- echo "ERROR: Unknown host"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-ANDROID_TOOLCHAIN="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$THIS_HOST/bin"
-ANDROID_SYSROOT="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$THIS_HOST/sysroot"
-
-# Error checking
-if [ ! -d "$ANDROID_TOOLCHAIN" ]; then
- echo "ERROR: ANDROID_TOOLCHAIN is not a valid path. Please set it."
- echo "Path is $ANDROID_TOOLCHAIN"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -d "$ANDROID_SYSROOT" ]; then
- echo "ERROR: ANDROID_SYSROOT is not a valid path. Please set it."
- echo "Path is $ANDROID_SYSROOT"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-#####################################################################
-
-THE_ARCH=$(tr '[:upper:]' '[:lower:]' <<< "$ANDROID_CPU")
-
-# https://developer.android.com/ndk/guides/abis.html
-case "$THE_ARCH" in
- armv7*|armeabi*)
- CC="armv7a-linux-androideabi$ANDROID_API-clang"
- CXX="armv7a-linux-androideabi$ANDROID_API-clang++"
- LD="arm-linux-androideabi-ld"
- AS="arm-linux-androideabi-as"
- AR="arm-linux-androideabi-ar"
- RANLIB="arm-linux-androideabi-ranlib"
- STRIP="arm-linux-androideabi-strip"
-
- CFLAGS="-march=armv7-a -mthumb -mfloat-abi=softfp -funwind-tables -fexceptions"
- CXXFLAGS="-march=armv7-a -mthumb -mfloat-abi=softfp -funwind-tables -fexceptions -frtti"
- ;;
-
- armv8*|aarch64|arm64)
- CC="aarch64-linux-android$ANDROID_API-clang"
- CXX="aarch64-linux-android$ANDROID_API-clang++"
- LD="aarch64-linux-android-ld"
- AS="aarch64-linux-android-as"
- AR="aarch64-linux-android-ar"
- RANLIB="aarch64-linux-android-ranlib"
- STRIP="aarch64-linux-android-strip"
-
- CFLAGS="-funwind-tables -fexceptions"
- CXXFLAGS="-funwind-tables -fexceptions -frtti"
- ;;
-
- x86)
- CC="i686-linux-android$ANDROID_API-clang"
- CXX="i686-linux-android$ANDROID_API-clang++"
- LD="i686-linux-android-ld"
- AS="i686-linux-android-as"
- AR="i686-linux-android-ar"
- RANLIB="i686-linux-android-ranlib"
- STRIP="i686-linux-android-strip"
-
- CFLAGS="-mtune=intel -mssse3 -mfpmath=sse -funwind-tables -fexceptions"
- CXXFLAGS="-mtune=intel -mssse3 -mfpmath=sse -funwind-tables -fexceptions -frtti"
- ;;
-
- x86_64|x64)
- CC="x86_64-linux-android$ANDROID_API-clang"
- CXX="x86_64-linux-android$ANDROID_API-clang++"
- LD="x86_64-linux-android-ld"
- AS="x86_64-linux-android-as"
- AR="x86_64-linux-android-ar"
- RANLIB="x86_64-linux-android-ranlib"
- STRIP="x86_64-linux-android-strip"
-
- CFLAGS="-march=x86-64 -msse4.2 -mpopcnt -mtune=intel -funwind-tables -fexceptions"
- CXXFLAGS="-march=x86-64 -msse4.2 -mpopcnt -mtune=intel -funwind-tables -fexceptions -frtti"
- ;;
-
- *)
- echo "ERROR: Unknown architecture $ANDROID_CPU"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
- ;;
-esac
-
-#####################################################################
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$CC" ]; then
- echo "ERROR: Failed to find Android clang. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$CXX" ]; then
- echo "ERROR: Failed to find Android clang++. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$RANLIB" ]; then
- echo "ERROR: Failed to find Android ranlib. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$AR" ]; then
- echo "ERROR: Failed to find Android ar. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$AS" ]; then
- echo "ERROR: Failed to find Android as. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$ANDROID_TOOLCHAIN/$LD" ]; then
- echo "ERROR: Failed to find Android ld. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-#####################################################################
-
-LENGTH=${#ANDROID_TOOLCHAIN}
-SUBSTR=${PATH:0:$LENGTH}
-if [ "$SUBSTR" != "$ANDROID_TOOLCHAIN" ]; then
- export PATH="$ANDROID_TOOLCHAIN:$PATH"
-fi
-
-#####################################################################
-
-export CPP CC CXX LD AS AR RANLIB STRIP
-export ANDROID_SYSROOT="$AOSP_SYSROOT"
-export CPPFLAGS="-D__ANDROID_API__=$ANDROID_API"
-export CFLAGS="$CFLAGS --sysroot=$AOSP_SYSROOT"
-export CXXFLAGS="$CXXFLAGS -stdlib=libc++ --sysroot=$AOSP_SYSROOT"
-
-#####################################################################
-
-echo "ANDROID_TOOLCHAIN: $ANDROID_TOOLCHAIN"
-
-echo "CPP: $(command -v "$CPP")"
-echo "CC: $(command -v "$CC")"
-echo "CXX: $(command -v "$CXX")"
-echo "LD: $(command -v "$LD")"
-echo "AS: $(command -v "$AS")"
-echo "AR: $(command -v "$AR")"
-
-echo "ANDROID_SYSROOT: $ANDROID_SYSROOT"
-
-echo "CPPFLAGS: $CPPFLAGS"
-echo "CFLAGS: $CFLAGS"
-echo "CXXFLAGS: $CXXFLAGS"
-
-[ "$0" = "${BASH_SOURCE[0]}" ] && exit 0 || return 0
diff --git a/contrib/ios/15-ios.conf b/contrib/ios/15-ios.conf
deleted file mode 100644
index 364ed6ebfd29..000000000000
--- a/contrib/ios/15-ios.conf
+++ /dev/null
@@ -1,41 +0,0 @@
-#### iPhoneOS/iOS
-#
-# It takes recent enough Xcode to use following two targets. It shouldn't
-# be a problem by now, but if they don't work, original targets below
-# that depend on manual definition of environment variables should still
-# work...
-#
-my %targets = (
- "ios-common" => {
- template => 1,
- inherit_from => [ "darwin-common" ],
- sys_id => "iOS",
- disable => [ "engine", "async" ],
- },
- "ios-xcrun" => {
- inherit_from => [ "ios-common", asm("armv4_asm") ],
- bn_ops => [ "BN_LLONG", "RC4_CHAR" ],
- perlasm_scheme => "ios32",
- },
- "ios64-xcrun" => {
- inherit_from => [ "ios-common", asm("aarch64_asm") ],
- bn_ops => [ "SIXTY_FOUR_BIT_LONG", "RC4_CHAR" ],
- perlasm_scheme => "ios64",
- },
- "iossimulator-xcrun" => {
- inherit_from => [ "ios-common" ],
- },
-
- "iphoneos-cross" => {
- inherit_from => [ "ios-common" ],
- cflags => add("-Wall -fno-common"),
- },
- "ios-cross" => {
- inherit_from => [ "ios-xcrun" ],
- cflags => add("-Wall -fno-common"),
- },
- "ios64-cross" => {
- inherit_from => [ "ios64-xcrun" ],
- cflags => add("-Wall -fno-common"),
- },
-);
diff --git a/contrib/ios/bootstrap_ldns.sh b/contrib/ios/bootstrap_ldns.sh
deleted file mode 100755
index 7e423030ccae..000000000000
--- a/contrib/ios/bootstrap_ldns.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-
-if ! git submodule update --init; then
- echo "Failed to init submodule"
- exit 1
-fi
-
-echo "AUTOTOOLS_BUILD: $AUTOTOOLS_BUILD"
-echo "AUTOTOOLS_HOST: $AUTOTOOLS_HOST"
-
-# libtool complains about our updated config.guess and config.sub.
-# Remove them to get through bootstrap. Re-add them after libtoolize.
-
-echo "Running libtoolize"
-if [ -n "$(command -v glibtoolize)" ]; then
- rm -f config.guess config.sub
- if ! glibtoolize -ci ; then
- echo "Failed to libtoolize (glibtoolize)"
- exit 1
- fi
-elif [ -n "$(command -v libtoolize)" ]; then
- rm -f config.guess config.sub
- if ! libtoolize -ci ; then
- echo "Failed to libtoolize (libtoolize)"
- exit 1
- fi
-else
- echo "Failed to find a libtool"
- exit 1
-fi
-
-echo "Updating config.guess"
-if ! wget -q -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'; then
- echo "Failed to download config.guess"
-fi
-
-echo "Updating config.sub"
-if ! wget -q -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'; then
- echo "Failed to download config.sub"
-fi
-
-echo "Fixing config permissions"
-chmod a+x config.guess config.sub
-if [ -n "$(command -v xattr 2>/dev/null)" ]; then
- xattr -d com.apple.quarantine config.guess 2>/dev/null
- xattr -d com.apple.quarantine config.sub 2>/dev/null
-fi
-
-echo "Running autoreconf"
-if ! autoreconf -fi ; then
- echo "Failed to autoreconf"
- exit 1
-fi
-
-exit 0
diff --git a/contrib/ios/install_openssl.sh b/contrib/ios/install_openssl.sh
deleted file mode 100755
index fc5af4d47c48..000000000000
--- a/contrib/ios/install_openssl.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-echo "Downloading OpenSSL"
-if ! curl -L -k -s -o openssl-1.1.1d.tar.gz https://www.openssl.org/source/openssl-1.1.1d.tar.gz;
-then
- echo "Failed to download OpenSSL"
- exit 1
-fi
-
-echo "Unpacking OpenSSL"
-rm -rf ./openssl-1.1.1d
-if ! tar -xf openssl-1.1.1d.tar.gz;
-then
- echo "Failed to unpack OpenSSL"
- exit 1
-fi
-
-cd openssl-1.1.1d || exit 1
-
-if ! cp ../contrib/ios/15-ios.conf Configurations/; then
- echo "Failed to copy OpenSSL ios config"
- exit 1
-fi
-
-# ocsp.c:947:23: error: 'fork' is unavailable: not available on tvOS
-# ocsp.c:978:23: error: 'fork' is unavailable: not available on watchOS
-# Also see https://github.com/openssl/openssl/issues/7607.
-if ! patch -u -p0 < ../contrib/ios/openssl.patch; then
- echo "Failed to patch OpenSSL"
- exit 1
-fi
-
-echo "Configuring OpenSSL"
-if ! ./Configure "$OPENSSL_HOST" -DNO_FORK no-comp no-asm no-hw no-engine no-tests no-unit-test \
- --prefix="$IOS_PREFIX" --openssldir="$IOS_PREFIX"; then
- echo "Failed to configure OpenSSL"
- exit 1
-fi
-
-echo "Building OpenSSL"
-if ! make; then
- echo "Failed to build OpenSSL"
- exit 1
-fi
-
-echo "Installing OpenSSL"
-if ! make install_sw; then
- echo "Failed to install OpenSSL"
- exit 1
-fi
-
-exit 0
diff --git a/contrib/ios/install_tools.sh b/contrib/ios/install_tools.sh
deleted file mode 100755
index 796833d83143..000000000000
--- a/contrib/ios/install_tools.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-
-# This step should install tools needed for all packages - OpenSSL and LDNS
-# When running on Travis, Homebrew fails in unusual ways, hence '|| true'.
-# https://travis-ci.community/t/homebrew-fails-because-an-automake-update-is-an-error/7831/3
-echo "Updating tools"
-brew update 1>/dev/null || true
-echo "Installing tools"
-brew install autoconf automake libtool pkg-config curl perl 1>/dev/null || true
diff --git a/contrib/ios/openssl.patch b/contrib/ios/openssl.patch
deleted file mode 100644
index 58cef232c9e9..000000000000
--- a/contrib/ios/openssl.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- apps/speed.c
-+++ apps/speed.c
-@@ -99,6 +99,13 @@
- #endif
- #include <openssl/modes.h>
-
-+/* fork() breaks AppleTVOS, WatchOS, AppleTVSimulator and WatchSimulator */
-+/* Users should configure with -DNO_FORK */
-+#if defined(NO_FORK)
-+# undef HAVE_FORK
-+# define HAVE_FORK 0
-+#endif
-+
- #ifndef HAVE_FORK
- # if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_VXWORKS)
- # define HAVE_FORK 0
-@@ -110,6 +117,7 @@
- #if HAVE_FORK
- # undef NO_FORK
- #else
-+# undef NO_FORK
- # define NO_FORK
- #endif
-
---- apps/ocsp.c
-+++ apps/ocsp.c
-@@ -36,6 +36,13 @@
- # include <openssl/x509v3.h>
- # include <openssl/rand.h>
-
-+/* fork() breaks AppleTVOS, WatchOS, AppleTVSimulator and WatchSimulator */
-+/* Users should configure with -DNO_FORK */
-+#if defined(NO_FORK)
-+# undef HAVE_FORK
-+# define HAVE_FORK 0
-+#endif
-+
- #ifndef HAVE_FORK
- # if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_WINDOWS)
- # define HAVE_FORK 0
-@@ -47,6 +54,7 @@
- #if HAVE_FORK
- # undef NO_FORK
- #else
-+# undef NO_FORK
- # define NO_FORK
- #endif
-
diff --git a/contrib/ios/setenv_ios.sh b/contrib/ios/setenv_ios.sh
deleted file mode 100755
index 8f49f328d163..000000000000
--- a/contrib/ios/setenv_ios.sh
+++ /dev/null
@@ -1,274 +0,0 @@
-#!/usr/bin/env bash
-
-# ====================================================================
-# Sets the cross compile environment for Xcode/iOS
-#
-# Based upon OpenSSL's setenv-ios.sh by TH, JW, and SM.
-# Heavily modified by JWW for Crypto++.
-# Modified by JWW for LDNS.
-# ====================================================================
-
-#########################################
-##### Some validation #####
-#########################################
-
-# In the past we could mostly infer arch or cpu from the SDK (and
-# mostly vice-versa). Nowadays we need it set for us because Apple
-# platforms can be either 32-bit or 64-bit.
-
-if [ -z "$IOS_SDK" ]; then
- echo "IOS_SDK is not set. Please set it"
- [[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
-fi
-
-if [ -z "$IOS_CPU" ]; then
- echo "IOS_CPU is not set. Please set it"
- [[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
-fi
-
-# cryptest-ios.sh may run this script without sourcing.
-if [ "$0" = "${BASH_SOURCE[0]}" ]; then
- echo "setenv-ios.sh is usually sourced, but not this time."
-fi
-
-#########################################
-##### Small Fixups, if needed #####
-#########################################
-
-if [[ "$IOS_SDK" == "iPhone" ]]; then
- IOS_SDK=iPhoneOS
-fi
-
-if [[ "$IOS_SDK" == "iPhoneOSSimulator" ]]; then
- IOS_SDK=iPhoneSimulator
-fi
-
-if [[ "$IOS_SDK" == "TV" || "$IOS_SDK" == "AppleTV" ]]; then
- IOS_SDK=AppleTVOS
-fi
-
-if [[ "$IOS_SDK" == "Watch" || "$IOS_SDK" == "AppleWatch" ]]; then
- IOS_SDK=WatchOS
-fi
-
-if [[ "$IOS_CPU" == "aarch64" || "$IOS_CPU" == "armv8"* ]] ; then
- IOS_CPU=arm64
-fi
-
-########################################
-##### Environment #####
-########################################
-
-# The flags below were tested with Xcode 8 on Travis. If
-# you use downlevel versions of Xcode, then you can push
-# xxx-version-min=n lower. For example, Xcode 6 can use
-# -miphoneos-version-min=5.
-
-# iPhones can be either 32-bit or 64-bit
-if [[ "$IOS_SDK" == "iPhoneOS" && "$IOS_CPU" == "armv7"* ]]; then
- MIN_VER=-miphoneos-version-min=6
-elif [[ "$IOS_SDK" == "iPhoneOS" && "$IOS_CPU" == "arm64" ]]; then
- MIN_VER=-miphoneos-version-min=6
-
-# Fixups for convenience
-elif [[ "$IOS_SDK" == "iPhoneOS" && "$IOS_CPU" == "i386" ]]; then
- IOS_SDK=iPhoneSimulator
- # MIN_VER=-miphoneos-version-min=6
- MIN_VER=-miphonesimulator-version-min=6
-elif [[ "$IOS_SDK" == "iPhoneOS" && "$IOS_CPU" == "x86_64" ]]; then
- IOS_SDK=iPhoneSimulator
- # MIN_VER=-miphoneos-version-min=6
- MIN_VER=-miphonesimulator-version-min=6
-
-# Simulator builds
-elif [[ "$IOS_SDK" == "iPhoneSimulator" && "$IOS_CPU" == "i386" ]]; then
- MIN_VER=-miphonesimulator-version-min=6
-elif [[ "$IOS_SDK" == "iPhoneSimulator" && "$IOS_CPU" == "x86_64" ]]; then
- MIN_VER=-miphonesimulator-version-min=6
-
-# Apple TV can be 32-bit Intel (1st gen), 32-bit ARM (2nd, 3rd gen) or 64-bit ARM (4th gen)
-elif [[ "$IOS_SDK" == "AppleTVOS" && "$IOS_CPU" == "i386" ]]; then
- MIN_VER=-mappletvos-version-min=6
-elif [[ "$IOS_SDK" == "AppleTVOS" && "$IOS_CPU" == "armv7"* ]]; then
- MIN_VER=-mappletvos-version-min=6
-elif [[ "$IOS_SDK" == "AppleTVOS" && "$IOS_CPU" == "arm64" ]]; then
- MIN_VER=-mappletvos-version-min=6
-
-# Simulator builds
-elif [[ "$IOS_SDK" == "AppleTVSimulator" && "$IOS_CPU" == "i386" ]]; then
- MIN_VER=-mappletvsimulator-version-min=6
-elif [[ "$IOS_SDK" == "AppleTVSimulator" && "$IOS_CPU" == "x86_64" ]]; then
- MIN_VER=-mappletvsimulator-version-min=6
-
-# Watch can be either 32-bit or 64-bit ARM. TODO: figure out which
-# -mwatchos-version-min=n is needed for arm64. 9 is not enough.
-elif [[ "$IOS_SDK" == "WatchOS" && "$IOS_CPU" == "armv7"* ]]; then
- MIN_VER=-mwatchos-version-min=6
-elif [[ "$IOS_SDK" == "WatchOS" && "$IOS_CPU" == "arm64" ]]; then
- MIN_VER=-mwatchos-version-min=10
-
-# Simulator builds. TODO: figure out which -watchos-version-min=n
-# is needed for arm64. 6 compiles and links, but is it correct?
-elif [[ "$IOS_SDK" == "WatchSimulator" && "$IOS_CPU" == "i386" ]]; then
- MIN_VER=-mwatchsimulator-version-min=6
-elif [[ "$IOS_SDK" == "WatchSimulator" && "$IOS_CPU" == "x86_64" ]]; then
- MIN_VER=-mwatchsimulator-version-min=6
-
-# And the final catch-all
-else
- echo "IOS_SDK and IOS_CPU are not valid. Please fix them"
- [[ "$0" = "${BASH_SOURCE[0]}" ]] && exit 1 || return 1
-fi
-
-#####################################################################
-
-# Xcode 6 and below cannot handle -miphonesimulator-version-min
-# Fix it so the simulator will compile as expected. This trick
-# may work on other SDKs, but it was not tested.
-
-if [ -n "$(command -v xcodebuild 2>/dev/null)" ]; then
- # Output of xcodebuild is similar to "Xcode 6.2". The first cut gets
- # the dotted decimal value. The second cut gets the major version.
- XCODE_VERSION=$(xcodebuild -version 2>/dev/null | head -n 1 | cut -f2 -d" " | cut -f1 -d".")
- if [ -z "$XCODE_VERSION" ]; then XCODE_VERSION=100; fi
-
- if [ "$XCODE_VERSION" -le 6 ]; then
- MIN_VER="${MIN_VER//iphonesimulator/iphoneos}"
- fi
-fi
-
-#####################################################################
-
-# Allow a user override? I think we should be doing this. The use case is,
-# move /Applications/Xcode somewhere else for a side-by-side installation.
-if [ -z "${XCODE_DEVELOPER-}" ]; then
- XCODE_DEVELOPER=$(xcode-select -print-path 2>/dev/null)
-fi
-
-if [ ! -d "$XCODE_DEVELOPER" ]; then
- echo "ERROR: unable to find XCODE_DEVELOPER directory."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# XCODE_DEVELOPER_SDK is the SDK location.
-XCODE_DEVELOPER_SDK="$XCODE_DEVELOPER/Platforms/$IOS_SDK.platform"
-
-if [ ! -d "$XCODE_DEVELOPER_SDK" ]; then
- echo "ERROR: unable to find XCODE_DEVELOPER_SDK directory."
- echo " Is the SDK supported by Xcode and installed?"
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# XCODE_TOOLCHAIN is the location of the actual compiler tools.
-if [ -d "$XCODE_DEVELOPER/Toolchains/XcodeDefault.xctoolchain/usr/bin/" ]; then
- XCODE_TOOLCHAIN="$XCODE_DEVELOPER/Toolchains/XcodeDefault.xctoolchain/usr/bin/"
-elif [ -d "$XCODE_DEVELOPER_SDK/Developer/usr/bin/" ]; then
- XCODE_TOOLCHAIN="$XCODE_DEVELOPER_SDK/Developer/usr/bin/"
-fi
-
-if [ -z "$XCODE_TOOLCHAIN" ] || [ ! -d "$XCODE_TOOLCHAIN" ]; then
- echo "ERROR: unable to find Xcode cross-compiler tools."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# XCODE_SDK is the SDK name/version being used - adjust the list as appropriate.
-# For example, remove 4.3, 6.2, and 6.1 if they are not installed. We go back to
-# the 1.0 SDKs because Apple WatchOS uses low numbers, like 2.0 and 2.1.
-XCODE_SDK=
-for i in $(seq -f "%.1f" 30.0 -0.1 1.0)
-do
- if [ -d "$XCODE_DEVELOPER_SDK/Developer/SDKs/$IOS_SDK$i.sdk" ]; then
- XCODE_SDK="$IOS_SDK$i.sdk"
- break
- fi
-done
-
-# Error checking
-if [ -z "$XCODE_SDK" ]; then
- echo "ERROR: unable to find a SDK."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-IOS_SYSROOT="$XCODE_DEVELOPER_SDK/Developer/SDKs/$XCODE_SDK"
-
-if [ -z "$IOS_SYSROOT" ] || [ ! -d "$IOS_SYSROOT" ]; then
- echo "ERROR: unable to find IOS_SYSROOT directory."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-#####################################################################
-
-# We want to set AR=libtool and ARFLAGS="-static -o",
-# but I am not sure Autotools can handle it.
-CPP=cpp; CC=clang; CXX=clang++; LD=ld
-AS=as; AR=ar; RANLIB=ranlib; STRIP=strip
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$CC" ]; then
- echo "ERROR: Failed to find iOS clang. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$CXX" ]; then
- echo "ERROR: Failed to find iOS clang++. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$RANLIB" ]; then
- echo "ERROR: Failed to find iOS ranlib. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$AR" ]; then
- echo "ERROR: Failed to find iOS ar. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$AS" ]; then
- echo "ERROR: Failed to find iOS as. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-# Error checking
-if [ ! -e "$XCODE_TOOLCHAIN/$LD" ]; then
- echo "ERROR: Failed to find iOS ld. Please edit this script."
- [ "$0" = "${BASH_SOURCE[0]}" ] && exit 1 || return 1
-fi
-
-#####################################################################
-
-LENGTH=${#XCODE_TOOLCHAIN}
-SUBSTR=${PATH:0:$LENGTH}
-if [ "$SUBSTR" != "$XCODE_TOOLCHAIN" ]; then
- export PATH="$XCODE_TOOLCHAIN":"$PATH"
-fi
-
-#####################################################################
-
-export CPP CC CXX LD AS AR RANLIB STRIP
-export IOS_SYSROOT
-export CFLAGS="-arch $IOS_CPU $MIN_VER --sysroot=$IOS_SYSROOT"
-export CXXFLAGS="-arch $IOS_CPU $MIN_VER -stdlib-libc++ --sysroot=$IOS_SYSROOT"
-
-#####################################################################
-
-echo "XCODE_TOOLCHAIN: $XCODE_TOOLCHAIN"
-
-echo "CPP: $(command -v "$CPP")"
-echo "CC: $(command -v "$CC")"
-echo "CXX: $(command -v "$CXX")"
-echo "LD: $(command -v "$LD")"
-echo "AS: $(command -v "$AS")"
-echo "AR: $(command -v "$AR")"
-
-echo "IOS_SYSROOT: $IOS_SYSROOT"
-
-echo "CPPFLAGS: $CPPFLAGS"
-echo "CFLAGS: $CFLAGS"
-echo "CXXFLAGS: $CXXFLAGS"
-
-[ "$0" = "${BASH_SOURCE[0]}" ] && exit 0 || return 0
diff --git a/contrib/ldnsx/ldnsx.py b/contrib/ldnsx/ldnsx.py
index e2bd0e517e31..57400cff8b87 100644
--- a/contrib/ldnsx/ldnsx.py
+++ b/contrib/ldnsx/ldnsx.py
@@ -216,7 +216,7 @@ class resolver:
self.drop_nameservers()
nm_list = ns.split(',')
nm_list = map(lambda s: s.strip(), nm_list)
- nm_list = filter(lambda s: s != "", nm_list)
+ nm_list = list(filter(lambda s: s != "", nm_list))
nm_list.reverse()
for nm in nm_list:
self.add_nameserver(nm)
diff --git a/contrib/python/ldns.i b/contrib/python/ldns.i
index 881ba5e858a7..b4a740820e12 100644
--- a/contrib/python/ldns.i
+++ b/contrib/python/ldns.i
@@ -99,12 +99,14 @@
%typemap(in, noblock=1) (ssize_t)
{
int $1_res = 0;
- $1_res = SWIG_AsVal_long($input, &$1);
+ long val;
+ $1_res = SWIG_AsVal_long($input, &val);
if (!SWIG_IsOK($1_res)) {
SWIG_exception_fail(SWIG_ArgError($1_res), "in method '"
"$symname" "', argument " "$argnum" " of type '"
"$type""'");
}
+ $1 = val;
}
diff --git a/contrib/python/ldns_rdf.i b/contrib/python/ldns_rdf.i
index 5d7448fdc45c..39f9af1895cb 100644
--- a/contrib/python/ldns_rdf.i
+++ b/contrib/python/ldns_rdf.i
@@ -50,13 +50,18 @@
SWIGTYPE_p_ldns_struct_rdf, SWIG_POINTER_OWN | 0));
}
+#if SWIG_VERSION < 0x040200
/*
* Automatic conversion of const (ldns_rdf *) parameter from string.
* Argument default value.
*/
%typemap(arginit, noblock=1) const ldns_rdf *
{
+#if SWIG_VERSION >= 0x040200
+ PyObject *$1_bytes = NULL;
+#else
char *$1_str = NULL;
+#endif
}
/*
@@ -66,11 +71,17 @@
%typemap(in, noblock=1) const ldns_rdf * (void* argp, $1_ltype tmp = 0, int res)
{
if (Python_str_Check($input)) {
+ const char *argstr;
+#if SWIG_VERSION >= 0x040200
+ argstr = SWIG_PyUnicode_AsUTF8AndSize($input, NULL, &$1_bytes);
+#else
$1_str = SWIG_Python_str_AsChar($input);
- if ($1_str == NULL) {
+ argstr = $1_str;
+#endif
+ if (argstr == NULL) {
%argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
}
- tmp = ldns_dname_new_frm_str($1_str);
+ tmp = ldns_dname_new_frm_str(argstr);
if (tmp == NULL) {
%argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
}
@@ -90,11 +101,63 @@
*/
%typemap(freearg, noblock=1) const ldns_rdf *
{
+#if SWIG_VERSION >= 0x040200
+ if ($1_bytes != NULL) {
+ /* Is not NULL only when a conversion form string occurred. */
+ Py_XDECREF($1_bytes);
+ }
+#else
if ($1_str != NULL) {
/* Is not NULL only when a conversion form string occurred. */
SWIG_Python_str_DelForPy3($1_str); /* Is a empty macro for Python < 3. */
}
+#endif
+}
+
+#else
+/*
+ * Automatic conversion of const (ldns_rdf *) parameter from string.
+ * Argument default value.
+ */
+%typemap(arginit, noblock=1) const ldns_rdf *
+{
+ PyObject *$1_bytes = NULL;
+}
+
+/*
+ * Automatic conversion of const (ldns_rdf *) parameter from string.
+ * Preparation of arguments.
+ */
+%typemap(in, noblock=1) const ldns_rdf * (void* argp, $1_ltype tmp = 0, int res)
+{
+ if (Python_str_Check($input)) {
+ const char *$1_str = SWIG_PyUnicode_AsUTF8AndSize($input, NULL, &$1_bytes);
+ if ($1_str == NULL) {
+ %argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
+ }
+ tmp = ldns_dname_new_frm_str($1_str);
+ if (tmp == NULL) {
+ %argument_fail(SWIG_TypeError, "char *", $symname, $argnum);
+ }
+ $1 = ($1_ltype) tmp;
+ } else {
+ res = SWIG_ConvertPtr($input, &argp, SWIGTYPE_p_ldns_struct_rdf, 0 | 0);
+ if (!SWIG_IsOK(res)) {
+ %argument_fail(res, "ldns_rdf const *", $symname, $argnum);
+ }
+ $1 = ($1_ltype) argp;
+ }
+}
+
+/*
+ * Automatic conversion of const (ldns_rdf *) parameter from string.
+ * Freeing of allocated memory (it's a no op unless compiling for some older versions of the Python stable ABI).
+ */
+%typemap(freearg, noblock=1) const ldns_rdf *
+{
+ Py_XDECREF($1_bytes);
}
+#endif
%nodefaultctor ldns_struct_rdf; /* No default constructor. */
%nodefaultdtor ldns_struct_rdf; /* No default destructor. */
diff --git a/dane.c b/dane.c
index b8487b53a825..1bf4862f2715 100644
--- a/dane.c
+++ b/dane.c
@@ -625,10 +625,10 @@ ldns_dane_match_any_cert_with_data(STACK_OF(X509)* chain,
ldns_rdf* data, bool ca)
{
ldns_status s = LDNS_STATUS_DANE_TLSA_DID_NOT_MATCH;
- size_t n, i;
+ int n, i;
X509* cert;
- n = (size_t)sk_X509_num(chain);
+ n = sk_X509_num(chain);
for (i = 0; i < n; i++) {
cert = sk_X509_pop(chain);
if (! cert) {
diff --git a/dnssec.c b/dnssec.c
index fbaa518a8cb0..0a7beb4ebfd4 100644
--- a/dnssec.c
+++ b/dnssec.c
@@ -959,7 +959,7 @@ ldns_create_nsec(ldns_rdf *cur_owner, ldns_rdf *next_owner, ldns_rr_list *rrs)
{
/* we do not do any check here - garbage in, garbage out */
- /* the the start and end names - get the type from the
+ /* the start and end names - get the type from the
* before rrlist */
/* inefficient, just give it a name, a next name, and a list of rrs */
@@ -1836,8 +1836,10 @@ ldns_convert_dsa_rrsig_rdf2asn1(ldns_buffer *target_buffer,
return LDNS_STATUS_MEM_ERR;
}
# ifdef HAVE_DSA_SIG_SET0
- if (! DSA_SIG_set0(dsasig, R, S))
- return LDNS_STATUS_SSL_ERR;
+ if (! DSA_SIG_set0(dsasig, R, S)) {
+ DSA_SIG_free(dsasig);
+ return LDNS_STATUS_SSL_ERR;
+ }
# else
dsasig->r = R;
dsasig->s = S;
diff --git a/dnssec_sign.c b/dnssec_sign.c
index 41d845f3fa8f..dba2d1c20f50 100644
--- a/dnssec_sign.c
+++ b/dnssec_sign.c
@@ -332,6 +332,7 @@ ldns_rdf *
ldns_sign_public_dsa(ldns_buffer *to_sign, DSA *key)
{
#ifdef USE_DSA
+ unsigned char md[EVP_MAX_MD_SIZE];
unsigned char *sha1_hash;
ldns_rdf *sigdata_rdf;
ldns_buffer *b64sig;
@@ -347,7 +348,7 @@ ldns_sign_public_dsa(ldns_buffer *to_sign, DSA *key)
}
sha1_hash = SHA1((unsigned char*)ldns_buffer_begin(to_sign),
- ldns_buffer_position(to_sign), NULL);
+ ldns_buffer_position(to_sign), md);
if (!sha1_hash) {
ldns_buffer_free(b64sig);
return NULL;
@@ -571,6 +572,7 @@ ldns_sign_public_evp(ldns_buffer *to_sign,
ldns_rdf *
ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key)
{
+ unsigned char md[EVP_MAX_MD_SIZE];
unsigned char *sha1_hash;
unsigned int siglen;
ldns_rdf *sigdata_rdf;
@@ -584,7 +586,7 @@ ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key)
}
sha1_hash = SHA1((unsigned char*)ldns_buffer_begin(to_sign),
- ldns_buffer_position(to_sign), NULL);
+ ldns_buffer_position(to_sign), md);
if (!sha1_hash) {
ldns_buffer_free(b64sig);
return NULL;
@@ -607,6 +609,7 @@ ldns_sign_public_rsasha1(ldns_buffer *to_sign, RSA *key)
ldns_rdf *
ldns_sign_public_rsamd5(ldns_buffer *to_sign, RSA *key)
{
+ unsigned char md[EVP_MAX_MD_SIZE];
unsigned char *md5_hash;
unsigned int siglen;
ldns_rdf *sigdata_rdf;
@@ -618,7 +621,7 @@ ldns_sign_public_rsamd5(ldns_buffer *to_sign, RSA *key)
}
md5_hash = MD5((unsigned char*)ldns_buffer_begin(to_sign),
- ldns_buffer_position(to_sign), NULL);
+ ldns_buffer_position(to_sign), md);
if (!md5_hash) {
ldns_buffer_free(b64sig);
return NULL;
diff --git a/dnssec_zone.c b/dnssec_zone.c
index 7be6791e7f5d..013517f4ac1a 100644
--- a/dnssec_zone.c
+++ b/dnssec_zone.c
@@ -605,10 +605,6 @@ ldns_todo_nsec3_ents_node_free(ldns_rbnode_t *node, void *arg) {
LDNS_FREE(node);
}
-ldns_status _ldns_rr_new_frm_fp_l_internal(ldns_rr **newrr, FILE *fp,
- uint32_t *default_ttl, ldns_rdf **origin, ldns_rdf **prev,
- int *line_nr, bool *explicit_ttl);
-
ldns_status
ldns_dnssec_zone_new_frm_fp_l(ldns_dnssec_zone** z, FILE* fp, const ldns_rdf* origin,
uint32_t default_ttl, ldns_rr_class ATTR_UNUSED(c), int* line_nr)
@@ -1916,6 +1912,9 @@ rr_list2dnssec_rrs(ldns_rr_list *rr_list, ldns_dnssec_rrs **rrs,
ldns_status
dnssec_zone_equip_zonemd(ldns_dnssec_zone *zone,
+ ldns_rr_list *new_rrs, ldns_key_list *key_list, int signflags);
+ldns_status
+dnssec_zone_equip_zonemd(ldns_dnssec_zone *zone,
ldns_rr_list *new_rrs, ldns_key_list *key_list, int signflags)
{
ldns_status st = LDNS_STATUS_OK;
diff --git a/doc/doxyparse.pl b/doc/doxyparse.pl
index 79da2df022f0..a66340e15eda 100755
--- a/doc/doxyparse.pl
+++ b/doc/doxyparse.pl
@@ -40,9 +40,8 @@ my $MAN_MIDDLE = ".SH AUTHOR
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team\@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team\@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/ldns_manpages b/doc/ldns_manpages
index 47a24c8d2bb0..ed9f5c93f1fa 100644
--- a/doc/ldns_manpages
+++ b/doc/ldns_manpages
@@ -1,129 +1,15 @@
-ldns_rr_new
-ldns_rr_new_frm_type
-ldns_rr_new_frm_str
-ldns_rr_new_frm_fp
-ldns_rr_free
-ldns_rr_print
-ldns_pkt_verify
-ldns_rr_uncompressed_size
-ldns_pkt_set_flags
-ldns_pkt_set_id
-ldns_pkt_set_qr
-ldns_pkt_set_aa
-ldns_pkt_set_tc
-ldns_pkt_set_rd
-ldns_pkt_set_cd
-ldns_pkt_set_ra
-ldns_pkt_set_ad
-ldns_pkt_set_opcode
-ldns_pkt_set_rcode
-ldns_pkt_set_qdcount
-ldns_pkt_set_ancount
-ldns_pkt_set_nscount
-ldns_pkt_set_arcount
-ldns_pkt_set_answerfrom
-ldns_pkt_set_querytime
-ldns_pkt_set_size
-ldns_pkt_set_section_count
-ldns_pkt_set_tsig
-ldns_dname2canonical
-ldns_dnssec_data_chain
-ldns_dnssec_data_chain_struct
-ldns_dnssec_trust_tree
-ldns_rr_list_sort
-ldns_key_list_push_key
-ldns_key_list_pop_key
-ldns_rr_set_push_rr
-ldns_rr_set_pop_rr
-ldns_get_rr_list_hosts_frm_file
-ldns_get_rr_list_hosts_frm_fp
-ldns_get_rr_list_hosts_frm_fp_l
-ldns_send
-ldns_verify
-ldns_verify_rrsig
-ldns_verify_rrsig_keylist
-ldns_verify_rrsig_keylist_notime
-ldns_verify_notime
-ldns_update_pkt_new
ldns_zone_push_rr
ldns_zone_push_rr_list
-ldns_key2rr
-ldns_rr_list_cat
-ldns_rr_list_push_rr
-ldns_rr_list_pop_rr
-ldns_zone_rrs
-ldns_zone_soa
ldns_rr_rdf
ldns_rr_owner
ldns_rr_rd_count
ldns_rr_ttl
ldns_rr_get_class
-ldns_fget_token
-ldns_fskipcs
-ldns_rdf_address_reverse
-ldns_rr_label_count
-ldns_zone_sort
-ldns_zone_glue_rr_list
-ldns_dnssec_zone_sign
-ldns_dnssec_zone_sign_nsec3
-ldns_dnssec_zone_mark_glue
-ldns_dnssec_name_node_next_nonglue
-ldns_dnssec_zone_create_nsecs
-ldns_dnssec_remove_signatures
-ldns_dnssec_zone_create_rrsigs
-ldns_rr2wire
-ldns_pkt2wire
-ldns_rdf2wire
-ldns_native2rdf_int8
-ldns_native2rdf_int16
-ldns_native2rdf_int32
-ldns_native2rdf_int16_data
-ldns_rdf2native_int8
-ldns_rdf2native_int16
-ldns_rdf2native_int32
-ldns_rdf2native_sockaddr_storage
-ldns_rdf2native_time_t
-ldns_dane_create_tlsa_rr
-ldns_dane_create_tlsa_owner
-ldns_dane_cert2rdf
-ldns_dane_select_certificate
-ldns_dnssec_trust_tree_new
-ldns_dnssec_trust_tree_free
-ldns_dnssec_trust_tree_depth
-ldns_dnssec_derive_trust_tree
-ldns_dnssec_trust_tree_contains_keys
-ldns_dnssec_trust_tree_print
-ldns_dnssec_trust_tree_print_sm
-ldns_dnssec_trust_tree_add_parent
-ldns_dnssec_derive_trust_tree_normal_rrset
-ldns_dnssec_derive_trust_tree_dnskey_rrset
-ldns_dnssec_derive_trust_tree_ds_rrset
-ldns_dnssec_derive_trust_tree_no_sig
-ldns_update_set_zocount
-ldns_update_set_prcount
-ldns_update_set_upcount
-ldns_update_set_adcount
-ldns_rr2str
-ldns_pkt2str
-ldns_rdf2str
-ldns_rr_list2str
-ldns_key2str
-ldns_dname_left_chop
-ldns_dname_label_count
-ldns_dnssec_data_chain_new
-ldns_dnssec_data_chain_free
-ldns_dnssec_data_chain_deep_free
-ldns_dnssec_build_data_chain
-ldns_dnssec_data_chain_print
-ldns_zone_rr_count
-ldns_dname_cat_clone
-ldns_dname_cat
-ldns_rr_set_owner
-ldns_rr_set_ttl
-ldns_rr_set_type
-ldns_rr_set_rd_count
-ldns_rr_set_class
-ldns_rr_set_rdf
+ldns_init_random
+ldns_rr2canonical
+ldns_zone_rrs
+ldns_zone_soa
+ldns_rr_ns_nsdname
ldns_buffer_write_at
ldns_buffer_write
ldns_buffer_write_string_at
@@ -142,35 +28,80 @@ ldns_buffer_read_u32_at
ldns_buffer_read_u32
ldns_buffer_write_u32
ldns_buffer_write_u32_at
-ldns_b32_ntop_calculate_size
-ldns_b32_pton_calculate_size
-ldns_b64_ntop_calculate_size
-ldns_b64_pton_calculate_size
-ldns_rr_list_rr_count
-ldns_rr_list_set_rr_count
-ldns_get_rr_list_addr_by_name
-ldns_get_rr_list_name_by_addr
-ldns_calc_keytag
-ldns_calc_keytag_raw
-ldns_wire2rr
-ldns_wire2pkt
-ldns_wire2rdf
-ldns_wire2dname
-ldns_pkt
-ldns_pkt_section
-ldns_pkt_type
-ldns_dnssec_name_new
-ldns_dnssec_name_new_frm_rr
-ldns_dnssec_name_free
-ldns_dnssec_name_name
-ldns_dnssec_name_set_name
-ldns_dnssec_name_set_nsec
-ldns_dnssec_name_cmp
-ldns_dnssec_name_add_rr
-ldns_dnssec_name_find_rrset
-ldns_dnssec_name_print
-ldns_get_errorstr_by_id
-ldns_status
+ldns_update_pkt_new
+ldns_update_set_zocount
+ldns_update_set_prcount
+ldns_update_set_upcount
+ldns_update_set_adcount
+ldns_key
+ldns_rr_dnskey_flags
+ldns_rr_dnskey_set_flags
+ldns_rr_dnskey_protocol
+ldns_rr_dnskey_set_protocol
+ldns_rr_dnskey_algorithm
+ldns_rr_dnskey_set_algorithm
+ldns_rr_dnskey_key
+ldns_rr_dnskey_set_key
+ldns_rr2wire
+ldns_pkt2wire
+ldns_rdf2wire
+ldns_send
+ldns_key_set_algorithm
+ldns_key_set_rsa_key
+ldns_key_set_dsa_key
+ldns_key_set_hmac_key
+ldns_key_set_origttl
+ldns_key_set_inception
+ldns_key_set_expiration
+ldns_key_set_pubkey_owner
+ldns_key_set_keytag
+ldns_key_set_flags
+ldns_key_list_set_key_count
+ldns_key_algo_supported
+ldns_rr
+ldns_rr_class
+ldns_rr_type
+ldns_rr_compress
+ldns_rr_list
+ldns_buffer2pkt_wire
+ldns_bubblebabble
+ldns_rr2str
+ldns_pkt2str
+ldns_rdf2str
+ldns_rr_list2str
+ldns_key2str
+ldns_dname_cat_clone
+ldns_dname_cat
+ldns_dname_left_chop
+ldns_dname_label_count
+ldns_dnssec_data_chain
+ldns_dnssec_data_chain_struct
+ldns_dnssec_trust_tree
+ldns_buffer
+ldns_buffer_new
+ldns_buffer_new_frm_data
+ldns_buffer_clear
+ldns_buffer_printf
+ldns_buffer_free
+ldns_buffer_copy
+ldns_buffer_export
+ldns_buffer_export2str
+ldns_buffer2str
+ldns_update_pkt_tsig_add
+ldns_dname_is_subdomain
+ldns_dname_str_absolute
+ldns_dname_label
+ldns_key_buf2dsa
+ldns_key_buf2rsa
+ldns_key_print
+ldns_dnssec_verify_denial
+ldns_dnssec_verify_denial_nsec3
+ldns_rr_mx_preference
+ldns_rr_mx_exchange
+ldns_rdf_size
+ldns_rdf_get_type
+ldns_rdf_data
+ldns_rdf_compare
ldns_pkt_id
ldns_pkt_qr
ldns_pkt_aa
@@ -197,82 +128,6 @@ ldns_pkt_get_section_clone
ldns_pkt_rr_list_by_name
ldns_pkt_rr_list_by_type
ldns_pkt_rr_list_by_name_and_type
-ldns_rdf_new
-ldns_rdf_clone
-ldns_rdf_new_frm_data
-ldns_rdf_new_frm_str
-ldns_rdf_new_frm_fp
-ldns_rdf_free
-ldns_rdf_deep_free
-ldns_rdf_print
-ldns_rr_list_clone
-ldns_rr2canonical
-ldns_octet
-ldns_key_new
-ldns_key_new_frm_algorithm
-ldns_key_new_frm_fp
-ldns_key_new_frm_fp_l
-ldns_key_new_frm_fp_rsa
-ldns_key_new_frm_fp_rsa_l
-ldns_key_new_frm_fp_dsa
-ldns_key_new_frm_fp_dsa_l
-ldns_rr_push_rdf
-ldns_rr_pop_rdf
-ldns_algorithm
-ldns_rr_ns_nsdname
-ldns_key_list_new
-ldns_rr_list_new
-ldns_rr_list_free
-ldns_key_buf2dsa
-ldns_key_buf2rsa
-ldns_rdf
-ldns_rdf_type
-ldns_rr_descriptor
-ldns_rr_descript
-ldns_rr_descriptor_minimum
-ldns_rr_descriptor_maximum
-ldns_rr_descriptor_field_type
-ldns_duration_type
-ldns_duration_create
-ldns_duration_create_from_string
-ldns_duration_cleanup
-ldns_duration_compare
-ldns_duration2string
-ldns_duration2time
-ldns_getaddrinfo
-ldns_is_rrset
-ldns_dname_new
-ldns_dname_new_frm_str
-ldns_dname_new_frm_data
-ldns_pkt_new
-ldns_pkt_free
-ldns_pkt_print
-ldns_pkt_query_new
-ldns_pkt_query_new_frm_str
-ldns_pkt_reply_type
-ldns_key_rr2ds
-ldns_key
-ldns_dnssec_zone_find_rrset
-ldns_dnssec_zone_new
-ldns_dnssec_zone_free
-ldns_dnssec_zone_add_rr
-ldns_dnssec_zone_names_print
-ldns_dnssec_zone_print
-ldns_dnssec_zone_add_empty_nonterminals
-ldns_str2period
-ldns_rr_dnskey_flags
-ldns_rr_dnskey_set_flags
-ldns_rr_dnskey_protocol
-ldns_rr_dnskey_set_protocol
-ldns_rr_dnskey_algorithm
-ldns_rr_dnskey_set_algorithm
-ldns_rr_dnskey_key
-ldns_rr_dnskey_set_key
-ldns_get_rr_class_by_name
-ldns_get_rr_type_by_name
-ldns_dname_is_subdomain
-ldns_dname_str_absolute
-ldns_dname_label
ldns_pkt2buffer_str
ldns_pktheader2buffer_str
ldns_rr2buffer_str
@@ -284,31 +139,21 @@ ldns_rr2buffer_wire
ldns_rdf2buffer_wire
ldns_rrsig2buffer_wire
ldns_rr_rdata2buffer_wire
-ldns_key_set_algorithm
-ldns_key_set_rsa_key
-ldns_key_set_dsa_key
-ldns_key_set_hmac_key
-ldns_key_set_origttl
-ldns_key_set_inception
-ldns_key_set_expiration
-ldns_key_set_pubkey_owner
-ldns_key_set_keytag
-ldns_key_set_flags
-ldns_key_list_set_key_count
-ldns_key_algo_supported
-ldns_sign_public
-ldns_tcp_send_query
-ldns_tcp_read_wire
-ldns_tcp_connect
-ldns_buffer2pkt_wire
-ldns_rr
-ldns_rr_class
-ldns_rr_type
-ldns_rr_compress
-ldns_rr_list
-ldns_pkt_tsig_verify
-ldns_pkt_tsig_sign
-ldns_update_pkt_tsig_add
+ldns_rr_set_push_rr
+ldns_rr_set_pop_rr
+ldns_key_free
+ldns_key_deep_free
+ldns_key_list_free
+ldns_get_rr_list_addr_by_name
+ldns_get_rr_list_name_by_addr
+ldns_algorithm
+ldns_key_rr2ds
+ldns_b32_ntop_calculate_size
+ldns_b32_pton_calculate_size
+ldns_b64_ntop_calculate_size
+ldns_b64_pton_calculate_size
+ldns_get_errorstr_by_id
+ldns_status
ldns_key_list_key_count
ldns_key_list_key
ldns_key_rsa_key
@@ -321,24 +166,136 @@ ldns_key_expiration
ldns_key_keytag
ldns_key_pubkey_owner
ldns_key_flags
-ldns_dnssec_rrsets_new
-ldns_dnssec_rrsets_free
-ldns_dnssec_rrsets_type
-ldns_dnssec_rrsets_set_type
-ldns_dnssec_rrsets_add_rr
-ldns_dnssec_rrsets_print
-ldns_zone_sign
-ldns_zone_sign_nsec3
-ldns_buffer
-ldns_buffer_new
-ldns_buffer_new_frm_data
-ldns_buffer_clear
-ldns_buffer_printf
-ldns_buffer_free
-ldns_buffer_copy
-ldns_buffer_export
-ldns_buffer_export2str
-ldns_buffer2str
+ldns_dnssec_name_new
+ldns_dnssec_name_new_frm_rr
+ldns_dnssec_name_free
+ldns_dnssec_name_name
+ldns_dnssec_name_set_name
+ldns_dnssec_name_set_nsec
+ldns_dnssec_name_cmp
+ldns_dnssec_name_add_rr
+ldns_dnssec_name_find_rrset
+ldns_dnssec_name_print
+ldns_rdf_new
+ldns_rdf_clone
+ldns_rdf_new_frm_data
+ldns_rdf_new_frm_str
+ldns_rdf_new_frm_fp
+ldns_rdf_free
+ldns_rdf_deep_free
+ldns_rdf_print
+ldns_bget_token
+ldns_bgetc
+ldns_bskipcs
+ldns_get_rr_class_by_name
+ldns_get_rr_type_by_name
+ldns_dnssec_zone_find_rrset
+ldns_dnssec_zone_new
+ldns_dnssec_zone_free
+ldns_dnssec_zone_add_rr
+ldns_dnssec_zone_names_print
+ldns_dnssec_zone_print
+ldns_dnssec_zone_add_empty_nonterminals
+ldns_sign_public_dsa
+ldns_sign_public_rsamd5
+ldns_sign_public_rsasha1
+ldns_rdf_address_reverse
+ldns_pkt_verify
+ldns_dnssec_trust_tree_new
+ldns_dnssec_trust_tree_free
+ldns_dnssec_trust_tree_depth
+ldns_dnssec_derive_trust_tree
+ldns_dnssec_trust_tree_contains_keys
+ldns_dnssec_trust_tree_print
+ldns_dnssec_trust_tree_print_sm
+ldns_dnssec_trust_tree_add_parent
+ldns_dnssec_derive_trust_tree_normal_rrset
+ldns_dnssec_derive_trust_tree_dnskey_rrset
+ldns_dnssec_derive_trust_tree_ds_rrset
+ldns_dnssec_derive_trust_tree_no_sig
+ldns_dname_compare
+ldns_dname_interval
+ldns_rr_new
+ldns_rr_new_frm_type
+ldns_rr_new_frm_str
+ldns_rr_new_frm_fp
+ldns_rr_free
+ldns_rr_print
+ldns_key_list_new
+ldns_pkt
+ldns_pkt_section
+ldns_pkt_type
+ldns_verify
+ldns_verify_rrsig
+ldns_verify_rrsig_keylist
+ldns_verify_rrsig_keylist_notime
+ldns_verify_notime
+ldns_str2period
+ldns_create_nsec
+ldns_rr_uncompressed_size
+ldns_native2rdf_int8
+ldns_native2rdf_int16
+ldns_native2rdf_int32
+ldns_native2rdf_int16_data
+ldns_rdf2native_int8
+ldns_rdf2native_int16
+ldns_rdf2native_int32
+ldns_rdf2native_sockaddr_storage
+ldns_rdf2native_time_t
+ldns_dname2canonical
+ldns_dnssec_zone
+ldns_dnssec_name
+ldns_dnssec_rrs
+ldns_dnssec_rrsets
+ldns_pkt_set_flags
+ldns_pkt_set_id
+ldns_pkt_set_qr
+ldns_pkt_set_aa
+ldns_pkt_set_tc
+ldns_pkt_set_rd
+ldns_pkt_set_cd
+ldns_pkt_set_ra
+ldns_pkt_set_ad
+ldns_pkt_set_opcode
+ldns_pkt_set_rcode
+ldns_pkt_set_qdcount
+ldns_pkt_set_ancount
+ldns_pkt_set_nscount
+ldns_pkt_set_arcount
+ldns_pkt_set_answerfrom
+ldns_pkt_set_querytime
+ldns_pkt_set_size
+ldns_pkt_set_section_count
+ldns_pkt_set_tsig
+ldns_zone_rr_count
+ldns_rr_set_owner
+ldns_rr_set_ttl
+ldns_rr_set_type
+ldns_rr_set_rd_count
+ldns_rr_set_class
+ldns_rr_set_rdf
+ldns_zone_sort
+ldns_zone_glue_rr_list
+ldns_getaddrinfo
+ldns_key_new
+ldns_key_new_frm_algorithm
+ldns_key_new_frm_fp
+ldns_key_new_frm_fp_l
+ldns_key_new_frm_fp_rsa
+ldns_key_new_frm_fp_rsa_l
+ldns_key_new_frm_fp_dsa
+ldns_key_new_frm_fp_dsa_l
+ldns_sign_public
+ldns_rr_label_count
+ldns_rr_list_cat
+ldns_rr_list_push_rr
+ldns_rr_list_pop_rr
+ldns_fget_token
+ldns_fskipcs
+ldns_dane_create_tlsa_rr
+ldns_dane_create_tlsa_owner
+ldns_dane_cert2rdf
+ldns_dane_select_certificate
ldns_rdf2buffer_str_a
ldns_rdf2buffer_str_aaaa
ldns_rdf2buffer_str_str
@@ -358,12 +315,77 @@ ldns_rdf2buffer_str_apl
ldns_rdf2buffer_str_int16_data
ldns_rdf2buffer_str_int16
ldns_rdf2buffer_str_ipseckey
-ldns_bubblebabble
-ldns_create_nsec
-ldns_dname_compare
-ldns_dname_interval
+ldns_verify_rrsig_dsa
+ldns_verify_rrsig_rsasha1
+ldns_verify_rrsig_rsamd5
+ldns_key_list_push_key
+ldns_key_list_pop_key
+ldns_zone_sign
+ldns_zone_sign_nsec3
+ldns_rr_push_rdf
+ldns_rr_pop_rdf
+ldns_dnssec_zone_sign
+ldns_dnssec_zone_sign_nsec3
+ldns_dnssec_zone_mark_glue
+ldns_dnssec_name_node_next_nonglue
+ldns_dnssec_zone_create_nsecs
+ldns_dnssec_remove_signatures
+ldns_dnssec_zone_create_rrsigs
+ldns_key2rr
+ldns_dane_verify
+ldns_dane_verify_rr
+ldns_version
ldns_rr_compare
ldns_rr_compare_ds
+ldns_wire2rr
+ldns_wire2pkt
+ldns_wire2rdf
+ldns_wire2dname
+ldns_dnssec_rrs_new
+ldns_dnssec_rrs_free
+ldns_dnssec_rrs_add_rr
+ldns_dnssec_rrs_print
+ldns_axfr_start
+ldns_axfr_next
+ldns_axfr_abort
+ldns_axfr_complete
+ldns_axfr_last_pkt
+ldns_rr_list_clone
+ldns_buffer_flip
+ldns_buffer_rewind
+ldns_buffer_position
+ldns_buffer_set_position
+ldns_buffer_skip
+ldns_rr_list_sort
+ldns_rdf
+ldns_rdf_type
+ldns_calc_keytag
+ldns_calc_keytag_raw
+ldns_dnssec_rrsets_new
+ldns_dnssec_rrsets_free
+ldns_dnssec_rrsets_type
+ldns_dnssec_rrsets_set_type
+ldns_dnssec_rrsets_add_rr
+ldns_dnssec_rrsets_print
+ldns_tcp_send_query
+ldns_tcp_read_wire
+ldns_tcp_connect
+ldns_pkt_tsig_verify
+ldns_pkt_tsig_sign
+ldns_rdf_set_size
+ldns_rdf_set_type
+ldns_rdf_set_data
+ldns_dnssec_data_chain_new
+ldns_dnssec_data_chain_free
+ldns_dnssec_data_chain_deep_free
+ldns_dnssec_build_data_chain
+ldns_dnssec_data_chain_print
+ldns_buffer_remaining_at
+ldns_buffer_remaining
+ldns_buffer_available_at
+ldns_buffer_available
+ldns_buffer_status
+ldns_buffer_status_ok
ldns_buffer_limit
ldns_buffer_set_limit
ldns_buffer_capacity
@@ -373,27 +395,21 @@ ldns_buffer_at
ldns_buffer_begin
ldns_buffer_end
ldns_buffer_current
-ldns_zone_set_rrs
-ldns_zone_set_soa
-ldns_dnssec_rrs_new
-ldns_dnssec_rrs_free
-ldns_dnssec_rrs_add_rr
-ldns_dnssec_rrs_print
-ldns_rr_mx_preference
-ldns_rr_mx_exchange
-ldns_rdf_size
-ldns_rdf_get_type
-ldns_rdf_data
-ldns_rdf_compare
-ldns_verify_rrsig_dsa
-ldns_verify_rrsig_rsasha1
-ldns_verify_rrsig_rsamd5
-ldns_dane_verify
-ldns_dane_verify_rr
-ldns_update_zocount
-ldns_update_prcount
-ldns_update_upcount
-ldns_update_adcount
+ldns_get_rr_list_hosts_frm_file
+ldns_get_rr_list_hosts_frm_fp
+ldns_get_rr_list_hosts_frm_fp_l
+ldns_dname_new
+ldns_dname_new_frm_str
+ldns_dname_new_frm_data
+ldns_duration_type
+ldns_duration_create
+ldns_duration_create_from_string
+ldns_duration_cleanup
+ldns_duration_compare
+ldns_duration2string
+ldns_duration2time
+ldns_rr_list_new
+ldns_rr_list_free
ldns_pkt_edns
ldns_pkt_edns_udp_size
ldns_pkt_edns_extended_rcode
@@ -405,6 +421,24 @@ ldns_pkt_set_edns_extended_rcode
ldns_pkt_set_edns_version
ldns_pkt_set_edns_z
ldns_pkt_set_edns_data
+ldns_update_zocount
+ldns_update_prcount
+ldns_update_upcount
+ldns_update_adcount
+ldns_rr_list_rr_count
+ldns_rr_list_set_rr_count
+ldns_zone_set_rrs
+ldns_zone_set_soa
+ldns_is_rrset
+ldns_octet
+ldns_zone
+ldns_zone_new
+ldns_zone_free
+ldns_zone_deep_free
+ldns_zone_new_frm_fp
+ldns_zone_new_frm_fp_l
+ldns_zone_print
+ldns_zone_print_fmt
ldns_rr_rrsig_typecovered
ldns_rr_rrsig_set_typecovered
ldns_rr_rrsig_algorithm
@@ -423,48 +457,14 @@ ldns_rr_rrsig_signame
ldns_rr_rrsig_set_signame
ldns_rr_rrsig_sig
ldns_rr_rrsig_set_sig
-ldns_key_free
-ldns_key_deep_free
-ldns_key_list_free
-ldns_dnssec_verify_denial
-ldns_dnssec_verify_denial_nsec3
-ldns_sign_public_dsa
-ldns_sign_public_rsamd5
-ldns_sign_public_rsasha1
-ldns_buffer_flip
-ldns_buffer_rewind
-ldns_buffer_position
-ldns_buffer_set_position
-ldns_buffer_skip
-ldns_init_random
-ldns_zone
-ldns_zone_new
-ldns_zone_free
-ldns_zone_deep_free
-ldns_zone_new_frm_fp
-ldns_zone_new_frm_fp_l
-ldns_zone_print
-ldns_zone_print_fmt
-ldns_version
-ldns_dnssec_zone
-ldns_dnssec_name
-ldns_dnssec_rrs
-ldns_dnssec_rrsets
-ldns_rdf_set_size
-ldns_rdf_set_type
-ldns_rdf_set_data
-ldns_buffer_remaining_at
-ldns_buffer_remaining
-ldns_buffer_available_at
-ldns_buffer_available
-ldns_buffer_status
-ldns_buffer_status_ok
-ldns_bget_token
-ldns_bgetc
-ldns_bskipcs
-ldns_axfr_start
-ldns_axfr_next
-ldns_axfr_abort
-ldns_axfr_complete
-ldns_axfr_last_pkt
-ldns_key_print
+ldns_pkt_new
+ldns_pkt_free
+ldns_pkt_print
+ldns_pkt_query_new
+ldns_pkt_query_new_frm_str
+ldns_pkt_reply_type
+ldns_rr_descriptor
+ldns_rr_descript
+ldns_rr_descriptor_minimum
+ldns_rr_descriptor_maximum
+ldns_rr_descriptor_field_type
diff --git a/doc/man/man3/ldns_algorithm.3 b/doc/man/man3/ldns_algorithm.3
index 28d21ee2c987..ad451d2f7da4 100644
--- a/doc/man/man3/ldns_algorithm.3
+++ b/doc/man/man3/ldns_algorithm.3
@@ -64,9 +64,8 @@ typedef enum ldns_enum_algorithm ldns_algorithm;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_axfr_start.3 b/doc/man/man3/ldns_axfr_start.3
index 1ad4b2da8772..7235f3ddd133 100644
--- a/doc/man/man3/ldns_axfr_start.3
+++ b/doc/man/man3/ldns_axfr_start.3
@@ -64,9 +64,8 @@ Returns ldns_pkt the last packet sent
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_b32_ntop_calculate_size.3 b/doc/man/man3/ldns_b32_ntop_calculate_size.3
index 1f838b73f167..d3955b97d73f 100644
--- a/doc/man/man3/ldns_b32_ntop_calculate_size.3
+++ b/doc/man/man3/ldns_b32_ntop_calculate_size.3
@@ -37,9 +37,8 @@ ldns_b32_ntop_calculate_size, ldns_b32_pton_calculate_size, ldns_b64_ntop_calcul
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_bget_token.3 b/doc/man/man3/ldns_bget_token.3
index d8dd1de261d6..346e60a2cce2 100644
--- a/doc/man/man3/ldns_bget_token.3
+++ b/doc/man/man3/ldns_bget_token.3
@@ -60,9 +60,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_bubblebabble.3 b/doc/man/man3/ldns_bubblebabble.3
index 1cdac77e8ed1..782c58a32cc7 100644
--- a/doc/man/man3/ldns_bubblebabble.3
+++ b/doc/man/man3/ldns_bubblebabble.3
@@ -22,9 +22,8 @@ ldns_bubblebabble \- encode data as BubbleBabble
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer.3 b/doc/man/man3/ldns_buffer.3
index ab5252e0cd0e..5c0ae4da073e 100644
--- a/doc/man/man3/ldns_buffer.3
+++ b/doc/man/man3/ldns_buffer.3
@@ -184,9 +184,8 @@ Returns null terminated char * data, or \%NULL on error
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer2pkt_wire.3 b/doc/man/man3/ldns_buffer2pkt_wire.3
index db547fe0bf5c..176c881479b1 100644
--- a/doc/man/man3/ldns_buffer2pkt_wire.3
+++ b/doc/man/man3/ldns_buffer2pkt_wire.3
@@ -32,9 +32,8 @@ Returns \%LDNS_STATUS_OK if everything succeeds, error otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer_flip.3 b/doc/man/man3/ldns_buffer_flip.3
index 4c9d3be02bfe..e7b82eebcb5c 100644
--- a/doc/man/man3/ldns_buffer_flip.3
+++ b/doc/man/man3/ldns_buffer_flip.3
@@ -72,9 +72,8 @@ buffer.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer_limit.3 b/doc/man/man3/ldns_buffer_limit.3
index 20567972d793..47d5e4a24446 100644
--- a/doc/man/man3/ldns_buffer_limit.3
+++ b/doc/man/man3/ldns_buffer_limit.3
@@ -121,9 +121,8 @@ Returns the pointer
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer_remaining_at.3 b/doc/man/man3/ldns_buffer_remaining_at.3
index 6884e8451727..061baea115fd 100644
--- a/doc/man/man3/ldns_buffer_remaining_at.3
+++ b/doc/man/man3/ldns_buffer_remaining_at.3
@@ -88,9 +88,8 @@ Returns true or false
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_buffer_write_at.3 b/doc/man/man3/ldns_buffer_write_at.3
index 6fa956e2a711..9e960995a70b 100644
--- a/doc/man/man3/ldns_buffer_write_at.3
+++ b/doc/man/man3/ldns_buffer_write_at.3
@@ -223,9 +223,8 @@ writes the given 4 byte integer at the given position in the buffer
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_calc_keytag.3 b/doc/man/man3/ldns_calc_keytag.3
index 72528d7e8d20..97a866320ade 100644
--- a/doc/man/man3/ldns_calc_keytag.3
+++ b/doc/man/man3/ldns_calc_keytag.3
@@ -40,9 +40,8 @@ Returns the keytag
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_create_nsec.3 b/doc/man/man3/ldns_create_nsec.3
index b1f3ca308c15..4ecd7c782328 100644
--- a/doc/man/man3/ldns_create_nsec.3
+++ b/doc/man/man3/ldns_create_nsec.3
@@ -31,9 +31,8 @@ Returns a ldns_rr with the nsec record in it
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dane_create_tlsa_rr.3 b/doc/man/man3/ldns_dane_create_tlsa_rr.3
index 254c04bbdfe8..414bd8995841 100644
--- a/doc/man/man3/ldns_dane_create_tlsa_rr.3
+++ b/doc/man/man3/ldns_dane_create_tlsa_rr.3
@@ -114,9 +114,8 @@ Returns \%LDNS_STATUS_OK on success or an error code otherwise.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dane_verify.3 b/doc/man/man3/ldns_dane_verify.3
index 6a95ca6f23b2..15ac6c9644b5 100644
--- a/doc/man/man3/ldns_dane_verify.3
+++ b/doc/man/man3/ldns_dane_verify.3
@@ -105,9 +105,8 @@ but the \%PKIX validation failed, or other ldns_status errors.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname2canonical.3 b/doc/man/man3/ldns_dname2canonical.3
index bb597c6edd22..d1cd90a9b550 100644
--- a/doc/man/man3/ldns_dname2canonical.3
+++ b/doc/man/man3/ldns_dname2canonical.3
@@ -27,9 +27,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname_cat_clone.3 b/doc/man/man3/ldns_dname_cat_clone.3
index 0855625e421f..b600b074eee3 100644
--- a/doc/man/man3/ldns_dname_cat_clone.3
+++ b/doc/man/man3/ldns_dname_cat_clone.3
@@ -41,9 +41,8 @@ Returns \%LDNS_STATUS_OK on success
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname_compare.3 b/doc/man/man3/ldns_dname_compare.3
index a8a802ca429a..29e22bf4cb07 100644
--- a/doc/man/man3/ldns_dname_compare.3
+++ b/doc/man/man3/ldns_dname_compare.3
@@ -44,9 +44,8 @@ return 0 on error or unknown, -1 when middle is in the interval, +1 when not
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname_is_subdomain.3 b/doc/man/man3/ldns_dname_is_subdomain.3
index fac7c0a885c2..bd0cefa054d2 100644
--- a/doc/man/man3/ldns_dname_is_subdomain.3
+++ b/doc/man/man3/ldns_dname_is_subdomain.3
@@ -55,9 +55,8 @@ Returns a ldns_rdf* with the label as name or \%NULL on error
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname_left_chop.3 b/doc/man/man3/ldns_dname_left_chop.3
index 94b616796064..e05c3f9a07d7 100644
--- a/doc/man/man3/ldns_dname_left_chop.3
+++ b/doc/man/man3/ldns_dname_left_chop.3
@@ -39,9 +39,8 @@ Returns the number of labels
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dname_new.3 b/doc/man/man3/ldns_dname_new.3
index db2e9d7617dc..c50a256531ad 100644
--- a/doc/man/man3/ldns_dname_new.3
+++ b/doc/man/man3/ldns_dname_new.3
@@ -54,9 +54,8 @@ Returns ldns_rdf*
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_data_chain.3 b/doc/man/man3/ldns_dnssec_data_chain.3
index 14a2edb9f42b..84d446f7b2fa 100644
--- a/doc/man/man3/ldns_dnssec_data_chain.3
+++ b/doc/man/man3/ldns_dnssec_data_chain.3
@@ -138,9 +138,8 @@ typedef struct ldns_dnssec_trust_tree_struct ldns_dnssec_trust_tree;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_data_chain_new.3 b/doc/man/man3/ldns_dnssec_data_chain_new.3
index 8c465208f85b..7e05a3c56460 100644
--- a/doc/man/man3/ldns_dnssec_data_chain_new.3
+++ b/doc/man/man3/ldns_dnssec_data_chain_new.3
@@ -79,9 +79,8 @@ Prints the dnssec_data_chain to the given file stream
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_name_new.3 b/doc/man/man3/ldns_dnssec_name_new.3
index dfd50bc271a1..79f2dc4f7287 100644
--- a/doc/man/man3/ldns_dnssec_name_new.3
+++ b/doc/man/man3/ldns_dnssec_name_new.3
@@ -132,9 +132,8 @@ file descriptor
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_rrs_new.3 b/doc/man/man3/ldns_dnssec_rrs_new.3
index a5509b4f4d46..11ff044c4419 100644
--- a/doc/man/man3/ldns_dnssec_rrs_new.3
+++ b/doc/man/man3/ldns_dnssec_rrs_new.3
@@ -57,9 +57,8 @@ Prints the given rrs to the file descriptor
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_rrsets_new.3 b/doc/man/man3/ldns_dnssec_rrsets_new.3
index 3e39c0717973..198060289649 100644
--- a/doc/man/man3/ldns_dnssec_rrsets_new.3
+++ b/doc/man/man3/ldns_dnssec_rrsets_new.3
@@ -86,9 +86,8 @@ Print the given list of rrsets to the given file descriptor
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_trust_tree_new.3 b/doc/man/man3/ldns_dnssec_trust_tree_new.3
index de0b57352e02..da6840dc4b6c 100644
--- a/doc/man/man3/ldns_dnssec_trust_tree_new.3
+++ b/doc/man/man3/ldns_dnssec_trust_tree_new.3
@@ -176,9 +176,8 @@ signatures
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_verify_denial.3 b/doc/man/man3/ldns_dnssec_verify_denial.3
index 1b922c971bea..0d4bbb107c55 100644
--- a/doc/man/man3/ldns_dnssec_verify_denial.3
+++ b/doc/man/man3/ldns_dnssec_verify_denial.3
@@ -61,9 +61,8 @@ containing the reason they do not otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_zone.3 b/doc/man/man3/ldns_dnssec_zone.3
index 516f0f185b58..0a8d1adc70dc 100644
--- a/doc/man/man3/ldns_dnssec_zone.3
+++ b/doc/man/man3/ldns_dnssec_zone.3
@@ -159,9 +159,8 @@ typedef struct ldns_struct_dnssec_rrsets ldns_dnssec_rrsets;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_zone_find_rrset.3 b/doc/man/man3/ldns_dnssec_zone_find_rrset.3
index 191c11b95cd7..802f33ca6f9f 100644
--- a/doc/man/man3/ldns_dnssec_zone_find_rrset.3
+++ b/doc/man/man3/ldns_dnssec_zone_find_rrset.3
@@ -100,9 +100,8 @@ return \%LDNS_STATUS_OK on success.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_dnssec_zone_sign.3 b/doc/man/man3/ldns_dnssec_zone_sign.3
index f39cdc4e3b89..589e05645d9e 100644
--- a/doc/man/man3/ldns_dnssec_zone_sign.3
+++ b/doc/man/man3/ldns_dnssec_zone_sign.3
@@ -151,9 +151,8 @@ Returns \%LDNS_STATUS_OK on success, error otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_duration_type.3 b/doc/man/man3/ldns_duration_type.3
index a788e62e3bca..c3c49627401a 100644
--- a/doc/man/man3/ldns_duration_type.3
+++ b/doc/man/man3/ldns_duration_type.3
@@ -112,9 +112,8 @@ Returns time_t time-format duration
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_fget_token.3 b/doc/man/man3/ldns_fget_token.3
index ddf7b50ecce4..85f66a93bd79 100644
--- a/doc/man/man3/ldns_fget_token.3
+++ b/doc/man/man3/ldns_fget_token.3
@@ -48,9 +48,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_get_errorstr_by_id.3 b/doc/man/man3/ldns_get_errorstr_by_id.3
index fdabd7de7c29..b055ddf29468 100644
--- a/doc/man/man3/ldns_get_errorstr_by_id.3
+++ b/doc/man/man3/ldns_get_errorstr_by_id.3
@@ -27,9 +27,8 @@ ldns_get_errorstr_by_id, ldns_status \- errors
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_get_rr_class_by_name.3 b/doc/man/man3/ldns_get_rr_class_by_name.3
index 4e15e6b7bb38..1aefd96a7c0b 100644
--- a/doc/man/man3/ldns_get_rr_class_by_name.3
+++ b/doc/man/man3/ldns_get_rr_class_by_name.3
@@ -37,9 +37,8 @@ Returns the type which corresponds with the name
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_get_rr_list_addr_by_name.3 b/doc/man/man3/ldns_get_rr_list_addr_by_name.3
index ecc5d45d6238..7a71f5b09f86 100644
--- a/doc/man/man3/ldns_get_rr_list_addr_by_name.3
+++ b/doc/man/man3/ldns_get_rr_list_addr_by_name.3
@@ -47,9 +47,8 @@ and return the name
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_get_rr_list_hosts_frm_file.3 b/doc/man/man3/ldns_get_rr_list_hosts_frm_file.3
index 2e5b8ffcd93b..08a9b4628977 100644
--- a/doc/man/man3/ldns_get_rr_list_hosts_frm_file.3
+++ b/doc/man/man3/ldns_get_rr_list_hosts_frm_file.3
@@ -55,9 +55,8 @@ Returns ldns_rr_list * with the names
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_getaddrinfo.3 b/doc/man/man3/ldns_getaddrinfo.3
index 2e24ac05a1f0..b135286fc68a 100644
--- a/doc/man/man3/ldns_getaddrinfo.3
+++ b/doc/man/man3/ldns_getaddrinfo.3
@@ -37,9 +37,8 @@ Returns the number of \%RR found.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_init_random.3 b/doc/man/man3/ldns_init_random.3
index 8f77edf55d8e..b740a00167f4 100644
--- a/doc/man/man3/ldns_init_random.3
+++ b/doc/man/man3/ldns_init_random.3
@@ -22,9 +22,8 @@ ldns_init_random \- seed the random function
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_is_rrset.3 b/doc/man/man3/ldns_is_rrset.3
index 8c3bfa64ce2d..7244a3a8cca0 100644
--- a/doc/man/man3/ldns_is_rrset.3
+++ b/doc/man/man3/ldns_is_rrset.3
@@ -27,9 +27,8 @@ Returns true if it is an rrset otherwise false
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key.3 b/doc/man/man3/ldns_key.3
index 5b6360aef592..5078b8aed259 100644
--- a/doc/man/man3/ldns_key.3
+++ b/doc/man/man3/ldns_key.3
@@ -22,9 +22,8 @@ ldns_key \- ldns_key data structure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key2rr.3 b/doc/man/man3/ldns_key2rr.3
index f9eaf638da43..ee70789046e4 100644
--- a/doc/man/man3/ldns_key2rr.3
+++ b/doc/man/man3/ldns_key2rr.3
@@ -31,9 +31,8 @@ Returns ldns_rr representation of the key
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_buf2dsa.3 b/doc/man/man3/ldns_key_buf2dsa.3
index a046d3019be4..d44c426c9064 100644
--- a/doc/man/man3/ldns_key_buf2dsa.3
+++ b/doc/man/man3/ldns_key_buf2dsa.3
@@ -39,9 +39,8 @@ Returns a \%RSA * structure with the key material
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_free.3 b/doc/man/man3/ldns_key_free.3
index a0472a111064..4cc6b73038cb 100644
--- a/doc/man/man3/ldns_key_free.3
+++ b/doc/man/man3/ldns_key_free.3
@@ -44,9 +44,8 @@ Frees a key list structure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_list_key_count.3 b/doc/man/man3/ldns_key_list_key_count.3
index 27e296b6aa58..2c92bab4ffcc 100644
--- a/doc/man/man3/ldns_key_list_key_count.3
+++ b/doc/man/man3/ldns_key_list_key_count.3
@@ -135,9 +135,8 @@ Returns the flag
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_list_new.3 b/doc/man/man3/ldns_key_list_new.3
index 07b6fbba3ed7..e6d73b418766 100644
--- a/doc/man/man3/ldns_key_list_new.3
+++ b/doc/man/man3/ldns_key_list_new.3
@@ -22,9 +22,8 @@ ldns_key_list_new \- create a ldns_key_list
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_list_push_key.3 b/doc/man/man3/ldns_key_list_push_key.3
index 08a6598d3924..e0ff0bc69816 100644
--- a/doc/man/man3/ldns_key_list_push_key.3
+++ b/doc/man/man3/ldns_key_list_push_key.3
@@ -39,9 +39,8 @@ Returns \%NULL if nothing to pop. Otherwise the popped \%RR
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_new.3 b/doc/man/man3/ldns_key_new.3
index c4df39a25d16..fcb75444e0cc 100644
--- a/doc/man/man3/ldns_key_new.3
+++ b/doc/man/man3/ldns_key_new.3
@@ -120,9 +120,8 @@ Returns \%NULL on failure otherwise a \%RSA structure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_print.3 b/doc/man/man3/ldns_key_print.3
index 17351478c555..c502eee86a24 100644
--- a/doc/man/man3/ldns_key_print.3
+++ b/doc/man/man3/ldns_key_print.3
@@ -28,9 +28,8 @@ print a private key to the file output
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_rr2ds.3 b/doc/man/man3/ldns_key_rr2ds.3
index 5757e5c5a438..14f8a0d5f898 100644
--- a/doc/man/man3/ldns_key_rr2ds.3
+++ b/doc/man/man3/ldns_key_rr2ds.3
@@ -31,9 +31,8 @@ Returns ldns_rr* a new rr pointer to a \%DS
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_key_set_algorithm.3 b/doc/man/man3/ldns_key_set_algorithm.3
index f0dd76ed0cbf..227177a5b74b 100644
--- a/doc/man/man3/ldns_key_set_algorithm.3
+++ b/doc/man/man3/ldns_key_set_algorithm.3
@@ -139,9 +139,8 @@ Returns s true if supported.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_native2rdf_int8.3 b/doc/man/man3/ldns_native2rdf_int8.3
index 73495978e8ac..1574ba56adec 100644
--- a/doc/man/man3/ldns_native2rdf_int8.3
+++ b/doc/man/man3/ldns_native2rdf_int8.3
@@ -117,9 +117,8 @@ Returns time_t the value extracted (32 bits currently)
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_octet.3 b/doc/man/man3/ldns_octet.3
index 8dab5d94302f..88d03c066d32 100644
--- a/doc/man/man3/ldns_octet.3
+++ b/doc/man/man3/ldns_octet.3
@@ -30,9 +30,8 @@ Returns ldns_status mesg
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt.3 b/doc/man/man3/ldns_pkt.3
index abd24ef94584..0c4eb78a49fc 100644
--- a/doc/man/man3/ldns_pkt.3
+++ b/doc/man/man3/ldns_pkt.3
@@ -120,9 +120,8 @@ typedef struct ldns_struct_pkt ldns_pkt;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt2buffer_str.3 b/doc/man/man3/ldns_pkt2buffer_str.3
index 913790a86d13..0051d3606170 100644
--- a/doc/man/man3/ldns_pkt2buffer_str.3
+++ b/doc/man/man3/ldns_pkt2buffer_str.3
@@ -169,9 +169,8 @@ Returns ldns_status
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_edns.3 b/doc/man/man3/ldns_pkt_edns.3
index 3a6c7e905e77..863f403dea45 100644
--- a/doc/man/man3/ldns_pkt_edns.3
+++ b/doc/man/man3/ldns_pkt_edns.3
@@ -131,9 +131,8 @@ Set the packet's \%EDNS data
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_id.3 b/doc/man/man3/ldns_pkt_id.3
index 18792e39bd11..2f0045963267 100644
--- a/doc/man/man3/ldns_pkt_id.3
+++ b/doc/man/man3/ldns_pkt_id.3
@@ -292,9 +292,8 @@ Returns a list with the rr's or \%NULL if none were found
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_new.3 b/doc/man/man3/ldns_pkt_new.3
index c233682eba5c..736a95bfd830 100644
--- a/doc/man/man3/ldns_pkt_new.3
+++ b/doc/man/man3/ldns_pkt_new.3
@@ -95,9 +95,8 @@ Returns the type of packet
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_set_flags.3 b/doc/man/man3/ldns_pkt_set_flags.3
index d38df758e77f..be2ab767b114 100644
--- a/doc/man/man3/ldns_pkt_set_flags.3
+++ b/doc/man/man3/ldns_pkt_set_flags.3
@@ -221,9 +221,8 @@ Set the packet's tsig rr
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_tsig_verify.3 b/doc/man/man3/ldns_pkt_tsig_verify.3
index 648e843f730c..5827643d0c3e 100644
--- a/doc/man/man3/ldns_pkt_tsig_verify.3
+++ b/doc/man/man3/ldns_pkt_tsig_verify.3
@@ -58,9 +58,8 @@ Returns status (\%OK if success)
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_pkt_verify.3 b/doc/man/man3/ldns_pkt_verify.3
index e21890beaaff..9fcae86beb98 100644
--- a/doc/man/man3/ldns_pkt_verify.3
+++ b/doc/man/man3/ldns_pkt_verify.3
@@ -38,9 +38,8 @@ Returns status
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf.3 b/doc/man/man3/ldns_rdf.3
index 680867f700b9..dca0cd5e1f17 100644
--- a/doc/man/man3/ldns_rdf.3
+++ b/doc/man/man3/ldns_rdf.3
@@ -269,9 +269,8 @@ typedef enum ldns_enum_rdf_type ldns_rdf_type;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf2buffer_str_a.3 b/doc/man/man3/ldns_rdf2buffer_str_a.3
index 0bdeddd6a82e..19841d301c7c 100644
--- a/doc/man/man3/ldns_rdf2buffer_str_a.3
+++ b/doc/man/man3/ldns_rdf2buffer_str_a.3
@@ -245,9 +245,8 @@ Returns \%LDNS_STATUS_OK on success, and error status on failure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf_address_reverse.3 b/doc/man/man3/ldns_rdf_address_reverse.3
index 10c81a8b4084..ff871f4e347a 100644
--- a/doc/man/man3/ldns_rdf_address_reverse.3
+++ b/doc/man/man3/ldns_rdf_address_reverse.3
@@ -28,9 +28,8 @@ Returns the reversed rdf (a newly created rdf)
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf_new.3 b/doc/man/man3/ldns_rdf_new.3
index d8b7e957fc65..e7a27744b4c0 100644
--- a/doc/man/man3/ldns_rdf_new.3
+++ b/doc/man/man3/ldns_rdf_new.3
@@ -121,9 +121,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf_set_size.3 b/doc/man/man3/ldns_rdf_set_size.3
index 75f509b811f2..306ad4bf6d55 100644
--- a/doc/man/man3/ldns_rdf_set_size.3
+++ b/doc/man/man3/ldns_rdf_set_size.3
@@ -53,9 +53,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rdf_size.3 b/doc/man/man3/ldns_rdf_size.3
index 4b887b105a32..18258ee39266 100644
--- a/doc/man/man3/ldns_rdf_size.3
+++ b/doc/man/man3/ldns_rdf_size.3
@@ -32,7 +32,7 @@ Returns uint16_t with the size
.HP
\fIldns_rdf_get_type\fR()
returns the type of the rdf. We need to insert _get_
-here to prevent conflict the the rdf_type \%TYPE.
+here to prevent conflict the rdf_type \%TYPE.
\.br
\fB*rd\fR: the rdf to read from
\.br
@@ -66,9 +66,8 @@ Returns +1 if rd2 comes before rd1
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr.3 b/doc/man/man3/ldns_rr.3
index aec28941b981..57f726d33246 100644
--- a/doc/man/man3/ldns_rr.3
+++ b/doc/man/man3/ldns_rr.3
@@ -456,11 +456,11 @@ enum ldns_enum_rr_type
.br
LDNS_RR_TYPE_CSYNC = 62, /* RFC 7477 */
.br
- LDNS_RR_TYPE_ZONEMD = 63, /* draft-ietf-dnsop-dns-zone-digest */
+ LDNS_RR_TYPE_ZONEMD = 63, /* RFC 8976 */
.br
- LDNS_RR_TYPE_SVCB = 64, /* draft-ietf-dnsop-svcb-https */
+ LDNS_RR_TYPE_SVCB = 64, /* RFC 9460 */
.br
- LDNS_RR_TYPE_HTTPS = 65, /* draft-ietf-dnsop-svcb-https */
+ LDNS_RR_TYPE_HTTPS = 65, /* RFC 9460 */
.br
.br
@@ -494,6 +494,10 @@ enum ldns_enum_rr_type
.br
.br
+ LDNS_RR_TYPE_NXNAME = 128, /* draft-ietf-dnsop-compact-denial-of-existence */
+.br
+
+.br
LDNS_RR_TYPE_TKEY = 249, /* RFC 2930 */
.br
LDNS_RR_TYPE_TSIG = 250,
@@ -524,12 +528,24 @@ enum ldns_enum_rr_type
.br
.br
- \fBdraft-ietf-mboned-driad-amt-discovery *:\fR
+ \fBRFC 8777 *:\fR
.br
LDNS_RR_TYPE_AMTRELAY = 260,
.br
.br
+ \fBRFC 9606:\fR
+.br
+ LDNS_RR_TYPE_RESINFO = 261,
+.br
+
+.br
+ \fBhttps://iana.org/assignments/dns-parameters/WALLET/wallet-completed-template:\fR
+.br
+ LDNS_RR_TYPE_WALLET = 262,
+.br
+
+.br
\fBDNSSEC Trust Authorities:\fR
.br
LDNS_RR_TYPE_TA = 32768,
@@ -604,9 +620,8 @@ typedef struct ldns_struct_rr_list ldns_rr_list;
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr2canonical.3 b/doc/man/man3/ldns_rr2canonical.3
index 0003feae7ac0..79264d285744 100644
--- a/doc/man/man3/ldns_rr2canonical.3
+++ b/doc/man/man3/ldns_rr2canonical.3
@@ -27,9 +27,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr2str.3 b/doc/man/man3/ldns_rr2str.3
index afe07b1424b3..322316e7e64e 100644
--- a/doc/man/man3/ldns_rr2str.3
+++ b/doc/man/man3/ldns_rr2str.3
@@ -82,9 +82,8 @@ Returns null terminated char * data, or \%NULL on error
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr2wire.3 b/doc/man/man3/ldns_rr2wire.3
index 3f6c4bf17ecc..3ab41d7ce8cf 100644
--- a/doc/man/man3/ldns_rr2wire.3
+++ b/doc/man/man3/ldns_rr2wire.3
@@ -70,9 +70,8 @@ the function also returns \%NULL)
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_compare.3 b/doc/man/man3/ldns_rr_compare.3
index 3ce5b43dc236..fdf70efe225a 100644
--- a/doc/man/man3/ldns_rr_compare.3
+++ b/doc/man/man3/ldns_rr_compare.3
@@ -45,9 +45,8 @@ Returns true if equal otherwise false
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_descriptor.3 b/doc/man/man3/ldns_rr_descriptor.3
index 64055a995589..c957220dd926 100644
--- a/doc/man/man3/ldns_rr_descriptor.3
+++ b/doc/man/man3/ldns_rr_descriptor.3
@@ -112,9 +112,8 @@ Returns the rdf type for the field
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_dnskey_flags.3 b/doc/man/man3/ldns_rr_dnskey_flags.3
index 432629f611a4..00e5deef9da5 100644
--- a/doc/man/man3/ldns_rr_dnskey_flags.3
+++ b/doc/man/man3/ldns_rr_dnskey_flags.3
@@ -105,9 +105,8 @@ Returns true on success, false otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_label_count.3 b/doc/man/man3/ldns_rr_label_count.3
index 61cf8e86d972..cedfe2525a61 100644
--- a/doc/man/man3/ldns_rr_label_count.3
+++ b/doc/man/man3/ldns_rr_label_count.3
@@ -27,9 +27,8 @@ Returns the number of labels
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_list_cat.3 b/doc/man/man3/ldns_rr_list_cat.3
index d986f6f1972f..aab8721c6464 100644
--- a/doc/man/man3/ldns_rr_list_cat.3
+++ b/doc/man/man3/ldns_rr_list_cat.3
@@ -52,9 +52,8 @@ Returns \%NULL if nothing to pop. Otherwise the popped \%RR
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_list_clone.3 b/doc/man/man3/ldns_rr_list_clone.3
index 69cd26ce70f8..f580a84188c8 100644
--- a/doc/man/man3/ldns_rr_list_clone.3
+++ b/doc/man/man3/ldns_rr_list_clone.3
@@ -27,9 +27,8 @@ Returns the cloned rr list
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_list_new.3 b/doc/man/man3/ldns_rr_list_new.3
index 8b7ea82e97f6..0d2cd7d2cc16 100644
--- a/doc/man/man3/ldns_rr_list_new.3
+++ b/doc/man/man3/ldns_rr_list_new.3
@@ -33,9 +33,8 @@ frees an rr_list structure.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_list_rr_count.3 b/doc/man/man3/ldns_rr_list_rr_count.3
index 7e5f157ff6db..b46269954110 100644
--- a/doc/man/man3/ldns_rr_list_rr_count.3
+++ b/doc/man/man3/ldns_rr_list_rr_count.3
@@ -39,9 +39,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_list_sort.3 b/doc/man/man3/ldns_rr_list_sort.3
index 84c6d5add0dc..5f616d6e064b 100644
--- a/doc/man/man3/ldns_rr_list_sort.3
+++ b/doc/man/man3/ldns_rr_list_sort.3
@@ -27,9 +27,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_mx_preference.3 b/doc/man/man3/ldns_rr_mx_preference.3
index 0727fe5e898e..155fd52e50cb 100644
--- a/doc/man/man3/ldns_rr_mx_preference.3
+++ b/doc/man/man3/ldns_rr_mx_preference.3
@@ -37,9 +37,8 @@ Returns a ldns_rdf* with the name of the \%MX host or \%NULL on failure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_new.3 b/doc/man/man3/ldns_rr_new.3
index 8855c7251c6d..748cab124061 100644
--- a/doc/man/man3/ldns_rr_new.3
+++ b/doc/man/man3/ldns_rr_new.3
@@ -104,9 +104,8 @@ Returns void
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_ns_nsdname.3 b/doc/man/man3/ldns_rr_ns_nsdname.3
index 547e6dab1c74..0647e0eb1c5c 100644
--- a/doc/man/man3/ldns_rr_ns_nsdname.3
+++ b/doc/man/man3/ldns_rr_ns_nsdname.3
@@ -27,9 +27,8 @@ Returns a ldns_rdf* with the name or \%NULL on failure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_push_rdf.3 b/doc/man/man3/ldns_rr_push_rdf.3
index 877213b1154a..23b102286c23 100644
--- a/doc/man/man3/ldns_rr_push_rdf.3
+++ b/doc/man/man3/ldns_rr_push_rdf.3
@@ -41,9 +41,8 @@ Returns rdf which was popped (null if nothing)
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_rdf.3 b/doc/man/man3/ldns_rr_rdf.3
index fa34a5acb88b..aeb9b48c5bb4 100644
--- a/doc/man/man3/ldns_rr_rdf.3
+++ b/doc/man/man3/ldns_rr_rdf.3
@@ -69,9 +69,8 @@ Returns the class of the rr
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_rrsig_typecovered.3 b/doc/man/man3/ldns_rr_rrsig_typecovered.3
index 50667b5f1c10..f2f982d844ec 100644
--- a/doc/man/man3/ldns_rr_rrsig_typecovered.3
+++ b/doc/man/man3/ldns_rr_rrsig_typecovered.3
@@ -215,9 +215,8 @@ Returns true on success, false otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_set_owner.3 b/doc/man/man3/ldns_rr_set_owner.3
index 7b256cfbdd81..bbdf5115873c 100644
--- a/doc/man/man3/ldns_rr_set_owner.3
+++ b/doc/man/man3/ldns_rr_set_owner.3
@@ -92,9 +92,8 @@ Returns the old value in the rr, \%NULL on failure
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_set_push_rr.3 b/doc/man/man3/ldns_rr_set_push_rr.3
index 62a005a32bd0..75aea1959a48 100644
--- a/doc/man/man3/ldns_rr_set_push_rr.3
+++ b/doc/man/man3/ldns_rr_set_push_rr.3
@@ -41,9 +41,8 @@ Returns \%NULL if nothing to pop. Otherwise the popped \%RR
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_rr_uncompressed_size.3 b/doc/man/man3/ldns_rr_uncompressed_size.3
index be6858408dbe..ea50c8bc889b 100644
--- a/doc/man/man3/ldns_rr_uncompressed_size.3
+++ b/doc/man/man3/ldns_rr_uncompressed_size.3
@@ -27,9 +27,8 @@ Returns size of the rr
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_send.3 b/doc/man/man3/ldns_send.3
index 69876aac36dc..b8acc3277a63 100644
--- a/doc/man/man3/ldns_send.3
+++ b/doc/man/man3/ldns_send.3
@@ -22,9 +22,8 @@ ldns_send \- send a packet
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_sign_public.3 b/doc/man/man3/ldns_sign_public.3
index dd091c4985cb..af0d7216ab49 100644
--- a/doc/man/man3/ldns_sign_public.3
+++ b/doc/man/man3/ldns_sign_public.3
@@ -29,9 +29,8 @@ Returns a rr_list with the signatures
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_sign_public_dsa.3 b/doc/man/man3/ldns_sign_public_dsa.3
index 94409f121e21..ec89bb63e30d 100644
--- a/doc/man/man3/ldns_sign_public_dsa.3
+++ b/doc/man/man3/ldns_sign_public_dsa.3
@@ -54,9 +54,8 @@ Returns a ldns_rdf with the signed data
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_str2period.3 b/doc/man/man3/ldns_str2period.3
index b78acbf4c351..7a89ee9a3010 100644
--- a/doc/man/man3/ldns_str2period.3
+++ b/doc/man/man3/ldns_str2period.3
@@ -29,9 +29,8 @@ Returns the convert duration value
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_tcp_send_query.3 b/doc/man/man3/ldns_tcp_send_query.3
index f551c3892851..2c837dce6bf9 100644
--- a/doc/man/man3/ldns_tcp_send_query.3
+++ b/doc/man/man3/ldns_tcp_send_query.3
@@ -32,9 +32,8 @@ ldns_tcp_send_query, ldns_tcp_read_wire, ldns_tcp_connect \- tcp queries
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_update_pkt_new.3 b/doc/man/man3/ldns_update_pkt_new.3
index 50482bf84de5..1fb88a6818c4 100644
--- a/doc/man/man3/ldns_update_pkt_new.3
+++ b/doc/man/man3/ldns_update_pkt_new.3
@@ -36,9 +36,8 @@ Returns the new packet
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_update_pkt_tsig_add.3 b/doc/man/man3/ldns_update_pkt_tsig_add.3
index 8246c505430d..d50a3a503f20 100644
--- a/doc/man/man3/ldns_update_pkt_tsig_add.3
+++ b/doc/man/man3/ldns_update_pkt_tsig_add.3
@@ -31,9 +31,8 @@ Returns status whether successful or not
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_update_set_zocount.3 b/doc/man/man3/ldns_update_set_zocount.3
index 65b6db35b808..b574ffecdd8c 100644
--- a/doc/man/man3/ldns_update_set_zocount.3
+++ b/doc/man/man3/ldns_update_set_zocount.3
@@ -52,9 +52,8 @@ Set the ad count
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_update_zocount.3 b/doc/man/man3/ldns_update_zocount.3
index 46a2f1537ce1..5a40d05f8e37 100644
--- a/doc/man/man3/ldns_update_zocount.3
+++ b/doc/man/man3/ldns_update_zocount.3
@@ -52,9 +52,8 @@ Returns the up count
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_verify.3 b/doc/man/man3/ldns_verify.3
index e1804ab0d841..6493c24cd1b9 100644
--- a/doc/man/man3/ldns_verify.3
+++ b/doc/man/man3/ldns_verify.3
@@ -108,9 +108,8 @@ Returns status \%LDNS_STATUS_OK if there is at least one correct key
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_verify_rrsig_dsa.3 b/doc/man/man3/ldns_verify_rrsig_dsa.3
index 6e4880feebb5..b1e0f034b239 100644
--- a/doc/man/man3/ldns_verify_rrsig_dsa.3
+++ b/doc/man/man3/ldns_verify_rrsig_dsa.3
@@ -59,9 +59,8 @@ with a buffer with key data.
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_version.3 b/doc/man/man3/ldns_version.3
index e4866928b4a2..d504458b1380 100644
--- a/doc/man/man3/ldns_version.3
+++ b/doc/man/man3/ldns_version.3
@@ -22,9 +22,8 @@ ldns_version \- return library version
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_wire2rr.3 b/doc/man/man3/ldns_wire2rr.3
index b4ebb0c9718c..54b6353faff4 100644
--- a/doc/man/man3/ldns_wire2rr.3
+++ b/doc/man/man3/ldns_wire2rr.3
@@ -104,9 +104,8 @@ Returns \%LDNS_STATUS_OK if everything succeeds, error otherwise
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone.3 b/doc/man/man3/ldns_zone.3
index 1c83234d6077..ad578047d3d2 100644
--- a/doc/man/man3/ldns_zone.3
+++ b/doc/man/man3/ldns_zone.3
@@ -137,9 +137,8 @@ is included in this output
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_push_rr.3 b/doc/man/man3/ldns_zone_push_rr.3
index 5b1a45353253..9ec114bdaf0e 100644
--- a/doc/man/man3/ldns_zone_push_rr.3
+++ b/doc/man/man3/ldns_zone_push_rr.3
@@ -43,9 +43,8 @@ Returns a true on success otherwise false
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_rr_count.3 b/doc/man/man3/ldns_zone_rr_count.3
index ef4082f276af..4dc1670dc782 100644
--- a/doc/man/man3/ldns_zone_rr_count.3
+++ b/doc/man/man3/ldns_zone_rr_count.3
@@ -27,9 +27,8 @@ Returns the number of rr's in the zone
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_rrs.3 b/doc/man/man3/ldns_zone_rrs.3
index 8e6df6dbae4c..ad889e4ebab6 100644
--- a/doc/man/man3/ldns_zone_rrs.3
+++ b/doc/man/man3/ldns_zone_rrs.3
@@ -39,9 +39,8 @@ Returns the soa record in the zone
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_set_rrs.3 b/doc/man/man3/ldns_zone_set_rrs.3
index b09c33d89188..b016ad2dcdb1 100644
--- a/doc/man/man3/ldns_zone_set_rrs.3
+++ b/doc/man/man3/ldns_zone_set_rrs.3
@@ -37,9 +37,8 @@ Set the zone's soa record
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_sign.3 b/doc/man/man3/ldns_zone_sign.3
index 21e8c155527b..e45c547be961 100644
--- a/doc/man/man3/ldns_zone_sign.3
+++ b/doc/man/man3/ldns_zone_sign.3
@@ -51,9 +51,8 @@ Returns signed zone
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/doc/man/man3/ldns_zone_sort.3 b/doc/man/man3/ldns_zone_sort.3
index 7e0ab53d8133..85616152360e 100644
--- a/doc/man/man3/ldns_zone_sort.3
+++ b/doc/man/man3/ldns_zone_sort.3
@@ -43,9 +43,8 @@ Returns the rr_list with the glue
The ldns team at NLnet Labs.
.SH REPORTING BUGS
-Please report bugs to ldns-team@nlnetlabs.nl or in
-our bugzilla at
-http://www.nlnetlabs.nl/bugs/index.html
+Please report bugs to dns-team@nlnetlabs.nl or on
+GitHub at https://github.com/NLnetLabs/ldns/issues
.SH COPYRIGHT
Copyright (c) 2004 - 2006 NLnet Labs.
diff --git a/drill/drill.1.in b/drill/drill.1.in
index f249424394b6..dcc7a71aa0fe 100644
--- a/drill/drill.1.in
+++ b/drill/drill.1.in
@@ -249,7 +249,7 @@ unbound-anchor(8)
Jelte Jansen and Miek Gieben. Both of NLnet Labs.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH BUGS
diff --git a/drill/drill.c b/drill/drill.c
index 611c81f3a8e3..44c1b7687aec 100644
--- a/drill/drill.c
+++ b/drill/drill.c
@@ -82,7 +82,7 @@ usage(FILE *stream, const char *progname)
fprintf(stream, "\t-z\t\tdon't randomize the nameservers before use\n");
fprintf(stream, "\n [*] = enables/implies DNSSEC\n");
fprintf(stream, " [**] = can be given more than once\n");
- fprintf(stream, "\n ldns-team@nlnetlabs.nl | http://www.nlnetlabs.nl/ldns/\n");
+ fprintf(stream, "\n dns-team@nlnetlabs.nl | http://www.nlnetlabs.nl/ldns/\n");
}
/**
diff --git a/drill/root.c b/drill/root.c
index a829935cd5ab..87050944754f 100644
--- a/drill/root.c
+++ b/drill/root.c
@@ -28,26 +28,38 @@ init_root(void)
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
- (void)ldns_rr_new_frm_str(&r, "B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201", 0, NULL, NULL);
+ (void)ldns_rr_new_frm_str(&r, "B.ROOT-SERVERS.NET. 3600000 A 170.247.170.2", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "B.ROOT-SERVERS.NET. 3600000 AAAA 2801:1b8:10::B", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
- (void)ldns_rr_new_frm_str(&r, "D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90", 0, NULL, NULL);
+ (void)ldns_rr_new_frm_str(&r, "C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::C", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "E.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:A8::E", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2F::F", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
- (void)ldns_rr_new_frm_str(&r, "H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53", 0, NULL, NULL);
+ (void)ldns_rr_new_frm_str(&r, "G.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:12::D0D", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
- (void)ldns_rr_new_frm_str(&r, "H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803F:235", 0, NULL, NULL);
+ (void)ldns_rr_new_frm_str(&r, "H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
+ (void)ldns_rr_new_frm_str(&r, "I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FE::53", 0, NULL, NULL);
+ ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30", 0, NULL, NULL);
@@ -58,7 +70,7 @@ init_root(void)
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
- (void)ldns_rr_new_frm_str(&r, "L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42 ", 0, NULL, NULL);
+ (void)ldns_rr_new_frm_str(&r, "L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:9F::42", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
(void)ldns_rr_new_frm_str(&r, "M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33", 0, NULL, NULL);
ldns_rr_list_push_rr(global_dns_root, r);
diff --git a/edns.c b/edns.c
index 3d002d67ed8c..18615ec29597 100644
--- a/edns.c
+++ b/edns.c
@@ -10,6 +10,7 @@
* See the file LICENSE for the license
*/
+#include <ldns/config.h>
#include <ldns/ldns.h>
#define LDNS_OPTIONLIST_INIT 8
@@ -41,6 +42,44 @@ ldns_edns_get_data(const ldns_edns_option *edns)
return edns->_data;
}
+ldns_status
+ldns_edns_ede_get_code(const ldns_edns_option *edns, uint16_t *ede_code)
+{
+ assert(edns != NULL);
+ assert(ede_code != NULL);
+
+ if (edns->_code != LDNS_EDNS_EDE) return LDNS_STATUS_NOT_EDE;
+
+ if (edns->_size < 2) return LDNS_STATUS_EDE_OPTION_MALFORMED;
+
+ *ede_code = (uint16_t) ntohs(*((uint16_t*) edns->_data));
+
+ return LDNS_STATUS_OK;
+}
+
+ldns_status
+ldns_edns_ede_get_text(const ldns_edns_option* edns, char **ede_text)
+{
+ assert(edns != NULL);
+ assert(ede_text != NULL);
+
+ if (edns->_code != LDNS_EDNS_EDE) return LDNS_STATUS_NOT_EDE;
+
+ if (edns->_size < 2) return LDNS_STATUS_EDE_OPTION_MALFORMED;
+
+ *ede_text = NULL;
+
+ if (edns->_size > 2)
+ {
+ *ede_text = (char*) malloc((edns->_size - 1) * sizeof(char));
+
+ memset(*ede_text, 0, edns->_size - 1);
+ memcpy(*ede_text, &((char*)edns->_data)[2], edns->_size - 2);
+ }
+
+ return LDNS_STATUS_OK;
+}
+
ldns_buffer *
ldns_edns_get_wireformat_buffer(const ldns_edns_option *edns)
{
@@ -73,21 +112,21 @@ ldns_edns_get_wireformat_buffer(const ldns_edns_option *edns)
}
/* write */
-void
+static void
ldns_edns_set_size(ldns_edns_option *edns, size_t size)
{
assert(edns != NULL);
edns->_size = size;
}
-void
+static void
ldns_edns_set_code(ldns_edns_option *edns, ldns_edns_option_code code)
{
assert(edns != NULL);
edns->_code = code;
}
-void
+static void
ldns_edns_set_data(ldns_edns_option *edns, void *data)
{
/* only copy the pointer */
@@ -167,7 +206,7 @@ ldns_edns_free(ldns_edns_option *edns)
}
ldns_edns_option_list*
-ldns_edns_option_list_new()
+ldns_edns_option_list_new(void)
{
ldns_edns_option_list *option_list = LDNS_MALLOC(ldns_edns_option_list);
if(!option_list) {
diff --git a/error.c b/error.c
index e3fd12112789..50cdc6300bdd 100644
--- a/error.c
+++ b/error.c
@@ -184,6 +184,11 @@ ldns_lookup_table ldns_error_str[] = {
{ LDNS_STATUS_INVALID_SVCPARAM_VALUE,
"Invalid wireformat of a value "
"in the ServiceParam rdata field of SVCB or HTTPS RR" },
+ { LDNS_STATUS_NOT_EDE,
+ "The EDNS option is not an extended error code" },
+ { LDNS_STATUS_EDE_OPTION_MALFORMED,
+ "The extended error code option is malformed, expected "
+ "at least 2 bytes of option data" },
{ 0, NULL }
};
diff --git a/examples/ldns-chaos.1 b/examples/ldns-chaos.1
index e9b7bf46dc95..6cb7a94c2e80 100644
--- a/examples/ldns-chaos.1
+++ b/examples/ldns-chaos.1
@@ -18,7 +18,7 @@ each address for its \fIversion.bind\fR and \fIhostname.bind\fR.
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-dane.1.in b/examples/ldns-dane.1.in
index a3d83a227fff..e87c27c2899c 100644
--- a/examples/ldns-dane.1.in
+++ b/examples/ldns-dane.1.in
@@ -170,7 +170,7 @@ unbound-anchor(8)
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to \fIldns-team@nlnetlabs.nl\fR.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2012 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-dpa.1 b/examples/ldns-dpa.1
index 6ff9eb323d4e..c3239f0c09d5 100644
--- a/examples/ldns-dpa.1
+++ b/examples/ldns-dpa.1
@@ -143,7 +143,7 @@ Print all query packets seen on the specified interface.
Written by Jelte Jansen for NLnetLabs.
.SH REPORTING BUGS
-Report bugs to <jelte@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-gen-zone.1 b/examples/ldns-gen-zone.1
index 0e5a0dc678d8..db6bca6342d3 100644
--- a/examples/ldns-gen-zone.1
+++ b/examples/ldns-gen-zone.1
@@ -77,7 +77,7 @@ Initially written by Marco Davids, several modifications added by Miek
Gieben, both from SIDN.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH BUGS
Only undiscovered ones.
diff --git a/examples/ldns-key2ds.1 b/examples/ldns-key2ds.1
index 5571777dbc7a..6225eef57ea2 100644
--- a/examples/ldns-key2ds.1
+++ b/examples/ldns-key2ds.1
@@ -44,7 +44,7 @@ Use SHA384 as the hash function
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-keyfetcher.1 b/examples/ldns-keyfetcher.1
index 6ddc14eacf88..13931fb66b29 100644
--- a/examples/ldns-keyfetcher.1
+++ b/examples/ldns-keyfetcher.1
@@ -56,7 +56,7 @@ The filenames will be of the format K<file>.+<alg>.+<keytag>.key
Written by Jelte Jansen for NLnet Labs.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2006 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-keygen.1 b/examples/ldns-keygen.1
index 4bb9fec2dd70..7e52a60bf2af 100644
--- a/examples/ldns-keygen.1
+++ b/examples/ldns-keygen.1
@@ -61,7 +61,7 @@ Show the version and exit
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005-2008 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-keygen.c b/examples/ldns-keygen.c
index 2f690b698223..351fc1b2f2e5 100644
--- a/examples/ldns-keygen.c
+++ b/examples/ldns-keygen.c
@@ -75,9 +75,13 @@ create_symlink(const char *symlink_destination, const char *symlink_name)
if (!symlink_name)
return result; /* no arg "-s" at all */
+#ifdef HAVE_SYMLINK
if ((result = symlink(symlink_destination, symlink_name)) == -1) {
fprintf(stderr, "Unable to create symlink %s -> %s: %s\n", symlink_name, symlink_destination, strerror(errno));
}
+#else
+ fprintf(stderr, "Unable to create symlink %s -> %s: no symlink()\n", symlink_name, symlink_destination);
+#endif
return result;
}
diff --git a/examples/ldns-mx.1 b/examples/ldns-mx.1
index cad97abcd82b..ec110cbabcb9 100644
--- a/examples/ldns-mx.1
+++ b/examples/ldns-mx.1
@@ -15,7 +15,7 @@ ldns-mx \- print out the mx record(s) for a domain
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-notify.1 b/examples/ldns-notify.1
index c7fbb6f70922..b77b0d4bbe23 100644
--- a/examples/ldns-notify.1
+++ b/examples/ldns-notify.1
@@ -62,7 +62,7 @@ acknowledgement to the notify message, and a failure exit code otherwise.
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-notify.c b/examples/ldns-notify.c
index bfd1238475ec..0c4f68dfcc90 100644
--- a/examples/ldns-notify.c
+++ b/examples/ldns-notify.c
@@ -39,7 +39,7 @@ usage(void)
fprintf(stderr, "\t-r num\t\tmax number of retries (%d)\n",
max_num_retry);
fprintf(stderr, "\t-h\t\tPrint this help information\n\n");
- fprintf(stderr, "Report bugs to <ldns-team@nlnetlabs.nl>\n");
+ fprintf(stderr, "Report bugs to <dns-team@nlnetlabs.nl>\n");
exit(1);
}
diff --git a/examples/ldns-nsec3-hash.1 b/examples/ldns-nsec3-hash.1
index 1b0f70ce395c..9fd5bd5f1283 100644
--- a/examples/ldns-nsec3-hash.1
+++ b/examples/ldns-nsec3-hash.1
@@ -26,7 +26,7 @@ Use count iterations for the hash calculation.
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2008 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-nsec3-hash.c b/examples/ldns-nsec3-hash.c
index f9325d3bd525..f04f1aabb92f 100644
--- a/examples/ldns-nsec3-hash.c
+++ b/examples/ldns-nsec3-hash.c
@@ -18,7 +18,6 @@
#ifdef HAVE_SSL
#include <openssl/conf.h>
-#include <openssl/engine.h>
#endif /* HAVE_SSL */
#define MAX_FILENAME_LEN 250
diff --git a/examples/ldns-read-zone.1 b/examples/ldns-read-zone.1
index 18c9f6dbf69d..11ecad71d981 100644
--- a/examples/ldns-read-zone.1
+++ b/examples/ldns-read-zone.1
@@ -105,7 +105,7 @@ Sort the zone before printing (this implies \-c)
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-resolver.1 b/examples/ldns-resolver.1
index 2392606881f5..de7c2593c846 100644
--- a/examples/ldns-resolver.1
+++ b/examples/ldns-resolver.1
@@ -18,7 +18,7 @@ be parsed successfully.
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-revoke.1 b/examples/ldns-revoke.1
index 5a16244dac42..3a8ee4b1dbdd 100644
--- a/examples/ldns-revoke.1
+++ b/examples/ldns-revoke.1
@@ -19,7 +19,7 @@ Write the result to stdout instead of a file
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2008 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-rrsig.1 b/examples/ldns-rrsig.1
index d64b9f3ba4d9..8262e3d44dcb 100644
--- a/examples/ldns-rrsig.1
+++ b/examples/ldns-rrsig.1
@@ -22,7 +22,7 @@ If the second argument \fBtype\fR is given the RRSIG covering that type will be
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-signzone.1 b/examples/ldns-signzone.1
index 68f9f77376a2..b1cdeebf9172 100644
--- a/examples/ldns-signzone.1
+++ b/examples/ldns-signzone.1
@@ -186,7 +186,7 @@ Written by the ldns team as an example for ldns usage.
Portions of engine support by Vadim Penzin <vadim@penzin.net>.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005-2008 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-signzone.c b/examples/ldns-signzone.c
index 9425833e53b6..509a023d1e24 100644
--- a/examples/ldns-signzone.c
+++ b/examples/ldns-signzone.c
@@ -22,8 +22,12 @@
#include <ldns/keys.h>
#include <openssl/conf.h>
-#ifndef OPENSSL_NO_ENGINE
+#if defined(HAVE_OPENSSL_ENGINE_H) && !defined(OPENSSL_NO_ENGINE)
#include <openssl/engine.h>
+#else
+# ifndef OPENSSL_NO_ENGINE
+# define OPENSSL_NO_ENGINE
+# endif
#endif
#include <openssl/err.h>
diff --git a/examples/ldns-test-edns.1 b/examples/ldns-test-edns.1
index 2659ccc47acd..5f703d7c947f 100644
--- a/examples/ldns-test-edns.1
+++ b/examples/ldns-test-edns.1
@@ -34,7 +34,7 @@ IP address: 0 is OK, 1 is failure, 2 is some sort of network failure.
.SH AUTHOR
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2010 NLnet Labs. This is free software. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
diff --git a/examples/ldns-testns.1 b/examples/ldns-testns.1
index e21bcf08a902..4164690bfffb 100644
--- a/examples/ldns-testns.1
+++ b/examples/ldns-testns.1
@@ -109,6 +109,10 @@ SECTION AUTHORITY
SECTION ADDITIONAL
<RRs, one per line>
+HEX_EDNSDATA_BEGIN
+<Hex data of an EDNS option>
+HEX_EDNSDATA_END
+
EXTRA_PACKET ; follow with SECTION, REPLY for more packets.
HEX_ANSWER_BEGIN ; follow with hex data
; this replaces any answer packet constructed
@@ -124,7 +128,7 @@ ENTRY_END
.SH AUTHOR
Written by the ldns team as an example for ldns usage, and for testing purposes.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2006-2008 NLnet Labs. This is free software. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
diff --git a/examples/ldns-testns.c b/examples/ldns-testns.c
index f1b9c7228d24..689bbd1c9342 100644
--- a/examples/ldns-testns.c
+++ b/examples/ldns-testns.c
@@ -63,6 +63,9 @@
<RRs, one per line>
SECTION ADDITIONAL
<RRs, one per line>
+ HEX_EDNSDATA_BEGIN
+ <Hex data of an EDNS option>
+ HEX_EDNSDATA_END
EXTRA_PACKET ; follow with SECTION, REPLY for more packets.
HEX_ANSWER_BEGIN ; follow with hex data
; this replaces any answer packet constructed
@@ -88,6 +91,12 @@ SECTION ANSWER
www.nlnetlabs.nl. IN A 195.169.215.155
SECTION AUTHORITY
nlnetlabs.nl. IN NS www.nlnetlabs.nl.
+HEX_EDNSDATA_BEGIN
+00 03 ; NSID
+00 04 ; LENGTH
+4E 53 ; NS
+49 44 ; ID
+HEX_EDNSDATA_END
ENTRY_END
ENTRY_BEGIN
diff --git a/examples/ldns-testpkts.c b/examples/ldns-testpkts.c
index 05a54c583888..033b96013784 100644
--- a/examples/ldns-testpkts.c
+++ b/examples/ldns-testpkts.c
@@ -85,6 +85,7 @@ entry_add_reply(struct entry* entry)
pkt->packet_sleep = 0;
pkt->reply = ldns_pkt_new();
pkt->reply_from_hex = NULL;
+ pkt->raw_ednsdata = NULL;
/* link at end */
while(*p)
p = &((*p)->next);
@@ -129,6 +130,13 @@ static void matchline(char* line, struct entry* e)
e->ixfr_soa_serial = (uint32_t)strtol(parse, (char**)&parse, 10);
while(isspace((int)*parse))
parse++;
+ } else if(str_keyword(&parse, "udp_size")) {
+ if(*parse != '=' && *parse != ':')
+ error("expected = or : in MATCH: %s", line);
+ parse++;
+ e->match_udp_size = (uint32_t)strtol(parse, (char**)&parse, 10);
+ while(isspace((int)*parse))
+ parse++;
} else {
error("could not parse MATCH: '%s'", parse);
}
@@ -242,6 +250,7 @@ static struct entry* new_entry(void)
e->match_serial = false;
e->ixfr_soa_serial = 0;
e->match_transport = transport_any;
+ e->match_udp_size = 0;
e->reply_list = NULL;
e->copy_id = false;
e->copy_query = false;
@@ -324,11 +333,11 @@ data_buffer2wire(ldns_buffer *data_buffer)
size_t wirelen;
uint8_t *data_wire = (uint8_t *) ldns_buffer_begin(data_buffer);
uint8_t *wire = LDNS_XMALLOC(uint8_t, LDNS_MAX_PACKETLEN);
-
+
hexbuf = LDNS_XMALLOC(uint8_t, LDNS_MAX_PACKETLEN);
for (data_buf_pos = 0; data_buf_pos < ldns_buffer_position(data_buffer); data_buf_pos++) {
c = (int) data_wire[data_buf_pos];
-
+
if (state < 2 && !isascii(c)) {
/*verbose("non ascii character found in file: (%d) switching to raw mode\n", c);*/
state = 2;
@@ -502,14 +511,28 @@ read_entry(FILE* in, const char* name, int *lineno, uint32_t* default_ttl,
ldns_buffer_printf(hex_data_buffer, line);
} else if(str_keyword(&parse, "HEX_EDNSDATA_BEGIN")) {
hex_ednsdata_buffer = ldns_buffer_new(LDNS_MAX_PACKETLEN);
+
reading_hex_ednsdata = true;
} else if(str_keyword(&parse, "HEX_EDNSDATA_END")) {
+ ldns_buffer* edns = NULL;
if (!reading_hex_ednsdata) {
error("%s line %d: HEX_EDNSDATA_END read but no"
"HEX_EDNSDATA_BEGIN keyword seen", name, *lineno);
}
reading_hex_ednsdata = false;
+
+ edns = data_buffer2wire(hex_ednsdata_buffer);
+
+ /* add read-in EDNS directly to the reply */
+ ldns_pkt_set_edns_data(cur_reply->reply,
+ ldns_rdf_new_frm_data(LDNS_RDF_TYPE_UNKNOWN,
+ ldns_buffer_limit(edns),
+ ldns_buffer_begin(edns)));
+
+ /* store raw EDNS for matching */
cur_reply->raw_ednsdata = data_buffer2wire(hex_ednsdata_buffer);
+
+ ldns_buffer_free(edns);
ldns_buffer_free(hex_ednsdata_buffer);
hex_ednsdata_buffer = NULL;
} else if(reading_hex_ednsdata) {
@@ -741,9 +764,13 @@ find_match(struct entry* entries, ldns_pkt* query_pkt,
continue;
}
if(p->match_qname) {
- if(!get_owner(query_pkt) || !get_owner(reply) ||
- ldns_dname_compare(
- get_owner(query_pkt), get_owner(reply)) != 0) {
+ if (!get_owner(query_pkt) || !get_owner(reply)
+ || ( !p->copy_query
+ && ldns_dname_compare( get_owner(query_pkt)
+ , get_owner(reply)))
+ || ( p->copy_query
+ && !ldns_dname_match_wildcard( get_owner(query_pkt)
+ , get_owner(reply)))) {
verbose(3, "bad qname\n");
continue;
}
@@ -780,6 +807,12 @@ find_match(struct entry* entries, ldns_pkt* query_pkt,
verbose(3, "bad transport\n");
continue;
}
+ if(p->match_udp_size > 0 && transport == transport_udp && (
+ !ldns_pkt_edns(query_pkt) ||
+ ldns_pkt_edns_udp_size(query_pkt) < p->match_udp_size)) {
+ verbose(3, "bad udp_size\n");
+ continue;
+ }
if(p->match_all && !match_all(query_pkt, reply, p->match_ttl)) {
verbose(3, "bad allmatch\n");
continue;
diff --git a/examples/ldns-testpkts.h b/examples/ldns-testpkts.h
index 26a71dad8dd1..0a20d016ae48 100644
--- a/examples/ldns-testpkts.h
+++ b/examples/ldns-testpkts.h
@@ -49,6 +49,9 @@
; 'DO' will match only queries with DO bit set.
; 'noedns' matches queries without EDNS OPT records.
; 'ednsdata' matches queries to HEX_EDNS section.
+ ; 'udp_size=1232' makes the query match if:
+ ; udp_size in query edns0 field >= 1232,
+ ; or the query came over TCP.
MATCH [opcode] [qtype] [qname] [serial=<value>] [all] [ttl]
MATCH [UDP|TCP] DO
MATCH ...
@@ -185,6 +188,8 @@ struct entry {
uint32_t ixfr_soa_serial;
/** match on UDP/TCP */
enum transport_type match_transport;
+ /** match on edns udp size (larger or equal) */
+ uint16_t match_udp_size;
/** pre canned reply */
struct reply_packet *reply_list;
diff --git a/examples/ldns-update.1 b/examples/ldns-update.1
index f36b2683401a..4b1a8b332cd1 100644
--- a/examples/ldns-update.1
+++ b/examples/ldns-update.1
@@ -44,7 +44,7 @@ ldns-update my.example.org 1.2.3.4
Written by Jakob Schlyter and HÃ¥kan Olsson, as an addition to the ldns library from NLnet Labs.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-verify-zone.1.in b/examples/ldns-verify-zone.1.in
index c37cb7912a11..6bea57f0c153 100644
--- a/examples/ldns-verify-zone.1.in
+++ b/examples/ldns-verify-zone.1.in
@@ -107,7 +107,7 @@ unbound-anchor(8)
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2008 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-version.1 b/examples/ldns-version.1
index bf409a305a7f..102e5d356152 100644
--- a/examples/ldns-version.1
+++ b/examples/ldns-version.1
@@ -14,7 +14,7 @@ ldns-version \- print out the version of the ldns-library and tools on this syst
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-walk.1 b/examples/ldns-walk.1
index d4d1b6e79c17..0523b0dabbde 100644
--- a/examples/ldns-walk.1
+++ b/examples/ldns-walk.1
@@ -53,7 +53,7 @@ The full zone walk function is not complete yet, it does not correctly print del
Written by Jelte Jansen as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-walk.c b/examples/ldns-walk.c
index 3710098adb76..f320b99d6000 100644
--- a/examples/ldns-walk.c
+++ b/examples/ldns-walk.c
@@ -38,24 +38,22 @@ create_dname_plus_1(ldns_rdf *dname)
size_t i;
ldns_dname2canonical(dname);
- labellen = ldns_rdf_data(dname)[0];
if (verbosity >= 3) {
printf("Create +e for ");
ldns_rdf_print(stdout, dname);
printf("\n");
}
- if (labellen < 63) {
- wire = malloc(ldns_rdf_size(dname) + 1);
+ if (ldns_rdf_size(dname) < LDNS_MAX_DOMAINLEN) {
+ wire = malloc(ldns_rdf_size(dname) + 2);
if (!wire) {
fprintf(stderr, "Malloc error: out of memory?\n");
exit(127);
}
- wire[0] = labellen + 1;
- memcpy(&wire[1], ldns_rdf_data(dname) + 1, labellen);
- memcpy(&wire[labellen+1], ldns_rdf_data(dname) + labellen, ldns_rdf_size(dname) - labellen);
- wire[labellen+1] = (uint8_t) '\000';
+ wire[0] = (uint8_t) 1;
+ wire[1] = (uint8_t) '\000';
+ memcpy(&wire[2], ldns_rdf_data(dname), ldns_rdf_size(dname));
pos = 0;
- status = ldns_wire2dname(&newdname, wire, ldns_rdf_size(dname) + 1, &pos);
+ status = ldns_wire2dname(&newdname, wire, ldns_rdf_size(dname) + 2, &pos);
free(wire);
} else {
wire = malloc(ldns_rdf_size(dname));
@@ -63,6 +61,7 @@ create_dname_plus_1(ldns_rdf *dname)
fprintf(stderr, "Malloc error: out of memory?\n");
exit(127);
}
+ labellen = ldns_rdf_data(dname)[0];
wire[0] = labellen;
memcpy(&wire[1], ldns_rdf_data(dname) + 1, labellen);
memcpy(&wire[labellen], ldns_rdf_data(dname) + labellen, ldns_rdf_size(dname) - labellen);
diff --git a/examples/ldns-zcat.1 b/examples/ldns-zcat.1
index 4fd7ba6d7dbb..0c33c466a3fd 100644
--- a/examples/ldns-zcat.1
+++ b/examples/ldns-zcat.1
@@ -26,7 +26,7 @@ show the version number and exit
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005, 2006 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldns-zsplit.1 b/examples/ldns-zsplit.1
index 02dce404cfb8..be110b5b1c47 100644
--- a/examples/ldns-zsplit.1
+++ b/examples/ldns-zsplit.1
@@ -35,7 +35,7 @@ Show version number and exit.
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005, 2006 NLnet Labs. This is free software. There is NO
diff --git a/examples/ldnsd.1 b/examples/ldnsd.1
index 5b18058aba1b..2036b67dc2ea 100644
--- a/examples/ldnsd.1
+++ b/examples/ldnsd.1
@@ -18,7 +18,7 @@ This is NOT a full-fledged authoritative nameserver!
Written by the ldns team as an example for ldns usage.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2005 NLnet Labs. This is free software. There is NO
diff --git a/host2str.c b/host2str.c
index 7282db9ee2ef..deeeaf634e63 100644
--- a/host2str.c
+++ b/host2str.c
@@ -835,10 +835,6 @@ ldns_rdf2buffer_str_wks(ldns_buffer *output, const ldns_rdf *rdf)
ldns_buffer_printf(output, "%u ", protocol_nr);
}
-#ifdef HAVE_ENDPROTOENT
- endprotoent();
-#endif
-
for (current_service = 0;
current_service < (ldns_rdf_size(rdf)-1)*8; current_service++) {
if (ldns_get_bit(&(ldns_rdf_data(rdf)[1]), current_service)) {
@@ -856,6 +852,11 @@ ldns_rdf2buffer_str_wks(ldns_buffer *output, const ldns_rdf *rdf)
/* exit from loop before integer overflow */
if(current_service == 65535) { break; }
}
+
+#ifdef HAVE_ENDPROTOENT
+ endprotoent();
+#endif
+
return ldns_buffer_status(output);
}
@@ -2274,11 +2275,16 @@ ldns_edns_subnet2buffer_str(ldns_buffer* output, uint8_t* data, size_t len)
{
uint16_t family;
uint8_t source, scope;
+
+ ldns_buffer_printf(output, "; CLIENT SUBNET: ");
+
if(len < 4) {
ldns_buffer_printf(output, "malformed subnet ");
ldns_edns_hex_data2buffer_str(output, data, len);
return ldns_buffer_status(output);
}
+
+
family = ldns_read_uint16(data);
source = data[2];
scope = data[3];
@@ -2402,11 +2408,11 @@ ldns_edns_padding2buffer_str(ldns_buffer* output, uint8_t* data, size_t len)
static ldns_status
ldns_edns_chain2buffer_str(ldns_buffer* output, uint8_t* data, size_t len)
{
- ldns_rdf** temp = NULL;
+ ldns_rdf* temp = NULL;
ldns_buffer_printf(output, "; CHAIN: ");
- if (ldns_str2rdf_dname(temp, (char*) data) != LDNS_STATUS_OK) {
+ if (ldns_str2rdf_dname(&temp, (char*) data) != LDNS_STATUS_OK) {
ldns_buffer_printf(output, "malformed chain ");
ldns_edns_hex_data2buffer_str(output, data, len);
@@ -2746,6 +2752,7 @@ ldns_pkt2buffer_str_fmt(ldns_buffer *output,
ldns_buffer_printf(output, "\n");
ldns_buffer_printf(output, ";; ADDITIONAL SECTION:\n");
+
for (i = 0; i < ldns_pkt_arcount(pkt); i++) {
status = ldns_rr2buffer_str_fmt(output, fmt,
ldns_rr_list_rr(
@@ -2788,6 +2795,7 @@ ldns_pkt2buffer_str_fmt(ldns_buffer *output,
} else {
ldns_buffer_printf(output, ";; Data: ");
(void)ldns_rdf2buffer_str(output, ldns_pkt_edns_data(pkt));
+ ldns_buffer_printf(output, "\n");
}
}
}
diff --git a/keys.c b/keys.c
index 78bea9721c4c..8125de3f6b9f 100644
--- a/keys.c
+++ b/keys.c
@@ -23,8 +23,12 @@
#ifdef USE_DSA
#include <openssl/dsa.h>
#endif
-#ifndef OPENSSL_NO_ENGINE
+#if defined(HAVE_OPENSSL_ENGINE_H) && !defined(OPENSSL_NO_ENGINE)
#include <openssl/engine.h>
+#else
+# ifndef OPENSSL_NO_ENGINE
+# define OPENSSL_NO_ENGINE
+# endif
#endif
#endif /* HAVE_SSL */
@@ -116,23 +120,19 @@ ldns_key_new_frm_engine(ldns_key **key, ENGINE *e, char *key_id, ldns_algorithm
k = ldns_key_new();
if(!k) return LDNS_STATUS_MEM_ERR;
#ifndef S_SPLINT_S
- k->_key.key = ENGINE_load_private_key(e, key_id, UI_OpenSSL(), NULL);
- if(!k->_key.key) {
- ldns_key_free(k);
- return LDNS_STATUS_ERR;
- }
ldns_key_set_algorithm(k, (ldns_signing_algorithm) alg);
+ k->_key.key = ENGINE_load_private_key(e, key_id, UI_OpenSSL(), NULL);
if (!k->_key.key) {
ldns_key_free(k);
return LDNS_STATUS_ENGINE_KEY_NOT_LOADED;
- }
+ }
#endif /* splint */
*key = k;
return LDNS_STATUS_OK;
}
#endif
-#ifdef USE_GOST
+#if defined(USE_GOST) && !defined(OPENSSL_NO_ENGINE)
/** store GOST engine reference loaded into OpenSSL library */
ENGINE* ldns_gost_engine = NULL;
diff --git a/ldns/config.h.in b/ldns/config.h.in
index a459fe53e501..5449bee63381 100644
--- a/ldns/config.h.in
+++ b/ldns/config.h.in
@@ -6,6 +6,9 @@
/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H
+/* Define to 1 if you have the `asctime_r' function. */
+#undef HAVE_ASCTIME_R
+
/* Whether the C compiler accepts the "format" attribute */
#undef HAVE_ATTR_FORMAT
@@ -52,6 +55,14 @@
you don't. */
#undef HAVE_DECL_EVP_PKEY_BASE_ID
+/* Define to 1 if you have the declaration of `inet_ntop', and to 0 if you
+ don't. */
+#undef HAVE_DECL_INET_NTOP
+
+/* Define to 1 if you have the declaration of `inet_pton', and to 0 if you
+ don't. */
+#undef HAVE_DECL_INET_PTON
+
/* Define to 1 if you have the declaration of `NID_ED25519', and to 0 if you
don't. */
#undef HAVE_DECL_NID_ED25519
@@ -296,6 +307,9 @@
/* Define if you have SWIG libraries and header files. */
#undef HAVE_SWIG
+/* Define to 1 if you have the `symlink' function. */
+#undef HAVE_SYMLINK
+
/* Define to 1 if you have the <sys/mount.h> header file. */
#undef HAVE_SYS_MOUNT_H
@@ -389,6 +403,9 @@
/* Define this to enable RR type OPENPGPKEY. */
#undef RRTYPE_OPENPGPKEY
+/* Define this to enable RR type RESINFO. */
+#undef RRTYPE_RESINFO
+
/* Define this to enable RR type RKEY. */
#undef RRTYPE_RKEY
@@ -664,7 +681,7 @@
#ifdef HAVE_WINSOCK2_H
#define FD_SET_T (u_int)
#else
-#define FD_SET_T
+#define FD_SET_T
#endif
@@ -717,6 +734,9 @@ time_t timegm (struct tm *tm);
#ifndef HAVE_GMTIME_R
struct tm *gmtime_r(const time_t *timep, struct tm *result);
#endif
+#ifndef HAVE_ASCTIME_R
+char *asctime_r(const struct tm *tm, char *buf);
+#endif
#ifndef HAVE_LOCALTIME_R
struct tm *localtime_r(const time_t *timep, struct tm *result);
#endif
@@ -731,10 +751,10 @@ int isascii(int c);
int snprintf (char *str, size_t count, const char *fmt, ...);
int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
#endif /* HAVE_SNPRINTF */
-#ifndef HAVE_INET_PTON
+#if !defined(HAVE_INET_PTON) && !HAVE_DECL_INET_PTON
int inet_pton(int af, const char* src, void* dst);
#endif /* HAVE_INET_PTON */
-#ifndef HAVE_INET_NTOP
+#if !defined(HAVE_INET_NTOP) && !HAVE_DECL_INET_NTOP
const char *inet_ntop(int af, const void *src, char *dst, size_t size);
#endif
#ifndef HAVE_INET_ATON
@@ -748,7 +768,7 @@ size_t strlcpy(char *dst, const char *src, size_t siz);
#endif
#ifdef USE_WINSOCK
-#define SOCK_INVALID INVALID_SOCKET
+#define SOCK_INVALID ((INT_PTR)INVALID_SOCKET)
#define close_socket(_s) do { if (_s != SOCK_INVALID) {closesocket(_s); _s = -1;} } while(0)
#else
#define SOCK_INVALID -1
diff --git a/ldns/edns.h b/ldns/edns.h
index 594fda22f788..a33ed0557679 100644
--- a/ldns/edns.h
+++ b/ldns/edns.h
@@ -140,6 +140,21 @@ ldns_edns_option_code ldns_edns_get_code(const ldns_edns_option *edns);
*/
uint8_t *ldns_edns_get_data(const ldns_edns_option *edns);
+/**
+ * extract the RFC 8914 extended error code value.
+ * \param[in] *edns the EDNS option to extract the extended error code from
+ * \param[inout] *ede_code pointer to an uint16_t in which to store the extended error code
+ * \return LDNS_STATUS_OK or an ldns_status message with the error (LDNS_STATUS_NOT_EDE or LDNS_STATUS_EDE_OPTION_MALFORMED)
+ */
+ldns_status ldns_edns_ede_get_code(const ldns_edns_option *edns, uint16_t *ede_code);
+
+/**
+ * extract the optional RFC 8914 extended error code text.
+ * \param[in] *edns the EDNS option to extract the extended error code from
+ * \param[inout] **ede_text pointer to a char* in which to store the extended error text; allocated buffer must be freed by the caller, assigns NULL if no text was provided in the EDNS option
+ * \return LDNS_STATUS_OK or an ldns_status message with the error (LDNS_STATUS_NOT_EDE or LDNS_STATUS_EDE_OPTION_MALFORMED)
+ */
+ldns_status ldns_edns_ede_get_text(const ldns_edns_option* edns, char **ede_text);
/**
* serialise the EDNS option into wireformat.
diff --git a/ldns/error.h b/ldns/error.h
index 2429b7703dfa..011df284725a 100644
--- a/ldns/error.h
+++ b/ldns/error.h
@@ -141,7 +141,9 @@ enum ldns_enum_status {
LDNS_STATUS_RESERVED_SVCPARAM_KEY,
LDNS_STATUS_NO_SVCPARAM_VALUE_EXPECTED,
LDNS_STATUS_SVCPARAM_KEY_MORE_THAN_ONCE,
- LDNS_STATUS_INVALID_SVCPARAM_VALUE
+ LDNS_STATUS_INVALID_SVCPARAM_VALUE,
+ LDNS_STATUS_NOT_EDE,
+ LDNS_STATUS_EDE_OPTION_MALFORMED
};
typedef enum ldns_enum_status ldns_status;
diff --git a/ldns/net.h.in b/ldns/net.h.in
index 8503f1c93391..813c18c9b141 100644
--- a/ldns/net.h.in
+++ b/ldns/net.h.in
@@ -91,13 +91,12 @@ int ldns_tcp_bgsend(ldns_buffer *qbin, const struct sockaddr_storage *to, sockle
/**
* Sends a buffer to an ip using tcp and return the response as a ldns_pkt
- * \param[in] qbin the ldns_buffer to be send
+ * \param[out] result packet with the answer
* \param[in] qbin the ldns_buffer to be send
* \param[in] to the ip addr to send to
* \param[in] tolen length of the ip addr
* \param[in] timeout the timeout value for the network
* \param[out] answersize size of the packet
- * \param[out] result packet with the answer
* \return status
*/
ldns_status ldns_tcp_send(uint8_t **result, ldns_buffer *qbin, const struct sockaddr_storage *to, socklen_t tolen, struct timeval timeout, size_t *answersize);
diff --git a/ldns/parse.h b/ldns/parse.h
index 6130dae32bd2..97d0d8ec6f4f 100644
--- a/ldns/parse.h
+++ b/ldns/parse.h
@@ -59,7 +59,8 @@ ssize_t ldns_fget_token(FILE *f, char *token, const char *delim, size_t limit);
/**
* returns a token/char from the stream F.
* This function deals with ( and ) in the stream,
- * and ignores when it finds them.
+ * and ignores when it finds them. This function also handles and ignores
+ * zonefile format comments starting with ;
* \param[in] *f the file to read from
* \param[out] *token the token is put here
* \param[in] *delim chars at which the parsing should stop
@@ -70,6 +71,21 @@ ssize_t ldns_fget_token(FILE *f, char *token, const char *delim, size_t limit);
ssize_t ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit, int *line_nr);
/**
+ * returns a token/char from the stream F.
+ * This function deals with ( and ) in the stream,
+ * and ignores when it finds them. This function also handles and ignores
+ * comments such as they can be used in resolv.conf files. Starting with
+ * either ; or #.
+ * \param[in] *f the file to read from
+ * \param[out] *token the token is put here
+ * \param[in] *delim chars at which the parsing should stop
+ * \param[in] *limit how much to read. If 0 use builtin maximum
+ * \param[in] line_nr pointer to an integer containing the current line number (for debugging purposes)
+ * \return 0 on error of EOF of F otherwise return the length of what is read
+ */
+ssize_t ldns_fget_token_l_resolv_conf(FILE *f, char *token, const char *delim, size_t limit, int *line_nr);
+
+/**
* returns a token/char from the stream f.
* This function deals with ( and ) in the stream,
* and ignores when it finds them.
@@ -95,8 +111,6 @@ ssize_t ldns_fget_token_l(FILE *f, char *token, const char *delim, size_t limit,
*/
ldns_status ldns_fget_token_l_st(FILE *f, char **token, size_t *limit, bool fixed, const char *delim, int *line_nr);
-ssize_t ldns_fget_token_l_resolv_conf(FILE *f, char *token, const char *delim, size_t limit, int *line_nr);
-
/**
* returns a token/char from the buffer b.
* This function deals with ( and ) in the buffer,
@@ -117,7 +131,7 @@ ssize_t ldns_bget_token(ldns_buffer *b, char *token, const char *delim, size_t l
* \param[in] k_del keyword delimiter
* \param[out] data the data found
* \param[in] d_del the data delimiter
- * \param[in] data_limit maximum size the the data buffer
+ * \param[in] data_limit maximum size the data buffer
* \return the number of character read
*/
ssize_t ldns_fget_keyword_data(FILE *f, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit);
@@ -130,7 +144,7 @@ ssize_t ldns_fget_keyword_data(FILE *f, const char *keyword, const char *k_del,
* \param[in] k_del keyword delimiter
* \param[out] data the data found
* \param[in] d_del the data delimiter
- * \param[in] data_limit maximum size the the data buffer
+ * \param[in] data_limit maximum size the data buffer
* \param[in] line_nr pointer to an integer containing the current line number (for
debugging purposes)
* \return the number of character read
@@ -145,7 +159,7 @@ ssize_t ldns_fget_keyword_data_l(FILE *f, const char *keyword, const char *k_del
* \param[in] k_del keyword delimiter
* \param[out] data the data found
* \param[in] d_del the data delimiter
- * \param[in] data_limit maximum size the the data buffer
+ * \param[in] data_limit maximum size the data buffer
* \return the number of character read
*/
ssize_t ldns_bget_keyword_data(ldns_buffer *b, const char *keyword, const char *k_del, char *data, const char *d_del, size_t data_limit);
diff --git a/ldns/radix.h b/ldns/radix.h
index 4cb42b48ba9d..f7a253dd2eba 100644
--- a/ldns/radix.h
+++ b/ldns/radix.h
@@ -74,7 +74,7 @@ struct ldns_radix_node_t {
void* data;
/** Parent node. */
ldns_radix_node_t* parent;
- /** Index in the the parent node select edge array. */
+ /** Index in the parent node select edge array. */
uint8_t parent_index;
/** Length of the array. */
uint16_t len;
diff --git a/ldns/rdata.h b/ldns/rdata.h
index c8a0396cfd15..1e2fd397a38a 100644
--- a/ldns/rdata.h
+++ b/ldns/rdata.h
@@ -243,7 +243,7 @@ size_t ldns_rdf_size(const ldns_rdf *rd);
/**
* returns the type of the rdf. We need to insert _get_
- * here to prevent conflict the the rdf_type TYPE.
+ * here to prevent conflict the rdf_type TYPE.
* \param[in] *rd the rdf to read from
* \return ldns_rdf_type with the type
*/
diff --git a/ldns/rr.h b/ldns/rr.h
index 44d54121f4d5..314f159707b3 100644
--- a/ldns/rr.h
+++ b/ldns/rr.h
@@ -191,9 +191,9 @@ enum ldns_enum_rr_type
LDNS_RR_TYPE_CDNSKEY = 60, /* RFC 7344 */
LDNS_RR_TYPE_OPENPGPKEY = 61, /* RFC 7929 */
LDNS_RR_TYPE_CSYNC = 62, /* RFC 7477 */
- LDNS_RR_TYPE_ZONEMD = 63, /* draft-ietf-dnsop-dns-zone-digest */
- LDNS_RR_TYPE_SVCB = 64, /* draft-ietf-dnsop-svcb-https */
- LDNS_RR_TYPE_HTTPS = 65, /* draft-ietf-dnsop-svcb-https */
+ LDNS_RR_TYPE_ZONEMD = 63, /* RFC 8976 */
+ LDNS_RR_TYPE_SVCB = 64, /* RFC 9460 */
+ LDNS_RR_TYPE_HTTPS = 65, /* RFC 9460 */
LDNS_RR_TYPE_SPF = 99, /* RFC 4408 */
@@ -210,6 +210,8 @@ enum ldns_enum_rr_type
LDNS_RR_TYPE_EUI48 = 108, /* RFC 7043 */
LDNS_RR_TYPE_EUI64 = 109, /* RFC 7043 */
+ LDNS_RR_TYPE_NXNAME = 128, /* draft-ietf-dnsop-compact-denial-of-existence */
+
LDNS_RR_TYPE_TKEY = 249, /* RFC 2930 */
LDNS_RR_TYPE_TSIG = 250,
LDNS_RR_TYPE_IXFR = 251,
@@ -225,9 +227,15 @@ enum ldns_enum_rr_type
LDNS_RR_TYPE_AVC = 258, /* Cisco's DNS-AS RR, see www.dns-as.org */
LDNS_RR_TYPE_DOA = 259, /* draft-durand-doa-over-dns */
- /** draft-ietf-mboned-driad-amt-discovery **/
+ /** RFC 8777 **/
LDNS_RR_TYPE_AMTRELAY = 260,
+ /** RFC 9606 */
+ LDNS_RR_TYPE_RESINFO = 261,
+
+ /** https://iana.org/assignments/dns-parameters/WALLET/wallet-completed-template */
+ LDNS_RR_TYPE_WALLET = 262,
+
/** DNSSEC Trust Authorities */
LDNS_RR_TYPE_TA = 32768,
/* RFC 4431, 5074, DNSSEC Lookaside Validation */
@@ -243,7 +251,7 @@ enum ldns_enum_rr_type
typedef enum ldns_enum_rr_type ldns_rr_type;
/* The first fields are contiguous and can be referenced instantly */
-#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON (LDNS_RR_TYPE_AMTRELAY + 1)
+#define LDNS_RDATA_FIELD_DESCRIPTORS_COMMON (LDNS_RR_TYPE_WALLET + 1)
/**
* Resource Record
diff --git a/libdns.doxygen.in b/libdns.doxygen.in
index c83cdf4c2191..b800c796e5b7 100644
--- a/libdns.doxygen.in
+++ b/libdns.doxygen.in
@@ -51,7 +51,7 @@ PROJECT_BRIEF =
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
-PROJECT_LOGO = doc/images/LogoInGradientBar2-y100.png
+PROJECT_LOGO = @srcdir@/doc/images/LogoInGradientBar2-y100.png
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
@@ -854,12 +854,12 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = . \
- ldns/ \
- doc/ \
- examples/ldns-mx.c \
- examples/ldns-read-zone.c \
- examples/ldns-signzone.c
+INPUT = ldns/ \
+ @srcdir@/doc/ \
+ @srcdir@/examples/ldns-mx.c \
+ @srcdir@/examples/ldns-read-zone.c \
+ @srcdir@/examples/ldns-signzone.c \
+ @srcdir@
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
@@ -936,7 +936,7 @@ EXCLUDE_SYMBOLS =
# that contain example code fragments that are included (see the \include
# command).
-EXAMPLE_PATH = examples
+EXAMPLE_PATH = @srcdir@/examples
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
@@ -956,7 +956,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH = doc/images
+IMAGE_PATH = @srcdir@/doc/images
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -1798,7 +1798,7 @@ COMPACT_LATEX = NO
# The default value is: a4.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-PAPER_TYPE = a4wide
+PAPER_TYPE = a4
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
# that should be included in the LaTeX output. The package can be specified just
diff --git a/ltmain.sh b/ltmain.sh
index 540a92ab5476..977e5237bb01 100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,12 +1,12 @@
-#! /bin/sh
+#! /usr/bin/env sh
## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-## by inline-source v2014-01-03.01
+## by inline-source v2019-02-19.15
-# libtool (GNU libtool) 2.4.6
+# libtool (GNU libtool) 2.4.7
# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2019, 2021-2022 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -31,8 +31,8 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-15build2"
-package_revision=2.4.6
+VERSION="2.4.7 Debian-2.4.7-7build1"
+package_revision=2.4.7
## ------ ##
@@ -64,34 +64,25 @@ package_revision=2.4.6
# libraries, which are installed to $pkgauxdir.
# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2019-02-19.15; # UTC
# General shell script boiler plate, and helper functions.
# Written by Gary V. Vaughan, 2004
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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.
-
-# As a special exception to the GNU General Public License, if you distribute
-# this file as part of a program or library that is built using GNU Libtool,
-# you may include this file under the same distribution terms that you use
-# for the rest of that program.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES 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/>.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2004-2019, 2021 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 2 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# Please report bugs or propose patches to gary@gnu.org.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
## ------ ##
@@ -139,9 +130,12 @@ do
_G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# These NLS vars are set unconditionally (bootstrap issue #24). Unset those
+# in case the environment reset is needed later and the $save_* variant is not
+# defined (see the code above).
+LC_ALL=C
+LANGUAGE=C
+export LANGUAGE LC_ALL
# Make sure IFS has a sensible default
sp=' '
@@ -159,6 +153,26 @@ if test "${PATH_SEPARATOR+set}" != set; then
fi
+# func_unset VAR
+# --------------
+# Portably unset VAR.
+# In some shells, an 'unset VAR' statement leaves a non-zero return
+# status if VAR is already unset, which might be problematic if the
+# statement is used at the end of a function (thus poisoning its return
+# value) or when 'set -e' is active (causing even a spurious abort of
+# the script in this case).
+func_unset ()
+{
+ { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; }
+}
+
+
+# Make sure CDPATH doesn't cause `cd` commands to output the target dir.
+func_unset CDPATH
+
+# Make sure ${,E,F}GREP behave sanely.
+func_unset GREP_OPTIONS
+
## ------------------------- ##
## Locate command utilities. ##
@@ -259,7 +273,7 @@ test -z "$SED" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"
rm -f conftest.sed
SED=$func_path_progs_result
}
@@ -295,7 +309,7 @@ test -z "$GREP" && {
rm -f conftest.in conftest.tmp conftest.nl conftest.out
}
- func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"
GREP=$func_path_progs_result
}
@@ -360,6 +374,35 @@ sed_double_backslash="\
s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
s/\n//g"
+# require_check_ifs_backslash
+# ---------------------------
+# Check if we can use backslash as IFS='\' separator, and set
+# $check_ifs_backshlash_broken to ':' or 'false'.
+require_check_ifs_backslash=func_require_check_ifs_backslash
+func_require_check_ifs_backslash ()
+{
+ _G_save_IFS=$IFS
+ IFS='\'
+ _G_check_ifs_backshlash='a\\b'
+ for _G_i in $_G_check_ifs_backshlash
+ do
+ case $_G_i in
+ a)
+ check_ifs_backshlash_broken=false
+ ;;
+ '')
+ break
+ ;;
+ *)
+ check_ifs_backshlash_broken=:
+ break
+ ;;
+ esac
+ done
+ IFS=$_G_save_IFS
+ require_check_ifs_backslash=:
+}
+
## ----------------- ##
## Global variables. ##
@@ -529,27 +572,15 @@ func_require_term_colors ()
# ---------------------
# Append VALUE onto the existing contents of VAR.
- # We should try to minimise forks, especially on Windows where they are
- # unreasonably slow, so skip the feature probes when bash or zsh are
- # being used:
- if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
- : ${_G_HAVE_ARITH_OP="yes"}
- : ${_G_HAVE_XSI_OPS="yes"}
- # The += operator was introduced in bash 3.1
- case $BASH_VERSION in
- [12].* | 3.0 | 3.0*) ;;
- *)
- : ${_G_HAVE_PLUSEQ_OP="yes"}
- ;;
- esac
- fi
-
# _G_HAVE_PLUSEQ_OP
# Can be empty, in which case the shell is probed, "yes" if += is
# useable or anything else if it does not work.
- test -z "$_G_HAVE_PLUSEQ_OP" \
- && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
- && _G_HAVE_PLUSEQ_OP=yes
+ if test -z "$_G_HAVE_PLUSEQ_OP" && \
+ __PLUSEQ_TEST="a" && \
+ __PLUSEQ_TEST+=" b" 2>/dev/null && \
+ test "a b" = "$__PLUSEQ_TEST"; then
+ _G_HAVE_PLUSEQ_OP=yes
+ fi
if test yes = "$_G_HAVE_PLUSEQ_OP"
then
@@ -580,16 +611,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1+=\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1+=\\ \$func_quote_arg_result"
}'
else
func_append_quoted ()
{
$debug_cmd
- func_quote_for_eval "$2"
- eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ func_quote_arg pretty "$2"
+ eval "$1=\$$1\\ \$func_quote_arg_result"
}
fi
@@ -1091,85 +1122,203 @@ func_relative_path ()
}
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-# i) func_quote_for_eval_result
-# double-quoted, suitable for a subsequent eval
-# ii) func_quote_for_eval_unquoted_result
-# has all characters that are still active within double
-# quotes backslashified.
-func_quote_for_eval ()
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg. Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
{
$debug_cmd
- func_quote_for_eval_unquoted_result=
- func_quote_for_eval_result=
- while test 0 -lt $#; do
- case $1 in
- *[\\\`\"\$]*)
- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
- *)
- _G_unquoted_arg=$1 ;;
- esac
- if test -n "$func_quote_for_eval_unquoted_result"; then
- func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
- else
- func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ $require_check_ifs_backslash
+
+ func_quote_portable_result=$2
+
+ # one-time-loop (easy break)
+ while true
+ do
+ if $1; then
+ func_quote_portable_result=`$ECHO "$2" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+ break
fi
- case $_G_unquoted_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and variable expansion
- # for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_quoted_arg=\"$_G_unquoted_arg\"
+ # Quote for eval.
+ case $func_quote_portable_result in
+ *[\\\`\"\$]*)
+ # Fallback to sed for $func_check_bs_ifs_broken=:, or when the string
+ # contains the shell wildcard characters.
+ case $check_ifs_backshlash_broken$func_quote_portable_result in
+ :*|*[\[\*\?]*)
+ func_quote_portable_result=`$ECHO "$func_quote_portable_result" \
+ | $SED "$sed_quote_subst"`
+ break
+ ;;
+ esac
+
+ func_quote_portable_old_IFS=$IFS
+ for _G_char in '\' '`' '"' '$'
+ do
+ # STATE($1) PREV($2) SEPARATOR($3)
+ set start "" ""
+ func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+ IFS=$_G_char
+ for _G_part in $func_quote_portable_result
+ do
+ case $1 in
+ quote)
+ func_append func_quote_portable_result "$3$2"
+ set quote "$_G_part" "\\$_G_char"
+ ;;
+ start)
+ set first "" ""
+ func_quote_portable_result=
+ ;;
+ first)
+ set quote "$_G_part" ""
+ ;;
+ esac
+ done
+ done
+ IFS=$func_quote_portable_old_IFS
;;
- *)
- _G_quoted_arg=$_G_unquoted_arg
- ;;
+ *) ;;
esac
-
- if test -n "$func_quote_for_eval_result"; then
- func_append func_quote_for_eval_result " $_G_quoted_arg"
- else
- func_append func_quote_for_eval_result "$_G_quoted_arg"
- fi
- shift
+ break
done
+
+ func_quote_portable_unquoted_result=$func_quote_portable_result
+ case $func_quote_portable_result in
+ # double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # many bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_portable_result=\"$func_quote_portable_result\"
+ ;;
+ esac
}
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
- $debug_cmd
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed. Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+ printf -v _GL_test_printf_tilde %q '~'
+ if test '\~' = "$_GL_test_printf_tilde"; then
+ func_quotefast_eval ()
+ {
+ printf -v func_quotefast_eval_result %q "$1"
+ }
+ else
+ # Broken older Bash implementations. Make those faster too if possible.
+ func_quotefast_eval ()
+ {
+ case $1 in
+ '~'*)
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ ;;
+ *)
+ printf -v func_quotefast_eval_result %q "$1"
+ ;;
+ esac
+ }
+ fi
+else
+ func_quotefast_eval ()
+ {
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ }
+fi
- case $1 in
- *[\\\`\"]*)
- _G_arg=`$ECHO "$1" | $SED \
- -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
- *)
- _G_arg=$1 ;;
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later. MODEs argument may contain zero or more
+# specifiers listed below separated by ',' character. This function returns two
+# values:
+# i) func_quote_arg_result
+# double-quoted (when needed), suitable for a subsequent eval
+# ii) func_quote_arg_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified. Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+# - escape shell special characters
+# 'expand'
+# - the same as 'eval'; but do not quote variable references
+# 'pretty'
+# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
+# be used later in func_quote to get output like: 'echo "a b"' instead
+# of 'echo a\ b'. This is slower than default on some shells.
+# 'unquoted'
+# - produce also $func_quote_arg_unquoted_result which does not contain
+# wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+# string | *_result | *_unquoted_result
+# ------------+-----------------------+-------------------
+# " | \" | \"
+# a b | "a b" | a b
+# "a b" | "\"a b\"" | \"a b\"
+# * | "*" | *
+# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+# string | *_result | *_unquoted_result
+# --------------+---------------------+--------------------
+# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
+func_quote_arg ()
+{
+ _G_quote_expand=false
+ case ,$1, in
+ *,expand,*)
+ _G_quote_expand=:
+ ;;
esac
- case $_G_arg in
- # Double-quote args containing shell metacharacters to delay
- # word splitting and command substitution for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- _G_arg=\"$_G_arg\"
+ case ,$1, in
+ *,pretty,*|*,expand,*|*,unquoted,*)
+ func_quote_portable $_G_quote_expand "$2"
+ func_quote_arg_result=$func_quote_portable_result
+ func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+ ;;
+ *)
+ # Faster quote-for-eval for some shells.
+ func_quotefast_eval "$2"
+ func_quote_arg_result=$func_quotefast_eval_result
;;
esac
+}
+
- func_quote_for_expand_result=$_G_arg
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command. See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+ $debug_cmd
+ _G_func_quote_mode=$1 ; shift
+ func_quote_result=
+ while test 0 -lt $#; do
+ func_quote_arg "$_G_func_quote_mode" "$1"
+ if test -n "$func_quote_result"; then
+ func_append func_quote_result " $func_quote_arg_result"
+ else
+ func_append func_quote_result "$func_quote_arg_result"
+ fi
+ shift
+ done
}
@@ -1215,8 +1364,8 @@ func_show_eval ()
_G_cmd=$1
_G_fail_exp=${2-':'}
- func_quote_for_expand "$_G_cmd"
- eval "func_notquiet $func_quote_for_expand_result"
+ func_quote_arg pretty,expand "$_G_cmd"
+ eval "func_notquiet $func_quote_arg_result"
$opt_dry_run || {
eval "$_G_cmd"
@@ -1241,8 +1390,8 @@ func_show_eval_locale ()
_G_fail_exp=${2-':'}
$opt_quiet || {
- func_quote_for_expand "$_G_cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$_G_cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || {
@@ -1369,30 +1518,26 @@ func_lt_ver ()
# End:
#! /bin/sh
-# Set a version string for this script.
-scriptversion=2015-10-07.11; # UTC
-
# A portable, pluggable option parser for Bourne shell.
# Written by Gary V. Vaughan, 2010
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions. There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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.
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2010-2019, 2021 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 2 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
-# Please report bugs or propose patches to gary@gnu.org.
+# Set a version string for this script.
+scriptversion=2019-02-19.15; # UTC
## ------ ##
@@ -1415,7 +1560,7 @@ scriptversion=2015-10-07.11; # UTC
#
# In order for the '--version' option to work, you will need to have a
# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
+# starting with '# Written by ' and ending with '# Copyright'.
#
# For '-h' and '--help' to work, you will also need a one line
# description of your script's purpose in a comment directly above the
@@ -1427,7 +1572,7 @@ scriptversion=2015-10-07.11; # UTC
# to display verbose messages only when your user has specified
# '--verbose'.
#
-# After sourcing this file, you can plug processing for additional
+# After sourcing this file, you can plug in processing for additional
# options by amending the variables from the 'Configuration' section
# below, and following the instructions in the 'Option parsing'
# section further down.
@@ -1476,8 +1621,8 @@ fatal_help="Try '\$progname --help' for more information."
## ------------------------- ##
# This section contains functions for adding, removing, and running hooks
-# to the main code. A hook is just a named list of of function, that can
-# be run in order later on.
+# in the main code. A hook is just a list of function names that can be
+# run in order later on.
# func_hookable FUNC_NAME
# -----------------------
@@ -1510,7 +1655,8 @@ func_add_hook ()
# func_remove_hook FUNC_NAME HOOK_FUNC
# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+# Remove HOOK_FUNC from the list of hook functions to be called by
+# FUNC_NAME.
func_remove_hook ()
{
$debug_cmd
@@ -1519,10 +1665,28 @@ func_remove_hook ()
}
+# func_propagate_result FUNC_NAME_A FUNC_NAME_B
+# ---------------------------------------------
+# If the *_result variable of FUNC_NAME_A _is set_, assign its value to
+# *_result variable of FUNC_NAME_B.
+func_propagate_result ()
+{
+ $debug_cmd
+
+ func_propagate_result_result=:
+ if eval "test \"\${${1}_result+set}\" = set"
+ then
+ eval "${2}_result=\$${1}_result"
+ else
+ func_propagate_result_result=false
+ fi
+}
+
+
# func_run_hooks FUNC_NAME [ARG]...
# ---------------------------------
# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
+# It's assumed that the list of hook functions contains nothing more
# than a whitespace-delimited list of legal shell function names, and
# no effort is wasted trying to catch shell meta-characters or preserve
# whitespace.
@@ -1534,22 +1698,19 @@ func_run_hooks ()
case " $hookable_fns " in
*" $1 "*) ;;
- *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ *) func_fatal_error "'$1' does not support hook functions." ;;
esac
eval _G_hook_fns=\$$1_hooks; shift
for _G_hook in $_G_hook_fns; do
- if eval $_G_hook '"$@"'; then
- # store returned options list back into positional
- # parameters for next 'cmd' execution.
- eval _G_hook_result=\$${_G_hook}_result
- eval set dummy "$_G_hook_result"; shift
- _G_rc_run_hooks=:
+ func_unset "${_G_hook}_result"
+ eval $_G_hook '${1+"$@"}'
+ func_propagate_result $_G_hook func_run_hooks
+ if $func_propagate_result_result; then
+ eval set dummy "$func_run_hooks_result"; shift
fi
done
-
- $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
}
@@ -1559,14 +1720,16 @@ func_run_hooks ()
## --------------- ##
# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, you may remove/edit
-# any options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'. In this case you also must return $EXIT_SUCCESS to let the
-# hook's caller know that it should pay attention to
-# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
-# arguments are left untouched by the hook and therefore caller will ignore the
-# result variable.
+# full positional parameter list from your hook function. You may remove
+# or edit any options that you action, and then pass back the remaining
+# unprocessed options in '<hooked_function_name>_result', escaped
+# suitably for 'eval'.
+#
+# The '<hooked_function_name>_result' variable is automatically unset
+# before your hook gets called; for best performance, only set the
+# *_result variable when necessary (i.e. don't call the 'func_quote'
+# function unnecessarily because it can be an expensive operation on some
+# machines).
#
# Like this:
#
@@ -1578,11 +1741,8 @@ func_run_hooks ()
# usage_message=$usage_message'
# -s, --silent don'\''t print informational messages
# '
-# # No change in '$@' (ignored completely by this hook). There is
-# # no need to do the equivalent (but slower) action:
-# # func_quote_for_eval ${1+"$@"}
-# # my_options_prep_result=$func_quote_for_eval_result
-# false
+# # No change in '$@' (ignored completely by this hook). Leave
+# # my_options_prep_result variable intact.
# }
# func_add_hook func_options_prep my_options_prep
#
@@ -1593,7 +1753,7 @@ func_run_hooks ()
#
# args_changed=false
#
-# # Note that for efficiency, we parse as many options as we can
+# # Note that, for efficiency, we parse as many options as we can
# # recognise in a loop before passing the remainder back to the
# # caller on the first unrecognised argument we encounter.
# while test $# -gt 0; do
@@ -1610,18 +1770,17 @@ func_run_hooks ()
# args_changed=:
# ;;
# *) # Make sure the first unrecognised option "$_G_opt"
-# # is added back to "$@", we could need that later
-# # if $args_changed is true.
+# # is added back to "$@" in case we need it later,
+# # if $args_changed was set to 'true'.
# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
# esac
# done
#
+# # Only call 'func_quote' here if we processed at least one argument.
# if $args_changed; then
-# func_quote_for_eval ${1+"$@"}
-# my_silent_option_result=$func_quote_for_eval_result
+# func_quote eval ${1+"$@"}
+# my_silent_option_result=$func_quote_result
# fi
-#
-# $args_changed
# }
# func_add_hook func_parse_options my_silent_option
#
@@ -1632,8 +1791,6 @@ func_run_hooks ()
#
# $opt_silent && $opt_verbose && func_fatal_help "\
# '--silent' and '--verbose' options are mutually exclusive."
-#
-# false
# }
# func_add_hook func_validate_options my_option_validation
#
@@ -1649,13 +1806,8 @@ func_options_finish ()
{
$debug_cmd
- _G_func_options_finish_exit=false
- if func_run_hooks func_options ${1+"$@"}; then
- func_options_finish_result=$func_run_hooks_result
- _G_func_options_finish_exit=:
- fi
-
- $_G_func_options_finish_exit
+ func_run_hooks func_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_finish
}
@@ -1668,28 +1820,27 @@ func_options ()
{
$debug_cmd
- _G_rc_options=false
+ _G_options_quoted=false
for my_func in options_prep parse_options validate_options options_finish
do
- if eval func_$my_func '${1+"$@"}'; then
- eval _G_res_var='$'"func_${my_func}_result"
- eval set dummy "$_G_res_var" ; shift
- _G_rc_options=:
+ func_unset func_${my_func}_result
+ func_unset func_run_hooks_result
+ eval func_$my_func '${1+"$@"}'
+ func_propagate_result func_$my_func func_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_options_result"; shift
+ _G_options_quoted=:
fi
done
- # Save modified positional parameters for caller. As a top-level
- # options-parser function we always need to set the 'func_options_result'
- # variable (regardless the $_G_rc_options value).
- if $_G_rc_options; then
- func_options_result=$_G_res_var
- else
- func_quote_for_eval ${1+"$@"}
- func_options_result=$func_quote_for_eval_result
- fi
-
- $_G_rc_options
+ $_G_options_quoted || {
+ # As we (func_options) are top-level options-parser function and
+ # nobody quoted "$@" for us yet, we need to do it explicitly for
+ # caller.
+ func_quote eval ${1+"$@"}
+ func_options_result=$func_quote_result
+ }
}
@@ -1699,8 +1850,7 @@ func_options ()
# Note that when calling hook functions, we pass through the list of
# positional parameters. If a hook function modifies that list, and
# needs to propagate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
+# modified list must be put in 'func_run_hooks_result' before returning.
func_hookable func_options_prep
func_options_prep ()
{
@@ -1710,14 +1860,8 @@ func_options_prep ()
opt_verbose=false
opt_warning_types=
- _G_rc_options_prep=false
- if func_run_hooks func_options_prep ${1+"$@"}; then
- _G_rc_options_prep=:
- # save modified positional parameters for caller
- func_options_prep_result=$func_run_hooks_result
- fi
-
- $_G_rc_options_prep
+ func_run_hooks func_options_prep ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_prep
}
@@ -1729,27 +1873,32 @@ func_parse_options ()
{
$debug_cmd
- func_parse_options_result=
-
- _G_rc_parse_options=false
+ _G_parse_options_requote=false
# this just eases exit handling
while test $# -gt 0; do
# Defer to hook functions for initial option parsing, so they
# get priority in the event of reusing an option name.
- if func_run_hooks func_parse_options ${1+"$@"}; then
- eval set dummy "$func_run_hooks_result"; shift
- _G_rc_parse_options=:
+ func_run_hooks func_parse_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_parse_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_parse_options_result"; shift
+ # Even though we may have changed "$@", we passed the "$@" array
+ # down into the hook and it quoted it for us (because we are in
+ # this if-branch). No need to quote it again.
+ _G_parse_options_requote=false
fi
# Break out of the loop if we already parsed every option.
test $# -gt 0 || break
+ # We expect that one of the options parsed in this function matches
+ # and thus we remove _G_opt from "$@" and need to re-quote.
_G_match_parse_options=:
_G_opt=$1
shift
case $_G_opt in
--debug|-x) debug_cmd='set -x'
- func_echo "enabling shell trace mode"
+ func_echo "enabling shell trace mode" >&2
$debug_cmd
;;
@@ -1760,7 +1909,7 @@ func_parse_options ()
--warnings|--warning|-W)
if test $# = 0 && func_missing_arg $_G_opt; then
- _G_rc_parse_options=:
+ _G_parse_options_requote=:
break
fi
case " $warning_categories $1" in
@@ -1815,7 +1964,7 @@ func_parse_options ()
shift
;;
- --) _G_rc_parse_options=: ; break ;;
+ --) _G_parse_options_requote=: ; break ;;
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
*) set dummy "$_G_opt" ${1+"$@"}; shift
_G_match_parse_options=false
@@ -1823,17 +1972,16 @@ func_parse_options ()
;;
esac
- $_G_match_parse_options && _G_rc_parse_options=:
+ if $_G_match_parse_options; then
+ _G_parse_options_requote=:
+ fi
done
-
- if $_G_rc_parse_options; then
+ if $_G_parse_options_requote; then
# save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- func_parse_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ func_parse_options_result=$func_quote_result
fi
-
- $_G_rc_parse_options
}
@@ -1846,21 +1994,14 @@ func_validate_options ()
{
$debug_cmd
- _G_rc_validate_options=false
-
# Display all warnings if -W was not given.
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
- if func_run_hooks func_validate_options ${1+"$@"}; then
- # save modified positional parameters for caller
- func_validate_options_result=$func_run_hooks_result
- _G_rc_validate_options=:
- fi
+ func_run_hooks func_validate_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_validate_options
# Bail if the options were screwed!
$exit_cmd $EXIT_FAILURE
-
- $_G_rc_validate_options
}
@@ -1916,8 +2057,8 @@ func_missing_arg ()
# func_split_equals STRING
# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables
+# after splitting STRING at the '=' sign.
test -z "$_G_HAVE_XSI_OPS" \
&& (eval 'x=a/b/c;
test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
@@ -1932,8 +2073,9 @@ then
func_split_equals_lhs=${1%%=*}
func_split_equals_rhs=${1#*=}
- test "x$func_split_equals_lhs" = "x$1" \
- && func_split_equals_rhs=
+ if test "x$func_split_equals_lhs" = "x$1"; then
+ func_split_equals_rhs=
+ fi
}'
else
# ...otherwise fall back to using expr, which is often a shell builtin.
@@ -1943,7 +2085,7 @@ else
func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
func_split_equals_rhs=
- test "x$func_split_equals_lhs" = "x$1" \
+ test "x$func_split_equals_lhs=" = "x$1" \
|| func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
}
fi #func_split_equals
@@ -1969,7 +2111,7 @@ else
{
$debug_cmd
- func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_name=`expr "x$1" : 'x\(-.\)'`
func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
}
fi #func_split_short_opt
@@ -2011,31 +2153,44 @@ func_usage_message ()
# func_version
# ------------
# Echo version message to standard output and exit.
+# The version message is extracted from the calling file's header
+# comments, with leading '# ' stripped:
+# 1. First display the progname and version
+# 2. Followed by the header comment line matching /^# Written by /
+# 3. Then a blank line followed by the first following line matching
+# /^# Copyright /
+# 4. Immediately followed by any lines between the previous matches,
+# except lines preceding the intervening completely blank line.
+# For example, see the header comments of this file.
func_version ()
{
$debug_cmd
printf '%s\n' "$progname $scriptversion"
$SED -n '
- /(C)/!b go
- :more
- /\./!{
- N
- s|\n# | |
- b more
- }
- :go
- /^# Written by /,/# warranty; / {
- s|^# ||
- s|^# *$||
- s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
- p
+ /^# Written by /!b
+ s|^# ||; p; n
+
+ :fwd2blnk
+ /./ {
+ n
+ b fwd2blnk
}
- /^# Written by / {
- s|^# ||
- p
+ p; n
+
+ :holdwrnt
+ s|^# ||
+ s|^# *$||
+ /^Copyright /!{
+ /./H
+ n
+ b holdwrnt
}
- /^warranty; /q' < "$progpath"
+
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ G
+ s|\(\n\)\n*|\1|g
+ p; q' < "$progpath"
exit $?
}
@@ -2045,12 +2200,12 @@ func_version ()
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC"
# time-stamp-time-zone: "UTC"
# End:
# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
+scriptversion='(GNU libtool) 2.4.7'
# func_echo ARG...
@@ -2141,7 +2296,7 @@ include the following information:
compiler: $LTCC
compiler flags: $LTCFLAGS
linker: $LD (gnu? $with_gnu_ld)
- version: $progname $scriptversion Debian-2.4.6-15build2
+ version: $progname $scriptversion Debian-2.4.7-7build1
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
@@ -2197,7 +2352,7 @@ fi
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func__fatal_error ${1+"$@"} \
+ func_fatal_error ${1+"$@"} \
"See the $PACKAGE documentation for more information." \
"Fatal configuration error."
}
@@ -2345,6 +2500,8 @@ libtool_options_prep ()
_G_rc_lt_options_prep=:
+ _G_rc_lt_options_prep=:
+
# Shorthand for --mode=foo, only valid as the first argument
case $1 in
clean|clea|cle|cl)
@@ -2375,11 +2532,9 @@ libtool_options_prep ()
if $_G_rc_lt_options_prep; then
# Pass back the list of options.
- func_quote_for_eval ${1+"$@"}
- libtool_options_prep_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_result
fi
-
- $_G_rc_lt_options_prep
}
func_add_hook func_options_prep libtool_options_prep
@@ -2482,11 +2637,9 @@ libtool_parse_options ()
if $_G_rc_lt_parse_options; then
# save modified positional parameters for caller
- func_quote_for_eval ${1+"$@"}
- libtool_parse_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_result
fi
-
- $_G_rc_lt_parse_options
}
func_add_hook func_parse_options libtool_parse_options
@@ -2543,8 +2696,8 @@ libtool_validate_options ()
}
# Pass back the unparsed argument list
- func_quote_for_eval ${1+"$@"}
- libtool_validate_options_result=$func_quote_for_eval_result
+ func_quote eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_result
}
func_add_hook func_validate_options libtool_validate_options
@@ -3510,8 +3663,8 @@ func_mode_compile ()
esac
done
- func_quote_for_eval "$libobj"
- test "X$libobj" != "X$func_quote_for_eval_result" \
+ func_quote_arg pretty "$libobj"
+ test "X$libobj" != "X$func_quote_arg_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
&& func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
@@ -3584,8 +3737,8 @@ compiler."
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
srcfile=$func_to_tool_file_result
- func_quote_for_eval "$srcfile"
- qsrcfile=$func_quote_for_eval_result
+ func_quote_arg pretty "$srcfile"
+ qsrcfile=$func_quote_arg_result
# Only build a PIC object if we are building libtool libraries.
if test yes = "$build_libtool_libs"; then
@@ -3740,7 +3893,8 @@ This mode accepts the following additional options:
-prefer-non-pic try to build non-PIC objects only
-shared do not build a '.o' file suitable for static linking
-static only build a '.o' file suitable for static linking
- -Wc,FLAG pass FLAG directly to the compiler
+ -Wc,FLAG
+ -Xcompiler FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
@@ -3846,6 +4000,8 @@ The following components of LINK-COMMAND are treated specially:
-weak LIBNAME declare that the target provides the LIBNAME interface
-Wc,FLAG
-Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wa,FLAG
+ -Xassembler FLAG pass linker-specific FLAG directly to the assembler
-Wl,FLAG
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
@@ -4188,8 +4344,8 @@ func_mode_install ()
case $nonopt in *shtool*) :;; *) false;; esac
then
# Aesthetically quote it.
- func_quote_for_eval "$nonopt"
- install_prog="$func_quote_for_eval_result "
+ func_quote_arg pretty "$nonopt"
+ install_prog="$func_quote_arg_result "
arg=$1
shift
else
@@ -4199,8 +4355,8 @@ func_mode_install ()
# The real first argument should be the name of the installation program.
# Aesthetically quote it.
- func_quote_for_eval "$arg"
- func_append install_prog "$func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog "$func_quote_arg_result"
install_shared_prog=$install_prog
case " $install_prog " in
*[\\\ /]cp\ *) install_cp=: ;;
@@ -4257,12 +4413,12 @@ func_mode_install ()
esac
# Aesthetically quote the argument.
- func_quote_for_eval "$arg"
- func_append install_prog " $func_quote_for_eval_result"
+ func_quote_arg pretty "$arg"
+ func_append install_prog " $func_quote_arg_result"
if test -n "$arg2"; then
- func_quote_for_eval "$arg2"
+ func_quote_arg pretty "$arg2"
fi
- func_append install_shared_prog " $func_quote_for_eval_result"
+ func_append install_shared_prog " $func_quote_arg_result"
done
test -z "$install_prog" && \
@@ -4273,8 +4429,8 @@ func_mode_install ()
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
- func_quote_for_eval "$install_override_mode"
- func_append install_shared_prog " -m $func_quote_for_eval_result"
+ func_quote_arg pretty "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_arg_result"
fi
fi
@@ -4570,8 +4726,8 @@ func_mode_install ()
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
$opt_quiet || {
- func_quote_for_expand "$relink_command"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$relink_command"
+ eval "func_echo $func_quote_arg_result"
}
if eval "$relink_command"; then :
else
@@ -5350,7 +5506,8 @@ else
if test \"\$libtool_execute_magic\" != \"$magic\"; then
file=\"\$0\""
- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ func_quote_arg pretty "$ECHO"
+ qECHO=$func_quote_arg_result
$ECHO "\
# A function that is used when there is no print builtin or printf.
@@ -5360,7 +5517,7 @@ func_fallback_echo ()
\$1
_LTECHO_EOF'
}
- ECHO=\"$qECHO\"
+ ECHO=$qECHO
fi
# Very basic option parsing. These options are (a) specific to
@@ -6703,9 +6860,9 @@ func_mode_link ()
while test "$#" -gt 0; do
arg=$1
shift
- func_quote_for_eval "$arg"
- qarg=$func_quote_for_eval_unquoted_result
- func_append libtool_args " $func_quote_for_eval_result"
+ func_quote_arg pretty,unquoted "$arg"
+ qarg=$func_quote_arg_unquoted_result
+ func_append libtool_args " $func_quote_arg_result"
# If the previous option needs an argument, assign it.
if test -n "$prev"; then
@@ -6941,6 +7098,13 @@ func_mode_link ()
prev=
continue
;;
+ xassembler)
+ func_append compiler_flags " -Xassembler $qarg"
+ prev=
+ func_append compile_command " -Xassembler $qarg"
+ func_append finalize_command " -Xassembler $qarg"
+ continue
+ ;;
xcclinker)
func_append linker_flags " $qarg"
func_append compiler_flags " $qarg"
@@ -7111,7 +7275,7 @@ func_mode_link ()
# These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue
;;
@@ -7131,7 +7295,7 @@ func_mode_link ()
esac
elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | *-*-midnightbsd*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -7161,8 +7325,20 @@ func_mode_link ()
prev=xcompiler
continue
;;
-
- -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ # Solaris ld rejects as of 11.4. Refer to Oracle bug 22985199.
+ -pthread)
+ case $host in
+ *solaris2*) ;;
+ *)
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+ -mt|-mthreads|-kthread|-Kthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
func_append compiler_flags " $arg"
func_append compile_command " $arg"
@@ -7303,9 +7479,9 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $func_quote_for_eval_result"
- func_append compiler_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $func_quote_arg_result"
+ func_append compiler_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
@@ -7319,16 +7495,21 @@ func_mode_link ()
save_ifs=$IFS; IFS=,
for flag in $args; do
IFS=$save_ifs
- func_quote_for_eval "$flag"
- func_append arg " $wl$func_quote_for_eval_result"
- func_append compiler_flags " $wl$func_quote_for_eval_result"
- func_append linker_flags " $func_quote_for_eval_result"
+ func_quote_arg pretty "$flag"
+ func_append arg " $wl$func_quote_arg_result"
+ func_append compiler_flags " $wl$func_quote_arg_result"
+ func_append linker_flags " $func_quote_arg_result"
done
IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
+ -Xassembler)
+ prev=xassembler
+ continue
+ ;;
+
-Xcompiler)
prev=xcompiler
continue
@@ -7346,8 +7527,8 @@ func_mode_link ()
# -msg_* for osf cc
-msg_*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -7370,12 +7551,13 @@ func_mode_link ()
# -fuse-ld=* Linker select flags for GCC
# -static-* direct GCC to link specific libraries statically
# -fcilkplus Cilk Plus language extension features for C/C++
+ # -Wa,* Pass flags directly to the assembler
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus|-Wa,*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
@@ -7396,15 +7578,15 @@ func_mode_link ()
continue
else
# Otherwise treat like 'Some other compiler flag' below
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
fi
;;
# Some other compiler flag.
-* | +*)
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
*.$objext)
@@ -7524,8 +7706,8 @@ func_mode_link ()
*)
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
- func_quote_for_eval "$arg"
- arg=$func_quote_for_eval_result
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
;;
esac # arg
@@ -8733,7 +8915,7 @@ func_mode_link ()
test CXX = "$tagname" && {
case $host_os in
linux*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C++ 5.9
func_suncc_cstd_abi
@@ -8906,7 +9088,7 @@ func_mode_link ()
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
- darwin|freebsd-elf|linux|osf|windows|none)
+ darwin|freebsd-elf|linux|midnightbsd-elf|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
age=$number_minor
@@ -9000,7 +9182,7 @@ func_mode_link ()
versuffix=.$current.$revision
;;
- freebsd-elf)
+ freebsd-elf | midnightbsd-elf)
func_arith $current - $age
major=.$func_arith_result
versuffix=$major.$age.$revision
@@ -9226,7 +9408,7 @@ func_mode_link ()
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r.
;;
*-*-sco3.2v5* | *-*-sco5v6*)
@@ -10037,8 +10219,8 @@ EOF
for cmd in $concat_cmds; do
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10131,8 +10313,8 @@ EOF
eval cmd=\"$cmd\"
IFS=$save_ifs
$opt_quiet || {
- func_quote_for_expand "$cmd"
- eval "func_echo $func_quote_for_expand_result"
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
}
$opt_dry_run || eval "$cmd" || {
lt_exit=$?
@@ -10606,12 +10788,13 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty "$var_value"
+ relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
fi
done
- relink_command="(cd `pwd`; $relink_command)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
+ relink_command=$func_quote_arg_unquoted_result
fi
# Only actually do things if not in dry run mode.
@@ -10851,13 +11034,15 @@ EOF
elif eval var_value=\$$var; test -z "$var_value"; then
relink_command="$var=; export $var; $relink_command"
else
- func_quote_for_eval "$var_value"
- relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ func_quote_arg pretty,unquoted "$var_value"
+ relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ func_quote eval cd "`pwd`"
+ relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ func_quote_arg pretty,unquoted "$relink_command"
+ relink_command=$func_quote_arg_unquoted_result
if test yes = "$hardcode_automatic"; then
relink_command=
fi
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index c4c02946dece..e7b68334557b 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,6 +1,7 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
+# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 58 LT_INIT
+# serial 59 LT_INIT
# LT_PREREQ(VERSION)
@@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_DECL_FILECMD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
@@ -219,8 +221,8 @@ esac
ofile=libtool
can_build_shared=yes
-# All known linkers require a '.a' archive for static linking (except MSVC,
-# which needs '.lib').
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
libext=a
with_gnu_ld=$lt_cv_prog_gnu_ld
@@ -777,7 +779,7 @@ _LT_EOF
# if finds mixed CR/LF and LF-only lines. Since sed operates in
# text mode, it properly converts lines to CR/LF. This bash problem
# is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
+ $SED '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
mv -f "$cfgfile" "$ofile" ||
@@ -1041,8 +1043,8 @@ int forced_loaded() { return 2;}
_LT_EOF
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
@@ -1066,17 +1068,12 @@ _LT_EOF
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]][[,.]]*)
- _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
- 10.*|11.*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ darwin*)
+ case $MACOSX_DEPLOYMENT_TARGET,$host in
+ 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ *)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
@@ -1125,12 +1122,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
output_verbose_link_cmd=func_echo_all
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
[ if test yes != "$lt_cv_apple_cc_single_mod"; then
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
@@ -1244,7 +1241,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
# _LT_WITH_SYSROOT
# ----------------
AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
+[m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
[Search for dependent libraries within DIR (or the compiler's sysroot
@@ -1261,7 +1259,7 @@ case $with_sysroot in #(
fi
;; #(
/*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
;; #(
no|'')
;; #(
@@ -1291,7 +1289,7 @@ ia64-*-hpux*)
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*ELF-32*)
HPUX_IA64_MODE=32
;;
@@ -1308,7 +1306,7 @@ ia64-*-hpux*)
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
if test yes = "$lt_cv_prog_gnu_ld"; then
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
;;
@@ -1320,7 +1318,7 @@ ia64-*-hpux*)
;;
esac
else
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -32"
;;
@@ -1342,7 +1340,7 @@ mips64*-*linux*)
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
emul=elf
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*32-bit*)
emul="${emul}32"
;;
@@ -1350,7 +1348,7 @@ mips64*-*linux*)
emul="${emul}64"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*MSB*)
emul="${emul}btsmip"
;;
@@ -1358,7 +1356,7 @@ mips64*-*linux*)
emul="${emul}ltsmip"
;;
esac
- case `/usr/bin/file conftest.$ac_objext` in
+ case `$FILECMD conftest.$ac_objext` in
*N32*)
emul="${emul}n32"
;;
@@ -1378,14 +1376,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*32-bit*)
case $host in
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
;;
@@ -1453,7 +1451,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
+ case `$FILECMD conftest.o` in
*64-bit*)
case $lt_cv_prog_gnu_ld in
yes*)
@@ -1492,9 +1490,22 @@ need_locks=$enable_libtool_lock
m4_defun([_LT_PROG_AR],
[AC_CHECK_TOOLS(AR, [ar], false)
: ${AR=ar}
-: ${AR_FLAGS=cr}
_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
+ [Flags to create an archive])
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
[lt_cv_ar_at_file=no
@@ -1713,7 +1724,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=8192;
;;
- bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1756,7 +1767,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
sysv5* | sco5v6* | sysv4.2uw2*)
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
else
lt_cv_sys_max_cmd_len=32768
fi
@@ -2206,26 +2217,35 @@ m4_defun([_LT_CMD_STRIPLIB],
striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
+if test -z "$STRIP"; then
+ AC_MSG_RESULT([no])
else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP"; then
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
- else
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
+ ;;
+ esac
+ fi
fi
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
_LT_DECL([], [striplib], [1])
@@ -2548,7 +2568,7 @@ cygwin* | mingw* | pw32* | cegcc*)
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
@@ -2558,14 +2578,14 @@ m4_if([$1], [],[
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
;;
- *,cl*)
- # Native MSVC
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
libname_spec='$name'
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
library_names_spec='$libname.dll.lib'
@@ -2584,7 +2604,7 @@ m4_if([$1], [],[
done
IFS=$lt_save_ifs
# Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
;;
cygwin*)
# Convert to unix form, then to dos form, then back to unix form
@@ -2621,7 +2641,7 @@ m4_if([$1], [],[
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
@@ -2654,7 +2674,7 @@ dgux*)
shlibpath_var=LD_LIBRARY_PATH
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
if test -x /usr/bin/objformat; then
@@ -3465,7 +3485,7 @@ beos*)
bsdi[[45]]*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
- lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_cmd='$FILECMD -L'
lt_cv_file_magic_test_file=/shlib/libc.so
;;
@@ -3499,14 +3519,14 @@ darwin* | rhapsody*)
lt_cv_deplibs_check_method=pass_all
;;
-freebsd* | dragonfly*)
+freebsd* | dragonfly* | midnightbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
case $host_cpu in
i*86 )
# Not sure whether the presence of OpenBSD here was a mistake.
# Let's accept both of them until this is cleared up.
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
;;
esac
@@ -3520,7 +3540,7 @@ haiku*)
;;
hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
@@ -3567,7 +3587,7 @@ netbsd* | netbsdelf*-gnu)
newos6*)
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_cmd=$FILECMD
lt_cv_file_magic_test_file=/usr/lib/libnls.so
;;
@@ -3694,13 +3714,13 @@ else
mingw*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
- case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
*$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
break 2
;;
*)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
break 2
@@ -3726,7 +3746,7 @@ else
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
*COFF*)
DUMPBIN="$DUMPBIN -symbols -headers"
;;
@@ -3966,7 +3986,7 @@ esac
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Gets list of data symbols to import.
- lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
# Adjust the below global symbol transforms to fixup imported variables.
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
@@ -3984,20 +4004,20 @@ fi
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
$lt_cdecl_hook\
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
$lt_c_name_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
# Transform an extracted symbol line into symbol name with lib prefix and
# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
$lt_c_name_lib_hook\
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
@@ -4021,7 +4041,7 @@ for ac_symprfx in "" "_"; do
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
# Fake it for dumpbin and say T for any non-static function,
# D for any global variable and I for any imported variable.
- # Also find C++ and __fastcall symbols from MSVC++,
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
@@ -4039,9 +4059,9 @@ for ac_symprfx in "" "_"; do
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@@ -4329,7 +4349,7 @@ m4_if([$1], [CXX], [
;;
esac
;;
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
# FreeBSD uses GNU C++
;;
hpux9* | hpux10* | hpux11*)
@@ -4412,7 +4432,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4754,7 +4774,7 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
# Sun Fortran 8.3 passes all unrecognized flags to the linker
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4937,7 +4957,7 @@ m4_if([$1], [CXX], [
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
@@ -4945,7 +4965,7 @@ m4_if([$1], [CXX], [
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
- cl*)
+ cl* | icl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
;;
*)
@@ -5005,15 +5025,15 @@ dnl Note also adjust exclude_expsyms for C++ above.
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
openbsd* | bitrig*)
@@ -5068,7 +5088,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+ case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -5180,6 +5200,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
interix[[3-9]]*)
@@ -5194,7 +5215,7 @@ _LT_EOF
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
@@ -5237,7 +5258,7 @@ _LT_EOF
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*) # Sun C 5.9
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
@@ -5249,13 +5270,14 @@ _LT_EOF
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
tcc*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
@@ -5265,7 +5287,7 @@ _LT_EOF
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
@@ -5397,7 +5419,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
@@ -5580,12 +5602,12 @@ _LT_EOF
cygwin* | mingw* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
+ # Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
case $cc_basename in
- cl*)
- # Native MSVC
+ cl* | icl*)
+ # Native MSVC or ICC
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=yes
@@ -5626,7 +5648,7 @@ _LT_EOF
fi'
;;
*)
- # Assume MSVC wrapper
+ # Assume MSVC and ICC wrapper
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Tell ltmain to make .lib files, not .a files.
@@ -5674,7 +5696,7 @@ _LT_EOF
;;
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
@@ -5815,6 +5837,7 @@ _LT_EOF
# Fabrice Bellard et al's Tiny C Compiler
_LT_TAGVAR(ld_shlibs, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
esac
;;
@@ -5886,6 +5909,7 @@ _LT_EOF
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
osf3*)
@@ -6656,8 +6680,8 @@ if test yes != "$_lt_caught_CXX_error"; then
cygwin* | mingw* | pw32* | cegcc*)
case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
+ ,cl* | no,cl* | ,icl* | no,icl*)
+ # Native MSVC or ICC
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
@@ -6755,6 +6779,7 @@ if test yes != "$_lt_caught_CXX_error"; then
emximp -o $lib $output_objdir/$libname.def'
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
;;
dgux*)
@@ -6785,7 +6810,7 @@ if test yes != "$_lt_caught_CXX_error"; then
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
;;
- freebsd* | dragonfly*)
+ freebsd* | dragonfly* | midnightbsd*)
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
# conventions
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -6922,7 +6947,7 @@ if test yes != "$_lt_caught_CXX_error"; then
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
@@ -7062,13 +7087,13 @@ if test yes != "$_lt_caught_CXX_error"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
echo "local: *; };" >> $output_objdir/$libname.ver~
$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
- case `$CC -V 2>&1 | sed 5q` in
+ case `$CC -V 2>&1 | $SED 5q` in
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
@@ -8214,6 +8239,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
AC_SUBST([DLLTOOL])
])
+# _LT_DECL_FILECMD
+# ----------------
+# Check for a file(cmd) program that can be used to detect file type and magic
+m4_defun([_LT_DECL_FILECMD],
+[AC_CHECK_TOOL([FILECMD], [file], [:])
+_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
+])# _LD_DECL_FILECMD
+
# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 94b082976667..b0b5e9c21260 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,7 +1,7 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
+# Software Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 48bc9344a4d6..902508bd93ae 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index fa04b52a3bf8..b155d0aceca3 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,7 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
+# Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +10,15 @@
# @configure_input@
-# serial 4179 ltversion.m4
+# serial 4245 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
+m4_define([LT_PACKAGE_VERSION], [2.4.7])
+m4_define([LT_PACKAGE_REVISION], [2.4.7])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
+[macro_version='2.4.7'
+macro_revision='2.4.7'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c6b26f88f6c3..0f7a8759da8d 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,7 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
-# Foundation, Inc.
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
+# Software Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
diff --git a/makewin.sh b/makewin.sh
index accc9058e75e..214eedec037e 100755
--- a/makewin.sh
+++ b/makewin.sh
@@ -17,6 +17,7 @@ cross_flag_nonstatic=""
RC="no"
SNAPSHOT="no"
CHECKOUT=""
+GITREPO=""
# the destination is a zipfile in the start directory ldns-a.b.c.zip
# the start directory is a git repository, and it is copied to build from.
@@ -49,6 +50,8 @@ while [ "$1" ]; do
echo " -s snapshot, current date appended to version"
echo " -rc <nr> release candidate, the number is added to version"
echo " ldns-<version>rc<nr>."
+ echo " -u git_url Retrieve the source from the specified repository url."
+ echo " Detected from the working copy if not specified."
echo " -c <tag/br> Checkout this tag or branch, (defaults to current"
echo " branch)."
echo " -wssl <file> Pass openssl.tar.gz file, use absolute path."
@@ -66,6 +69,10 @@ while [ "$1" ]; do
RC="$2"
shift
;;
+ "-u")
+ GITREPO="$2"
+ shift
+ ;;
"-wssl")
WINSSL="$2"
shift
@@ -85,6 +92,10 @@ then
CHECKOUT=$( (git status | head -n 1 | awk '{print$3}') || echo develop)
fi
fi
+if [ -z "$GITREPO" ]
+then
+ GITREPO=`git config remote.origin.url`
+fi
# this script creates a temp directory $cdir.
# this directory contains subdirectories:
@@ -99,11 +110,11 @@ fi
# sslinstall-nonstatic/ : install of nonstatic openssl compile
info "exporting source into $cdir/ldns"
-git clone git://git.nlnetlabs.nl/ldns/ ldns || error_cleanup "git command failed"
+git clone "$GITREPO" ldns || error_cleanup "git command failed"
(cd ldns; git checkout "$CHECKOUT") || error_cleanup "Could not checkout $CHECKOUT"
#svn export . $cdir/ldns
info "exporting source into $cdir/ldns-nonstatic"
-git clone git://git.nlnetlabs.nl/ldns/ ldns-nonstatic || error_cleanup "git command failed"
+git clone "$GITREPO" ldns-nonstatic || error_cleanup "git command failed"
(cd ldns-nonstatic; git checkout "$CHECKOUT") || error_cleanup "Could not checkout $CHECKOUT"
#svn export . $cdir/ldns-nonstatic
@@ -139,7 +150,10 @@ else
sslflags="no-shared no-asm -DOPENSSL_NO_CAPIENG mingw"
fi
info "winssl: Configure $sslflags"
-CC="${warch}-w64-mingw32-gcc" AR="${warch}-w64-mingw32-ar" RANLIB="${warch}-w64-mingw32-ranlib" WINDRES="${warch}-w64-mingw32-windres" ./Configure --prefix="$sslinstall" "$sslflags" || error_cleanup "OpenSSL Configure failed"
+if test -f "/usr/${warch}-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" ; then
+ export __CNF_LDLIBS="-l:libssp.a"
+fi
+CC="${warch}-w64-mingw32-gcc" AR="${warch}-w64-mingw32-ar" RANLIB="${warch}-w64-mingw32-ranlib" WINDRES="${warch}-w64-mingw32-windres" ./Configure --prefix="$sslinstall" $sslflags || error_cleanup "OpenSSL Configure failed"
info "winssl: make"
make || error_cleanup "make failed for $WINSSL"
info "winssl: make install_sw"
@@ -156,8 +170,13 @@ if test ! -f install-sh -a -f ../../install-sh; then cp ../../install-sh . ; fi
libtoolize -ci
autoreconf -fi
ldns_flag="--with-examples --with-drill"
-info "ldns: Configure $cross_flag $ldns_flag"
-$configure "$cross_flag" "$ldns_flag" || error_cleanup "ldns configure failed"
+if test -f "/usr/${warch}-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" ; then
+ info "ldns: Configure $cross_flag $ldns_flag LDFLAGS=\"-fstack-protector\" LIBS=\"-l:libssp.a\""
+ $configure $cross_flag $ldns_flag LDFLAGS="-fstack-protector" LIBS="-l:libssp.a" || error_cleanup "ldns configure failed"
+else
+ info "ldns: Configure $cross_flag $ldns_flag"
+ $configure $cross_flag $ldns_flag || error_cleanup "ldns configure failed"
+fi
info "ldns: make"
make || error_cleanup "ldns make failed"
# do not strip debug symbols, could be useful for stack traces
@@ -178,7 +197,7 @@ else
sslflags_nonstatic="shared no-asm -DOPENSSL_NO_CAPIENG mingw"
fi
info "winsslnonstatic: Configure $sslflags_nonstatic"
-CC="${warch}-w64-mingw32-gcc" AR="${warch}-w64-mingw32-ar" RANLIB="${warch}-w64-mingw32-ranlib" WINDRES="${warch}-w64-mingw32-windres" ./Configure --prefix="$sslinstallnonstatic" "$sslflags_nonstatic" || error_cleanup "OpenSSL Configure failed"
+CC="${warch}-w64-mingw32-gcc" AR="${warch}-w64-mingw32-ar" RANLIB="${warch}-w64-mingw32-ranlib" WINDRES="${warch}-w64-mingw32-windres" ./Configure --prefix="$sslinstallnonstatic" $sslflags_nonstatic || error_cleanup "OpenSSL Configure failed"
info "winsslnonstatic: make"
make || error_cleanup "make failed for $WINSSL"
info "winsslnonstatic: make install_sw"
@@ -195,8 +214,13 @@ if test ! -f install-sh -a -f ../../install-sh; then cp ../../install-sh . ; fi
libtoolize -ci
autoreconf -fi
ldns_flag_nonstatic="--with-examples --with-drill"
-info "ldnsnonstatic: Configure $cross_flag_nonstatic $ldns_flag_nonstatic"
-$configure "$cross_flag_nonstatic" "$ldns_flag_nonstatic" || error_cleanup "ldns configure failed"
+if test -f "/usr/${warch}-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" ; then
+ info "ldnsnonstatic: Configure $cross_flag_nonstatic $ldns_flag_nonstatic LDFLAGS=\"-fstack-protector\" LIBS=\"-lssp\""
+ $configure $cross_flag_nonstatic $ldns_flag_nonstatic LDFLAGS="-fstack-protector" LIBS="-lssp" || error_cleanup "ldns configure failed"
+else
+ info "ldnsnonstatic: Configure $cross_flag_nonstatic $ldns_flag_nonstatic"
+ $configure $cross_flag_nonstatic $ldns_flag_nonstatic || error_cleanup "ldns configure failed"
+fi
info "ldnsnonstatic: make"
make || error_cleanup "ldns make failed"
# do not strip debug symbols, could be useful for stack traces
@@ -216,18 +240,31 @@ installplacenonstatic="$ldnsinstallnonstatic/usr/$warch-w64-mingw32/sys-root/min
cp "$installplace"/lib/libldns.a .
cp "$installplacenonstatic"/lib/libldns.dll.a .
cp "$installplacenonstatic"/bin/*.dll .
-cp "$sslinstallnonstatic"/lib/*.dll.a .
+if test -d "$sslinstallnonstatic"/lib64; then
+ cp "$sslinstallnonstatic"/lib64/*.dll.a .
+else
+ cp "$sslinstallnonstatic"/lib/*.dll.a .
+fi
cp "$sslinstallnonstatic"/bin/*.dll .
-cp "$sslinstallnonstatic"/lib/engines-*/*.dll .
+if test -d "$sslinstallnonstatic"/lib64; then
+ cp "$sslinstallnonstatic"/lib64/engines-*/*.dll .
+else
+ cp "$sslinstallnonstatic"/lib/engines-*/*.dll .
+fi
+if test -f "/usr/${warch}-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" ; then
+ cp "/usr/${warch}-w64-mingw32/sys-root/mingw/bin/libssp-0.dll" .
+fi
cp ../ldns/LICENSE .
cp ../ldns/README .
cp ../ldns/Changelog .
info "copy static exe"
for x in "$installplace"/bin/* ; do
- cp "$x" "$(basename "$x").exe"
+ cp "$x" .
done
# but the shell script stays a script file
-mv ldns-config.exe ldns-config
+if test -f ldns-config.exe; then
+ mv ldns-config.exe ldns-config
+fi
info "copy include"
mkdir include
mkdir include/ldns
@@ -244,13 +281,15 @@ for x in man1/*.1; do groff -man -Tascii -Z "$x" | grotty -cbu > cat1/"$(basenam
info "create cat3"
mkdir cat3
for x in man3/*.3; do groff -man -Tascii -Z "$x" | grotty -cbu > cat3/"$(basename "$x" .3).txt"; done
+add_files=""
+if test -f ldns-config; then add_files="$add_files ldns-config"; fi
rm -f "../../$file"
info "$file contents"
# show contents of directory we are zipping up.
du -s ./*
# zip it
info "zip $file"
-zip -r ../../"$file" LICENSE README libldns.a *.dll *.dll.a Changelog *.exe include man1 man3 cat1 cat3
+zip -r ../../"$file" LICENSE README libldns.a *.dll *.dll.a Changelog *.exe $add_files include man1 man3 cat1 cat3
info "Testing $file"
(cd ../.. ; zip -T "$file" ) || error_cleanup "errors in zipfile $file"
cd ..
diff --git a/net.c b/net.c
index 57d4dff24dbe..8fc9c8c48d87 100644
--- a/net.c
+++ b/net.c
@@ -201,14 +201,14 @@ ldns_tcp_connect_from(const struct sockaddr_storage *to, socklen_t tolen,
return -1;
}
#endif
- if (from && bind(sockfd, (const struct sockaddr*)from, fromlen) == SOCK_INVALID){
+ if (from && bind(sockfd, (const struct sockaddr*)from, fromlen) == -1){
close_socket(sockfd);
return -1;
}
/* perform nonblocking connect, to be able to wait with select() */
ldns_sock_nonblock(sockfd);
- if (connect(sockfd, (struct sockaddr*)to, tolen) == SOCK_INVALID) {
+ if (connect(sockfd, (struct sockaddr*)to, tolen) == -1) {
#ifndef USE_WINSOCK
#ifdef EINPROGRESS
if(errno != EINPROGRESS) {
diff --git a/packaging/ldns-config.1 b/packaging/ldns-config.1
index 72afc1898ebb..37df20a40311 100644
--- a/packaging/ldns-config.1
+++ b/packaging/ldns-config.1
@@ -38,7 +38,7 @@ Show \fBldns-config\fR usage description
Written by the ldns team.
.SH REPORTING BUGS
-Report bugs to <ldns-team@nlnetlabs.nl>.
+Report bugs to <dns-team@nlnetlabs.nl>.
.SH COPYRIGHT
Copyright (C) 2011 NLnet Labs. This is free software. There is NO
diff --git a/packet.c b/packet.c
index afa59005c3bd..059cc09b0f97 100644
--- a/packet.c
+++ b/packet.c
@@ -759,6 +759,8 @@ ldns_pkt_edns(const ldns_pkt *pkt)
}
ldns_edns_option_list*
+pkt_edns_data2edns_option_list(const ldns_rdf *edns_data);
+ldns_edns_option_list*
pkt_edns_data2edns_option_list(const ldns_rdf *edns_data)
{
size_t pos = 0;
@@ -781,7 +783,7 @@ pkt_edns_data2edns_option_list(const ldns_rdf *edns_data)
ldns_edns_option* edns;
uint8_t *data;
- if (pos + 4 > max) { /* make sure the header is */
+ if (pos + 4 > max) { /* make sure the header fits */
ldns_edns_option_list_deep_free(edns_list);
return NULL;
}
diff --git a/rr.c b/rr.c
index 95ab71d34946..16f08d3500aa 100644
--- a/rr.c
+++ b/rr.c
@@ -724,6 +724,10 @@ ldns_rr_new_frm_fp(ldns_rr **newrr, FILE *fp, uint32_t *ttl, ldns_rdf **origin,
ldns_status
_ldns_rr_new_frm_fp_l_internal(ldns_rr **newrr, FILE *fp,
uint32_t *default_ttl, ldns_rdf **origin, ldns_rdf **prev,
+ int *line_nr, bool *explicit_ttl);
+ldns_status
+_ldns_rr_new_frm_fp_l_internal(ldns_rr **newrr, FILE *fp,
+ uint32_t *default_ttl, ldns_rdf **origin, ldns_rdf **prev,
int *line_nr, bool *explicit_ttl)
{
char *line = NULL;
@@ -2321,7 +2325,7 @@ static ldns_rr_descriptor rdata_field_descriptors[] = {
{LDNS_RR_TYPE_NULL, "TYPE125", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
{LDNS_RR_TYPE_NULL, "TYPE126", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
{LDNS_RR_TYPE_NULL, "TYPE127", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
-{LDNS_RR_TYPE_NULL, "TYPE128", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
+{LDNS_RR_TYPE_NXNAME, "NXNAME", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
{LDNS_RR_TYPE_NULL, "TYPE129", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
{LDNS_RR_TYPE_NULL, "TYPE130", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
{LDNS_RR_TYPE_NULL, "TYPE131", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
@@ -2488,6 +2492,14 @@ static ldns_rr_descriptor rdata_field_descriptors[] = {
#else
{LDNS_RR_TYPE_NULL, "TYPE260", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
#endif
+#ifdef RRTYPE_RESINFO
+ /* 261 */
+ {LDNS_RR_TYPE_RESINFO, "RESINFO", 1, 0, NULL, LDNS_RDF_TYPE_STR, LDNS_RR_NO_COMPRESS, 0 },
+#else
+{LDNS_RR_TYPE_NULL, "TYPE261", 1, 1, type_0_wireformat, LDNS_RDF_TYPE_NONE, LDNS_RR_NO_COMPRESS, 0 },
+#endif
+ /* 262 */
+ {LDNS_RR_TYPE_WALLET, "TXT", 1, 0, NULL, LDNS_RDF_TYPE_STR, LDNS_RR_NO_COMPRESS, 0 },
/* split in array, no longer contiguous */
diff --git a/util.c b/util.c
index 807a99e2308d..662aa23a96d1 100644
--- a/util.c
+++ b/util.c
@@ -317,6 +317,8 @@ ldns_serial_arithmetics_gmtime_r(int32_t time, time_t now, struct tm *result)
#endif
/* alias function because of previously used wrong spelling */
struct tm *
+ldns_serial_arithmitics_gmtime_r(int32_t time, time_t now, struct tm *result);
+struct tm *
ldns_serial_arithmitics_gmtime_r(int32_t time, time_t now, struct tm *result)
{
return ldns_serial_arithmetics_gmtime_r(time, now, result);
diff --git a/wire2host.c b/wire2host.c
index 63b67a0d1713..91d3f1364d75 100644
--- a/wire2host.c
+++ b/wire2host.c
@@ -59,7 +59,6 @@ ldns_wire2dname(ldns_rdf **dname, const uint8_t *wire, size_t max, size_t *pos)
uint16_t pointer_target;
uint8_t pointer_target_buf[2];
size_t dname_pos = 0;
- size_t uncompressed_length = 0;
size_t compression_pos = 0;
uint8_t tmp_dname[LDNS_MAX_DOMAINLEN];
unsigned int pointer_count = 0;
@@ -120,7 +119,6 @@ ldns_wire2dname(ldns_rdf **dname, const uint8_t *wire, size_t max, size_t *pos)
return LDNS_STATUS_DOMAINNAME_OVERFLOW;
}
memcpy(&tmp_dname[dname_pos], &wire[*pos], label_size);
- uncompressed_length += label_size + 1;
dname_pos += label_size;
*pos = *pos + label_size;