2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 22:15:23 +00:00

use NS::getNSName() to retrieve NS name from an NS RDATA entry.

the use of dynamic_cast is intientional, assuming such specialization is rare.


git-svn-id: svn://bind10.isc.org/svn/bind10/branches/parkinglot@546 e5f2f494-b856-4b98-b285-d166d9295462
This commit is contained in:
JINMEI Tatuya
2010-01-27 00:38:25 +00:00
parent 6cd40e8084
commit a3d9a1e5f6

View File

@@ -43,8 +43,9 @@
using namespace std; using namespace std;
using namespace isc::dns; using namespace isc::dns;
using namespace isc::dns::rdata::in; using namespace isc::dns::rdata;
using namespace isc::dns::rdata::generic; //using namespace isc::dns::rdata::in;
//using namespace isc::dns::rdata::generic;
using namespace isc::data; using namespace isc::data;
ParkingLot::ParkingLot(int port) { ParkingLot::ParkingLot(int port) {
@@ -145,15 +146,15 @@ ParkingLot::processMessage() {
for (rrsetit->first(); for (rrsetit->first();
!rrsetit->isLast(); !rrsetit->isLast();
rrsetit->next()) { rrsetit->next()) {
const rdata::Rdata& rdata = rrsetit->getCurrent(); const generic::NS& nsrdata =
/* no direct way to get the Name from the rdata fields? */ dynamic_cast<const generic::NS&>(
Name ns_name = Name(rdata.toText()); rrsetit->getCurrent());
data_source.addToMessage(msg, Section::ADDITIONAL(), data_source.addToMessage(msg, Section::ADDITIONAL(),
zname, ns_name, qclass, zname, nsrdata.getNSName(),
RRType::A()); qclass, RRType::A());
data_source.addToMessage(msg, Section::ADDITIONAL(), data_source.addToMessage(msg, Section::ADDITIONAL(),
zname, ns_name, qclass, zname, nsrdata.getNSName(),
RRType::AAAA()); qclass, RRType::AAAA());
} }
} }
} }
@@ -166,15 +167,16 @@ ParkingLot::processMessage() {
for (rrsetit->first(); for (rrsetit->first();
!rrsetit->isLast(); !rrsetit->isLast();
rrsetit->next()) { rrsetit->next()) {
const rdata::Rdata& rdata = rrsetit->getCurrent(); const generic::NS& nsrdata =
/* no direct way to get the Name from the rdata fields? */ dynamic_cast<const generic::NS&>(
Name ns_name = Name(rdata.toText()); rrsetit->getCurrent());
data_source.addToMessage(msg, Section::ADDITIONAL(), data_source.addToMessage(msg, Section::ADDITIONAL(),
zname, ns_name, qclass, zname, nsrdata.getNSName(),
RRType::A()); qclass, RRType::A());
data_source.addToMessage(msg, Section::ADDITIONAL(), data_source.addToMessage(msg, Section::ADDITIONAL(),
zname, ns_name, qclass, zname,
RRType::AAAA()); nsrdata.getNSName(),
qclass, RRType::AAAA());
} }
} }
} }