BIND 10 trac2435_2, updated. 1f6f8905d7319519c6f2ebd5864eeb4d6d700d03 [2435] Update RRsetCollectionBase::find() API doc for RRSIGs and meta types
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Jan 23 15:17:34 UTC 2013
The branch, trac2435_2 has been updated
via 1f6f8905d7319519c6f2ebd5864eeb4d6d700d03 (commit)
from 631366a33bb06d01547c0789edfadde7a17228bd (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 1f6f8905d7319519c6f2ebd5864eeb4d6d700d03
Author: Mukund Sivaraman <muks at isc.org>
Date: Wed Jan 23 20:47:07 2013 +0530
[2435] Update RRsetCollectionBase::find() API doc for RRSIGs and meta types
-----------------------------------------------------------------------
Summary of changes:
src/lib/dns/rrset_collection_base.h | 30 ++++++++++++++++++++++++------
1 file changed, 24 insertions(+), 6 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dns/rrset_collection_base.h b/src/lib/dns/rrset_collection_base.h
index ae1f63a..64f6379 100644
--- a/src/lib/dns/rrset_collection_base.h
+++ b/src/lib/dns/rrset_collection_base.h
@@ -58,13 +58,31 @@ public:
/// is found, \c NULL is returned.
///
/// This method's implementations currently are not specified to
- /// handle \c RRTypes such as RRSIG and NSEC3. RRSIGs are attached
- /// to their corresponding \c RRset and it is not straightforward to
- /// search for them. Searching for RRSIGs will return \c false
- /// always. Support for RRSIGs may be added in the future.
+ /// handle \c RRTypes such as RRSIG and NSEC3. It's not clear
+ /// whether we want to return all RRSIGs of the given name covering
+ /// any RR types (in which case, we need to figure out how), or we
+ /// need to extend the interface so we can specify the covered
+ /// type. The libdns++ implementation (\c isc::dns::RRsetCollection)
+ /// could actually match RRSIG RRsets because its \c addRRset()
+ /// method does not reject the direct addition of RRSIGs. There are
+ /// such fundamental open questions, and a specific derived
+ /// implementation may return something if type RRSIG is specified,
+ /// but this is not specified here at the base class level, i.e.,
+ /// for RRSIGs the behavior is undefined. This interface may be
+ /// refined to clarify this point in the future, and perhaps,
+ /// provide additional API for this RRType.
///
- /// Non-concrete types such as ANY and AXFR are unsupported and will
- /// return \c false always.
+ /// Behavior with non-concrete types such as ANY and AXFR are also
+ /// undefined. A specific implementation may return something for
+ /// these (a \c RRType::AXFR() RRset can be created and passed to
+ /// \c isc::dns::RRsetCollection, for example). But, unlike the case
+ /// of RRSIGs, these types of RRsets are not expected to be added to
+ /// any implementation of collection in the first place (by the
+ /// definition of "meta types"), so querying for such types is
+ /// basically an invalid operation. The API doesn't require
+ /// implementations to check this condition and reject it, so the
+ /// behavior is undefined. This interface will not be refined in
+ /// future versions for these meta types.
///
/// \throw RRsetCollectionError if find() results in some
/// implementation-specific error.
More information about the bind10-changes
mailing list