[svn] commit: r560 - /branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Jan 27 07:14:56 UTC 2010
Author: jinmei
Date: Wed Jan 27 07:14:56 2010
New Revision: 560
Log:
- some improvements on builtin (authors/version.bind) data:
+ let the daemon answer these queries without having configured data sources
+ add CH/NS RR
+ use 0 TTL (just to be compatible with prior versions of BIND)
Modified:
branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
Modified: branches/parkinglot/src/bin/parkinglot/data_source_plot.cc
==============================================================================
--- branches/parkinglot/src/bin/parkinglot/data_source_plot.cc (original)
+++ branches/parkinglot/src/bin/parkinglot/data_source_plot.cc Wed Jan 27 07:14:56 2010
@@ -14,6 +14,11 @@
using namespace isc::dns;
using namespace isc::dns::rdata;
using namespace isc::data;
+
+namespace {
+const Name authors_name("authors.bind");
+const Name version_name("version.bind");
+}
void
DataSourceParkingLot::serve(std::string zone_name) {
@@ -62,6 +67,13 @@
bool
DataSourceParkingLot::hasZoneFor(const Name& name, Name &zone_name)
{
+ if (name == authors_name) {
+ zone_name = authors_name;
+ return (true);
+ } else if (name == version_name) {
+ zone_name = version_name;
+ return (true);
+ }
return zones.findClosest(name, zone_name);
}
@@ -72,15 +84,12 @@
const isc::dns::RRType& type) const
{
SearchResult result;
- Name authors_name("authors.bind");
- Name version_name("version.bind");
if (clas == RRClass::CH()) {
if (type == RRType::TXT()) {
if (name == authors_name) {
RRsetPtr rrset = RRsetPtr(new RRset(authors_name, RRClass::CH(),
- RRType::TXT(),
- RRTTL(3600)));
+ RRType::TXT(), RRTTL(0)));
rrset->addRdata(generic::TXT("Han Feng"));
rrset->addRdata(generic::TXT("Kazunori Fujiwara"));
rrset->addRdata(generic::TXT("Michael Graff"));
@@ -97,9 +106,19 @@
result.setStatus(SearchResult::success);
} else if (name == version_name) {
RRsetPtr rrset = RRsetPtr(new RRset(version_name, RRClass::CH(),
- RRType::TXT(),
- RRTTL(3600)));
+ RRType::TXT(), RRTTL(0)));
rrset->addRdata(generic::TXT("BIND10 0.0.1"));
+ result.addRRset(rrset);
+ result.setStatus(SearchResult::success);
+ } else {
+ result.setStatus(SearchResult::name_not_found);
+ }
+ } else if (type == RRType::NS()) {
+ if (name == authors_name || name == version_name) {
+ RRsetPtr rrset = RRsetPtr(new RRset(name, RRClass::CH(),
+ RRType::NS(),
+ RRTTL(0)));
+ rrset->addRdata(generic::NS(name));
result.addRRset(rrset);
result.setStatus(SearchResult::success);
} else {
More information about the bind10-changes
mailing list