]> granicus.if.org Git - pdns/commitdiff
rec: Add Lua binding for DNSRecord::d_place
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 31 Aug 2016 07:54:08 +0000 (09:54 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Mon, 5 Sep 2016 09:05:09 +0000 (11:05 +0200)
Also document the members and methods of the DNS Record object.

(cherry picked from commit 57d0c73b877406e63bbe629ce813cccc49b8cd01)

docs/markdown/recursor/scripting.md
pdns/lua-recursor4.cc

index a4f618b6ec1fc79405e641d04fb2eb900f7092cf..76550b945db766aeee87669e324a9afbe69333d2 100644 (file)
@@ -322,6 +322,21 @@ This could e.g. be used to answer questions for known malware domains.
 
 To see the set of suffixes matched by a Suffix Match Group, use `:toString()`.
 
+### DNS Record
+
+DNS record objects are returned by `dq:getRecords()`, and have the following members:
+
+* `name`: the name of the record as a DNSName
+* `place`: the place where the record is located, 1 for the answer section, 2 for the authority and 3 for the additional one
+* `ttl`: the TTL of the record
+* `type`: the type of the record, for example pdns.A
+
+and the following methods:
+
+* `changeContent(newcontent)`: replace the record content with the string representation passed as `newcontent`. The type and class cannot be changed.
+* `getCA()`: if the record type is A or AAAA, a ComboAddress representing the content is returned, nil otherwise.
+* `getContent()`: return a string representation of the record content
+
 ### Metrics
 You can custom metrics which will be shown in the output of 'rec_control get-all'
 and sent to the metrics server over the Carbon protocol, and also appear in the
index 81525eef3a06120366dae9f0e0960d4ab792fb29..4a277182392e80ae731012184e318071daffb735 100644 (file)
@@ -391,7 +391,7 @@ RecursorLua4::RecursorLua4(const std::string& fname)
   d_lw->registerMember("name", &DNSRecord::d_name);
   d_lw->registerMember("type", &DNSRecord::d_type);
   d_lw->registerMember("ttl", &DNSRecord::d_ttl);
-
+  d_lw->registerMember("place", &DNSRecord::d_place);
   
   d_lw->registerFunction<string(DNSRecord::*)()>("getContent", [](const DNSRecord& dr) { return dr.d_content->getZoneRepresentation(); });
   d_lw->registerFunction<boost::optional<ComboAddress>(DNSRecord::*)()>("getCA", [](const DNSRecord& dr) {