mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 21:47:59 +00:00
2786. [bug] Additional could be promoted to answer. [RT #20663]
This commit is contained in:
parent
996f875de4
commit
d0ca4e90e2
2
CHANGES
2
CHANGES
@ -1,3 +1,5 @@
|
|||||||
|
2786. [bug] Additional could be promoted to answer. [RT #20663]
|
||||||
|
|
||||||
--- 9.7.0b3 released ---
|
--- 9.7.0b3 released ---
|
||||||
|
|
||||||
2785. [bug] Revoked keys could fail to self-sign [RT #20652]
|
2785. [bug] Revoked keys could fail to self-sign [RT #20652]
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: query.c,v 1.333 2009/11/24 03:09:57 marka Exp $ */
|
/* $Id: query.c,v 1.334 2009/11/25 02:22:05 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@ -1160,7 +1160,8 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
result = dns_db_find(db, name, version, type,
|
result = dns_db_find(db, name, version, type,
|
||||||
client->query.dboptions | DNS_DBFIND_GLUEOK,
|
client->query.dboptions |
|
||||||
|
DNS_DBFIND_GLUEOK | DNS_DBFIND_ADDITIONALOK,
|
||||||
client->now, &node, fname, rdataset,
|
client->now, &node, fname, rdataset,
|
||||||
sigrdataset);
|
sigrdataset);
|
||||||
if (result == DNS_R_GLUE &&
|
if (result == DNS_R_GLUE &&
|
||||||
@ -1645,7 +1646,8 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
|
|||||||
goto try_glue;
|
goto try_glue;
|
||||||
|
|
||||||
result = dns_db_find(db, name, version, type,
|
result = dns_db_find(db, name, version, type,
|
||||||
client->query.dboptions | DNS_DBFIND_GLUEOK,
|
client->query.dboptions |
|
||||||
|
DNS_DBFIND_GLUEOK | DNS_DBFIND_ADDITIONALOK,
|
||||||
client->now, &node, fname, NULL, NULL);
|
client->now, &node, fname, NULL, NULL);
|
||||||
if (result == ISC_R_SUCCESS)
|
if (result == ISC_R_SUCCESS)
|
||||||
goto found;
|
goto found;
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: db.h,v 1.100 2009/07/19 23:47:55 tbox Exp $ */
|
/* $Id: db.h,v 1.101 2009/11/25 02:22:05 marka Exp $ */
|
||||||
|
|
||||||
#ifndef DNS_DB_H
|
#ifndef DNS_DB_H
|
||||||
#define DNS_DB_H 1
|
#define DNS_DB_H 1
|
||||||
@ -208,14 +208,15 @@ struct dns_db {
|
|||||||
/*%
|
/*%
|
||||||
* Options that can be specified for dns_db_find().
|
* Options that can be specified for dns_db_find().
|
||||||
*/
|
*/
|
||||||
#define DNS_DBFIND_GLUEOK 0x01
|
#define DNS_DBFIND_GLUEOK 0x0001
|
||||||
#define DNS_DBFIND_VALIDATEGLUE 0x02
|
#define DNS_DBFIND_VALIDATEGLUE 0x0002
|
||||||
#define DNS_DBFIND_NOWILD 0x04
|
#define DNS_DBFIND_NOWILD 0x0004
|
||||||
#define DNS_DBFIND_PENDINGOK 0x08
|
#define DNS_DBFIND_PENDINGOK 0x0008
|
||||||
#define DNS_DBFIND_NOEXACT 0x10
|
#define DNS_DBFIND_NOEXACT 0x0010
|
||||||
#define DNS_DBFIND_FORCENSEC 0x20
|
#define DNS_DBFIND_FORCENSEC 0x0020
|
||||||
#define DNS_DBFIND_COVERINGNSEC 0x40
|
#define DNS_DBFIND_COVERINGNSEC 0x0040
|
||||||
#define DNS_DBFIND_FORCENSEC3 0x80
|
#define DNS_DBFIND_FORCENSEC3 0x0080
|
||||||
|
#define DNS_DBFIND_ADDITIONALOK 0x0100
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
/*@{*/
|
/*@{*/
|
||||||
@ -701,6 +702,10 @@ dns_db_find(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version,
|
|||||||
* For cache databases, glue is any rdataset with a trust of
|
* For cache databases, glue is any rdataset with a trust of
|
||||||
* dns_trust_glue.
|
* dns_trust_glue.
|
||||||
*
|
*
|
||||||
|
* \li If 'options' does not have #DNS_DBFIND_ADDITIONALOK set, then no
|
||||||
|
* additional records will be returned. Only caches can have
|
||||||
|
* rdataset with trust dns_trust_additional.
|
||||||
|
*
|
||||||
* \li If 'options' does not have #DNS_DBFIND_PENDINGOK set, then no
|
* \li If 'options' does not have #DNS_DBFIND_PENDINGOK set, then no
|
||||||
* pending data will be returned. This option is only meaningful for
|
* pending data will be returned. This option is only meaningful for
|
||||||
* cache databases.
|
* cache databases.
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: rbtdb.c,v 1.289 2009/11/23 02:10:16 marka Exp $ */
|
/* $Id: rbtdb.c,v 1.290 2009/11/25 02:22:05 marka Exp $ */
|
||||||
|
|
||||||
/*! \file */
|
/*! \file */
|
||||||
|
|
||||||
@ -4664,6 +4664,8 @@ cache_find(dns_db_t *db, dns_name_t *name, dns_dbversion_t *version,
|
|||||||
* If we didn't find what we were looking for...
|
* If we didn't find what we were looking for...
|
||||||
*/
|
*/
|
||||||
if (found == NULL ||
|
if (found == NULL ||
|
||||||
|
(found->trust == dns_trust_additional &&
|
||||||
|
((options & DNS_DBFIND_ADDITIONALOK) == 0)) ||
|
||||||
(found->trust == dns_trust_glue &&
|
(found->trust == dns_trust_glue &&
|
||||||
((options & DNS_DBFIND_GLUEOK) == 0)) ||
|
((options & DNS_DBFIND_GLUEOK) == 0)) ||
|
||||||
(DNS_TRUST_PENDING(found->trust) &&
|
(DNS_TRUST_PENDING(found->trust) &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user