pdns  4.2.0-rc1
About: PowerDNS daemon - a high performance authoritative nameserver. Release candidate.
  Fossies Dox: pdns-4.2.0-rc1.tar.bz2  ("inofficial" and yet experimental doxygen-generated source code documentation)  

DNSResourceRecord Class Reference

This class represents a resource record. More...

#include <dns.hh>

Inheritance diagram for DNSResourceRecord:
Collaboration diagram for DNSResourceRecord:

Public Types

enum  Place : uint8_t { QUESTION =0, ANSWER =1, AUTHORITY =2, ADDITIONAL =3 }
 

Public Member Functions

 DNSResourceRecord ()
 
 ~DNSResourceRecord ()
 
void setContent (const string &content)
 
string getZoneRepresentation (bool noDot=false) const
 
bool operator== (const DNSResourceRecord &rhs)
 
bool operator< (const DNSResourceRecord &b) const
 

Static Public Member Functions

static DNSResourceRecord fromWire (const DNSRecord &d)
 

Public Attributes

DNSName qname
 the name of this record, for example: www.powerdns.com More...
 
DNSName wildcardname
 
string content
 what this record points to. Example: 10.1.2.3 More...
 
time_t last_modified
 For autocalculating SOA serial numbers - the backend needs to fill this in. More...
 
uint32_t ttl
 Time To Live of this record. More...
 
uint32_t signttl
 If non-zero, use this TTL as original TTL in the RRSIG. More...
 
int domain_id
 If a backend implements this, the domain_id of the zone this record is in. More...
 
QType qtype
 qtype of this record, ie A, CNAME, MX etc More...
 
uint16_t qclass
 class of this record More...
 
uint8_t scopeMask
 
bool auth
 
bool disabled
 

Detailed Description

This class represents a resource record.

Definition at line 80 of file dns.hh.

Member Enumeration Documentation

◆ Place

enum DNSResourceRecord::Place : uint8_t
Enumerator
QUESTION 
ANSWER 
AUTHORITY 
ADDITIONAL 

Definition at line 87 of file dns.hh.

Constructor & Destructor Documentation

◆ DNSResourceRecord()

DNSResourceRecord::DNSResourceRecord ( )
inline

Definition at line 83 of file dns.hh.

◆ ~DNSResourceRecord()

DNSResourceRecord::~DNSResourceRecord ( )
inline

Definition at line 84 of file dns.hh.

Member Function Documentation

◆ fromWire()

◆ getZoneRepresentation()

string DNSResourceRecord::getZoneRepresentation ( bool  noDot = false) const

◆ operator<()

bool DNSResourceRecord::operator< ( const DNSResourceRecord b) const
inline

Definition at line 114 of file dns.hh.

References content, and qname.

◆ operator==()

bool DNSResourceRecord::operator== ( const DNSResourceRecord rhs)

Definition at line 80 of file dnsrecords.cc.

References content, qname, qtype, toLower(), and ttl.

◆ setContent()

void DNSResourceRecord::setContent ( const string &  content)

Member Data Documentation

◆ auth

◆ content

string DNSResourceRecord::content

what this record points to. Example: 10.1.2.3

Definition at line 95 of file dns.hh.

Referenced by addOrReplaceRecord(), apiServerZoneExport(), apiServerZones(), BOOST_AUTO_TEST_CASE(), TCPNameserver::canDoAXFR(), checkHostnameCorrectness(), checkNewRecords(), createZone(), DNSRecord::DNSRecord(), LUABackend::dnsrr_to_table(), Bind2Backend::doEmptyNonTerminals(), GSQLBackend::extractRecord(), LMDBBackend::feedEnts3(), LMDBBackend::feedRecord(), OracleBackend::feedRecord(), OdbxBackend::feedRecord(), RemoteBackend::feedRecord(), GSQLBackend::feedRecord(), Bind2Backend::feedRecord(), fromWire(), gatherRecords(), ZoneParserTNG::get(), MyDNSBackend::get(), LMDBBackend::get(), LUABackend::get(), PipeBackend::get(), RandomBackend::get(), TinyDNSBackend::get(), OracleBackend::get(), OdbxBackend::get(), DNSBackend::get(), RemoteBackend::get(), LdapBackend::get(), Bind2Backend::get(), LMDBBackend::get_list(), Bind2Backend::handle::get_list(), LMDBBackend::get_lookup(), Bind2Backend::handle::get_normal(), TinyDNSBackend::getAllDomains(), LMDBBackend::getBeforeAndAfterNamesAbsolute(), DNSBackend::getSOA(), LMDBBackend::getUnfreshSlaveInfos(), getZoneRepresentation(), increaseSOARecord(), GeoIPBackend::initialize(), listZone(), loadZoneFromDisk(), GeoIPBackend::lookup(), main(), makeBigDNSPacketReferral(), makeIncreasedSOARecord(), makePtr(), ParsePacketTest::operator()(), operator<(), operator==(), parseResult(), parseZone(), Bind2Backend::parseZoneFile(), patchZone(), PacketHandler::performUpdate(), processRecordForZS(), RemoteBackend::searchRecords(), Bind2Backend::searchRecords(), serFromString(), serToString(), setContent(), LUABackend::superMasterBackend(), testSchema(), testSpeed(), LMDBBackend::updateDNSSECOrderNameAndAuth(), and verifyCrypto().

◆ disabled

◆ domain_id

◆ last_modified

time_t DNSResourceRecord::last_modified

For autocalculating SOA serial numbers - the backend needs to fill this in.

Definition at line 99 of file dns.hh.

Referenced by GSQLBackend::extractRecord(), MyDNSBackend::get(), LUABackend::get(), OracleBackend::get(), OdbxBackend::get(), LdapBackend::get(), and Lua2BackendAPIv2::parseLookup().

◆ qclass

◆ qname

DNSName DNSResourceRecord::qname

the name of this record, for example: www.powerdns.com

Definition at line 93 of file dns.hh.

Referenced by addOrReplaceRecord(), apiServerZoneExport(), apiServerZones(), BOOST_AUTO_TEST_CASE(), checkNewRecords(), createZone(), Bind2Backend::doEmptyNonTerminals(), GSQLBackend::extractRecord(), LMDBBackend::feedEnts(), LMDBBackend::feedEnts3(), LMDBBackend::feedRecord(), OracleBackend::feedRecord(), OdbxBackend::feedRecord(), RemoteBackend::feedRecord(), GSQLBackend::feedRecord(), Bind2Backend::feedRecord(), fillZone(), fromWire(), gatherRecords(), ZoneParserTNG::get(), MyDNSBackend::get(), LMDBBackend::get(), LUABackend::get(), PipeBackend::get(), RandomBackend::get(), TinyDNSBackend::get(), OracleBackend::get(), OdbxBackend::get(), RemoteBackend::get(), LdapBackend::get(), Bind2Backend::get(), Bind2Backend::handle::get_list(), Bind2Backend::handle::get_normal(), TinyDNSBackend::getAllDomains(), PacketHandler::increaseSerial(), increaseSerial(), increaseSOARecord(), GeoIPBackend::initialize(), listZone(), loadZone(), loadZoneFromDisk(), GeoIPBackend::lookup(), main(), makeBigDNSPacketReferral(), makeIncreasedSOARecord(), makePtr(), LMDBBackend::compoundOrdername::operator()(), ParsePacketTest::operator()(), operator<(), operator==(), Lua2BackendAPIv2::parseLookup(), parseResult(), parseZone(), Bind2Backend::parseZoneFile(), patchZone(), PacketHandler::performUpdate(), processRecordForZS(), DNSSECKeeper::rectifyZone(), RemoteBackend::searchRecords(), Bind2Backend::searchRecords(), storeChangedPTRs(), testSchema(), testSpeed(), updateDomainSettingsFromDocument(), LMDBBackend::updateEmptyNonTerminals(), validateGatheredRRType(), and verifyCrypto().

◆ qtype

QType DNSResourceRecord::qtype

qtype of this record, ie A, CNAME, MX etc

Definition at line 105 of file dns.hh.

Referenced by addOrReplaceRecord(), apiServerZoneExport(), apiServerZones(), BOOST_AUTO_TEST_CASE(), checkHostnameCorrectness(), checkNewRecords(), PacketHandler::checkUpdatePrerequisites(), createZone(), DNSRecord::DNSRecord(), LUABackend::dnsrr_to_table(), Bind2Backend::doEmptyNonTerminals(), editZone(), GSQLBackend::extractRecord(), LMDBBackend::feedRecord(), OracleBackend::feedRecord(), OdbxBackend::feedRecord(), RemoteBackend::feedRecord(), GSQLBackend::feedRecord(), Bind2Backend::feedRecord(), fillZone(), fromWire(), gatherRecords(), gatherRecordsFromZone(), ZoneParserTNG::get(), MyDNSBackend::get(), LMDBBackend::get(), LUABackend::get(), PipeBackend::get(), RandomBackend::get(), TinyDNSBackend::get(), OracleBackend::get(), OdbxBackend::get(), DNSBackend::get(), RemoteBackend::get(), LdapBackend::get(), Bind2Backend::get(), Bind2Backend::handle::get_list(), Bind2Backend::handle::get_normal(), TinyDNSBackend::getAllDomains(), DNSBackend::getSOA(), getZoneRepresentation(), PacketHandler::increaseSerial(), increaseSerial(), GeoIPBackend::initialize(), listZone(), loadSOAFromDisk(), loadZone(), loadZoneFromDisk(), GeoIPBackend::lookup(), main(), makeBigDNSPacketReferral(), makeIncreasedSOARecord(), makePtr(), LMDBBackend::compoundOrdername::operator()(), ParsePacketTest::operator()(), operator==(), Lua2BackendAPIv2::parseLookup(), parseResult(), parseZone(), Bind2Backend::parseZoneFile(), patchZone(), PacketHandler::performUpdate(), processRecordForZS(), PacketHandler::processUpdate(), DNSSECKeeper::rectifyZone(), RemoteBackend::searchRecords(), Bind2Backend::searchRecords(), setContent(), storeChangedPTRs(), LUABackend::superMasterBackend(), testSchema(), testSpeed(), LMDBBackend::updateDNSSECOrderNameAndAuth(), updateDomainSettingsFromDocument(), validateGatheredRRType(), and verifyCrypto().

◆ scopeMask

◆ signttl

uint32_t DNSResourceRecord::signttl

If non-zero, use this TTL as original TTL in the RRSIG.

Definition at line 102 of file dns.hh.

◆ ttl

uint32_t DNSResourceRecord::ttl

Time To Live of this record.

Definition at line 101 of file dns.hh.

Referenced by addOrReplaceRecord(), apiServerZoneExport(), apiServerZones(), BOOST_AUTO_TEST_CASE(), createZone(), DNSRecord::DNSRecord(), LUABackend::dnsrr_to_table(), Bind2Backend::doEmptyNonTerminals(), GSQLBackend::extractRecord(), LMDBBackend::feedEnts(), LMDBBackend::feedEnts3(), LMDBBackend::feedRecord(), OracleBackend::feedRecord(), OdbxBackend::feedRecord(), RemoteBackend::feedRecord(), GSQLBackend::feedRecord(), Bind2Backend::feedRecord(), fromWire(), gatherRecords(), ZoneParserTNG::get(), MyDNSBackend::get(), LMDBBackend::get(), LUABackend::get(), PipeBackend::get(), RandomBackend::get(), TinyDNSBackend::get(), OracleBackend::get(), OdbxBackend::get(), RemoteBackend::get(), LdapBackend::get(), LMDBBackend::get_list(), Bind2Backend::handle::get_list(), LMDBBackend::get_lookup(), Bind2Backend::handle::get_normal(), LMDBBackend::getBeforeAndAfterNamesAbsolute(), DNSBackend::getSOA(), GeoIPBackend::initialize(), listZone(), loadSOAFromDisk(), GeoIPBackend::lookup(), main(), makeBigDNSPacketReferral(), makeIncreasedSOARecord(), makePtr(), ParsePacketTest::operator()(), operator==(), Lua2BackendAPIv2::parseLookup(), parseResult(), Bind2Backend::parseZoneFile(), PacketHandler::processUpdate(), RemoteBackend::searchRecords(), Bind2Backend::searchRecords(), serFromString(), serToString(), LUABackend::superMasterBackend(), testSchema(), testSpeed(), LMDBBackend::updateDNSSECOrderNameAndAuth(), and LMDBBackend::updateEmptyNonTerminals().

◆ wildcardname

DNSName DNSResourceRecord::wildcardname

Definition at line 94 of file dns.hh.

Referenced by serFromString().


The documentation for this class was generated from the following files: