]>
git.ipfire.org Git - thirdparty/pdns.git/log
Georg Pfuetzenreuter [Mon, 10 Mar 2025 18:12:57 +0000 (19:12 +0100)]
Remove sin4 from ComboAddress reset
Zeroing through the larger sin6 field is sufficient.
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Georg Pfuetzenreuter [Mon, 10 Mar 2025 15:20:03 +0000 (16:20 +0100)]
Add tests for SockaddrWrapper
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Georg Pfuetzenreuter [Mon, 10 Mar 2025 01:10:59 +0000 (02:10 +0100)]
Auth webserver Unix socket support
This introduces support for binding to a Unix instead of a TCP/IP
socket, which is useful in applications where binding to a TCP/IP socket
is not desired due to security and/or performance considerations or
constraints of the surrounding system. Closes #8677.
Signed-off-by: Georg Pfuetzenreuter <mail@georg-pfuetzenreuter.net>
Otto Moerbeek [Fri, 14 Mar 2025 13:52:31 +0000 (14:52 +0100)]
Merge pull request #15309 from omoerbeek/meson-systemd-cleanup
Meson systemd cleanup
Otto Moerbeek [Fri, 14 Mar 2025 12:06:34 +0000 (13:06 +0100)]
Also take into accounts dnsdist docker and package build scripts
Otto Moerbeek [Fri, 14 Mar 2025 13:12:12 +0000 (14:12 +0100)]
Merge pull request #15307 from omoerbeek/fix-symbol-export-on-macos
rec, dnsdist: Fix symbol export on macos
Remi Gacogne [Fri, 14 Mar 2025 12:13:53 +0000 (13:13 +0100)]
Merge pull request #15257 from rgacogne/ddist-owned-proxy-protocol-connections
dnsdist: Limit # of proxy protocol-enabled outgoing TCP connections
Otto Moerbeek [Wed, 12 Mar 2025 13:47:33 +0000 (14:47 +0100)]
Cleanup of meson systemd integration, governed by one feature: systemd-service
Otto Moerbeek [Fri, 14 Mar 2025 11:13:49 +0000 (12:13 +0100)]
rec and dnsdist: fix symbol export on macOS
Remi Gacogne [Fri, 14 Mar 2025 10:55:30 +0000 (11:55 +0100)]
Merge pull request #15305 from rgacogne/ddist-quickstart-typo
dnsdist: Fix a typo in the quickstart guide
Remi Gacogne [Fri, 14 Mar 2025 10:55:17 +0000 (11:55 +0100)]
Merge pull request #15304 from rgacogne/fix-meson-coverage
Properly define `COVERAGE` when code coverage is enabled via `meson`
Remi Gacogne [Fri, 14 Mar 2025 10:23:13 +0000 (11:23 +0100)]
Apply Miod's suggestion to define `COVERAGE` for `c` as well
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Fri, 14 Mar 2025 10:19:50 +0000 (11:19 +0100)]
dnsdist: Fix a typo in the quickstart guide
Remi Gacogne [Fri, 14 Mar 2025 10:17:14 +0000 (11:17 +0100)]
Properly define `COVERAGE` when code coverage is enabled via `meson`
Remi Gacogne [Fri, 14 Mar 2025 09:31:31 +0000 (10:31 +0100)]
Merge pull request #15303 from rgacogne/ddist-fix-protocol-to-dnstap-warning
dnsdist: Fix "missing declaration" warning for `ProtocolToDNSTap`
Remi Gacogne [Fri, 14 Mar 2025 08:46:36 +0000 (09:46 +0100)]
dnsdist: Fix "missing declaration" warning for `ProtocolToDNSTap`
Otto Moerbeek [Fri, 14 Mar 2025 07:38:06 +0000 (08:38 +0100)]
Merge pull request #15293 from omoerbeek/rec-meson-build-features
rec: meson: add libcap feature and sync build-and-test-all options with autotools variants
Remi Gacogne [Thu, 13 Mar 2025 20:06:46 +0000 (21:06 +0100)]
Merge pull request #15300 from rgacogne/ddist-allow-af-netlink-xdp
dnsdist: Allow `AF_NETLINK` and `AF_XDP` under `systemd`
Remi Gacogne [Thu, 13 Mar 2025 19:17:29 +0000 (20:17 +0100)]
dnsdist: Allow `AF_NETLINK` and `AF_XDP` under `systemd`
We need them for, respectively:
- IP to MAC address translation
- `XSK` packet processing
Remi Gacogne [Thu, 13 Mar 2025 18:57:57 +0000 (19:57 +0100)]
Merge pull request #15298 from chbruyand/dnsdist-protobuf
dnsdist: protobuf, support packetCacheHit and outgoingQueries fields
Remi Gacogne [Thu, 13 Mar 2025 12:52:17 +0000 (13:52 +0100)]
Merge pull request #15151 from chbruyand/dnsdist-dnstap-http
dnsdist: add support for dnstap new http_protocol field
Charles-Henri Bruyand [Thu, 13 Mar 2025 12:26:57 +0000 (13:26 +0100)]
dnsdist: protobuf, also set outgoingQueries field
Charles-Henri Bruyand [Thu, 13 Mar 2025 12:17:33 +0000 (13:17 +0100)]
fix a clang-tidy warning
Remi Gacogne [Thu, 13 Mar 2025 10:03:09 +0000 (11:03 +0100)]
Merge pull request #15297 from rgacogne/ddist-export-only-ffi-symbols
dnsdist: Export only FFI symbols, regardless of visibility
Remi Gacogne [Thu, 13 Mar 2025 09:30:57 +0000 (10:30 +0100)]
dnsdist: Export only FFI symbols, regardless of visibility
Remi Gacogne [Thu, 13 Mar 2025 08:38:54 +0000 (09:38 +0100)]
dnsdist: Remove useless `std::round()`, as suggested by Otto
Remi Gacogne [Fri, 7 Mar 2025 11:35:24 +0000 (12:35 +0100)]
dnsdist: Add a regression test for Proxy Protocol conns with random values
Remi Gacogne [Fri, 7 Mar 2025 11:34:46 +0000 (12:34 +0100)]
dnsdist: Clear owned downstream TCP connections as soon as possible
Remi Gacogne [Thu, 6 Mar 2025 08:44:30 +0000 (09:44 +0100)]
dnsdist: Limit # of proxy protocol-enabled outgoing TCP connections
TCP worker threads keep a cache of outgoing TCP connections to a
backend to be able to reuse them for subsequent queries. Proxy
protocol-enabled outgoing TCP connections are trickier because the
proxy protocol payload is sent only once at the beginning of the
TCP connection, contains the source and destination addresses and
ports, and thus the connections can only be reused with the exact
same incoming TCP connection. For this reason these connections are
stored in a specific structure of the incoming connection, instead
of the TCP worker connection cache. However, we can only reuse a
given proxy protocol-enabled outgoing TCP connection for a subsequent
query if the TLV values contained in the proxy-protocol payload
associated to the new query are exactly the same than the ones
associated to the existing query. Up until now, we would keep an
unbounded amount of proxy protocol-enabled connections around if
the TLV values were, for example, randomly assigned per query.
This commit sets a limit on the number of such connections we will
keep around: we will keep at most N connections, where N is the
ratio between the number of concurrent queries on a single TCP
connection supported by the backend and the number of concurrent
queries on a single TCP connection supported by the frontend, with
a hard cap to 5.
Remi Gacogne [Thu, 13 Mar 2025 08:30:48 +0000 (09:30 +0100)]
Merge pull request #15289 from rgacogne/ddist-docker-meson
dnsdist: Build the `dnsdist` of our Docker image with `meson`
Otto Moerbeek [Wed, 12 Mar 2025 14:11:34 +0000 (15:11 +0100)]
Typo in help string
Co-authored-by: Miod Vallat <miod.vallat@powerdns.com>
Remi Gacogne [Wed, 12 Mar 2025 13:49:30 +0000 (14:49 +0100)]
dnsdist: Let meson do the Lua detection (auto) in our Docker image
It will first try LuaJIT then Lua 5.3, then older versions, which
is what we want.
Remi Gacogne [Tue, 11 Mar 2025 16:01:07 +0000 (17:01 +0100)]
dnsdist: Build the `dnsdist` of our Docker image with `meson`
Remi Gacogne [Wed, 12 Mar 2025 13:46:07 +0000 (14:46 +0100)]
Merge pull request #15284 from rgacogne/ddist-docker-fix-quiche
dnsdist: Fix the location of the dnsdist-quiche library in our Docker image
Otto Moerbeek [Wed, 12 Mar 2025 10:58:00 +0000 (11:58 +0100)]
rec: meson: add libcap feature and sync build-and-test-all options with autotools variant
Otto Moerbeek [Wed, 12 Mar 2025 10:55:11 +0000 (11:55 +0100)]
Merge pull request #15292 from omoerbeek/rec-export-ffi
rec: meson build: export ffi symbols so they become available to Lua
Otto Moerbeek [Wed, 12 Mar 2025 09:54:17 +0000 (10:54 +0100)]
rec: meson build: export ffi symbols so they become available to Lua
Do that specifically (and unconditionally) for the ffi functions only,
we do not need to export everything like the autotools do with -rdynamic.
Remi Gacogne [Tue, 11 Mar 2025 15:24:49 +0000 (16:24 +0100)]
Merge pull request #15285 from rgacogne/ddist-unbreak-packages
dnsdist: Unbreak our packages
Remi Gacogne [Tue, 11 Mar 2025 14:19:28 +0000 (15:19 +0100)]
dnsdist: Unbreak our packages
`dnslabeltext.cc` is now in `libdnsdist-common`.
Remi Gacogne [Tue, 11 Mar 2025 14:04:28 +0000 (15:04 +0100)]
dnsdist: Fix the location of the dnsdist-quiche library in our Docker image
Remi Gacogne [Tue, 11 Mar 2025 13:19:30 +0000 (14:19 +0100)]
dnsdist: Remove `h2o` from our Docker image
Remi Gacogne [Tue, 11 Mar 2025 13:01:05 +0000 (14:01 +0100)]
Merge pull request #15278 from rgacogne/ddist-fix-ffi
dnsdist: Properly export FFI functions when building with `meson`
Remi Gacogne [Tue, 11 Mar 2025 10:15:35 +0000 (11:15 +0100)]
dnsdist: Properly export FFI functions when building with `meson`
Some FFI functions are not used by the `dnsdist` binary, but they are
exported nevertheless to be usable by Lua code. The visibility of
such functions is correctly set to `public`, but our `meson` build
was putting these functions in an intermediate, static library then
linking that library in the `dnsdist` binary, and unfortunately
symbol visibility is ignored by the linker in this case.
So this commit moves the FFI function out of the shared library and
link them directly into the `dnsdist` binary, making them available
to Lua again.
Otto Moerbeek [Tue, 11 Mar 2025 10:10:38 +0000 (11:10 +0100)]
Merge pull request #15277 from omoerbeek/drop-focal
drop focal builds and start building rec-5.2.x instead of rec-4.9.x
Otto Moerbeek [Tue, 11 Mar 2025 08:59:23 +0000 (09:59 +0100)]
drop focal builds and start building rec-5.2.x instead of rec-4.9.x
Francisco Laguna [Tue, 11 Mar 2025 09:11:54 +0000 (10:11 +0100)]
Merge pull request #15249 from milzi234/chore/doc-site-tweaks
Chore/doc site tweaks
Francisco Laguna [Tue, 11 Mar 2025 09:09:49 +0000 (10:09 +0100)]
Merge pull request #15204 from milzi234/feature/rclone
Feature/rclone
Otto Moerbeek [Tue, 11 Mar 2025 08:31:26 +0000 (09:31 +0100)]
Merge pull request #15272 from omoerbeek/meson-snmp
rec: fix libsnmp define and make dnsdist's meson.build the only one
Otto Moerbeek [Tue, 11 Mar 2025 08:17:48 +0000 (09:17 +0100)]
Merge pull request #15270 from omoerbeek/rec-chain-test-tcp
rec: make the chain test more reliable by using TCP
Remi Gacogne [Tue, 11 Mar 2025 08:10:51 +0000 (09:10 +0100)]
Merge pull request #15275 from rgacogne/ddist-fix-el-aarch64
dnsdist: Fix package building on arm64 EL-8
Remi Gacogne [Mon, 10 Mar 2025 14:20:59 +0000 (15:20 +0100)]
dnsdist: Disable XSK on EL arm64, it is not supported
Remi Gacogne [Mon, 10 Mar 2025 14:01:14 +0000 (15:01 +0100)]
dnsdist: libbpf and libxdp are optional if xsk is set to auto
Remi Gacogne [Mon, 10 Mar 2025 13:32:27 +0000 (14:32 +0100)]
dnsdist: Disable `-fcf-protection` on arm64 EL-8, it's not supported
Otto Moerbeek [Mon, 10 Mar 2025 14:53:54 +0000 (15:53 +0100)]
Merge pull request #15254 from omoerbeek/rec-cname-with-a
rec: if we see a CNAME and an answer record, follow CNAME
Otto Moerbeek [Tue, 4 Mar 2025 08:52:15 +0000 (09:52 +0100)]
If we see both a CNAME and answer records, follow CNAME and discard the answer records
Otto Moerbeek [Mon, 10 Mar 2025 14:05:48 +0000 (15:05 +0100)]
Merge pull request #15273 from omoerbeek/rec-web-log-consistency
rec: more consistency in logging statements generated in web server code
Remi Gacogne [Mon, 10 Mar 2025 13:43:35 +0000 (14:43 +0100)]
Merge pull request #15271 from rgacogne/ddist-lua-aarch64
dnsdist: Use Lua on arm64 EL builds
Otto Moerbeek [Mon, 10 Mar 2025 13:33:39 +0000 (14:33 +0100)]
rec: more consistency in logging statements generated in web server code
Otto Moerbeek [Mon, 10 Mar 2025 13:14:52 +0000 (14:14 +0100)]
rec: fix libsnmp define and make dnsdist's meson.build the only one
Remi Gacogne [Mon, 10 Mar 2025 12:08:23 +0000 (13:08 +0100)]
dnsdist: Use Lua on arm64 EL builds
Miod Vallat [Mon, 10 Mar 2025 11:44:23 +0000 (12:44 +0100)]
Merge pull request #15207 from miodvallat/alias_but_not_as_dns_records
[pdnsutil] Command aliases
Remi Gacogne [Mon, 10 Mar 2025 11:40:53 +0000 (12:40 +0100)]
Merge pull request #15184 from rgacogne/ddist-packages-with-meson
dnsdist: Generate our packages with `meson`
Peter van Dijk [Mon, 10 Mar 2025 11:28:53 +0000 (12:28 +0100)]
Merge pull request #15250 from Habbie/repo-test-features
repo-test: also show compiled-in features
Otto Moerbeek [Mon, 10 Mar 2025 10:16:39 +0000 (11:16 +0100)]
rec: make the chain test more reliable by using TCP
UDP is more or less kaput on GitHub, even for the local interface. If
this works on GH as expected/hoped for, we have more strict consistency
checks.
Remi Gacogne [Mon, 10 Mar 2025 11:02:09 +0000 (12:02 +0100)]
Revert "dnsdist: Compress the tarball containing our packages with `xz`"
This reverts commit
9220ca0752305c8a04578bee78077901c966cb0e .
Otto Moerbeek [Mon, 10 Mar 2025 09:30:25 +0000 (10:30 +0100)]
Merge pull request #15263 from omoerbeek/rec-san-on-trixie
rec: comment on an issue encountered running asan on trixie and define HAVE_LEAK_SANITIZER_INTERFACE
Otto Moerbeek [Mon, 10 Mar 2025 09:28:01 +0000 (10:28 +0100)]
Merge pull request #15269 from omoerbeek/rec-new-ring
rec: move to ring 0.17.13
Otto Moerbeek [Mon, 10 Mar 2025 08:28:29 +0000 (09:28 +0100)]
Merge pull request #15213 from zeha/rec-debian
rec: update Debian packaging
Otto Moerbeek [Mon, 10 Mar 2025 08:24:32 +0000 (09:24 +0100)]
rec: move to ring 0.17.13
A better fix for #15264
Otto Moerbeek [Mon, 10 Mar 2025 08:12:42 +0000 (09:12 +0100)]
Also set HAVE_LEAK_SANITIZER_INTERFACE on lsan
Miod Vallat [Mon, 10 Mar 2025 07:16:44 +0000 (08:16 +0100)]
Merge pull request #15266 from miodvallat/doc_updates_which_noone_will_read_anyway
[auth] [doc] minor documentation updates
Miod Vallat [Mon, 10 Mar 2025 06:41:21 +0000 (07:41 +0100)]
Mention some changes in behaviours worth warning about.
Remi Gacogne [Fri, 7 Mar 2025 16:02:15 +0000 (17:02 +0100)]
dnsdist: Compress the tarball containing our packages with `xz`
Remi Gacogne [Fri, 7 Mar 2025 10:17:22 +0000 (11:17 +0100)]
dnsdist: Fix a typo in the meson `xsk` file
Remi Gacogne [Fri, 7 Mar 2025 10:00:02 +0000 (11:00 +0100)]
dnsdist: Rename debian-buster build rules to debian-bullseye
Remi Gacogne [Fri, 7 Mar 2025 09:57:37 +0000 (10:57 +0100)]
dnsdist: Also build Debian bullseye packages with `meson`
Remi Gacogne [Fri, 7 Mar 2025 09:41:19 +0000 (10:41 +0100)]
dnsdist: Generate the `dist` tarball in `/tmp/dnsdist-meson-dist-build`
Remi Gacogne [Thu, 6 Mar 2025 13:42:51 +0000 (14:42 +0100)]
dnsdist: Our `pkgconfig` file is also in the new library directory
Remi Gacogne [Thu, 6 Mar 2025 13:25:12 +0000 (14:25 +0100)]
dnsdist: Update tasks.py for the new Quiche library installation path
Remi Gacogne [Thu, 6 Mar 2025 12:21:53 +0000 (13:21 +0100)]
dnsdist: Use the correct libdir for Quiche on Debian/Ubuntu
Remi Gacogne [Thu, 6 Mar 2025 12:03:59 +0000 (13:03 +0100)]
dnsdist: Another attempt at finding the correct libdir
Remi Gacogne [Thu, 6 Mar 2025 10:35:37 +0000 (11:35 +0100)]
dnsdist: Install the Quiche library in the correct library directory
Remi Gacogne [Thu, 6 Mar 2025 09:04:50 +0000 (10:04 +0100)]
dnsdist: Test building packages without `-Wl,--no-as-needed`
Remi Gacogne [Thu, 6 Mar 2025 09:02:07 +0000 (10:02 +0100)]
install_meson: Actually output two spaces for `sha256sum`
Remi Gacogne [Thu, 6 Mar 2025 09:01:18 +0000 (10:01 +0100)]
dnsdist: Disable the built-in compile check of `meson dist`
After all we are building right after.
Remi Gacogne [Mon, 3 Mar 2025 11:03:23 +0000 (12:03 +0100)]
dnsdist: Fix .zx -> .xz typo
Remi Gacogne [Thu, 20 Feb 2025 16:19:50 +0000 (17:19 +0100)]
Remove files versioned in git from dockerignore of `meson` is unhappy
Remi Gacogne [Thu, 20 Feb 2025 16:15:37 +0000 (17:15 +0100)]
dnsdist: Provide a clean and complete git content available to `Docker` for `meson`
Remi Gacogne [Thu, 20 Feb 2025 15:37:56 +0000 (16:37 +0100)]
dnsdist: Run `set-configure-ac-version.sh` in `meson`'s dist script
Remi Gacogne [Thu, 20 Feb 2025 14:28:50 +0000 (15:28 +0100)]
dnsdist: Fix building Debian and Ubuntu packages with meson
Remi Gacogne [Tue, 18 Feb 2025 14:53:44 +0000 (15:53 +0100)]
dnsdist: Fix package building on EL-9 and EL-8
Remi Gacogne [Tue, 18 Feb 2025 10:24:36 +0000 (11:24 +0100)]
dnsdist: Install already generated man pages
Remi Gacogne [Tue, 18 Feb 2025 09:14:54 +0000 (10:14 +0100)]
dnsdist: Remove `time_t`-related checks, we do not care
Remi Gacogne [Mon, 17 Feb 2025 16:20:25 +0000 (17:20 +0100)]
dnsdist: Remove h2o from our packages
Remi Gacogne [Mon, 17 Feb 2025 16:19:22 +0000 (17:19 +0100)]
dnsdist: Fix the meson tarball hash
Remi Gacogne [Mon, 17 Feb 2025 16:17:44 +0000 (17:17 +0100)]
dnsdist: Copy the NOTICE file instead of using a link
Otherwise our builder does not find it, because the root directory
of the repository is not available to the Docker context.
Remi Gacogne [Mon, 17 Feb 2025 16:17:14 +0000 (17:17 +0100)]
dnsdist: Fix "unused parameter" warnings in some configurations
Remi Gacogne [Mon, 17 Feb 2025 14:26:45 +0000 (15:26 +0100)]
dnsdist: Use python3 when installing meson
Remi Gacogne [Mon, 17 Feb 2025 14:17:47 +0000 (15:17 +0100)]
dnsdist: Correct meson tarball sha256sum
Remi Gacogne [Mon, 17 Feb 2025 14:03:12 +0000 (15:03 +0100)]
dnsdist: Only compile ipcipher if libcrypto has been found