Browse Source

[2387] Add NSEC3PARAM lexer constructor implementation

Mukund Sivaraman 12 years ago
parent
commit
0c8f4051f5
2 changed files with 13 additions and 0 deletions
  1. 1 0
      src/lib/dns/gen-rdatacode.py.in
  2. 12 0
      src/lib/dns/rdata/generic/nsec3param_51.cc

+ 1 - 0
src/lib/dns/gen-rdatacode.py.in

@@ -44,6 +44,7 @@ new_rdata_factory_users = [('a', 'in'), ('aaaa', 'in'),
                            ('ns', 'generic'),
                            ('nsec', 'generic'),
                            ('nsec3', 'generic'),
+                           ('nsec3param', 'generic'),
                            ('ptr', 'generic'),
                            ('soa', 'generic'),
                            ('spf', 'generic'),

+ 12 - 0
src/lib/dns/rdata/generic/nsec3param_51.cc

@@ -63,6 +63,18 @@ NSEC3PARAM::NSEC3PARAM(const std::string& nsec3param_str) :
                                params.iterations, salt);
 }
 
+NSEC3PARAM::NSEC3PARAM(MasterLexer& lexer, const Name*, MasterLoader::Options,
+                       MasterLoaderCallbacks&) :
+    impl_(NULL)
+{
+    vector<uint8_t> salt;
+    const ParseNSEC3ParamResult params =
+        parseNSEC3ParamFromLexer("NSEC3PARAM", lexer, salt);
+
+    impl_ = new NSEC3PARAMImpl(params.algorithm, params.flags,
+                               params.iterations, salt);
+}
+
 NSEC3PARAM::NSEC3PARAM(InputBuffer& buffer, size_t rdata_len) {
     vector<uint8_t> salt;
     const ParseNSEC3ParamResult params =