BIND 10 trac1066, updated. b4ae924f504e9749989059a14e6a5dc830c99e81 [1066] Logging about wildcards
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Aug 17 13:23:42 UTC 2011
The branch, trac1066 has been updated
via b4ae924f504e9749989059a14e6a5dc830c99e81 (commit)
from 2384bcf387e93435658ec1ab92addbf28c9ab640 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b4ae924f504e9749989059a14e6a5dc830c99e81
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date: Wed Aug 17 15:23:21 2011 +0200
[1066] Logging about wildcards
-----------------------------------------------------------------------
Summary of changes:
src/lib/datasrc/database.cc | 20 ++++++++++++++++++++
src/lib/datasrc/datasrc_messages.mes | 27 +++++++++++++++++++++++++++
2 files changed, 47 insertions(+), 0 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/database.cc b/src/lib/datasrc/database.cc
index 2444257..bafd6a9 100644
--- a/src/lib/datasrc/database.cc
+++ b/src/lib/datasrc/database.cc
@@ -380,6 +380,9 @@ DatabaseClient::Finder::find(const isc::dns::Name& name,
// But check if something lives below this
// domain and if so, pretend something is here as well.
if (hasSubdomains(name.toText())) {
+ LOG_DEBUG(logger, DBG_TRACE_DETAILED,
+ DATASRC_DATABASE_FOUND_EMPTY_NONTERMINAL).
+ arg(database_->getDBName()).arg(name);
records_found = true;
} else {
// It's not empty non-terminal. So check for wildcards.
@@ -407,6 +410,10 @@ DatabaseClient::Finder::find(const isc::dns::Name& name,
records_found = true;
// We pretend to switch to non-glue_ok mode
glue_ok = false;
+ LOG_DEBUG(logger, DBG_TRACE_DETAILED,
+ DATASRC_DATABASE_WILDCARD_CANCEL_NS).
+ arg(database_->getDBName()).arg(wildcard).
+ arg(first_ns->getName());
} else if (!hasSubdomains(name.split(i - 1).toText()))
{
// Nothing we added as part of the * can exist
@@ -415,11 +422,24 @@ DatabaseClient::Finder::find(const isc::dns::Name& name,
// that case, we need to cancel the match.
records_found = true;
result_rrset = found.second;
+ LOG_DEBUG(logger, DBG_TRACE_DETAILED,
+ DATASRC_DATABASE_WILDCARD).
+ arg(database_->getDBName()).arg(wildcard).
+ arg(name);
+ } else {
+ LOG_DEBUG(logger, DBG_TRACE_DETAILED,
+ DATASRC_DATABASE_WILDCARD_CANCEL_SUB).
+ arg(database_->getDBName()).arg(wildcard).
+ arg(name).arg(superdomain);
}
break;
} else if (hasSubdomains(wildcard.toText())) {
// Empty non-terminal asterisk
records_found = true;
+ LOG_DEBUG(logger, DBG_TRACE_DETAILED,
+ DATASRC_DATABASE_WILDCARD_EMPTY).
+ arg(database_->getDBName()).arg(wildcard).
+ arg(name);
break;
}
}
diff --git a/src/lib/datasrc/datasrc_messages.mes b/src/lib/datasrc/datasrc_messages.mes
index 190adbe..aa9dc43 100644
--- a/src/lib/datasrc/datasrc_messages.mes
+++ b/src/lib/datasrc/datasrc_messages.mes
@@ -104,6 +104,11 @@ When searching for a domain, the program met a DNAME redirection to a different
place in the domain space at the given domain name. It will return that one
instead.
+% DATASRC_DATABASE_FOUND_EMPTY_NONTERMINAL empty non-terminal %2 in %1
+The domain name doesn't have any RRs, so it doesn't exist in the database.
+However, it has a subdomain, so it exists in the DNS address space. So we
+return NXRRSET instead of NXDOMAIN.
+
% DATASRC_DATABASE_FOUND_NXDOMAIN search in datasource %1 resulted in NXDOMAIN for %2/%3/%4
The data returned by the database backend did not contain any data for the given
domain name, class and type.
@@ -117,6 +122,28 @@ The data returned by the database backend contained data for the given domain
name, and it either matches the type or has a relevant type. The RRset that is
returned is printed.
+% DATASRC_DATABASE_WILDCARD constructing RRset %3 from wildcard %2 in %1
+The database doesn't contain directly matching domain, but it does contain a
+wildcard one which is being used to synthesize the answer.
+
+% DATASRC_DATABASE_WILDCARD_CANCEL_NS canceled wildcard match on %2 because %3 contains NS in %1
+The database was queried to provide glue data and it didn't find direct match.
+It could create it from given wildcard, but matching wildcards is forbidden
+under a zone cut, which was found. Therefore the delegation will be returned
+instead.
+
+% DATASRC_DATABASE_WILDCARD_CANCEL_SUB wildcard %2 can't be used to construct %3 because %4 exists in %1
+The answer could be constructed using the wildcard, but the given subdomain
+exists, therefore this name is something like empty non-terminal (actually,
+from the protocol point of view, it is empty non-terminal, but the code
+discovers it differently).
+
+% DATASRC_DATABASE_WILDCARD_EMPTY implicit wildcard %2 used to construct %3 in %1
+The given wildcard exists implicitly in the domainspace, as empty nonterminal
+(eg. there's something like subdomain.*.example.org, so *.example.org exists
+implicitly, but is empty). This will produce NXRRSET, because the constructed
+domain is empty as well as the wildcard.
+
% DATASRC_DO_QUERY handling query for '%1/%2'
A debug message indicating that a query for the given name and RR type is being
processed.
More information about the bind10-changes
mailing list