Skip to content

[pull] master from PowerDNS:master#808

Merged
pull[bot] merged 16 commits into
Kiterepo:masterfrom
PowerDNS:master
May 15, 2026
Merged

[pull] master from PowerDNS:master#808
pull[bot] merged 16 commits into
Kiterepo:masterfrom
PowerDNS:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 15, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

thestinger and others added 16 commits May 13, 2026 19:02
Example:

    local ips = {{}, {ip_dallas}}, {}, {ip_frankfurt}}
    return ifurlup(url, ips, {selector='all', backupSelector='all'})

The previous behavior results in returning {ip_dallas, ip_frankfurt} if
every IP is detected as down. Health checks start out in the down state
so every IP is considered down after a server restart or changes to the
health check configuration. For GeoDNS configurations, this means GeoDNS
doesn't work when the service is first started or if health checks start
failing for every server due to a network or configuration issue.

This changes the behavior to returning {ip_dallas} when every IP is down
which matches the behavior when every IP is up. It makes much more sense
to have the same result for every IP being up and every IP being down.

Signed-off-by: Daniel Micay <daniel.micay@grapheneos.org>
…-262

requirements.txt: update version of pinned packages
The XSK map was not properly allocated, triggering a crash
when trying to load a YAML configuration file with XSK support.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
dnsdist: Fix XSK configuration via YAML
We used to resize the vector instead of reserving memory, which is silly.
It turns out that LuaWrapper cleaned up after us, but this was not nice.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
The counter was assigned in the loop instead of being added to.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
…reserve()`

Same fix than in 0d45ff9

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
If an incoming query has a very large EDNS OPT rdata length, but
not the corresponding bytes, the existing code could have wrapped
around to a small value after adding ECS. We would then send an invalid
OPT record with some trailing bytes. The query would have been discarded
by the backend but that's not very nice, let's drop it early AND make
sure we don't wrap around.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
dnsdist: Compute a less inaccurate number of DNS records to pass to `reserve()`
dnsdist: Fix useless allocation in DNSQuestion:getProxyProtocolValues
dnsdist: Fix the dynamic block top suffixes counters computation
I _think_ the check was wrong, but please double-check my logic.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
dnsdist: Fix OPT rdlen computation when adding ECS
auth: only apply backupSelector to the first non-empty group
ednscookies: Fix timestamp validity check
@pull pull Bot locked and limited conversation to collaborators May 15, 2026
@pull pull Bot added the ⤵️ pull label May 15, 2026
@pull pull Bot merged commit 5d6b3a4 into Kiterepo:master May 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants