This is like ``getUnfreshSecondaryInfos``, but for a specific domain. If the
backend considers itself authoritative for the named zone, ``di`` should
- be filled out, and 'true' be returned. Otherwise return false.
+ be filled out, and 'true' be returned. Otherwise, return false.
.. cpp:function:: bool DomainInfo::startTransaction(const string &qname, domainid_t id)
.. cpp:function:: virtual bool updateEmptyNonTerminals(domainid_t domain_id, set<DNSName>& insert, set<DNSName>& erase, bool remove)
- Updates ENT after a zone has been rectified. If 'remove' is false, 'erase' contains a list of ENTs to remove from the zone before adding any. Otherwise all ENTs should be removed from the zone before adding any. 'insert' contains the list of ENTs to add to the zone after the removals have been done.
+ Updates ENT after a zone has been rectified. If 'remove' is false, 'erase' contains a list of ENTs to remove from the zone before adding any. Otherwise, all ENTs should be removed from the zone before adding any. 'insert' contains the list of ENTs to add to the zone after the removals have been done.
.. cpp:function:: virtual bool feedEnts(domainid_t domain_id, map<DNSName,bool> &nonterm)
^^^^^^^
You **must** always reply with JSON hash with at least one key,
-'result'. This must be boolean false if the query failed. Otherwise it
+'result'. This must be boolean false if the query failed. Otherwise, it
must conform to the expected result. For HTTP connector, to signal bare
success, you can just reply with HTTP 200 OK, and omit any output. This
will result in same outcome as sending {"result":true}.
Uses YYYYMMDDSS format for SOA serial numbers. If the SOA serial from
the backend is within two days after inception, it gets incremented by
-two (the backend should keep SS below 98). Otherwise it uses the maximum
+two (the backend should keep SS below 98). Otherwise, it uses the maximum
of the backend SOA serial number and inception time in YYYYMMDD01
format. This requires your backend zone to use YYYYMMDDSS as SOA serial
format. Uses localtime to find the day for inception time.
IXFR
----
-If set to 1, attempt IXFR when retrieving zone updates. Otherwise IXFR
+If set to 1, attempt IXFR when retrieving zone updates. Otherwise, IXFR
is not attempted.
LUA-AXFR-SCRIPT
otherwise. This is a :class:`Netmask`.
``bestwho``
In absence of ECS, this is set to the IP address of requesting resolver.
- Otherwise set to the network part of the EDNS Client Subnet supplied by the
+ Otherwise, set to the network part of the EDNS Client Subnet supplied by the
resolver. This is a :class:`ComboAddress`.
``who``
IP address of requesting resolver as a :class:`ComboAddress`.
opcode *OPNUM*
Use opcode *OPNUM* instead of 0 (Query). For example, ``sdig 192.0.2.1 53 example.com SOA opcode 4`` sends a ``NOTIFY``.
cookie *COOKIE*
- if *COOKIE* is ``-`` send a random client cookie. Otherwise send the given cookie, which should be a hex string received from a server earlier.
+ if *COOKIE* is ``-`` send a random client cookie. Otherwise, send the given cookie, which should be a hex string received from a server earlier.
traceid *TraceID*
include a TraceID and an empty SpanID value into the EDNS data. If TraceID is ``-``, a random TraceID is generated; otherwise, it is a hex string.
.. note::
If your secondaries support an Internet Protocol version, which your primary does not,
then set ``only-notify`` to include only supported protocol version.
- Otherwise there will be error trying to resolve address.
+ Otherwise, there will be error trying to resolve address.
For example, secondaries support both IPv4 and IPv6, but PowerDNS primary have only IPv4,
so allow only IPv4 with ``only-notify``:
- "tcp"
- name: "address"
type: "String"
- description: "The address of the endpoint. If the transport is set to 'unix', the address should be local ``AF_UNIX`` socket path. Note that most platforms have a rather short limit on the length. Otherwise the address should be an IP:port"
+ description: "The address of the endpoint. If the transport is set to 'unix', the address should be local ``AF_UNIX`` socket path. Note that most platforms have a rather short limit on the length. Otherwise, the address should be an IP:port"
- name: "buffer_hint"
type: "u64"
default: 0
Since 2.0.0, :program:`dnsdist` supports the YAML configuration format in addition to the existing Lua one.
-If the configuration file passed to :program:`dnsdist` via the ``-C`` command-line switch ends in ``.yml``, it is assumed to be in the new YAML format, and an attempt to load a Lua configuration file with the same name but the ``.lua`` will be done before loading the YAML configuration. If the names ends in ``.lua``, there will also be an attempt to find a file with the same name but ending in ``.yml``. Otherwise the existing Lua configuration format is assumed.
+If the configuration file passed to :program:`dnsdist` via the ``-C`` command-line switch ends in ``.yml``, it is assumed to be in the new YAML format, and an attempt to load a Lua configuration file with the same name but the ``.lua`` will be done before loading the YAML configuration. If the names ends in ``.lua``, there will also be an attempt to find a file with the same name but ending in ``.yml``. Otherwise, the existing Lua configuration format is assumed.
By default, when a YAML configuration file is used, any Lua configuration file used along the YAML configuration should only contain functions, and ideally even those should be defined either inline in the YAML file or in separate files included from the YAML configuration, for clarity. It is however possible to change this behaviour using the :func:`enableLuaConfiguration` directive to enable Lua configuration directives, but it is strongly advised not to use this directive unless absolutely necessary, and to prefer doing all the configuration in either Lua or YAML but to not mix them.
Note that Lua directives that can be used at runtime are always available via the :doc:`../guides/console`, regardless of whether they are enabled during configuration.
Set the ECS prefix and prefix length sent to backends to an arbitrary value.
If both IPv4 and IPv6 masks are supplied the IPv4 one will be used for IPv4 clients
- and the IPv6 one for IPv6 clients. Otherwise the first mask is used for both, and
+ and the IPv6 one for IPv6 clients. Otherwise, the first mask is used for both, and
can actually be an IPv6 mask.
Subsequent rules are processed after this action.
:param str name: The name of the metric, lowercase alphanumerical characters and dashes (-) only
:param str type: The desired type in ``gauge`` or ``counter``
:param str description: The description of the metric
- :param str prometheusName: The name to use in the prometheus metrics, if supplied. Otherwise the regular name will be used, prefixed with ``dnsdist_`` and ``-`` replaced by ``_``
+ :param str prometheusName: The name to use in the prometheus metrics, if supplied. Otherwise, the regular name will be used, prefixed with ``dnsdist_`` and ``-`` replaced by ``_``
:param table options: A table with key: value pairs with metric options.
Options:
- * ``name``: str - The name to use in the prometheus metrics, if supplied. Otherwise the regular name will be used, prefixed with ``dnsdist_`` and ``-`` replaced by ``_``
+ * ``name``: str - The name to use in the prometheus metrics, if supplied. Otherwise, the regular name will be used, prefixed with ``dnsdist_`` and ``-`` replaced by ``_``
* ``withLabels=false``: bool - If set to true, labels will be expected when updating this metric and it will not be automatically created without labels. Defaults to ``false``, which automatically creates this metric without labels with default value.
.. function:: incMetric(name [, step|options]) -> int
Provided that the current name is part of the supplied name, returns a new DNSName
composed only of the labels that are below the supplied name (ie making www.powerdns.com
relative to powerdns.com would return only wwww)
- Otherwise an empty (unset) DNSName is returned.
+ Otherwise, an empty (unset) DNSName is returned.
:param DNSName name: The name to make us relative against
Resume the processing of the suspended object.
For a question, it means first checking whether it was turned into a response,
- and sending the response out it it was. Otherwise do a cache-lookup: on a
+ and sending the response out it it was. Otherwise, do a cache-lookup: on a
cache-hit, the response will be sent immediately. On a cache-miss,
it means dnsdist will select a backend and send the query to the backend.
For a response, it means inserting into the cache if needed and sending the
:tickets: 5882
Split NODATA / NXDOMAIN NSEC wildcard denial proof of
- existence. Otherwise there is a very real risk that a NSEC will
+ existence. Otherwise, there is a very real risk that a NSEC will
cover a more specific wildcard and we end up with what looks like a
NXDOMAIN proof but is a NODATA one.