Commit Graph

45 Commits

Author SHA1 Message Date
Vincent Li
a166b8644c dnsdist: add sample xsk AF_XDP config
a simple working config sample for xsk AF_XDP

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-06-19 20:28:10 -07:00
Vincent Li
f1f13b95aa dnsdist: change the xsk v4/v6 destination map name
We use xdp-loader to load dnsdist_xdp.bpf.o for dnsdist running
AF_XDP:

xdp-loader load green0 -P 90 -p /sys/fs/bpf/dnsdist -n xdp_dns_filter /usr/lib/bpf/dnsdist_xdp.bpf.o

so the xsk v4/v6 destination map would be:

/sys/fs/bpf/dnsdist/xskDestinationsV4
/sys/fs/bpf/dnsdist/xskDestinationsV6

but dnsdist-xsk.cc has:

static std::string getDestinationMap(bool isV6)
    {
      return !isV6 ? "/sys/fs/bpf/dnsdist/xsk-destinations-v4" : "/sys/fs/bpf/dnsdist/xsk-destinations-v6";
    }

we can't use xsk-destinations-v4/v6 in dnsdist_xdp.bpf.o because bpf map
could not use '-' in map definition, '-' would result in compiling
error.

so we patch dnsdist-xsk.cc to use xskDestinationsV4/V6 that matches the
map name in dnsdist_xdp.bpf.o

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-06-19 09:35:23 -07:00
Vincent Li
51e2f6ff37 dnsdist: upgrade to 1.9.10
enable ebpf AF_XDP

Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
2025-06-13 09:29:14 -07:00
Adolf Belka
dcd828666a dnsdist: Update to version 1.9.6
- Update from version 1.9.4 to 1.9.6
- Tested building on riscv64 and it built without issues and rootfile is sam as for
   x86_64 & aarch64. So supported architectures has been removed and dnsdist is available
   on all three architectures.
- Update of rootfile not required
- Changelog
    1.9.6
	New Features
	    Add support for a callback when a new tickets key is added
	     References: pull request 14449
	Improvements
	    Make the logging functions available to all Lua environments
	     References: pull request 14438
	    Handle Quiche >= 0.22.0
	     References: pull request 14450
	    Don’t include openssl/engine.h if it’s not going to be used (Sander Hoentjen)
	     References: pull request 14452
	Bug Fixes
	    Dedup Prometheus help and type lines for custom metrics with labels¶
	     References: #14395, pull request 14439
	    Fix a race in the XSK/AF_XDP backend handling code
	     References: pull request 14436
	    dns.cc: use pdns::views::UnsignedCharView
	     References: pull request 14437
    1.9.5
	New Features
	    Add a Lua FFI function to set proxy protocol values
	     References: pull request 14338
	    Add Lua FFI bindings to generate SVC responses
	     References: pull request 14339
	Bug Fixes
	    Use the correct source IP for outgoing QUIC datagrams
	     References: pull request 14166
	    Reply to HTTP/2 PING frames immediately
	     References: pull request 14163
	    Log the correct amount of bytes sent for DoH w/ nghttp2
	     References: pull request 14332
	    Prevent a race when calling registerWebHandler at runtime
	     References: pull request 14170
	    Enforce a maximum number of HTTP request fields and a maximum HTTP request line size
	     References: pull request 14333
	    Fix a race condition with custom Lua web handlers
	     References: pull request 14342
	    Syslog should be enabled by default
	     References: pull request 14331
	    Fix a warning when compiling the unit tests without XSK¶
	     References: pull request 14334
	    autoconf: allow prerelease systemd versions (Chris Hofstaedtler)
	     References: pull request 14335
	    Edit the systemd unit file, CAP_BPF is no longer enough
	     References: #14279, pull request 14336
	    Fix ‘Error creating TCP worker’ error message
	     References: pull request 14337

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-09-26 14:14:37 +00:00
Michael Tremer
8cfce31dc5 dnsdist: Update to 1.9.4
This release fixes CVE-2024-25581, a denial of service security issue affecting versions 1.9.0, 1.9.1, 1.9.2 and 1.9.3 only. Earlier versions are not affected.

When incoming DNS over HTTPS support is enabled using the nghttp2 provider, and queries are routed to a tcp-only or DNS over TLS backend, an attacker can trigger an assertion failure in DNSdist by sending a request for a zone transfer (AXFR or IXFR) over DNS over HTTPS, causing the process to stop and thus leading to a Denial of Service.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-05-25 10:59:33 +02:00
Michael Tremer
4b7906cc4b dnsdist: Update to 1.9.3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-04-19 06:05:46 +00:00
Michael Tremer
1f57daefa1 dnsdist: Update to 1.9.2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2024-04-19 06:00:39 +00:00
Michael Tremer
c39b2e00be dnsdist: Update to 1.9.1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-03-14 14:17:54 +00:00
Michael Tremer
09bfdb62e5 dnsdist: Update to 1.9.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-03-09 21:55:28 +00:00
Adolf Belka
d6101c44e2 dnsdist: ship dnsdist due to libsodium sobump
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-11-22 21:36:00 +00:00
Arne Fitzenreiter
6c829050c8 dnsdist: disabled on riscv64 again
dnsdist build on my builder fine but it fails on the buildserver
via qemu-user.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-10-13 08:13:16 +00:00
Arne Fitzenreiter
4d4f665ab3 riscv64: enable some disabled addons
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-10-09 08:16:53 +00:00
Michael Tremer
87d0d07bbc core176: Re-ship lots of stuff that is still linked against OpenSSL 1.1.1
There are no functional changes in these files, but they are however
linked against OpenSSL 1.1.1 and need to be re-shipped before we remove
the legacy library.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-27 10:06:45 +00:00
Michael Tremer
bf4da9c80f dnsdist: Update to 1.8.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-04-24 18:42:10 +00:00
Michael Tremer
eafaa37c4f dnsdist: Update to 1.7.3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-12-31 10:56:54 +00:00
Michael Tremer
c183124f58 Bump PAK_VER for all packages that use SERVICES
Since we have extended services.cgi that it reads the Services field
from the Pakfire metadata, we will need to make sure that that metadata
is going to be on those systems.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-09-15 10:43:54 +00:00
Peter Müller
f704d76e08 dnsdist: Bump package version
https://lists.ipfire.org/pipermail/development/2022-July/013794.html

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-07-06 10:00:57 +00:00
Michael Tremer
bf7bfc3df6 dnsdist: Update to 1.7.2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-06-15 15:41:25 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.

There is no need in shipping all these files en bloc, as their
functionality won't change.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-18 23:54:57 +00:00
Robin Roevens
f15707c78c buildprocess: Add extra metadata to pak lfs files
* Add a Summary and Services field to all pak lfs files
* Replace occurances of INSTALL_INITSCRIPT with new INSTALL_INITSCRIPTS
  macro in all pak lfs files.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-11 15:13:15 +00:00
Michael Tremer
53e52b86df dnsdist: Upgrade to 1.7.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
2022-01-18 21:13:51 +00:00
Michael Tremer
1f9adf14a7 dnsdist: Update to 1.6.1
This patch makes this package available for aarch64. There are no
reasons why it shouldn't be.

Compiling has become more resource-hungry which is why the memory
consumption per process has been upped to 3GiB.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Adolf Belka <adolf.belka@ipfire.org>
2021-11-19 07:20:07 +01:00
Arne Fitzenreiter
839bc5527a dnsdist: build only for x86_64
32bit archs fail because time_t is only 4 bytes and
aarch64 not build on builders with 2GB ram.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-10 17:53:08 +00:00
Michael Tremer
da1ebf7552 dnsdist: Fix FTBFS with GCC 11
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-09 06:14:19 +00:00
Arne Fitzenreiter
17cd114192 disable paks that not compile with gcc-11
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:40 +02:00
Michael Tremer
839451c527 dnsdist: Improve initscript to prevent reload on config error
start, restart and reload will now be prohibited if the configuration
file has an incorrect syntax. This avoids killing a running daemon and
is showing an indication to the user instead of having the daemon dying
silently in the background.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-06-01 11:39:09 +02:00
Michael Tremer
f1d3be8656 dnsdist: Only build for x86_64
It looks like 32 bit architectures are not supported at all by this
program any more.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-12 09:42:27 +00:00
Michael Tremer
33db882f49 dnsdist: Update to 1.6.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-05-11 16:39:44 +00:00
Adolf Belka
ac266d99ab dnsdist: Change to PAK_VER to ensure lua library link updated
- lua library update had a sobump and therefore linked packages require
  to have that updated

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-04-26 10:24:09 +00:00
Michael Tremer
eed7b35ba5 dnsdist: Update to 1.5.1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-10-01 09:20:48 +00:00
Michael Tremer
9c840b6126 dnsdist: Update to 1.5.0
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-08-16 10:29:42 +00:00
Michael Tremer
2dc2a27803 lfs: Drop quotes in DEPS variable
Not sure why this has ever been there. This simply makes it
nicer to read and edit because we can have line-breaks now.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:57:27 +00:00
Arne Fitzenreiter
5ad31551cd dnsdist: a compile thread needs two gigabyte of ram
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-02-25 20:38:19 +00:00
Michael Tremer
d8f7b45f35 dnsdist: Update to 1.4.0
This patch updates dnsdist to the latest release.

Additionally it includes /etc/sysconfig/dnsdist in the backup
and enables DNS-over-TLS.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-02-15 11:04:44 +00:00
Michael Tremer
4f66bad488 dnsdist: Increase number of open files to 64k
dnsdist might need to open large number of connections
and therefore the default limit of 1024 needs to be
raised.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-08-28 08:16:32 +00:00
Michael Tremer
fd0b2742bf dnsdist: Update to 1.3.3
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-18 04:38:41 +00:00
Michael Tremer
5b8ff1ccb6 dnsdist: Add backup include
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-18 02:54:30 +00:00
Michael Tremer
199db95a70 dnsdist: Limit to fewer concurrent build processes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-11 09:38:56 +00:00
Wolfgang Apolinarski
23164efba5 Parallelized build for several packages
Added $(MAKETUNING) to several packages.
Marked packages that do not support parallel build.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2019-03-04 11:02:03 +00:00
Peter Müller
eee037b890 update disclaimer in LFS files
Most of these files still used old dates and/or domain names for contact
mail addresses. This is now replaced by an up-to-date copyright line.

Just some housekeeping... :-)

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-09-10 19:20:36 +01:00
Jonatan Schlag
c5480346b1 dnsdist: move initscript to src/initscripts/packages and use new macro
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
2017-02-24 12:11:53 +01:00
Arne Fitzenreiter
17d270d5c9 dnsdist: disable parallel build
on 4 core machines with 2GB ram the parallel build fails
with out of memory.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2016-04-10 09:41:08 +02:00
Michael Tremer
f81e27e1c8 dnsdist: Don't build on ARM
There seem to be some serious C++ issues in this so that
it won't build on ARM.

At the moment I do not have any resources to look further
into this, so I just disable building this package for
all ARM architectures.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2016-01-06 15:05:37 +00:00
Michael Tremer
98b8cabf4d dnsdist: New package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2015-12-22 22:27:58 +00:00