]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
6 months agoMerge pull request #29836 from poettering/libiptc-dlopen
Yu Watanabe [Fri, 3 Nov 2023 12:15:29 +0000 (21:15 +0900)] 
Merge pull request #29836 from poettering/libiptc-dlopen

make libiptc dep a dlopen() one

6 months agoupdate TODO
Lennart Poettering [Fri, 3 Nov 2023 11:14:38 +0000 (12:14 +0100)] 
update TODO

6 months agoMerge pull request #29827 from yuwata/network-install-default-configs
Lennart Poettering [Fri, 3 Nov 2023 10:37:04 +0000 (11:37 +0100)] 
Merge pull request #29827 from yuwata/network-install-default-configs

network: add meson option to install default configs

6 months agoman: mention DHCPv4 Router option is ignored when Classless Static Routes option...
Yu Watanabe [Fri, 3 Nov 2023 06:45:52 +0000 (15:45 +0900)] 
man: mention DHCPv4 Router option is ignored when Classless Static Routes option is received

For #29564.

6 months agoupdate TODO 29836/head
Lennart Poettering [Thu, 2 Nov 2023 15:03:05 +0000 (16:03 +0100)] 
update TODO

6 months agofirewall: allow selecting firewall backend via env var
Lennart Poettering [Thu, 2 Nov 2023 14:58:50 +0000 (15:58 +0100)] 
firewall: allow selecting firewall backend via env var

6 months agofirewall: make sure firewall-util-private.h includes everythin it needs
Lennart Poettering [Thu, 2 Nov 2023 14:58:29 +0000 (15:58 +0100)] 
firewall: make sure firewall-util-private.h includes everythin it needs

6 months agofirewall: make libiptc dependency a dlopen() one
Lennart Poettering [Thu, 2 Nov 2023 14:57:10 +0000 (15:57 +0100)] 
firewall: make libiptc dependency a dlopen() one

6 months agodlfcn-util: add two new macros for making it easier to create "sym_xyz" indirect...
Lennart Poettering [Thu, 2 Nov 2023 14:53:40 +0000 (15:53 +0100)] 
dlfcn-util: add two new macros for making it easier to create "sym_xyz" indirect function call variables

Let's use "typeof" to make it easier to generate "sym_xyz" wrappers of
functions exposed by libraries.

6 months agoUpdate NEWS 29827/head
Yu Watanabe [Fri, 3 Nov 2023 02:53:50 +0000 (11:53 +0900)] 
Update NEWS

6 months agomeson: /etc/systemd/network is also used by udevd
Yu Watanabe [Thu, 2 Nov 2023 05:20:11 +0000 (14:20 +0900)] 
meson: /etc/systemd/network is also used by udevd

6 months agonetwork: add meson option to rename .example files on install
Yu Watanabe [Thu, 2 Nov 2023 05:12:42 +0000 (14:12 +0900)] 
network: add meson option to rename .example files on install

Also this renames 80-ethernet.network.example -> 89-ethernet.network.example,
to make it have lower precedence over other default .network files for
Ethernet interfaces.

Closes #29765.

6 months agoman: mention that network files should be prefixed with number smaller than 70
Yu Watanabe [Thu, 2 Nov 2023 05:18:16 +0000 (14:18 +0900)] 
man: mention that network files should be prefixed with number smaller than 70

6 months agonetwork: make generated configs have higher precedence over default configs
Yu Watanabe [Thu, 2 Nov 2023 04:41:30 +0000 (13:41 +0900)] 
network: make generated configs have higher precedence over default configs

We use 80- for default .network files. So, the generated files from the
kernel command line should have smaller prefix.

6 months agonetwork: disable IPv6AcceptRA= in several default config
Yu Watanabe [Thu, 2 Nov 2023 04:29:45 +0000 (13:29 +0900)] 
network: disable IPv6AcceptRA= in several default config

Also,
- drop DHCP=no, as it is the default setting,
- enable IPv6SendRA= for wifi access point,
- enable MulticastDNS= for wifi adhoc mode.

6 months agomeson: install newly added example .network file
Yu Watanabe [Thu, 2 Nov 2023 04:18:45 +0000 (13:18 +0900)] 
meson: install newly added example .network file

Follow-up for e6ba085398866ab05511fe748b8e9f7cbe85148e.

6 months agovarlink: limit the maximum nesting depth
Frantisek Sumsal [Thu, 2 Nov 2023 17:55:50 +0000 (18:55 +0100)] 
varlink: limit the maximum nesting depth

Let's limit the maximum nesting depth for structure definitions to 64 to
avoid stack overflows with very deep definitions.

Resolves: #29589

6 months agoMerge pull request #29792 from poettering/resolved-monitor-packet
Luca Boccassi [Thu, 2 Nov 2023 20:43:19 +0000 (20:43 +0000)] 
Merge pull request #29792 from poettering/resolved-monitor-packet

resolved: make sure "resolvectl monitor" can properly deal with stub …

6 months agocrytsetup: allow overriding the token .so library path via an env var
Lennart Poettering [Mon, 30 Oct 2023 21:26:09 +0000 (22:26 +0100)] 
crytsetup: allow overriding the token .so library path via an env var

I tried to get something similar upstream:

https://gitlab.com/cryptsetup/cryptsetup/-/issues/846

But no luck, it was suggested I use ELF interposition instead. Hence,
let's do so (but not via ugly LD_PRELOAD, but simply by overriding the
relevant symbol natively in our own code).

This makes debugging tokens a ton easier.

6 months agomeson: make sure we never actually link to libxenctrl
Lennart Poettering [Thu, 2 Nov 2023 14:57:34 +0000 (15:57 +0100)] 
meson: make sure we never actually link to libxenctrl

We don't make use of any of its symbols, we just want the headers, hence
make sure we never try to link against it.

6 months agotree-wide: never link directly against p11kit
Lennart Poettering [Thu, 2 Nov 2023 13:47:35 +0000 (14:47 +0100)] 
tree-wide: never link directly against p11kit

We go via dlopen() at most places, but forgot some. Cover the missing
cases too.

6 months agoMerge pull request #29748 from poettering/tgtmode
Luca Boccassi [Thu, 2 Nov 2023 17:26:05 +0000 (17:26 +0000)] 
Merge pull request #29748 from poettering/tgtmode

Storage target mode, inspired by "target disk mode" á la MacOS, but with NVMe-TCP

6 months agotest: check that `resolvectl monitor --json` generates valid JSON 29792/head
Frantisek Sumsal [Thu, 2 Nov 2023 17:08:30 +0000 (18:08 +0100)] 
test: check that `resolvectl monitor --json` generates valid JSON

Provides coverage for #29580.

6 months agomount-util: call CLEANUP_ARRAY after allocating array
Luca Boccassi [Thu, 2 Nov 2023 09:34:18 +0000 (09:34 +0000)] 
mount-util: call CLEANUP_ARRAY after allocating array

Coverity gets confused if it is called before.

CID#1523757

6 months agoupdate TODO 29748/head
Lennart Poettering [Mon, 30 Oct 2023 11:28:57 +0000 (12:28 +0100)] 
update TODO

6 months agoupdate NEWS
Lennart Poettering [Thu, 2 Nov 2023 10:35:39 +0000 (11:35 +0100)] 
update NEWS

6 months agotest: add integration test for systemd-storagetm
Lennart Poettering [Wed, 1 Nov 2023 18:17:02 +0000 (19:17 +0100)] 
test: add integration test for systemd-storagetm

6 months agoman: add docs for new storagetm service
Lennart Poettering [Mon, 30 Oct 2023 11:12:59 +0000 (12:12 +0100)] 
man: add docs for new storagetm service

6 months agostoragetm: add new systemd-storagetm component
Lennart Poettering [Fri, 27 Oct 2023 12:25:49 +0000 (14:25 +0200)] 
storagetm: add new systemd-storagetm component

This implements a "storage target mode", similar to what MacOS provides
since a long time as "Target Disk Mode":

        https://en.wikipedia.org/wiki/Target_Disk_Mode

This implementation is relatively simple:

1. a new generic target "storage-target-mode.target" is added, which
   when booted into defines the target mode.

2. a small tool and service "systemd-storagetm.service" is added which
   exposes a specific device or all devices as NVMe-TCP devices over the
   network.  NVMe-TCP appears to be hot shit right now how to expose
   block devices over the network. And it's really simple to set up via
   configs, hence our code is relatively short and neat.

The idea is that systemd-storagetm.target can be extended sooner or
later, for example to expose block devices also as USB mass storage
devices and similar, in case the system has "dual mode" USB controller
that can also work as device, not just as host. (And people could also
plug in sharing as NBD, iSCSI, whatever they want.)

How to use this? Boot into your system with a kernel cmdline of
"rd.systemd.unit=storage-target-mode.target ip=link-local", and you'll see on
screen the precise "nvme connect" command line to make the relevant
block devices available locally on some other machine. This all requires
that the target mode stuff is included in the initrd of course. And the
system will the stay in the initrd forever.

Why bother? Primarily three use-cases:

1. Debug a broken system: with very few dependencies during boot get
   access to the raw block device of a broken machine.

2. Migrate from system to another system, by dd'ing the old to the new
   directly.

3. Installing an OS remotely on some device (for example via Thunderbolt
   networking)

(And there might be more, for example the ability to boot from a
laptop's disk on another system)

Limitations:

1. There's no authentication/encryption. Hence: use this on local links
   only.

2. NVMe target mode on Linux supports r/w operation only. Ideally, we'd
   have a read-only mode, for security reasons, and default to it.

Future love:

1. We should have another mode, where we simply expose the homed LUKS
   home dirs like that.

2. Some lightweight hookup with plymouth, to display a (shortened)
   version of the info we write to the console.

To test all this, just run:

    mkosi --kernel-command-line-extra="rd.systemd.unit=storage-target-mode.target" qemu

6 months agoglyph-util: add computer disk + world emoji
Lennart Poettering [Mon, 30 Oct 2023 08:48:44 +0000 (09:48 +0100)] 
glyph-util: add computer disk + world emoji

6 months agosd-netlink: add call to query sd_event object an sd_netlink object is attached to
Lennart Poettering [Fri, 27 Oct 2023 21:16:06 +0000 (23:16 +0200)] 
sd-netlink: add call to query sd_event object an sd_netlink object is attached to

This mimics a similar call sd_bus_get_event() that already exists for
sd-bus.

6 months agoblockdev-util: export block_device_get_originating()
Lennart Poettering [Fri, 27 Oct 2023 16:16:19 +0000 (18:16 +0200)] 
blockdev-util: export block_device_get_originating()

6 months agoudevadm-lock: switch things over to lock_generic_with_timeout()
Lennart Poettering [Thu, 2 Nov 2023 10:08:29 +0000 (11:08 +0100)] 
udevadm-lock: switch things over to lock_generic_with_timeout()

This replaces the local implementation of a timeout file lock with our
new generic one.

Note that a comment in the old code claimed we couldn't use alarm()-like timeouts,
but htat's not entirely true: we can if we use SIGKILL, and thus know
for sure that the process will be dead in case the timer is hit before
we actually enter the file lock syscall. But we also know it will be
delivered if we hit after.

6 months agolock-util: add a new lock_generic_with_timeout() helper
Lennart Poettering [Thu, 2 Nov 2023 10:07:14 +0000 (11:07 +0100)] 
lock-util: add a new lock_generic_with_timeout() helper

This is just like lock_generic(), but applies the lock with a timeout.
This requires jumping through some hoops by executing things in a child
process, so that we can abort if necessary via a timer. Linux after all
has no native way to take file locks with a timeout.

6 months agoprocess-util: add new FORK_DEATHSIG_SIGKILL flag, rename FORK_DEATHSIG → FORK_DEATHSI...
Lennart Poettering [Thu, 2 Nov 2023 10:04:36 +0000 (11:04 +0100)] 
process-util: add new FORK_DEATHSIG_SIGKILL flag, rename FORK_DEATHSIG → FORK_DEATHSIG_SIGTERM

Sometimes it makes sense to hard kill a client if we die. Let's hence
add a third FORK_DEATHSIG flag for this purpose: FORK_DEATHSIG_SIGKILL.

To make things less confusing this also renames FORK_DEATHSIG to
FORK_DEATHSIG_SIGTERM to make clear it sends SIGTERM. We already had
FORK_DEATHSIG_SIGINT, hence this makes things nicely symmetric.

A bunch of users are switched over for FORK_DEATHSIG_SIGKILL where we
know it's safe to abort things abruptly. This should make some kernel
cases more robust, since we cannot get confused by signal masks or such.

While we are at it, also fix a bunch of bugs where we didn't take
FORK_DEATHSIG_SIGINT into account in safe_fork()

6 months agofd-util: add new FORMAT_PROC_PID_FD_PATH() helper
Lennart Poettering [Thu, 2 Nov 2023 10:31:13 +0000 (11:31 +0100)] 
fd-util: add new FORMAT_PROC_PID_FD_PATH() helper

This is just like FORMAT_PROC_FD_PATH() but goes via the PID number
rather than the "self" symlink.

This is useful whenever we want to generate a path that is useful
outside of our local scope.

6 months agomkosi: explicitly disable KVM in GHA runs
Luca Boccassi [Thu, 2 Nov 2023 11:01:23 +0000 (11:01 +0000)] 
mkosi: explicitly disable KVM in GHA runs

mkosi detects whether /dev/kvm is available and uses it if it is. But
some GHA hosts have it, but it's broken and not supported, so we need
to explicitly disable it.

6 months agoNEWS: several updates for networking
Yu Watanabe [Thu, 2 Nov 2023 06:36:29 +0000 (15:36 +0900)] 
NEWS: several updates for networking

6 months agovarlink,json: introduce new varlink_dispatch() helper
Lennart Poettering [Wed, 1 Nov 2023 17:36:12 +0000 (18:36 +0100)] 
varlink,json: introduce new varlink_dispatch() helper

varlink_dispatch() is a simple wrapper around json_dispatch() that
returns clean, standards-compliant InvalidParameter error back to
clients, if the specified JSON cannot be parsed properly.

For this json_dispatch() is extended to return the offending field's
name. Because it already has quite a few parameters, I then renamed
json_dispatch() to json_dispatch_full() and made json_dispatch() a
wrapper around it that passes the new argument as NULL. While doing so I
figured we should also get rid of the bad= argument in the short
wrapper, since it's only used in the OCI code.

To simplify the OCI code this adds a second wrapper oci_dispatch()
around json_dispatch_full(), that fills in bad= the way we want.

Net result: instead of one json_dispatch() call there are now:

1. json_dispatch_full() for the fully feature mother of all dispathers.
2. json_dispatch() for the simpler version that you want to use most of
   the time.
3. varlink_dispatch() that generates nice Varlink errors
4. oci_dispatch() that does the OCI specific error handling

And that's all there is.

6 months agofuzz: limit the size of the input
Frantisek Sumsal [Wed, 1 Nov 2023 19:18:28 +0000 (20:18 +0100)] 
fuzz: limit the size of the input

To avoid timeouts in oss-fuzz. The timeout reported in #29736 happened
with a ~500K test case, so with a conservative 128K limit we should
still be well within a range for any reasonable-ish generated input to
get through, while avoiding timeouts.

Resolves: #29736

6 months agoresolved: make sure "resolvectl monitor" can properly deal with stub queries
Lennart Poettering [Tue, 31 Oct 2023 22:00:41 +0000 (23:00 +0100)] 
resolved: make sure "resolvectl monitor" can properly deal with stub queries

If we receive a query via the two stubs we store the original packet
instead of just the question object. Hence when we send monitor info to
subscribed clients we need to extract its question and also include it
in the returned data.

Fixes: #29580
6 months agoNEWS: more typo fixes
Joerg Behrmann [Wed, 1 Nov 2023 20:32:22 +0000 (21:32 +0100)] 
NEWS: more typo fixes

6 months agoMerge pull request #29816 from bluca/rel
Luca Boccassi [Wed, 1 Nov 2023 20:14:11 +0000 (20:14 +0000)] 
Merge pull request #29816 from bluca/rel

Busywork for RC1

6 months agoNEWS: fix a couple of typos and inconsistencies
Frantisek Sumsal [Wed, 1 Nov 2023 20:00:10 +0000 (21:00 +0100)] 
NEWS: fix a couple of typos and inconsistencies

And drop one duplicated paragraph.

6 months agoMerge pull request #29817 from YHNdnzj/fchmodat2
Yu Watanabe [Wed, 1 Nov 2023 19:56:29 +0000 (04:56 +0900)] 
Merge pull request #29817 from YHNdnzj/fchmodat2

Add support for fchmodat2 and use it where appropriate

6 months agoparse-util: add parse_tristate() and use it everywhere
Lennart Poettering [Wed, 1 Nov 2023 15:48:42 +0000 (16:48 +0100)] 
parse-util: add parse_tristate() and use it everywhere

We parse tristates all the time, let's add an explicit parser for them.

6 months agobuild(deps): bump meson from 1.2.2 to 1.2.3 in /.github/workflows
dependabot[bot] [Wed, 1 Nov 2023 17:31:14 +0000 (17:31 +0000)] 
build(deps): bump meson from 1.2.2 to 1.2.3 in /.github/workflows

Bumps [meson](https://github.com/mesonbuild/meson) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/mesonbuild/meson/releases)
- [Commits](https://github.com/mesonbuild/meson/compare/1.2.2...1.2.3)

---
updated-dependencies:
- dependency-name: meson
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump ninja from 1.11.1 to 1.11.1.1 in /.github/workflows
dependabot[bot] [Wed, 1 Nov 2023 09:38:48 +0000 (09:38 +0000)] 
build(deps): bump ninja from 1.11.1 to 1.11.1.1 in /.github/workflows

Bumps [ninja](https://github.com/ninja-build/ninja) from 1.11.1 to 1.11.1.1.
- [Release notes](https://github.com/ninja-build/ninja/releases)
- [Commits](https://github.com/ninja-build/ninja/commits)

---
updated-dependencies:
- dependency-name: ninja
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agosort-util: make bsearch_safe() actually typesafe, by returning the right type
Lennart Poettering [Wed, 1 Nov 2023 13:37:05 +0000 (14:37 +0100)] 
sort-util: make bsearch_safe() actually typesafe, by returning the right type

6 months agonspawn-patch-uid: try fchmodat2() to restore mode of symlink 29817/head
Arseny Maslennikov [Sat, 21 Oct 2023 08:00:00 +0000 (11:00 +0300)] 
nspawn-patch-uid: try fchmodat2() to restore mode of symlink

Prior to this commit, if the target had been a symlink, we did nothing
with it. Let's try with fchmodat2() and skip gracefully if not supported.

Co-authored-by: Mike Yuan <me@yhndnzj.com>
6 months agobasic/fs-util: prefer fchmodat2 in fchmod_opath
Arseny Maslennikov [Sat, 21 Oct 2023 08:00:00 +0000 (11:00 +0300)] 
basic/fs-util: prefer fchmodat2 in fchmod_opath

Co-authored-by: Mike Yuan <me@yhndnzj.com>
6 months agobasic/missing_syscall: add missing_fchmodat2()
Arseny Maslennikov [Fri, 20 Oct 2023 11:22:50 +0000 (14:22 +0300)] 
basic/missing_syscall: add missing_fchmodat2()

Follow-up for 8b45281daa3a87b4b7a3248263cd0ba929d15596
and preparation for later commits.

Since libcs are more interested in the POSIX `fchmodat(3)`, they are
unlikely to provide a direct wrapper for this syscall. Thus, the headers
we examine to set `HAVE_*` are picked somewhat arbitrarily.

Also, hook up `try_fchmodat2()` in `test-seccomp.c`. (Also, correct that
function's prototype, despite the fact that mistake would not matter in
practice)

Co-authored-by: Mike Yuan <me@yhndnzj.com>
6 months agoudev: add new builtin net_driver
Lukas Nykryn [Thu, 19 Oct 2023 08:38:06 +0000 (10:38 +0200)] 
udev: add new builtin net_driver

Currently the ID_NET_DRIVER is set in net_setup_link builtin.
But this is called pretty late in the udev processing chain.

Right now in some custom rules it was workarounded by calling ethtool
binary directly, which is ugly.

So let's split this code to a separate builtin.

6 months agoman: run ninja update-man-rules again
Lennart Poettering [Wed, 1 Nov 2023 15:01:25 +0000 (16:01 +0100)] 
man: run ninja update-man-rules again

Apparently this has been forgotten a couple of times.

6 months agochase: fix corner case when using CHASE_PARENT with a path ending in ".."
Lennart Poettering [Wed, 1 Nov 2023 11:46:17 +0000 (12:46 +0100)] 
chase: fix corner case when using CHASE_PARENT with a path ending in ".."

If we use CHASE_PARENT on a path ending in ".." then things are a bit
weird, because we the last path we look at is actually the *parent* and not
the *child* of the preceeding path. Hence we cannot just return the 2nd
to last fd we look at. We have to correct it, by going *two* levels up,
to get to the actual parent, and make sure CHASE_PARENT does what it
should.

Example: for the path /a/b/c chase() with CHASE_PARENT will return
/a/b/c as path, and the fd returned points to /a/b. All good.  But now,
for the path /a/b/c/.. chase() with CHASE_PARENT would previously return
/a/b as path (which is OK) but the fd would point to /a/b/c, which is
*not* the parent of /a/b, after all! To get to the actual parent of
/a/b we have to go *two* levels up to get to /a.

Very confusing. But that's what we here for, no?

@mrc0mmand ran into this in https://github.com/systemd/systemd/pull/28891#issuecomment-1782833722

6 months agoMerge pull request #29764 from dtardon/varlink-io.systemd.service
Luca Boccassi [Wed, 1 Nov 2023 14:41:58 +0000 (14:41 +0000)] 
Merge pull request #29764 from dtardon/varlink-io.systemd.service

Add varlink interface io.systemd.service

6 months agoMerge pull request #29691 from yuwata/dissect
Luca Boccassi [Wed, 1 Nov 2023 14:36:28 +0000 (14:36 +0000)] 
Merge pull request #29691 from yuwata/dissect

udev: update devlink with the newer device node even when priority is equivalent

6 months agobsod,loop-util: fix fd validity check
Lennart Poettering [Wed, 1 Nov 2023 12:08:26 +0000 (13:08 +0100)] 
bsod,loop-util: fix fd validity check

6 months agoproc-cmdline: use read_virtual_file() for /proc/cmdline
Lennart Poettering [Wed, 1 Nov 2023 10:26:03 +0000 (11:26 +0100)] 
proc-cmdline: use read_virtual_file() for /proc/cmdline

6 months agoMerge pull request #29788 from poettering/nspawn-barrier-fix
Lennart Poettering [Wed, 1 Nov 2023 14:20:15 +0000 (15:20 +0100)] 
Merge pull request #29788 from poettering/nspawn-barrier-fix

nspawn: fix barriers when wiping fully visible procfs/sysfs

6 months agocryptenroll: use erase_and_free() at two more places
Lennart Poettering [Wed, 1 Nov 2023 10:26:27 +0000 (11:26 +0100)] 
cryptenroll: use erase_and_free() at two more places

6 months agomeson: bump versions for v255-rc1 29816/head
Luca Boccassi [Wed, 1 Nov 2023 14:01:30 +0000 (14:01 +0000)] 
meson: bump versions for v255-rc1

6 months agoUpdate syscalls table
Luca Boccassi [Wed, 1 Nov 2023 13:58:01 +0000 (13:58 +0000)] 
Update syscalls table

6 months agotools: syscall tables moved to a subdirectory
Luca Boccassi [Wed, 1 Nov 2023 13:50:56 +0000 (13:50 +0000)] 
tools: syscall tables moved to a subdirectory

6 months agoUpdate hwdb autosuspend rules
Luca Boccassi [Wed, 1 Nov 2023 13:44:24 +0000 (13:44 +0000)] 
Update hwdb autosuspend rules

6 months agoUpdate hwdb
Luca Boccassi [Wed, 1 Nov 2023 13:43:31 +0000 (13:43 +0000)] 
Update hwdb

6 months agoNEWS: add contributors list
Luca Boccassi [Wed, 1 Nov 2023 13:38:53 +0000 (13:38 +0000)] 
NEWS: add contributors list

6 months agosd-netlink: res_id is 16bit but serial is 32bit
Yu Watanabe [Wed, 1 Nov 2023 09:47:36 +0000 (18:47 +0900)] 
sd-netlink: res_id is 16bit but serial is 32bit

The explicit value here is not so important.
Let's chop off the higher bits.

Fixes the issue reported at
https://github.com/systemd/systemd/pull/29802#issuecomment-1788637950.

6 months agoMerge pull request #29803 from poettering/coredump-message-tweaks
Luca Boccassi [Wed, 1 Nov 2023 13:20:11 +0000 (13:20 +0000)] 
Merge pull request #29803 from poettering/coredump-message-tweaks

coredump: tweaks to log message & more

6 months agodhcp6: enterprise ID is 32bit
Yu Watanabe [Wed, 1 Nov 2023 08:49:44 +0000 (17:49 +0900)] 
dhcp6: enterprise ID is 32bit

Follow-up for 6b44099b3baff64af1ef58db8e38ecddc8070e9b.

Fixes #29800.

6 months agobuild(deps): bump actions/checkout from 4.1.0 to 4.1.1
dependabot[bot] [Wed, 1 Nov 2023 09:39:16 +0000 (09:39 +0000)] 
build(deps): bump actions/checkout from 4.1.0 to 4.1.1

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/8ade135a41bc03ea155e62e844d188df1ea18608...b4ffde65f46336ab88eb53be808477a3936bae11)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump redhat-plumbers-in-action/differential-shellcheck
dependabot[bot] [Wed, 1 Nov 2023 09:39:23 +0000 (09:39 +0000)] 
build(deps): bump redhat-plumbers-in-action/differential-shellcheck

Bumps [redhat-plumbers-in-action/differential-shellcheck](https://github.com/redhat-plumbers-in-action/differential-shellcheck) from 4.2.2 to 5.0.1.
- [Release notes](https://github.com/redhat-plumbers-in-action/differential-shellcheck/releases)
- [Changelog](https://github.com/redhat-plumbers-in-action/differential-shellcheck/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/redhat-plumbers-in-action/differential-shellcheck/compare/ac4483d8c6713bd2011037f44fe626989468af74...aa647ec4466543e8555c2c3b648124a9813cee44)

---
updated-dependencies:
- dependency-name: redhat-plumbers-in-action/differential-shellcheck
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agobuild(deps): bump ossf/scorecard-action from 2.2.0 to 2.3.1
dependabot[bot] [Wed, 1 Nov 2023 09:39:26 +0000 (09:39 +0000)] 
build(deps): bump ossf/scorecard-action from 2.2.0 to 2.3.1

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.2.0 to 2.3.1.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/08b4669551908b1024bb425080c797723083c031...0864cf19026789058feabb7e87baa5f140aac736)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
6 months agovarlink: add generic impl. of io.systemd.service.SetLogLevel() 29764/head
David Tardon [Tue, 31 Oct 2023 08:30:25 +0000 (09:30 +0100)] 
varlink: add generic impl. of io.systemd.service.SetLogLevel()

6 months agoudev: revert workarounds for issues caused by the devlink creation optimization 29691/head
Yu Watanabe [Mon, 30 Oct 2023 04:50:10 +0000 (13:50 +0900)] 
udev: revert workarounds for issues caused by the devlink creation optimization

This reverts the following two commits:
- "udev: decrease devlink priority for encrypted partitions"
  c4521fc17bb33d10bf5aca3f87f6a394dfecf423.
- "udev: decrease devlink priority for iso disks"
  df1dccd25547b430258bd42ec60428fc9aff1370.

These commits are workarounds for issues caused by
331aa7aa15ee5dd12b369b276f575d521435eb52.
With the previous commit, these workarounds are not necessary anymore,
as partitions are always processed later than their whole disk, and
a decrypted volume is also processed later than its backing volume.

6 months agoudev: update devlink with the newer device node even when priority is equivalent
Yu Watanabe [Mon, 30 Oct 2023 04:31:23 +0000 (13:31 +0900)] 
udev: update devlink with the newer device node even when priority is equivalent

Several udev rules depends on the previous behavior, i.e. that udev
replaces the devlink with the newer device node when the priority is
equivalent. Let's relax the optimization done by
331aa7aa15ee5dd12b369b276f575d521435eb52.

Follow-up for 331aa7aa15ee5dd12b369b276f575d521435eb52.

Note, the offending commit drops O(N) of file reads per uevent, and this
commit does not change the computational order. So, hopefully the
performance impact of this change is small enough.

Fixes #28141.

6 months agoman: Improve text for SystemMaxFileSize when not set
André Paiusco [Tue, 31 Oct 2023 14:25:01 +0000 (15:25 +0100)] 
man: Improve text for SystemMaxFileSize when not set

If one sets the SystemMaxUse=64G by the current documentation would expect that each files size would be around 1/8 of this value (8G), althought if the SystemMaxFileSize is not explicit set, it has a max of 128M per file.

6 months agoanalyze: handle CAP_BPF support
Peter Hutterer [Tue, 3 May 2022 04:24:42 +0000 (14:24 +1000)] 
analyze: handle CAP_BPF support

6 months agoman: explicitly mention that environment.d/ cannot be used to set the service manager...
Lennart Poettering [Wed, 1 Nov 2023 08:33:47 +0000 (09:33 +0100)] 
man: explicitly mention that environment.d/ cannot be used to set the service manager's own env block

Fixes: #29414
6 months agoman: fix typo
Yu Watanabe [Wed, 1 Nov 2023 09:38:43 +0000 (18:38 +0900)] 
man: fix typo

Follow-up for ba87a61d05d637be9f0b21707f7fe3b0a74c5a05.

6 months agonetwork: support ID_NET_MANAGED_BY udev property
Yu Watanabe [Tue, 31 Oct 2023 09:07:08 +0000 (18:07 +0900)] 
network: support ID_NET_MANAGED_BY udev property

If the property is set, networkd manages the interface only when its
value is "io.systemd.Network".

Closes #29768.

6 months agocoredump: let's always drop privileges 29803/head
Lennart Poettering [Wed, 1 Nov 2023 09:00:05 +0000 (10:00 +0100)] 
coredump: let's always drop privileges

Let's unconditionally drop privileges before submitting the coredump log
message.

Let's make the codepaths where we acquired a coredump and where we
didn't more alike: let's drop privs in both cases.

This is not only safer, but means that the coredump messages are always
accessible by the owner of the aborted process.

6 months agocoredump: tweak coredump log message
Lennart Poettering [Wed, 1 Nov 2023 08:55:40 +0000 (09:55 +0100)] 
coredump: tweak coredump log message

Let's not claim a process dumped core if that was disabled via resource
limits.

While we are at it, switch from stack to heap allocation for the log
message, as it includes a stack trace which can be arbitrarily large.

Fixes: #28559
6 months agoNEWS: fix typo
Yu Watanabe [Wed, 1 Nov 2023 04:54:15 +0000 (13:54 +0900)] 
NEWS: fix typo

6 months agoMerge pull request #29770 from Werkov/doc-fixes
Yu Watanabe [Wed, 1 Nov 2023 04:06:54 +0000 (13:06 +0900)] 
Merge pull request #29770 from Werkov/doc-fixes

Doc fixes

6 months agoMerge pull request #29786 from mrc0mmand/more-executor-stuff
Yu Watanabe [Wed, 1 Nov 2023 03:51:08 +0000 (12:51 +0900)] 
Merge pull request #29786 from mrc0mmand/more-executor-stuff

test: exercise more systemd-executor related stuff

6 months agoFixed a typo in kernel-install/60-ukify.install.in for globing microcode
Marc Pervaz Boocha [Tue, 31 Oct 2023 17:39:14 +0000 (23:09 +0530)] 
Fixed a typo in kernel-install/60-ukify.install.in for globing microcode

searches in a non-existent micocode/* dir instead of micocode* due a typo in #28592

6 months agocore: rename and add comment to ExecParameters cleanup functions
Luca Boccassi [Thu, 26 Oct 2023 20:55:55 +0000 (21:55 +0100)] 
core: rename and add comment to ExecParameters cleanup functions

6 months agopo: Translated using Weblate (Portuguese)
Hugo Carvalho [Wed, 1 Nov 2023 02:48:14 +0000 (03:48 +0100)] 
po: Translated using Weblate (Portuguese)

Currently translated at 100.0% (227 of 227 strings)

Co-authored-by: Hugo Carvalho <hugokarvalho@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/pt/
Translation: systemd/main

6 months agonspawn: make sure idmapped logic works if DDI contains only /usr/ tree
Lennart Poettering [Tue, 31 Oct 2023 15:10:32 +0000 (16:10 +0100)] 
nspawn: make sure idmapped logic works if DDI contains only /usr/ tree

If we have a DDI that contains only a /usr/ tree (and which is thus
combined with a tmpfs for root on boot) we previously would try to apply
idmapping to the tmpfs, but not the /usr/ mount. That's broken of
course.

Fix this by applying it to both trees.

6 months agoUpdate NEWS
Luca Boccassi [Wed, 1 Nov 2023 00:43:55 +0000 (00:43 +0000)] 
Update NEWS

6 months agoman: change title of the section to better reflect actual content
Michal Sekletar [Tue, 31 Oct 2023 16:12:45 +0000 (17:12 +0100)] 
man: change title of the section to better reflect actual content

6 months agocore: fix a couple of typos 29786/head
Frantisek Sumsal [Tue, 31 Oct 2023 16:33:29 +0000 (17:33 +0100)] 
core: fix a couple of typos

6 months agotest: exercise more systemd-executor related stuff
Frantisek Sumsal [Tue, 31 Oct 2023 14:17:41 +0000 (15:17 +0100)] 
test: exercise more systemd-executor related stuff

6 months agobarrier: use EBADF where appropriate 29788/head
Lennart Poettering [Tue, 31 Oct 2023 14:33:40 +0000 (15:33 +0100)] 
barrier: use EBADF where appropriate

6 months agotest: skip SocketBind*= tests when built without a bpf framework
Frantisek Sumsal [Mon, 30 Oct 2023 18:30:59 +0000 (19:30 +0100)] 
test: skip SocketBind*= tests when built without a bpf framework

The test intentionally checks for -BPF_FRAMEWORK so we run the test case
(and fail) even if we rename the feature flag.

6 months agocore: check if we got a valid personality during deserialization
Frantisek Sumsal [Mon, 30 Oct 2023 16:50:11 +0000 (17:50 +0100)] 
core: check if we got a valid personality during deserialization

6 months agonspawn: fix barriers when wiping fully visible procfs/sysfs
Lennart Poettering [Tue, 31 Oct 2023 14:30:12 +0000 (15:30 +0100)] 
nspawn: fix barriers when wiping fully visible procfs/sysfs

Let's wait until the child is fully done with mounting it's own
instances of procfs/sysfs before we destroy our fully visible copies of
it.

This borrows heavily from Christian Brauners fix #29521, but splits the
place + sync into two steps so that the child payload is not started
before the parent has destroyed the procfs instance.

Alternative to: #29521
Fixes: #28157
6 months agoMerge pull request #29763 from yuwata/vconsole-conf
Lennart Poettering [Tue, 31 Oct 2023 13:37:47 +0000 (14:37 +0100)] 
Merge pull request #29763 from yuwata/vconsole-conf

locale,firstboot: add comments to vconsole.conf

6 months agoudev: fix device name shown in the log message on failure
Yu Watanabe [Tue, 31 Oct 2023 08:31:03 +0000 (17:31 +0900)] 
udev: fix device name shown in the log message on failure

Prompted by #29500.