Commit Graph
79591 Commits
Author SHA1 Message Date
Yu Watanabe 0584e2aa7c Merge pull request #31425 from YHNdnzj/fd-util-followup
fd-util: introduce fd_verify_safe_flags
2024-02-22 08:29:11 +09:00
Yu Watanabe 46be112082 Merge pull request #31403 from yuwata/pam-sd-bus-session
pam_systemd_home: close sd-bus connection on failure
2024-02-22 08:28:38 +09:00
Yu Watanabe c6939752c1 basic/linux: update kernel headers from v6.8-rc5 2024-02-22 06:22:22 +08:00
Mike Yuan f5cbe31374 journal-native: ignore server_process_native_file error on caller's side
Also, stop saying ", ignoring". It is unclear whether the message
or the error is ignored. "ignoring message" or "refusing" is OK.
2024-02-22 06:17:54 +08:00
Mike Yuan 14f38d179d fd-util: introduce fd_verify_safe_flags
As per https://github.com/systemd/systemd/pull/31419#discussion_r1496921074
2024-02-22 06:17:54 +08:00
medusalix ca4b6b269d hwdb: Add headset form-factor override for Xbox Wireless Dongle
The Xbox Wireless Headset does not get assigned a sound form factor
when connected via the dongle using the `xone` driver.
Add USB IDs for the old & new dongle and built-in variants.
2024-02-22 06:36:38 +09:00
Yu Watanabe 6e2343c714 network/json: use DUID obtained by sd_dhcp6_client_get_duid()
Follow-up for e5aa8c193d.
2024-02-22 05:58:59 +09:00
Lennart Poettering 04a3af3c6d tree-wide: be more careful when passing literal integers to "t" bus message fields
Since we use varargs for sd_message_append() we need to make sure the
parameters we pass are actually 64bit wide, if "t" is used. Hence cast
appropriately if necessary.

I went through the whole tree, and in most cases we got it right, but
there are some cases we missed so far.

Inspired by: #31420
2024-02-22 04:31:50 +09:00
Frantisek Sumsal ff80bd2d6d test: temporarily enable session lingering for the test user #2
Similarly to bbac11c993 we need to enable session lingering for the test
user, so the long-running test units are not killed prematurely:

[   18.822261] testsuite-55.sh[403]: + systemctl start --machine testuser@.host --user testsuite-55-testchill.service
[   18.852775] systemd[1]: Started run-u17.service.
[   19.256431] (o-bridge)[526]: pam_unix(login:session): session opened for user testuser(uid=4711) by testuser(uid=0)
[   19.288346] systemd[1]: Started session-2.scope.
[   20.165874] systemd[392]: Created slice session.slice.
[   20.166459] systemd[392]: Starting dbus-broker.service...
[   20.220189] dbus-broker-launch[529]: Policy to allow eavesdropping in /usr/share/dbus-1/session.conf +31: Eavesdropping is deprecated and ignored
[   20.220189] dbus-broker-launch[529]: Policy to allow eavesdropping in /usr/share/dbus-1/session.conf +33: Eavesdropping is deprecated and ignored
[   20.220494] systemd[392]: Started dbus-broker.service.
[   20.224276] dbus-broker-launch[529]: Ready
[   20.231702] systemd[392]: Created slice testsuite.slice.
[   20.231976] systemd[392]: Created slice testsuite-55.slice.
[   20.232259] systemd[392]: Created slice testsuite-55-workload.slice.
[   31.065294] testsuite-55.sh[403]: + systemctl start --machine testuser@.host --user testsuite-55-testbloat.service
[   31.065641] (sd-pam)[528]: pam_unix(login:session): session closed for user testuser
[   31.066103] (sd-pam)[528]: pam_systemd(login:session): Failed to release session: Access denied
[   31.066152] systemd[392]: Started testsuite-55-testchill.service.
[   31.068062] systemd[1]: run-u17.service: Deactivated successfully.
[   31.068217] dbus-broker[389]: A security policy denied :1.20 to send method call /org/freedesktop/login1:org.freedesktop.login1.Manager.ReleaseSession to org.freedesktop.login1.
[   31.075901] (o-bridge)[537]: pam_unix(login:session): session opened for user testuser(uid=4711) by testuser(uid=0)
[   31.091098] systemd[1]: Stopping session-2.scope...
[   31.092158] systemd[1]: Started run-u21.service.
[   31.092993] systemd[1]: session-2.scope: Deactivated successfully.
[   31.093287] systemd[1]: Stopped session-2.scope.
[   31.095798] systemd[1]: Stopping user@4711.service...
[   31.103541] systemd[392]: Activating special unit exit.target...
[   31.108359] systemd[392]: Stopped target default.target.
[   31.109798] systemd[392]: Stopped target timers.target.
[   31.110790] systemd[392]: Stopping testsuite-55-testchill.service...
[   31.112154] systemd[392]: Stopped testsuite-55-testchill.service.
[   31.114033] systemd[392]: Removed slice testsuite-55-workload.slice.
[   31.114971] systemd[392]: Removed slice testsuite-55.slice.
[   31.115858] systemd[392]: Removed slice testsuite.slice.
...
[   31.475949] testsuite-55.sh[403]: + systemctl --machine testuser@.host --user status testsuite-55-testchill.service
[   31.490464] systemd[1]: session-3.scope: Deactivated successfully.
[   31.565929] systemd[1]: Started run-u33.service.
[   31.592437] (o-bridge)[583]: pam_unix(login:session): session opened for user testuser(uid=4711) by testuser(uid=0)
[   31.610210] systemd[1]: Started session-5.scope.
[   31.616960] testsuite-55.sh[578]: ○ testsuite-55-testchill.service - No memory pressure
[   31.616960] testsuite-55.sh[578]:      Loaded: loaded (/usr/lib/systemd/tests/testdata/units/testsuite-55-testchill.service; static)
[   31.616960] testsuite-55.sh[578]:      Active: inactive (dead)
[   31.617438] (sd-pam)[586]: pam_unix(login:session): session closed for user testuser

Addresses https://github.com/systemd/systemd/pull/31426#issuecomment-1956436844.
2024-02-21 18:24:25 +00:00
Lennart Poettering 2c0061c784 vmspawn: rename "qemu" specific switches to not carry the "qemu" prefix
This renames a few of the switches vmspawn takes, such as --qemu-mem=
and --qemu-smp= to names without the "qemu" moniker and uses less
cryptic names (i.e. --ram= and --cpus=).

I think it's a bit unsystematic that so far we use the "qemu" prefix for
some options but not for others. At least I could not figure out a
system when we use it and when we don't. Hence let's clean it up and
just use simpler names without suffix.

After all we might want to plug other hypervisors behind vmspawn one
day, hence I think there's value in sticking to generic names for these
switches that allow us to switch out backends easily. In particular for
--ram= and --cpus= which are probably the most fundamental of VM settings
there are.

The old switches are support for compat, but not advertised in man page
or --help text anymore.

I left "--qemu-gui" under its current name, since it fundamentally is a
a qemu concept, exposing a qemu specific graphical UI.
2024-02-21 16:35:53 +01:00
Lennart Poettering cf9de8ef21 vspawn: prefer "VSOCK" spelling over "vsock" and "VSock"
The vsock(7) man page appears to prefer "VSOCK" spelling for the
concept, let's also use it as much as we can.
2024-02-21 16:18:24 +01:00
Lennart Poettering 05b924048d update TODO 2024-02-21 15:46:20 +01:00
Lennart Poettering 0d10b4f573 bsod: don't fail in an error path
If we fail in an error path, don't override the error we are processing,
just print a warning and continue.
2024-02-21 15:11:27 +01:00
Lennart Poettering beb15ff639 bsod: remove one redundant variable 2024-02-21 15:11:27 +01:00
Lennart Poettering 5e0c2c3e71 bsod: normalize VT indexes
The 1-based VT indexes are what people usually expect, since the primary
name of VTs uses them (i.e. /dev/tty1, /dev/tty2, …). Hence, let's
always use 1-based VT indexes, and early on convert 0-based VT indexes
to minimize confusion.
2024-02-21 15:11:27 +01:00
Lennart Poettering 8f894121d1 bsod: correct log level on some messages 2024-02-21 15:11:27 +01:00
Lennart Poettering 0a1126c7c2 bsod: make sure "Press Any Key" has a blue background too 2024-02-21 15:11:27 +01:00
Lennart Poettering 8b23b9e5e5 bsod: remove some duplicate logging
display_emergency_message_fullscreen() already logs about all erros,
hence don't log again.
2024-02-21 15:11:27 +01:00
Lennart Poettering 9655cd3c95 bsod: add new option --tty= to specify TTY to output on
If specified we'll not try to find a free V, but instead just output
directly to the specified TTY. This is particularly useful for
debugging, as it means "systemd-bsod --tty=/dev/tty" just works.
2024-02-21 15:11:27 +01:00
Lennart Poettering 1d9fb8c12d bsod: adjust --help text to match our usual output 2024-02-21 15:11:27 +01:00
Susant Sahani 09584d7afb network: JSON - Export DHCPv4 client ID
Allow networkd to export the DHCP4 client ID which right now we don't support.
2024-02-21 13:52:47 +00:00
Luca Boccassi 14975aaef8 Merge pull request #31326 from CodethinkLabs/vmspawn/extra_drives
vmspawn: add --extra-drive= and correctly escape ',' in certain  qemu arguments
2024-02-21 13:52:22 +00:00
Lennart Poettering e90a255e55 pcrlock: handle measurement logs where hash algs in header are announced in different order than in records
Apparently on HyperV the measurement logs announce the hash algs in a
different order in the header than the records have them. Let's handle
this gracefully
2024-02-21 14:45:30 +01:00
Lennart Poettering 0691d0e5a1 pcrlock: document the env vars we honour to find measurement logs
This env vars have been supported for a while, let's document them where
we usually document them.
2024-02-21 14:45:19 +01:00
Daan De Meyer 3f6ce3d4f0 meson: Decouple the version tag from the vcs tag
Let's split off a new vcs-tag option from version-tag that configures whether
the current commit should be appended to the version tag. Doing this saves
us from having to fiddle around with generating git versions in packaging
specs and instead let's meson do it for us, even if we pass in a custom
version tag.

With this approach there's no more need for tools/meson-vcs-tag.sh so
we remove it.
2024-02-21 14:01:25 +01:00
hulkoba eafadb91ce docs: show mkosi project on website 2024-02-21 13:08:08 +01:00
Luca Boccassi 2e904f58e6 Merge pull request #31426 from YHNdnzj/logind-minor-cleanup
logind: some cleanups
2024-02-21 11:35:34 +00:00
Martin Ivicic ea932bd34d networkd: support setting dhcp server port 2024-02-21 19:33:27 +09:00
Susant Sahani e5aa8c193d network: DHCP6 Allow to export DHCP6 DUID (#31355)
We did not support the export of DHCP6 DUID. Let's add this. Some
applications may use it.
2024-02-21 19:32:27 +09:00
Antonio Alvarez Feijoo 68ad9e43f6 cryptsetup-tokens: fix typo in comments 2024-02-21 10:23:43 +00:00
Sam Leonard 1ec3218e82 vmspawn: add --extra-drive= 2024-02-21 10:22:40 +00:00
Sam Leonard 018cc9eaf6 vmspawn: correctly escape ',' in certain values passed to qemu 2024-02-21 10:22:40 +00:00
Frantisek Sumsal 8f0dbbd758 homectl: make sure we sent the full 8 bytes as flags
Otherwise weird stuff happens on the other side:

[1217111.957263] testsuite-46.sh[61]: + homectl create test-user --disk-size=min --luks-discard=yes --image-path=/home/test-user.home --luks-pbkdf-type=pbkdf2 --luks-pbkdf-time-cost=1ms
[1217112.598219] homectl[66]: Operation on home test-user failed: Provided flags are unsupported (0ad2578000000000).

(taken from TEST-46-HOME run on armv7l)

Fixes issue mentioned in https://github.com/systemd/systemd/pull/31419#issuecomment-1955117397.
2024-02-21 10:14:51 +00:00
Lennart Poettering 234bdd9c99 process-util: use proc_mounted() check at one more place 2024-02-21 09:25:46 +01:00
Lennart Poettering 2287565d46 pid1: port executor binary pinning to new build path logic 2024-02-21 09:25:46 +01:00
Lennart Poettering 84ab5d1f95 sysupdate: port over to new invoke_callout_binary() call 2024-02-21 09:25:46 +01:00
Lennart Poettering c17c467144 userdbd: port userdbd over to invoke_callout_binary() 2024-02-21 09:25:46 +01:00
Lennart Poettering a0afd4e733 importd: port importd over to new invoke_callout_binary() API 2024-02-21 09:25:46 +01:00
Lennart Poettering d39a161a46 homed: port to use new invoke_callout_binary() API 2024-02-21 09:25:46 +01:00
Lennart Poettering 950ca1788e build-path: allow overriding of all callout binary paths via an env var 2024-02-21 09:25:46 +01:00
Lennart Poettering 91d149cfb4 basic: add "build path" logic
We have a number of components these days that are split into multiple
binaries, i.e. a primary one, and a worker callout usually. These
binaries are closely related, they typically speak a protocol that is
internal, and not safe to mix and match. Examples for this:

- homed and its worker binary homework
- userdbd and its worker binary userwork
- import and the various pull/import/export handlers
- sysupdate the same
- the service manager and the executor binary

Running any of these daemons directly from the meson build tree is
messy, since the implementations will typically invoke the installed
callout binaries, not the ones from the build tree. This is very
annoying, and not obvious at first.

Now, we could always invoke relevant binaries from $(dirname
/proc/self/exe) first, before using the OS installed ones. But that's
typically not what is desired, because this means in the installed case
(i.e. the usual one) we'll look for these callout binaries at a place
they typically will not be found (because these callouts generally are
located in libexecdir, not bindir when installed).

Hence, let's try to do things a bit smarter, and follow what build
systems such as meson have already been doing to make sure dynamic
library discovery works correctly when binaries are run from a build
directory: let's start looking at rpath/runpath in the main binary that
is executed: if there's an rpath/runpath set, then we'll look for the
callout binaries next to the main binary, otherwise we won't. This
should generally be the right thing to do as meson strips the rpath
during installation, and thus we'll look for the callouts in the build
dir if in build dir mode, and in the OS otherwise.
2024-02-21 09:25:46 +01:00
Mike Yuan de53c661bc logind-dbus: clean up manager_{start,stop,kill}_unit 2024-02-21 15:55:01 +08:00
Mike Yuan 783e816e81 logind-dbus: rearrange functions 2024-02-21 15:50:13 +08:00
Mike Yuan d536e8b5e9 logind-session-dbus: drop unneeded unref_and_replace
If there's pending s->upgrade_message, we already return early
above.
2024-02-21 15:37:33 +08:00
Yu Watanabe 3c6d9d1c39 Merge pull request #31405 from yuwata/network-ndisc-reachable-time
network/ndisc: set neighbor reachable time
2024-02-21 14:29:01 +09:00
Mike Yuan e404ca3eb7 Merge pull request #31419 from AdrianVovk/fixup-largefile-define
Fixup largefile define
2024-02-21 13:12:30 +08:00
Yu Watanabe a6a6197e9d pam_systemd_home: always close already opened bus connection in open_session()
Fixes #31375.
2024-02-21 13:22:54 +09:00
Yu Watanabe 0324e3d045 pam_systemd_home: open sd-bus session when necessary
No functional change, just refactoring.
2024-02-21 12:45:32 +09:00
Yu Watanabe 9891f1d371 pam-util: add one more debugging log about sd-bus connection
Continuation of b5b2510800.
2024-02-21 12:09:21 +09:00
Yu Watanabe 9e39d0a32a Merge pull request #31408 from mrc0mmand/verify-unit-files-v2
test: verify our own units (where applicable)
2024-02-21 12:01:48 +09:00