INSTALL = $(srcdir)/install-sh
LIBLOBJS = $(LIBOBJS:.o=.lo)
-LDNS_LOBJS = buffer.lo dane.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo duration.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo net.lo packet.lo parse.lo radix.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo
+LDNS_LOBJS = buffer.lo dane.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo duration.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo net.lo packet.lo parse.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo
LDNS_LOBJS_EX = ^linktest\.c$$
LDNS_ALL_LOBJS = $(LDNS_LOBJS) $(LIBLOBJS)
LIB = libldns.la
-LDNS_HEADERS = buffer.h dane.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h duration.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h radix.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h
+LDNS_HEADERS = buffer.h dane.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h duration.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h
LDNS_HEADERS_EX = ^config\.h|common\.h|util\.h|net\.h$$
LDNS_HEADERS_GEN= common.h util.h net.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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dane.lo dane.o: $(srcdir)/dane.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dname.lo dname.o: $(srcdir)/dname.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dnssec.lo dnssec.o: $(srcdir)/dnssec.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dnssec_sign.lo dnssec_sign.o: $(srcdir)/dnssec_sign.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dnssec_verify.lo dnssec_verify.o: $(srcdir)/dnssec_verify.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
dnssec_zone.lo dnssec_zone.o: $(srcdir)/dnssec_zone.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
duration.lo duration.o: $(srcdir)/duration.c ldns/config.h $(srcdir)/ldns/duration.h
error.lo error.o: $(srcdir)/error.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
higher.lo higher.o: $(srcdir)/higher.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
host2str.lo host2str.o: $(srcdir)/host2str.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
host2wire.lo host2wire.o: $(srcdir)/host2wire.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
keys.lo keys.o: $(srcdir)/keys.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
linktest.lo linktest.o: $(srcdir)/linktest.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
net.lo net.o: $(srcdir)/net.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
packet.lo packet.o: $(srcdir)/packet.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
parse.lo parse.o: $(srcdir)/parse.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
-radix.lo radix.o: $(srcdir)/radix.c ldns/config.h $(srcdir)/ldns/radix.h $(srcdir)/ldns/error.h ldns/util.h \
- ldns/common.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
rbtree.lo rbtree.o: $(srcdir)/rbtree.c ldns/config.h $(srcdir)/ldns/rbtree.h ldns/util.h ldns/common.h
rdata.lo rdata.o: $(srcdir)/rdata.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
resolver.lo resolver.o: $(srcdir)/resolver.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
rr.lo rr.o: $(srcdir)/rr.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
rr_functions.lo rr_functions.o: $(srcdir)/rr_functions.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
sha1.lo sha1.o: $(srcdir)/sha1.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
sha2.lo sha2.o: $(srcdir)/sha2.c ldns/config.h $(srcdir)/ldns/sha2.h
str2host.lo str2host.o: $(srcdir)/str2host.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
tsig.lo tsig.o: $(srcdir)/tsig.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
update.lo update.o: $(srcdir)/update.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
util.lo util.o: $(srcdir)/util.c ldns/config.h $(srcdir)/ldns/rdata.h ldns/common.h $(srcdir)/ldns/error.h \
ldns/util.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/buffer.h
wire2host.lo wire2host.o: $(srcdir)/wire2host.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
zone.lo zone.o: $(srcdir)/zone.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
compat/b32_ntop.lo compat/b32_ntop.o: $(srcdir)/compat/b32_ntop.c ldns/config.h
compat/b32_pton.lo compat/b32_pton.o: $(srcdir)/compat/b32_pton.c ldns/config.h
compat/b64_ntop.lo compat/b64_ntop.o: $(srcdir)/compat/b64_ntop.c ldns/config.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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-compare-zones.lo examples/ldns-compare-zones.o: $(srcdir)/examples/ldns-compare-zones.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-dane.lo examples/ldns-dane.o: $(srcdir)/examples/ldns-dane.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldnsd.lo examples/ldnsd.o: $(srcdir)/examples/ldnsd.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h \
$(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h \
$(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h $(srcdir)/ldns/zone.h \
$(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-dpa.lo examples/ldns-dpa.o: $(srcdir)/examples/ldns-dpa.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-dpa.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-dpa.h
examples/ldns-gen-zone.lo examples/ldns-gen-zone.o: $(srcdir)/examples/ldns-gen-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-key2ds.lo examples/ldns-key2ds.o: $(srcdir)/examples/ldns-key2ds.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-keyfetcher.lo examples/ldns-keyfetcher.o: $(srcdir)/examples/ldns-keyfetcher.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-keygen.lo examples/ldns-keygen.o: $(srcdir)/examples/ldns-keygen.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-mx.lo examples/ldns-mx.o: $(srcdir)/examples/ldns-mx.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-notify.lo examples/ldns-notify.o: $(srcdir)/examples/ldns-notify.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-nsec3-hash.lo examples/ldns-nsec3-hash.o: $(srcdir)/examples/ldns-nsec3-hash.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-read-zone.lo examples/ldns-read-zone.o: $(srcdir)/examples/ldns-read-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-resolver.lo examples/ldns-resolver.o: $(srcdir)/examples/ldns-resolver.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-revoke.lo examples/ldns-revoke.o: $(srcdir)/examples/ldns-revoke.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-rrsig.lo examples/ldns-rrsig.o: $(srcdir)/examples/ldns-rrsig.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-signzone.lo examples/ldns-signzone.o: $(srcdir)/examples/ldns-signzone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-test-edns.lo examples/ldns-test-edns.o: $(srcdir)/examples/ldns-test-edns.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-testns.lo examples/ldns-testns.o: $(srcdir)/examples/ldns-testns.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
examples/ldns-testpkts.lo examples/ldns-testpkts.o: $(srcdir)/examples/ldns-testpkts.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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-testpkts.h
+ $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h $(srcdir)/examples/ldns-testpkts.h
examples/ldns-update.lo examples/ldns-update.o: $(srcdir)/examples/ldns-update.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-verify-zone.lo examples/ldns-verify-zone.o: $(srcdir)/examples/ldns-verify-zone.c ldns/config.h $(srcdir)/ldns/ldns.h \
ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h \
$(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h \
$(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)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-version.lo examples/ldns-version.o: $(srcdir)/examples/ldns-version.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-walk.lo examples/ldns-walk.o: $(srcdir)/examples/ldns-walk.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-zcat.lo examples/ldns-zcat.o: $(srcdir)/examples/ldns-zcat.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
examples/ldns-zsplit.lo examples/ldns-zsplit.o: $(srcdir)/examples/ldns-zsplit.c ldns/config.h $(srcdir)/ldns/ldns.h ldns/util.h \
ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h \
$(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h $(srcdir)/ldns/packet.h $(srcdir)/ldns/keys.h \
$(srcdir)/ldns/zone.h $(srcdir)/ldns/resolver.h $(srcdir)/ldns/tsig.h $(srcdir)/ldns/dnssec_zone.h $(srcdir)/ldns/rbtree.h \
$(srcdir)/ldns/host2str.h $(srcdir)/ldns/dnssec_verify.h $(srcdir)/ldns/dnssec_sign.h $(srcdir)/ldns/duration.h \
$(srcdir)/ldns/higher.h $(srcdir)/ldns/host2wire.h ldns/net.h $(srcdir)/ldns/str2host.h $(srcdir)/ldns/update.h \
- $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/radix.h \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
drill/chasetrace.lo drill/chasetrace.o: $(srcdir)/drill/chasetrace.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
drill/dnssec.lo drill/dnssec.o: $(srcdir)/drill/dnssec.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
$(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 $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/drill.lo drill/drill.o: $(srcdir)/drill/drill.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
$(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 $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/drill_util.lo drill/drill_util.o: $(srcdir)/drill/drill_util.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
drill/error.lo drill/error.o: $(srcdir)/drill/error.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
$(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 $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/root.lo drill/root.o: $(srcdir)/drill/root.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
$(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 $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
drill/securetrace.lo drill/securetrace.o: $(srcdir)/drill/securetrace.c $(srcdir)/drill/drill.h ldns/config.h \
$(srcdir)/drill/drill_util.h $(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h \
$(srcdir)/ldns/error.h $(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h \
$(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 \
- $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/wire2host.h $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h \
+ $(srcdir)/ldns/sha2.h
drill/work.lo drill/work.o: $(srcdir)/drill/work.c $(srcdir)/drill/drill.h ldns/config.h $(srcdir)/drill/drill_util.h \
$(srcdir)/ldns/ldns.h ldns/util.h ldns/common.h $(srcdir)/ldns/buffer.h $(srcdir)/ldns/error.h \
$(srcdir)/ldns/dane.h $(srcdir)/ldns/rdata.h $(srcdir)/ldns/rr.h $(srcdir)/ldns/dname.h $(srcdir)/ldns/dnssec.h \
$(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 $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
+ $(srcdir)/ldns/rr_functions.h $(srcdir)/ldns/parse.h $(srcdir)/ldns/sha1.h $(srcdir)/ldns/sha2.h
examples/ldns-chaos: examples/ldns-chaos.lo examples/ldns-chaos.o $(LIB)
examples/ldns-compare-zones: examples/ldns-compare-zones.lo examples/ldns-compare-zones.o $(LIB)
examples/ldnsd: examples/ldnsd.lo examples/ldnsd.o $(LIB)
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
-#include <signal.h>
#include <ldns/ldns.h>
#include <openssl/err.h>
#include <openssl/x509v3.h>
+#ifndef IPPROTO_SCTP
+#define IPPROTO_SCTP 132
+#endif
+
#define LDNS_ERR(code, msg) do { if (code != LDNS_STATUS_OK) \
ldns_err(msg, code); } while (false)
#define MEMERR(msg) do { fprintf(stderr, "memory error in %s\n", msg); \
#include <ldns/parse.h>
#include <ldns/zone.h>
#include <ldns/dnssec_zone.h>
-#include <ldns/radix.h>
#include <ldns/rbtree.h>
#include <ldns/sha1.h>
#include <ldns/sha2.h>
+++ /dev/null
-/*
- * radix.h -- generic radix tree
- *
- * Copyright (c) 2012, NLnet Labs. All rights reserved.
- *
- * This software is open source.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * Neither the name of the NLNET LABS nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/**
- * \file
- * Radix tree. Implementation taken from NSD 4, adjusted for use in ldns.
- *
- */
-
-#ifndef LDNS_RADIX_H_
-#define LDNS_RADIX_H_
-
-#include <ldns/error.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef uint16_t radix_strlen_t;
-typedef struct ldns_radix_array_t ldns_radix_array_t;
-typedef struct ldns_radix_node_t ldns_radix_node_t;
-typedef struct ldns_radix_t ldns_radix_t;
-
-/** Radix node select edge array */
-struct ldns_radix_array_t {
- /** Additional string after the selection byte for this edge. */
- uint8_t* str;
- /** Length of additional string for this edge. */
- radix_strlen_t len;
- /** Node that deals with byte+str. */
- ldns_radix_node_t* edge;
-};
-
-/** A node in a radix tree */
-struct ldns_radix_node_t {
- /** Key corresponding to this node. */
- uint8_t* key;
- /** Key length corresponding to this node. */
- radix_strlen_t klen;
- /** Data corresponding to this node. */
- void* data;
- /** Parent node. */
- ldns_radix_node_t* parent;
- /** Index in the the parent node select edge array. */
- uint8_t parent_index;
- /** Length of the array. */
- uint16_t len;
- /** Offset of the array. */
- uint16_t offset;
- /** Capacity of the array. */
- uint16_t capacity;
- /** Select edge array. */
- ldns_radix_array_t* array;
-};
-
-/** An entire radix tree */
-struct ldns_radix_t {
- /** Root. */
- ldns_radix_node_t* root;
- /** Number of nodes in tree. */
- size_t count;
-};
-
-/**
- * Create a new radix tree.
- * @return: new radix tree.
- *
- */
-ldns_radix_t* ldns_radix_create(void);
-
-/**
- * Initialize radix tree.
- * @param tree: uninitialized radix tree.
- *
- */
-void ldns_radix_init(ldns_radix_t* tree);
-
-/**
- * Free the radix tree.
- * @param tree: radix tree.
- *
- */
-void ldns_radix_free(ldns_radix_t* tree);
-
-/**
- * Insert data into the tree.
- * @param tree: tree to insert to.
- * @param key: key.
- * @param len: length of key.
- * @param data: data.
- * @return: status.
- *
- */
-ldns_status ldns_radix_insert(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len, void* data);
-
-/**
- * Delete data from the tree.
- * @param tree: tree to insert to.
- * @param key: key.
- * @param len: length of key.
- * @return: unlinked data or NULL if not present.
- *
- */
-void* ldns_radix_delete(ldns_radix_t* tree, uint8_t* key, radix_strlen_t len);
-
-/**
- * Search data in the tree.
- * @param tree: tree to insert to.
- * @param key: key.
- * @param len: length of key.
- * @return: the radix node or NULL if not found.
- *
- */
-ldns_radix_node_t* ldns_radix_search(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len);
-
-/**
- * Search data in the tree, and if not found, find the closest smaller
- * element in the tree.
- * @param tree: tree to insert to.
- * @param key: key.
- * @param len: length of key.
- * @param result: the radix node with the exact or closest match. NULL if
- * the key is smaller than the smallest key in the tree.
- * @return 1 if exact match, 0 otherwise.
- *
- */
-int ldns_radix_find_less_equal(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len, ldns_radix_node_t** result);
-
-/**
- * Get the first element in the tree.
- * @param tree: tree.
- * @return: the radix node with the first element.
- *
- */
-ldns_radix_node_t* ldns_radix_first(ldns_radix_t* tree);
-
-/**
- * Get the last element in the tree.
- * @param tree: tree.
- * @return: the radix node with the last element.
- *
- */
-ldns_radix_node_t* ldns_radix_last(ldns_radix_t* tree);
-
-/**
- * Next element.
- * @param node: node.
- * @return: node with next element.
- *
- */
-ldns_radix_node_t* ldns_radix_next(ldns_radix_node_t* node);
-
-/**
- * Previous element.
- * @param node: node.
- * @return: node with previous element.
- *
- */
-ldns_radix_node_t* ldns_radix_prev(ldns_radix_node_t* node);
-
-/**
- * Split radix tree intwo.
- * @param tree1: one tree.
- * @param num: number of elements to split off.
- * @param tree2: another tree.
- * @return: status.
- *
- */
-ldns_status ldns_radix_split(ldns_radix_t* tree1, size_t num,
- ldns_radix_t** tree2);
-
-/**
- * Join two radix trees.
- * @param tree1: one tree.
- * @param tree2: another tree.
- * @return: status.
- *
- */
-ldns_status ldns_radix_join(ldns_radix_t* tree1, ldns_radix_t* tree2);
-
-/**
- * Call function for all nodes in the tree, such that leaf nodes are
- * called before parent nodes.
- * @param node: start node.
- * @param func: function.
- * @param arg: user argument.
- *
- */
-void ldns_radix_traverse_postorder(ldns_radix_node_t* node,
- void (*func)(ldns_radix_node_t*, void*), void* arg);
-
-/**
- * Print radix tree (for debugging purposes).
- * @param fd: file descriptor.
- * @param tree: tree.
- *
- */
-void ldns_radix_printf(FILE* fd, ldns_radix_t* tree);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* LDNS_RADIX_H_ */
+++ /dev/null
-/*
- * radix.c -- generic radix tree
- *
- * Taken from NSD4, modified for ldns
- *
- * Copyright (c) 2012, NLnet Labs. All rights reserved.
- *
- * This software is open source.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * Neither the name of the NLNET LABS nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/**
- * \file
- * Implementation of a radix tree.
- */
-
-#include <ldns/config.h>
-#include <ldns/radix.h>
-#include <ldns/util.h>
-#include <stdlib.h>
-
-/** Helper functions */
-static ldns_radix_node_t* ldns_radix_new_node(void* data, uint8_t* key,
- radix_strlen_t len);
-static int ldns_radix_find_prefix(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len, ldns_radix_node_t** result, radix_strlen_t* pos);
-static int ldns_radix_array_space(ldns_radix_node_t* node, uint8_t byte);
-static int ldns_radix_array_grow(ldns_radix_node_t* node, unsigned need);
-static int ldns_radix_str_create(ldns_radix_array_t* array, uint8_t* key,
- radix_strlen_t pos, radix_strlen_t len);
-static int ldns_radix_prefix_remainder(radix_strlen_t prefix_len,
- uint8_t* longer_str, radix_strlen_t longer_len, uint8_t** split_str,
- radix_strlen_t* split_len);
-static int ldns_radix_array_split(ldns_radix_array_t* array, uint8_t* key,
- radix_strlen_t pos, radix_strlen_t len, ldns_radix_node_t* add);
-static int ldns_radix_str_is_prefix(uint8_t* str1, radix_strlen_t len1,
- uint8_t* str2, radix_strlen_t len2);
-static radix_strlen_t ldns_radix_str_common(uint8_t* str1, radix_strlen_t len1,
- uint8_t* str2, radix_strlen_t len2);
-static ldns_radix_node_t* ldns_radix_next_in_subtree(ldns_radix_node_t* node);
-static ldns_radix_node_t* ldns_radix_prev_from_index(ldns_radix_node_t* node,
- uint8_t index);
-static ldns_radix_node_t* ldns_radix_last_in_subtree_incl_self(
- ldns_radix_node_t* node);
-static ldns_radix_node_t* ldns_radix_last_in_subtree(ldns_radix_node_t* node);
-static void ldns_radix_del_fix(ldns_radix_t* tree, ldns_radix_node_t* node);
-static void ldns_radix_cleanup_onechild(ldns_radix_node_t* node);
-static void ldns_radix_cleanup_leaf(ldns_radix_node_t* node);
-static void ldns_radix_node_free(ldns_radix_node_t* node, void* arg);
-static void ldns_radix_node_array_free(ldns_radix_node_t* node);
-static void ldns_radix_node_array_free_front(ldns_radix_node_t* node);
-static void ldns_radix_node_array_free_end(ldns_radix_node_t* node);
-static void ldns_radix_array_reduce(ldns_radix_node_t* node);
-static void ldns_radix_self_or_prev(ldns_radix_node_t* node,
- ldns_radix_node_t** result);
-
-
-/**
- * Create a new radix node.
- *
- */
-static ldns_radix_node_t*
-ldns_radix_new_node(void* data, uint8_t* key, radix_strlen_t len)
-{
- ldns_radix_node_t* node = LDNS_MALLOC(ldns_radix_node_t);
- if (!node) {
- return NULL;
- }
- node->data = data;
- node->key = key;
- node->klen = len;
- node->parent = NULL;
- node->parent_index = 0;
- node->len = 0;
- node->offset = 0;
- node->capacity = 0;
- node->array = NULL;
- return node;
-}
-
-
-/**
- * Create a new radix tree.
- *
- */
-ldns_radix_t *
-ldns_radix_create(void)
-{
- ldns_radix_t* tree;
-
- /** Allocate memory for it */
- tree = (ldns_radix_t *) LDNS_MALLOC(ldns_radix_t);
- if (!tree) {
- return NULL;
- }
- /** Initialize it */
- ldns_radix_init(tree);
- return tree;
-}
-
-
-/**
- * Initialize radix tree.
- *
- */
-void
-ldns_radix_init(ldns_radix_t* tree)
-{
- /** Initialize it */
- if (tree) {
- tree->root = NULL;
- tree->count = 0;
- }
- return;
-}
-
-
-/**
- * Free radix tree.
- *
- */
-void
-ldns_radix_free(ldns_radix_t* tree)
-{
- if (tree) {
- if (tree->root) {
- ldns_radix_traverse_postorder(tree->root,
- ldns_radix_node_free, NULL);
- }
- LDNS_FREE(tree);
- }
- return;
-}
-
-
-/**
- * Insert data into the tree.
- *
- */
-ldns_status
-ldns_radix_insert(ldns_radix_t* tree, uint8_t* key, radix_strlen_t len,
- void* data)
-{
- radix_strlen_t pos = 0;
- ldns_radix_node_t* add = NULL;
- ldns_radix_node_t* prefix = NULL;
-
- if (!tree || !key || !data) {
- return LDNS_STATUS_NULL;
- }
- add = ldns_radix_new_node(data, key, len);
- if (!add) {
- return LDNS_STATUS_MEM_ERR;
- }
- /** Search the trie until we can make no further process. */
- if (!ldns_radix_find_prefix(tree, key, len, &prefix, &pos)) {
- /** No prefix found */
- assert(tree->root == NULL);
- if (len == 0) {
- /**
- * Example 1: The root:
- * | [0]
- **/
- tree->root = add;
- } else {
- /** Example 2: 'dns':
- * | [0]
- * --| [d+ns] dns
- **/
- prefix = ldns_radix_new_node(NULL, (uint8_t*)"", 0);
- if (!prefix) {
- LDNS_FREE(add);
- return LDNS_STATUS_MEM_ERR;
- }
- /** Find some space in the array for the first byte */
- if (!ldns_radix_array_space(prefix, key[0])) {
- LDNS_FREE(add);
- LDNS_FREE(prefix);
- LDNS_FREE(prefix->array);
- return LDNS_STATUS_MEM_ERR;
- }
- /** Set relational pointers */
- add->parent = prefix;
- add->parent_index = 0;
- prefix->array[0].edge = add;
- if (len > 1) {
- /** Store the remainder of the prefix */
- if (!ldns_radix_prefix_remainder(1, key,
- len, &prefix->array[0].str,
- &prefix->array[0].len)) {
- LDNS_FREE(add);
- LDNS_FREE(prefix);
- LDNS_FREE(prefix->array);
- return LDNS_STATUS_MEM_ERR;
- }
- }
- tree->root = prefix;
- }
- } else if (pos == len) {
- /** Exact match found */
- if (prefix->data) {
- /* Element already exists */
- LDNS_FREE(add);
- return LDNS_STATUS_EXISTS_ERR;
- }
- prefix->data = data;
- prefix->key = key;
- prefix->klen = len; /* redundant */
- } else {
- /** Prefix found */
- uint8_t byte = key[pos];
- assert(pos < len);
- if (byte < prefix->offset ||
- (byte - prefix->offset) >= prefix->len) {
- /** Find some space in the array for the byte. */
- /**
- * Example 3: 'ldns'
- * | [0]
- * --| [d+ns] dns
- * --| [l+dns] ldns
- **/
- if (!ldns_radix_array_space(prefix, byte)) {
- LDNS_FREE(add);
- return LDNS_STATUS_MEM_ERR;
- }
- assert(byte >= prefix->offset);
- assert((byte - prefix->offset) <= prefix->len);
- byte -= prefix->offset;
- if (pos+1 < len) {
- /** Create remainder of the string. */
- if (!ldns_radix_str_create(
- &prefix->array[byte], key, pos+1,
- len)) {
- LDNS_FREE(add);
- return LDNS_STATUS_MEM_ERR;
- }
- }
- /** Add new node. */
- add->parent = prefix;
- add->parent_index = byte;
- prefix->array[byte].edge = add;
- } else if (prefix->array[byte-prefix->offset].edge == NULL) {
- /** Use existing element. */
- /**
- * Example 4: 'edns'
- * | [0]
- * --| [d+ns] dns
- * --| [e+dns] edns
- * --| [l+dns] ldns
- **/
- byte -= prefix->offset;
- if (pos+1 < len) {
- /** Create remainder of the string. */
- if (!ldns_radix_str_create(
- &prefix->array[byte], key, pos+1,
- len)) {
- LDNS_FREE(add);
- return LDNS_STATUS_MEM_ERR;
- }
- }
- /** Add new node. */
- add->parent = prefix;
- add->parent_index = byte;
- prefix->array[byte].edge = add;
- } else {
- /**
- * Use existing element, but it has a shared prefix,
- * we need a split.
- */
- if (!ldns_radix_array_split(&prefix->array[byte-(prefix->offset)],
- key, pos+1, len, add)) {
- LDNS_FREE(add);
- return LDNS_STATUS_MEM_ERR;
- }
- }
- }
-
- tree->count ++;
- return LDNS_STATUS_OK;
-}
-
-
-/**
- * Delete data from the tree.
- *
- */
-void* ldns_radix_delete(ldns_radix_t* tree, uint8_t* key, radix_strlen_t len)
-{
- ldns_radix_node_t* del = ldns_radix_search(tree, key, len);
- void* data = NULL;
- if (del) {
- tree->count--;
- data = del->data;
- del->data = NULL;
- ldns_radix_del_fix(tree, del);
- return data;
- }
- return NULL;
-}
-
-
-/**
- * Search data in the tree.
- *
- */
-ldns_radix_node_t*
-ldns_radix_search(ldns_radix_t* tree, uint8_t* key, radix_strlen_t len)
-{
- ldns_radix_node_t* node = NULL;
- radix_strlen_t pos = 0;
- uint8_t byte = 0;
-
- if (!tree || !key) {
- return NULL;
- }
- node = tree->root;
- while (node) {
- if (pos == len) {
- return node->data?node:NULL;
- }
- byte = key[pos];
- if (byte < node->offset) {
- return NULL;
- }
- byte -= node->offset;
- if (byte >= node->len) {
- return NULL;
- }
- pos++;
- if (node->array[byte].len > 0) {
- /** Must match additional string. */
- if (pos + node->array[byte].len > len) {
- return NULL;
- }
- if (memcmp(&key[pos], node->array[byte].str,
- node->array[byte].len) != 0) {
- return NULL;
- }
- pos += node->array[byte].len;
- }
- node = node->array[byte].edge;
- }
- return NULL;
-}
-
-
-/**
- * Search data in the tree, and if not found, find the closest smaller
- * element in the tree.
- *
- */
-int
-ldns_radix_find_less_equal(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len, ldns_radix_node_t** result)
-{
- ldns_radix_node_t* node = NULL;
- radix_strlen_t pos = 0;
- uint8_t byte;
- int memcmp_res = 0;
-
- if (!tree || !tree->root || !key) {
- *result = NULL;
- return 0;
- }
-
- node = tree->root;
- while (pos < len) {
- byte = key[pos];
- if (byte < node->offset) {
- /**
- * No exact match. The lesser is in this or the
- * previous node.
- */
- ldns_radix_self_or_prev(node, result);
- return 0;
- }
- byte -= node->offset;
- if (byte >= node->len) {
- /**
- * No exact match. The lesser is in this node or the
- * last of this array, or something before this node.
- */
- *result = ldns_radix_last_in_subtree_incl_self(node);
- if (*result == NULL) {
- *result = ldns_radix_prev(node);
- }
- return 0;
- }
- pos++;
- if (!node->array[byte].edge) {
- /**
- * No exact match. Find the previous in the array
- * from this index.
- */
- *result = ldns_radix_prev_from_index(node, byte);
- if (*result == NULL) {
- ldns_radix_self_or_prev(node, result);
- }
- return 0;
- }
- if (node->array[byte].len != 0) {
- /** Must match additional string. */
- if (pos + node->array[byte].len > len) {
- /** Additional string is longer than key. */
- if (memcmp(&key[pos], node->array[byte].str,
- len-pos) <= 0) {
- /** Key is before this node. */
- *result = ldns_radix_prev(
- node->array[byte].edge);
- } else {
- /** Key is after additional string. */
- *result = ldns_radix_last_in_subtree_incl_self(node->array[byte].edge);
- if (*result == NULL) {
- *result = ldns_radix_prev(node->array[byte].edge);
- }
- }
- return 0;
- }
- memcmp_res = memcmp(&key[pos], node->array[byte].str,
- node->array[byte].len);
- if (memcmp_res < 0) {
- *result = ldns_radix_prev(
- node->array[byte].edge);
- return 0;
- } else if (memcmp_res > 0) {
- *result = ldns_radix_last_in_subtree_incl_self(node->array[byte].edge);
- if (*result == NULL) {
- *result = ldns_radix_prev(node->array[byte].edge);
- }
- return 0;
- }
-
- pos += node->array[byte].len;
- }
- node = node->array[byte].edge;
- }
- if (node->data) {
- /** Exact match. */
- *result = node;
- return 1;
- }
- /** There is a node which is an exact match, but has no element. */
- *result = ldns_radix_prev(node);
- return 0;
-}
-
-
-/**
- * Get the first element in the tree.
- *
- */
-ldns_radix_node_t*
-ldns_radix_first(ldns_radix_t* tree)
-{
- ldns_radix_node_t* first = NULL;
- if (!tree || !tree->root) {
- return NULL;
- }
- first = tree->root;
- if (first->data) {
- return first;
- }
- return ldns_radix_next(first);
-}
-
-
-/**
- * Get the last element in the tree.
- *
- */
-ldns_radix_node_t*
-ldns_radix_last(ldns_radix_t* tree)
-{
- if (!tree || !tree->root) {
- return NULL;
- }
- return ldns_radix_last_in_subtree_incl_self(tree->root);
-}
-
-
-/**
- * Next element.
- *
- */
-ldns_radix_node_t*
-ldns_radix_next(ldns_radix_node_t* node)
-{
- if (!node) {
- return NULL;
- }
- if (node->len) {
- /** Go down: most-left child is the next. */
- ldns_radix_node_t* next = ldns_radix_next_in_subtree(node);
- if (next) {
- return next;
- }
- }
- /** No elements in subtree, get to parent and go down next branch. */
- while (node->parent) {
- uint8_t index = node->parent_index;
- node = node->parent;
- index++;
- for (; index < node->len; index++) {
- if (node->array[index].edge) {
- ldns_radix_node_t* next;
- /** Node itself. */
- if (node->array[index].edge->data) {
- return node->array[index].edge;
- }
- /** Dive into subtree. */
- next = ldns_radix_next_in_subtree(node);
- if (next) {
- return next;
- }
- }
- }
- }
- return NULL;
-}
-
-
-/**
- * Previous element.
- *
- */
-ldns_radix_node_t*
-ldns_radix_prev(ldns_radix_node_t* node)
-{
- if (!node) {
- return NULL;
- }
-
- /** Get to parent and go down previous branch. */
- while (node->parent) {
- uint8_t index = node->parent_index;
- ldns_radix_node_t* prev;
- node = node->parent;
- assert(node->len > 0);
- prev = ldns_radix_prev_from_index(node, index);
- if (prev) {
- return prev;
- }
- if (node->data) {
- return node;
- }
- }
- return NULL;
-}
-
-
-/**
- * Print node.
- *
- */
-static void
-ldns_radix_node_print(FILE* fd, ldns_radix_node_t* node,
- uint8_t i, uint8_t* str, radix_strlen_t len, unsigned d)
-{
- uint8_t j;
- if (!node) {
- return;
- }
- for (j = 0; j < d; j++) {
- fprintf(fd, "--");
- }
- if (str) {
- radix_strlen_t l;
- fprintf(fd, "| [%u+", (unsigned) i);
- for (l=0; l < len; l++) {
- fprintf(fd, "%c", (char) str[l]);
- }
- fprintf(fd, "]%u", (unsigned) len);
- } else {
- fprintf(fd, "| [%u]", (unsigned) i);
- }
-
- if (node->data) {
- fprintf(fd, " %s", (char*) node->data);
- }
- fprintf(fd, "\n");
-
- for (j = 0; j < node->len; j++) {
- if (node->array[j].edge) {
- ldns_radix_node_print(fd, node->array[j].edge, j,
- node->array[j].str, node->array[j].len, d+1);
- }
- }
- return;
-}
-
-
-/**
- * Print radix tree.
- *
- */
-void
-ldns_radix_printf(FILE* fd, ldns_radix_t* tree)
-{
- if (!fd || !tree) {
- return;
- }
- if (!tree->root) {
- fprintf(fd, "; empty radix tree\n");
- return;
- }
- ldns_radix_node_print(fd, tree->root, 0, NULL, 0, 0);
- return;
-}
-
-
-/**
- * Join two radix trees.
- *
- */
-ldns_status
-ldns_radix_join(ldns_radix_t* tree1, ldns_radix_t* tree2)
-{
- ldns_radix_node_t* cur_node, *next_node;
- ldns_status status;
- if (!tree2 || !tree2->root) {
- return LDNS_STATUS_OK;
- }
- /** Add all elements from tree2 into tree1. */
-
- cur_node = ldns_radix_first(tree2);
- while (cur_node) {
- status = LDNS_STATUS_NO_DATA;
- /** Insert current node into tree1 */
- if (cur_node->data) {
- status = ldns_radix_insert(tree1, cur_node->key,
- cur_node->klen, cur_node->data);
- /** Exist errors may occur */
- if (status != LDNS_STATUS_OK &&
- status != LDNS_STATUS_EXISTS_ERR) {
- return status;
- }
- }
- next_node = ldns_radix_next(cur_node);
- if (status == LDNS_STATUS_OK) {
- (void) ldns_radix_delete(tree2, cur_node->key,
- cur_node->klen);
- }
- cur_node = next_node;
- }
-
- return LDNS_STATUS_OK;
-}
-
-
-/**
- * Split a radix tree intwo.
- *
- */
-ldns_status
-ldns_radix_split(ldns_radix_t* tree1, size_t num, ldns_radix_t** tree2)
-{
- size_t count = 0;
- ldns_radix_node_t* cur_node;
- ldns_status status = LDNS_STATUS_OK;
- if (!tree1 || !tree1->root || num == 0) {
- return LDNS_STATUS_OK;
- }
- if (!tree2) {
- return LDNS_STATUS_NULL;
- }
- if (!*tree2) {
- *tree2 = ldns_radix_create();
- if (!*tree2) {
- return LDNS_STATUS_MEM_ERR;
- }
- }
- cur_node = ldns_radix_first(tree1);
- while (count < num && cur_node) {
- if (cur_node->data) {
- /** Delete current node from tree1. */
- uint8_t* cur_key = cur_node->key;
- radix_strlen_t cur_len = cur_node->klen;
- void* cur_data = ldns_radix_delete(tree1, cur_key,
- cur_len);
- /** Insert current node into tree2/ */
- if (!cur_data) {
- return LDNS_STATUS_NO_DATA;
- }
- status = ldns_radix_insert(*tree2, cur_key, cur_len,
- cur_data);
- if (status != LDNS_STATUS_OK &&
- status != LDNS_STATUS_EXISTS_ERR) {
- return status;
- }
-/*
- if (status == LDNS_STATUS_OK) {
- cur_node->key = NULL;
- cur_node->klen = 0;
- }
-*/
- /** Update count; get first element from tree1 again. */
- count++;
- cur_node = ldns_radix_first(tree1);
- } else {
- cur_node = ldns_radix_next(cur_node);
- }
- }
- return LDNS_STATUS_OK;
-}
-
-
-/**
- * Call function for all nodes in the tree, such that leaf nodes are
- * called before parent nodes.
- *
- */
-void
-ldns_radix_traverse_postorder(ldns_radix_node_t* node,
- void (*func)(ldns_radix_node_t*, void*), void* arg)
-{
- uint8_t i;
- if (!node) {
- return;
- }
- for (i=0; i < node->len; i++) {
- ldns_radix_traverse_postorder(node->array[i].edge,
- func, arg);
- }
- /** Call user function */
- (*func)(node, arg);
- return;
-}
-
-
-/** Static helper functions */
-
-/**
- * Find a prefix of the key.
- * @param tree: tree.
- * @param key: key.
- * @param len: length of key.
- * @param result: the longest prefix, the entry itself if *pos==len,
- * otherwise an array entry.
- * @param pos: position in string where next unmatched byte is.
- * If *pos==len, an exact match is found.
- * If *pos== 0, a "" match was found.
- * @return 0 (false) if no prefix found.
- *
- */
-static int
-ldns_radix_find_prefix(ldns_radix_t* tree, uint8_t* key,
- radix_strlen_t len, ldns_radix_node_t** result, radix_strlen_t* respos)
-{
- /** Start searching at the root node */
- ldns_radix_node_t* n = tree->root;
- radix_strlen_t pos = 0;
- uint8_t byte;
- *respos = 0;
- *result = n;
- if (!n) {
- /** No root, no prefix found */
- return 0;
- }
- /** For each node, look if we can make further progress */
- while (n) {
- if (pos == len) {
- /** Exact match */
- return 1;
- }
- byte = key[pos];
- if (byte < n->offset) {
- /** key < node */
- return 1;
- }
- byte -= n->offset;
- if (byte >= n->len) {
- /** key > node */
- return 1;
- }
- /** So far, the trie matches */
- pos++;
- if (n->array[byte].len != 0) {
- /** Must match additional string */
- if (pos + n->array[byte].len > len) {
- return 1; /* no match at child node */
- }
- if (memcmp(&key[pos], n->array[byte].str,
- n->array[byte].len) != 0) {
- return 1; /* no match at child node */
- }
- pos += n->array[byte].len;
- }
- /** Continue searching prefix at this child node */
- n = n->array[byte].edge;
- if (!n) {
- return 1;
- }
- /** Update the prefix node */
- *respos = pos;
- *result = n;
- }
- /** Done */
- return 1;
-}
-
-
-/**
- * Make space in the node's array for another byte.
- * @param node: node.
- * @param byte: byte.
- * @return 1 if successful, 0 otherwise.
- *
- */
-static int
-ldns_radix_array_space(ldns_radix_node_t* node, uint8_t byte)
-{
- /** Is there an array? */
- if (!node->array) {
- assert(node->capacity == 0);
- /** No array, create new array */
- node->array = LDNS_MALLOC(ldns_radix_array_t);
- if (!node->array) {
- return 0;
- }
- memset(&node->array[0], 0, sizeof(ldns_radix_array_t));
- node->len = 1;
- node->capacity = 1;
- node->offset = byte;
- return 1;
- }
- /** Array exist */
- assert(node->array != NULL);
- assert(node->capacity > 0);
-
- if (node->len == 0) {
- /** Unused array */
- node->len = 1;
- node->offset = byte;
- } else if (byte < node->offset) {
- /** Byte is below the offset */
- uint8_t index;
- uint16_t need = node->offset - byte;
- /** Is there enough capacity? */
- if (node->len + need > node->capacity) {
- /** Not enough capacity, grow array */
- if (!ldns_radix_array_grow(node,
- (unsigned) (node->len + need))) {
- return 0; /* failed to grow array */
- }
- }
- /** Move items to the end */
- memmove(&node->array[need], &node->array[0],
- node->len*sizeof(ldns_radix_array_t));
- /** Fix parent index */
- for (index = 0; index < node->len; index++) {
- if (node->array[index+need].edge) {
- node->array[index+need].edge->parent_index =
- index + need;
- }
- }
- /** Zero the first */
- memset(&node->array[0], 0, need*sizeof(ldns_radix_array_t));
- node->len += need;
- node->offset = byte;
- } else if (byte - node->offset >= node->len) {
- /** Byte does not fit in array */
- uint16_t need = (byte - node->offset) - node->len + 1;
- /** Is there enough capacity? */
- if (node->len + need > node->capacity) {
- /** Not enough capacity, grow array */
- if (!ldns_radix_array_grow(node,
- (unsigned) (node->len + need))) {
- return 0; /* failed to grow array */
- }
- }
- /** Zero the added items */
- memset(&node->array[node->len], 0,
- need*sizeof(ldns_radix_array_t));
- node->len += need;
- }
- return 1;
-}
-
-
-/**
- * Grow the array.
- * @param node: node.
- * @param need: number of elements the array at least need to grow.
- * Can't be bigger than 256.
- * @return: 0 if failed, 1 if was successful.
- *
- */
-static int
-ldns_radix_array_grow(ldns_radix_node_t* node, unsigned need)
-{
- unsigned size = ((unsigned)node->capacity)*2;
- ldns_radix_array_t* a = NULL;
- if (need > size) {
- size = need;
- }
- if (size > 256) {
- size = 256;
- }
- a = LDNS_XMALLOC(ldns_radix_array_t, size);
- if (!a) {
- return 0;
- }
- assert(node->len <= node->capacity);
- assert(node->capacity < size);
- memcpy(&a[0], &node->array[0], node->len*sizeof(ldns_radix_array_t));
- LDNS_FREE(node->array);
- node->array = a;
- node->capacity = size;
- return 1;
-}
-
-
-/**
- * Create a prefix in the array string.
- * @param array: array.
- * @param key: key.
- * @param pos: start position in key.
- * @param len: length of key.
- * @return 0 if failed, 1 if was successful.
- *
- */
-static int
-ldns_radix_str_create(ldns_radix_array_t* array, uint8_t* key,
- radix_strlen_t pos, radix_strlen_t len)
-{
- array->str = LDNS_XMALLOC(uint8_t, (len-pos));
- if (!array->str) {
- return 0;
- }
- memmove(array->str, key+pos, len-pos);
- array->len = (len-pos);
- return 1;
-}
-
-
-/**
- * Allocate remainder from prefixes for a split.
- * @param prefixlen: length of prefix.
- * @param longer_str: the longer string.
- * @param longer_len: the longer string length.
- * @param split_str: the split string.
- * @param split_len: the split string length.
- * @return 0 if failed, 1 if successful.
- *
- */
-static int
-ldns_radix_prefix_remainder(radix_strlen_t prefix_len,
- uint8_t* longer_str, radix_strlen_t longer_len,
- uint8_t** split_str, radix_strlen_t* split_len)
-{
- *split_len = longer_len - prefix_len;
- *split_str = LDNS_XMALLOC(uint8_t, (*split_len));
- if (!*split_str) {
- return 0;
- }
- memmove(*split_str, longer_str+prefix_len, longer_len-prefix_len);
- return 1;
-}
-
-
-/**
- * Create a split when two nodes have a shared prefix.
- * @param array: array.
- * @param key: key.
- * @param pos: start position in key.
- * @param len: length of the key.
- * @param add: node to be added.
- * @return 0 if failed, 1 if was successful.
- *
- */
-static int
-ldns_radix_array_split(ldns_radix_array_t* array, uint8_t* key,
- radix_strlen_t pos, radix_strlen_t len, ldns_radix_node_t* add)
-{
- uint8_t* str_to_add = key + pos;
- radix_strlen_t strlen_to_add = len - pos;
-
- if (ldns_radix_str_is_prefix(str_to_add, strlen_to_add,
- array->str, array->len)) {
- /** The string to add is a prefix of the existing string */
- uint8_t* split_str = NULL, *dup_str = NULL;
- radix_strlen_t split_len = 0;
- /**
- * Example 5: 'ld'
- * | [0]
- * --| [d+ns] dns
- * --| [e+dns] edns
- * --| [l+d] ld
- * ----| [n+s] ldns
- **/
- assert(strlen_to_add < array->len);
- /** Store the remainder in the split string */
- if (array->len - strlen_to_add > 1) {
- if (!ldns_radix_prefix_remainder(strlen_to_add+1,
- array->str, array->len, &split_str,
- &split_len)) {
- return 0;
- }
- }
- /** Duplicate the string to add */
- if (strlen_to_add != 0) {
- dup_str = LDNS_XMALLOC(uint8_t, strlen_to_add);
- if (!dup_str) {
- LDNS_FREE(split_str);
- return 0;
- }
- memcpy(dup_str, str_to_add, strlen_to_add);
- }
- /** Make space in array for the new node */
- if (!ldns_radix_array_space(add,
- array->str[strlen_to_add])) {
- LDNS_FREE(split_str);
- LDNS_FREE(dup_str);
- return 0;
- }
- /**
- * The added node should go direct under the existing parent.
- * The existing node should go under the added node.
- */
- add->parent = array->edge->parent;
- add->parent_index = array->edge->parent_index;
- add->array[0].edge = array->edge;
- add->array[0].str = split_str;
- add->array[0].len = split_len;
- array->edge->parent = add;
- array->edge->parent_index = 0;
- LDNS_FREE(array->str);
- array->edge = add;
- array->str = dup_str;
- array->len = strlen_to_add;
- } else if (ldns_radix_str_is_prefix(array->str, array->len,
- str_to_add, strlen_to_add)) {
- /** The existing string is a prefix of the string to add */
- /**
- * Example 6: 'dns-ng'
- * | [0]
- * --| [d+ns] dns
- * ----| [-+ng] dns-ng
- * --| [e+dns] edns
- * --| [l+d] ld
- * ----| [n+s] ldns
- **/
- uint8_t* split_str = NULL;
- radix_strlen_t split_len = 0;
- assert(array->len < strlen_to_add);
- if (strlen_to_add - array->len > 1) {
- if (!ldns_radix_prefix_remainder(array->len+1,
- str_to_add, strlen_to_add, &split_str,
- &split_len)) {
- return 0;
- }
- }
- /** Make space in array for the new node */
- if (!ldns_radix_array_space(array->edge,
- str_to_add[array->len])) {
- LDNS_FREE(split_str);
- return 0;
- }
- /**
- * The added node should go direct under the existing node.
- */
- add->parent = array->edge;
- add->parent_index = str_to_add[array->len] -
- array->edge->offset;
- array->edge->array[add->parent_index].edge = add;
- array->edge->array[add->parent_index].str = split_str;
- array->edge->array[add->parent_index].len = split_len;
- } else {
- /** Create a new split node. */
- /**
- * Example 7: 'dndns'
- * | [0]
- * --| [d+n]
- * ----| [d+ns] dndns
- * ----| [s] dns
- * ------| [-+ng] dns-ng
- * --| [e+dns] edns
- * --| [l+d] ld
- * ----| [n+s] ldns
- **/
- ldns_radix_node_t* common = NULL;
- uint8_t* common_str = NULL, *s1 = NULL, *s2 = NULL;
- radix_strlen_t common_len = 0, l1 = 0, l2 = 0;
- common_len = ldns_radix_str_common(array->str, array->len,
- str_to_add, strlen_to_add);
- assert(common_len < array->len);
- assert(common_len < strlen_to_add);
- /** Create the new common node. */
- common = ldns_radix_new_node(NULL, (uint8_t*)"", 0);
- if (!common) {
- return 0;
- }
- if (array->len - common_len > 1) {
- if (!ldns_radix_prefix_remainder(common_len+1,
- array->str, array->len, &s1, &l1)) {
- return 0;
- }
- }
- if (strlen_to_add - common_len > 1) {
- if (!ldns_radix_prefix_remainder(common_len+1,
- str_to_add, strlen_to_add, &s2, &l2)) {
- return 0;
- }
- }
- /** Create the shared prefix. */
- if (common_len > 0) {
- common_str = LDNS_XMALLOC(uint8_t, common_len);
- if (!common_str) {
- LDNS_FREE(common);
- LDNS_FREE(s1);
- LDNS_FREE(s2);
- return 0;
- }
- memcpy(common_str, str_to_add, common_len);
- }
- /** Make space in the common node array. */
- if (!ldns_radix_array_space(common, array->str[common_len]) ||
- !ldns_radix_array_space(common, str_to_add[common_len])) {
- LDNS_FREE(common->array);
- LDNS_FREE(common);
- LDNS_FREE(common_str);
- LDNS_FREE(s1);
- LDNS_FREE(s2);
- return 0;
- }
- /**
- * The common node should go direct under the parent node.
- * The added and existing nodes go under the common node.
- */
- common->parent = array->edge->parent;
- common->parent_index = array->edge->parent_index;
- array->edge->parent = common;
- array->edge->parent_index = array->str[common_len] -
- common->offset;
- add->parent = common;
- add->parent_index = str_to_add[common_len] - common->offset;
- common->array[array->edge->parent_index].edge = array->edge;
- common->array[array->edge->parent_index].str = s1;
- common->array[array->edge->parent_index].len = l1;
- common->array[add->parent_index].edge = add;
- common->array[add->parent_index].str = s2;
- common->array[add->parent_index].len = l2;
- LDNS_FREE(array->str);
- array->edge = common;
- array->str = common_str;
- array->len = common_len;
- }
- return 1;
-}
-
-
-/**
- * Check if one string prefix of other string.
- * @param str1: one string.
- * @param len1: one string length.
- * @param str2: other string.
- * @param len2: other string length.
- * @return 1 if prefix, 0 otherwise.
- *
- */
-static int
-ldns_radix_str_is_prefix(uint8_t* str1, radix_strlen_t len1,
- uint8_t* str2, radix_strlen_t len2)
-{
- if (len1 == 0) {
- return 1; /* empty prefix is also a prefix */
- }
- if (len1 > len2) {
- return 0; /* len1 is longer so str1 cannot be a prefix */
- }
- return (memcmp(str1, str2, len1) == 0);
-}
-
-
-/**
- * Return the number of bytes in common for the two strings.
- * @param str1: one string.
- * @param len1: one string length.
- * @param str2: other string.
- * @param len2: other string length.
- * @return length of substring that the two strings have in common.
- *
- */
-static radix_strlen_t
-ldns_radix_str_common(uint8_t* str1, radix_strlen_t len1,
- uint8_t* str2, radix_strlen_t len2)
-{
- radix_strlen_t i, max = (len1<len2)?len1:len2;
- for (i=0; i<max; i++) {
- if (str1[i] != str2[i]) {
- return i;
- }
- }
- return max;
-}
-
-
-/**
- * Find the next element in the subtree of this node.
- * @param node: node.
- * @return: node with next element.
- *
- */
-static ldns_radix_node_t*
-ldns_radix_next_in_subtree(ldns_radix_node_t* node)
-{
- uint16_t i;
- ldns_radix_node_t* next;
- /** Try every subnode. */
- for (i = 0; i < node->len; i++) {
- if (node->array[i].edge) {
- /** Node itself. */
- if (node->array[i].edge->data) {
- return node->array[i].edge;
- }
- /** Dive into subtree. */
- next = ldns_radix_next_in_subtree(node->array[i].edge);
- if (next) {
- return next;
- }
- }
- }
- return NULL;
-}
-
-
-/**
- * Find the previous element in the array of this node, from index.
- * @param node: node.
- * @param index: index.
- * @return previous node from index.
- *
- */
-static ldns_radix_node_t*
-ldns_radix_prev_from_index(ldns_radix_node_t* node, uint8_t index)
-{
- uint8_t i = index;
- while (i > 0) {
- i--;
- if (node->array[i].edge) {
- ldns_radix_node_t* prev =
- ldns_radix_last_in_subtree_incl_self(node);
- if (prev) {
- return prev;
- }
- }
- }
- return NULL;
-}
-
-
-/**
- * Find last node in subtree, or this node (if have data).
- * @param node: node.
- * @return last node in subtree, or this node, or NULL.
- *
- */
-static ldns_radix_node_t*
-ldns_radix_last_in_subtree_incl_self(ldns_radix_node_t* node)
-{
- ldns_radix_node_t* last = ldns_radix_last_in_subtree(node);
- if (last) {
- return last;
- } else if (node->data) {
- return node;
- }
- return NULL;
-}
-
-
-/**
- * Find last node in subtree.
- * @param node: node.
- * @return last node in subtree.
- *
- */
-static ldns_radix_node_t*
-ldns_radix_last_in_subtree(ldns_radix_node_t* node)
-{
- int i;
- /** Look for the most right leaf node. */
- for (i=(int)(node->len)-1; i >= 0; i--) {
- if (node->array[i].edge) {
- /** Keep looking for the most right leaf node. */
- if (node->array[i].edge->len > 0) {
- ldns_radix_node_t* last =
- ldns_radix_last_in_subtree(
- node->array[i].edge);
- if (last) {
- return last;
- }
- }
- /** Could this be the most right leaf node? */
- if (node->array[i].edge->data) {
- return node->array[i].edge;
- }
- }
- }
- return NULL;
-}
-
-
-/**
- * Fix tree after deleting element.
- * @param tree: tree.
- * @param node: node with deleted element.
- *
- */
-static void
-ldns_radix_del_fix(ldns_radix_t* tree, ldns_radix_node_t* node)
-{
- while (node) {
- if (node->data) {
- /** Thou should not delete nodes with data attached. */
- return;
- } else if (node->len == 1 && node->parent) {
- /** Node with one child is fold back into. */
- ldns_radix_cleanup_onechild(node);
- return;
- } else if (node->len == 0) {
- /** Leaf node. */
- ldns_radix_node_t* parent = node->parent;
- if (!parent) {
- /** The root is a leaf node. */
- ldns_radix_node_free(node, NULL);
- tree->root = NULL;
- return;
- }
- /** Cleanup leaf node and continue with parent. */
- ldns_radix_cleanup_leaf(node);
- node = parent;
- } else {
- /**
- * Node cannot be deleted, because it has edge nodes
- * and no parent to fix up to.
- */
- return;
- }
- }
- /** Not reached. */
- return;
-}
-
-
-/**
- * Clean up a node with one child.
- * @param node: node with one child.
- *
- */
-static void
-ldns_radix_cleanup_onechild(ldns_radix_node_t* node)
-{
- uint8_t* join_str;
- radix_strlen_t join_len;
- uint8_t parent_index = node->parent_index;
- ldns_radix_node_t* child = node->array[0].edge;
- ldns_radix_node_t* parent = node->parent;
-
- /** Node has one child, merge the child node into the parent node. */
- assert(parent_index < parent->len);
- join_len = parent->array[parent_index].len + node->array[0].len + 1;
-
- join_str = LDNS_XMALLOC(uint8_t, join_len);
- if (!join_str) {
- /**
- * Cleanup failed due to out of memory.
- * This tree is now inefficient, with the empty node still
- * existing, but it is still valid.
- */
- return;
- }
-
- memcpy(join_str, parent->array[parent_index].str,
- parent->array[parent_index].len);
- join_str[parent->array[parent_index].len] = child->parent_index +
- node->offset;
- memmove(join_str + parent->array[parent_index].len+1,
- node->array[0].str, node->array[0].len);
-
- LDNS_FREE(parent->array[parent_index].str);
- parent->array[parent_index].str = join_str;
- parent->array[parent_index].len = join_len;
- parent->array[parent_index].edge = child;
- child->parent = parent;
- child->parent_index = parent_index;
- ldns_radix_node_free(node, NULL);
- return;
-}
-
-
-/**
- * Clean up a leaf node.
- * @param node: leaf node.
- *
- */
-static void
-ldns_radix_cleanup_leaf(ldns_radix_node_t* node)
-{
- uint8_t parent_index = node->parent_index;
- ldns_radix_node_t* parent = node->parent;
- /** Delete lead node and fix parent array. */
- assert(parent_index < parent->len);
- ldns_radix_node_free(node, NULL);
- LDNS_FREE(parent->array[parent_index].str);
- parent->array[parent_index].str = NULL;
- parent->array[parent_index].len = 0;
- parent->array[parent_index].edge = NULL;
- /** Fix array in parent. */
- if (parent->len == 1) {
- ldns_radix_node_array_free(parent);
- } else if (parent_index == 0) {
- ldns_radix_node_array_free_front(parent);
- } else {
- ldns_radix_node_array_free_end(parent);
- }
- return;
-}
-
-
-/**
- * Free a radix node.
- * @param node: node.
- * @param arg: user argument.
- *
- */
-static void
-ldns_radix_node_free(ldns_radix_node_t* node, void* arg)
-{
- uint16_t i;
- (void) arg;
- if (!node) {
- return;
- }
- for (i=0; i < node->len; i++) {
- LDNS_FREE(node->array[i].str);
- }
- node->key = NULL;
- node->klen = 0;
- LDNS_FREE(node->array);
- LDNS_FREE(node);
- return;
-}
-
-
-/**
- * Free select edge array.
- * @param node: node.
- *
- */
-static void
-ldns_radix_node_array_free(ldns_radix_node_t* node)
-{
- node->offset = 0;
- node->len = 0;
- LDNS_FREE(node->array);
- node->array = NULL;
- node->capacity = 0;
- return;
-}
-
-
-/**
- * Free front of select edge array.
- * @param node: node.
- *
- */
-static void
-ldns_radix_node_array_free_front(ldns_radix_node_t* node)
-{
- uint16_t i, n = 0;
- /** Remove until a non NULL entry. */
- while (n < node->len && node->array[n].edge == NULL) {
- n++;
- }
- if (n == 0) {
- return;
- }
- if (n == node->len) {
- ldns_radix_node_array_free(node);
- return;
- }
- assert(n < node->len);
- assert((int) n <= (255 - (int) node->offset));
- memmove(&node->array[0], &node->array[n],
- (node->len - n)*sizeof(ldns_radix_array_t));
- node->offset += n;
- node->len -= n;
- for (i=0; i < node->len; i++) {
- if (node->array[i].edge) {
- node->array[i].edge->parent_index = i;
- }
- }
- ldns_radix_array_reduce(node);
- return;
-}
-
-
-/**
- * Free front of select edge array.
- * @param node: node.
- *
- */
-static void
-ldns_radix_node_array_free_end(ldns_radix_node_t* node)
-{
- uint16_t n = 0;
- /** Shorten array. */
- while (n < node->len && node->array[node->len-1-n].edge == NULL) {
- n++;
- }
- if (n == 0) {
- return;
- }
- if (n == node->len) {
- ldns_radix_node_array_free(node);
- return;
- }
- assert(n < node->len);
- node->len -= n;
- ldns_radix_array_reduce(node);
- return;
-}
-
-
-/**
- * Reduce the capacity of the array if needed.
- * @param node: node.
- *
- */
-static void
-ldns_radix_array_reduce(ldns_radix_node_t* node)
-{
- if (node->len <= node->capacity/2 && node->len != node->capacity) {
- ldns_radix_array_t* a = LDNS_XMALLOC(ldns_radix_array_t,
- node->len);
- if (!a) {
- return;
- }
- memcpy(a, node->array, sizeof(ldns_radix_array_t)*node->len);
- LDNS_FREE(node->array);
- node->array = a;
- node->capacity = node->len;
- }
- return;
-}
-
-
-/**
- * Return this element if it exists, the previous otherwise.
- * @param node: from this node.
- * @param result: result node.
- *
- */
-static void
-ldns_radix_self_or_prev(ldns_radix_node_t* node, ldns_radix_node_t** result)
-{
- if (node->data) {
- *result = node;
- } else {
- *result = ldns_radix_prev(node);
- }
- return;
-}