Commit graph

3174 commits

Author SHA1 Message Date
Michal Nowak
e69c343e91
Prepare release notes for BIND 9.21.15 2025-11-06 11:48:00 +01:00
Michal Nowak
30616432b8
Generate changelog for BIND 9.21.15 2025-11-06 11:45:48 +01:00
Aydın Mercan
9eaf32db1a
bump the minimum meson version to 1.3.0
After a couple releases, it appears that the minimum version can be
increased without much trouble.

Because meson only requires python 3.7 or greater, most supported
distributions can run a newer meson without having to deal with
additional dependencies or a new python version.
2025-10-24 16:42:24 +02:00
Michał Kępień
c2a672bbae Merge tag 'v9.21.14' 2025-10-22 18:13:34 +02:00
Petr Špaček
485e04aa7e Remove stub chapter about load balancing from ARM
Clearly Support wants this in Knowledge base, so let's comply.

Related: !6610
2025-10-21 09:41:54 +00:00
Michał Kępień
3ecab35af6
Prepare release notes for BIND 9.21.14 2025-10-18 09:47:28 +02:00
Michał Kępień
a63db9857c
Prepare changelog for BIND 9.21.14 2025-10-18 09:47:28 +02:00
Evan Hunt
a373671f5e remove "bindkeys-file" option
The bindkeys-file option was only used for testing purposes, and
has now been replaced with a "-T bindkeys=<filename>" option for
named.
2025-10-12 23:37:49 -07:00
Michał Kępień
84b96df153
Remove "tkey-gssapi-credential" and related code
Since the "tkey-gssapi-credential" statement has been previously
deprecated, mark it as ancient and remove all code related to it:

  - The code processing the "tkey-gssapi-credential" statement in the
    configuration is the only user of the dst_gssapi_acquirecred() and
    dst_gssapi_releasecred() functions, so remove them along with their
    static helper functions and a backup definition of the
    GSS_KRB5_MECHANISM macro.

  - When calling gss_accept_sec_context(), pass GSS_C_NO_CREDENTIAL
    instead of the credential acquired by gss_acquire_cred().
    (Previously, NULL was passed when "tkey-gssapi-credential" was not
    specified.  Kerberos headers define GSS_C_NO_CREDENTIAL as
    (gss_cred_id_t) 0, so the logic was effectively the same, but using
    the GSS_C_NO_CREDENTIAL macro is more appropriate.)  This renders
    the 'cred' parameter for dst_gssapi_acceptctx() redundant, so remove
    it from the prototype of the latter.  (Contrary to what the
    documentation for dst_gssapi_acceptctx() claims,
    dst_gssapi_releasecred() does not need to subsequently be called to
    free the GSS-API context; a dst_gssapi_deletectx() call in
    gssapi_destroy() takes care of that when the dynamically generated
    TSIG key is destroyed.)

  - Remove the 'gsscred' member from struct dns_tkeyctx, along with its
    related dns_gss_cred_id_t typedef.

Update the relevant sections of the ARM and code comments accordingly.

This makes the "tkey-gssapi-keytab" statement the only way to set up
GSS-TSIG in named.

Remove redundant code from bin/named/tkeyconf.c while at it.
2025-10-06 13:19:50 +02:00
Michał Kępień
40a62df4f0
Prepare release notes for BIND 9.21.13 2025-10-02 18:12:18 +02:00
Michał Kępień
3a6b756179
Generate changelog for BIND 9.21.13 2025-10-02 18:12:18 +02:00
Mark Andrews
2e40705c06
Retry lookups with unsigned DNAME over TCP
To prevent spoofed unsigned DNAME responses being accepted retry
response with unsigned DNAMEs over TCP if the response is not TSIG
signed or there isn't a good DNS CLIENT COOKIE.
2025-10-02 12:54:42 +02:00
Colin Vidal
7b2eab90c0 add synthrecord plugin documentation
Add synthrecord plugin documentation as well as update some
documentation for the other filter-a and filter-aaaa plugins.
2025-10-01 12:16:05 +02:00
Mark Andrews
28848ab578 Make it clearer that disable-algorithms applies to zone names 2025-09-25 11:14:27 +10:00
Alessio Podda
d45a392086
Add named-lto option to meson build to named with LTO
Enabling LTO yields substantial performance gains on both authoritative
and resolver benchmarks.
But since LTO defers many optimization passes to link time, enabling LTO
across the board would cause an increase in compilation time, as passes
that would be run only once would need to be run for each executable.

As a compromise, this commit adds a named-lto build option, that
compiles the individual object files with the -ffat-lto-object option
and then enables LTO only for the named executable. Object files are
reused between lib*.so and the named executable.
2025-09-24 13:19:37 +02:00
Andoni Duarte Pintado
07378266c3 Merge tag 'v9.21.12' 2025-09-11 15:57:40 +02:00
Petr Špaček
66e58d3315 Prevent Sphinx from messing up syntax with "smartquotes" feature
Sphinx's smartquotes feature was rewriting -- to en-dash, "" to proper
English quotes etc. This was messing up syntax at unpredictable places.
Disable this feature instead of attempting to escape all the places in
the manual.
2025-09-11 11:04:10 +00:00
Petr Špaček
ed0db245be Reorder appendices in ARM
The new order hopefully reflects likelihood of someone reading from start
to the end:

DNSSEC Guide
Manual Pages
General DNS Reference Information
Release Notes
Changelog
A Brief History of the DNS and BIND
2025-09-11 11:04:10 +00:00
Colin Vidal
1d010b6340 add zone plugin documentation
Update ARM documentation to mention plugin usage at the zone level (as
well as template level).
2025-09-09 09:42:34 +02:00
Ondřej Surý
2963d1aaf1
Refactor the cyclic ordering to use query ID as offset
Mimic the Unbound behaviour where the cyclic offset is taken from query
ID, and remove recording of the current state.  As the incoming query ID
should have random distribution, the cyclic ordering should also have
uniform distribution of the starting record.
2025-09-08 14:04:13 +02:00
Ondřej Surý
7dc6048f93
Remove the random ordering of resource records in RRset
The rrset-order random doesn't offer uniform distribution of all
permutations and it isn't superior to cyclic order in any way.  Make the
random ordering an alias to the cyclic ordering.
2025-09-08 14:04:13 +02:00
Colin Vidal
0e1f13e05c add extra tokens to the zone file name template
Extend the `$name`, `$view` and `$type` tokens (expanding into the zone
name, zone's view name and type); the new following tokens are now also
accepted:

- $name or %s is replaced with the zone name in lower case;
- $type or %t is replaced with the zone type -- i.e., primary,
  secondary, etc);
- $view or %v is replaced with the view name;
- $char1 or %1 is replaced with the first character of the zone name;
- $char2 or %2 is replaced with the second character of the zone name
  (or a dot if there is no second character);
- $char3 or %3 is replaced with the third character of the zone name (or
  a dot if there is no third character);
- $label1 or %z is replaced with the toplevel domain of the zone (or a
  dot if it is the root zone);
- $label2 or %y is replaced with the next label under the toplevel
  domain (or a dot if there is no next label);
- $label3 or %x is replaced with the next-next label under the toplevel
  domain (or a dot if there is no next-next label).
2025-09-08 12:10:09 +02:00
Petr Špaček
7e8fe3b4f0 Prepare release notes for BIND 9.21.12 2025-09-04 17:38:18 +02:00
Petr Špaček
8164328f1a Generate changelog for BIND 9.21.12 2025-09-04 17:38:18 +02:00
Ondřej Surý
369c8dc388 Clarify rrset-order random distribution
The randomized order of the records in the rrset is not uniform across
all permutations.  Clarify this in the documentation.
2025-09-03 08:50:40 +02:00
Michał Kępień
805f1c0f65
Obsolete the "tkey-domain" statement
The "tkey-domain" statement has effectively been a no-op since commit
bd4576b3ce, which removed the only bit of
code using it: the logic implementing TKEY Mode 2 (Diffie-Hellman).

A subsequent cleanup commit, 885c132f4a,
also missed the opportunity to remove the "tkey-domain" statement
altogether.

Mark the "tkey-domain" statement as obsolete and remove all code and
documentation related to it.
2025-09-01 21:35:33 +02:00
Michał Kępień
6de435c528
Deprecate the "tkey-gssapi-credential" statement
The "tkey-gssapi-keytab" statement enables GSS-TSIG to be set up in a
simpler and more reliable way than using the "tkey-gssapi-credential"
statement and setting environment variables (e.g. KRB5_KTNAME).

Mark the "tkey-gssapi-credential" statement as deprecated to eventually
only have one method for setting up GSS-TSIG in named.  Do not mention
"tkey-gssapi-credential" in the section of the ARM on dynamic updates.
2025-09-01 21:23:30 +02:00
Michal Nowak
263810e779
Add Debian "trixie" 2025-09-01 16:28:33 +02:00
Petr Špaček
e84b98a9fc Clarify forward, stub, and static-stub zone usage
Clarify that forwarding points to a resolver and stub to auths.
Add cross-links. Rewrite stub zone type description.
2025-08-27 14:12:58 +00:00
Aram Sargsyan
41387b8d30 Add a new 'servfail-until-ready' configuration option for RPZ
By default, when named is started it may start answering to
queries before the response policy zones are completely loaded
and processed. This new feature gives an option to the users to
tell named that incoming requests should result in SERVFAIL anwser
until all the response policy zones are procesed and ready.
2025-08-22 16:31:17 +00:00
Matthijs Mekking
63c5b453e0 Add manual-mode config option
Add a new option 'manual-mode' to 'dnssec-policy'. The intended
use is that if it is enabled, it will not automatically move to the
next state transition (RUMOURED, UNRETENTIVE), only after manual
confirmation. The intended state transition should be logged.
2025-08-21 16:00:19 +02:00
Andoni Duarte Pintado
f2ba8924a4 Prepare release notes for BIND 9.21.11 2025-08-12 10:38:00 +02:00
Andoni Duarte Pintado
74ac6a816d Generate changelog for BIND 9.21.11 2025-08-12 10:34:32 +02:00
Colin Vidal
284806029a update ARM plugin documentation
Update the ARM documentation of plugin usage as the extension in the
plugin library path is now optional.
2025-07-28 23:08:04 +02:00
Michał Kępień
7f8a88043f Fix broken markup in doc/arm/dlz.inc.rst
Commit a6cce753e2 erroneously used
Markdown syntax in doc/arm/dlz.inc.rst.  Replace it with proper
reStructuredText so that the relevant section of the ARM is rendered
correctly.
2025-07-17 07:17:12 +02:00
Andoni Duarte Pintado
ffee986ae0 Merge tag 'v9.21.10' 2025-07-16 17:16:27 +02:00
Michal Nowak
42367082cc
Add AlmaLinux 10 2025-07-08 14:51:47 +02:00
Michał Kępień
beb5214586
Prepare release notes for BIND 9.21.10 2025-07-03 22:54:36 +02:00
Michał Kępień
94a463138e
Generate changelog for BIND 9.21.10 2025-07-03 22:54:36 +02:00
Aydın Mercan
8814c66855
ignore hardening flags on plain builds
The 'plain' optimization level doesn't add any flags and gives the
control to the packager. Similarly, avoid any hardening flags in this
level.

Necessary flags such as `-fno-delete-null-pointer-checks` and
`-fno-strict-aliasing` are still included.
2025-07-01 22:35:20 +03:00
Ondřej Surý
de08c0088d
Fix the default interface-interval docs and default value
When the interface-interval parser was changed from uint32 parser to
duration parser, the default value stayed at plain 60 which now means 60
seconds instead of 60 minutes.  Fix the default value and the
documentation to match the reality.
2025-07-01 11:19:57 +02:00
Michal Nowak
b20c71c2dc
Add Alpine Linux 3.22 2025-06-24 13:25:06 +02:00
Aydın Mercan
3bb88f847a
Remove the configblock sphinx extension
The `configblock` extension doesn't work with RHEL 8. However, this
extension isn't needed anymore after the RTD fix and can be safely
removed.
2025-06-23 13:45:09 +03:00
Aydın Mercan
5c9b4f3163
Remove build requirements from building arm
The meson build switched to generating the file grammars and using meson
to build the manpages/ARM. This is because meson doesn't work well when
writing files outside the build directory.

However, this has been suboptimal when someone only wants to build the
documentation (like RTD). Sphinx can now be used outside meson like it
was with autoconf.

Grammars are now updated by the developer with CI checking if one is
needed or not, like clang-format.
2025-06-23 13:45:04 +03:00
Aydın Mercan
3447e1631d
Fix build instructions
There were leftover artifacts and instructions from the transition.
2025-06-23 13:44:58 +03:00
Michal Nowak
e6234542e2
Update Sphinx to 8.2.3
Update Sphinx to its current version pulled in by "pip install
sphinx-rtd-theme" run in a fresh Debian "bookworm" container.
2025-06-19 15:22:02 +02:00
Michal Nowak
ce090c1bd2 BIND 9.21.9
-----BEGIN SSH SIGNATURE-----
 U1NIU0lHAAAAAQAAARcAAAAHc3NoLXJzYQAAAAMBAAEAAAEBANamVSTMToLcHCXRu1f52e
 tTJWV3T1GSVrPYXwAGe6EVC7m9CTl06FZ9ZG/ymn1S1++dk4ByVZXf6dODe2Mu0RuqGmyf
 MUEMKXVdj3cEQhgRaMjBXvIZoYAsQlbHO2BEttomq8PhrpLRizDBq4Bv2aThM0XN2QqSGS
 ozwYMcPiGUoMVNcVrC4ZQ+Cptb5C4liqAcpRqrSo8l1vcNg5b1Hk6r7NFPdx542gsGMLae
 wZrnKn3LWz3ZXTGeK2cRmBxm/bydiVSCsc9XjB+tWtIGUpQsfaXqZ7Hs6t+1f1vsnu88oJ
 oi1dRBo3YNRl49UiCukXWayQrPJa8wwxURS9W28JMAAAADZ2l0AAAAAAAAAAZzaGE1MTIA
 AAEUAAAADHJzYS1zaGEyLTUxMgAAAQDG5e4dEY2PWMKlaD1U7LIRSL3Xgl4sKq2wNpD1Co
 T8YFihhgiOzMLoSasGtDwGnDZbRCyRHpk/Q5Zx/z+TpgZ8ILbAnGxEtXU3DU7RzN9I2Ah5
 glVgqahXpI+Oelwv0iC/LCFeivTPNGZ2YHer0BMhV7ZKzWfVk6FpHqGfOVy+t9NG47R9qW
 oLnxtOeosw4q3rXexXuomwPigC5jX8jpeqi7nRNuAWgXrSMfHkKLpPHO3CQd7eE+V3ZXVy
 16jxPqRk5h0R6+y8UqsUMtUNgiY3jQ40TDdkmFp67ffbyFG4YLO0xIdSrdah7/GIAYrD2q
 ZiYxFjuha6iRFbpzEhNLU/
 -----END SSH SIGNATURE-----
gpgsig -----BEGIN SSH SIGNATURE-----
 U1NIU0lHAAAAAQAAARcAAAAHc3NoLXJzYQAAAAMBAAEAAAEBANamVSTMToLcHCXRu1f52e
 tTJWV3T1GSVrPYXwAGe6EVC7m9CTl06FZ9ZG/ymn1S1++dk4ByVZXf6dODe2Mu0RuqGmyf
 MUEMKXVdj3cEQhgRaMjBXvIZoYAsQlbHO2BEttomq8PhrpLRizDBq4Bv2aThM0XN2QqSGS
 ozwYMcPiGUoMVNcVrC4ZQ+Cptb5C4liqAcpRqrSo8l1vcNg5b1Hk6r7NFPdx542gsGMLae
 wZrnKn3LWz3ZXTGeK2cRmBxm/bydiVSCsc9XjB+tWtIGUpQsfaXqZ7Hs6t+1f1vsnu88oJ
 oi1dRBo3YNRl49UiCukXWayQrPJa8wwxURS9W28JMAAAADZ2l0AAAAAAAAAAZzaGE1MTIA
 AAEUAAAADHJzYS1zaGEyLTUxMgAAAQDDixAWV/o5tDUge27FQsBWfED9HueToMVBQ/jGez
 j+jHw/Cla5HfA3keNs1xqvY4Oodw5bIsfGeja/JjfKkd0du+n4SLa5jsGhIzINBrfxZMMt
 j+caGVOE4qZKofkzRXoBPmkQz1mlW9KvHNM/IfKs4ZWOX5u09Xhd+LX1Jp3Teh+W3s+0Om
 7i2uoOS9E31rK4z9gia6FAvkdbg487W8RFcxMz3nP2BxeJS9WetOg57Oe/UTtIDBJIuzjf
 GlqqRt8YcZI4Sea+/WNrT2Xsi4ogHFnsShVWNPmmc+9axEmxLWW8Q66wV4GFUd5D1QG3eq
 lSTANlzZycVBDB4eGzwyG4
 -----END SSH SIGNATURE-----

Merge tag 'v9.21.9'

BIND 9.21.9
2025-06-19 12:26:58 +02:00
Evan Hunt
20fb3d0524 move makejournal to bin/tools
move the "makejournal" tool from bin/tests/system to bin/tools
and rename it to "named-makejournal". add a man page. update
tests to use the new file location.
2025-06-13 18:16:56 -07:00
Aydın Mercan
5cd6c173ff
replace the build system with meson
Meson is a modern build system that has seen a rise in adoption and some
version of it is available in almost every platform supported.

Compared to automake, meson has the following advantages:

* Meson provides a significant boost to the build and configuration time
  by better exploiting parallelism.

* Meson is subjectively considered to be better in readability.

These merits alone justify experimenting with meson as a way of
improving development time and ergonomics. However, there are some
compromises to ensure the transition goes relatively smooth:

* The system tests currently rely on various files within the source
  directory. Changing this requirement is a non-trivial task that can't
  be currently justified. Currently the last compiled build directory
  writes into the source tree which is in turn used by pytest.

* The minimum version supported has been fixed at 0.61. Increasing this
  value will require choosing a baseline of distributions that can
  package with meson. On the contrary, there will likely be an attempt
  to decrease this value to ensure almost universal support for building
  BIND 9 with meson.
2025-06-11 10:30:12 +03:00
Michal Nowak
c5840384cb
Prepare release notes for BIND 9.21.9 2025-06-05 12:01:37 +02:00