1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2025-01-12 09:17:44 +03:00
Commit Graph

60418 Commits

Author SHA1 Message Date
Luca Boccassi
aad813bf17 portable: rename flag PORTABLE_FORCE -> PORTABLE_FORCE_ATTACH
The name is used only internally, also it was just added.
Allows adding different types of force flags.
2022-10-12 09:57:24 +01:00
Luca Boccassi
192a9b70c2 os-util: split out extension-release xattr helper 2022-10-12 09:57:24 +01:00
Luca Boccassi
ac6086fdf6 mount-util: do not pass 'x-*' options to mount syscall
They will not be recognized. libmount filters them manually.
2022-10-12 09:47:39 +01:00
Lennart Poettering
25d615eb70 NEWS: expand on systemd-measure a bit 2022-10-12 10:33:47 +02:00
Lennart Poettering
4d727f8686 update TODO with discussions from Image-based Linux summit 2022-10-12 10:04:07 +02:00
Zbigniew Jędrzejewski-Szmek
9d4cfc7579
Merge pull request #24784 from yuwata/core-exec-directory
core: do not create symlink to private directory if parent already exists
2022-10-12 09:37:16 +02:00
Lennart Poettering
9a72e98f02
Merge pull request #24970 from DaanDeMeyer/crypsetup-fix
Cryptsetup compilation fixes
2022-10-12 09:32:56 +02:00
Zbigniew Jędrzejewski-Szmek
67f047a6f2 basic/user-util: simplify variable declarations in fget{pw,gr}ent_sane() 2022-10-12 09:18:41 +02:00
Zbigniew Jędrzejewski-Szmek
59818f4381 libsystemd-network: trivial simplification 2022-10-12 09:18:24 +02:00
Zbigniew Jędrzejewski-Szmek
1d3fae91f7
Merge pull request #24867 from yuwata/sd-dhcp6-client-large-packet
sd-dhcp6-client: allow to build large packet
2022-10-12 09:18:07 +02:00
Yu Watanabe
8a77f21d29 sd-journal: rename next_hash_offset() -> get_next_hash_offset()
As the function name conflicts with one of its argument.
2022-10-12 15:37:04 +09:00
Zbigniew Jędrzejewski-Szmek
734f96b849 shared/condition: avoid nss lookup in PID1
PID 1 is not allowed to do nss lookups because this may take a long time or
even deadlock.

While at it, the comparisons are reordered to do the "easy" comparisons which
only require a string comparison first. Delay parsing of the UID until it is
really necessary. The result is the same, because we know that "root" and
"nobody" parse as valid.
2022-10-12 08:01:01 +02:00
Zbigniew Jędrzejewski-Szmek
9154bd57db basic/chase-symlinks: add note that CHASE_WARN is not for PID 1
This should be enough to make us remember that constraint. A more heavy-weight
approach like renaming the option to CHASE_WARN_NSS_LOOKUP would be possible,
but it'd make the callers quite verbose and doesn't seem worth it.
2022-10-12 08:01:01 +02:00
Yu Watanabe
c21e114004 Revert "test-journal-flush: Don't fail on EADDRNOTAVAIL"
This reverts commit 3388a4b582.

The error EADDRNOTAVAIL in the test only comes from journal_file_move_to(),
and it does not mean the corrupted journal, but pure programming error.
2022-10-12 14:47:37 +09:00
Luca Boccassi
dd4212105e
Merge pull request #24957 from yuwata/network-ignore-failure-in-sending-solicitation
network: ignore failure in sending solicitation
2022-10-11 21:58:26 +02:00
Luca Boccassi
da60182759
Merge pull request #24933 from keszybz/erradicate-strerror
Erradicate strerror
2022-10-11 21:47:38 +02:00
Luca Boccassi
2c03055e99
Merge pull request #24968 from poettering/logs-show-timestamp-fix
logs-show timestamp fix
2022-10-11 21:45:46 +02:00
Zbigniew Jędrzejewski-Szmek
ef3458cd5d logind: do not emit beep in wall messages
Those may go via the PC speaker, which is annoying and unexpected.
Most people have it off, so this doesn't work reliably anyway, so we can
disable it without much loss.

Fixes #23520.
2022-10-11 21:43:31 +02:00
Daan De Meyer
86bebe385f repart: Always define VerityMode from/to string functions 2022-10-11 20:36:03 +02:00
Daan De Meyer
bbf73b0069 cryptsetup-util: Always define dlopen_cryptsetup() 2022-10-11 20:35:34 +02:00
Zbigniew Jędrzejewski-Szmek
0b6a47957b tree-wide: drop () around the first argument of a ternary op
https://github.com/systemd/systemd/pull/24933#discussion_r991242789
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
b413d4fd3e man: use man7.org for strerror_r 2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
2fd922afed man: recommend strerror_r() over strerror()
Let's nudge people towards the use of an anonymous buffer like we
do internally.

"errno" → "errnum", to match the man page for strerror, and also to avoid
confusion with the global variable. In general, I think that errno is a
terrible interface and we shouldn't encourage people to use it. Those functions
use errno-style error numbers, which are a different thing.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
b4096cecff man: recommend %m over strerror()
The need to set errno is very very ugly, but at least it is thread-safe and
works correctly. Using strerror() is likely to be wrong, so let's not recommend
that. People who do a lot of logging would provide use some wrapper that sets
errno like we do, so nudge people towards %m.

I tested that all the separate .c files compile cleanly.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
29c45dc434 man: use external .c files for three examples
This way it's much easier to test that the code compiles without issues.
It's also easier to edit the code.

Indentation in one of the examples is reduced to two spaces. This is what we
use in man pages to make them fit on screen better.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
0cf1a4b3a7 Get rid of strerror_safe() 2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
eaaf7465ee sd-bus: make bus_error_message() a thread-safe macro
strerror_r() is used instead of strerror(). The usual trick is employed: we
allocate a buffer that lives until the end of the surrounding block to provide
the scratch space. This change is particularly important forn sd-bus and the
pam modules, which may be called from threaded code.

I checked the codebase, and we only use bus_error_message() in log statements,
so the returned pointer is not used beyond its valid lifetime.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
a390b03089 core: adjust log message
"umount startup job" is rather confusing. Let's say "unmount job", which should
be more meaningful for a user.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
5475e963c5 analyze: add forgotten return statement
We would fail with an assert in sd_bus_message_enter_container() afterwards.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
f37508d506 tree-wide: get rid of lgtm annotations
We now use CodeQL, and LGTM itself is gone. Those old annotations are not
useful for anythign now.
2022-10-11 16:59:00 +02:00
Zbigniew Jędrzejewski-Szmek
f69ae8585f tree-wide: define and use STRERROR_OR_EOF() 2022-10-11 16:58:21 +02:00
Lennart Poettering
4ba5536f71 logs-show: be more careful when initializing get_dual_timestamp() return parameters
make sure we always have something to return in all return parameters,
including in the boot id return parameter, in all code paths.

Follow-up for: #24965
2022-10-11 16:40:53 +02:00
Zbigniew Jędrzejewski-Szmek
a6e016af01 tree-wide: use STRERROR() 2022-10-11 16:39:09 +02:00
Lennart Poettering
868503917d sd-journal: exit loop once we got all fields we are interested in 2022-10-11 16:39:06 +02:00
Zbigniew Jędrzejewski-Szmek
2c5d05b3cd basic: add STRERROR() wrapper for strerror_r() 2022-10-11 16:10:21 +02:00
Zbigniew Jędrzejewski-Szmek
0cbefc7d4f shared/journal-importer: use %m instead of strerror()
Here SYNTHETIC_ERRNO() was used based on the general rule that logging
functions should do that when the error value is generated at the call
site. But here we're really propagating a memory allocation error, which
wasn't reported using errno, but the meaning is the same. And it's better
to bend the rule a bit like this than to use strerror().
2022-10-11 16:10:21 +02:00
Zbigniew Jędrzejewski-Szmek
3855303428 core,logind,systemctl,journald: replace calls to strerror() with setting errno + %m
strerror() is not thread safe and calling it just isn't worth the effort
required to justify why it would be safe in those cases. It's easier to just
use %m which is thread-safe out of the box. I don't think that any of the
changes in the patch cause any functional difference. This is just about
getting rid of calls to strerror() in general.

When we print an error message and fail to format the string, using something
like "(null)" is good enough. This is very very unlikely to happen anyway.
2022-10-11 16:10:21 +02:00
Zbigniew Jędrzejewski-Szmek
892dc96787 basic/stdio-util: allow xsprintf() to be used without any arguments
xsprintf(buf, "…: %m") would fail, now it works.
2022-10-11 16:10:21 +02:00
Zbigniew Jędrzejewski-Szmek
8ad572e60d analyze: use the same error variable name as everywhere else 2022-10-11 16:10:21 +02:00
Zbigniew Jędrzejewski-Szmek
f48e93764f pam_systemd: use pam_syslog_pam_error()
Error handling in acquire_user_record() was checking the wrong
condition (PAM errors are always >= 0, so r < 0 cannot match).

Apart from the fix for error handling, no change in behaviour is intended.
I did some minor adjustements to formatting and added _cleanup_ in one more
place.
2022-10-11 16:10:20 +02:00
Zbigniew Jędrzejewski-Szmek
e91b05f418 pam_systemd_home: use pam_syslog_pam_error()
The message in acquire_home() was looking at the wrong variable
('r' instead of 'acquired_fd').

Apart from that, no change in behaviour is intended.
2022-10-11 16:10:08 +02:00
Zbigniew Jędrzejewski-Szmek
4ac6ac9f09 shared/pam-util: add pam_syslog_pam_error() wrapper
This is a primitive helper that wraps calls to pam_syslog() replacing
@PAMERR@ with pam_strerror() output in the format string. This allows for
a bunch of boilerplate to be removed.

@PAMERR@ is only supported at the end of the string. Similarly to %m,
realistically that's the only place where it is useful.

Note that unlike in logging functions in log.[ch], here the error value is
only used for the message and is not saved anywhere, so we don't need to
care about SYNTHETIC_ERRNO.
2022-10-11 16:10:08 +02:00
Zbigniew Jędrzejewski-Szmek
7e7b53b4a7 pam_systemd: use pam_syslog_errno()
The debug message for "nice" is tweaked to show the level that was set.

Like in the two previous commits, the return code on error might be changed.
2022-10-11 16:10:08 +02:00
Zbigniew Jędrzejewski-Szmek
544ec3c0ab pam_systemd_home: use pam_syslog_errno()
Like in the previous commit, the return code on error might be changed.
2022-10-11 16:10:01 +02:00
Daan De Meyer
3388a4b582 test-journal-flush: Don't fail on EADDRNOTAVAIL
File corruption can cause EADDRNOTAVAIL errors. Let's not make these
fatal for the flush test.
2022-10-11 23:03:06 +09:00
Daan De Meyer
9377e53f4f meson: Fix pcrphase unit conditions 2022-10-11 15:29:08 +02:00
Daan De Meyer
88ee6a9e4b logs-show: Always retrieve the boot ID from the entry
If _SOURCE_MONOTONIC_TIMESTAMP was set in the entry, we wouldn't
query the boot ID, leading to every kernel entry in the export mode
to have BOOT_ID=000000000000000. Let's fix this by always querying
the boot ID.
2022-10-11 15:25:12 +02:00
Lennart Poettering
a5a0da085a update TODO 2022-10-11 15:07:32 +02:00
Daan De Meyer
beead603c5
Merge pull request #24629 from DaanDeMeyer/mkosi-kernel
mkosi: Optionally build a kernel image from mkosi.kernel/
2022-10-11 14:37:19 +02:00
Frantisek Sumsal
6788418af1 test: add coverage for the nvme-subsystem
Specifically for:
  - https://github.com/systemd/systemd/pull/24748
  - https://github.com/systemd/systemd/pull/24766
  - https://github.com/systemd/systemd/pull/24946
2022-10-11 13:38:30 +02:00