]>
git.ipfire.org Git - thirdparty/pdns.git/log
Otto Moerbeek [Mon, 16 Feb 2026 07:50:31 +0000 (08:50 +0100)]
Better python formatting from @rgacogne
Co-authored-by: Remi Gacogne <github@coredump.fr>
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 14:02:37 +0000 (15:02 +0100)]
Add docs
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 5 Feb 2026 10:34:06 +0000 (11:34 +0100)]
Fix race and test and check subject of client cert and add PEM test
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:29:32 +0000 (16:29 +0100)]
Add test for Dot with client cert
When run individually, the new test works. But there seems to be a race
condition: in some cases old responders look to be still running, making
subsequent test fail on larger test runs.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:20:46 +0000 (16:20 +0100)]
Tidy existing TLS tests a bit
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 15:16:16 +0000 (16:16 +0100)]
Generate cert to use as client cert in tests
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 13:42:20 +0000 (14:42 +0100)]
Basic infra for client cert
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 08:43:49 +0000 (09:43 +0100)]
Refactor key setup so it isn's tied to server-only code
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Fri, 13 Feb 2026 13:20:57 +0000 (14:20 +0100)]
Merge pull request #16872 from PowerDNS/feature/update-repo-test-script-
20260212
Update Repo Test Script
Erik Winkels [Fri, 13 Feb 2026 11:58:51 +0000 (12:58 +0100)]
Use `not in` instead of a fugly line of `and`s.
Erik Winkels [Fri, 13 Feb 2026 11:37:32 +0000 (12:37 +0100)]
Undo some whitespace changes so diff looks good.
Erik Winkels [Fri, 13 Feb 2026 11:35:29 +0000 (12:35 +0100)]
Reinstate `while` usage.
Erik Winkels [Fri, 13 Feb 2026 09:27:46 +0000 (10:27 +0100)]
Remove `auth-47` as it is not maintained anymore.
Comment by @miodvallat in #16872.
Miod Vallat [Thu, 12 Feb 2026 16:22:42 +0000 (17:22 +0100)]
Merge pull request #16871 from miodvallat/gettingtoooldtowritecode
auth: fix stupid logic error in lmdb-write-update-notification=no
Erik Winkels [Thu, 12 Feb 2026 15:45:22 +0000 (16:45 +0100)]
Update repo test script.
This had not been synced to the repo for a while.
Miod Vallat [Thu, 12 Feb 2026 15:42:21 +0000 (16:42 +0100)]
Perform DomainInfo consolidation before filtering.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Miod Vallat [Thu, 12 Feb 2026 15:41:36 +0000 (16:41 +0100)]
Fix polarity of setting description.
This was forgotten after this setting changed name and polarity.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Thu, 12 Feb 2026 14:05:24 +0000 (15:05 +0100)]
Merge pull request #16868 from rgacogne/rust-audit-pr
CI: Run the Rust deps audit check on the correct branch for pull requests
Remi Gacogne [Thu, 12 Feb 2026 13:31:56 +0000 (14:31 +0100)]
CI: Run the Rust deps check workflow on PR to master
As suggested by Alexis, many thanks!
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Thu, 12 Feb 2026 11:40:46 +0000 (12:40 +0100)]
Merge pull request #16862 from omoerbeek/rec-janitor-lwres
rec: cleanup lwres.??
Remi Gacogne [Thu, 12 Feb 2026 11:31:46 +0000 (12:31 +0100)]
Run the Rust deps audit check on the current branch for PRs
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 12 Feb 2026 11:31:13 +0000 (12:31 +0100)]
CI: Do not run the Rust deps audit on all branches for PRs
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 12 Feb 2026 11:17:09 +0000 (12:17 +0100)]
Merge pull request #16861 from PowerDNS/dependabot/cargo/pdns/recursordist/rec-rust-lib/rust/time-0.3.47
build(deps): bump time from 0.3.45 to 0.3.47 in /pdns/recursordist/rec-rust-lib/rust
dependabot[bot] [Thu, 12 Feb 2026 10:34:04 +0000 (10:34 +0000)]
build(deps): bump time in /pdns/recursordist/rec-rust-lib/rust
Bumps [time](https://github.com/time-rs/time) from 0.3.45 to 0.3.47.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.45...v0.3.47)
---
updated-dependencies:
- dependency-name: time
dependency-version: 0.3.47
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Otto Moerbeek [Thu, 12 Feb 2026 10:33:15 +0000 (11:33 +0100)]
Merge pull request #16855 from omoerbeek/rec-ws-pkcs12
rec: add feature to read TLS key info from an encrypted PKCS12 (pfx) file for the embedded web server
Otto Moerbeek [Thu, 12 Feb 2026 09:40:28 +0000 (10:40 +0100)]
Better var name
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 12:15:03 +0000 (13:15 +0100)]
Process review comments from Miod
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 11:40:39 +0000 (12:40 +0100)]
skip test on class level
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 11:30:12 +0000 (12:30 +0100)]
Mention the PKCS12 feature is not available everywhere.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 11 Feb 2026 10:24:57 +0000 (11:24 +0100)]
Make pkcs12 feature dependent on rust version
Also add test infra to test for rec features
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 4 Feb 2026 13:09:20 +0000 (14:09 +0100)]
Add password field in yaml generation from map
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 3 Feb 2026 15:09:43 +0000 (16:09 +0100)]
Better comments and function names
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 3 Feb 2026 13:56:36 +0000 (14:56 +0100)]
Add docs
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 3 Feb 2026 13:27:23 +0000 (14:27 +0100)]
Add test, pin time crate to avoid depending on rustc 1.88
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 3 Feb 2026 12:41:17 +0000 (13:41 +0100)]
rec: add feature to read webserver key and cert from (encrypted) pkcs12 file
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Thu, 12 Feb 2026 09:29:30 +0000 (10:29 +0100)]
Merge pull request #16857 from PowerDNS/dependabot/pip/regression-tests.recursor-dnssec/cryptography-46.0.5
build(deps): bump cryptography from 46.0.4 to 46.0.5 in /regression-tests.recursor-dnssec
Remi Gacogne [Thu, 12 Feb 2026 08:58:17 +0000 (09:58 +0100)]
Merge pull request #16856 from omoerbeek/rustc-update-to-1.93
rec and dnsdist: Update rustc and cargo to 1.93
dependabot[bot] [Thu, 12 Feb 2026 08:51:00 +0000 (08:51 +0000)]
build(deps): bump cryptography in /regression-tests.recursor-dnssec
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.4 to 46.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Remi Gacogne [Thu, 12 Feb 2026 08:49:53 +0000 (09:49 +0100)]
Merge pull request #16852 from PowerDNS/dependabot/pip/regression-tests.dnsdist/cryptography-46.0.5
build(deps): bump cryptography from 46.0.4 to 46.0.5 in /regression-tests.dnsdist
Remi Gacogne [Wed, 11 Feb 2026 16:14:12 +0000 (17:14 +0100)]
Merge pull request #16823 from rgacogne/ddist-export-dns-flags-via-protobuf
dnsdist: Export DNS flags via ProtoBuf
Otto Moerbeek [Wed, 11 Feb 2026 14:48:03 +0000 (15:48 +0100)]
Reduce include files to much smaller set
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 15 Jan 2026 13:04:06 +0000 (14:04 +0100)]
rec: cleanup in lwres related code
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Wed, 11 Feb 2026 12:05:03 +0000 (13:05 +0100)]
Merge pull request #16854 from miodvallat/wolf
auth: get rid of a "may be uninitialized" warning.
Otto Moerbeek [Wed, 11 Feb 2026 11:18:13 +0000 (12:18 +0100)]
Update rustc and cargo to 1.93
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Wed, 11 Feb 2026 11:16:00 +0000 (12:16 +0100)]
Get rid of a "may be uninitialized" warning.
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Wed, 11 Feb 2026 10:05:11 +0000 (11:05 +0100)]
Merge pull request #16849 from rgacogne/quiche-0.24.9
dnsdist: Update Quiche to 0.24.9
Remi Gacogne [Wed, 11 Feb 2026 10:03:55 +0000 (11:03 +0100)]
Merge pull request #16846 from rgacogne/ddist-fix-pool-zero-scope-version
dnsdist: Fix version added for `ServerPool:{g,s}etZeroScope`
Otto Moerbeek [Wed, 11 Feb 2026 08:49:20 +0000 (09:49 +0100)]
Merge pull request #16853 from omoerbeek/rec-regr-test-robustness
rec: improve regression test startup/teardown robustness
Otto Moerbeek [Wed, 11 Feb 2026 08:12:09 +0000 (09:12 +0100)]
Type in var name from Miod
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
dependabot[bot] [Wed, 11 Feb 2026 03:01:41 +0000 (03:01 +0000)]
build(deps): bump cryptography in /regression-tests.dnsdist
Bumps [cryptography](https://github.com/pyca/cryptography) from 46.0.4 to 46.0.5.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/46.0.4...46.0.5)
---
updated-dependencies:
- dependency-name: cryptography
dependency-version: 46.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Otto Moerbeek [Tue, 10 Feb 2026 15:49:13 +0000 (16:49 +0100)]
Make sure all teardown class methods are called before raising a potential exception
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Tue, 10 Feb 2026 14:55:22 +0000 (15:55 +0100)]
dnsdist: Fix version added for `ServerPool:{g,s}etZeroScope`
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Tue, 10 Feb 2026 14:23:39 +0000 (15:23 +0100)]
Call super().tearDownClass() if possible
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 10 Feb 2026 13:49:25 +0000 (14:49 +0100)]
Wrong type of object used
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Remi Gacogne [Tue, 10 Feb 2026 13:55:35 +0000 (14:55 +0100)]
dnsdist: Update Quiche to 0.24.9
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Otto Moerbeek [Tue, 10 Feb 2026 13:34:07 +0000 (14:34 +0100)]
rec: check if auths are running
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 10 Feb 2026 11:59:09 +0000 (12:59 +0100)]
Merge pull request #16843 from omoerbeek/rec-docs-prs
rec docs: fill in PR#s for SA 2026-01 now that we know the numbers
Otto Moerbeek [Tue, 10 Feb 2026 09:23:43 +0000 (10:23 +0100)]
rec docs: fill in PR#s for SA 2026-01 now that we know the numbers
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 9 Feb 2026 13:54:55 +0000 (14:54 +0100)]
Merge pull request #16838 from omoerbeek/rec-limitcachesize
rec: Limit packet and record cache entry size
Otto Moerbeek [Mon, 9 Feb 2026 13:54:34 +0000 (14:54 +0100)]
Merge pull request #16837 from omoerbeek/rec-answer-sizes
rec: Limit amount of work done for a single client query in new ways
Otto Moerbeek [Mon, 9 Feb 2026 13:54:11 +0000 (14:54 +0100)]
Merge pull request #16836 from omoerbeek/rec-cname-follow
rec: Allowed names should not include names from CNAMEs that cannot be reached
Otto Moerbeek [Mon, 9 Feb 2026 13:38:01 +0000 (14:38 +0100)]
Merge pull request #16835 from omoerbeek/rec-prep-
20260209
Prep for
20260209 Recursor security release
Otto Moerbeek [Thu, 5 Feb 2026 14:36:42 +0000 (15:36 +0100)]
Update versionadded in docs
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 5 Jan 2026 13:52:02 +0000 (14:52 +0100)]
Limit packet and record cache entry size
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 5 Feb 2026 14:33:59 +0000 (15:33 +0100)]
Update versionadded in docs
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 3 Dec 2025 08:31:03 +0000 (09:31 +0100)]
Set a max on the number of visted IPs for a single qname/type
We use 2 * outgoing.max_ns_per_resolve as a limit. A tigher limit makes a few unit test fail.
Proper limit to be discussed.
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Tue, 2 Dec 2025 14:25:09 +0000 (15:25 +0100)]
rec: if the IPs of the auths of a zone resolve to duplicate IPs, skip the dups
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Wed, 26 Nov 2025 10:57:05 +0000 (11:57 +0100)]
If we received a delegation, also sample NS set if size > s_maxnsperresolve
Previously this was only done for NS sets retrieved fomr the record cache
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 27 Nov 2025 08:49:42 +0000 (09:49 +0100)]
rec: count cumulative answer sizes for a single client query
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 12 Jan 2026 13:15:16 +0000 (14:15 +0100)]
boost::optional -> std::optional
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Mon, 24 Nov 2025 11:08:51 +0000 (12:08 +0100)]
rec: allowed names should not include names from CNAMEs that cannot be reached
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Otto Moerbeek [Thu, 5 Feb 2026 12:02:24 +0000 (13:02 +0100)]
Prep for
20260209 Recursor security release
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
Miod Vallat [Mon, 9 Feb 2026 11:07:44 +0000 (12:07 +0100)]
Merge pull request #16670 from miodvallat/frontline
auth: better advice when creating zones
Miod Vallat [Mon, 9 Feb 2026 11:06:39 +0000 (12:06 +0100)]
Merge pull request #16573 from miodvallat/soaked
auth: minor getAllDomains optimizations
Pieter Lexis [Mon, 9 Feb 2026 10:28:49 +0000 (11:28 +0100)]
Merge pull request #16829 from pieterlexis/docs-setuptools-pin
chore: pin setuptools so pkg_resources keeps working
Pieter Lexis [Mon, 9 Feb 2026 09:49:48 +0000 (10:49 +0100)]
chore: Pin setuptools for build scripts
Pieter Lexis [Mon, 9 Feb 2026 09:49:27 +0000 (10:49 +0100)]
chore: Pin setuptools for builder tools
Pieter Lexis [Mon, 9 Feb 2026 09:48:59 +0000 (10:48 +0100)]
chore: Pin setuptools for remotebackend tests
Pieter Lexis [Mon, 9 Feb 2026 09:48:33 +0000 (10:48 +0100)]
chore: Pin setuptools for meson venv
Pieter Lexis [Mon, 9 Feb 2026 09:48:16 +0000 (10:48 +0100)]
chore: Pin setuptools for pdns-keyroller
Pieter Lexis [Mon, 9 Feb 2026 09:47:57 +0000 (10:47 +0100)]
chore: Pin setuptools for all regression tests
Pieter Lexis [Mon, 9 Feb 2026 09:46:59 +0000 (10:46 +0100)]
chore(auth): Pin setuptools for auth venv
Pieter Lexis [Mon, 9 Feb 2026 08:36:28 +0000 (09:36 +0100)]
docs(dnsdist): Pin setuptools so pkg_resources keeps working
Pieter Lexis [Mon, 9 Feb 2026 08:36:15 +0000 (09:36 +0100)]
docs(auth): Pin setuptools so pkg_resources keeps working
Pieter Lexis [Mon, 9 Feb 2026 08:35:52 +0000 (09:35 +0100)]
docs(recursor): Pin setuptools so pkg_resources keeps working
Otto Moerbeek [Mon, 9 Feb 2026 06:16:46 +0000 (07:16 +0100)]
Merge pull request #16826 from zeha/drop-boost-system
Drop usage of libboost-system library
Miod Vallat [Mon, 9 Feb 2026 06:09:01 +0000 (07:09 +0100)]
Merge pull request #16818 from miodvallat/squint
auth: useful views advice
Remi Gacogne [Fri, 6 Feb 2026 09:07:53 +0000 (10:07 +0100)]
Merge pull request #16824 from PowerDNS/dependabot/pip/regression-tests.recursor-dnssec/protobuf-6.33.5
build(deps): bump protobuf from 6.33.4 to 6.33.5 in /regression-tests.recursor-dnssec
Otto Moerbeek [Fri, 6 Feb 2026 08:29:31 +0000 (09:29 +0100)]
Merge pull request #16825 from PowerDNS/omoerbeek-patch-1
rec docs: Fix typo in YAML
Chris Hofstaedtler [Thu, 5 Feb 2026 17:45:59 +0000 (18:45 +0100)]
Drop usage of libboost-system library
Boost 1.89 dropped the stub library, apparently boost-system was headers only since 1.69.
https://www.boost.org/doc/libs/1_90_0/libs/system/doc/html/system.html#changes_in_boost_1_89
Signed-off-by: Chris Hofstaedtler <chris.hofstaedtler@deduktiva.com>
Otto Moerbeek [Thu, 5 Feb 2026 16:42:29 +0000 (17:42 +0100)]
Fix typo in YAML
From @neilcook
Signed-off-by: Otto Moerbeek <otto.moerbeek@open-xchange.com>
dependabot[bot] [Thu, 5 Feb 2026 16:32:46 +0000 (16:32 +0000)]
build(deps): bump protobuf in /regression-tests.recursor-dnssec
Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.33.4 to 6.33.5.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)
---
updated-dependencies:
- dependency-name: protobuf
dependency-version: 6.33.5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Remi Gacogne [Thu, 5 Feb 2026 16:05:07 +0000 (17:05 +0100)]
Merge pull request #16822 from rgacogne/ddist-noexcept
dnsdist: Add missing `noexcept` on move ctors/assignment operators
Remi Gacogne [Thu, 5 Feb 2026 16:03:01 +0000 (17:03 +0100)]
dnsdist: Fix formatting
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 5 Feb 2026 15:56:13 +0000 (16:56 +0100)]
dnsdist: Add regression tests for DNS flags in ProtoBuf messages
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 5 Feb 2026 15:55:00 +0000 (16:55 +0100)]
dnsdist: Set `QR=1` for responses triggered by timeout response rules
These are, after all, supposed to be responses by all the rules and
actions that are processing them.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 5 Feb 2026 15:54:38 +0000 (16:54 +0100)]
dnsdist: Export DNS flags via ProtoBuf
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
Remi Gacogne [Thu, 5 Feb 2026 14:32:42 +0000 (15:32 +0100)]
Merge pull request #16796 from pieterlexis/dnsdist-dq-labels
feat(dnsdist): Add `prepend` and `append` methods to Lua DNSName
Remi Gacogne [Thu, 5 Feb 2026 13:07:20 +0000 (14:07 +0100)]
Merge pull request #16821 from rgacogne/cleanup-remove-useless-class
Remove unused `DNSRecordOracle` class
Otto Moerbeek [Thu, 5 Feb 2026 12:31:42 +0000 (13:31 +0100)]
Merge pull request #16817 from omoerbeek/base64
Base64 tidy and unit test fix