Commit b4ae924f authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[1066] Logging about wildcards

parent 2384bcf3
......@@ -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;
}
}
......
......@@ -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.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment