diff --git a/spec/getdns-0.505.tgz b/spec/getdns-0.505.tgz deleted file mode 100644 index df3ec4f0..00000000 Binary files a/spec/getdns-0.505.tgz and /dev/null differ diff --git a/spec/getdns-0.506.tgz b/spec/getdns-0.506.tgz new file mode 100644 index 00000000..f0702501 Binary files /dev/null and b/spec/getdns-0.506.tgz differ diff --git a/spec/index.html b/spec/index.html index dca97bcf..160fb658 100644 --- a/spec/index.html +++ b/spec/index.html @@ -900,6 +900,8 @@ will have zero length.

All queries for the name timed out

GETDNS_RESPSTATUS_NO_SECURE_ANSWERS

The context setting for getting only secure responses was specified, and at least one DNS response was received, but no DNS response was determined to be secure through DNSSEC.

+

GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS

+

The context setting for getting only secure responses was specified, and at least one DNS reponse was received, but all received responses for the requested name were bogus.

The top level of replies_tree can optionally have the following names: canonical_name (a @@ -2446,7 +2448,7 @@ getdns_pretty_print_dict() for debugging.

9. The Generated Files

-

There is a tarball that includes the .h files, +

There is a tarball that includes the .h files, the examples, and so on. The examples all make, even though there is no API implementation, based on a pseudo-implementation in the tarball; see make-examples-PLATFORM.sh. Note that this currently builds fine on the Macintosh and Ubuntu; help is definitely appreciated on making the build process diff --git a/src/const-info.c b/src/const-info.c index 2dce8bf9..16b0b8cb 100644 --- a/src/const-info.c +++ b/src/const-info.c @@ -70,6 +70,7 @@ static struct const_info consts_info[] = { { 901, "GETDNS_RESPSTATUS_NO_NAME", GETDNS_RESPSTATUS_NO_NAME_TEXT }, { 902, "GETDNS_RESPSTATUS_ALL_TIMEOUT", GETDNS_RESPSTATUS_ALL_TIMEOUT_TEXT }, { 903, "GETDNS_RESPSTATUS_NO_SECURE_ANSWERS", GETDNS_RESPSTATUS_NO_SECURE_ANSWERS_TEXT }, + { 904, "GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS", GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS_TEXT }, { 1000, "GETDNS_EXTENSION_TRUE", GETDNS_EXTENSION_TRUE_TEXT }, { 1001, "GETDNS_EXTENSION_FALSE", GETDNS_EXTENSION_FALSE_TEXT }, { 1100, "GETDNS_BAD_DNS_CNAME_IN_TARGET", GETDNS_BAD_DNS_CNAME_IN_TARGET_TEXT }, diff --git a/src/getdns/getdns.h.in b/src/getdns/getdns.h.in index af5a8a89..55216ea7 100644 --- a/src/getdns/getdns.h.in +++ b/src/getdns/getdns.h.in @@ -286,6 +286,8 @@ typedef enum getdns_callback_type_t { #define GETDNS_RESPSTATUS_ALL_TIMEOUT_TEXT "All queries for the name timed out" #define GETDNS_RESPSTATUS_NO_SECURE_ANSWERS 903 #define GETDNS_RESPSTATUS_NO_SECURE_ANSWERS_TEXT "The context setting for getting only secure responses was specified, and at least one DNS response was received, but no DNS response was determined to be secure through DNSSEC." +#define GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS 904 +#define GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS_TEXT "The context setting for getting only secure responses was specified, and at least one DNS response was received, but all received responses for the requested name were bogus." /** @} */ diff --git a/src/util-internal.c b/src/util-internal.c index e7e3ef83..d3ec698c 100644 --- a/src/util-internal.c +++ b/src/util-internal.c @@ -690,6 +690,8 @@ create_getdns_response(struct getdns_dns_req * completed_request) nreplies == 0 ? GETDNS_RESPSTATUS_ALL_TIMEOUT : dnssec_return_only_secure && nsecure == 0 && ninsecure > 0 ? GETDNS_RESPSTATUS_NO_SECURE_ANSWERS : + dnssec_return_only_secure && nsecure == 0 && nbogus > 0 + ? GETDNS_RESPSTATUS_ALL_BOGUS_ANSWERS : nanswers == 0 ? GETDNS_RESPSTATUS_NO_NAME : GETDNS_RESPSTATUS_GOOD); } while (0);