Commit Graph
2655 Commits
Author SHA1 Message Date
Petr ŠpačekandMatthijs Mekking 0dc9c33149 Rewrite introduction for DNSSEC chapter of the ARM
I've attempted to drop most of DNSSEC-specific jargon from the intro
paragraph, and to convince readers to read on.
2022-06-22 13:37:18 +02:00
Matthijs Mekking 93601d8325 Use NSEC3 guidance values in nsec3 config examples
Use best practice values in examples that follow new guidance from
draft-ietf-dnsop-nsec3-guidance:

   ; SHA-1, no extra iterations, empty salt:
   ;
   bcp.example. IN NSEC3PARAM 1 0 0 -
2022-06-22 13:37:18 +02:00
Matthijs Mekking 024c15f03b Move "DNSSEC" chapter before "Advanced" and "Security"
DNSSEC is mainstream nowadays, so let's give it more attention.
2022-06-22 13:37:18 +02:00
Matthijs Mekking 7824c5c967 Move Dynamic Zones section up
Move this section up so that DNSSEC signing topics are grouped together
(and not split by the DNSSEC Validation chapter).
2022-06-22 13:37:18 +02:00
Matthijs Mekking be54c08d2b Rewrite Dynamic Zones section
Restructure the section about dynamic zones and automatic signing:
- Focus on dynamic zones with 'auto-dnssec allow;'.
- Add a section about multi-signer models.
- Move NSEC3 related topics into one section.
- Remove any text that does not concern dynamic zones (mostly duplicate
  text anyway).
2022-06-22 13:37:18 +02:00
Matthijs Mekking 71490a5a2d Add a section about Denial of Existence
Move bits from the "DNSSEC, Dynamic Zones, and Automatic Signing"
about denial of existence to a separate section below the "Key and
Signing Policy" section.

Add a brief introduction about denial of existence to this section.
2022-06-22 13:37:18 +02:00
Matthijs Mekking 34dea43f9c Rewrap a paragraph in DNSSEC Validation section
No textual changes, just rewrapping to 80 characters.
2022-06-22 13:37:18 +02:00
Matthijs Mekking a1c95e8e7c Rewrite DNSSEC chapter - signing
Restructure the first part of the DNSSEC chapter that deals with zone
signing. Put dnssec-policy first. Mention Key and Signing Policy.
Only then talk about the DNSSEC tools.
2022-06-22 13:37:18 +02:00
Matthijs Mekking fb24454c58 Nit changes in introduction of DNSSEC chapter
DNSSEC-bis is an uncommon term. Other servers are typically resolvers
and they usually are configured with the root key.
2022-06-22 13:37:18 +02:00
Michal Nowak 4c2af3bdfa Add Ubuntu 22.04 LTS (Jammy Jellyfish) 2022-06-22 10:56:50 +02:00
Matthijs Mekking c47735b86b Document what is a too short key lifetime
To give a hint to users that get an error that the key lifetime is
shorter than the time it takes to do a rollover.
2022-06-21 16:18:49 +02:00
Matthijs Mekking 8860f6b4ff Document where updates and DNSSEC records are stored
Make clear that inline-signing stores DNSSEC records in a signed
version of the zone, using the zone's filename plus ".signed" extension.

Tell that dynamic zones store updates in the zone's filename.

DNSSEC records for dynamic zones also go in the zone's filename, unless
inline-signing is enabled.

Then, dnssec-policy assumes inline-signing, but only if the zone is
not dynamic.
2022-06-20 11:18:46 +02:00
Petr Špaček 2ee3f4e6c8 Update NSEC3 guidance to match draft-ietf-dnsop-nsec3-guidance-10
https://datatracker.ietf.org/doc/html/draft-ietf-dnsop-nsec3-guidance-10
is on it's way to become RFC, so let's update our recommendations in the
docs to be in line with it.
2022-06-15 17:53:33 +02:00
Michał Kępień 529a7c0c1a Merge tag 'v9_19_2'
BIND 9.19.2
2022-06-15 15:53:59 +02:00
Petr Špaček 33931c97fa Add tag filter to .. statementlist:: RST directive
Introduce a new syntax:
.. namedconf:statementlist::
   :filter_tags: acl, resolver

The resulting table contains only items tagged as acl OR resolver.
2022-06-09 14:44:33 +02:00
Petr Špaček ff577462f9 Warn about duplicate .. statement:: definitions 2022-06-09 14:44:33 +02:00
Petr Špaček 2f2aa1d21c Refactor and unite internal data structures for iscconf Sphinx extension
It turns out it is easier to regenerate Sphinx-mandated structure in
get_objects than to maintain two separate data structures. I should have
realized that before.
2022-06-09 14:44:33 +02:00
Petr Špaček 475f7a9603 Render optional statement metadata in the ARM
Optional values :short: and :tags: are now rendered right after the
statement heading.
2022-06-09 14:44:33 +02:00
Petr Špaček 976aef030a Add table generator into Sphinx config extension
New directive .. statementlist:: generates table of statements in a
the given domain (named.conf or rndc.conf). The table contains link to
definition, short description, and also list of tags.
Short description and tags have to be provided by user using optional
parameters. E.g.:

.. statement:: max-cache-size
   :tags: resolver, cache
   :short: Short description

.. statementlist:: is currently not parametrized.

This modification is based on Sphinx "tutorial" extension "TODO".
The main trick is to use placeholder node for .. statementlist:: and
replace it with table at later stage, when all source files were
processed and all cross-references can be resolved.

Beware, some details in Sphinx docs are not up-to-date, it's better
to read Sphinx and docutil sources.
2022-06-09 14:44:33 +02:00
Petr Špaček b12606cebe Extend .. statement:: directive with optional values
New and currently unused values can be provided using this syntax:

.. statement:: max-cache-size
   :tags: resolver, cache
   :short: Short description

The domain stores them in its internal structures for further use.
2022-06-09 14:44:33 +02:00
Petr Špaček a23fa7edc9 Add Sphinx extension to help with ARM maintenance and cross-linking
The extension provides a "Sphinx domain factory". Each new Sphinx domain
defines a namespace for configuration statements so named.conf and
rndc.conf do not clash. Currently the Sphinx domains are instantiated
twice and resuling domains are named "namedconf" and "rndcconf".

This commit adds a single new directive:

.. statement:: max-cache-size

It is namespaced like this:

.. namedconf:statement:: max-cache-size

This directive generates a new anchor for configuration statement and it
can be referenced like :any:`max-cache-size` (if the identifier is
unique), or more specific :namedconf:ref:`max-cache-size`.

It is based on Sphinx "tutorial" extension "recipe".
Beware, some details in Sphinx docs are not up-to-date, it's better
to read Sphinx and docutil sources.
2022-06-09 14:44:29 +02:00
Tom Krizek c9cb8ae9eb Auto-format Python files with black
This patch is strictly the result of:
$ black $(git ls-files '*.py')

There have been no manual changes.
2022-06-08 10:28:08 +02:00
Michał Kępień 3913e59508 Prepare release notes for BIND 9.19.2 2022-06-02 18:27:40 +02:00
Petr Špaček 833af31e7b ARM style change: render literals in black color
After enormous amount of bikesheding about colors we decided to override
ReadTheDocs default style for literals (``literal`` in the RST markup).

Justification:
- The default RTD "light red literal on white background" is hard to
  read.  https://webaim.org/resources/contrastchecker/ reports that text
  colored as rgb(231, 76, 60) on white background has insufficient
  contrast.
- The ARM has enormous amount of literals all over the place and thus
  one sentence can contain several black/red/black color changes. This
  is distracting. As a consequence, the ARM looks like a Geronimo
  Stilton book.

What we experimented with as replacements for red:
- Green - way too distracting
- Blue - too similar to "usual clickable link"
- Violet - too Geronimo Stilton style
- Brown - better but still distracting

After all the bikesheding we settled on black, i.e. the same as all
"normal" text. I.e. the color is now the same and literals are denoted
by monospaced font and a box around the literal. This has best contrast
and is way less distracting than it used to be.

This lead to a new problem: Internal references to "term definitions"
defined using directives like .. option:: were rendered almost the same
as literals:
- References: monospaced + box + bold + clickable
- Literals: monospaced + box To distinguish these two we added black
  dotted underline to clickable references.

I hereby declare the bikeshed painted.
2022-06-02 17:13:19 +02:00
Petr Špaček a5dd98ac1b Allow wrapping for ARM table content
RTD style default never wraps <th> and <td> elements and that just does
not work for real sentences or any other long lines.

We can reconsider styling some tables separately, but at the moment we
do not have use for tables with long but unwrappable lines so it's
easier to allow wrapping globally.
2022-06-02 17:13:19 +02:00
Matthijs Mekking 74d2e7704f Update signatures-refresh documentation
Mention in the ARM the new restriction about signatures-refresh.
2022-05-31 15:45:14 +02:00
Michal Nowak c9aca34b1e Merge tag 'v9_19_1'
BIND 9.19.1
2022-05-19 10:55:42 +02:00
Matthijs Mekking 313f606692 Remove confusing parental-source line
Remove the line "This address must appear in the secondary server’s
parental-agents zone clause". This line is a copy paste error from
notify-source.

Rewrap.
2022-05-11 12:36:16 +02:00
Petr Špaček 4388656f60 Remove ARM notes about Solaris 2.5.1
It was released in May 1996 and hopefully is not used to run BIND
anymore.
2022-05-11 11:01:59 +02:00
Suzanne GoldlustandPetr Špaček 8a3c4cbcdd Add RPZ section to the ARM
Closes: #1223
2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 5d432d40a1 Rewrite Configurations and Zone Files section in the ARM 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 178fc50b42 Tweak zones.inc.rst now separated from Reference section 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček d505090965 Move zone file material from Reference to new subsection of chapter 3 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 4ac383e9ae Minor DNSSEC guide tweaks 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 7842a0ca8f Restructure includes for chapter 9 Troubleshooting 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 25eb91d23c Split chapter Advanced DNS Features in the ARM into chapters 5, 6, 7 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček cd1c230ff6 Split Configuration chapter in the ARM into chapters 3 and 4 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 63e12b511f Add new ARM section Installing BIND 9 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 0951922028 Rewrite Introduction chapters of the ARM 2022-05-11 10:51:26 +02:00
Petr Špaček 9d15decc41 Remove build from chapter 2 and move it to the end of ARM 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček 0c3b75f80b Change title and add extra link to Resource Requirements in the ARM 2022-05-11 10:51:26 +02:00
Ron AitchisonandPetr Špaček dc7efb8e60 Add link anchors into Configuration Reference section of the ARM 2022-05-11 10:51:26 +02:00
Petr Špaček 1322372a0c Restructure includes for ARM chapters 1 (Intro) and 2 (Requirements)
We have had perpetual problem with Sphinx implicitly double-including
files. To avoid that problem all files with name suffix .inc.rst are now
ignored by Sphinx, and writter can conveniently include them without
modifying conf.py for each and every file.
2022-05-11 10:51:21 +02:00
Michal Nowak 7f1fbcb4e7 Prepare release notes for BIND 9.19.1 2022-05-06 17:00:40 +02:00
Artem Boldariev 79c5cad7e5 Rename "hostname" to "remote-hostname" within "tls"
This commit renames "hostname" to "remote-hostname" within "tls"
options to avoid semantic conflicts with generic "options"
configuration.
2022-05-03 17:15:43 +03:00
Artem Boldariev 2221cbffa5 Update TLS-related warnings within ARM
This commit updates TLS-related warnings so that the fact that Strict
and Mutual TLS are implemented is taken into consideration.
2022-05-03 13:55:07 +03:00
Petr Špaček cd31391294 Fix default file path substitution in the ARM and man pages
Default paths were not substituted correctly when Python-only build was
used, i.e. it affected only ReadTheDocs. The incorrect rst_epilog was
overriden by Makefile for all "ordinary" builds.

This error was introduced by 3f78c60539.

Related: !5815
2022-05-02 17:09:17 +02:00
Aram Sargsyan 2f2e02ff0c Document catalog zones member zone reset by change of unique label
The DNS catalog zones draft version 5 document requires that catalog
zones consumers must reset the member zone's internal zone state when
its unique label changes (either within the same catalog zone or
during change of ownership performed using the "coo" property).

BIND already behaves like that, and, in fact, doesn't support keeping
the zone state during change of ownership even if the unique label
has been kept the same, because BIND always removes the member zone
and adds it back during unique label renaming or change of ownership.

Document the described behavior and add a log message to inform when
unique label renaming occurs.

Add a system test case with unique label renaming.
2022-04-28 14:04:28 +00:00
Petr Špaček 6088ba3837 Pin Sphinx related package versions to match ReadTheDocs and our CI
This seems to be most appropriate way to ensure consistency between
release tarballs and public presentation on ReadTheDocs.

Previous attempt with removing docutils constraint, which relied on pip
depedency solver to pick the same packages as in CI was flawed. RTD
installs a bit different set of packages so it was inherently
unreliable.

As a result RTD pulled in sphinx-rtd-theme==0.4.3 while CI
had 1.0.0, and this inconsistency caused Table of Contents in Release
Notes to render incorrectly. Previous solution was to downgrade
docutils to < 0.17, but I think we should rather pin exact versions.

For the long history of messing with versions read also
isc-projects/bind9@2a8eda0084
isc-projects/images@d4435b97be
isc-projects/bind9@6a2daddf5b
2022-04-27 14:33:45 +02:00
Petr Špaček 2a8eda0084 Fix mismatch between docutils version in CI and ReadTheDocs
Currently our CI images we use to build docs (which subsequently get
into release tarballs) are using docutils 0.17.1, which is latest version
which fulfills Sphinx 4.5.0 requirement for docutils < 0.18.

The old requirement for docutils < 0.17 was causing discrepancy between
the way we build release artifacts and the docs on ReadTheDocs.org which
uses doc/arm/requirements.txt from our repo.

Remove the limit for RDT with hope that it will pull latest permissible
version of docutils.

For the long history of messing with docutils version read also
isc-projects/images@d4435b97be
isc-projects/bind9@6a2daddf5b
2022-04-26 14:28:11 +02:00