[svn] commit: r223 - in /branches/f2f200910/src: bin/parkinglot/main.cc lib/dns/rrset.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Oct 30 04:11:45 UTC 2009
Author: each
Date: Fri Oct 30 04:11:45 2009
New Revision: 223
Log:
add SOA record to authority section on NXDOMAIN
(checkpoint. this actually doesn't work yet, it seems
the SOA::copy() routine is failing somehow...)
Modified:
branches/f2f200910/src/bin/parkinglot/main.cc
branches/f2f200910/src/lib/dns/rrset.cc
Modified: branches/f2f200910/src/bin/parkinglot/main.cc
==============================================================================
--- branches/f2f200910/src/bin/parkinglot/main.cc (original)
+++ branches/f2f200910/src/bin/parkinglot/main.cc Fri Oct 30 04:11:45 2009
@@ -50,7 +50,7 @@
zones.serve("flame.org");
}
-Rdata::RdataPtr ns1, ns2, ns3, a, aaaa;
+Rdata::RdataPtr ns1, ns2, ns3, a, aaaa, soa;
static void
init_server() {
@@ -59,6 +59,8 @@
ns3 = Rdata::RdataPtr(new NS("ns3.parking.com"));
a = Rdata::RdataPtr(new A("127.0.0.1"));
aaaa = Rdata::RdataPtr(new AAAA("::1"));
+ soa == Rdata::RdataPtr(new SOA("parking.com", "noc.parking.com",
+ 1, 1800, 900, 604800, TTL(86400)));
}
static int
@@ -115,12 +117,17 @@
msg.addRR(SECTION_ANSWER, RR(authors_name, RRClass::CH,
RRType::TXT, TTL(0),
TXT("JINMEI Tatuya")));
+ msg.addRR(SECTION_ANSWER, RR(authors_name, RRClass::CH,
+ RRType::TXT, TTL(0),
+ TXT("Evan Hunt")));
// add others name here!!
msg.addRR(SECTION_AUTHORITY, RR(authors_name, RRClass::CH,
RRType::NS, TTL(0),
NS("authors.bind")));
- } if (zones.contains(name)) {
+ }
+
+ if (zones.contains(name)) {
msg.setRcode(Message::RCODE_NOERROR);
RRset* nsset = new RRset(query->getName(), RRClass::IN,
RRType::NS, TTL(3600));
@@ -131,21 +138,23 @@
if (query->getType() == RRType::NS)
msg.addRRset(SECTION_ANSWER, RRsetPtr(nsset));
- else
+ else if (query->getType() == RRType::A) {
msg.addRRset(SECTION_AUTHORITY, RRsetPtr(nsset));
-
- if (query->getType() == RRType::A) {
RR arr(query->getName(), RRClass::IN, RRType::A, TTL(3600), a);
msg.addRR(SECTION_ANSWER, arr);
} else if (query->getType() == RRType::AAAA) {
+ msg.addRRset(SECTION_AUTHORITY, RRsetPtr(nsset));
RR aaaarr(query->getName(), RRClass::IN, RRType::AAAA,
TTL(3600), aaaa);
msg.addRR(SECTION_ANSWER, aaaarr);
+ } else {
+ RR soarr(query->getName(), RRClass::IN, RRType::SOA,
+ TTL(3600), soa);
+ msg.addRR(SECTION_AUTHORITY, soarr);
}
} else {
msg.setRcode(Message::RCODE_NXDOMAIN);
- // should add SOA to the authority section, but not implemented.
}
msg.toWire();
Modified: branches/f2f200910/src/lib/dns/rrset.cc
==============================================================================
--- branches/f2f200910/src/lib/dns/rrset.cc (original)
+++ branches/f2f200910/src/lib/dns/rrset.cc Fri Oct 30 04:11:45 2009
@@ -180,7 +180,7 @@
text_rdata_factory_repository.insert(pair<RRClassTypePair, TextRdataFactory>
(RRClassTypePair(RRClass::IN, RRType::AAAA),
createDataFromText<isc::dns::Rdata::IN::AAAA>));
- //XXX: NS/TXT/SOA?MX belongs to the 'generic' class. should revisit it.
+ //XXX: NS/TXT/SOA/MX belongs to the 'generic' class. should revisit it.
text_rdata_factory_repository.insert(pair<RRClassTypePair, TextRdataFactory>
(RRClassTypePair(RRClass::IN, RRType::NS),
createDataFromText<isc::dns::Rdata::Generic::NS>));
More information about the bind10-changes
mailing list