bind9/doc/arm
Michał Kępień d6f9785ac6
Enable extraction of exact local socket addresses
Extracting the exact address that each wildcard/TCP socket is bound to
locally requires issuing the getsockname() system call, which libuv
exposes via its uv_*_getsockname() functions.  This is only required for
detailed logging and comes at a noticeable performance cost, so it
should not happen by default.  However, it is useful for debugging
certain problems (e.g. cryptic system test failures), so a convenient
way of enabling that behavior should exist.

Update isc_nmhandle_localaddr() so that it calls uv_*_getsockname() when
the ISC_SOCKET_DETAILS preprocessor macro is set at compile time.
Ensure proper handling of sockets that wrap other sockets.

Set the new ISC_SOCKET_DETAILS macro by default when --enable-developer
is passed to ./configure.  This enables detailed logging in the system
tests run in GitLab CI without affecting performance in non-development
BIND 9 builds.

Note that setting the ISC_SOCKET_DETAILS preprocessor macro at compile
time enables all callers of isc_nmhandle_localaddr() to extract the
exact address of a given local socket, which results e.g. in dnstap
captures containing more accurate information.

Mention the new preprocessor macro in the section of the ARM that
discusses why exact socket addresses may not be logged by default.
2024-12-29 12:32:05 +01:00
..
_ext Disable too-many/too-few pylint checks 2024-10-17 11:01:44 +02:00
_static ARM style change: render literals in black color 2022-06-02 17:13:19 +02:00
.gitignore Convert the documentation to Sphinx documentation format 2020-05-07 16:02:56 +02:00
advanced.inc.rst Manually hyperlink algorithm, key, options, secret, and server 2022-07-04 15:50:52 +02:00
build.inc.rst Review and update ARM documentation 2024-09-11 16:23:30 +02:00
catz.inc.rst Review and update ARM documentation 2024-09-11 16:23:30 +02:00
changelog.rst Generate changelog for BIND 9.21.3 2024-12-02 15:07:55 +01:00
chapter1.rst Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
chapter2.rst Remove build from chapter 2 and move it to the end of ARM 2022-05-11 10:51:26 +02:00
chapter3.rst Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
chapter4.rst Split Configuration chapter in the ARM into chapters 3 and 4 2022-05-11 10:51:26 +02:00
chapter5.rst Move "DNSSEC" chapter before "Advanced" and "Security" 2022-06-22 13:37:18 +02:00
chapter6.rst Move "DNSSEC" chapter before "Advanced" and "Security" 2022-06-22 13:37:18 +02:00
chapter7.rst further cleanup after removing diffie-hellman TKEY mode 2023-03-08 08:36:25 +01:00
chapter9.rst Restructure includes for chapter 9 Troubleshooting 2022-05-11 10:51:26 +02:00
chapter10.rst Remove build from chapter 2 and move it to the end of ARM 2022-05-11 10:51:26 +02:00
conf.py Disable too-many/too-few pylint checks 2024-10-17 11:01:44 +02:00
config-auth.inc.rst Deduplicate link anchors in the ARM 2022-10-05 11:36:19 +02:00
config-intro.inc.rst Update example.com zone SOA expire value 2024-10-01 06:32:28 +00:00
config-resolve.inc.rst Remove manually defined anchors pointing to statement definitions 2022-10-05 11:36:22 +02:00
dlz.inc.rst Move contributed DLZ modules into a separate repository 2024-11-26 12:29:41 +01:00
dns-ops.inc.rst Document that SIGUSR1 closes log files 2024-07-31 17:36:39 +10:00
dns-security-overview.dia Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dns-security-overview.png Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dns-servers.dia Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dns-servers.png Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dns-tree.dia Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dns-tree.png Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
dnssec-guide.rst Minor DNSSEC guide tweaks 2022-05-11 10:51:26 +02:00
dnssec.inc.rst Remove redundant inline-signing lines from docs 2023-08-01 06:55:48 +00:00
dyndb.inc.rst Add tag and short description for dyndb statement 2022-07-29 18:56:04 +02:00
general.rst Add send-report-channel option 2024-10-23 21:29:32 +00:00
history.rst Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
index.rst Add new changelog file 2024-07-29 13:03:19 +02:00
intro-dns-bind.inc.rst Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
intro-security.inc.rst Review and update ARM documentation 2024-09-11 16:23:30 +02:00
introduction.inc.rst Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
isc-logo.pdf Update ISC logo 2020-07-08 02:00:11 +00:00
logging-categories.inc.rst set up logging functionality using log-report-channel 2024-10-23 21:29:32 +00:00
Makefile.am Track changes in separate files 2024-09-24 16:11:08 +02:00
managed-keys.inc.rst Grammar fixes and assorted text edits in the ARM 2022-07-04 15:50:51 +02:00
manpages.rst Introduce new DNSSEC tool dnssec-ksr 2024-04-19 10:41:04 +02:00
name-resolution.dia Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
name-resolution.png Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
notes.rst Prepare release notes for BIND 9.21.3 2024-12-02 15:29:59 +01:00
pkcs11.inc.rst Review and update ARM documentation 2024-10-21 12:55:14 +02:00
platforms.inc.rst Add Fedora 41 2024-12-09 17:27:13 +01:00
plugins.inc.rst Add short description for plugin statement 2022-07-29 18:56:04 +02:00
primary-secondary.dia Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
primary-secondary.png Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
recursive-query.dia Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
recursive-query.png Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
reference.rst Enable extraction of exact local socket addresses 2024-12-29 12:32:05 +01:00
requirements.inc.rst Deduplicate link anchors in the ARM 2022-10-05 11:36:19 +02:00
requirements.txt Update Sphinx, docutils, and sphinx_rtd_theme packages 2024-10-17 11:43:56 +02:00
resolver-forward.dia Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
resolver-forward.png Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
rpz.inc.rst Update documentation for 9.20.0 2024-07-08 14:53:01 +02:00
security.inc.rst Review and update ARM documentation 2024-10-21 12:55:14 +02:00
sig0.inc.rst Split chapter Advanced DNS Features in the ARM into chapters 5, 6, 7 2022-05-11 10:51:26 +02:00
troubleshooting.inc.rst Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
tsig.inc.rst further cleanup after removing diffie-hellman TKEY mode 2023-03-08 08:36:25 +01:00
zones.inc.rst remove "sortlist" 2024-12-11 15:09:24 -08:00