Commit Graph

48273 Commits

Author SHA1 Message Date
Lennart Poettering
efb4858f11 polkit: trivial simplification 2024-03-11 10:44:53 +00:00
Luca Boccassi
03292f9663 Merge pull request #31706 from DaanDeMeyer/smbios
systemd-boot: Add support for reading extra kernel cmdline from SMBIOS
2024-03-11 10:44:11 +00:00
Luca Boccassi
3b5512b973 Merge pull request #31675 from rpigott/dns-refuse
resolved: refuse queries with no suitable scope
2024-03-11 10:43:18 +00:00
Daan De Meyer
365e90b946 systemd-boot: Add support for reading extra kernel cmdline from SMBIOS
Same as io.systemd.stub.kernel-cmdline-extra, but for type 1 entries
booted by systemd-boot.
2024-03-10 16:30:34 +01:00
Mike Yuan
b2d4ce7e58 quotacheck: store argv[*] in static var
As per our coding style
2024-03-10 23:11:47 +08:00
Mike Yuan
5926d69200 quotacheck: minor modernization 2024-03-10 23:08:34 +08:00
Thomas Blume
fc5c6eccb4 units: make templates for quotaon and systemd-quotacheck service 2024-03-09 19:32:09 +00:00
Vasiliy Stelmachenok
9bb89a55a2 core/exec-invoke: Fix missing arguments for PR_SET_MEMORY_MERGE call
Without it prctl will always fail, even if using a kernel version that
supports the PR_SET_MEMORY_MERGE call.
2024-03-09 00:19:16 +00:00
Ronan Pigott
591810c02e resolved: also reply NOTIMP when refusing a query based on RR type
In some cases we refuse a query based on the RR type, mostly old
deprecated types. Let's return NOTIMP in this case, which best
communicates why the query failed.
2024-03-08 14:48:03 -07:00
Chandra Pratap
793732d32b extract-word: increase test-extract-word coverage for unicode inputs
In the current testing scheme in test-extract-word, we only
have two test cases covering unicode strings. Improve upon
this by adding more cases for the same.

Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
2024-03-08 21:29:08 +00:00
Abraham Samuel Adekunle
c18caed19b add unittest cases for argv_looks_like_help 2024-03-08 21:27:55 +00:00
Unique-Usman
ffc7f3e9cb Added a new test to cover login-util.c 2024-03-08 21:27:22 +00:00
Yu Watanabe
77630ec909 resolve: fix typo
Follow-up for d08566fad7.
2024-03-09 01:43:48 +09:00
Emanuele Giuseppe Esposito
706ca67d30 bootctl: additional fixes for local/global UKI PE addons
Fix various memory leaks and names used in
https://github.com/systemd/systemd/pull/28761.
2024-03-08 16:38:59 +00:00
Zbigniew Jędrzejewski-Szmek
ec596fe34e Merge pull request #30480 from keszybz/kernel-install-more-paths
Read kernel-install config from /run/kernel too
2024-03-08 08:25:07 +01:00
Ronan Pigott
abcc94b351 resolved: don't cache NXDOMAIN for SUDN resolver.arpa
The name resolver.arpa is reserved for RFC9462 "Discovery of Designated
Resolvers" (DDR). This relies on regular dns queries for SVCB records at
the special use domain name _dns.resolver.arpa. Unfortunately, older
nameservers (or broken ones) won't know about this SUDN and will likely
return NXDOMAIN. If this is cached, the cache entry will become an
impediment for any clients trying to discover designated resolvers
through the stub-resolver, or potentially even sd-resolved itself, were
it to implement DDR.

The RFC recommendation is that "clients MUST NOT perform A or AAAA
queries for resolver.arpa", and "resolvers SHOULD respond to queries of
any type other than SVCB for _dns.resolver.arpa. with NODATA and queries
of any type for any domain name under resolver.arpa with NODATA." which
should help avoid potential compatibility issues. This enforces that
condition within sd-resolved, and avoids caching any such erroneous
NXDOMAIN.

The RFC also recommends requests for this domain should never be
forwarded, to prevent authentication failures. Since there isn't much
point in establishing secure communication to the local stub, we still
allow SVCB to be forwarded from the stub, in case the client cares to
implement some other authentication method and understands the
consequences of skipping the local stub. Normal clients are not
expected to implement DDR, but this change will protect sd-resolved's
own caches in case they try.

Although A and AAAA are prohibited, I think validating resolvers
might reasonably query for dnssec records, even though the resolver.arpa
zone does not exist (it is declared to be a locally served zone). For
this reason, I have also added resolver.arpa to the builtin dnssec NTA.
2024-03-07 23:01:08 +00:00
Unique-Usman
bda7e4d2e5 Add more unit test to cover the uid_range_covers inside the uid-range.c file (#31666)
* Add more unit test to cover the  uid_range_covers inside the uid-range.c file
2024-03-07 22:59:13 +00:00
Unique-Usman
f621aea33c Added a unit test to cover af_to_name in af-list.c 2024-03-07 22:57:38 +00:00
Mike Yuan
04ed3a1f8e logind-dbus: count user-early sessions in verify_shutdown_creds too
Follow-up for 59afe07c21
2024-03-07 22:56:40 +00:00
Ronan Pigott
4f2da49fcd resolved: refuse queries with no suitable scope
In some cases there is no configured server to answer a given question,
because all scopes refused the query. In this case we currently return
rcode SERVFAIL.

In dns it is customary for authoritative nameservers to return REFUSED
where the question is outside of their authority. This is better than
SERVFAIL because it informs the client that they aren't likely to get an
answer out of us anytime soon, and either the configuration, or the
query, need to change.

Similar logic invites us to use use the rcode REFUSED on the stub if we
aren't configured with any suitable scope for this question.
2024-03-07 15:29:37 -07:00
Zbigniew Jędrzejewski-Szmek
b7d62bdbd0 shared/conf-parser: add two more annotations 2024-03-07 19:14:36 +01:00
Zbigniew Jędrzejewski-Szmek
088ab88715 bootctl: use the full parser too 2024-03-07 19:14:36 +01:00
Zbigniew Jędrzejewski-Szmek
db26d8025e kernel-install: support full set of config files and drop-ins
This brings the handling of config for kernel-install in line with most of
systemd, i.e. we search the set of paths for the main config file, and the full
set of drop-in paths for drop-ins.

This mirrors what 07f5e35fe7 did for udev.conf.
That change worked out fine, so I hope this one will too.

The update in the man page is minimal. I think we should split out a separate
page for the config file later on.

One motivating use case is to allow a drop-in to be created for temporary
config overrides and then removed after the operation is done.
2024-03-07 19:14:36 +01:00
Zbigniew Jędrzejewski-Szmek
6378f257e7 various: use new config loader instead of config_parse_config_file()
This means the main config file is loaded also from /run and /usr.

We should load the main config file from all the places where we load drop-ins.

I realize I had a giant blind spot: I always assumed that we load config files
from /etc, /run, /usr/local/lib, /usr/lib. But it turns out that we only used
those paths for drop-ins. For the main config file, we only looked in /etc. The
docs actually partially described this behaviour, i.e. most SYNOPSIS sections
and some parts of the text, but not others.

This is strange, because 6495361c7d was completely
bogus with the behaviour before this patch. We had a huge discussion before it
was merged, and clearly nobody noticed this. Similarly, in the previous version
of the current pull request, we had a long discussion about the appropriate
order of directories, and apparently nobody noticed that there was no order,
because only looked in one directory. So the blind spot seems to have been
shared.

Also, systemd-analyze cat-config behaved incorrectly, i.e. its behaviour matches
the new behaviour.

Possibly, in the future it'll make it easier to add support for --root.
2024-03-07 19:14:36 +01:00
Zbigniew Jędrzejewski-Szmek
e7e52ff9b6 shared/conf-parser: add function which implements the standard config file set
Also allow config_parse_many() to be called for config files without
sections. The test uses such a file.
2024-03-07 19:14:36 +01:00