]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Add QClass NONE and ANY
authorRuben d'Arco <cyclops@prof-x.net>
Mon, 3 Dec 2012 04:12:57 +0000 (05:12 +0100)
committermind04 <mind04@monshouwer.org>
Fri, 12 Jul 2013 15:08:00 +0000 (17:08 +0200)
RFC2136 uses NONE and ANY to check what type of operation to perform.
So, these QClasses are now added and registered as valid records.

pdns/dnsrecords.hh
pdns/qtype.hh
pdns/sillyrecords.cc

index b9020a61b8b0315ce9574071ac040566231aeba8..7780289d00c92daebb1fc3489630aed6ed1392e9 100644 (file)
@@ -553,10 +553,12 @@ void RNAME##RecordContent::toPacket(DNSPacketWriter& pw)
 void RNAME##RecordContent::report(void)                                                            \
 {                                                                                                  \
   regist(1, RTYPE, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);              \
+  regist(254, RTYPE, &RNAME##RecordContent::make, &RNAME##RecordContent::make, #RNAME);            \
 }                                                                                                  \
 void RNAME##RecordContent::unreport(void)                                                          \
 {                                                                                                  \
   unregist(1, RTYPE);                                                                              \
+  unregist(254, RTYPE);                                                                            \
 }                                                                                                  \
                                                                                                    \
 RNAME##RecordContent::RNAME##RecordContent(const string& zoneData) : DNSRecordContent(RTYPE)       \
index 42729128d3278cc7a9824b92e7d9f6ecc36f46c5..0a4a256b313434a44b24951b13b13d9cc9f4b03d 100644 (file)
@@ -166,6 +166,6 @@ private:
 
 struct QClass
 {
-       enum QClassEnum {IN=1, CHAOS=3};
+       enum QClassEnum {IN=1, CHAOS=3, NONE=254, ANY=255};
 };
 #endif
index 8c0e139eea33102a460deaf0a5bc9b871ed2b011..d3806075d9d7ed6372e1b32c1a5594587323669f 100644 (file)
@@ -150,6 +150,7 @@ latlon2ul(const char **latlonstrptr, int *which)
 void LOCRecordContent::report(void)
 {
   regist(1, ns_t_loc, &make, &make, "LOC");
+  regist(254, ns_t_loc, &make, &make, "LOC");
 }
 
 DNSRecordContent* LOCRecordContent::make(const string& content)