]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
19 months agogpt-auto: ignore fstab_has_node failure 31711/head
Mike Yuan [Mon, 11 Mar 2024 07:29:41 +0000 (15:29 +0800)] 
gpt-auto: ignore fstab_has_node failure

After 8a1326581d9b066377f8d9f2d58e1bdfd8b645d0,
we always check whether there're mounts under
/boot/ or /efi/ first. Let's relax the check
for fstab_has_node hence, since on initrd-less
systems it might produce wrong results.

19 months agofstab-util: remove unreachable return
Mike Yuan [Mon, 11 Mar 2024 07:27:04 +0000 (15:27 +0800)] 
fstab-util: remove unreachable return

19 months agohwdb: Add touchpad configuration for ThinkPad E495
İ. Ensar Gülşen [Sun, 10 Mar 2024 14:52:15 +0000 (17:52 +0300)] 
hwdb: Add touchpad configuration for ThinkPad E495

19 months agoMerge pull request #31705 from YHNdnzj/quotacheck-followup
Luca Boccassi [Sun, 10 Mar 2024 19:58:01 +0000 (19:58 +0000)] 
Merge pull request #31705 from YHNdnzj/quotacheck-followup

Some follow-ups for quotacheck

19 months agoman: fix systemd-measure manpage conditional
Luca Boccassi [Sun, 10 Mar 2024 13:08:58 +0000 (13:08 +0000)] 
man: fix systemd-measure manpage conditional

Follow-up for ec3cf73f303cf99ba73c91b734401b3ad2c218e9

19 months agoman/systemd-hibernate-resume: generator now enables rather than creates the service
Mike Yuan [Sun, 10 Mar 2024 14:44:02 +0000 (22:44 +0800)] 
man/systemd-hibernate-resume: generator now enables rather than creates the service

Follow-up for a628d933cc67cc8b183dc809ba1451aa5b2996e5

19 months agoquotacheck: store argv[*] in static var 31705/head
Mike Yuan [Sun, 10 Mar 2024 15:11:47 +0000 (23:11 +0800)] 
quotacheck: store argv[*] in static var

As per our coding style

19 months agoquotacheck: minor modernization
Mike Yuan [Sun, 10 Mar 2024 15:08:34 +0000 (23:08 +0800)] 
quotacheck: minor modernization

19 months agounits: make quota services bind to corresponding mount units
Mike Yuan [Sun, 10 Mar 2024 14:57:22 +0000 (22:57 +0800)] 
units: make quota services bind to corresponding mount units

Follow-up for a628d933cc67cc8b183dc809ba1451aa5b2996e5

systemd-growfs@.service does the same.

19 months agomkosi: fix typo
Yu Watanabe [Sun, 10 Mar 2024 05:09:38 +0000 (14:09 +0900)] 
mkosi: fix typo

Follow-up for 4d0f1451b58dbd4b94da579b800adef4f4e42c34.

20 months agounits: make templates for quotaon and systemd-quotacheck service
Thomas Blume [Mon, 19 Sep 2022 14:57:48 +0000 (16:57 +0200)] 
units: make templates for quotaon and systemd-quotacheck service

20 months agocore/exec-invoke: Fix missing arguments for PR_SET_MEMORY_MERGE call
Vasiliy Stelmachenok [Fri, 8 Mar 2024 14:58:18 +0000 (17:58 +0300)] 
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.

20 months agoextract-word: increase test-extract-word coverage for unicode inputs
Chandra Pratap [Fri, 8 Mar 2024 14:37:29 +0000 (20:07 +0530)] 
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>
20 months agoadd unittest cases for argv_looks_like_help
Abraham Samuel Adekunle [Fri, 8 Mar 2024 13:04:41 +0000 (14:04 +0100)] 
add unittest cases for argv_looks_like_help

20 months agoAdded a new test to cover login-util.c
Unique-Usman [Fri, 8 Mar 2024 11:41:14 +0000 (17:11 +0530)] 
Added a new test to cover login-util.c

20 months agoman/kernel-install: add `add-all` command to synopsis
Antonio Alvarez Feijoo [Fri, 8 Mar 2024 11:30:30 +0000 (12:30 +0100)] 
man/kernel-install: add `add-all` command to synopsis

20 months agomkosi: Add BuildSourcesEphemeral=yes
Daan De Meyer [Fri, 8 Mar 2024 18:12:16 +0000 (19:12 +0100)] 
mkosi: Add BuildSourcesEphemeral=yes

Required to make sure that any changes packaging specs make to the
source files are thrown away after the build so they don't mess with
the source tree.

20 months agomkosi: fix typo
Yu Watanabe [Fri, 8 Mar 2024 16:47:30 +0000 (01:47 +0900)] 
mkosi: fix typo

Follow-up for 4d0f1451b58dbd4b94da579b800adef4f4e42c34.

20 months agoresolve: fix typo
Yu Watanabe [Fri, 8 Mar 2024 16:43:46 +0000 (01:43 +0900)] 
resolve: fix typo

Follow-up for d08566fad7c97df153d38e314670aea3822106e1.

20 months agobootctl: additional fixes for local/global UKI PE addons
Emanuele Giuseppe Esposito [Thu, 15 Feb 2024 14:25:15 +0000 (09:25 -0500)] 
bootctl: additional fixes for local/global UKI PE addons

Fix various memory leaks and names used in
https://github.com/systemd/systemd/pull/28761.

20 months agoMerge pull request #30480 from keszybz/kernel-install-more-paths
Zbigniew Jędrzejewski-Szmek [Fri, 8 Mar 2024 07:25:07 +0000 (08:25 +0100)] 
Merge pull request #30480 from keszybz/kernel-install-more-paths

Read kernel-install config from /run/kernel too

20 months agoresolved: don't cache NXDOMAIN for SUDN resolver.arpa
Ronan Pigott [Wed, 6 Mar 2024 02:03:16 +0000 (19:03 -0700)] 
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.

20 months agoAdd more unit test to cover the uid_range_covers inside the uid-range.c file (#31666)
Unique-Usman [Thu, 7 Mar 2024 22:59:13 +0000 (04:29 +0530)] 
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

20 months agoAdded a unit test to cover af_to_name in af-list.c
Unique-Usman [Thu, 7 Mar 2024 14:47:44 +0000 (20:17 +0530)] 
Added a unit test to cover af_to_name in af-list.c

20 months agologind-dbus: count user-early sessions in verify_shutdown_creds too
Mike Yuan [Thu, 7 Mar 2024 14:22:30 +0000 (22:22 +0800)] 
logind-dbus: count user-early sessions in verify_shutdown_creds too

Follow-up for 59afe07c217c73e3c7c19fb06aef2ff7bf609fd2

20 months agoMerge pull request #31659 from YHNdnzj/freezer-followup
Luca Boccassi [Thu, 7 Mar 2024 22:55:56 +0000 (22:55 +0000)] 
Merge pull request #31659 from YHNdnzj/freezer-followup

Freezer trivial follow-up

20 months agoshared/conf-parser: add two more annotations 30480/head
Zbigniew Jędrzejewski-Szmek [Thu, 7 Mar 2024 17:47:31 +0000 (18:47 +0100)] 
shared/conf-parser: add two more annotations

20 months agobootctl: use the full parser too
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 22:44:09 +0000 (23:44 +0100)] 
bootctl: use the full parser too

20 months agokernel-install: support full set of config files and drop-ins
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 12:41:57 +0000 (13:41 +0100)] 
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 07f5e35fe7967c824a87f18a3a1d3c22e5be70f5 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.

20 months agoman: document all the new paths
Zbigniew Jędrzejewski-Szmek [Thu, 22 Feb 2024 09:58:48 +0000 (10:58 +0100)] 
man: document all the new paths

20 months agovarious: use new config loader instead of config_parse_config_file()
Zbigniew Jędrzejewski-Szmek [Thu, 22 Feb 2024 09:50:05 +0000 (10:50 +0100)] 
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 6495361c7d5e8bf640841d1292ef6cfe1ea244cf 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.

20 months agoshared/conf-parser: add function which implements the standard config file set
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 21:31:41 +0000 (22:31 +0100)] 
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.

20 months agoshared/conf-parser: use chase() in config_parse_many_files()
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 21:29:56 +0000 (22:29 +0100)] 
shared/conf-parser: use chase() in config_parse_many_files()

The function was partially implementing chroot lookups. It would be given
file names that were prefixed with the chroot, so it would mostly work.
But if any of those files were symlinks, fopen() would do the wrong thing.

Also we don't need locking.

So give 'root' as the argument and use chase_and_fopen_unlocked() to get
proper chroot-aware lookups.

The only place where config_parse_many() is called with root is is repart.c.
So this is a follow-up for e594a3b154bd06c535a934a1cc7231b1ef76df73 and
34f2fd5096cdb26ef57998740b1b876332d968fc.

20 months agostrv: add helper to extend strv from both sides
Zbigniew Jędrzejewski-Szmek [Thu, 22 Feb 2024 09:47:23 +0000 (10:47 +0100)] 
strv: add helper to extend strv from both sides

Also, use the more correct type of 'const char* const*' for the input strv.
This requires adding the cast in a few places, but also allows to remove some
casts in others.

20 months agoudevd: inline iterator variable
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 13:09:52 +0000 (14:09 +0100)] 
udevd: inline iterator variable

20 months agoudev,backlight,kernel-install: reword sentences starting with "Skipping to"
Zbigniew Jędrzejewski-Szmek [Wed, 21 Feb 2024 11:38:27 +0000 (12:38 +0100)] 
udev,backlight,kernel-install: reword sentences starting with "Skipping to"

That's not gramatically correct.

In backlight, change "assocation" to "deduplication". Without the context,
it's probably not clear at all that we "associate" them to ignore them.

20 months agoshared/pretty-print: rename output parameters
Zbigniew Jędrzejewski-Szmek [Thu, 22 Feb 2024 09:36:52 +0000 (10:36 +0100)] 
shared/pretty-print: rename output parameters

20 months agoshared/conf-parser: collapse pkgdir and conf_file args into one
Zbigniew Jędrzejewski-Szmek [Thu, 25 Jan 2024 17:30:43 +0000 (18:30 +0100)] 
shared/conf-parser: collapse pkgdir and conf_file args into one

This essentially reverts 5656cdfeeabc16b5489f5ec7a0a36025a2ec1f23. I find it
much easier to understand what is going on when the
path-relative-to-the-search-path is passed in full, instead of being constructed
from two parts, with one of the parts being implicit in some places.

Also, we call 'systemd-analyze cat-config <path>' with <path> with the same
meaning, so this makes the internal and external APIs more consistent.

20 months agoconstants: drop duplicated CONF_PATHS defines
Zbigniew Jędrzejewski-Szmek [Thu, 14 Dec 2023 09:52:34 +0000 (10:52 +0100)] 
constants: drop duplicated CONF_PATHS defines

Follow-up for b0d3095fd6cc1791a38f57a1982116b4475244ba.

20 months agosleep: fix typo (sysupend -> suspend) 31659/head
Mike Yuan [Wed, 6 Mar 2024 18:53:43 +0000 (02:53 +0800)] 
sleep: fix typo (sysupend -> suspend)

20 months agobus-unit-util: trivial follow-up for UnitFreezer
Mike Yuan [Wed, 6 Mar 2024 18:23:39 +0000 (02:23 +0800)] 
bus-unit-util: trivial follow-up for UnitFreezer

Follow-up for 7483708131b474d92c9207c8c6340b450b58cb94

Make sure that function param names match between
source and header. Also, place UnitFreezer params
in front.

20 months agobus-unit-util: define FREEZE_BUS_CALL_TIMEOUT locally
Mike Yuan [Wed, 6 Mar 2024 18:20:26 +0000 (02:20 +0800)] 
bus-unit-util: define FREEZE_BUS_CALL_TIMEOUT locally

Follow-up for f274f8bf256702c5fd0c68d3f7bd6aeba74dfcf0

We define *_SLOW_BUS_CALL_TIMEOUT in each component's
own file too. This one is no different and doesn't need
to be in constants.h IMO.

20 months agoman/resolve: update DNSSEC description
Ronan Pigott [Thu, 7 Mar 2024 01:08:00 +0000 (18:08 -0700)] 
man/resolve: update DNSSEC description

This behavior was changed.

Fixes: 9c47b334445a ("resolved: enable DNS proxy mode if client wants DNSSEC")
20 months agoMerge pull request #31590 from YHNdnzj/install-cleanup
Luca Boccassi [Thu, 7 Mar 2024 11:28:04 +0000 (11:28 +0000)] 
Merge pull request #31590 from YHNdnzj/install-cleanup

shared/install: several cleanups

20 months agoMerge pull request #31628 from YHNdnzj/tmpfiles-acl
Luca Boccassi [Thu, 7 Mar 2024 11:27:15 +0000 (11:27 +0000)] 
Merge pull request #31628 from YHNdnzj/tmpfiles-acl

tmpfiles: fix for 'X' bit handling and use it where appropriate

20 months agoloongarch64: disable simd when build efi
Xiaotian Wu [Wed, 27 Dec 2023 08:25:22 +0000 (16:25 +0800)] 
loongarch64: disable simd when build efi

LoongArch does not yet support the `-mgeneral-regs-only` option, so when
compiling for EFI, we need to use the `-mno-lsx` and `-mno-lasx` options
to disable SIMD instructions.

20 months agoMerge pull request #31345 from DaanDeMeyer/mkosi-packages
Daan De Meyer [Thu, 7 Mar 2024 10:12:14 +0000 (11:12 +0100)] 
Merge pull request #31345 from DaanDeMeyer/mkosi-packages

Build distribution packages in mkosi

20 months agoBuild distribution packages in mkosi 31345/head
Daan De Meyer [Thu, 25 Jan 2024 21:48:55 +0000 (22:48 +0100)] 
Build distribution packages in mkosi

Instead of running meson install and hoping for the best, let's build
distribution packages from the downstream packaging specs. This gets
us the following:

- Vastly simplified mkosi scripts since we don't need a separate initrd
  image anymore but can just reuse the default mkosi initrd.
- Almost everything can move to the base image as its not the basis
  anymore for the initrd and as such we don't need to care about the
  size anymore.
- The systemd packages that get pulled in as dependencies of other
  packages get properly uninstalled and replaced with our packages that
  we built instead of just installing on top of an existing systemd
  installation with no guarantee that everything from that previous
  installation was removed.
- Much better testing coverage as what we're testing is much closer
  to what will actually be deployed in distributions.
- Immediate feedback if something we change breaks distribution packaging
- We get integration with the distribution for free as we'll automatically
  use the proper directories and such instead of having to hack this
  into a mkosi build script.
- ...

20 months agomkosi: Update to v21
Daan De Meyer [Sun, 18 Feb 2024 17:51:58 +0000 (18:51 +0100)] 
mkosi: Update to v21

20 months agoMerge pull request #31664 from bluca/coverity
Mike Yuan [Thu, 7 Mar 2024 08:02:57 +0000 (16:02 +0800)] 
Merge pull request #31664 from bluca/coverity

Coverity fixes

20 months agoUpdate catalog.c - Removing sanity check as there is no need of checking non null...
SidhuRupinder [Thu, 7 Mar 2024 01:31:59 +0000 (07:01 +0530)] 
Update catalog.c - Removing sanity check as there is no need of checking non null pointer (#31653)

There is no need to check the pointer as the pointer will never be NULL.

Co-authored-by: Frantisek Sumsal <frantisek@sumsal.cz>
20 months agoMerge pull request #31616 from poettering/resolved-varlink-resolve-record
Luca Boccassi [Thu, 7 Mar 2024 01:00:27 +0000 (01:00 +0000)] 
Merge pull request #31616 from poettering/resolved-varlink-resolve-record

resolved: add varlink API for resolving raw RRs

20 months agoresolve: disambiguate return statement 31664/head
Luca Boccassi [Thu, 7 Mar 2024 00:51:43 +0000 (00:51 +0000)] 
resolve: disambiguate return statement

This works as expected, but coverity warns that it could be ambiguous and context
suggests the other way around. Add brackets to disambiguate.

CID#1535101

Follow-up for 6399be223b73ce520654242ad08de387b08b738a

20 months agoescape: fix operator precedence in overflow check
Luca Boccassi [Thu, 7 Mar 2024 00:46:19 +0000 (00:46 +0000)] 
escape: fix operator precedence in overflow check

CID#1535100

Follow-up for c6342e35b07f750771f0fdb3c80a27d3272e8001

20 months agoman: fix systemd-timedated man page wrt ntp-units.d
Michael Biebl [Wed, 6 Mar 2024 18:19:41 +0000 (19:19 +0100)] 
man: fix systemd-timedated man page wrt ntp-units.d

The service parsing/using this directory is systemd-timedated, not
systemd-timesyncd.

20 months agotmpfiles.d/systemd: use ACL 'X' bit where appropriate 31628/head
Mike Yuan [Tue, 5 Mar 2024 09:16:49 +0000 (17:16 +0800)] 
tmpfiles.d/systemd: use ACL 'X' bit where appropriate

20 months agotmpfiles: do 'X' bit check in an ACL-aware manner
Mike Yuan [Tue, 5 Mar 2024 14:25:44 +0000 (22:25 +0800)] 
tmpfiles: do 'X' bit check in an ACL-aware manner

Follow-up for 26d98cdd78cb5283f5771bd5866997acc494b067

I.e. stat() cannot be used here.

Also, before this commit, the 'X' is only applied if
the owner has execute bit set. Now it takes group and
other into consideration too. setfacl(1) also has
the same behavior.

20 months agotmpfiles: remove one more use of goto and modernization
Mike Yuan [Tue, 5 Mar 2024 14:41:54 +0000 (22:41 +0800)] 
tmpfiles: remove one more use of goto and modernization

20 months agocore,install: generalize install error handling 31590/head
Mike Yuan [Thu, 29 Feb 2024 12:58:17 +0000 (20:58 +0800)] 
core,install: generalize install error handling

20 months agoshared/install: use FOREACH_ARRAY at one more place
Mike Yuan [Thu, 29 Feb 2024 13:04:02 +0000 (21:04 +0800)] 
shared/install: use FOREACH_ARRAY at one more place

20 months agoshared/install: use RET_GATHER more
Mike Yuan [Thu, 29 Feb 2024 10:53:26 +0000 (18:53 +0800)] 
shared/install: use RET_GATHER more

20 months agopath-lookup: rename lookup_paths_free -> _done
Mike Yuan [Sat, 2 Mar 2024 08:38:17 +0000 (16:38 +0800)] 
path-lookup: rename lookup_paths_free -> _done

This is stack-allocated, so update to match our usual rules.

20 months agoresolved: expose raw RR resolver via Varlink too 31616/head
Lennart Poettering [Mon, 4 Mar 2024 10:22:41 +0000 (11:22 +0100)] 
resolved: expose raw RR resolver via Varlink too

Now that we have an address, hostname, and service resolve, at the last
kind of resovler we expose over D-Bus also to Varlink.

20 months agoresolved: move ResourceKey/ResourceRecord varlink types to generic Resolve interface
Lennart Poettering [Mon, 4 Mar 2024 09:18:36 +0000 (10:18 +0100)] 
resolved: move ResourceKey/ResourceRecord varlink types to generic Resolve interface

Let's define this in the generic interface and then import it into the
Monitor interface too.

This is preparation for adding an interface to resolve arbitrary RRs via
Varlink, which means we want the type in both interfaces.

20 months agoresolved: decrease mdns/llmnr priority for the reverse mapping domains
Ronan Pigott [Wed, 6 Mar 2024 01:05:57 +0000 (18:05 -0700)] 
resolved: decrease mdns/llmnr priority for the reverse mapping domains

Previously all queries to the reverse mapping domains (in-addr.arpa and
ip6.arpa) were considered to be in-scope for mdns and llmnr at the same
priority as DNS. This caused sd-resolved to ignore NXDOMAIN responses
from dns in favor of lengthy timeouts.

This narrows the scope of mdns and llmnr so they are not invariably
considered as fallbacks for these domains. Now, mdns/llmnr on a link
will only be used as a fallback when there is no suitable DNS scope, and
when that link is DefaultRoute.

20 months agoMerge pull request #30612 from AdrianVovk/sleep-freeze-user-seesions
Lennart Poettering [Wed, 6 Mar 2024 17:52:57 +0000 (18:52 +0100)] 
Merge pull request #30612 from AdrianVovk/sleep-freeze-user-seesions

Freeze user sessions for all types of sleep

20 months agoMerge pull request #31592 from YHNdnzj/exit-cgroup-notify
Lennart Poettering [Wed, 6 Mar 2024 17:38:51 +0000 (18:38 +0100)] 
Merge pull request #31592 from YHNdnzj/exit-cgroup-notify

core/service: two fixes for ExitType=cgroup

20 months agomeson: add missing dependency to libdl
Yu Watanabe [Wed, 6 Mar 2024 09:44:43 +0000 (18:44 +0900)] 
meson: add missing dependency to libdl

Follow-up for 1c20c9f4fce3b2eb501a776fb6025d6b5567fc00.

Fixes https://github.com/systemd/systemd/pull/31550#issuecomment-1980458377.

20 months agoMerge pull request #31657 from mrc0mmand/test-execute-shenanigans
Luca Boccassi [Wed, 6 Mar 2024 17:22:39 +0000 (17:22 +0000)] 
Merge pull request #31657 from mrc0mmand/test-execute-shenanigans

A couple of tweaks for test-execute

20 months agoMerge pull request #31656 from DaanDeMeyer/meson
Daan De Meyer [Wed, 6 Mar 2024 15:20:13 +0000 (16:20 +0100)] 
Merge pull request #31656 from DaanDeMeyer/meson

meson: Remove version_h dependency from jinja2_cmdline

20 months agoci: explicitly change oom-{score}-adj before running tests 31657/head
Frantisek Sumsal [Wed, 6 Mar 2024 14:21:10 +0000 (15:21 +0100)] 
ci: explicitly change oom-{score}-adj before running tests

For some reason root in GH actions is able to _decrease_ its oom score
even after dropping all capabilities (including CAP_SYS_RESOURCE), until
the oom score is changed explicitly after sudo:

$ systemd-detect-virt
microsoft
$ sudo su -
~# capsh --drop=all -- -c 'capsh --print; grep -H . /proc/self/oom*; choom -p $$ -n -101'
Current: =
Bounding set =
Ambient set =
Current IAB: !cap_chown,!cap_dac_override,!cap_dac_read_search,...,!cap_sys_resource,...,!cap_checkpoint_restore
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
 secure-no-ambient-raise: no (unlocked)
uid=0(root) euid=0(root)
gid=0(root)
groups=0(root)
Guessed mode: UNCERTAIN (0)
/proc/self/oom_adj:8
/proc/self/oom_score:1000
/proc/self/oom_score_adj:500
pid 22180's OOM score adjust value changed from 500 to -101
~# choom -p $$ -n 500
pid 22027's OOM score adjust value changed from 500 to 500
~# capsh --drop=all -- -c 'capsh --print; grep -H . /proc/self/oom*; choom -p $$ -n -101'
Current: =
Bounding set =
Ambient set =
...
uid=0(root) euid=0(root)
gid=0(root)
groups=0(root)
Guessed mode: UNCERTAIN (0)
/proc/self/oom_adj:8
/proc/self/oom_score:1000
/proc/self/oom_score_adj:500
choom: failed to set score adjust value: Permission denied

I have no idea what's going on, but it breaks
exec-oomscoreadjust-negative.service from test-execute when running
unprivileged.

20 months agoci: make the build dir accessible when running w/o privileges
Frantisek Sumsal [Wed, 6 Mar 2024 14:04:22 +0000 (15:04 +0100)] 
ci: make the build dir accessible when running w/o privileges

Otherwise the unprivileged part of test-execute gets silently skipped:

/* test_run_tests_unprivileged */
Successfully forked off '(test-execute-unprivileged)' as PID 20998.
...
pin_callout_binary: build dir binary: /home/runner/work/systemd/systemd/build/systemd-executor
pin_callout_binary: open(/home/runner/work/systemd/systemd/build/systemd-executor)=-13
Failed to pin executor binary: No such file or directory
(test-execute-unprivileged): manager_new, skipping tests: No such file or directory
(test-execute-unprivileged) succeeded.

20 months agoboot: replace manual string manipulation with xasprintf
TobiPeterG [Wed, 28 Feb 2024 14:53:34 +0000 (15:53 +0100)] 
boot: replace manual string manipulation with xasprintf

20 months agoImprove the formatting by adding AlignArrayOfStructures and setting it to Right(right...
Unique-Usman [Wed, 6 Mar 2024 13:30:36 +0000 (19:00 +0530)] 
Improve the formatting by adding AlignArrayOfStructures and setting it to Right(right justify)

20 months agomeson: Remove version_h dependency from jinja2_cmdline 31656/head
Daan De Meyer [Wed, 6 Mar 2024 14:16:52 +0000 (15:16 +0100)] 
meson: Remove version_h dependency from jinja2_cmdline

version_h includes GIT_VERSION which only makes sense for C files
which aren't preprocessed by jinja2 so remove the argument.

The end result of this change is that the man pages are not recompiled
anymore every time GIT_VERSION changes.

20 months agoUse VERSION_TAG instead of GIT_VERSION in kernel-install scripts
Daan De Meyer [Wed, 6 Mar 2024 14:15:55 +0000 (15:15 +0100)] 
Use VERSION_TAG instead of GIT_VERSION in kernel-install scripts

GIT_VERSION only makes sense for C files as it depends on C preprocessor
macro expansion now so let's use VERSION_TAG instead of GIT_VERSION
for the two remaining usages of GIT_VERSION that are not in C files.

20 months agoMerge pull request #31580 from poettering/resolved-naptr
Luca Boccassi [Wed, 6 Mar 2024 14:14:11 +0000 (14:14 +0000)] 
Merge pull request #31580 from poettering/resolved-naptr

resolved: properly decode NAPTR RRs

20 months agoMerge pull request #31621 from poettering/resolved-proxy-do
Luca Boccassi [Wed, 6 Mar 2024 13:55:14 +0000 (13:55 +0000)] 
Merge pull request #31621 from poettering/resolved-proxy-do

resolved: proxy upstream local requests to our stub with DO bit set

20 months agostring-util: allow taking SIZE_MAX as size to shorten to
Lennart Poettering [Wed, 6 Mar 2024 08:43:09 +0000 (09:43 +0100)] 
string-util: allow taking SIZE_MAX as size to shorten to

This is useful for two reasons:

1. it addresses a potential overflow in a graceful way

2. Gives callers the ability to just pass SIZE_MAX for a NOP

Prompted by: #31341

20 months agoudev: use strndupa_safe() rather than strndupa()
Lennart Poettering [Wed, 6 Mar 2024 08:45:55 +0000 (09:45 +0100)] 
udev: use strndupa_safe() rather than strndupa()

As per coding style, we don't use strndupa(), but strndupa_safe() only.

As a side-effect, this means musl folks can just drop this mess:

https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch

20 months agoPORTABLE_SERVICES.md: Improve grammar
Christian Wesselhoeft [Tue, 5 Mar 2024 22:26:01 +0000 (15:26 -0700)] 
PORTABLE_SERVICES.md: Improve grammar

20 months agomeson/man: allow man pages to use multiple conditions
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2024 13:41:17 +0000 (17:41 +0400)] 
meson/man: allow man pages to use multiple conditions

This way the man pages are installed only when the corresponding binary is
installed. The conditions in man pages and man/rules/meson.build are adjusted to
match the conditions for units in units/meson.build.

20 months agoukify: convert certificate to public key before embedding in .pcrpkey
Luca Boccassi [Mon, 4 Mar 2024 23:12:26 +0000 (23:12 +0000)] 
ukify: convert certificate to public key before embedding in .pcrpkey

Follow-up for 419b25ddcac39cf967555c7a2eaa274fbf1ad03c

20 months agoMerge pull request #31642 from weblate/weblate-systemd-main
Frantisek Sumsal [Wed, 6 Mar 2024 09:40:41 +0000 (10:40 +0100)] 
Merge pull request #31642 from weblate/weblate-systemd-main

Translations update from Fedora Weblate

20 months agotest: use 'ahost' instead of 'hosts' where applicable
Frantisek Sumsal [Tue, 5 Mar 2024 17:19:17 +0000 (18:19 +0100)] 
test: use 'ahost' instead of 'hosts' where applicable

As explained in [0] the 'hosts' database uses deprecated
gethostbyname2() which uses AF_INET6 instead of AF_UNSPEC for IPv6
lookups which is broken and makes the test fail with disabled IPv6.

[0] https://github.com/systemd/systemd/pull/28136#issuecomment-1974901039

20 months agopo: Translated using Weblate (Georgian) 31642/head
Temuri Doghonadze [Tue, 5 Mar 2024 21:36:03 +0000 (22:36 +0100)] 
po: Translated using Weblate (Georgian)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/ka/
Translation: systemd/main

20 months agopo: Translated using Weblate (Ukrainian)
Yuri Chornoivan [Tue, 5 Mar 2024 21:36:02 +0000 (22:36 +0100)] 
po: Translated using Weblate (Ukrainian)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Yuri Chornoivan <yurchor@ukr.net>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/uk/
Translation: systemd/main

20 months agopo: Translated using Weblate (Swedish)
Göran Uddeborg [Tue, 5 Mar 2024 21:36:02 +0000 (22:36 +0100)] 
po: Translated using Weblate (Swedish)

Currently translated at 100.0% (233 of 233 strings)

Co-authored-by: Göran Uddeborg <goeran@uddeborg.se>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/sv/
Translation: systemd/main

20 months agohwdb: Add touchpad toggle mapping for Kvadra LE14U/LE15U
Vasiliy Kovalev [Tue, 5 Mar 2024 07:01:04 +0000 (10:01 +0300)] 
hwdb: Add touchpad toggle mapping for Kvadra LE14U/LE15U

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
20 months agobasic: remove spuriously doubled newline and leftover separator
Mike Yuan [Tue, 5 Mar 2024 19:29:12 +0000 (03:29 +0800)] 
basic: remove spuriously doubled newline and leftover separator

Follow-up for 3fc72d54132151c131301fc7954e0b44cdd3c860

20 months agoMerge pull request #31550 from teknoraver/dlopen_compress
Daan De Meyer [Tue, 5 Mar 2024 19:16:19 +0000 (20:16 +0100)] 
Merge pull request #31550 from teknoraver/dlopen_compress

Dynamically load compression libraries

20 months agoMerge pull request #31640 from DaanDeMeyer/mkosi
Daan De Meyer [Tue, 5 Mar 2024 19:13:00 +0000 (20:13 +0100)] 
Merge pull request #31640 from DaanDeMeyer/mkosi

Mkosi fixes

20 months agotest: bump the timeout for test-execute subtests if running w/ QEMU
Frantisek Sumsal [Tue, 5 Mar 2024 12:24:18 +0000 (13:24 +0100)] 
test: bump the timeout for test-execute subtests if running w/ QEMU

Bump the timeout for test-execute subtests if running with plain QEMU
(as part of TEST-02-UNITTESTS), since we might start hitting the default
2m timeout with some more involved subtests, especially when the AWS
region we're running in is under heavy load. I see this regularly in the
CentOS Stream 9 nightly cron job with exec-dynamicuser-statedir.service
which has a lot of ExecStart's.

20 months agomkosi: Use specifier to refer to the output directory 31640/head
Daan De Meyer [Tue, 5 Mar 2024 18:42:18 +0000 (19:42 +0100)] 
mkosi: Use specifier to refer to the output directory

Otherwise the output directory cannot be configured by users.

20 months agomkosi: Allow users to configure the build and cache directory
Daan De Meyer [Tue, 5 Mar 2024 18:41:50 +0000 (19:41 +0100)] 
mkosi: Allow users to configure the build and cache directory

20 months agomkosi: Set minimum version
Daan De Meyer [Tue, 5 Mar 2024 18:41:06 +0000 (19:41 +0100)] 
mkosi: Set minimum version

This will only be taken into account by newer mkosi versions but it'll
at least save some pain from running on a too old version.

20 months agoresolved: remove entry from cache when goodbye packet received
Vishal Chillara Srinivas [Mon, 20 Nov 2023 06:33:28 +0000 (12:03 +0530)] 
resolved: remove entry from cache when goodbye packet received

RFC6762 10.1 says that queriers receiving a Multicast DNS response with a TTL
of zero SHOULD record a TTL of 1 and then delete the record one second later.

Added a timer event to trigger a callback to clean-up the cache one second after
a goodbye packet is received. The callback also checks for any cache entries
expiring within the next one second and schedules follow-up cleanup callbacks
accordingly.

20 months agoNEWS: Add note about freezing user session changes 30612/head
Adrian Vovk [Thu, 4 Jan 2024 19:08:35 +0000 (14:08 -0500)] 
NEWS: Add note about freezing user session changes

These changes have the potential to break suspend on systems with
proprietary NVIDIA drivers, so we should make a big NEWS entry about it

20 months agohomework: Lock/Unlock: Freeze/Thaw user session
Adrian Vovk [Sat, 23 Dec 2023 23:00:48 +0000 (18:00 -0500)] 
homework: Lock/Unlock: Freeze/Thaw user session

Whenever a home directory is in a locked state, accessing the files of
the home directory is extremely likely to cause the thread to hang. This
will put the session in a strange state, where some threads are hanging
due to file access and others are not hanging because they are not
trying to access any of the user's files.

This can lead to a whole slew of consequences. For example, imagine a
likely situation where the Wayland compositor is not hanging, but the
user's open apps are. Eventually, the compositor will detect that none
of the apps are responding to its pings, assume that they're frozen
(which they are), and kill them. The systemd user instance can end up in
a similarly confused state and start killing user services. In the worst
case, killing an app at an unexpected moment can lead to data loss.

The solution is to suspend execution of the whole user session by
freezing the user's slice.

20 months agosleep: Always freeze user.slice
Adrian Vovk [Sat, 23 Dec 2023 22:03:42 +0000 (17:03 -0500)] 
sleep: Always freeze user.slice

Previously, we'd only freeze user.slice in the case of s2h, because we
didn't want the user session to resume while systemd was transitioning
from suspend to hibernate.

This commit extends this freezing behavior to all sleep modes.

We also have an environment variable to disable the freezing behavior
outright. This is a necessary workaround for someone that has hooks
in /usr/lib/systemd/system-sleep/ which communicate with some
process running under user.slice, or if someone is using the proprietary
NVIDIA driver which breaks when user.slice is frozen (issue #27559)

Fixes #27559