1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-18 10:04:04 +03:00

71839 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
c78e86ab8d
Merge pull request #31777 from keszybz/unit-retitling-and-comments
Unit retitling and comments
2024-03-15 15:57:10 +01:00
Yu Watanabe
dbf66cd1ab network/address: acquire address in address_process_request()
Previously, if an [Address] section is configured with a null address,
e.g. Address=0.0.0.0/24, then we acquired a free address in
link_request_address().

With this commit, we queue a request with the null address as is, and
acquire a free address later in address_process_request(). Similary,
now IPv4ACD daemon is configured in address_process_request().

With this change, we can make the address acquisition depend on other
conditions, e.g. if the persistent storage is ready or not.
2024-03-15 14:54:49 +00:00
Luca Boccassi
df81883aa5 NEWS: fix typo and reword a couple of entries 2024-03-15 14:51:31 +00:00
Jörg Behrmann
db319cb460 NEWS: fix typos 2024-03-15 23:41:18 +09:00
Mike Yuan
0867b87a90
NEWS: fix typo 2024-03-15 22:35:05 +08:00
Zbigniew Jędrzejewski-Szmek
aa747c0033 TODO: various things noticed while writing NEWS 2024-03-15 15:25:15 +01:00
Zbigniew Jędrzejewski-Szmek
e91db7371b NEWS: add initial version of changes in v256 2024-03-15 15:25:15 +01:00
Max Gautier
ba53d4eb9a documentation: fix inconsistency
Since this sentence is in the same section it refers to, it does not
make much sense to mention the "section below".
2024-03-15 14:09:52 +00:00
Evgeny Vereshchagin
2e0c2fb8fb cifuzz,cflite: set mmap_rnd_bits to 28
to get MSan jobs to work with the latest Ubuntu images.

https://github.com/google/sanitizers/issues/1614
https://github.com/actions/runner-images/issues/9491
2024-03-15 21:58:41 +09:00
Unique-Usman
6a57d86bf9 Added a test file for the dirent-util.c 2024-03-14 22:53:32 +00:00
Yu Watanabe
6e0abf5fb3 docs: fix typo
Follow-up for 34c6b7d9de64e357071005ec49e88d2354cc4e8a.
2024-03-15 04:04:01 +09:00
Lennart Poettering
afd20791ef update TODO 2024-03-14 19:09:55 +01:00
Lennart Poettering
f63c1ada25
Merge pull request #31739 from poettering/pid1-sd-notify-tweaks
pid1: send various notifications via sd_notify() reporting boot progress
2024-03-14 18:43:57 +01:00
Yu Watanabe
134fe8d274 network: introduce link_requeue_request() 2024-03-15 02:28:48 +09:00
Yu Watanabe
c91f8f90ba network: use link_start_dhcp4_server() at one more place
Otherwise, even if the persistent storage is not ready, the DHCP server
may be started e.g. by unplugging and plugging cable.

Follow-up for 5582b36c384fc522c23ef1ac032001882d033aff.
2024-03-15 02:28:38 +09:00
Adrian Wannenmacher
c6d0c6688e man: fix efi var vendor uuid for systemd-bless-boot.service
The specified vendor UUID is not actually a UUID. This changes it to an actual UUID.

The new value matches the ones from the systemd-boot man page and [The Boot Loader Interface](https://systemd.io/BOOT_LOADER_INTERFACE/).
2024-03-14 16:54:49 +00:00
Lennart Poettering
34c6b7d9de docs: add a new document describing the VM interface of systemd
This mirrors the existing CONTAINER_INTERFACE.md document, but describes
extension points of systemd running in a VM with a machine manager
supervising it.
2024-03-14 17:25:04 +01:00
Lennart Poettering
83797ece91 docs: update various links 2024-03-14 17:25:00 +01:00
Lennart Poettering
b6a24b87c1 docs: properly line break WRITING_VM_AND_CONTAINER_MANAGERS.md 2024-03-14 17:24:57 +01:00
Lennart Poettering
1e785c50c9 docs: document new sd_notify() extensions 2024-03-14 17:24:24 +01:00
Lennart Poettering
e6ceea090a nspawn: add some debug logging for sd_notify() messages received by the container manager 2024-03-14 17:24:20 +01:00
Lennart Poettering
6dfa0a9d4c manager: send an sd_notify() message informing the container manager when systemd's special UNIX signals become available
From the outside it's difficult to determine whether (and when) the PID1
inside a container supports systemd's more complete set of UNIX process
signals or not. Let's make this easier, and simply send a notification
message when we are ready.
2024-03-14 17:24:16 +01:00
Lennart Poettering
e62731f942 manager: modernize code that enables special signal delivery to PID 1 2024-03-14 17:24:13 +01:00
Lennart Poettering
95be59f907 ssh-generator: introduce ssh-access.target
This new passive target is supposed to be pulled in by SSH
implementations and should be reached when remote SSH access is
possible. The idea is that this target can be used as indicator for
other components to determine if and when SSH access is possible.

One specific usecase for this is the new sd_notify() logic in PID 1 that
sends its own supervisor notifications whenever target units are
reached. This can be used to precisely schedule SSH connections from
host to VM/container, or just to identify systems where SSH is even
available.
2024-03-14 17:23:28 +01:00
Lennart Poettering
b2d6bb5b34 core: notify supervisor over targets we reach, as we reach them
Let's inform the the supervisor about various happenings of our service
manager, specifically the boot milestones we reach.

We so far have only a singular READY=1 message, to inform about bootup
completion. But sometimes it is interesting to have something for
finegrained, in particular something that indicates optional components
that have been activated.

Usecase for this: in a later PR I intend to introduce a generic
"ssh.target" that is supposed to be activated when SSH becomes available
on a host. A supervisor (i.e. a VMM/hypervisor/container mgr/…) can
watch for that, and know two things:

1. that SSH is generally available in the system
2. when it is available

In order to not flood the supervisor with events I only send these out
for target units. We could open this up later, in theory, but I think it
makes sense to tell people instead to define clear milestone target
units if they want a supervisor to be able to track system state.
2024-03-14 17:23:10 +01:00
Lennart Poettering
ad60cdd050 manager: clean up audit/plymouth code a bit
Let's add assert()s, and let's put checks in similar order to emphasize
the symmetry. Also let's do cheap checks first.
2024-03-14 17:23:06 +01:00
Lennart Poettering
e516c4d286 machine-id-setup: inform supervisor about chosen machine ID
Similar as the previous commit, it's useful for a supervisor to know
what machine ID we settlted on, in particular as various other things
are deterministically derived from it, for example MAC addresses and
such.
2024-03-14 17:23:02 +01:00
Lennart Poettering
2f3b55c4f1 hostname-setup: send chosen hostname to supervisor via sd_notify()
once we decided on a hostname, let's tell the supervisor about it. This
is useful for example in order to recognize the system via mDNS/LLMNR or
in a DHCP lease.
2024-03-14 17:22:58 +01:00
Lennart Poettering
5a515940e9 hostname-setup: various modernizations 2024-03-14 17:22:54 +01:00
Lennart Poettering
37d15cd132 manager: make manager_send_ready() more symmetric regarding per-user/per-service scope
Always check the scope explicitly, always assert(m), and name the two
functions in a symmetric way.
2024-03-14 17:22:49 +01:00
Lennart Poettering
fb44dc646b core: normalize how we issue sd_notify() from PID 1
Always cast to (void) if we ignore the return value.

Always pass the first arg as boolean.

Always prefix the first arg with /* unset_environment= */.
2024-03-14 17:20:46 +01:00
Yu Watanabe
6b67cf808a json: introduce json_dispatch_int8() and json_dispatch_uint8() 2024-03-14 23:56:44 +08:00
Yu Watanabe
d30d44883f stat-util: expose fd_is_read_only_fs()
Currently it is not used, but the fucntion is already quite generic and
useful.
2024-03-14 23:45:27 +08:00
Piotr Drąg
2c75cb8b51 po: add pkg/debian to POTFILES.skip
Debian packaging includes the exploded tarball, so scripts used to
detect files that should be in POTFILES.in, like intltool-update -m
used on https://l10n.gnome.org/module/systemd/, falsely detect its
files as needed to be translated. Avoid this behavior by putting
the whole submodule in POTFILES.skip.
2024-03-14 13:41:56 +00:00
Mike Yuan
cd804013a6 shell-completion: add systemd-cat --namespace=
Follow-up for 45bcab66a9c23a74107118d310e09a46f28494fd

Addresses https://github.com/systemd/systemd/pull/31754#discussion_r1524715062
2024-03-14 13:07:19 +00:00
Yu Watanabe
cdafb51ab4
Merge pull request #31754 from YHNdnzj/journal-fd-namespace
journal/cat: allow connecting output to specific journal namespace
2024-03-14 19:59:19 +09:00
Zbigniew Jędrzejewski-Szmek
a954b427e9 src/partition: remove unnecessary uses of "make sure" 2024-03-14 11:15:55 +01:00
Zbigniew Jędrzejewski-Szmek
25e98e331d units: retitle systemd-bootctl*.{service,socket}
"Starting Boot Control…" would be a fairly confusing message in the boot logs.
Use "… Service" to mirror what we have in other services like
systemd-{hostnamed,timedated,portabled,machined,…}.service.
2024-03-14 11:15:55 +01:00
Zbigniew Jędrzejewski-Szmek
3986aa6d08 units: drop "(Varlink)"
We generally don't specify the protocol implementation in unit descriptions.

For journald, we have:
  $ git grep Description 'units/*journald*'
  units/systemd-journald-audit.socket:Description=Journal Audit Socket
  units/systemd-journald-dev-log.socket:Description=Journal Socket (/dev/log)
  units/systemd-journald-varlink@.socket:Description=Journal Varlink Socket for Namespace %i
  units/systemd-journald.service.in:Description=Journal Service
  units/systemd-journald.socket:Description=Journal Sockets
  units/systemd-journald@.service.in:Description=Journal Service for Namespace %i
  units/systemd-journald@.socket:Description=Journal Sockets for Namespace %i
so we need to keep "Varlink" in the name. But also use "Sockets" (plural)
for the "main" socket unit, since it opens multiple sockets.
2024-03-14 11:14:10 +01:00
Lennart Poettering
7b14f85cd8 man: shorten unnecessarily long example 2024-03-14 11:05:04 +01:00
Lennart Poettering
837eda0522
Merge pull request #31770 from poettering/linkat-replace
introduce linkat_replace() helper, and port various things over to it
2024-03-14 11:03:59 +01:00
Zbigniew Jędrzejewski-Szmek
4fd9ed3e41 units/systemd-machine-id-commit: retitle
Our docs say that the Description should be capitalized.
Also, change "commit" to "save" to make this more accessible.
2024-03-14 10:26:45 +01:00
Zbigniew Jędrzejewski-Szmek
3719dcb0bc units: retitle systemd-pcrextend.{service,socket}, change TPM2→TPM
I was looking at the logs in some bug and saw this:

Mar 13 15:55:12 fedora systemd[1]: systemd-pcrmachine.service - TPM2 PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
Mar 13 15:55:12 fedora systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
Mar 13 15:55:12 fedora systemd[1]: systemd-tpm2-setup-early.service - TPM2 SRK Setup (Early) was skipped because of an unmet condition check (ConditionSecurity=measured-uki).

This is overly technical, for most units we don't provide this level of
detail about the implementation. So retitle the units to be more accessible.

Also, the fact that it's a v. 2 of the TPM is not that important. We don't
support TPM 1.2, but computers without TPM v2 are getting rare. For other
units we don't advertise the version of hardware, and let's not do this here,
to reduce some complexity.
2024-03-14 10:26:45 +01:00
Yu Watanabe
af02814a85 ptyfwd: fix typo
Follow-up for d0aa368c85adf2efa29c363a6671927fe7e8e76f.
2024-03-14 17:40:26 +09:00
Yu Watanabe
fcaa510597 TODO: fix typo
Follow-up for 54b0e05ed0db04d515ecf7773e39cd61b6445698.
2024-03-14 17:39:12 +09:00
Yu Watanabe
f03caa0d3e stat-util: fix typo
Follow-up for 7cff2b79f00e82c85d0773e8cb4074c59abc6f43.
2024-03-14 17:37:50 +09:00
Lennart Poettering
5655e5c955 creds-util: port make_credential_host_secret() over to link_tmpfile_at()
Let's simplify things by just reusing the primitives we already have.
2024-03-14 09:22:09 +01:00
Lennart Poettering
ccec206498 tmpfile-util: port link_tmpfile_at() over to linkat_replace() 2024-03-14 09:22:09 +01:00
Lennart Poettering
1f27e7b724 fs-util: add new helper linkat_replace() 2024-03-14 09:22:09 +01:00
Lennart Poettering
0b8e36f064 fs-util: move link_fd() from tmpfile-util.c into generic fs-util.c
It's a generically useful call, let's move it so that we can use it at
more places.
2024-03-14 09:17:46 +01:00