]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
add EDNSOptionCode table
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Tue, 7 Aug 2018 13:45:00 +0000 (15:45 +0200)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Wed, 8 Aug 2018 12:49:00 +0000 (14:49 +0200)
pdns/dnsdist-lua-vars.cc
pdns/dnsdistdist/docs/reference/constants.rst
pdns/dnsdistdist/docs/rules-actions.rst
regression-tests.dnsdist/test_Advanced.py

index 77b37fb77b4165c25712f184faa02b898fb9af9a..5f3a980410075e875718e365d91403861c421166 100644 (file)
@@ -69,6 +69,20 @@ void setupLuaVars()
       {"Additional",3 }
     });
 
+  g_lua.writeVariable("EDNSOptionCode", std::unordered_map<string,int>{
+      {"NSID",          3 },
+      {"DAU",           5 },
+      {"DHU",           6 },
+      {"N3U",           7 },
+      {"ECS",           8 },
+      {"EXPIRE",        9 },
+      {"COOKIE",       10 },
+      {"TCPKEEPALIVE", 11 },
+      {"PADDING",      12 },
+      {"CHAIN",        13 },
+      {"KEYTAG",       14 }
+    });
+
   vector<pair<string, int> > rcodes = {{"NOERROR",  RCode::NoError  },
                                        {"FORMERR",  RCode::FormErr  },
                                        {"SERVFAIL", RCode::ServFail },
index 981655d0a938acca87a43213d6b4ade2ceb23b4c..147663939897d63fc309be8756cf412442e66772 100644 (file)
@@ -58,6 +58,26 @@ RCodes below and including ``BADVERS`` are extended RCodes that can only be matc
 
 Reference: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6
 
+
+.. _EDNSOptionCode:
+
+EDNSOptionCode
+--------------
+
+- ``EDNSOptionCode.DHU``
+- ``EDNSOptionCode.ECS``
+- ``EDNSOptionCode.N3U``
+- ``EDNSOptionCode.DAU``
+- ``EDNSOptionCode.TCPKEEPALIVE``
+- ``EDNSOptionCode.COOKIE``
+- ``EDNSOptionCode.PADDING``
+- ``EDNSOptionCode.KEYTAG``
+- ``EDNSOptionCode.NSID``
+- ``EDNSOptionCode.CHAIN``
+- ``EDNSOptionCode.EXPIRE``
+
+Reference: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11
+
 .. _DNSSection:
 
 DNS Section
index ff0bc8a127b7e6c9d775cb674a4189816005d6f5..1d9aa3fd94e97bda37df54fe9b3c048b8fdd0326 100644 (file)
@@ -643,7 +643,7 @@ These ``DNSRule``\ s be one of the following items:
   .. versionadded:: 1.4.0
 
   Matches queries or responses with the specified EDNS option present.
-  ``optcode`` is specified as an integer.
+  ``optcode`` is specified as an integer, or a constant such as `EDNSOptionCode.ECS`.
 
 .. function:: RDRule()
 
index 5dc77afe423dc225392c4a6d539d8a06365b2a9d..d04a445173802315b5099f80ee0f289502b4413d 100644 (file)
@@ -1628,7 +1628,7 @@ class TestAdvancedEDNSOptionRule(DNSDistTest):
 
     _config_template = """
     newServer{address="127.0.0.1:%s"}
-    addAction(EDNSOptionRule(8), DropAction())
+    addAction(EDNSOptionRule(EDNSOptionCode.ECS), DropAction())
     """
 
     def testDropped(self):