a85b5759f3
These files were pulled from the 1.6.3 release tarball. This new version builds against OpenSSL version 1.1 which will be the default in the new Debian Stable which is due to be released RealSoonNow (tm).
49 lines
1.3 KiB
ReStructuredText
49 lines
1.3 KiB
ReStructuredText
Response generation
|
|
===================
|
|
|
|
This example shows how to handle queries and generate response packet.
|
|
|
|
.. note::
|
|
If the python module is the first module and validator module is enabled
|
|
(``module-config: "python validator iterator"``), a return_msg security flag
|
|
has to be set at least to 2. Leaving security flag untouched causes that the
|
|
response will be refused by unbound worker as unbound will consider it as
|
|
non-valid response.
|
|
|
|
Complete source code
|
|
--------------------
|
|
|
|
.. literalinclude:: ../../examples/resgen.py
|
|
:language: python
|
|
|
|
Testing
|
|
-------
|
|
|
|
Run the unbound server:
|
|
|
|
``root@localhost>unbound -dv -c ./test-resgen.conf``
|
|
|
|
Query for a A record ending with .localdomain
|
|
|
|
``dig A test.xxx.localdomain @127.0.0.1``
|
|
|
|
Dig produces the following output::
|
|
|
|
;; global options: printcmd
|
|
;; Got answer:
|
|
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48426
|
|
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
|
|
|
|
;; QUESTION SECTION:
|
|
;test.xxx.localdomain. IN A
|
|
|
|
;; ANSWER SECTION:
|
|
test.xxx.localdomain. 10 IN A 127.0.0.1
|
|
|
|
;; Query time: 2 msec
|
|
;; SERVER: 127.0.0.1#53(127.0.0.1)
|
|
;; WHEN: Mon Jan 01 12:46:02 2009
|
|
;; MSG SIZE rcvd: 54
|
|
|
|
As we handle (override) in the python module only queries ending with
|
|
``localdomain.``, unboud can still resolve host names.
|