quotes), PowerDNS will cut up the content into 255 character/byte chunks for
transmission to the client.
+## URI
+The URI record, specified in [RFC 7553](http://tools.ietf.org/html/rfc7553), is
+used to publish mappings from hostnames to URIs.
+
## Other types
The following, rarely used or obsolete record types, are also supported:
)
TKEYRecordContent::TKEYRecordContent() { d_othersize = 0; } // fix CID#1288932
+boilerplate_conv(URI, QType::URI,
+ conv.xfr8BitInt(d_priority);
+ conv.xfr8BitInt(d_weight);
+ conv.xfrText(d_target, true, false);
+ )
+
static uint16_t makeTag(const std::string& data)
{
const unsigned char* key=(const unsigned char*)data.c_str();
EUI48RecordContent::report();
EUI64RecordContent::report();
MINFORecordContent::report();
+ URIRecordContent::report();
}
void reportAllTypes()
private:
};
+class URIRecordContent : public DNSRecordContent {
+ public:
+ includeboilerplate(URI)
+ private:
+ uint8_t d_priority, d_weight;
+ string d_target;
+};
+
#define boilerplate(RNAME, RTYPE) \
RNAME##RecordContent::DNSRecordContent* RNAME##RecordContent::make(const DNSRecord& dr, PacketReader& pr) \
{ \
MAILB=253,
MAILA=254,
ANY=255,
+ URI=256,
DLV=32769,
ADDR=65400,
ALIAS=65401
qtype_insert("MAILB", 253);
qtype_insert("MAILA", 254);
qtype_insert("ANY", 255);
+ qtype_insert("URI", 256);
qtype_insert("DLV", 32769);
qtype_insert("ADDR", 65400);
qtype_insert("ALIAS", 65401);
(CASE_S(QType::TKEY, "gss-tsig. 12345 12345 3 21 4 dGVzdA== 4 dGVzdA==", "\x08gss-tsig\x00\x00\x00\x30\x39\x00\x00\x30\x39\x00\x03\x00\x15\x00\x04test\x00\x04test", false))
/* (CASE_S(QType::ADDR, "zone format", "line format",false)) */
(CASE_S(QType::DLV, "20642 8 2 04443abe7e94c3985196beae5d548c727b044dda5151e60d7cd76a9fd931d00e", "\x50\xa2\x08\x02\x04\x44\x3a\xbe\x7e\x94\xc3\x98\x51\x96\xbe\xae\x5d\x54\x8c\x72\x7b\x04\x4d\xda\x51\x51\xe6\x0d\x7c\xd7\x6a\x9f\xd9\x31\xd0\x0e",false))
+ (CASE_S(QType::URI, "10 1 \"ftp://ftp1.example.com/public\"", "\x0a\x01\x66\x74\x70\x3a\x2f\x2f\x66\x74\x70\x31\x2e\x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x2f\x70\x75\x62\x6c\x69\x63", false))
+ (CASE_S(QType::URI, "10 1 \"ftp://ftp1.example.com/public/with/a/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/very/long/url\"", "\x0a\x01\x66\x74\x70\x3a\x2f\x2f\x66\x74\x70\x31\x2e\x65\x78\x61\x6d\x70\x6c\x65\x2e\x63\x6f\x6d\x2f\x70\x75\x62\x6c\x69\x63\x2f\x77\x69\x74\x68\x2f\x61\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x76\x65\x72\x79\x2f\x6c\x6f\x6e\x67\x2f\x75\x72\x6c", false))
(CASE_S((QType::typeenum)65226,"\\# 3 414243","\x41\x42\x43",false))
;