dns: Add core DNS API + unit tests and res_resolver_unbound module + unit tests.
authorJoshua Colp <jcolp@digium.com>
Wed, 25 Mar 2015 12:32:26 +0000 (12:32 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 25 Mar 2015 12:32:26 +0000 (12:32 +0000)
commitabf3e40902abe9a3b32aba0d1691b209b4d32e66
treeda9c79e72fc4e06ce512f7aa678d6d5ea88afb80
parent4c2fc5b81103f7942277bf3dd6481742500ddb2d
dns: Add core DNS API + unit tests and res_resolver_unbound module + unit tests.

This change adds an abstracted core DNS API which resembles the API described
here[1]. The API provides a pluggable mechanism for resolvers and also a
consistent view for records. Both synchronous and asynchronous queries are
supported.

This change also adds a res_resolver_unbound module which uses the libunbound
library to provide resolution.

Unit tests have also been written for all of the above to confirm the API and
functionality.

ASTERISK-24834 #close
Reported by: Matt Jordan

ASTERISK-24836 #close
Reported by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/4474/
Review: https://reviewboard.asterisk.org/r/4512/

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+DNS+API

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
23 files changed:
build_tools/menuselect-deps.in
configs/samples/resolver_unbound.conf.sample [new file with mode: 0644]
configure
configure.ac
include/asterisk/autoconfig.h.in
include/asterisk/dns_core.h [new file with mode: 0644]
include/asterisk/dns_internal.h [new file with mode: 0644]
include/asterisk/dns_naptr.h [new file with mode: 0644]
include/asterisk/dns_query_set.h [new file with mode: 0644]
include/asterisk/dns_recurring.h [new file with mode: 0644]
include/asterisk/dns_resolver.h [new file with mode: 0644]
include/asterisk/dns_srv.h [new file with mode: 0644]
include/asterisk/dns_tlsa.h [new file with mode: 0644]
main/dns_core.c [new file with mode: 0644]
main/dns_naptr.c [new file with mode: 0644]
main/dns_query_set.c [new file with mode: 0644]
main/dns_recurring.c [new file with mode: 0644]
main/dns_srv.c [new file with mode: 0644]
main/dns_tlsa.c [new file with mode: 0644]
makeopts.in
res/res_resolver_unbound.c [new file with mode: 0644]
tests/test_dns.c [new file with mode: 0644]
tests/test_dns_recurring.c [new file with mode: 0644]