# Copyright (C) 2011  Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

$NAMESPACE isc::datasrc

# \brief Messages for the data source library

% DATASRC_BAD_NSEC3_NAME NSEC3 record has a bad owner name '%1'
The software refuses to load NSEC3 records into a wildcard domain or
the owner name has two or more labels below the zone origin.
It isn't explicitly forbidden, but no sane zone wouldn have such names
for NSEC3.  BIND 9 also refuses NSEC3 at wildcard, so this behavior is
compatible with BIND 9.

% DATASRC_CACHE_CREATE creating the hotspot cache
This is a debug message issued during startup when the hotspot cache
is created.

% DATASRC_CACHE_DESTROY destroying the hotspot cache
Debug information. The hotspot cache is being destroyed.

% DATASRC_CACHE_DISABLE disabling the hotspot cache
A debug message issued when the hotspot cache is disabled.

% DATASRC_CACHE_ENABLE enabling the hotspot cache
A debug message issued when the hotspot cache is enabled.

% DATASRC_CACHE_EXPIRED item '%1' in the hotspot cache has expired
A debug message issued when a hotspot cache lookup located the item but it
had expired.  The item was removed and the program proceeded as if the item
had not been found.

% DATASRC_CACHE_FOUND the item '%1' was found
Debug information. An item was successfully located in the hotspot cache.

% DATASRC_CACHE_FULL hotspot cache is full, dropping oldest
Debug information. After inserting an item into the hotspot cache, the
maximum number of items was exceeded, so the least recently used item will
be dropped. This should be directly followed by CACHE_REMOVE.

% DATASRC_CACHE_INSERT inserting item '%1' into the hotspot cache
A debug message indicating that a new item is being inserted into the hotspot
cache.

% DATASRC_CACHE_NOT_FOUND the item '%1' was not found in the hotspot cache
A debug message issued when hotspot cache was searched for the specified
item but it was not found.

% DATASRC_CACHE_OLD_FOUND older instance of hotspot cache item '%1' found, replacing
Debug information. While inserting an item into the hotspot cache, an older
instance of an item with the same name was found; the old instance will be
removed. This will be directly followed by CACHE_REMOVE.

% DATASRC_CACHE_REMOVE removing '%1' from the hotspot cache
Debug information. An item is being removed from the hotspot cache.

% DATASRC_CACHE_SLOTS setting the hotspot cache size to '%1', dropping '%2' items
The maximum allowed number of items of the hotspot cache is set to the given
number. If there are too many, some of them will be dropped. The size of 0
means no limit.

% DATASRC_DATABASE_COVER_NSEC_UNSUPPORTED %1 doesn't support DNSSEC when asked for NSEC data covering %2
The datasource tried to provide an NSEC proof that the named domain does not
exist, but the database backend doesn't support DNSSEC. No proof is included
in the answer as a result.

% DATASRC_DATABASE_FINDNSEC3 Looking for NSEC3 for %1 in %2 mode
Debug information. A search in an database data source for NSEC3 that
matches or covers the given name is being started.

% DATASRC_DATABASE_FINDNSEC3_COVER found a covering NSEC3 for %1 at label count %2: %3
Debug information. An NSEC3 that covers the given name is found and
being returned.  The found NSEC3 RRset is also displayed. When the shown label
count is smaller than that of the given name, the matching NSEC3 is for a
superdomain of the given name (see DATASRC_DATABSE_FINDNSEC3_TRYHASH).  The
found NSEC3 RRset is also displayed.

% DATASRC_DATABASE_FINDNSEC3_MATCH found a matching NSEC3 for %1 at label count %2: %3
Debug information. An NSEC3 that matches (a possibly superdomain of)
the given name is found and being returned.  When the shown label
count is smaller than that of the given name, the matching NSEC3 is
for a superdomain of the given name (see DATASRC_DATABSE_FINDNSEC3_TRYHASH).
The found NSEC3 RRset is also displayed.

% DATASRC_DATABASE_FINDNSEC3_TRYHASH looking for NSEC3 for %1 at label count %2 (hash %3)
Debug information. In an attempt of finding an NSEC3 for the give name,
(a possibly superdomain of) the name is hashed and searched for in the
NSEC3 name space.  When the shown label count is smaller than that of the
shown name, the search tries the superdomain name that share the shown
(higher) label count of the shown name (e.g., for
www.example.com. with shown label count of 3, example.com. is being
tried, as "." is 1 label long).

% DATASRC_DATABASE_FINDNSEC3_TRYHASH_PREV looking for previous NSEC3 for %1 at label count %2 (hash %3)
Debug information. An exact match on hash (see
DATASRC_DATABASE_FINDNSEC3_TRYHASH) was unsuccessful. We get the previous hash
to that one instead.

% DATASRC_DATABASE_FIND_RECORDS looking in datasource %1 for record %2/%3/%4
Debug information. The database data source is looking up records with the given
name and type in the database.

% DATASRC_DATABASE_FIND_TTL_MISMATCH TTL values differ in %1 for elements of %2/%3/%4, setting to %5
The datasource backend provided resource records for the given RRset with
different TTL values. This isn't allowed on the wire and is considered
an error, so we set it to the lowest value we found (but we don't modify the
database). The data in database should be checked and fixed.

% DATASRC_DATABASE_FOUND_ANY search in datasource %1 resulted in returning all records of %2
The data returned by the database backend contained data for the given domain
name, so all the RRsets of the domain are returned.

% DATASRC_DATABASE_FOUND_CNAME search in datasource %1 for %2/%3/%4 found CNAME, resulting in %5
When searching the domain for a name a CNAME was found at that name.
Even though it was not the RR type being sought, it is returned.  (The
caller may want to continue the lookup by replacing the query name with
the canonical name and restarting the query with the original RR type.)

% DATASRC_DATABASE_FOUND_DELEGATION Found delegation at %2 in %1
When searching for a domain, the program met a delegation to a different zone
at the given domain name. It will return that one instead.

% DATASRC_DATABASE_FOUND_DELEGATION_EXACT search in datasource %1 for %2/%3/%4 found delegation at %5
The program found the domain requested, but it is a delegation point to a
different zone, therefore it is not authoritative for this domain name.
It will return the NS record instead.

% DATASRC_DATABASE_FOUND_DNAME Found DNAME at %2 in %1
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 does not have any RRs associated with it, so it doesn't
exist in the database.  However, it has a subdomain, so it does exist
in the DNS address space. This type of domain is known an an "empty
non-terminal" and 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.

% DATASRC_DATABASE_FOUND_NXRRSET search in datasource %1 for %2/%3/%4 resulted in NXRRSET
The data returned by the database backend contained data for the given domain
name and class, but not for the given type.

% DATASRC_DATABASE_FOUND_NXRRSET_NSEC search in datasource %1 for %2/%3/%4 resulted in RRset %5
A search in the database for RRs for the specified name, type and class has
located RRs that match the name and class but not the type.  DNSSEC information
has been requested and returned.

% DATASRC_DATABASE_FOUND_RRSET search in datasource %1 resulted in RRset %2
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_ITERATE iterating zone %1
The program is reading the whole zone, eg. not searching for data, but going
through each of the RRsets there.

% DATASRC_DATABASE_ITERATE_END iterating zone finished
While iterating through the zone, the program reached end of the data.

% DATASRC_DATABASE_ITERATE_NEXT next RRset in zone is %1/%2
While iterating through the zone, the program extracted next RRset from it.
The name and RRtype of the RRset is indicated in the message.

% DATASRC_DATABASE_ITERATE_TTL_MISMATCH TTL values differ for RRs of %1/%2/%3, setting to %4
While iterating through the zone, the time to live for RRs of the
given RRset were found to be different. Since an RRset cannot have
multiple TTLs, we set it to the lowest value we found (but we don't
modify the database). This is what the client would do when such RRs
were given in a DNS response according to RFC2181. The data in
database should be checked and fixed.

% DATASRC_DATABASE_JOURNALREADER_END %1/%2 on %3 from %4 to %5
This is a debug message indicating that the program (successfully)
reaches the end of sequences of a zone's differences.  The zone's name
and class, database name, and the start and end serials are shown in
the message.

% DATASRC_DATABASE_JOURNALREADER_NEXT %1/%2 in %3/%4 on %5
This is a debug message indicating that the program retrieves one
difference in difference sequences of a zone and successfully converts
it to an RRset.  The zone's name and class, database name, and the
name and RR type of the retrieved diff are shown in the message.

% DATASRC_DATABASE_JOURNALREADER_START %1/%2 on %3 from %4 to %5
This is a debug message indicating that the program starts reading
a zone's difference sequences from a database-based data source.  The
zone's name and class, database name, and the start and end serials
are shown in the message.

% DATASRC_DATABASE_JOURNALREADR_BADDATA failed to convert a diff to RRset in %1/%2 on %3 between %4 and %5: %6
This is an error message indicating that a zone's diff is broken and
the data source library failed to convert it to a valid RRset.  The
most likely cause of this is that someone has manually modified the
zone's diff in the database and inserted invalid data as a result.
The zone's name and class, database name, and the start and end
serials, and an additional detail of the error are shown in the
message.  The administrator should examine the diff in the database
to find any invalid data and fix it.

% DATASRC_DATABASE_NO_MATCH not match for %2/%3/%4 in %1
No match (not even a wildcard) was found in the named data source for the given
name/type/class in the data source.

% DATASRC_DATABASE_UPDATER_COMMIT updates committed for '%1/%2' on %3
Debug information.  A set of updates to a zone has been successfully
committed to the corresponding database backend.  The zone name,
its class and the database name are printed.

% DATASRC_DATABASE_UPDATER_CREATED zone updater created for '%1/%2' on %3
Debug information.  A zone updater object is created to make updates to
the shown zone on the shown backend database.

% DATASRC_DATABASE_UPDATER_DESTROYED zone updater destroyed for '%1/%2' on %3
Debug information.  A zone updater object is destroyed, either successfully
or after failure of, making updates to the shown zone on the shown backend
database.

% DATASRC_DATABASE_UPDATER_ROLLBACK zone updates roll-backed for '%1/%2' on %3
A zone updater is being destroyed without committing the changes.
This would typically mean the update attempt was aborted due to some
error, but may also be a bug of the application that forgets committing
the changes.  The intermediate changes made through the updater won't
be applied to the underlying database.  The zone name, its class, and
the underlying database name are shown in the log message.

% DATASRC_DATABASE_UPDATER_ROLLBACKFAIL failed to roll back zone updates for '%1/%2' on %3: %4
A zone updater is being destroyed without committing the changes to
the database, and attempts to rollback incomplete updates, but it
unexpectedly fails.  The higher level implementation does not expect
it to fail, so this means either a serious operational error in the
underlying data source (such as a system failure of a database) or
software bug in the underlying data source implementation.  In either
case if this message is logged the administrator should carefully
examine the underlying data source to see what exactly happens and
whether the data is still valid.  The zone name, its class, and the
underlying database name as well as the error message thrown from the
database module are shown in the log message.

% DATASRC_DATABASE_WILDCARD_ANY search in datasource %1 resulted in wildcard match type ANY on %2
The database doesn't contain directly matching name.  When searching
for a wildcard match, a wildcard record matching the name of the query
containing some RRsets was found. All the RRsets of the node are returned.

% DATASRC_DATABASE_WILDCARD_CANCEL_NS canceled wildcard match on %3 because %2 contains NS (data source %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_CNAME search in datasource %1 for %2/%3/%4 found wildcard CNAME at %5, resulting in %6
The database doesn't contain directly matching name.  When searching
for a wildcard match, a CNAME RR was found at a wildcard record
matching the name.  This is returned as the result of the search.

% DATASRC_DATABASE_WILDCARD_EMPTY found subdomains of %2 which is a wildcard match for %3 in %1
The given wildcard matches the name being sough but it as an empty
nonterminal (e.g. there's nothing at *.example.com but something like
subdomain.*.example.org, do exist: so *.example.org exists in the
namespace but has no RRs assopciated with it). This will produce NXRRSET.

% DATASRC_DATABASE_WILDCARD_MATCH search in datasource %1 resulted in wildcard match at %2 with RRset %3
The database doesn't contain directly matching name.  When searching
for a wildcard match, a wildcard record matching the name and type of
the query was found. The data at this point is returned.

% DATASRC_DATABASE_WILDCARD_NS search in datasource %1 for %2/%3/%4 found wildcard delegation at %5, resulting in %6
The database doesn't contain directly matching name.  When searching
for a wildcard match, an NS RR was found at a wildcard record matching
the name.  This is returned as the result of the search.

% DATASRC_DATABASE_WILDCARD_NXRRSET search in datasource %1 for %2/%3/%4 resulted in wildcard NXRRSET at %5
The database doesn't contain directly matching name.  When searching
for a wildcard match, a matching wildcard entry was found but it did
not contain RRs the requested type.  AN NXRRSET indication is returned.

% 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.

% DATASRC_LIST_NOT_CACHED zone %1/%2 not cached, cache disabled globally. Will not be available.
The process disabled caching of RR data completely. However, the given zone
is provided as a master file and it can be served from memory cache only.
Therefore, the zone will not be available for this process. If this is
a problem, you should move the zone to some database backend (sqlite3, for
example) and use it from there.

% DATASRC_MEM_ADD_RRSET adding RRset '%1/%2' into zone '%3'
Debug information. An RRset is being added to the in-memory data source.

% DATASRC_MEM_ADD_WILDCARD adding wildcards for '%1'
This is a debug message issued during the processing of a wildcard
name. The internal domain name tree is scanned and some nodes are
specially marked to allow the wildcard lookup to succeed.

% DATASRC_MEM_ADD_ZONE adding zone '%1/%2'
Debug information. A zone is being added into the in-memory data source.

% DATASRC_MEM_ANY_SUCCESS ANY query for '%1' successful
Debug information. The domain was found and an ANY type query is being answered
by providing everything found inside the domain.

% DATASRC_MEM_CNAME CNAME at the domain '%1'
Debug information. The requested domain is an alias to a different domain,
returning the CNAME instead.

% DATASRC_MEM_CNAME_COEXIST can't add data to CNAME in domain '%1'
This is the same problem as in MEM_CNAME_TO_NONEMPTY, but it happened the
other way around -- adding some other data to CNAME.

% DATASRC_MEM_CNAME_TO_NONEMPTY can't add CNAME to domain with other data in '%1'
Someone or something tried to add a CNAME into a domain that already contains
some other data. But the protocol forbids coexistence of CNAME with anything
(RFC 1034, section 3.6.2). This indicates a problem with provided data.

% DATASRC_MEM_CREATE creating zone '%1' in '%2' class
Debug information. A representation of a zone for the in-memory data source is
being created.

% DATASRC_MEM_DELEG_FOUND delegation found at '%1'
Debug information. A delegation point was found above the requested record.

% DATASRC_MEM_DESTROY destroying zone '%1' in '%2' class
Debug information. A zone from in-memory data source is being destroyed.

% DATASRC_MEM_DNAME_ENCOUNTERED encountered a DNAME
Debug information. While searching for the requested domain, a DNAME was
encountered on the way.  This may lead to redirection to a different domain and
stop the search.

% DATASRC_MEM_DNAME_FOUND DNAME found at '%1'
Debug information. A DNAME was found instead of the requested information.

% DATASRC_MEM_DNAME_NS DNAME and NS can't coexist in non-apex domain '%1'
A request was made for DNAME and NS records to be put into the same
domain which is not the apex (the top of the zone). This is forbidden
by RFC 2672 (section 3) and indicates a problem with provided data.

% DATASRC_MEM_DOMAIN_EMPTY requested domain '%1' is empty
Debug information. The requested domain exists in the tree of domains, but
it is empty. Therefore it doesn't contain the requested resource type.

% DATASRC_MEM_DUP_RRSET duplicate RRset '%1/%2'
An RRset is being inserted into in-memory data source for a second time.  The
original version must be removed first. Note that loading master files where an
RRset is split into multiple locations is not supported yet.

% DATASRC_MEM_EXACT_DELEGATION delegation at the exact domain '%1'
Debug information. There's a NS record at the requested domain. This means
this zone is not authoritative for the requested domain, but a delegation
should be followed. The requested domain is an apex of some zone.

% DATASRC_MEM_FIND find '%1/%2'
Debug information. A search for the requested RRset is being started.

% DATASRC_MEM_FINDNSEC3 finding NSEC3 for %1, mode %2
Debug information. A search in an in-memory data source for NSEC3 that
matches or covers the given name is being started.

% DATASRC_MEM_FINDNSEC3_COVER found a covering NSEC3 for %1: %2
Debug information. An NSEC3 that covers the given name is found and
being returned.  The found NSEC3 RRset is also displayed.

% DATASRC_MEM_FINDNSEC3_MATCH found a matching NSEC3 for %1 at label count %2: %3
Debug information. An NSEC3 that matches (a possibly superdomain of)
the given name is found and being returned.  When the shown label
count is smaller than that of the given name, the matching NSEC3 is
for a superdomain of the given name (see DATASRC_MEM_FINDNSEC3_TRYHASH).
The found NSEC3 RRset is also displayed.

% DATASRC_MEM_FINDNSEC3_TRYHASH looking for NSEC3 for %1 at label count %2 (hash %3)
Debug information. In an attempt of finding an NSEC3 for the give name,
(a possibly superdomain of) the name is hashed and searched for in the
NSEC3 name space.  When the shown label count is smaller than that of the
shown name, the search tries the superdomain name that share the shown
(higher) label count of the shown name (e.g., for
www.example.com. with shown label count of 3, example.com. is being
tried).

% DATASRC_MEM_FIND_ZONE looking for zone '%1'
Debug information. A zone object for this zone is being searched for in the
in-memory data source.

% DATASRC_MEM_LOAD loading zone '%1' from file '%2'
Debug information. The content of master file is being loaded into the memory.

% DATASRC_MEM_NOT_FOUND requested domain '%1' not found
Debug information. The requested domain does not exist.

% DATASRC_MEM_NO_NSEC3PARAM NSEC3PARAM is missing for NSEC3-signed zone %1/%2
The in-memory data source has loaded a zone signed with NSEC3 RRs,
but it doesn't have a NSEC3PARAM RR at the zone origin.  It's likely that
the zone is somehow broken, but this RR is not necessarily needed for
handling lookups with NSEC3 in this data source, so it accepts the given
content of the zone.  Nevertheless the administrator should look into
the integrity of the zone data.

% DATASRC_MEM_NS_ENCOUNTERED encountered a NS
Debug information. While searching for the requested domain, a NS was
encountered on the way (a delegation). This may lead to stop of the search.

% DATASRC_MEM_NXRRSET no such type '%1' at '%2'
Debug information. The domain exists, but it doesn't hold any record of the
requested type.

% DATASRC_MEM_OUT_OF_ZONE domain '%1' doesn't belong to zone '%2'
It was attempted to add the domain into a zone that shouldn't have it
(eg. the domain is not subdomain of the zone origin). This indicates a
problem with provided data.

% DATASRC_MEM_RENAME renaming RRset from '%1' to '%2'
Debug information. A RRset is being generated from a different RRset (most
probably a wildcard). So it must be renamed to whatever the user asked for. In
fact, it's impossible to rename RRsets with our libraries, so a new one is
created and all resource records are copied over.

% DATASRC_MEM_SINGLETON trying to add multiple RRs for domain '%1' and type '%2'
Some resource types are singletons -- only one is allowed in a domain
(for example CNAME or SOA). This indicates a problem with provided data.

% DATASRC_MEM_SUCCESS query for '%1/%2' successful
Debug information. The requested record was found.

% DATASRC_MEM_SUPER_STOP stopped as '%1' is superdomain of a zone node, meaning it's empty
Debug information. The search stopped because the requested domain was
detected to be a superdomain of some existing node of zone (while there
was no exact match).  This means that the domain is an empty nonterminal,
therefore it is treated  as NXRRSET case (eg. the domain exists, but it
doesn't have the requested record type).

% DATASRC_MEM_SWAP swapping contents of two zone representations ('%1' and '%2')
Debug information. The contents of two in-memory zones are being exchanged.
This is usual practice to do some manipulation in exception-safe manner -- the
new data are prepared in a different zone object and when it works, they are
swapped. The old one contains the new data and the other one can be safely
destroyed.

% DATASRC_MEM_WILDCARD_CANCEL wildcard match canceled for '%1'
Debug information. A domain above wildcard was reached, but there's something
below the requested domain. Therefore the wildcard doesn't apply here.  This
behaviour is specified by RFC 1034, section 4.3.3

% DATASRC_MEM_WILDCARD_DNAME DNAME record in wildcard domain '%1'
The software refuses to load DNAME records into a wildcard domain.  It isn't
explicitly forbidden, but the protocol is ambiguous about how this should
behave and BIND 9 refuses that as well. Please describe your intention using
different tools.

% DATASRC_MEM_WILDCARD_NS NS record in wildcard domain '%1'
The software refuses to load NS records into a wildcard domain.  It isn't
explicitly forbidden, but the protocol is ambiguous about how this should
behave and BIND 9 refuses that as well. Please describe your intention using
different tools.

% DATASRC_META_ADD adding a data source into meta data source
This is a debug message issued during startup or reconfiguration.
Another data source is being added into the meta data source.

% DATASRC_META_ADD_CLASS_MISMATCH mismatch between classes '%1' and '%2'
It was attempted to add a data source into a meta data source, but their
classes do not match.

% DATASRC_META_REMOVE removing data source from meta data source
Debug information. A data source is being removed from meta data source.

% DATASRC_QUERY_ADD_NSEC adding NSEC record for '%1'
Debug information. A NSEC record covering this zone is being added.

% DATASRC_QUERY_ADD_NSEC3 adding NSEC3 record of zone '%1'
Debug information. A NSEC3 record for the given zone is being added to the
response message.

% DATASRC_QUERY_ADD_RRSET adding RRset '%1/%2' to message
Debug information. An RRset is being added to the response message.

% DATASRC_QUERY_ADD_SOA adding SOA of '%1'
Debug information. A SOA record of the given zone is being added to the
authority section of the response message.

% DATASRC_QUERY_AUTH_FAIL the underlying data source failed with %1
The underlying data source failed to answer the authoritative query. 1 means
some error, 2 is not implemented. The data source should have logged the
specific error already.

% DATASRC_QUERY_BAD_REFERRAL bad referral to '%1'
The domain lives in another zone. But it is not possible to generate referral
information for it.

% DATASRC_QUERY_CACHED data for %1/%2 found in hotspot cache
Debug information. The requested data were found in the hotspot cache, so
no query is sent to the real data source.

% DATASRC_QUERY_CHECK_CACHE checking hotspot cache for '%1/%2'
Debug information. While processing a query, lookup to the hotspot cache
is being made.

% DATASRC_QUERY_COPY_AUTH copying authoritative section into message
Debug information. The whole referral information is being copied into the
response message.

% DATASRC_QUERY_DELEGATION looking for delegation on the path to '%1'
Debug information. The software is trying to identify delegation points on the
way down to the given domain.

% DATASRC_QUERY_EMPTY_CNAME CNAME at '%1' is empty
A CNAME chain was being followed and an entry was found that pointed
to a domain name that had no RRsets associated with it. As a result,
the query cannot be answered. This indicates a problem with supplied data.

% DATASRC_QUERY_EMPTY_DNAME the DNAME on '%1' is empty
During an attempt to synthesize CNAME from this DNAME it was discovered the
DNAME is empty (it has no records). This indicates problem with supplied data.

% DATASRC_QUERY_FAIL query failed
Some subtask of query processing failed. The reason should have been reported
already and a SERVFAIL will be returned to the querying system.

% DATASRC_QUERY_FOLLOW_CNAME following CNAME at '%1'
Debug information. The domain is a CNAME (or a DNAME and a CNAME for it
has already been created) and the search is following this chain.

% DATASRC_QUERY_GET_MX_ADDITIONAL addition of A/AAAA for '%1' requested by MX '%2'
Debug information. While processing a query, a MX record was met. It
references the mentioned address, so A/AAAA records for it are looked up
and put it into the additional section.

% DATASRC_QUERY_GET_NS_ADDITIONAL addition of A/AAAA for '%1' requested by NS '%2'
Debug information. While processing a query, a NS record was met. It
references the mentioned address, so A/AAAA records for it are looked up
and put it into the additional section.

% DATASRC_QUERY_GLUE_FAIL the underlying data source failed with %1
The underlying data source failed to answer the glue query. 1 means some error,
2 is not implemented. The data source should have logged the specific error
already.

% DATASRC_QUERY_INVALID_OP invalid query operation requested
This indicates a programmer error. The DO_QUERY was called with unknown
operation code.

% DATASRC_QUERY_IS_AUTH auth query (%1/%2)
Debug information. The last DO_QUERY is an auth query.

% DATASRC_QUERY_IS_GLUE glue query (%1/%2)
Debug information. The last DO_QUERY is a query for glue addresses.

% DATASRC_QUERY_IS_NOGLUE query for non-glue addresses (%1/%2)
Debug information. The last DO_QUERY is a query for addresses that are not
glue.

% DATASRC_QUERY_IS_REF query for referral (%1/%2)
Debug information. The last DO_QUERY is a query for referral information.

% DATASRC_QUERY_IS_SIMPLE simple query (%1/%2)
Debug information. The last DO_QUERY is a simple query.

% DATASRC_QUERY_MISPLACED_TASK task of this type should not be here
This indicates a programming error. A task was found in the internal task
queue, but this kind of task wasn't designed to be inside the queue (it should
be handled right away, not queued).

% DATASRC_QUERY_MISSING_NS missing NS records for '%1'
NS records should have been put into the authority section. However, this zone
has none. This indicates problem with provided data.

% DATASRC_QUERY_MISSING_SOA the zone '%1' has no SOA
The answer should have been a negative one (eg. of nonexistence of something).
To do so, a SOA record should be put into the authority section, but the zone
does not have one. This indicates problem with provided data.

% DATASRC_QUERY_NOGLUE_FAIL the underlying data source failed with %1
The underlying data source failed to answer the no-glue query. 1 means some
error, 2 is not implemented. The data source should have logged the specific
error already.

% DATASRC_QUERY_NO_CACHE_ANY_AUTH ignoring hotspot cache for ANY query (%1/%2 in %3 class)
Debug information. The hotspot cache is ignored for authoritative ANY queries
for consistency reasons.

% DATASRC_QUERY_NO_CACHE_ANY_SIMPLE ignoring hotspot cache for ANY query (%1/%2 in %3 class)
Debug information. The hotspot cache is ignored for ANY queries for consistency
reasons.

% DATASRC_QUERY_NO_DS_NSEC there's no DS record in the '%1' zone
An attempt to add a NSEC record into the message failed, because the zone does
not have any DS record. This indicates problem with the provided data.

% DATASRC_QUERY_NO_DS_NSEC3 there's no DS record in the '%1' zone
An attempt to add a NSEC3 record into the message failed, because the zone does
not have any DS record. This indicates problem with the provided data.

% DATASRC_QUERY_NO_ZONE no zone containing '%1' in class '%2'
Debug information. Lookup of domain failed because the datasource
has no zone that contains the domain. Maybe someone sent a query
to the wrong server for some reason. This may also happen when
looking in the datasource for addresses for NS records.

% DATASRC_QUERY_PROCESS processing query '%1/%2' in the '%3' class
Debug information. A sure query is being processed now.

% DATASRC_QUERY_PROVE_NX_FAIL unable to prove nonexistence of '%1'
The user wants DNSSEC and we discovered the entity doesn't exist (either
domain or the record). But there was an error getting NSEC/NSEC3 record
to prove the nonexistence.

% DATASRC_QUERY_REF_FAIL the underlying data source failed with %1
The underlying data source failed to answer the query for referral information.
1 means some error, 2 is not implemented. The data source should have logged
the specific error already.

% DATASRC_QUERY_RRSIG unable to answer RRSIG query for %1
The server is unable to answer a direct query for RRSIG type, but was asked
to do so.

% DATASRC_QUERY_SIMPLE_FAIL the underlying data source failed with %1
The underlying data source failed to answer the simple query. 1 means some
error, 2 is not implemented. The data source should have logged the specific
error already.

% DATASRC_QUERY_SYNTH_CNAME synthesizing CNAME from DNAME on '%1'
This is a debug message. While answering a query, a DNAME was encountered. The
DNAME itself will be returned, along with a synthesized CNAME for clients that
do not understand the DNAME RR.

% DATASRC_QUERY_TASK_FAIL task failed with %1
The query subtask failed. The reason should have been reported by the subtask
already. The code is 1 for error, 2 for not implemented.

% DATASRC_QUERY_TOO_MANY_CNAMES CNAME chain limit exceeded at '%1'
A CNAME led to another CNAME and it led to another, and so on. After 16
CNAMEs, the software gave up. Long CNAME chains are discouraged, and this
might possibly be a loop as well. Note that some of the CNAMEs might have
been synthesized from DNAMEs. This indicates problem with supplied data.

% DATASRC_QUERY_UNKNOWN_RESULT unknown result of subtask
This indicates a programmer error. The answer of subtask doesn't look like
anything known.

% DATASRC_QUERY_WILDCARD looking for a wildcard covering '%1'
Debug information. A direct match wasn't found, so a wildcard covering the
domain is being looked for now.

% DATASRC_QUERY_WILDCARD_FAIL error processing wildcard for '%1'
During an attempt to cover the domain by a wildcard an error happened. The
exact kind was hopefully already reported.

% DATASRC_QUERY_WILDCARD_PROVE_NX_FAIL unable to prove nonexistence of '%1' (%2)
While processing a wildcard, it wasn't possible to prove nonexistence of the
given domain or record.  The code is 1 for error and 2 for not implemented.

% DATASRC_QUERY_WILDCARD_REFERRAL unable to find referral info for '%1' (%2)
While processing a wildcard, a referral was met. But it wasn't possible to get
enough information for it.  The code is 1 for error, 2 for not implemented.

% DATASRC_SQLITE_CLOSE closing SQLite database
Debug information. The SQLite data source is closing the database file.

% DATASRC_SQLITE_COMPATIBLE_VERSION database schema V%1.%2 not up to date (expecting V%3.%4) but is compatible
The version of the SQLite3 database schema used to hold the zone data
is not the latest one - the current version of BIND 10 was written
with a later schema version in mind.  However, the database is
compatible with the current version of BIND 10, and BIND 10 will run
without any problems.

Consult the release notes for your version of BIND 10.  Depending on
the changes made to the database schema, it is possible that improved
performance could result if the database were upgraded.

% DATASRC_SQLITE_CONNCLOSE Closing sqlite database
The database file is no longer needed and is being closed.

% DATASRC_SQLITE_CONNOPEN Opening sqlite database file '%1'
The database file is being opened so it can start providing data.

% DATASRC_SQLITE_CREATE SQLite data source created
Debug information. An instance of SQLite data source is being created.

% DATASRC_SQLITE_DESTROY SQLite data source destroyed
Debug information. An instance of SQLite data source is being destroyed.

% DATASRC_SQLITE_DROPCONN SQLite3Database is being deinitialized
The object around a database connection is being destroyed.

% DATASRC_SQLITE_ENCLOSURE looking for zone containing '%1'
Debug information. The SQLite data source is trying to identify which zone
should hold this domain.

% DATASRC_SQLITE_ENCLOSURE_NOT_FOUND no zone contains '%1'
Debug information. The last SQLITE_ENCLOSURE query was unsuccessful; there's
no such zone in our data.

% DATASRC_SQLITE_FIND looking for RRset '%1/%2'
Debug information. The SQLite data source is looking up a resource record
set.

% DATASRC_SQLITE_FINDADDRS looking for A/AAAA addresses for '%1'
Debug information. The data source is looking up the addresses for given
domain name.

% DATASRC_SQLITE_FINDADDRS_BAD_CLASS class mismatch looking for addresses ('%1' and '%2')
The SQLite data source was looking up A/AAAA addresses, but the data source
contains different class than the query was for.

% DATASRC_SQLITE_FINDEXACT looking for exact RRset '%1/%2'
Debug information. The SQLite data source is looking up an exact resource
record.

% DATASRC_SQLITE_FINDEXACT_BAD_CLASS class mismatch looking for an RRset ('%1' and '%2')
The SQLite data source was looking up an exact RRset, but the data source
contains different class than the query was for.

% DATASRC_SQLITE_FINDREC looking for record '%1/%2'
Debug information. The SQLite data source is looking up records of given name
and type in the database.

% DATASRC_SQLITE_FINDREF looking for referral at '%1'
Debug information. The SQLite data source is identifying if this domain is
a referral and where it goes.

% DATASRC_SQLITE_FINDREF_BAD_CLASS class mismatch looking for referral ('%1' and '%2')
The SQLite data source was trying to identify if there's a referral. But
it contains different class than the query was for.

% DATASRC_SQLITE_FIND_BAD_CLASS class mismatch looking for an RRset ('%1' and '%2')
The SQLite data source was looking up an RRset, but the data source contains
different class than the query was for.

% DATASRC_SQLITE_FIND_NSEC3 looking for NSEC3 in zone '%1' for hash '%2'
Debug information. We're trying to look up a NSEC3 record in the SQLite data
source.

% DATASRC_SQLITE_FIND_NSEC3_NO_ZONE no such zone '%1'
The SQLite data source was asked to provide a NSEC3 record for given zone.
But it doesn't contain that zone.

% DATASRC_SQLITE_INCOMPATIBLE_VERSION database schema V%1.%2 incompatible with version (V%3.%4) expected
The version of the SQLite3 database schema used to hold the zone data
is incompatible with the version expected by BIND 10.  As a result,
BIND 10 is unable to run using the database file as the data source.

The database should be updated using the means described in the BIND
10 documentation.

% DATASRC_SQLITE_NEWCONN SQLite3Database is being initialized
A wrapper object to hold database connection is being initialized.

% DATASRC_SQLITE_OPEN opening SQLite database '%1'
Debug information. The SQLite data source is loading an SQLite database in
the provided file.

% DATASRC_SQLITE_PREVIOUS looking for name previous to '%1'
This is a debug message.  The name given was not found, so the program
is searching for the next name higher up the hierarchy (e.g. if
www.example.com were queried for and not found, the software searches
for the "previous" name, example.com).

% DATASRC_SQLITE_PREVIOUS_NO_ZONE no zone containing '%1'
The name given was not found, so the program is searching for the next
name higher up the hierarchy (e.g. if www.example.com were queried
for and not found, the software searches for the "previous" name,
example.com). However, this name is not contained in any zone in the
data source. This is an error since it indicates a problem in the earlier
processing of the query.

% DATASRC_SQLITE_SETUP setting up SQLite database
The database for SQLite data source was found empty. It is assumed this is the
first run and it is being initialized with current schema.  It'll still contain
no data, but it will be ready for use.

% DATASRC_STATIC_CLASS_NOT_CH static data source can handle CH class only
An error message indicating that a query requesting a RR for a class other
that CH was sent to the static data source (which only handles CH queries).

% DATASRC_STATIC_CREATE creating the static datasource
Debug information. The static data source (the one holding stuff like
version.bind) is being created.

% DATASRC_STATIC_FIND looking for '%1/%2'
Debug information. This resource record set is being looked up in the static
data source.

% DATASRC_UNEXPECTED_QUERY_STATE unexpected query state
This indicates a programming error. An internal task of unknown type was
generated.
