]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
3 days agoMerge pull request #14066 from PowerDNS/dependabot/pip/regression-tests.ixfrdist... master
Remi Gacogne [Mon, 15 Apr 2024 08:35:17 +0000 (10:35 +0200)] 
Merge pull request #14066 from PowerDNS/dependabot/pip/regression-tests.ixfrdist/dnspython-2.6.1

build(deps): bump dnspython from 2.1.0 to 2.6.1 in /regression-tests.ixfrdist

3 days agoMerge pull request #14064 from PowerDNS/dependabot/pip/docs/idna-3.7
Remi Gacogne [Mon, 15 Apr 2024 08:32:47 +0000 (10:32 +0200)] 
Merge pull request #14064 from PowerDNS/dependabot/pip/docs/idna-3.7

build(deps): bump idna from 3.4 to 3.7 in /docs

3 days agoMerge pull request #14063 from PowerDNS/dependabot/pip/pdns/keyroller/idna-3.7
Remi Gacogne [Mon, 15 Apr 2024 08:32:10 +0000 (10:32 +0200)] 
Merge pull request #14063 from PowerDNS/dependabot/pip/pdns/keyroller/idna-3.7

build(deps): bump idna from 3.4 to 3.7 in /pdns/keyroller

3 days agoMerge pull request #14041 from rgacogne/ddist-fix-crash-tcp-downstream
Remi Gacogne [Mon, 15 Apr 2024 08:25:34 +0000 (10:25 +0200)] 
Merge pull request #14041 from rgacogne/ddist-fix-crash-tcp-downstream

dnsdist: Fix a crash in the Downstream TCP handler

3 days agoMerge pull request #14050 from omoerbeek/dnsdist-syslog-default
Remi Gacogne [Mon, 15 Apr 2024 08:13:08 +0000 (10:13 +0200)] 
Merge pull request #14050 from omoerbeek/dnsdist-syslog-default

dnsdist: syslog should be enabled by default

6 days agobuild(deps): bump dnspython in /regression-tests.ixfrdist 14066/head
dependabot[bot] [Fri, 12 Apr 2024 21:58:05 +0000 (21:58 +0000)] 
build(deps): bump dnspython in /regression-tests.ixfrdist

Bumps [dnspython](https://github.com/rthalley/dnspython) from 2.1.0 to 2.6.1.
- [Release notes](https://github.com/rthalley/dnspython/releases)
- [Changelog](https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst)
- [Commits](https://github.com/rthalley/dnspython/compare/v2.1.0...v2.6.1)

---
updated-dependencies:
- dependency-name: dnspython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
7 days agobuild(deps): bump idna from 3.4 to 3.7 in /docs 14064/head
dependabot[bot] [Fri, 12 Apr 2024 02:42:38 +0000 (02:42 +0000)] 
build(deps): bump idna from 3.4 to 3.7 in /docs

Bumps [idna](https://github.com/kjd/idna) from 3.4 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.4...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
7 days agobuild(deps): bump idna from 3.4 to 3.7 in /pdns/keyroller 14063/head
dependabot[bot] [Fri, 12 Apr 2024 01:58:05 +0000 (01:58 +0000)] 
build(deps): bump idna from 3.4 to 3.7 in /pdns/keyroller

Bumps [idna](https://github.com/kjd/idna) from 3.4 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](https://github.com/kjd/idna/compare/v3.4...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
7 days agoMerge pull request #14055 from fredmorcos/meson-systemd-services
Fred Morcos [Thu, 11 Apr 2024 14:43:31 +0000 (16:43 +0200)] 
Merge pull request #14055 from fredmorcos/meson-systemd-services

Meson: `pdns-auth` and `ixfrdist` systemd service files

7 days agoMerge pull request #14056 from romeroalx/revert-changes-13907
Peter van Dijk [Thu, 11 Apr 2024 13:27:01 +0000 (15:27 +0200)] 
Merge pull request #14056 from romeroalx/revert-changes-13907

Revert "gh actions: wo issue 9491 - actions/runner-images"

8 days agoRevert "gh actions: wo issue 9491 - actions/runner-images" 14056/head
romeroalx [Wed, 10 Apr 2024 12:05:22 +0000 (14:05 +0200)] 
Revert "gh actions: wo issue 9491 - actions/runner-images"

This reverts commit e0bf314e472d0c1d4bc1ff82d97cabf87be1e929.

8 days agoMeson: Support pdns-auth and ixfrdist service files 14055/head
Fred Morcos [Wed, 10 Apr 2024 08:59:52 +0000 (10:59 +0200)] 
Meson: Support pdns-auth and ixfrdist service files

Service files are treated like a config.h.in file. This adds support for a common base of
service file configuration options containing basic systemd feature checks.

Then, each of pdns-auth and ixfrdist have their own "general" and "instance" service files
that are generated from a common service file. This is why things like @Description@,
@ConfigName@ and @Config@ are made generic so that each version of the service file can
use it own string.

8 days agoMeson: Add systemd feature support for service files
Fred Morcos [Tue, 9 Apr 2024 11:15:30 +0000 (13:15 +0200)] 
Meson: Add systemd feature support for service files

This moves things around a bit. Moves libsystem detection to
meson/libsystem/meson.build and uses meson/systemd/meson.build for
systemd/systemctl version and feature detection

9 days agoMeson: Add basic support for systemd service file
Fred Morcos [Tue, 9 Apr 2024 10:17:48 +0000 (12:17 +0200)] 
Meson: Add basic support for systemd service file

9 days agoMeson: Add system build flag
Fred Morcos [Tue, 9 Apr 2024 10:17:37 +0000 (12:17 +0200)] 
Meson: Add system build flag

10 days agoMerge pull request #14011 from Habbie/check-zone-svcb-lua-addr
Peter van Dijk [Mon, 8 Apr 2024 14:46:25 +0000 (16:46 +0200)] 
Merge pull request #14011 from Habbie/check-zone-svcb-lua-addr

pdnsutil check-zone: accept LUA A/AAAA as SVCB address targets

10 days agoMerge pull request #14047 from zeha/s390xauth
Peter van Dijk [Mon, 8 Apr 2024 12:56:36 +0000 (14:56 +0200)] 
Merge pull request #14047 from zeha/s390xauth

auth dnsproxy: fix build on s390x

10 days agodnsdist: syslog should be enabled by default 14050/head
Otto Moerbeek [Mon, 8 Apr 2024 11:14:21 +0000 (13:14 +0200)] 
dnsdist: syslog should be enabled by default

Regression introduced with the logging refactoring of dnsdist.

In rel/dnsdist-1.8.x: https://github.com/PowerDNS/pdns/blob/4d5bb67a2a75f9d88894e7dfc42bbbebfda297b0/pdns/dnsdist.cc#L103 :

bool g_syslog{true};

In master and 1.9.x the newly intrdoduced LoggingConfiguration::s_syslog
is inited to false.

This does not matter using the default systemd unit file as it disables syslog:

ExecStart=@bindir@/dnsdist --supervised --disable-syslog

but it does matter for non-systemd cases.

10 days agoMerge pull request #14044 from romeroalx/remove-yq-snap
Peter van Dijk [Mon, 8 Apr 2024 10:47:45 +0000 (12:47 +0200)] 
Merge pull request #14044 from romeroalx/remove-yq-snap

GH Actions: Remove yq snap dependency in collect job, workflow `build-and-test-all`

12 days agoauth dnsproxy: fix build on s390x 14047/head
Chris Hofstaedtler [Sat, 6 Apr 2024 21:51:35 +0000 (23:51 +0200)] 
auth dnsproxy: fix build on s390x

13 days agoMerge pull request #14042 from rgacogne/ddist-1.9.3-secpoll-changelog
Remi Gacogne [Fri, 5 Apr 2024 11:49:30 +0000 (13:49 +0200)] 
Merge pull request #14042 from rgacogne/ddist-1.9.3-secpoll-changelog

dnsdist: Update secpoll and ChangeLog for 1.9.3

13 days agogh actions - replace yq snap in collect job build-and-test-all 14044/head
romeroalx [Fri, 5 Apr 2024 10:02:55 +0000 (12:02 +0200)] 
gh actions - replace yq snap in collect job build-and-test-all

13 days agodnsdist: Update secpoll and ChangeLog for 1.9.3 14042/head
Remi Gacogne [Fri, 5 Apr 2024 11:27:19 +0000 (13:27 +0200)] 
dnsdist: Update secpoll and ChangeLog for 1.9.3

13 days agodnsdist: Fix a crash in the Downstream TCP handler 14041/head
Remi Gacogne [Fri, 5 Apr 2024 10:44:17 +0000 (12:44 +0200)] 
dnsdist: Fix a crash in the Downstream TCP handler

when we are looking for an existing TCP connection to a backend to
reuse, we routinely (every 60s by default) clean up existing
connections from the cache.
7b5f590ee72fecf54c0c40b24e98ba03a406af53 removes a connection
from the cache more aggressively when it has failed, but I did not
notice that the same function might be called from the cache cleaning
algorithm. It caused the cache cleanup function to call this function
which in turns tried to remove the connection from the same cache,
invalidating the iterator of the cache algorithm, and causing a crash
when the function returned.

13 days agoMerge pull request #14032 from rgacogne/ddist-192-changelog-secpoll
Remi Gacogne [Fri, 5 Apr 2024 08:19:42 +0000 (10:19 +0200)] 
Merge pull request #14032 from rgacogne/ddist-192-changelog-secpoll

dnsdist: Update ChangeLog and secpoll for DNSdist 1.9.2

13 days agoMerge pull request #14030 from rgacogne/enable-leak-detection-unit-tests
Remi Gacogne [Fri, 5 Apr 2024 07:29:31 +0000 (09:29 +0200)] 
Merge pull request #14030 from rgacogne/enable-leak-detection-unit-tests

ci: Enable LeakSanitizer during dnsdist and recursor unit tests

13 days agoMerge pull request #14034 from rgacogne/ddist-document-console-key-format
Remi Gacogne [Fri, 5 Apr 2024 07:09:28 +0000 (09:09 +0200)] 
Merge pull request #14034 from rgacogne/ddist-document-console-key-format

dnsdist: Document how to generate a console key without dnsdist

13 days agoMerge pull request #14025 from omoerbeek/stat_t-tidy
Otto Moerbeek [Fri, 5 Apr 2024 05:29:37 +0000 (07:29 +0200)] 
Merge pull request #14025 from omoerbeek/stat_t-tidy

stat_t tidy

13 days agoMerge pull request #14026 from omoerbeek/rec-docs-no-query-cache
Otto Moerbeek [Fri, 5 Apr 2024 05:27:04 +0000 (07:27 +0200)] 
Merge pull request #14026 from omoerbeek/rec-docs-no-query-cache

rec docs: we do not have a query cache

2 weeks agoMerge pull request #14035 from fredmorcos/meson-fix-lmdb-gettime
Fred Morcos [Thu, 4 Apr 2024 17:54:44 +0000 (19:54 +0200)] 
Merge pull request #14035 from fredmorcos/meson-fix-lmdb-gettime

Meson fix: `lmdb-safe` needs gettime

2 weeks agopdnsutil check-zone: accept LUA A/AAAA as SVCB address targets 14011/head
Peter van Dijk [Tue, 2 Apr 2024 07:39:11 +0000 (09:39 +0200)] 
pdnsutil check-zone: accept LUA A/AAAA as SVCB address targets

2 weeks agodnsdist: Document the `-C /dev/null` trick to generate a key as well 14034/head
Remi Gacogne [Thu, 4 Apr 2024 14:37:13 +0000 (16:37 +0200)] 
dnsdist: Document the `-C /dev/null` trick to generate a key as well

As suggested by @phonedph1 (thanks!).

2 weeks agoMerge pull request #14033 from rgacogne/auth-remotebackend-unit-tests-leak
Peter van Dijk [Thu, 4 Apr 2024 14:19:51 +0000 (16:19 +0200)] 
Merge pull request #14033 from rgacogne/auth-remotebackend-unit-tests-leak

auth: Use smart pointers in the remote backend unit tests

2 weeks agoMeson: Fix lmdb-safe needs gettime 14035/head
Fred Morcos [Thu, 4 Apr 2024 14:04:07 +0000 (16:04 +0200)] 
Meson: Fix lmdb-safe needs gettime

2 weeks agoMerge pull request #14031 from fredmorcos/meson-fix-libdecaf-detection
Fred Morcos [Thu, 4 Apr 2024 13:56:56 +0000 (15:56 +0200)] 
Merge pull request #14031 from fredmorcos/meson-fix-libdecaf-detection

Meson fix for `libdecaf` detection

2 weeks agodnsdist: Document how to generate a console key without dnsdist
Remi Gacogne [Thu, 4 Apr 2024 13:15:55 +0000 (15:15 +0200)] 
dnsdist: Document how to generate a console key without dnsdist

2 weeks agoauth: Use smart pointers in the remote backend unit tests 14033/head
Remi Gacogne [Thu, 4 Apr 2024 13:01:02 +0000 (15:01 +0200)] 
auth: Use smart pointers in the remote backend unit tests

2 weeks agoMerge pull request #13960 from cmouse/remote-unit-test
Peter van Dijk [Thu, 4 Apr 2024 12:34:27 +0000 (14:34 +0200)] 
Merge pull request #13960 from cmouse/remote-unit-test

Convert remotebackend unit tests to use python

2 weeks agoMeson: Integrate libdecaf library and header detection 14031/head
Fred Morcos [Thu, 4 Apr 2024 12:07:02 +0000 (14:07 +0200)] 
Meson: Integrate libdecaf library and header detection

2 weeks agodnsdist: Update ChangeLog and secpoll for DNSdist 1.9.2 14032/head
Remi Gacogne [Thu, 4 Apr 2024 10:40:45 +0000 (12:40 +0200)] 
dnsdist: Update ChangeLog and secpoll for DNSdist 1.9.2

2 weeks agoMeson: Rework libdecaf header file detection
Fred Morcos [Thu, 4 Apr 2024 11:46:05 +0000 (13:46 +0200)] 
Meson: Rework libdecaf header file detection

2 weeks agoMerge pull request #13980 from karelbilek/d_xfr
Peter van Dijk [Thu, 4 Apr 2024 11:46:04 +0000 (13:46 +0200)] 
Merge pull request #13980 from karelbilek/d_xfr

Do shuffle TCP responses except *XFRs

2 weeks agoMeson: Improve (and fix) libdecaf detection
Fred Morcos [Thu, 4 Apr 2024 09:57:15 +0000 (11:57 +0200)] 
Meson: Improve (and fix) libdecaf detection

2 weeks agofix typo 13960/head
Peter van Dijk [Thu, 4 Apr 2024 11:31:22 +0000 (13:31 +0200)] 
fix typo

2 weeks agoMerge pull request #13596 from eli-schwartz/configure-correctness
Peter van Dijk [Thu, 4 Apr 2024 10:41:32 +0000 (12:41 +0200)] 
Merge pull request #13596 from eli-schwartz/configure-correctness

configure.ac fixup: do not require bash

2 weeks agoMeson: Use include_directories for pgsqlbackend
Fred Morcos [Thu, 4 Apr 2024 09:56:57 +0000 (11:56 +0200)] 
Meson: Use include_directories for pgsqlbackend

2 weeks agoMerge pull request #14029 from rgacogne/auth-pkcs11-finalize-modules
Remi Gacogne [Thu, 4 Apr 2024 09:13:32 +0000 (11:13 +0200)] 
Merge pull request #14029 from rgacogne/auth-pkcs11-finalize-modules

auth: Properly finalize PKCS11 modules before releasing them

2 weeks agoMerge pull request #14028 from rgacogne/auth-backend-factories
Remi Gacogne [Thu, 4 Apr 2024 09:13:19 +0000 (11:13 +0200)] 
Merge pull request #14028 from rgacogne/auth-backend-factories

auth: Wrap backend factories in smart pointers

2 weeks agoci: Enable LeakSanitizer during dnsdist and recursor unit tests 14030/head
Remi Gacogne [Tue, 2 Apr 2024 10:33:43 +0000 (12:33 +0200)] 
ci: Enable LeakSanitizer during dnsdist and recursor unit tests

We need to fix some one-time allocations in the authoritative server
that are reported as leaked memory before we can enabled it there.
See:
- https://github.com/PowerDNS/pdns/pull/14028
- https://github.com/PowerDNS/pdns/pull/14029

There is also a leak in the remotebackend unit tests that I will
investigate after https://github.com/PowerDNS/pdns/pull/13960 has
been merged.

2 weeks agoauth: Properly finalize PKCS11 modules before releasing them 14029/head
Remi Gacogne [Tue, 2 Apr 2024 14:20:14 +0000 (16:20 +0200)] 
auth: Properly finalize PKCS11 modules before releasing them

This gets rid of two leaks reported by LeakSanitizer when running our
unit tests:
```
Direct leak of 48 byte(s) in 1 object(s) allocated from:
    #0 0x5fe6c6e7d099 in malloc (/pdns/pdns/testrunner+0x220099) (BuildId: 08d4c369b5f2f19f183aa5d6ab931a6653b70ab9)
    #1 0x7e6cdc6a0964  (/usr/lib/libp11-kit.so.0+0x36964) (BuildId: 307da6c0b5c7d87a1b0fd0a63e0bda93c9375e8a)
    Indirect leak of 72 byte(s) in 1 object(s) allocated from:
    #0 0x5fe6c6e7d401 in calloc (/pdns/pdns/testrunner+0x220401) (BuildId: 08d4c369b5f2f19f183aa5d6ab931a6653b70ab9)
    #1 0x7e6cdc6a09b6  (/usr/lib/libp11-kit.so.0+0x369b6) (BuildId: 307da6c0b5c7d87a1b0fd0a63e0bda93c9375e8a)
```

2 weeks agoauth: Wrap backend factories in smart pointers 14028/head
Remi Gacogne [Tue, 2 Apr 2024 14:05:51 +0000 (16:05 +0200)] 
auth: Wrap backend factories in smart pointers

2 weeks agotasks: Dump all remotebackend logs, including server logs
Aki Tuomi [Thu, 21 Mar 2024 17:41:56 +0000 (19:41 +0200)] 
tasks: Dump all remotebackend logs, including server logs

2 weeks agotasks: Replace ruby with python
Aki Tuomi [Thu, 21 Mar 2024 11:35:23 +0000 (13:35 +0200)] 
tasks: Replace ruby with python

2 weeks agoremotebackend: Remove stray files
Aki Tuomi [Thu, 21 Mar 2024 17:27:10 +0000 (19:27 +0200)] 
remotebackend: Remove stray files

2 weeks agoremotebackend: Convert regression tests to python
Aki Tuomi [Thu, 21 Mar 2024 14:11:18 +0000 (16:11 +0200)] 
remotebackend: Convert regression tests to python

2 weeks agoremotebackend: Convert unit tests to python
Aki Tuomi [Wed, 20 Mar 2024 13:49:27 +0000 (15:49 +0200)] 
remotebackend: Convert unit tests to python

2 weeks agoremotebackend: Do not send extra NUL with zeromq
Aki Tuomi [Wed, 20 Mar 2024 21:36:51 +0000 (23:36 +0200)] 
remotebackend: Do not send extra NUL with zeromq

2 weeks agoremotebackend: Use asString for serial
Aki Tuomi [Wed, 20 Mar 2024 20:39:54 +0000 (22:39 +0200)] 
remotebackend: Use asString for serial

2 weeks agoremotebackend: Fix example.com ID
Aki Tuomi [Wed, 20 Mar 2024 13:43:00 +0000 (15:43 +0200)] 
remotebackend: Fix example.com ID

It is going to be 3, not 2.

2 weeks agorec docs: we do not have a query cache 14026/head
Otto Moerbeek [Wed, 3 Apr 2024 13:43:21 +0000 (15:43 +0200)] 
rec docs: we do not have a query cache

2 weeks agoA few type fixes, mostly cosmetical 14025/head
Otto Moerbeek [Wed, 3 Apr 2024 12:25:15 +0000 (14:25 +0200)] 
A few type fixes, mostly cosmetical

2 weeks agoTidy stat_t
Otto Moerbeek [Wed, 27 Mar 2024 13:21:42 +0000 (14:21 +0100)] 
Tidy stat_t

2 weeks agoconfigure: remove broken bashism 13596/head
Eli Schwartz [Mon, 11 Dec 2023 23:18:11 +0000 (18:18 -0500)] 
configure: remove broken bashism

In a configure check that was carefully written for pre-unix-wars
versions of the bourne shell, some code which was only valid using GNU
bash was included.

The `==` operator is a bash-specific alias for `=`. It behaves exactly
the same, except more confusing. It contains no added functionality,
other than making an otherwise /bin/sh compatible script only work when
/bin/sh is a symlink to /bin/bash.

2 weeks agoMerge pull request #14018 from omoerbeek/rec-proxy-exception
Otto Moerbeek [Tue, 2 Apr 2024 14:33:04 +0000 (16:33 +0200)] 
Merge pull request #14018 from omoerbeek/rec-proxy-exception

Rec: add setting to exclude specific listen socket addresses from requiring proxy protocol

2 weeks agoTypo 14018/head
Otto Moerbeek [Tue, 2 Apr 2024 13:20:16 +0000 (15:20 +0200)] 
Typo

Co-authored-by: Remi Gacogne <github@coredump.fr>
2 weeks agoMerge pull request #14020 from omoerbeek/rec-compiling-rust-dcos
Otto Moerbeek [Tue, 2 Apr 2024 12:33:35 +0000 (14:33 +0200)] 
Merge pull request #14020 from omoerbeek/rec-compiling-rust-dcos

rec: mention rust compiler in compiling docs

2 weeks agorec: mention rust compiler in compiling docs 14020/head
Otto Moerbeek [Tue, 2 Apr 2024 11:52:57 +0000 (13:52 +0200)] 
rec: mention rust compiler in compiling docs

Fixes #14019

2 weeks agoAdd test for proxy exception mechanism
Otto Moerbeek [Tue, 2 Apr 2024 08:33:45 +0000 (10:33 +0200)] 
Add test for proxy exception mechanism

2 weeks agorec: allow exception to proxy protocal usage for specific listen addresses
Otto Moerbeek [Tue, 2 Apr 2024 08:02:07 +0000 (10:02 +0200)] 
rec: allow exception to proxy protocal usage for specific listen addresses

2 weeks agoMerge pull request #14006 from rgacogne/fdwrapper-negative-values
Remi Gacogne [Tue, 2 Apr 2024 08:58:42 +0000 (10:58 +0200)] 
Merge pull request #14006 from rgacogne/fdwrapper-negative-values

FDWrapper: Do not try to close negative file descriptors

2 weeks agoFDWrapper: Always reset the internal descriptor to -1 14006/head
Remi Gacogne [Tue, 2 Apr 2024 07:54:15 +0000 (09:54 +0200)] 
FDWrapper: Always reset the internal descriptor to -1

Even if it was a different negative value, which happens for example
with the bpf helper functions which return `-errno`.

2 weeks agoMerge pull request #14001 from rgacogne/ddist-ffi-policy-no-server
Remi Gacogne [Fri, 29 Mar 2024 16:28:49 +0000 (17:28 +0100)] 
Merge pull request #14001 from rgacogne/ddist-ffi-policy-no-server

dnsdist: Support "no server available" result from Lua FFI LB policies

2 weeks agodnsdist: Delint test-dnsdistlbpolicies_cc.cc 14001/head
Remi Gacogne [Fri, 29 Mar 2024 15:54:22 +0000 (16:54 +0100)] 
dnsdist: Delint test-dnsdistlbpolicies_cc.cc

2 weeks agodnsdist: Fix clang-tidy warnings
Remi Gacogne [Fri, 29 Mar 2024 15:35:55 +0000 (16:35 +0100)] 
dnsdist: Fix clang-tidy warnings

2 weeks agoMerge pull request #13922 from rgacogne/ddist-cachemiss-rule-chain
Remi Gacogne [Fri, 29 Mar 2024 15:28:15 +0000 (16:28 +0100)] 
Merge pull request #13922 from rgacogne/ddist-cachemiss-rule-chain

dnsdist: Add a new query rules chain triggered after a cache miss

2 weeks agoMerge pull request #14005 from rgacogne/ddist-tcp-incoming-release
Remi Gacogne [Fri, 29 Mar 2024 15:06:47 +0000 (16:06 +0100)] 
Merge pull request #14005 from rgacogne/ddist-tcp-incoming-release

dnsdist: Release incoming TCP connection right away on backend failure

2 weeks agoMerge pull request #14003 from rgacogne/ddist-fix-in-doh-crash
Remi Gacogne [Fri, 29 Mar 2024 15:04:10 +0000 (16:04 +0100)] 
Merge pull request #14003 from rgacogne/ddist-fix-in-doh-crash

dnsdist: Fix a null-deref in incoming DoH w/ nghttp2

2 weeks agoMerge pull request #14004 from rgacogne/ddist-tcp-downstream-release
Remi Gacogne [Fri, 29 Mar 2024 15:03:24 +0000 (16:03 +0100)] 
Merge pull request #14004 from rgacogne/ddist-tcp-downstream-release

dnsdist: Release failed TCP backend connections more quickly

2 weeks agodnsdist: Clarify how to return 'no server available' from the FFI policies
Remi Gacogne [Fri, 29 Mar 2024 14:57:19 +0000 (15:57 +0100)] 
dnsdist: Clarify how to return 'no server available' from the FFI policies

2 weeks agodnsdist: Add regression tests for the new cache-miss rules chain 13922/head
Remi Gacogne [Thu, 14 Mar 2024 15:03:41 +0000 (16:03 +0100)] 
dnsdist: Add regression tests for the new cache-miss rules chain

2 weeks agodnsdist: Add a new query rules chain triggered after a cache miss
Remi Gacogne [Fri, 8 Mar 2024 15:14:17 +0000 (16:14 +0100)] 
dnsdist: Add a new query rules chain triggered after a cache miss

This new chain of rules allows postponing the decision of what to
do with the query to after a cache-lookup has been done. This is
particularly useful when dealing with abuse: we might want to allow
cache hits to be processed normally since they are cheap while dropping/
refusing/routing to a different pool queries that result in a cache
miss.

2 weeks agoFDWrapper: Do not try to close negative file descriptors
Remi Gacogne [Fri, 29 Mar 2024 14:14:55 +0000 (15:14 +0100)] 
FDWrapper: Do not try to close negative file descriptors

It turns out that some of the BPF helper functions return
a negative `errno` value in case of failure, and since we
wrap the return value into a `FDWrapper` right away this
led to a warning from Valgrind about trying to close an
invalid file descriptor.

2 weeks agodnsdist: Release failed TCP backend connections more quickly 14004/head
Remi Gacogne [Fri, 29 Mar 2024 14:08:29 +0000 (15:08 +0100)] 
dnsdist: Release failed TCP backend connections more quickly

After a timeout we cannot reuse the TCP connection to the backend
anyway, so let's release it immediately.

2 weeks agodnsdist: Release incoming TCP connection right away on backend failure 14005/head
Remi Gacogne [Fri, 29 Mar 2024 13:22:40 +0000 (14:22 +0100)] 
dnsdist: Release incoming TCP connection right away on backend failure

We used to keep a shared pointer to the incoming TCP connection around
in `TCPConnectionToBackend::d_currentQuery.d_sender` even after all queries
sent to the backend failed, which prevented the incoming TCP connection
from being closed as soon as it should have.

2 weeks agodnsdist: Fix a null-deref in incoming DoH w/ nghttp2 14003/head
Remi Gacogne [Fri, 29 Mar 2024 13:12:29 +0000 (14:12 +0100)] 
dnsdist: Fix a null-deref in incoming DoH w/ nghttp2

When an incoming DoH connection using the `nghttp2` provider is waiting
for a response from a backend that results in a I/O error or timeout,
and the incoming connection also fails due to a I/O error or timeout,
dnsdist could in some cases try to dereference a null pointer, leading
to a crash.

3 weeks agodnsdist: Support "no server available" result from Lua FFI LB policies
Remi Gacogne [Thu, 28 Mar 2024 16:12:48 +0000 (17:12 +0100)] 
dnsdist: Support "no server available" result from Lua FFI LB policies

3 weeks agoMerge pull request #13923 from rgacogne/ddist-xfr-response-chain
Remi Gacogne [Thu, 28 Mar 2024 15:51:39 +0000 (16:51 +0100)] 
Merge pull request #13923 from rgacogne/ddist-xfr-response-chain

dnsdist: Add a new response chain for XFR responses

3 weeks agoMerge pull request #13999 from rgacogne/ddist-inc-http1-counter-alpn
Remi Gacogne [Thu, 28 Mar 2024 15:51:19 +0000 (16:51 +0100)] 
Merge pull request #13999 from rgacogne/ddist-inc-http1-counter-alpn

dnsdist: Fix DNS over HTTP connections/queries counters with `nghttp2`

3 weeks agoMerge pull request #13998 from romeroalx/fix-dockerfile-rpmsbom
Remi Gacogne [Thu, 28 Mar 2024 10:37:59 +0000 (11:37 +0100)] 
Merge pull request #13998 from romeroalx/fix-dockerfile-rpmsbom

Dockerfile.rpmsbom:  fix grep syntax for authoritative on rhel>7

3 weeks agodnsdist: Fix formatting in dnsdist-nghttp2-in.cc 13999/head
Remi Gacogne [Thu, 28 Mar 2024 10:37:35 +0000 (11:37 +0100)] 
dnsdist: Fix formatting in dnsdist-nghttp2-in.cc

3 weeks agodnsdist: Add a regression test for DoH connection counters
Remi Gacogne [Thu, 28 Mar 2024 10:25:34 +0000 (11:25 +0100)] 
dnsdist: Add a regression test for DoH connection counters

3 weeks agodnsdist: Properly increase the HTTP connections counter w/ nghttp2
Remi Gacogne [Thu, 28 Mar 2024 10:24:44 +0000 (11:24 +0100)] 
dnsdist: Properly increase the HTTP connections counter w/ nghttp2

3 weeks agodnsdist: Remove commented out include directive
Remi Gacogne [Thu, 28 Mar 2024 09:30:10 +0000 (10:30 +0100)] 
dnsdist: Remove commented out include directive

3 weeks agodnsdist: Increase the HTTP/1.1 query counter when DoH with 1.1 ALPN
Remi Gacogne [Thu, 28 Mar 2024 09:27:15 +0000 (10:27 +0100)] 
dnsdist: Increase the HTTP/1.1 query counter when DoH with 1.1 ALPN

This way we can keep track of how many HTTP/1.1 connections attempt
we see. We will not actually process the DNS over HTTP/1.1 payload
anyway when the `nghttp2` provider is used.

3 weeks agofix grep syntax Dockerfile.rpmsbom 13998/head
romeroalx [Thu, 28 Mar 2024 08:59:21 +0000 (09:59 +0100)] 
fix grep syntax Dockerfile.rpmsbom

3 weeks agoMerge pull request #13983 from rgacogne/generate-sbom
Remi Gacogne [Thu, 28 Mar 2024 08:46:51 +0000 (09:46 +0100)] 
Merge pull request #13983 from rgacogne/generate-sbom

Generate Software Bill Of Materials (SBOMs) for our RPM packages

3 weeks agoMerge pull request #13969 from omoerbeek/rec-nod-threads
Otto Moerbeek [Wed, 27 Mar 2024 10:54:29 +0000 (11:54 +0100)] 
Merge pull request #13969 from omoerbeek/rec-nod-threads

rec: use shared NOD (and/or UDR) DB, to avoid multiple copies in memory and on disk

3 weeks agoExplain the d_cachedir_mutex is only used for protecting init() calls 13969/head
Otto Moerbeek [Wed, 27 Mar 2024 10:08:46 +0000 (11:08 +0100)] 
Explain the d_cachedir_mutex is only used for protecting init() calls

3 weeks agoMerge pull request #13984 from rgacogne/rec-fix-nsec3s-count-closest-encloser
Otto Moerbeek [Wed, 27 Mar 2024 07:03:28 +0000 (08:03 +0100)] 
Merge pull request #13984 from rgacogne/rec-fix-nsec3s-count-closest-encloser

rec: Correctly count NSEC3s considered when chasing the closest encloser

3 weeks agoMerge pull request #13985 from omoerbeek/rec-system-res-fixup
Otto Moerbeek [Wed, 27 Mar 2024 06:27:54 +0000 (07:27 +0100)] 
Merge pull request #13985 from omoerbeek/rec-system-res-fixup

rec: fixup res-system-resolve.cc on FreeBSD: resolve.h needs netinet/in.h