]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agotree-wide: explicitly ignore return value in a couple more places 28226/head
Frantisek Sumsal [Sun, 2 Jul 2023 09:39:00 +0000 (11:39 +0200)] 
tree-wide: explicitly ignore return value in a couple more places

Resolves:
  - CID#1490777
  - CID#1498366
  - CID#1508639
  - CID#1509084
  - CID#1509086
  - CID#1509087

2 years agounit: drop an unused assignment
Frantisek Sumsal [Sun, 2 Jul 2023 09:22:50 +0000 (11:22 +0200)] 
unit: drop an unused assignment

Resolves: CID#1509244

2 years agovirt: drop an unused assignment
Frantisek Sumsal [Sun, 2 Jul 2023 09:09:09 +0000 (11:09 +0200)] 
virt: drop an unused assignment

As `v` gets overwritten by the following detect_vm_cpuid() call.

Resolves: CID#1509247

2 years agotest: drop an unused assignment
Frantisek Sumsal [Sun, 2 Jul 2023 09:04:38 +0000 (11:04 +0200)] 
test: drop an unused assignment

Unused since 788c2d9523.
Resolves: CID#1509248

2 years agobattery-check: rework unit
Lennart Poettering [Fri, 30 Jun 2023 15:09:21 +0000 (17:09 +0200)] 
battery-check: rework unit

Let's rename the unit to systemd-battery-check.service. We usually want
to name our own unit files like our tools they wrap, in particular if
they are entirely defined by us (i.e. not just wrappers of foreign
concepts)

While we are at it, also hook this in from initrd.target, and order it
against initrd-root-device.target so that it runs before the root device
is possibly written to (i.e. mounted or fsck'ed).

This is heavily inspired by @aafeijoo-suse's PR #28208, but quite
different ;-)

2 years agotest: fix test_vxlan with the latest iproute2
Frantisek Sumsal [Fri, 30 Jun 2023 15:08:22 +0000 (17:08 +0200)] 
test: fix test_vxlan with the latest iproute2

Some options were renamed and some options with default values are not
shown unless -d(etails) is repeated.

See: https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=1215e9d3862387353d8672296cb4c6c16e8cbb72

2 years agoREADME: strenghten wording regarding static libs
Lennart Poettering [Fri, 30 Jun 2023 15:39:30 +0000 (17:39 +0200)] 
README: strenghten wording regarding static libs

static versions of libsystems.so are not really supportable, and
encourages mix&match which we cannot really support. Make the wording
about this stronger in the README, since people apparently don'd read to
the last paragraph.

2 years agostat-util: Make sure we trigger automounts when looking for ESP/XBOOTLDR
Daan De Meyer [Thu, 29 Jun 2023 13:38:35 +0000 (15:38 +0200)] 
stat-util: Make sure we trigger automounts when looking for ESP/XBOOTLDR

Fixes #25417

2 years agocore: reorder systemd arguments on reexec
Frantisek Sumsal [Thu, 29 Jun 2023 11:31:19 +0000 (13:31 +0200)] 
core: reorder systemd arguments on reexec

When reexecuting system let's put our arguments carrying deserialization
info first followed by any existing arguments to make sure they get
parsed in case we get weird stuff from the kernel cmdline (like --).

See: https://github.com/systemd/systemd/issues/28184

2 years agoudev-builtin-net_id: align VF representor names with VF names
Ivan Vecera [Thu, 22 Jun 2023 08:06:27 +0000 (10:06 +0200)] 
udev-builtin-net_id: align VF representor names with VF names

Certain cards support to set their eswitch to switchdev mode. In this
mode for each created VF there is also created so called VF representor.
This representor is helper network interface used for configuration of
mentioned eswitch and belongs to an appropriate PF.

VF representors are identified by the specific value of phys_port_name
attribute and the value has format "pfMvfN" where M is PF function
number and N is VF number inside this PF.

As the VF representor interfaces belong to PF PCI device the naming
scheme used for them is the same like for other PCI devices. In this
case name of PF interface is used and phys_port_name suffix is appended.

E.g.
 PF=enp65s0f0np0 # phys_port_name for PF interface is 'p0'
 VF=enp65s0f0np0v0 # v0 is appended for VF0 in case of NAMING_SR_IOV_V
REP=enp65s0f0np0pf0vf0 # phys_port_name for VF0 representor is 'pf0vf0'

First as the phys_port_name for representors is long (6+ chars) then the
generated name does not fit into IFNAMSIZ so this name is used only as
alternate interface name and for the primary one is used generic one
like eth<N>. Second 'f0' and 'pf0' in REP name is redundant.

This patch fixes this issue by introducing another naming scheme for VF
representors and appending 'rN' suffix to PF interface name for them.
N is VF number so the name used for representor interface is similar to
VF interface and differs only by the suffix.

For the example above we get:
 PF=enp65s0f0np0
 VF=enp65s0f0np0v0
REP=enp65s0f0np0r0

This eases for userspace to determine which representor interface
represents particular VF.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
2 years agoMerge pull request #28138 from pkern/oci-dhcpv6
Luca Boccassi [Thu, 29 Jun 2023 21:17:02 +0000 (22:17 +0100)] 
Merge pull request #28138 from pkern/oci-dhcpv6

sd-dhcp6-lease: Ignore invalid bytes at the end of the packet

2 years agoMerge pull request #28191 from yuwata/network-ipv6-privacy-extensions
Luca Boccassi [Thu, 29 Jun 2023 21:16:10 +0000 (22:16 +0100)] 
Merge pull request #28191 from yuwata/network-ipv6-privacy-extensions

network: introduce global setting for IPv6 privacy extensions

2 years agomount-util: tweak flags decoding in mount_verbose_full()
Lennart Poettering [Thu, 29 Jun 2023 10:55:43 +0000 (12:55 +0200)] 
mount-util: tweak flags decoding in mount_verbose_full()

Fine-tune the decoding of mount options in mount_verbose_full() to
provide more helpful log output:

1. decode changing of propagation changes
2. discern changing of superblock flags/mount option string from mount
   flags
3. don't check secondary fields when deciding which mount op is
   executed, only the flags decide that.

2 years agoman: add brief smbios-type-11 man page
Lennart Poettering [Thu, 29 Jun 2023 13:57:26 +0000 (15:57 +0200)] 
man: add brief smbios-type-11 man page

2 years agoman: document vmm.notify_socket credential in systemd(1) man page
Lennart Poettering [Wed, 28 Jun 2023 16:20:01 +0000 (18:20 +0200)] 
man: document vmm.notify_socket credential in systemd(1) man page

Let's move the long explanation to the man page of the component that
interprets the credential, and keep only a brief summary in
systemd.system-credentials(7).

2 years agotest: add test for trailing invalid byte at the end 28138/head
Yu Watanabe [Thu, 29 Jun 2023 16:14:00 +0000 (01:14 +0900)] 
test: add test for trailing invalid byte at the end

2 years agosd-dhcp6-lease: ignore invalid byte(s) at the end of the packet
Philipp Kern [Fri, 23 Jun 2023 08:39:52 +0000 (10:39 +0200)] 
sd-dhcp6-lease: ignore invalid byte(s) at the end of the packet

Oracle Cloud sends malformed DHCPv6 replies that have an invalid
byte at the end, which cannot be parsed as an option code.

networkd currently can cope with the invalid option (it is ignored),
but the whole packet is ignored altogether because of the additional
null at the end.

It's better to be liberal in what we accept and actually assign an
address, given that the reply contains a valid IA_NA.

Fixes #28183.

2 years agotest-network: add test for global IPv6PrivacyExtensions= setting 28191/head
Yu Watanabe [Thu, 29 Jun 2023 12:58:23 +0000 (21:58 +0900)] 
test-network: add test for global IPv6PrivacyExtensions= setting

2 years agonetwork: add global setting for IPv6PrivacyExtensions=
Yu Watanabe [Thu, 29 Jun 2023 10:09:53 +0000 (19:09 +0900)] 
network: add global setting for IPv6PrivacyExtensions=

Closes #28186.

2 years agonetwork: introduce IPV6_PRIVACY_EXTENSIONS_KERNEL enum value
Yu Watanabe [Thu, 29 Jun 2023 09:51:58 +0000 (18:51 +0900)] 
network: introduce IPV6_PRIVACY_EXTENSIONS_KERNEL enum value

No functional change. Preparation for using the _INVALID value in later
commit.

2 years agoNEWS: various fixes
Joerg Behrmann [Thu, 29 Jun 2023 12:07:54 +0000 (14:07 +0200)] 
NEWS: various fixes

2 years agomkosi: Enable Incremental= mode by default
Daan De Meyer [Thu, 29 Jun 2023 11:35:03 +0000 (13:35 +0200)] 
mkosi: Enable Incremental= mode by default

Since mkosi is now smart enough to drop the caches when the list of
packages changes, let's enable Incremental= mode by default to ensure
a good experience for anyone new to hacking on systemd with mkosi.

2 years agotest: use correct path for systemd-battery-check
Frantisek Sumsal [Thu, 29 Jun 2023 08:06:48 +0000 (10:06 +0200)] 
test: use correct path for systemd-battery-check

Follow-up to #28185.

2 years agoupdate TODO
Lennart Poettering [Thu, 29 Jun 2023 08:34:27 +0000 (10:34 +0200)] 
update TODO

2 years agonetwork: Add `IgnoreDdontFragment=` option for Fragmentation control (#28131)
Yuxiang Zhu [Thu, 29 Jun 2023 10:11:52 +0000 (18:11 +0800)] 
network: Add `IgnoreDdontFragment=` option for Fragmentation control (#28131)

From `ip-link(8)`:
> [no]ignore-df - enables/disables IPv4 DF
                      suppression on this tunnel.  Normally datagrams
                      that exceed the MTU will be fragmented; the
                      presence of the DF flag inhibits this, resulting
                      instead in an ICMP Unreachable (Fragmentation
                      Required) message.  Enabling this attribute causes
                      the DF flag to be ignored.

If this option is enabled for a GRE/GRETAP tunnel, the `DF` flag in the outer IP header
will not inherit the inner IP header's `DF` flag.

This is useful to transfer packets that exceed the MTU of the underlay
network.

2 years agoman: Extend journalctl color information
Alexander Krabler [Tue, 27 Jun 2023 16:45:33 +0000 (18:45 +0200)] 
man: Extend journalctl color information

Add sentence about colored warning messages in journalctl.

2 years agobattery-check: several follow-ups
Yu Watanabe [Wed, 28 Jun 2023 17:43:17 +0000 (02:43 +0900)] 
battery-check: several follow-ups

Follow-ups for e3d4148d50909119c4e9327e6ad96d3ca7f4661a.

- add reference to initrd-battery-check.service in man page, and move
  its section from 1 to 8,
- add link to man page in help message,
- introduce ERRNO_IS_NO_PLYMOUTH(),
- propagate error in battery_check_send_plymouth_message(),
- rename battery_check_send_plymouth_message() -> plymouth_send_message(),
- return earlier when the first battery level check passed to reduce
  indentation,
- fix potential use of invalid fd on battery restored,
- do not use emoji for /dev/console,
- add simple test (mostly for coverity),

etc, etc...

2 years agomeson: first try dependency(), then fallback to find_library()
Yu Watanabe [Mon, 26 Jun 2023 19:53:13 +0000 (04:53 +0900)] 
meson: first try dependency(), then fallback to find_library()

This also drops the fallback for libacl, libcap, libcrypt, and libgcrypt,
as recent Ubuntu (at least, 20.04 LTS and newer) and Debian (at least, buster
and newer) have relevant .pc files.

Fixes #28161.

2 years agoNEWS: various fixes/additions
Lennart Poettering [Wed, 28 Jun 2023 20:35:12 +0000 (22:35 +0200)] 
NEWS: various fixes/additions

2 years agoMerge pull request #28168 from poettering/xdg-state-home
Lennart Poettering [Wed, 28 Jun 2023 20:30:23 +0000 (22:30 +0200)] 
Merge pull request #28168 from poettering/xdg-state-home

properly support XDG_STATE_HOME

2 years agotmpfiles: teach tmpfiles the new XDG_STATE_HOME variable too 28168/head
Lennart Poettering [Tue, 27 Jun 2023 11:14:17 +0000 (13:14 +0200)] 
tmpfiles: teach tmpfiles the new XDG_STATE_HOME variable too

2 years agoman: properly close XML tags
Lennart Poettering [Tue, 27 Jun 2023 08:32:11 +0000 (10:32 +0200)] 
man: properly close XML tags

2 years agoman: rebreak lines in file-hierarchy(7) a bit
Lennart Poettering [Tue, 27 Jun 2023 08:28:44 +0000 (10:28 +0200)] 
man: rebreak lines in file-hierarchy(7) a bit

(Does not change a single word, just rebreaks a bunch of paragraphs
matching our current line breaking rules)

2 years agoman: mention the newly-added XDG_STATE_HOME
Franklin Yu [Fri, 26 May 2023 05:06:54 +0000 (22:06 -0700)] 
man: mention the newly-added XDG_STATE_HOME

The description is copied from config-home.

Taken from: #27795

2 years agotest: add test for new XDG_STATE_HOME handling
Lennart Poettering [Mon, 26 Jun 2023 21:23:21 +0000 (23:23 +0200)] 
test: add test for new XDG_STATE_HOME handling

2 years agoexecute: don't bother with chowning StateDirectory= and friends in user mode
Lennart Poettering [Tue, 27 Jun 2023 09:19:47 +0000 (11:19 +0200)] 
execute: don't bother with chowning StateDirectory= and friends in user mode

2 years agoexecute: shorten code by making use of laccess() return code properly
Lennart Poettering [Tue, 27 Jun 2023 09:19:31 +0000 (11:19 +0200)] 
execute: shorten code by making use of laccess() return code properly

2 years agoexecute: shorten some code by using RET_NERRNO()
Lennart Poettering [Tue, 27 Jun 2023 09:19:12 +0000 (11:19 +0200)] 
execute: shorten some code by using RET_NERRNO()

2 years agoexecute: associate logs from setup_exec_directory() with the unit name
Lennart Poettering [Tue, 27 Jun 2023 09:16:01 +0000 (11:16 +0200)] 
execute: associate logs from setup_exec_directory() with the unit name

2 years agoexecute: add support for XDG_STATE_HOME for placing service state data in --user...
Lennart Poettering [Mon, 26 Jun 2023 20:42:33 +0000 (22:42 +0200)] 
execute: add support for XDG_STATE_HOME for placing service state data in --user mode

This adds support for the new XDG_STATE_HOME env var that was added to
the xdg basedir spec. Previously, because the basedir spec didn't know
the concept we'd alias the backing dir for StateDirectory= to the one
for ConfigurationDirectory= when runnin in --user mode. With this change
we'll make separate. This brings us various benefits, such as proper
"systemctl clean" support, where we can clear service state separately
from service configuration, now in user mode too.

This does not come without complications: retaining compatibility with
older setups is difficult, because we cannot possibly identitfy which
files in existing populated config dirs are actually "state" and which
one are true" configuration.

Hence let's deal with this pragmatically: if we detect that a service
that has both dirs configured only has the configuration dir existing,
then symlink the state dir to the configuration dir to retain
compatibility.

This is not great, but it's the only somewhat reasonable way out I can
see.

Fixes: #25739
2 years agoexecute: when recursively chowning StateDirectory= when spawning services, follow...
Lennart Poettering [Tue, 27 Jun 2023 09:09:03 +0000 (11:09 +0200)] 
execute: when recursively chowning StateDirectory= when spawning services, follow initial symlink

It should be OK to allow one level of symlink for the various types of
directories like StateDirectory=, LogsDirectory= and such.

2 years agoexecute: remove redundant assignment
Lennart Poettering [Mon, 26 Jun 2023 20:36:31 +0000 (22:36 +0200)] 
execute: remove redundant assignment

2 years agoexecude: include RuntimeScope field in ExecParameters
Lennart Poettering [Mon, 26 Jun 2023 20:34:25 +0000 (22:34 +0200)] 
execude: include RuntimeScope field in ExecParameters

Let's decouple execute.c a bit from the Manager object, let's pass the
runtime scope (i.e. the enum that discern invocation for user or system
context) as part of ExecParameters. This makes the scope available in
various functions without having to pass the Manager object in.

2 years agopath tool: add some basic ansi highlighing
Lennart Poettering [Mon, 26 Jun 2023 16:55:52 +0000 (18:55 +0200)] 
path tool: add some basic ansi highlighing

2 years agosd-path: bring spacing in sd-path.h and systemd-path tool in sync
Lennart Poettering [Mon, 26 Jun 2023 16:55:39 +0000 (18:55 +0200)] 
sd-path: bring spacing in sd-path.h and systemd-path tool in sync

2 years agosd-path: add support for XDG_STATE_HOME
Lennart Poettering [Mon, 26 Jun 2023 16:55:14 +0000 (18:55 +0200)] 
sd-path: add support for XDG_STATE_HOME

2 years agoMerge pull request #28178 from mrc0mmand/nss-tests
Luca Boccassi [Wed, 28 Jun 2023 18:41:11 +0000 (19:41 +0100)] 
Merge pull request #28178 from mrc0mmand/nss-tests

test: add a couple of tests for nss-myhostname & nss-mymachines

2 years agoMerge pull request #28164 from poettering/replace-env-var-fixes
Luca Boccassi [Wed, 28 Jun 2023 18:40:51 +0000 (19:40 +0100)] 
Merge pull request #28164 from poettering/replace-env-var-fixes

pid1: warn about unset+invalid env var names when resolving ExecStart= expressions and similar

2 years agoupdate TODO
Lennart Poettering [Wed, 28 Jun 2023 15:39:27 +0000 (17:39 +0200)] 
update TODO

2 years agoMerge pull request #28146 from keszybz/ansi-seq-skip
Lennart Poettering [Wed, 28 Jun 2023 17:18:27 +0000 (19:18 +0200)] 
Merge pull request #28146 from keszybz/ansi-seq-skip

Pass ANSI sequences through when ellipsizing output

2 years agoMerge pull request #27830 from 1awesomeJ/initrd
Lennart Poettering [Wed, 28 Jun 2023 17:18:03 +0000 (19:18 +0200)] 
Merge pull request #27830 from 1awesomeJ/initrd

PID1: Detect battery level in initrd and if low refuse continuing to …

2 years agotest: enable LSan for certain wrapped binaries 28178/head
Frantisek Sumsal [Wed, 28 Jun 2023 07:53:13 +0000 (09:53 +0200)] 
test: enable LSan for certain wrapped binaries

So we're able to detect memory leaks in our NSS modules.

An example after introducing a memory leak in nss-myhostname.c:

testsuite-71.sh[2881]: =================================================================
testsuite-71.sh[2881]: ==2880==ERROR: LeakSanitizer: detected memory leaks
testsuite-71.sh[2881]: Direct leak of 2 byte(s) in 1 object(s) allocated from:
testsuite-71.sh[2881]:     #0 0x7fa28907243b in strdup (/usr/lib64/libasan.so.8.0.0+0x7243b)
testsuite-71.sh[2881]:     #1 0x7fa286a7bc10 in gethostname_full ../src/basic/hostname-util.c:67
testsuite-71.sh[2881]:     #2 0x7fa286a74af9 in gethostname_malloc ../src/basic/hostname-util.h:24
testsuite-71.sh[2881]:     #3 0x7fa286a756f4 in _nss_myhostname_gethostbyname4_r ../src/nss-myhostname/nss-myhostname.c:79
testsuite-71.sh[2881]:     #4 0x7fa288f17588 in getaddrinfo (/lib64/libc.so.6+0xf4588)
testsuite-71.sh[2881]:     #5 0x7fa2890a4d93 in __interceptor_getaddrinfo.part.0 (/usr/lib64/libasan.so.8.0.0+0xa4d93)
testsuite-71.sh[2881]:     #6 0x55a54b2b7159 in ahosts_keys_int.part.0 (/usr/bin/getent.orig+0x4159)
testsuite-71.sh[2881]: SUMMARY: AddressSanitizer: 2 byte(s) leaked in 1 allocation(s).

2 years agotest: add a couple of tests for nss-mymachines
Frantisek Sumsal [Tue, 27 Jun 2023 20:34:59 +0000 (22:34 +0200)] 
test: add a couple of tests for nss-mymachines

2 years agoupdate NEWS
Lennart Poettering [Fri, 23 Jun 2023 19:48:05 +0000 (21:48 +0200)] 
update NEWS

2 years agoNEWS: add pcrs verb
Lennart Poettering [Wed, 28 Jun 2023 14:53:30 +0000 (16:53 +0200)] 
NEWS: add pcrs verb

2 years agoanalyze: add new "pcrs" verb
Lennart Poettering [Tue, 27 Jun 2023 16:45:34 +0000 (18:45 +0200)] 
analyze: add new "pcrs" verb

It shows the PCRs we know about along with their name strings and
current values.

2 years agopwquality: remove old built-in cracklib dictionary workaround
Dmitry V. Levin [Tue, 27 Jun 2023 21:00:00 +0000 (21:00 +0000)] 
pwquality: remove old built-in cracklib dictionary workaround

The first version of libpwquality with the required change was 1.4.1
released in 2019.

2 years agoNEWS: typos
Luca Boccassi [Wed, 28 Jun 2023 13:51:35 +0000 (14:51 +0100)] 
NEWS: typos

2 years agoPID1: detect battery level in initrd and if low refuse continuing to boot, print... 27830/head
OMOJOLA JOSHUA [Wed, 28 Jun 2023 13:04:42 +0000 (14:04 +0100)] 
PID1: detect battery level in initrd and if low refuse continuing to boot, print message and shut down.

2 years agoNEWS: mention that sd_event_trim_memory can be overridden
Luca Boccassi [Wed, 28 Jun 2023 13:43:54 +0000 (14:43 +0100)] 
NEWS: mention that sd_event_trim_memory can be overridden

2 years agoNEWS: mention addon<efi>.efi.stub
Luca Boccassi [Wed, 28 Jun 2023 13:42:18 +0000 (14:42 +0100)] 
NEWS: mention addon<efi>.efi.stub

2 years agoNEWS: do not make specific promises about future development, keep it vague
Luca Boccassi [Wed, 28 Jun 2023 13:34:12 +0000 (14:34 +0100)] 
NEWS: do not make specific promises about future development, keep it vague

2 years agoNEWS: move PrivateUsers= change at the top, as it changes behaviour
Luca Boccassi [Wed, 28 Jun 2023 13:33:48 +0000 (14:33 +0100)] 
NEWS: move PrivateUsers= change at the top, as it changes behaviour

2 years agoNEWS: more updates for future v254
Lennart Poettering [Tue, 27 Jun 2023 16:44:57 +0000 (18:44 +0200)] 
NEWS: more updates for future v254

2 years agoRemove battery level check at early boot from TODO
OMOJOLA JOSHUA [Wed, 28 Jun 2023 12:32:38 +0000 (13:32 +0100)] 
Remove battery level check at early boot from TODO

2 years agosysv-generator: deprecate even more
Lennart Poettering [Wed, 28 Jun 2023 07:50:16 +0000 (09:50 +0200)] 
sysv-generator: deprecate even more

Let's add a comment about the deprecation to the docs, and as comment to
the sources.

Follow-up for: #28179

2 years agotest: add a couple of tests for nss-myhostname
Frantisek Sumsal [Tue, 27 Jun 2023 14:15:24 +0000 (16:15 +0200)] 
test: add a couple of tests for nss-myhostname

2 years agomute the memory recursiveprot log if version of kernel is low.
cunshunxia [Mon, 26 Jun 2023 04:14:40 +0000 (04:14 +0000)] 
mute the memory recursiveprot log if version of kernel is low.

2 years agoMerge pull request #28179 from poettering/sysvgendeprecated
Lennart Poettering [Wed, 28 Jun 2023 07:37:42 +0000 (09:37 +0200)] 
Merge pull request #28179 from poettering/sysvgendeprecated

make systemd-sysv-generator even more deprecated

2 years agomeson: drop doubled empty line
Yu Watanabe [Fri, 23 Jun 2023 02:16:47 +0000 (11:16 +0900)] 
meson: drop doubled empty line

2 years agostring-util: pass ANSI sequences through unchanged 28146/head
Zbigniew Jędrzejewski-Szmek [Sat, 24 Jun 2023 00:40:14 +0000 (18:40 -0600)] 
string-util: pass ANSI sequences through unchanged

Cutting off in the middle may leave the terminal in a bad state, breaking
further output. But we don't know what a given ANSI sequence does, e.g.
ANSI_NORMAL should not be skipped. But it is also nice to keep various
sequences intact, so that if we had part of the string in blue, and we cut out
the beginning of the blue part, we still want to keep the remainder in color.
So let's just pass them through, stripping out the characters that take up
actual space.

Also, use memcpy_safe as we may end up copying zero bytes when ellipsizing at
the start/end of a string.

Fixes: #24502
This also fixes an ugliness where we would ellipsize string with ANSI
sequences too much, leading to output that was narrower on screen than the
requested length:

  Starting AAAAAAAAAAAAAAAAAAAAA.service
  Starting BBBBBBBBBBBBBBBBBBBBB.service
  Starting LONG…ER.service

Co-authored-by: Jan Janssen <medhefgo@web.de>
2 years agoNEWS: add comment about SysV script deprecation 28179/head
Lennart Poettering [Tue, 27 Jun 2023 21:19:17 +0000 (23:19 +0200)] 
NEWS: add comment about SysV script deprecation

2 years agosysv-generator: make sysv deprecation message a bit "louder"
Lennart Poettering [Tue, 27 Jun 2023 16:46:28 +0000 (18:46 +0200)] 
sysv-generator: make sysv deprecation message a bit "louder"

Let's add a catalog entry, make the log record structured, and most
importantly, let's add warning emojis.

Just to underline that this stuff should really go away.

2 years agojournalctl: read env vars that override compiled catalog database and source files
Lennart Poettering [Tue, 27 Jun 2023 21:15:27 +0000 (23:15 +0200)] 
journalctl: read env vars that override compiled catalog database and source files

This makes it a bit easier to test catalog files without installing
systemd.

2 years agocatalog,po: update Polish translation
Piotr Drąg [Sun, 28 May 2023 11:35:31 +0000 (13:35 +0200)] 
catalog,po: update Polish translation

2 years agotpm2: make PcrIndex an anonymous enum
Lennart Poettering [Tue, 27 Jun 2023 16:46:07 +0000 (18:46 +0200)] 
tpm2: make PcrIndex an anonymous enum

It just gives names for things generally just handled as numeric
indexes, hence drop the type name, and make the enum anonymous. Nothing
is using the type name anyway.

2 years agohwdb: fix volume control keys on Lenovo IdeaPad Flex 5 (14ARE05)
Hoe Hao Cheng [Tue, 27 Jun 2023 13:29:57 +0000 (21:29 +0800)] 
hwdb: fix volume control keys on Lenovo IdeaPad Flex 5 (14ARE05)

2 years agorepart: Fix HAVE_LIBCRYPTSETUP check
Daan De Meyer [Tue, 27 Jun 2023 11:54:22 +0000 (13:54 +0200)] 
repart: Fix HAVE_LIBCRYPTSETUP check

Fixes #28169

2 years agoenv-file: when resolving env vars in command lines, collect list of unset/invalid... 28164/head
Lennart Poettering [Mon, 26 Jun 2023 15:20:49 +0000 (17:20 +0200)] 
env-file: when resolving env vars in command lines, collect list of unset/invalid ones

When resolving environment variables we currently silently resolve unset
and invalid environment variables to empty strings. Let's do this
slightly less silently: log about unset and invalid env vars, but still
resolve them to an empty string.

Fixes: #27036
2 years agoenv-util: make strv_env_get() a static inline wrapper around strv_env_get_n()
Lennart Poettering [Mon, 26 Jun 2023 14:15:44 +0000 (16:15 +0200)] 
env-util: make strv_env_get() a static inline wrapper around strv_env_get_n()

Let's make length = SIZE_MAX also mean "call strlen()".

2 years agoenv-util: introduce proper flags type ReplaceEnvFlags for replace_env()
Lennart Poettering [Mon, 26 Jun 2023 15:10:28 +0000 (17:10 +0200)] 
env-util: introduce proper flags type ReplaceEnvFlags for replace_env()

2 years agoenv-util: add explicit size check before strndupa() in strv_env_get_n()
Lennart Poettering [Mon, 26 Jun 2023 14:14:27 +0000 (16:14 +0200)] 
env-util: add explicit size check before strndupa() in strv_env_get_n()

Let's better be safe than sorry.

2 years agoenv-util: modernize env_name_is_valid_n() a bit
Lennart Poettering [Mon, 26 Jun 2023 14:13:27 +0000 (16:13 +0200)] 
env-util: modernize env_name_is_valid_n() a bit

If the size is specified as SIZE_MAX, then imply strlen().

2 years agostring-util: add strextendn() helper
Lennart Poettering [Mon, 26 Jun 2023 15:15:28 +0000 (17:15 +0200)] 
string-util: add strextendn() helper

2 years agoNEWS: copy deprecation notices for cgroup v1 and unmerged-usr/split-usr
Luca Boccassi [Tue, 27 Jun 2023 11:38:27 +0000 (12:38 +0100)] 
NEWS: copy deprecation notices for cgroup v1 and unmerged-usr/split-usr

2 years agoNEWS: fix typos
Luca Boccassi [Tue, 27 Jun 2023 11:30:57 +0000 (12:30 +0100)] 
NEWS: fix typos

2 years agostart updating NEWS for 254
Lennart Poettering [Tue, 27 Jun 2023 11:13:27 +0000 (13:13 +0200)] 
start updating NEWS for 254

2 years agoreplace basename() with path_extract_filename() in resolved-resolv-conf.c (#28114)
Steven Luo [Tue, 27 Jun 2023 08:11:38 +0000 (04:11 -0400)] 
replace basename() with path_extract_filename() in resolved-resolv-conf.c (#28114)

2 years agoMerge pull request #28064 from bluca/test_oomd_swap
Luca Boccassi [Mon, 26 Jun 2023 18:39:07 +0000 (19:39 +0100)] 
Merge pull request #28064 from bluca/test_oomd_swap

TEST-55-OOMD: use 'stress' to create high pressure, ensure swap is set up correctly on Ubuntu CI

2 years agoMerge pull request #28159 from poettering/bpf-foreign-warnings
Lennart Poettering [Mon, 26 Jun 2023 16:02:47 +0000 (18:02 +0200)] 
Merge pull request #28159 from poettering/bpf-foreign-warnings

bpf-foreign: tweaks

2 years agomount-util: use inode_type_to_string() in mode_to_inaccessible_inode()
Lennart Poettering [Mon, 26 Jun 2023 10:52:22 +0000 (12:52 +0200)] 
mount-util: use inode_type_to_string() in mode_to_inaccessible_inode()

Let's reuse the inode type name table here and shorten/simplify the code
a bit.

2 years agofirstboot: fix typo
Antonio Alvarez Feijoo [Mon, 26 Jun 2023 14:01:13 +0000 (16:01 +0200)] 
firstboot: fix typo

2 years agosleep: refuse hibernation if there's no possible way to resume
Mike Yuan [Fri, 23 Jun 2023 21:49:21 +0000 (05:49 +0800)] 
sleep: refuse hibernation if there's no possible way to resume

Follow-up for 90efe8a6d4c0035c6a01d42805be87d99fb12f9a
Closes #19819

2 years agotest: fix test service unit description
Frantisek Sumsal [Mon, 26 Jun 2023 13:54:01 +0000 (15:54 +0200)] 
test: fix test service unit description

2 years agomkosi: Update to latest
Daan De Meyer [Mon, 26 Jun 2023 12:08:49 +0000 (14:08 +0200)] 
mkosi: Update to latest

mkosi now prebuilds the hwdb during image build which should hopefully
get rid of the CentOS 8 failures we're seeing in CI.

2 years agoman: rework BPFForeign= documentation a bit 28159/head
Lennart Poettering [Mon, 26 Jun 2023 11:16:11 +0000 (13:16 +0200)] 
man: rework BPFForeign= documentation a bit

Various assorted changes, among them make clear that a missing BPF
program is not reason to abort unit activation.

2 years agobpf-foreign: add an explicit, explanatory message when reference BPF program is not...
Lennart Poettering [Mon, 26 Jun 2023 11:05:56 +0000 (13:05 +0200)] 
bpf-foreign: add an explicit, explanatory message when reference BPF program is not loaded yet

2 years agobpf-foreign: if one program fails, still load the next
Lennart Poettering [Mon, 26 Jun 2023 11:04:59 +0000 (13:04 +0200)] 
bpf-foreign: if one program fails, still load the next

Let's make sure that if we load one program we don't prematurely fail,
and continue with the others still.

2 years agobpf-foreign: remove duplicate various occasions of duplicate logging
Lennart Poettering [Mon, 26 Jun 2023 11:03:39 +0000 (13:03 +0200)] 
bpf-foreign: remove duplicate various occasions of duplicate logging

2 years agotest: skip if ldd command not found
Yu Watanabe [Sun, 25 Jun 2023 05:53:02 +0000 (14:53 +0900)] 
test: skip if ldd command not found

Prompted by #28015.