1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-27 01:55:22 +03:00
Commit Graph

64118 Commits

Author SHA1 Message Date
Lawrence Thorpe
08b61b40ed
docs: fix LoadCredentialEncrypted example (#27387)
Embedded credential name 'ciphertext.cred' does not match filename 'foobar', refusing.
2023-04-25 15:41:01 +02:00
Thorsten Kukuk
092e6cd19a sd-login: add SetTTY session object #26611 2023-04-25 14:33:09 +02:00
Lennart Poettering
4d26b2277a doc: say in CODING_STYLE that AT_EMPTY_PATH should be implied on openat() style APIs (and NULL path is OK)
As discussed here:

https://github.com/systemd/systemd/pull/27397#issuecomment-1521630044
2023-04-25 14:05:08 +02:00
Lennart Poettering
eb3641fc3c user-record-nss: make return values optional
If we only want to know if some user ID/user name is already allocated,
we don't care for the returned data.
2023-04-25 14:00:57 +02:00
Lennart Poettering
c8ab89e569 mountpoint-util: make path_get_mnt_id_at() work with a NULL path 2023-04-25 14:00:38 +02:00
Frantisek Sumsal
9203abf79f
Merge pull request #27261 from keszybz/test-cleanup
Cleanup syntax and use idiomatic bash in test scripts
2023-04-25 11:41:27 +02:00
Lennart Poettering
797f6cc514 fs-util: make sure open_mkdir_at() does something roughly sensible when invoked with '/' 2023-04-25 18:38:00 +09:00
Yu Watanabe
3d008416d6
Merge pull request #27380 from poettering/bpf-meson-tweaks
two bpf build system changes
2023-04-25 18:37:36 +09:00
Daan De Meyer
d280bb7e43 mkosi: Update fedora to release 38 2023-04-25 11:25:36 +02:00
Lennart Poettering
3cd60148b4
Merge pull request #27388 from poettering/assert-fd
add ASSERT_FD() similar to ASSERT_PTR(), but for fds
2023-04-25 09:54:20 +02:00
Daan De Meyer
afc47ee2af Drop log level of header limits log message
Especially when using in-memory logging, these are too noisy so
let's drop them back to debug level.
2023-04-25 07:31:40 +02:00
Luca Boccassi
7556f29694
Merge pull request #27386 from dtardon/test-cleanup
More automatic cleanup in tests
2023-04-25 02:00:56 +01:00
Wolfgang Müller
38fc5e0314 cryptsetup-fido2: Depend on libcryptsetup
crypsetup-fido2 always depended on both libfido2 and libcryptsetup, but
0a8e026e82 forgot to make the then
implicit dependency on libcryptsetup explicit when moving it from
cryptsetup/ to shared/. This breaks builds when libfido2 is autodetected
but the system is missing libcryptsetup.

Introduce an explicit check for HAVE_LIBCRYPTSETUP such that
cryptsetup-fido2 is only built when both libraries are available.

Fixes #27374.
2023-04-25 02:00:16 +01:00
Lennart Poettering
0593b34adc homed: rename make_userns() to avoid name conflict with mount-util.[ch]
This doesn't really matter too much as both are static functions. But
it's confusing as hell both when debugging and reading code, given that
homed actually uses mount-util.c

Hence, let's just rename one of the two, to minimize confusion.

No actual change in behaviour.

(and sooner or later we might want to export mount-util.c's version of
the function, since it's generically useful)
2023-04-24 22:29:47 +02:00
Zbigniew Jędrzejewski-Szmek
208a59c15f
Merge pull request #27113 from keszybz/variable-expansion-rework
Rework serialization of command lines in pid1 and make run not expand variables
2023-04-24 22:03:06 +02:00
Zbigniew Jędrzejewski-Szmek
4481a30855 test: use idiomatic bash loop iteration
In a few cases, also avoid a sleep in the last (failed) iteration of the loop.
It doesn't matter too much, but it's still ugly.
2023-04-24 21:59:28 +02:00
Zbigniew Jędrzejewski-Szmek
97b35c7cec testsuite-54: drop unnecessary pipe 2023-04-24 21:59:28 +02:00
Zbigniew Jędrzejewski-Szmek
add53f9b93 testsuite-70: drop unnecessary env 2023-04-24 21:59:27 +02:00
Zbigniew Jędrzejewski-Szmek
128db0aa00 test: drop uses of "&& { echo 'unexpected success'; exit 1; }"
Brief is sweet.
2023-04-24 21:58:35 +02:00
Lennart Poettering
91ce42f008 parse-util: allow parse_pid() to work with NULL return parameter
That way the function becomes useful for validating pids formatted as
strings.
2023-04-25 03:16:33 +08:00
David Tardon
5b87bccc00 test-hashmap-plain: use _cleanup_ 2023-04-24 21:15:50 +02:00
David Tardon
8f25d740f1 test-set: use _cleanup_ 2023-04-24 21:15:50 +02:00
Lennart Poettering
8e398254ba loop-util: port some code over to ASSERT_FD() 2023-04-24 20:52:52 +02:00
Lennart Poettering
6f81bcef25 fd-util: add ASSERT_FD() that is similar to ASSERT_PTR() but for fds 2023-04-24 20:51:51 +02:00
David Tardon
7a9f8b9053 test-calendarspec: use _cleanup_ 2023-04-24 20:44:29 +02:00
Daan De Meyer
13d9669980 mkosi: Update to latest
This pulls in a fix for Debian rpmdb locations, which results in a
substantial speedup for centos/fedora builds.
2023-04-24 20:08:51 +02:00
Daan De Meyer
d404c8d887 nspawn: Don't follow /etc/resolv.conf symlinks
When we're checking if /etc/resolv.conf exists so we can bind mount
on top of it, we care about whether the symlink itself exists if
/etc/resolv.conf exists and not the file it points to, so add
CHASE_NOFOLLOW to make sure we check existence of the symlink and
not the file it points to.
2023-04-24 18:14:12 +02:00
Lennart Poettering
906dff812e pid1: simplify bpf meson import 2023-04-24 17:10:08 +02:00
Lennart Poettering
4d3ef2d1a2 meson: move bpf hookup into main meson build file
This way we can use it in systemd-userdbd later on, too.
2023-04-24 17:10:08 +02:00
Luca Boccassi
33054db730 man: fix LogControl1 manpage example
Follow-up for c6b8fffdfa
2023-04-24 14:45:10 +02:00
Luca Boccassi
a2dd39b4cb pam: cache sd-bus separately per module
sd-bus connection is cached by the two pam modules globally, but this
can lead to issues due to hashmaps (used by sd-bus) using a global
static variable for the shared hash key, which is different per module
as both modules are loaded in the same process.

This happens because the sd-bus object is create in one module, but
used in the other, so global state does not match.

Use a different pam cache identifier for the sd-bus pointer, so that
each module uses a different sd-bus connection as a workaround.

Fixes https://github.com/systemd/systemd/issues/27216
Fixes https://github.com/systemd/systemd/issues/17266
2023-04-24 14:18:50 +02:00
Luca Boccassi
db0c0f5e00 pam_systemd_home: clean up sd-bus when called about something else's user
acquire_home() takes a reference to a sd-bus object, which the open_session
hook cleans on success. But only when handling a user actually owned by homed,
it did not clean it up when skipping because it is being invoked on a system
user.
We need to be careful with sd-bus here as pam_sm_open_session is the last
hook before forking, and we want to clean up sd-bus before that happens, or
we'll have a broken reference (FDs are cloexec) in the child process, which
will then assert when attempting to close them, or leak the bus connection
which causes dbus to complain loudly:

 dbus-daemon[62]: [system] Connection has not authenticated soon enough, closing it (auth_timeout=30000ms, elapsed: 30020ms)
2023-04-24 14:18:22 +02:00
Daan De Meyer
d5ada52fc4
Merge pull request #27367 from bluca/mkosi_resolve
mkosi: add tmpfiles to handle locale/resolve.conf in Debian
2023-04-24 13:03:58 +02:00
Zbigniew Jędrzejewski-Szmek
3539b3a9f1
Merge pull request #27357 from bluca/example_logcontrol
man: add working example to LogControl1 manpage
2023-04-24 12:24:36 +02:00
Luca Boccassi
54e4b42fde stub: add comment on measurement of io.systemd.stub.kernel-cmdline-extra 2023-04-24 11:04:50 +01:00
Luca Boccassi
48df882c7f mkosi: add tmpfiles to create debian/ubuntu /etc/default/locale link 2023-04-24 10:47:29 +01:00
Luca Boccassi
0b5382ed03 mkosi: move debian/ubuntu ignore preset to config directory 2023-04-24 10:46:39 +01:00
Luca Boccassi
6f9b70fc69 mkosi: move debian/ubuntu common conf under common directory 2023-04-24 10:44:42 +01:00
Luca Boccassi
7cd64af54d mkosi: delete /etc/resolv.conf to let tmpfiles handle it
In case the distribution creates or ships resolv.conf, delete it and let tmpfiles handle it
2023-04-24 10:30:19 +01:00
Daan De Meyer
f997f91d7d mkosi: Update to latest
Let's use the new support for matching against any distribution in
a list of distributions to start sharing most things between the
ubuntu/debian configs and centos/fedora configs.
2023-04-24 10:56:55 +02:00
Zbigniew Jędrzejewski-Szmek
a1e5bd2066 testsuite-04: remove unnecessary conditional 2023-04-24 10:06:59 +02:00
Zbigniew Jędrzejewski-Szmek
f65c2f5214 testsuite-04: remove redirection, drop whitespace after redirection op 2023-04-24 10:06:59 +02:00
Zbigniew Jędrzejewski-Szmek
2ed7a221fa run: expand variables also with --scope
This makes syntax be the same for commands which are started by the manager and
those which are spawned directly (when --scope is used).

Before:
$ systemd-run -q -t echo '$TERM'
xterm-256color

$ systemd-run -q --scope echo '$TERM'
$TERM

Now:
$ systemd-run -q --scope echo '$TERM'
xterm-256color

Previous behaviour can be restored via --expand-environment=no:
$ systemd-run -q --scope --expand-environment=no echo '$TERM'
$TERM

Fixes #22948.

At some level, this is a compat break. Fortunately --scope is not very widely
used, so I think we can get away with this. Having different syntax depending
on whether --scope was used or not was bad UX.

A NEWS entry will be required.
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
de99fadd31 man/systemd-run: add examples explaining how variable expansion is performed 2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
f872ddd182 run: add --expand-environment=no to disable server-side envvar expansion
This uses StartExecEx to get the equivalent of ExecStart=:. StartExecEx was
added in b3d593673c, so this will not work with
older systemds.

A hint is emitted if we get an error indicating lack of support. PID1 returns
SD_BUS_ERROR_PROPERTY_READ_ONLY, but I'm checking for
SD_BUS_ERROR_UNKNOWN_PROPERTY too for safety.
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
b58026bddc run: split out creation of unit creation messages
Just refactoring, in preparation for future changes.
(Though I think it'd be reasonable to do anyway, those functions were
awfully long.)

'git diff' displays this badly. The middle part of start_transient_service()
is moved to make_transient_service_unit(), and the middle part of
start_transient_trigger() is moved to make_transient_trigger_unit().
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
ac9a75d05e run: simplify returning of status
start_transient_service() would return two ints: one normally and one via
*retval. We can just return one int and propagate it directly, because we
use DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE().
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
0a27d86a3f core: fix writing of ExecStartEx and friends
The property name is called ExecStartEx, but we have to write it as ExecStart=
in the unit file. :(
Bug introduced in b3d593673c when ex-properties
were initially added.

In addition, we cannot escape $ as $$, because when ":" is used, we wouldn't
unescape $$ back to $.
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
8c41640a71 core/unit: add UNIT_ESCAPE_EXEC_SYNTAX
Unfortunately we can't escape $ when ':' is used to prohibit variable expansion:
  ExecStart=:echo $$
is not the same as
  ExecStart=:echo $

This just adds the functionality and the unittests, without using it anywhere
for real yet.
2023-04-24 10:02:30 +02:00
Zbigniew Jędrzejewski-Szmek
f3af629050 core/unit: rename UNIT_ESCAPE_EXEC_SYNTAX → *_ENV
In preparation for future changes.
2023-04-24 10:02:30 +02:00