• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

systemd / systemd / 15150396955
73%

Build:
DEFAULT BRANCH: main
Ran 21 May 2025 02:46AM UTC
Jobs 1
Files 1931
Run time 3min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 May 2025 10:32PM UTC coverage: 72.047% (-0.2%) from 72.25%
15150396955

push

github

web-flow
resolved: add new "DNS Delegate" concepts (#34368)

Various long standing issues (at least: #5573 #14159 #20485 #21260
#24532 #32022 #18056) have been asking for a way to delegate DNS
resolution of specific domains to very specific DNS servers.

This PR goes a major step towards that goal by adding a new concept "DNS
Delegate" which allows to configure just that. Basically, this adds a
third kind of DNS scope to resolved's logic: besides the per-link and
global DNS scopes there are now also "delegate" scopes, which can be
created by dropping in a new file /etc/systemd/dns-delegate/*.conf. They
carry DNS= and Domains= lines just like the global setting or what the
per-link configuration can carry.

And they are consulted the same way as link DNS scopes are considered,
following the same routing rules.

This allows to configure these DNS delegates statically via drop-in
files as mentioned, and only adds the most basic functionality. Later on
we might want to extend this:

1. Allow dynamic creation of DNS delegates via IPC with lifecycle bound
to IPC client (usecase: installing a DNS delegate that routes traffic to
some DNS-over-TLS server once basic setup is complete).
2. Allow configuration of protocol details per delegate the same way
this is currently allowed per-link.
3. Instead of strictly using DNS as delegation protocol, support an
alternative varlink based protocol (without retransmission problems and
so on) that systemd-machined and similar can implement.

This PR is not complete yet. Lacks docs and tests. Seems to work fine in
my local tests however.

Fixes: #5573
Fixes: #18056
Fixes: #20485

470 of 586 new or added lines in 14 files covered. (80.2%)

3358 existing lines in 54 files now uncovered.

299091 of 415134 relevant lines covered (72.05%)

703065.7 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
5
91.38
src/resolve/resolved-dns-delegate-bus.c
5
93.02
-3.34% src/resolve/resolved-dns-search-domain.c
9
67.17
-2.44% src/resolve/resolved-dns-scope.c
11
76.32
-0.56% src/resolve/resolved-dns-server.c
13
77.53
-0.48% src/resolve/resolved-manager.c
14
65.66
0.11% src/resolve/resolved-bus.c
28
82.61
src/resolve/resolved-dns-delegate.c
31
61.16
0.47% src/resolve/resolvectl.c

Uncovered Existing Lines

Lines Coverage ∆ File
1
76.03
-0.68% src/basic/io-util.c
1
85.86
-0.17% src/basic/user-util.c
1
75.57
-0.08% src/busctl/busctl.c
1
61.31
-0.6% src/core/dbus-job.c
1
72.37
-0.04% src/core/exec-invoke.c
1
76.92
-0.17% src/core/transaction.c
1
74.49
0.0% src/import/importd.c
1
71.45
-0.09% src/libsystemd-network/sd-dhcp-client.c
1
80.43
-0.36% src/libsystemd-network/sd-ndisc.c
1
83.15
-0.03% src/libsystemd/sd-json/sd-json.c
1
81.17
-0.25% src/libsystemd/sd-netlink/netlink-util.c
1
76.79
-0.2% src/login/logind-user.c
1
77.53
-0.48% src/resolve/resolved-manager.c
1
77.47
-0.27% src/shared/bus-polkit.c
1
75.0
0.0% src/shared/smack-util.h
1
50.0
-50.0% src/systemd/sd-lldp-rx.h
1
75.0
-0.48% src/udev/udev-spawn.c
2
72.08
-0.65% src/import/export-tar.c
2
86.59
-0.61% src/libsystemd-network/sd-radv.c
2
34.82
0.09% src/login/logind-dbus.c
2
93.75
0.0% src/machine/operation.h
2
77.22
-0.43% src/network/networkd-dhcp-server.c
2
87.88
-6.06% src/resolve/resolved-dns-packet.h
2
65.18
-0.31% src/resolve/resolved-dns-stub.c
2
75.54
-0.06% src/resolve/resolved-dns-transaction.c
2
91.96
4.43% src/test/test-cgroup-util.c
3
75.0
-2.68% src/coredump/coredump-vacuum.c
3
71.66
-0.25% src/core/mount.c
3
68.9
-0.17% src/network/networkd-ndisc.c
3
79.92
-0.17% src/udev/udev-rules.c
4
45.7
-1.56% src/journal/journald-native.c
4
76.32
-0.56% src/resolve/resolved-dns-server.c
7
78.26
-2.34% src/libsystemd/sd-bus/bus-error.c
7
87.5
-4.38% src/shared/pam-util.c
8
55.62
-0.88% src/login/pam_systemd.c
10
82.72
-2.47% src/network/networkd-sysctl.c
12
61.37
-2.93% src/nsresourced/userns-registry.c
12
81.3
-1.48% src/resolve/resolved-link.c
15
49.66
-2.53% src/shared/ptyfwd.c
17
91.03
-2.06% src/basic/string-util.c
24
83.35
-0.17% src/basic/cgroup-util.c
29
67.17
-2.44% src/resolve/resolved-dns-scope.c
32
64.71
0.0% src/journal-remote/microhttpd-util.c
40
78.35
0.29% src/shared/dissect-image.c
76
41.23
-7.29% src/nsresourced/nsresourcework.c
102
72.86
0.18% src/shared/mount-util.c
108
72.95
-0.03% src/core/cgroup.c
108
67.04
0.71% src/systemctl/systemctl.c
122
71.58
0.0% src/journal-remote/journal-remote-main.c
222
80.7
1.74% src/core/manager.c
254
76.47
-0.12% src/core/execute.c
272
82.52
-1.16% src/core/namespace.c
757
64.72
0.5% src/core/service.c
1069
71.02
-0.39% src/repart/repart.c
Jobs
ID Job ID Ran Files Coverage
1 15150396955.1 21 May 2025 02:46AM UTC 1931
72.05
GitHub Action Run
Source Files on build 15150396955
  • Tree
  • List 1931
  • Changed 119
  • Source Changed 53
  • Coverage Changed 110
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15150396955
  • 81a1f8ee on github
  • Prev Build on main (#15101432274)
  • Next Build on main (#15175033720)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc