See the `3.X <https://doc.powerdns.com/3/authoritative/upgrading/>`__
upgrade notes if your version is older than 3.4.2.
+4.1.X to 4.2.0
+--------------
+
+- *Your LDAP schema might need to be updated*, because new record types
+ have been added (see below).
+- The :doc:`LDAP Backend <backends/ldap>` now supports additional Record types
+
+ - MB
+ - MG
+ - MR
+
4.1.0 to 4.1.1
--------------
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+attributetype ( 1.3.6.1.4.1.2428.20.1.7 NAME 'mBRecord'
+ DESC 'Location of a given domain e-mail address, RFC 1035'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+attributetype ( 1.3.6.1.4.1.2428.20.1.8 NAME 'mGRecord'
+ DESC 'Defines mailbox names that are part of a mail group, RFC 1035'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
+attributetype ( 1.3.6.1.4.1.2428.20.1.9 NAME 'mRRecord'
+ DESC 'Defines aliased mailbox, RFC 1035'
+ EQUALITY caseIgnoreIA5Match
+ SUBSTR caseIgnoreIA5SubstringsMatch
+ SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
+
attributetype ( 1.3.6.1.4.1.2428.20.1.11 NAME 'wKSRecord'
DESC 'a well known service description, RFC 1035'
EQUALITY caseIgnoreIA5Match
TLSARecord $ CDSRecord $ CDNSKEYRecord $ OPENPGPKEYRecord $
SPFRecord $ EUI48Record $ EUI64Record $ TKEYRecord $
URIRecord $ CAARecord $ DLVRecord $ TYPE65226Record $
- TYPE65534Record
+ TYPE65534Record $ MBRecord $ MGRecord $ MRRecord
) )
"nSRecord",
"cNAMERecord",
"sOARecord",
+ "mBRecord",
+ "mGRecord",
+ "mRRecord",
+ "mInfoRecord",
"pTRRecord",
"hInfoRecord",
"mXRecord",
boilerplate_conv(CNAME, QType::CNAME, conv.xfrName(d_content, true));
boilerplate_conv(ALIAS, QType::ALIAS, conv.xfrName(d_content, false));
boilerplate_conv(DNAME, QType::DNAME, conv.xfrName(d_content));
+boilerplate_conv(MB, QType::MB, conv.xfrName(d_madname, true));
+boilerplate_conv(MG, QType::MG, conv.xfrName(d_mgmname, true));
boilerplate_conv(MR, QType::MR, conv.xfrName(d_alias, true));
boilerplate_conv(MINFO, QType::MINFO, conv.xfrName(d_rmailbx, true); conv.xfrName(d_emailbx, true));
boilerplate_conv(TXT, QType::TXT, conv.xfrText(d_text, true));
void reportOtherTypes()
{
+ MBRecordContent::report();
+ MGRecordContent::report();
+ MRRecordContent::report();
AFSDBRecordContent::report();
DNAMERecordContent::report();
ALIASRecordContent::report();
};
+class MBRecordContent : public DNSRecordContent
+{
+public:
+ includeboilerplate(MB)
+
+private:
+ DNSName d_madname;
+};
+
+class MGRecordContent : public DNSRecordContent
+{
+public:
+ includeboilerplate(MG)
+
+private:
+ DNSName d_mgmname;
+};
+
class MRRecordContent : public DNSRecordContent
{
public:
NS=2,
CNAME=5,
SOA=6,
+ MB=7,
+ MG=8,
MR=9,
WKS=11,
PTR=12,
qtype_insert("NS", 2);
qtype_insert("CNAME", 5);
qtype_insert("SOA", 6);
+ qtype_insert("MB", 7);
+ qtype_insert("MG", 8);
qtype_insert("MR", 9);
qtype_insert("PTR", 12);
qtype_insert("HINFO", 13);
--- /dev/null
+#!/bin/sh
+cleandig phil.mb.example.com MB
--- /dev/null
+This test tries to resolve a straight MB record that is directly available in
+the database.
--- /dev/null
+0 phil.mb.example.com. IN MB 120 pc.mb.example.com.
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='phil.mb.example.com.', qtype=MB
--- /dev/null
+#!/bin/sh
+cleandig hostmaster.mb.example.com MG
--- /dev/null
+This test tries to resolve a straight MG record that is directly available in
+the database.
--- /dev/null
+0 hostmaster.mb.example.com. IN MG 120 phil.mb.example.com.
+0 hostmaster.mb.example.com. IN MG 120 sheila.mb.example.com.
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='hostmaster.mb.example.com.', qtype=MG
--- /dev/null
+#!/bin/sh
+cleandig philip.mb.example.com MR
--- /dev/null
+This test tries to resolve a straight MR record that is directly available in
+the database.
--- /dev/null
+0 philip.mb.example.com. IN MR 120 phil.mb.example.com.
+Rcode: 0 (No Error), RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='philip.mb.example.com.', qtype=MR
google-alias IN ALIAS google-public-dns-a.google.com.
;
host-for-auto-ptr IN A 192.0.2.1
+;
+phil.mb IN MB pc.mb.example.com.
+sheila.mb IN MB bill.mb.example.com.
+hostmaster.mb IN MG phil.mb.example.com.
+ IN MG sheila.mb.example.com.
+philip.mb IN MR phil.mb.example.com.