BIND 10 trac2165_2, updated. ef85853043e2d5f1fe3c2d494cd4af3b553d88fa [2165] Strip RRSIGs from addditional records in DB datasource when DNSSEC is not asked

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Aug 20 20:46:45 UTC 2012


The branch, trac2165_2 has been updated
       via  ef85853043e2d5f1fe3c2d494cd4af3b553d88fa (commit)
      from  4ecd5fbc083dfb1a7fed1f1f4e182a8dc2a59f7a (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 ef85853043e2d5f1fe3c2d494cd4af3b553d88fa
Author: Mukund Sivaraman <muks at isc.org>
Date:   Tue Aug 21 02:13:59 2012 +0530

    [2165] Strip RRSIGs from addditional records in DB datasource when DNSSEC is not asked

-----------------------------------------------------------------------

Summary of changes:
 src/lib/datasrc/zone_finder_context.cc |   19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/zone_finder_context.cc b/src/lib/datasrc/zone_finder_context.cc
index 7913d71..019707b 100644
--- a/src/lib/datasrc/zone_finder_context.cc
+++ b/src/lib/datasrc/zone_finder_context.cc
@@ -47,7 +47,24 @@ getAdditionalAddrs(ZoneFinder& finder, const Name& name,
     BOOST_FOREACH(RRType rrtype, requested_types) {
         ConstZoneFinderContextPtr ctx = finder.find(name, rrtype, options);
         if (ctx->code == ZoneFinder::SUCCESS) {
-            result_rrsets.push_back(ctx->rrset);
+            ConstRRsetPtr rr = ctx->rrset;
+            ConstRRsetPtr sig_rrset = rr->getRRsig();
+            if (sig_rrset &&
+                ((options & ZoneFinder::FIND_DNSSEC) == 0)) {
+                RRsetPtr result_base(new RRset(rr->getName(),
+                                               rr->getClass(),
+                                               rr->getType(),
+                                               rr->getTTL()));
+                for (RdataIteratorPtr i(rr->getRdataIterator());
+                     !i->isLast();
+                     i->next()) {
+                    result_base->addRdata(i->getCurrent());
+                }
+
+                result_rrsets.push_back(result_base);
+            } else {
+                result_rrsets.push_back(rr);
+            }
         }
     }
 }



More information about the bind10-changes mailing list