Commit Graph
75870 Commits
Author SHA1 Message Date
James Coglan b8112c9d68 resolved: tests for parsing DNS packet headers 2024-07-22 09:46:27 +01:00
Daan De Meyer 4ecd6c3552 mkosi: update arch commit reference
* 1d577a6268 refresh the keys
* 12383ba712 make libarchive a regular optional dependency...
* f51d5e04bf ignore rc releases in nvchecker
* 0b096a2baa add nvchecker
* 5f0ced863c upgpkg: 256.2-1: new upstream release
2024-07-22 10:28:57 +02:00
Daan De Meyer 1d8f16df90 mkosi: update fedora commit reference
* 00babccdea Simplify BFQ scheduler enablement
* ef8ddb130b Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* 5b4a5461d6 Fix changelog
* a8c5c736f6 Only apply shorter shutdown timer changes on Fedora
*   f4e284cd7a Merge #150 `Deal with systemd-timesyncd backport in EPEL`
|\
| * 9378a0733a Deal with systemd-timesyncd backport in EPEL
* | 12d1f05029 Don't claim /sbin/installkernel if building for CentOS Stream 9
|/
* 79828f2753 spec: use "positive" conditions in conditionals
* c5d3af1638 Add build dependency on rsync on CentOS Stream 9
* 8d080fb5cb Backport udma buffer access patch
* 6084453807 Add support for building from a specific branch
* cb9d631ca0 Update PR patch metadata
* 3889da947e In standalone subpackages, suggest coreutils-single
* b7800e3e66 Drop versions from Conflicts for standalone packages
2024-07-22 10:28:50 +02:00
Gregor Herburger 1aa74ad048 test: systemd-networkd-tests: add fdb learned tests
Add a test for the new bridge netlink attributes IFLA_BR_FDB_N_LEARNED and
IFLA_BR_FDB_MAX_LEARNED.

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Gregor Herburger 5a3e759bd0 networkctl: add support to display learned fdb entries
Since Linux commit ddd1ad68826d ("net: bridge: Add netlink knobs for number
/ max learned FDB entries") [1] it is possible to limit to number of
dynamically learned fdb entries per bridge.

Add support to the systemd networkctl for the netlink bridge attributes
IFLA_BR_FDB_MAX_LEARNED and IFLA_BR_FDB_N_LEARNED.

[1] https://lore.kernel.org/all/20231016-fdb_limit-v5-0-32cddff87758@avm.de/

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Gregor Herburger f379f36b11 network: bridge: add support for IFLA_BR_FDB_MAX_LEARNED
Since Linux commit ddd1ad68826d ("net: bridge: Add netlink knobs for number
/ max learned FDB entries") [1] it is possible to limit to number of
dynamically learned fdb entries per bridge.

Add support to the systemd netdev bridge for the new netlink attribute
IFLA_BR_FDB_MAX_LEARNED.

[1] https://lore.kernel.org/all/20231016-fdb_limit-v5-0-32cddff87758@avm.de/

Signed-off-by: Gregor Herburger <gregor.herburger@ew.tq-group.com>
2024-07-22 10:27:56 +02:00
Daan De Meyer ebbae3d632 mkosi: Use the Fedora Rawhide spec for CentOS
These are now practically identical, with the only differences between
the two having no effect on the rpm builds we do with mkosi, so let's
cut out the middle man and just use the Fedora Rawhide spec for CentOS
as well.
2024-07-22 10:25:46 +02:00
Daan De Meyer 762b23e86a mkosi: Switch back to PKG_SUBDIR instead of symlinks
Previously I thought it would make sense to allow running the build
scripts from within the VM/container to rebuild the packages. Instead
we ended up making it possible to rerun mkosi outside of the container/VM
to rebuild the packages, so let's switch back to $PKG_SUBDIR to tell the
build scripts where to look for the packaging sources.
2024-07-22 10:22:48 +02:00
Mike Yuan 19eccb7667 core: pin notify sender through pidfd (potentially SCM_PIDFD) 2024-07-22 09:38:48 +02:00
Mike Yuan 31d76a1702 missing_socket: add SCM_PASSPIDFD and SCM_PIDFD
Preparation for later commits.
2024-07-21 22:50:58 +02:00
Mike Yuan d3d0e36156 core/service: use switch in service_notify_message_authorized() 2024-07-21 22:48:54 +02:00
Mike Yuan 7d6e1293b2 core/manager: minor refactor for manager_dispatch_notify_fd() 2024-07-21 22:48:54 +02:00
Mike Yuan 678f271cff core/manager: modernize manager_setup_notify() a bit 2024-07-21 22:48:53 +02:00
Mike Yuan 8dc303d3c8 process-util: modernize pidfd_get_pid() 2024-07-21 22:48:53 +02:00
Mike Yuan 77f709ca84 pidref: move comments that doesn't belong in pidref_copy() to pidref_dup()
Follow-up for 232e66217d
2024-07-21 22:48:53 +02:00
Mike Yuan 93df5cf8d9 core/dbus: use Manager.prefix where appropriate 2024-07-21 22:48:53 +02:00
Mike Yuan 71f2ba82cf core/dbus: make two functions return void 2024-07-21 22:48:52 +02:00
Mike Yuan 777f69006b core/device: prefix DEVICE_FOUND_MASK with '_'
In accordance to our usual style for special enum values.
2024-07-21 22:48:52 +02:00
Mike Yuan 32020b4788 core/device: minor refactors 2024-07-21 22:48:14 +02:00
Mike Yuan 52ffb3c95f Merge pull request #32612 from YHNdnzj/creds-test
core/service: imply Type=exec if credentials are used
2024-07-21 22:27:42 +02:00
Mike Yuan 757e469d26 core/service: imply Type=exec if credentials are used
When credentials are used with Type=simple + ExecStartPost=,
i.e. when multiple sd-executor instances are running in parallel
for a single service, the state of final credential dir
might be unexpected wrt path_is_mount_point() and other
steps. So, let's imply Type=exec if not explicitly specified,
and emit a warning otherwise.
2024-07-21 19:10:58 +01:00
Mike Yuan 60b218e36e test-execute: ExecStop= and friends should not get credentials
See #32583
2024-07-21 19:10:58 +01:00
Kamil Szczęk 88cf0906aa cryptsetup: handle parallel activation of volumes with another tool gracefully
This commit makes systemd-cryptsetup exit with a successful status when
the volume gets unlocked outside of the current systemd-cryptsetup
process while it was executing. This can be easily reproduced by calling
systemd-cryptsetup, and while it waits for user to input a password/PIN,
unlock the volume in a second terminal. Then after entering the password
systemd-cryptsetup will exit with a non-zero status code.
2024-07-21 19:02:59 +01:00
Luca Boccassi eab98338f8 Merge pull request #33443 from YHNdnzj/oneshot-destroy-cred
core/service: destroy runtime data when Type=oneshot services exit
2024-07-21 18:44:25 +01:00
Etienne Champetier 0a4ecc54cb udev-builtin-net_id: use firmware_node/sun for ID_NET_NAME_SLOT
pci_get_hotplug_slot() has the following limitations:
- if slots are not hotpluggable, they are not in /sys/bus/pci/slots.
- the address at /sys/bus/pci/slots/X/addr doesn't contains the function part,
  so on some system, 2 different slots with different _SUN end up with the same
  hotplug_slot, leading to naming conflicts.
- it tries all parent devices until it finds a slot number, which is incorrect,
  and what led to NAMING_BRIDGE_MULTIFUNCTION_SLOT being disabled.

The use of PCI hotplug to find the slot (ACPI _SUN) was introduced in
https://github.com/systemd/systemd/commit/0035597a30d120f70df2dd7da3d6128fb8ba6051
"udev: net_id - export PCI hotplug slot names" on 2012/11/26.
At the same time on the kernel side we got
https://github.com/torvalds/linux/commit/bb74ac23b10820d8722c3e1f4add9ef59e703f63
"ACPI: create _SUN sysfs file" on 2012/11/16.

Using PCI hotplug was the only way at the time, but now 12 years later we can use
firmware_node/sun sysfs file.
Looking at a small selection of server HW, for HPE (Gen10 DL325), the _SUN is attached
to the NIC device, whereas for Dell (R640/R6515/R6615) and Cisco (UCSC-C220-M5SX),
the _SUN is on the first parent pcieport.

We still fallback to pci_get_hotplug_slot() to handle the s390 case and
maybe some other coner cases (_SUN on grand parent device that is not a
bridge ?).
2024-07-21 18:36:37 +01:00
Luca Boccassi 7b5c38a91d test: override blocking localed policy in TEST-73-LOCALE
On Debian and derivatives writing calls to localed are blocked as other
tools are used to change settings, override that policy for the tests
2024-07-21 16:30:57 +01:00
Vasiliy Kovalev 23f5f82756 hwdb: fix MXC6655 accelerometer mount matrix for Aquarius Cmp NS483
Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
2024-07-21 16:29:11 +01:00
Alain Greppin a2ae7ed7d0 systemd.dnssd does not handle local requests (#32991)
systemd.dnssd does not handle local requests

Fixes https://github.com/systemd/systemd/issues/32990
2024-07-21 12:48:56 +01:00
Mike Yuan c26948c6da core/service: destroy runtime data when Type=oneshot services exit
Currently, we have a bunch of Type=oneshot + RemainAfterExit=yes
services that make use of credentials. When those exits, the cred mounts
remain established, which is pointless and quite annoying. Let's
instead destroy the runtime data on SERVICE_EXITED, if no process
will be spawned for the unit again.
2024-07-21 12:43:51 +01:00
Mike Yuan 8b17371b61 core/unit: add one assertion for u->manager 2024-07-21 12:43:51 +01:00
Luca Boccassi 9d962e370c Merge pull request #33790 from YHNdnzj/run-exec-flags
run: clean up ExecCommandFlags serialization
2024-07-21 11:44:20 +01:00
ShreyasMahangade db708fc9ba timedatectl: setting set_local_rtc to 1 will throw Warning as well, use log_warning() (#33489)
Previously only running `timedatectl` it was showing warning regarding the dangers of setting RTC to local TZ.
Now similar warning is also flashed when `set-local-rtc 1`.
2024-07-20 19:07:30 +02:00
Dominique Martinet 8da20e3fe2 meson: fix missing failure if bpf-framework was enabled
If building with clang and clang does not support bpf, then enabling
-Dbpf-framework=enabled would silently drop the feature (even printing
bpf-framework: enabled in the meson build recap, and no message anywhere
that'd hint at the failure!)

This is unexpected, so add check to fail hard in this case.

All other code paths (gcc, missing bpftool) properly check for the
option, but it is not as easy for a custom command so check explicitly
2024-07-20 15:59:34 +02:00
Lennart Poettering 4b752770ca upate TODO 2024-07-20 15:04:32 +02:00
Mike Yuan db12f84327 run: clean up ExecCommandFlags serialization
The current behavior is actually OK, since use_ex_prop = !arg_expand_environment,
but that's very implicit and using STRV_MAKE() this way feels icky.
Let's make this more readable, by using exec_command_flags_to_strv().
2024-07-20 09:37:34 +02:00
Mike Yuan 05c754bc7f exec-util: modernize exec_command_flags_{to,from}_strv
- Rename ret params following our coding style
- Use assertion where appropriate
- Use BIT_FOREACH()
2024-07-20 09:37:07 +02:00
Ronan Pigott 09a8a0d023 zsh: update varlinkctl completions
correct redundant or mismatched tags and fill the argument field of
curcontext because _regex_words does not do that for us.

The _complete_help text now looks much more reasonable most of the time:

$ varlinkctl call /run/systemd/resolve/io.systemd.Resolve ^Xh
tags in context :completion::complete:varlinkctl::
    argument-rest  (_arguments _varlinkctl)
tags in context :completion::complete:varlinkctl-call:method:
    varlink-methods  (_varlinkctl_cmd _varlinkctl_command _arguments _varlinkctl)

Fixes: af63b4b769 ("zsh: add varlinkctl completions")
2024-07-19 23:07:37 +02:00
Lennart Poettering e846854172 execute: add FIXME comment
As requested by @YHNdnzj:

https://github.com/systemd/systemd/pull/33707#discussion_r1684055699
2024-07-19 18:59:01 +02:00
Ronan Pigott af63b4b769 zsh: add varlinkctl completions 2024-07-19 17:06:17 +02:00
Daan De Meyer 518ea76ecd docs: Document how to do stable releases 2024-07-19 16:33:36 +02:00
Lennart Poettering 32dee192a6 Merge pull request #33707 from poettering/terminal-size-by-ansi-seq
pid1: try to initialize terminal dimensions from data gathered via ANSI sequences + many clean-ups/refactorings
2024-07-19 14:35:55 +02:00
Daan De Meyer 70510bf282 mkosi: Bump default device timeout a little
We've been getting some integration test failures due to timeouts
on finding the root partition device. Let's bump the default device
timeout a little to see if it mitigates these failures.
2024-07-19 14:20:39 +02:00
Kai-Chuan Hsieh 643347ed61 hwdb: Add mic mute key mapping for Dell Pro Rugged series 2024-07-19 11:46:42 +02:00
Lennart Poettering 16044277e9 pid1: use $COLUMNS info in status_vprintf()
This way, we can work around the fact that "struct winsize" for
/dev/console might not be initialized the moment we open the device.
2024-07-19 11:44:05 +02:00
Lennart Poettering b411228199 main: set $COLUMNS/$ROWS for PID 1 based on /dev/console data
In PID 1 we write status information to /dev/console regularly, but we
cannot keep it open continously, due to the kernel's SAK logic (which
would kill PID 1 if user hits SAK). But closing/reopening it all the
time really sucks for tty types that have no window size management
(such as serial terminals/hvc0 and suchlike), because it also means the
TTY is fully closed most of the time, and that resets the window sizes
to 0/0.

Now, we reinitialize the window size on every reopen, but that is a bit
expensive for simple status output. Hence, cache the window size in the
usualy $COLUMNS/$ROWS environment variables. We don't inherit these to
our payloads anyway, hence these are free to us to use.
2024-07-19 11:44:04 +02:00
Lennart Poettering 0ea4198f0a terminal-util: add recognizable error if cols/rows of tty are initially not initialized
Various tty types come up with cols/rows not initialized (i.e. set to
zero). Let's detect these cases, and return a better error than EIO,
simply to make things easier to debug.
2024-07-19 11:44:04 +02:00
Lennart Poettering ad2fa21f83 terminal-util: extend timeout on background color request
I managed to hit the timeout a couple of times inside of slow qemu.
Let's increase it a bit to 1/3s
2024-07-19 11:44:04 +02:00
Lennart Poettering abe8e99ee6 terminal-util: try to avoid reading more from terminal than we need in get_default_background_color() 2024-07-19 11:44:04 +02:00
Lennart Poettering e2d66781ee exec-invoke: user EBADF where appropriate 2024-07-19 11:44:04 +02:00
Lennart Poettering 2cd19499a0 tree-wide: acquire /dev/console lock around any attempts to reset TTY 2024-07-19 11:44:04 +02:00