Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dnsdist: Move files (test) #14

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
4fc57a4
Refactor RPZ download thread code
omoerbeek Jan 9, 2024
b59c7fc
RPZ notify
omoerbeek Jan 10, 2024
29691be
Tidy
omoerbeek Jan 12, 2024
046b69a
Add test, only clear cache if the notify wasn't for an RPZ
omoerbeek Jan 12, 2024
7e9fbf9
Docs
omoerbeek Jan 12, 2024
cce0983
dnsname: move len and offset from int to size_t
chbruyand Jan 18, 2024
05fe745
dnsname: clang-tidy fix a few missing braces
chbruyand Jan 19, 2024
7cd99b0
dnsname: tidy some implicit conversion
chbruyand Jan 19, 2024
1440623
Process comments from review by @rgacogne, thanks!
omoerbeek Jan 22, 2024
c33b024
Rate limit the notifies per zone to max 1 per 5 sec (less if refresh …
omoerbeek Jan 22, 2024
8e9a138
dnsname: remove unnecessary cast as suggested by Otto
chbruyand Jan 23, 2024
71ada8e
Make the refresh 1 again, to work around the new rate limiting
omoerbeek Jan 23, 2024
f3f8d99
Merge pull request #13701 from omoerbeek/rec-rpz-refactor
omoerbeek Jan 23, 2024
9b4a83a
Merge pull request #13723 from chbruyand/dnsname-position-types
rgacogne Jan 23, 2024
a61dd3f
dnsdist: add AF_XDP support for udp
Y7n05h Aug 17, 2022
bbb193a
dnsdist: Better error messages when failing to load the XDP map
rgacogne Mar 1, 2023
d7a4f1f
dnsdist: Prevent a false-positive warning from the compiler
rgacogne Mar 1, 2023
f3eb524
dnsdist: Add an option to easily disable XDP logging (default)
rgacogne Mar 1, 2023
c3cad01
dnsdist: Pass-through TCP packets from XDP
rgacogne Mar 1, 2023
7d0d8ed
dnsdist: Punt fragmented UDP dgrams to the kernel in xdp-filter
rgacogne Mar 2, 2023
bb8ab11
dnsdist: Fix parameter validation with XSK
rgacogne Mar 2, 2023
b1dd62e
dnsdist: Add comments to the XSK code
rgacogne Mar 2, 2023
57131ee
dnsdist: Add a `XskSocket::getMetrics()` binding
rgacogne Mar 3, 2023
953dc1e
dnsdist: Fall-back to non-XSK for too large responses
rgacogne Mar 3, 2023
ce2e132
dnsdist: Small cleanup of the XSK code
rgacogne Sep 18, 2023
961e2a7
dnsdist: Better detection of libbpf and libxdp
rgacogne Sep 19, 2023
cad1ba8
dnsdist: Fix AF_XDP (XSK) detection
rgacogne Sep 26, 2023
4dd6b4b
dnsdist: Minor clean ups in the XSK code
rgacogne Sep 26, 2023
954a989
dnsdist: Fix a UMEM corruption in XSK
rgacogne Dec 28, 2023
677f9d2
dnsdist: Cleanup of the XSK code, fixing alignment issues
rgacogne Dec 28, 2023
ea24787
dnsdist: Refactor the XSK code into a proper namespace
rgacogne Dec 28, 2023
ae61f00
dnsdist: Get rid of memory allocations in the XSK hot path
rgacogne Dec 28, 2023
f140f2b
dnsdist: Fix XSK between dnsdist and its backends
rgacogne Jan 11, 2024
2a5e976
dnsdist: Clean up and reorganize XSK code
rgacogne Jan 15, 2024
cce416f
dnsdist: Format and delint the XSK code
rgacogne Jan 15, 2024
682b927
dnsdist: Revert the now unneeded changes made to dnsdist-healthchecks
rgacogne Jan 15, 2024
39bbdd1
xdp.py: The ports set is now unused in XSK mode
rgacogne Jan 15, 2024
73a6da7
dnsdist: Report the `AF_XDP` feature
rgacogne Jan 15, 2024
366cc44
dnsdist: Document the XSK feature
rgacogne Jan 15, 2024
1b4bfa7
dnsdist: Add xsk, xskmap and umem to the spellchecker allow-list
rgacogne Jan 15, 2024
bd1e67a
dnsdist: Fix XSK/AF_XDP detection
rgacogne Jan 15, 2024
1c9b210
dnsdist: We need the regular, non-XSK threads as well!
rgacogne Jan 15, 2024
38244a9
dnsdist: Fix a clang-tidy warning
rgacogne Jan 15, 2024
70b5d52
dnsdist: Add default values for the map and number of frames in `newXsk`
rgacogne Jan 16, 2024
c184b26
dnsdist: Install libbpf and libxdp in our CI image
rgacogne Jan 16, 2024
991210c
dnsdist: Log whether UDP queries are forwarded via XSK
rgacogne Jan 19, 2024
f928337
dnsdist: Fix XSK over IPv6
rgacogne Jan 19, 2024
73dc64a
dnsdist: Log whether we are using XSK, and which mode (native or emul…
rgacogne Jan 19, 2024
40f605d
dnsdist: Cosmetic fixes for XSK
rgacogne Jan 19, 2024
db96b41
dnsdist: Refactor XSK support between dnsdist and the backends
rgacogne Jan 19, 2024
4b99619
dnsdist: Properly delay response packets in incoming-only XSK mode
rgacogne Jan 22, 2024
465bf9e
dnsdist: Clear the XSK responder notification queue right away
rgacogne Jan 22, 2024
86b47ec
dnsdist: Enable XSK (AF_XDP) on supported OSes
rgacogne Jan 22, 2024
f941004
dnsdist: Hopefully fix building with/without XDP in CI
rgacogne Jan 22, 2024
cf66dd2
dnsdist: Switch to Debian 12 for our Docker image, enable XSK
rgacogne Jan 23, 2024
cd807ad
dnsdist: Relax file descriptor check for XSK-enabled backends
rgacogne Jan 23, 2024
4a94ee5
dnsdist: Fix warnings from clang-tidy
rgacogne Jan 23, 2024
e053dc9
dnsdist: Implement proper parameters handling in the XDP helper
rgacogne Jan 23, 2024
94e3db7
dnsdist: Fix more clang-tidy warnings
rgacogne Jan 23, 2024
ffbc306
dnsdist: Update the XSK documentation for recent changes
rgacogne Jan 23, 2024
2a42c6c
spell-check: Allow libxdp
rgacogne Jan 23, 2024
265ece9
dnsdist: Properly detect whether `bpf_xdp_query` is available
rgacogne Jan 25, 2024
a8c3569
dnsdist: Add a fuzzing target for the XSK code
rgacogne Jan 29, 2024
7478036
dnsdist: Fix formatting of fuzz_xsk.cc
rgacogne Jan 29, 2024
dd69e52
dnsdist: Remove symbolic links
rgacogne Jan 29, 2024
ac47e17
dnsdist: Move dnsdist-only files from pdns/ to pdns/dnsdistdist
rgacogne Jan 29, 2024
c40824f
dnsdist: Format code
rgacogne Jan 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/actions/spell-check/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,7 @@ Ekkelenkamp
elgoog
endbr
Enden
enp
ent
envoutput
epel
Expand Down Expand Up @@ -449,6 +450,7 @@ gaba
gacogne
gatech
Gavarret
Gbps
gdpr
Geijn
genindex
Expand Down Expand Up @@ -477,6 +479,7 @@ gettime
gettsigkey
Geuze
GFm
Ghz
Gibheer
Gieben
Gillstrom
Expand Down Expand Up @@ -648,6 +651,7 @@ ktls
KTNAME
Kuehrer
kvs
kxdpgun
Ladot
Lafon
Lakkas
Expand Down Expand Up @@ -701,6 +705,7 @@ libsodium
libsofthsm
libsystemd
libtdsodbc
libxdp
libyaml
libzmq
lightningstream
Expand Down Expand Up @@ -861,6 +866,7 @@ NETWORKMASK
Neue
Neuf
newcontent
nftables
nic
Nilsen
nimber
Expand Down Expand Up @@ -1183,6 +1189,7 @@ Schueler
schwer
scopebits
scopemask
sdfn
sdfoijdfio
sdig
secpoll
Expand Down Expand Up @@ -1409,6 +1416,7 @@ Ueber
Ueli
UIDs
Uisms
UMEM
unauth
unbreak
unescaping
Expand Down Expand Up @@ -1513,6 +1521,8 @@ Xiang
xorbooter
xpf
XRecord
xsk
xskmap
XXXXXX
yahttp
yamlconversion
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ jobs:
- name: Install dependencies for dnsdist
if: matrix.product == 'dnsdist'
run: |
inv install-dnsdist-build-deps
inv install-dnsdist-build-deps --skipXDP
- name: Autoreconf dnsdist
if: matrix.product == 'dnsdist'
working-directory: ./pdns/dnsdistdist/
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/misc-dailies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
submodules: recursive
- run: build-scripts/gh-actions-setup-inv-no-dist-upgrade
- run: inv install-clang
- run: inv install-dnsdist-build-deps
- run: inv install-dnsdist-build-deps --skipXDP
- run: inv install-coverity-tools dnsdist
- run: inv coverity-clang-configure
- run: inv ci-autoconf
Expand Down
27 changes: 0 additions & 27 deletions .not-formatted
Original file line number Diff line number Diff line change
Expand Up @@ -36,31 +36,6 @@
./pdns/dnscrypt.cc
./pdns/dnscrypt.hh
./pdns/dnsdemog.cc
./pdns/dnsdist-cache.cc
./pdns/dnsdist-cache.hh
./pdns/dnsdist-console.cc
./pdns/dnsdist-console.hh
./pdns/dnsdist-dynbpf.cc
./pdns/dnsdist-dynbpf.hh
./pdns/dnsdist-ecs.cc
./pdns/dnsdist-ecs.hh
./pdns/dnsdist-lbpolicies.hh
./pdns/dnsdist-lua-bindings-dnsquestion.cc
./pdns/dnsdist-lua-bindings.cc
./pdns/dnsdist-lua-inspection.cc
./pdns/dnsdist-lua-rules.cc
./pdns/dnsdist-lua-vars.cc
./pdns/dnsdist-lua.hh
./pdns/dnsdist-rings.cc
./pdns/dnsdist-rings.hh
./pdns/dnsdist-snmp.cc
./pdns/dnsdist-snmp.hh
./pdns/dnsdist-tcp.cc
./pdns/dnsdist-web.cc
./pdns/dnsdist-xpf.cc
./pdns/dnsdist-xpf.hh
./pdns/dnsdist.cc
./pdns/dnsdist.hh
./pdns/dnsdistdist/connection-management.hh
./pdns/dnsdistdist/dnsdist-backend.cc
./pdns/dnsdistdist/dnsdist-kvs.cc
Expand Down Expand Up @@ -232,8 +207,6 @@
./pdns/test-common.hh
./pdns/test-distributor_hh.cc
./pdns/test-dnscrypt_cc.cc
./pdns/test-dnsdist_cc.cc
./pdns/test-dnsdistpacketcache_cc.cc
./pdns/test-dnsname_cc.cc
./pdns/test-dnsparser_cc.cc
./pdns/test-dnsparser_hh.cc
Expand Down
6 changes: 3 additions & 3 deletions Dockerfile-dnsdist
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# our chosen base image
FROM debian:11-slim AS builder
FROM debian:12-slim AS builder

ENV NO_LUA_JIT="s390x arm64"

Expand All @@ -14,7 +14,7 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get install -y --no-instal
COPY builder-support /source/builder-support

# TODO: control file is not in tarballs at all right now
RUN mk-build-deps -i -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' /source/builder-support/debian/dnsdist/debian-buster/control && \
RUN mk-build-deps -i -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' /source/builder-support/debian/dnsdist/debian-bookworm/control && \
apt-get clean

COPY pdns /source/pdns
Expand Down Expand Up @@ -84,7 +84,7 @@ RUN cd /tmp && mkdir /build/tmp/ && mkdir debian && \

# Runtime

FROM debian:11-slim
FROM debian:12-slim

# Reusable layer for base update - Should be cached from builder
RUN apt-get update && apt-get -y dist-upgrade && apt-get clean
Expand Down
1 change: 1 addition & 0 deletions builder-support/debian/dnsdist/debian-bookworm/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
10
39 changes: 39 additions & 0 deletions builder-support/debian/dnsdist/debian-bookworm/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Source: dnsdist
Section: net
Priority: optional
Maintainer: PowerDNS.COM BV <[email protected]>
Uploaders: PowerDNS.COM BV <[email protected]>
Build-Depends: debhelper (>= 10),
libboost-all-dev,
libbpf-dev [linux-any],
libcap-dev,
libcdb-dev,
libedit-dev,
libfstrm-dev,
libgnutls28-dev,
liblmdb-dev,
libluajit-5.1-dev [!arm64 !s390x],
liblua5.3-dev [arm64 s390x],
libnghttp2-dev,
libre2-dev,
libsnmp-dev,
libsodium-dev,
libssl-dev,
libsystemd-dev [linux-any],
libwslay-dev,
libxdp-dev [linux-any],
pkg-config,
ragel,
systemd [linux-any]
Standards-Version: 4.1.5
Homepage: https://dnsdist.org

Package: dnsdist
Architecture: any
Depends: ${misc:Depends},
${shlibs:Depends}
Description: DNS loadbalancer
Highly DoS- and abuse-aware load balancing tool for DNS traffic,
with Lua scripting and configuration capability.
Can be configured to use various sets of rules to classify, route
and reject traffic.
Loading
Loading