Commit Graph
71910 Commits
Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek 4eb3ec63b0 basic/socket-util: use strdup_to() in sockaddr_pretty()
The function was written to support ret==NULL, but the only caller always
passes ret, and sockaddr_pretty() also requires ret to be set, so that
half-implemented code wasn't very useful.
2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek f394876140 coredump: use free_and_strdup_warn() more 2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek 55222b75a6 systemd-analyze: use strdup_to() 2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek 94b75cdb06 basic/fileio: use strdup_to_full() in read_stripped_line()
The return value of read_stripped_line() is changed. Before we'd return the
number of characters read, but that number was not meaningful after we called
strstrip(). So just return 0 if nothing was read (EOF), and 1 if something was
read (not EOF). All the callers were only checking for <0 or ==0.
2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek 4f77ddca59 various: also use strdup_to() in cases where we don't return immediately 2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek 418b936d47 various: use strdup_to() after getenv() 2024-03-20 15:18:21 +01:00
Zbigniew Jędrzejewski-Szmek 454318d3e8 various: use strdup_to() in various obvious cases
strdup_to() returns 0 on success and here we convert obvious blocks
which either return -ENOMEM or 0.
2024-03-20 15:13:44 +01:00
Zbigniew Jędrzejewski-Szmek 7e850da3d6 test-cgroup-util: reduce scope of iterator variables 2024-03-20 15:13:44 +01:00
Zbigniew Jędrzejewski-Szmek 8922a728f7 basic/cgroup-util: use strdup_to() and strdup_to_full() as appropriate 2024-03-20 15:13:44 +01:00
Zbigniew Jędrzejewski-Szmek d3a3d2d328 hostnamed: use strdup_to_full() 2024-03-20 15:13:44 +01:00
Zbigniew Jędrzejewski-Szmek 892c5902ae src/basic: add yet another strdup helper
It's a bit ugly to have both strdup_to() and strdup_to_full(). I initially
started with one variant, but then in some functions we want the additional
info, while in many other places, having 1 instead of 0 causes the return
value of whole chains of functions to be changed. It *probably* wouldn't cause
any difference, but there is at least of bunch of tests that would need to be
updated, so in the end it seems to have the two variants.

The output param is first to match free_and_strdup() and other similar
functions.
2024-03-20 15:12:12 +01:00
Zbigniew Jędrzejewski-Szmek fb01ab09d3 TODO: drop entry about renaming
NamespaceId is inconsistent with our general spelling rules which say that
capitalization of acronyms should not be changed when they are concatenated in
CapitalizedCamelCase strings. But NamespaceId was added in
f2ef8b28a5, before v249, so it's too late to
change it. OTOH, NamespaceNSID cannot really be spelled in any other way.
"NamespaceNsid" would be quite bad. So let's just ignore the inconsistency in
naming, this seems to be the least bad option.
2024-03-19 23:55:03 +01:00
Zbigniew Jędrzejewski-Szmek d1f3cd7aaa units: add one more equivalency of '-' in '_' on kernel cmdline
c0aeff4b99 added this in one unit file, but the
same problem occurs here. (There are no other files where this would apply.)
I think we should solve this systematically somehow, but it's not clear how to
do that, so until we have that better solution, let's apply the manual solution
so that our units work as expected.
2024-03-19 13:06:44 +00:00
Daan De Meyer db7374e156 Document new vsock literals
Fixes #31849
2024-03-19 12:31:36 +00:00
Unique-Usman e19186359a Add a set of assertion macros to tests.h
(ASSERT_OK(), ASSERT_EQ(), ASSERT_GE(), ASSERT_LE()) that log the failed condition before crashing and convert test-gpt.c test file to use them
2024-03-19 11:37:45 +00:00
Abraham Samuel Adekunle 6644445586 Add new unittest for shared:recovery-key 2024-03-19 11:02:39 +00:00
Yu Watanabe 169b282bf9 Merge pull request #31841 from AdrianVovk/homed-trivial
Small homed changes + revert
2024-03-19 17:22:34 +09:00
Yu Watanabe 27e3e6a321 Merge pull request #31772 from yuwata/network-persistent-storage-use-fd
network: pass fd of persistent storage, then use ProtectSystem=strict again
2024-03-19 16:37:15 +09:00
Yu Watanabe a9e7894d38 unit/network: use ProtectSystem=strict again
Now, networkd accesses the state directory through the file descriptor
passed from systemd-networkd-persistent-storage.service.
Hence, the networkd itself does not need to access the state directory
through its path, and we can use more stronger mode for ProtectSystem=.
2024-03-19 15:15:32 +09:00
Yu Watanabe bfd8f70cb8 network/varlink: pass file descriptor of state directory with SetPersistentStorage method
The state directory is owned by systemd-networkd-persistent-storage.service,
at least technically. Let's not directly access the storage through the path,
but through the fd.

Addresses https://github.com/systemd/systemd/pull/31746#issuecomment-1993556966.

Suggested-by: Mike Yuan <me@yhndnzj.com>
2024-03-19 15:15:32 +09:00
Adrian Vovk 1f8aa8456e homed: Minor man page improvements 2024-03-18 15:31:18 -04:00
Adrian Vovk 7555fc9122 homed: Minor function name cleanup
It's not actually a dbus method, just function that all the various dbus
methods end up calling to update the user record. So rename it to
reflect as such
2024-03-18 15:31:17 -04:00
Adrian Vovk 5d490208a8 Revert "homed: Add InhibitSuspend() method"
I'm moving this functionality into logind instead.

This reverts commit 691b99160d.
2024-03-18 15:31:16 -04:00
Daan De Meyer 01285611b0 Merge pull request #31838 from DaanDeMeyer/opensuse
mkosi: OpenSUSE fixes
2024-03-18 17:20:15 +01:00
Edson Juliano Drosdeck f1c198719d Fix Positivo N14NPE-N and N15NPE-N key toggle touchpad and search key 2024-03-18 15:35:50 +00:00
Daan De Meyer a1eeb4d753 mkosi: Install systemd-experimental in OpenSUSE initrd
systemd-repart is part of systemd-experimental and we need systemd-repart
in the initrd so let's install systemd-experimental in the initrd.
2024-03-18 16:20:15 +01:00
Daan De Meyer bd9bec99d0 mkosi: Install python3-pefile in OpenSUSE image
ukify is part of systemd-experimental on OpenSUSE and not its own
package. Because the OpenSUSE systemd maintainers do not want to
introduce a python dependency for systemd-experimental, we have to
install python3-pefile manually to make sure ukify works properly.
2024-03-18 16:20:00 +01:00
Luca Boccassi 399560aa30 Merge pull request #31747 from yuwata/ptyfwd
ptyfwd: do not erase line after NL
2024-03-18 14:10:45 +00:00
Yu Watanabe c73f2b7295 test: fix typo
Follow-up for fcf38e2cb3.
2024-03-18 22:48:24 +09:00
Ronan Pigott 88123aa21c dnssd: support service subtypes
A service subtype is used for selective enumeration of services.
2024-03-18 13:16:48 +00:00
Luca Boccassi 15d4bedf3d Merge pull request #31778 from yuwata/kbd-util
kbd-util: allow to override the default keymap directories
2024-03-18 12:20:36 +00:00
Nick Rosbrook 6fec0fed10 shared/install: correctly install alias for units outside search path
Currently, if a unit file is enabled from outside of the search path,
and that unit has an alias, then the symlink ends up pointing outside of
the search path too. For example:

 $ cat /tmp/a.service
 [Service]
 ExecStart=sleep infinity

 [Install]
 Alias=b.service
 WantedBy=multi-user.target

 $ systemctl enable /tmp/a.service
 Created symlink /etc/systemd/system/a.service → /tmp/a.service.
 Created symlink /etc/systemd/system/b.service → /tmp/a.service.
 Created symlink /etc/systemd/system/multi-user.target.wants/a.service → /tmp/a.service.

This then means the alias is treated as a separate unit:

 $ systemctl start a.service
 $ sudo systemctl status a
 ● a.service
  Loaded: loaded (/etc/systemd/system/a.service; enabled; preset: enabled)
  Active: active (running) since Fri 2024-03-15 15:17:49 EDT; 9s ago
 Main PID: 769593 (sleep)
   Tasks: 1 (limit: 18898)
  Memory: 220.0K
     CPU: 5ms
  CGroup: /system.slice/a.service
          └─769593 sleep infinity

 Mar 15 15:17:49 six systemd[1]: Started a.service.
 $ sudo systemctl status b
 ○ b.service
  Loaded: loaded (/etc/systemd/system/b.service; alias)
  Active: inactive (dead)

To fix this, make sure the alias uses a target that is inside the search
path. Since the unit file itself is outside of the search path, a
symlink inside the search path will have been created already. Hence,
just point the alias symlink to that recently created symlink.
2024-03-18 11:58:07 +00:00
Ronan Pigott ce88017255 resolved: wait to gc transactions if they might still give an answer
In some cases when a query completes there are still pending
transactions that are no longer useful to answer the query. But if this
query is repeated in the future and we don't have the answers cached,
we're going to ask and ignore the answer again.

Instead of purging these superfluous transactions, let's wait and see if
they produce an answer, since we already asked the question, and use it
to fill our cache.
2024-03-18 11:10:11 +00:00
Luca Boccassi 48570c9273 Merge pull request #31811 from yuwata/network-pin-persistent-storage
network: pin file descriptor of persistent storage
2024-03-18 11:08:21 +00:00
Abraham Samuel Adekunle fcf38e2cb3 Add unittest file for basic:label 2024-03-18 11:04:42 +00:00
Luca Boccassi 9cebda59e8 Merge pull request #31829 from keszybz/more-header-checks
Update c/c++ version checks and add test for -std=c++26
2024-03-17 17:58:59 +00:00
Daan De Meyer e4bdf1d830 Merge pull request #31831 from DaanDeMeyer/opensuse
Update opensuse packaging specs submodule to latest
2024-03-17 17:03:09 +01:00
Daan De Meyer 4c8ab1e0ee Update arch/debian packaging source URLs
Let's use the actual URL to avoid warnings from git about getting
redirected.
2024-03-17 16:47:19 +01:00
Daan De Meyer 99cc65a0c9 Switch opensuse packaging specs source url to src.opensuse.org
opensuse's OBS has two git mirrors, code.opensuse.org uses pagure,
src.opensuse.org uses gitea. Let's try src.opensuse.org as pagure
doesn't seem to work properly when more advanced git functionality
is used.
2024-03-17 16:45:33 +01:00
Luca Boccassi a0f288c3e7 Merge pull request #31821 from behrmann/news256
NEWS: more reformulations and fixlets
2024-03-17 13:14:16 +00:00
Daan De Meyer 966e05af04 tpm2-setup: Add --graceful
Currently the associated units fail if full tpm support is not available
on the system. Similar to systemd-pcrextend, let's add a --graceful option
that exits gracefully if no full TPM support is detected and use it in both
units.
2024-03-17 13:34:51 +01:00
Daan De Meyer c0aeff4b99 units: Accept modules_load and rd.modules_load in systemd-modules-load.service
The service will use either, so let's make sure either of them starts
the service as well.
2024-03-17 13:33:45 +01:00
Zbigniew Jędrzejewski-Szmek 3317aedff0 meson: test with c++26 too
The docs say that support is experimental, but it's better for us if we know
about any problems early.

Header tests pass without any issue with gcc-14.0.1-0.8.fc40.x86_64.
2024-03-17 12:23:07 +01:00
Zbigniew Jędrzejewski-Szmek 345ef6eb56 meson: gcc docs say that name "c2x" is deprecated 2024-03-17 12:23:06 +01:00
Zbigniew Jędrzejewski-Szmek 62dfaa229e meson: use loops to unify repeated checks 2024-03-17 12:23:05 +01:00
Jörg Behrmann 28ec58298f NEWS: style fixes and a few reformulations
- mention the version format spec for sytsemd-vpick
- say what "systemd-creds --user" can be used by unprivileged users as well
- say what importctl does
- use en dash instead of em dash
- add a missing article
2024-03-16 15:16:01 +01:00
samuelvw01 3623a7ea83 Update _udevadm 2024-03-16 21:51:56 +09:00
Jörg Behrmann 80e748155e man: add missing "and" to importctl description 2024-03-16 12:52:48 +01:00
Yu Watanabe 7b799b870f units: use relative path 2024-03-16 05:31:44 +09:00
Daan De Meyer e48c170f51 mkosi: Do disk space cleanup asynchronously
This can actually take a rather long time (multiple minutes) so
make sure we do it asynchronously.
2024-03-16 05:31:25 +09:00