]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
3 years agokernel-install: suppress bogus shellcheck hint 23881/head
Zbigniew Jędrzejewski-Szmek [Sat, 2 Jul 2022 12:55:05 +0000 (14:55 +0200)] 
kernel-install: suppress bogus shellcheck hint

I don't quite understand this, but '{ ! true; }' is not the same as '( ! true )'.
In interactive mode, it seems to work as expected. But in a script, it doesn't.

3 years agokernel-install: use set -e
Zbigniew Jędrzejewski-Szmek [Sat, 2 Jul 2022 12:45:07 +0000 (14:45 +0200)] 
kernel-install: use set -e

This means that we'll fail hard if something goes wrong, e.g. reading
of a config file. I think this is appropriate. If errors should be ignored,
the caller should do that on their end.

3 years agokernel-install: return 0 for unknown verbs in plugins
Zbigniew Jędrzejewski-Szmek [Sat, 2 Jul 2022 12:44:01 +0000 (14:44 +0200)] 
kernel-install: return 0 for unknown verbs in plugins

In practice this makes little difference, because kernel-install will
only call the plugins for 'add' or 'remove', and if we were to add a
new verb to kernel-install, we'd just change the plugins at the same
time. But our plugins serve as documentation for external plugins too,
and there it's better to silently ignore unknown verbs so that we can
add new verbs in the future.

(50-depomod.install was already like that.)

3 years agokernel-install: raise fuss if plugins are called without the expected parameters
Zbigniew Jędrzejewski-Szmek [Sat, 2 Jul 2022 12:41:41 +0000 (14:41 +0200)] 
kernel-install: raise fuss if plugins are called without the expected parameters

3 years agotest-kernel-install: add a simple test that kernel-install copies the files
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 11:08:31 +0000 (13:08 +0200)] 
test-kernel-install: add a simple test that kernel-install copies the files

I opted to tweaking kernel-install to allow overriding config
(with $KERNEL_INSTALL_CONF_ROOT, $KERNEL_INSTALL_PLUGINS). An alternative
would be to build a test environment in test/. We can still do that,
but I think it's nice to have a simple test that is very quick and easy
to debug.

Invocation as installkernel is for #23681.

3 years agokernel-install: mark the plugins as executable in git
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 11:04:11 +0000 (13:04 +0200)] 
kernel-install: mark the plugins as executable in git

We mark them as executable during installation, but it's also nice to mark
them as such in sources, so they can be executed directly.

3 years agokernel-install: allow overriding the plugin list too
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 10:55:32 +0000 (12:55 +0200)] 
kernel-install: allow overriding the plugin list too

The use of IFS=<newline> is dropped. Let's just iterate over the list, using
any whitespace as separator.

3 years agokernel-install/90-loaderentry: make ownership change optional
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 10:50:17 +0000 (12:50 +0200)] 
kernel-install/90-loaderentry: make ownership change optional

This can be useful when running as non-root, e.g. for tests or when
installing to a chroot.

3 years agokernel-install: allow overriding the path to config files
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 08:58:01 +0000 (10:58 +0200)] 
kernel-install: allow overriding the path to config files

It's pretty hard to write tests without this. I started out by adding separate
variables for each of the files we read, but there's a bunch, and in practice
it's good enough to just override the directory.

3 years agokernel-install: do not silently ignore files we can't read
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 08:58:01 +0000 (10:58 +0200)] 
kernel-install: do not silently ignore files we can't read

'test -r' is changed to 'test -f' everywhere. If the file exists but we
cannot read it, it would be better if we fail with a permission error. E.g. if
/etc/kernel/cmdline is unreadable, and we're running something as non-root, we
shouldn't fall back to /usr/lib/kernel/cmdline. This commit doesn't resolve
this fully, because we're not running with 'set -e', but this is a preparator
step.

3 years agoman: rework documentation of kernel-install config
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 08:52:12 +0000 (10:52 +0200)] 
man: rework documentation of kernel-install config

Variables read by kernel-install and those exported by it were described
without any clear separation. So in particular it was pretty hard to answer
a question like "what variables can be set in install.conf". The in- and
out-variables are now split into two separate subsections.

3 years agokernel-install: do not let config file override variables
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 07:09:28 +0000 (09:09 +0200)] 
kernel-install: do not let config file override variables

This implementation is pretty ugly, but POSIX sh doesn't allow
indirect variable expansion, so I couldn't figure out a way to make
it less verbose.

3 years agokernel-install: fix invocation as installkernel
Zbigniew Jędrzejewski-Szmek [Fri, 1 Jul 2022 05:55:37 +0000 (07:55 +0200)] 
kernel-install: fix invocation as installkernel

Fixes #23681.

3 years agojournal: Fix missing parenthesis
Daan De Meyer [Wed, 29 Jun 2022 10:13:21 +0000 (12:13 +0200)] 
journal: Fix missing parenthesis

3 years agovirt: fix detection of Parallels virtualization
Yu Watanabe [Tue, 28 Jun 2022 21:17:44 +0000 (06:17 +0900)] 
virt: fix detection of Parallels virtualization

If Parallels virtualization is detected from DMI, then trust that over CPUID.

Fixes issue caused by 28b1a3eac252d471de4fbb6f317353af30d68878.

Fixes #23856.

3 years agoMerge pull request #23836 from yuwata/journal-file-check-object-header
Daan De Meyer [Wed, 29 Jun 2022 10:12:26 +0000 (12:12 +0200)] 
Merge pull request #23836 from yuwata/journal-file-check-object-header

sd-journal: check object header before verifying object data

3 years agosd-journal: data object may be invalid after data_object_in_hash_table() 23836/head
Yu Watanabe [Tue, 28 Jun 2022 19:52:54 +0000 (04:52 +0900)] 
sd-journal: data object may be invalid after data_object_in_hash_table()

Fixes a bug introduced by 578cd1855b73d2710ae14a8d77c4fac1d8ea7f48.

The function `data_object_in_hash_table()` calls
`journal_file_move_to_object()` with `OBJECT_DATA`. Hence,
previously obtained pointer to a data object may be now invalid.

Fixes #23794.

3 years agosd-journal: also check object header before verifying object data
Yu Watanabe [Mon, 27 Jun 2022 02:37:10 +0000 (11:37 +0900)] 
sd-journal: also check object header before verifying object data

Otherwise, the check by journal_file_check_object() may be meaning less
when the header is broken.

3 years agosd-journal: drop unused argument from journal_file_check_object()
Yu Watanabe [Mon, 27 Jun 2022 02:53:43 +0000 (11:53 +0900)] 
sd-journal: drop unused argument from journal_file_check_object()

And rename the function.

3 years agosd-journal: shorten code a bit
Yu Watanabe [Mon, 27 Jun 2022 02:28:36 +0000 (11:28 +0900)] 
sd-journal: shorten code a bit

3 years agosd-journal: align table
Yu Watanabe [Mon, 27 Jun 2022 02:21:27 +0000 (11:21 +0900)] 
sd-journal: align table

3 years agoMerge pull request #23821 from dtardon/ascii-logging
Yu Watanabe [Tue, 28 Jun 2022 18:36:35 +0000 (03:36 +0900)] 
Merge pull request #23821 from dtardon/ascii-logging

Allow ASCII fallback for Unicode characters in logs

3 years agoMerge pull request #23849 from mbiebl/more-https
Yu Watanabe [Tue, 28 Jun 2022 18:22:51 +0000 (03:22 +0900)] 
Merge pull request #23849 from mbiebl/more-https

Use https for freedesktop.org

3 years agoMerge pull request #23827 from yuwata/sd-event-process-buffered-inotify-data
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jun 2022 16:25:14 +0000 (18:25 +0200)] 
Merge pull request #23827 from yuwata/sd-event-process-buffered-inotify-data

sd-event: process buffered inotify data

3 years agoUse https for gnu.org 23849/head
Michael Biebl [Tue, 28 Jun 2022 14:07:35 +0000 (16:07 +0200)] 
Use https for gnu.org

3 years agoUse https for man7.org
Michael Biebl [Tue, 28 Jun 2022 14:05:31 +0000 (16:05 +0200)] 
Use https for man7.org

3 years agoUse https for freedesktop.org
Michael Biebl [Tue, 28 Jun 2022 10:00:47 +0000 (12:00 +0200)] 
Use https for freedesktop.org

grep -l -r http:// | xargs sed -E -i s'#http://(.*).freedesktop.org#https://\1.freedesktop.org#'

3 years agoMerge pull request #23181 from thesamesam/parisc-seccomp
Yu Watanabe [Tue, 28 Jun 2022 11:01:01 +0000 (20:01 +0900)] 
Merge pull request #23181 from thesamesam/parisc-seccomp

Add seccomp support for PARISC (HPPA)

3 years agotree-wide: allow ASCII fallback for … in logs 23821/head
David Tardon [Fri, 24 Jun 2022 07:59:44 +0000 (09:59 +0200)] 
tree-wide: allow ASCII fallback for … in logs

3 years agotree-wide: allow ASCII fallback for → in logs
David Tardon [Fri, 24 Jun 2022 07:13:42 +0000 (09:13 +0200)] 
tree-wide: allow ASCII fallback for → in logs

3 years agogpt: add PARISC UUIDs 23181/head
Sam James [Tue, 28 Jun 2022 03:25:38 +0000 (04:25 +0100)] 
gpt: add PARISC UUIDs

Not doing PARISC64 for now as no userland exists for it yet.

3 years agoseccomp: add PARISC (HPPA support)
Sam James [Sun, 24 Apr 2022 01:55:41 +0000 (02:55 +0100)] 
seccomp: add PARISC (HPPA support)

We have to skip the W^X protections as we need executable
memory on PARISC for now. Kernel work is in progress (started
w/ 5.18).

Closes: https://github.com/systemd/systemd/issues/23180
3 years agobasic/missing-syscalls: add PARISC (HPPA support)
Sam James [Sun, 24 Apr 2022 01:55:11 +0000 (02:55 +0100)] 
basic/missing-syscalls: add PARISC (HPPA support)

Bug: https://github.com/systemd/systemd/issues/23180

3 years agogithub: add more components to RFE issue template
Jan Macku [Mon, 27 Jun 2022 16:57:02 +0000 (18:57 +0200)] 
github: add more components to RFE issue template

Follow-up to: #23838

3 years agotest: add another test for inotify event source 23827/head
Yu Watanabe [Mon, 27 Jun 2022 15:03:51 +0000 (00:03 +0900)] 
test: add another test for inotify event source

The test case is for issue #23826.

3 years agosd-event: make sd_event_prepare() return positive when buffered inotify data exists
Yu Watanabe [Sat, 25 Jun 2022 21:42:22 +0000 (06:42 +0900)] 
sd-event: make sd_event_prepare() return positive when buffered inotify data exists

Previously, even if there is buffered inotify data, sd_event_prepare()
did not process the data when there is no pending event source.

Fixes #23826.

3 years agosd-event: use LIST_IS_EMPTY()
Yu Watanabe [Sat, 25 Jun 2022 21:41:33 +0000 (06:41 +0900)] 
sd-event: use LIST_IS_EMPTY()

3 years agopo: add a false positive to POTFILES.skip
Piotr Drąg [Sun, 12 Jun 2022 12:48:04 +0000 (14:48 +0200)] 
po: add a false positive to POTFILES.skip

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 this file as containing translations. Avoid this
behavior by putting the file in POTFILES.skip.

3 years agonetwork: grouping elements in network_free()
Yu Watanabe [Tue, 14 Jun 2022 06:44:42 +0000 (15:44 +0900)] 
network: grouping elements in network_free()

3 years agoMerge pull request #23842 from medhefgo/boot-std
Yu Watanabe [Mon, 27 Jun 2022 13:32:31 +0000 (22:32 +0900)] 
Merge pull request #23842 from medhefgo/boot-std

boot: Use standard types

3 years agotest-sd-hwdb: adjust the test to actually do anything
Zbigniew Jędrzejewski-Szmek [Thu, 23 Jun 2022 14:21:18 +0000 (16:21 +0200)] 
test-sd-hwdb: adjust the test to actually do anything

Without the terminating colon we wouldn't match anything, so the loop over
properties was skipped.

3 years agoboot: Use stdbool 23842/head
Jan Janssen [Mon, 27 Jun 2022 09:04:57 +0000 (11:04 +0200)] 
boot: Use stdbool

The way the UEFI spec defines BOOLEAN is fully compatible to stdbool, so
it is perfectly safe to switch to it. Although any other values than 0/1
are undefined by the spec, we could theoretically have cases where a
sloppy firmware hands us a bad BOOLEAN (since gnu-efi/edk2 declare it
as uint8_t). So any uses where we pass a pointer to BOOLEAN are left
untouched.

3 years agoboot: Use char
Jan Janssen [Mon, 27 Jun 2022 08:42:31 +0000 (10:42 +0200)] 
boot: Use char

This also switches to _cleanup_free_. Otherwise no code changes.

3 years agoboot: Use char16_t
Jan Janssen [Fri, 24 Jun 2022 09:37:15 +0000 (11:37 +0200)] 
boot: Use char16_t

This also switches to _cleanup_free_. Otherwise no code changes.

3 years agoboot: Use stdint types
Jan Janssen [Fri, 24 Jun 2022 09:25:36 +0000 (11:25 +0200)] 
boot: Use stdint types

3 years agoboot: Remove use of EFI_ERROR
Jan Janssen [Fri, 24 Jun 2022 09:00:43 +0000 (11:00 +0200)] 
boot: Remove use of EFI_ERROR

The macro is ugly and annoying to use and provides no real benefit. The
only reason to use it would be to allow warnings to go through. But any
EFI APIs we call do not return warning status codes or we do not check
the return value anyway. The only other case would be BS->StartImage,
where we already treat anything other than EFI_SUCCESS as an error
anyway.

This also helps the compiler and code analyzers to better reason about
the code. In particular, this can help reduce use of uninitialized
variable warnings.

3 years agoboot: Rename remaining EFI_STATUS vars to err for consistency
Jan Janssen [Fri, 24 Jun 2022 08:49:19 +0000 (10:49 +0200)] 
boot: Rename remaining EFI_STATUS vars to err for consistency

3 years agofundamental: Remove types-fundamental.h
Jan Janssen [Fri, 24 Jun 2022 08:45:52 +0000 (10:45 +0200)] 
fundamental: Remove types-fundamental.h

This removes the fundamental typedefs in favor of just using standard C
types. These are all used internally anyway and also do not do anything
special to warrant any redefinition to EFI types.

Even for BOOLEAN we can safely use stdbool. The defition from the EFI
specification is fully compatible, including making any other values
than 0/1 as undefined.

The exception is sd_char as those need to be char16_t. The typedef is
moved to string-util-fundamental.h instead.

3 years agogithub: add more components to issue template
Yu Watanabe [Mon, 27 Jun 2022 04:19:24 +0000 (13:19 +0900)] 
github: add more components to issue template

3 years agomeson: show default nspawn locale in summary
Yu Watanabe [Mon, 27 Jun 2022 03:46:57 +0000 (12:46 +0900)] 
meson: show default nspawn locale in summary

Follow-up for a22f5186761a437d8845397bbbfeaf9a7d590ec2.

3 years agoemacs: ignore .dir-locals-2.el (personal customization) versioning
Jacek Migacz [Sun, 26 Jun 2022 14:22:25 +0000 (16:22 +0200)] 
emacs: ignore .dir-locals-2.el (personal customization) versioning

3 years agohwdb: Add Lenovo ThinkPad C13 Yoga
Akihiko Odaki [Fri, 10 Jun 2022 22:58:52 +0000 (07:58 +0900)] 
hwdb: Add Lenovo ThinkPad C13 Yoga

3 years agoMerge pull request #23834 from mrc0mmand/dfuzzer-in-a-container
Evgeny Vereshchagin [Sun, 26 Jun 2022 22:55:36 +0000 (01:55 +0300)] 
Merge pull request #23834 from mrc0mmand/dfuzzer-in-a-container

A couple of tweaks to allow running TEST-21-DFUZZER in a container

3 years agotest: drop unnecessary `|| :` 23834/head
Frantisek Sumsal [Sun, 26 Jun 2022 19:00:43 +0000 (21:00 +0200)] 
test: drop unnecessary `|| :`

since we use `set +e` in the cleanup handler.

3 years agotest: run TEST-21 in nspawn only if $TEST_PREFER_NSPAWN is set
Frantisek Sumsal [Sun, 26 Jun 2022 18:57:31 +0000 (20:57 +0200)] 
test: run TEST-21 in nspawn only if $TEST_PREFER_NSPAWN is set

so we can run it under nspawn in CIs which don't support nested KVM, but
avoid running it twice (both under nspawn and qemu) in CIs which support
both methods.

3 years agotest: make TEST-21-DFUZZER work in containers
Frantisek Sumsal [Sun, 26 Jun 2022 18:52:12 +0000 (20:52 +0200)] 
test: make TEST-21-DFUZZER work in containers

by avoiding fuzzing networkd and timesyncd when running in a container.

3 years agosha256: Use stdbool and uintptr_t
Jan Janssen [Fri, 24 Jun 2022 08:04:30 +0000 (10:04 +0200)] 
sha256: Use stdbool and uintptr_t

This also syncs the copyright blurb with current glibc sources. The
written by line does not appear in upstream, so it should be okay to
remove.

3 years agomkosi: Pull in fix that solves action mirror issue
Daan De Meyer [Fri, 24 Jun 2022 12:36:31 +0000 (14:36 +0200)] 
mkosi: Pull in fix that solves action mirror issue

3 years agoudev: allow to execute longer command line
Yu Watanabe [Fri, 24 Jun 2022 04:49:15 +0000 (13:49 +0900)] 
udev: allow to execute longer command line

Fixes #23607.

3 years agoci: set top-level permissions as well
Evgeny Vereshchagin [Thu, 23 Jun 2022 14:09:36 +0000 (14:09 +0000)] 
ci: set top-level permissions as well

It should turn on the "restricted" mode by default regardless of
whether the global setting is on or not. New jobs in this action
should have to overwrite it explicitly to gain write access in any
way.

It should also make the action consistent with the other actions
writing various stuff like 'labeler' and 'codeql'.

3 years agoci: remove links to "codeless contribution" actions
Evgeny Vereshchagin [Thu, 23 Jun 2022 08:55:28 +0000 (08:55 +0000)] 
ci: remove links to "codeless contribution" actions

They refer to actions with script injections running with full
access to repositories.

3 years agoboot: Fix calls to ResetSystem
Jan Janssen [Thu, 23 Jun 2022 12:48:13 +0000 (14:48 +0200)] 
boot: Fix calls to ResetSystem

gnu-efi falsely declares a return type for ResetSystem when it should be
void. The spec also says that it never returns, so just assert.

3 years agologind: simplify code
Zbigniew Jędrzejewski-Szmek [Thu, 23 Jun 2022 07:56:33 +0000 (09:56 +0200)] 
logind: simplify code

Follow-up for 4885d7490b23e08d8444e5a68927ce9ce8727e5a.

3 years agogithub: Issue forms - fix GA `SHA1` ref
Jan Macku [Thu, 23 Jun 2022 14:37:50 +0000 (16:37 +0200)] 
github: Issue forms - fix GA `SHA1` ref

Fix `SHA1` reference for github action `stefanbuck/github-issue-parser` to
point to correct commit.

Follow-up to: #23811

3 years agogithub: Issue forms templates follow-up
Jan Macku [Thu, 23 Jun 2022 12:16:43 +0000 (14:16 +0200)] 
github: Issue forms templates follow-up

- Use `SHA1` for actions versioning
- Fix typo: `github-issue-praser` -> `github-issue-parser`
- Define exact permissions

Follow-up to: #23693

3 years agoMerge pull request #23802 from yuwata/core-watchdog-follow-ups
Zbigniew Jędrzejewski-Szmek [Thu, 23 Jun 2022 07:59:24 +0000 (09:59 +0200)] 
Merge pull request #23802 from yuwata/core-watchdog-follow-ups

core: cleanups for watchdog

3 years agogithub: Update issue templates to issue forms
Jan Macku [Fri, 10 Jun 2022 05:30:42 +0000 (07:30 +0200)] 
github: Update issue templates to issue forms

Issue forms templates allow us to add automation in place.
This patch replaces old markdown issue templates with new issue forms.
It also adds workflow to automatically mark issues by component label
based on reported data.

This change could help with initial triaging of issues.

3 years agologind-session-dbus: allow to set display name via dbus
David Tardon [Fri, 10 Jun 2022 13:07:01 +0000 (15:07 +0200)] 
logind-session-dbus: allow to set display name via dbus

Currently, the only way to set display name of a graphical session is to
pass it to CreateSession(). But modern display managers like gdm start
the display server as part of the user session, which means that the
display name isn't known yet when the session is being created. Hence,
let's make it possible to set it later.

3 years agobootspec: Add PE file name to log messages
Jan Janssen [Sun, 19 Jun 2022 13:35:47 +0000 (15:35 +0200)] 
bootspec: Add PE file name to log messages

Fixes: #23783
3 years agoMerge pull request #23774 from yuwata/netlabel-nftset-follow-ups
Yu Watanabe [Wed, 22 Jun 2022 16:33:19 +0000 (01:33 +0900)] 
Merge pull request #23774 from yuwata/netlabel-nftset-follow-ups

network, core: revert NFTSet and NetLabel features

3 years agoMerge pull request #23806 from keszybz/udevadm-info-pager
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jun 2022 14:50:53 +0000 (16:50 +0200)] 
Merge pull request #23806 from keszybz/udevadm-info-pager

Pager for udevadm info

3 years agoRevert "networkd: NetLabel integration" 23774/head
Yu Watanabe [Wed, 22 Jun 2022 13:28:46 +0000 (22:28 +0900)] 
Revert "networkd: NetLabel integration"

This reverts PR #23269 and its follow-up commit. Especially,
2299b1cae32c1fb8911da0ce26efced68032f4f8 (partially), and
3cf63830acdef9d8afdc9ef1cf25aa7e85a5e4d5.

The PR was merged without final approval, and has several issues:
- The NetLabel for static addresses are not assigned, as labels are
  stored in the Address objects managed by Network, instead of Link.
- If NetLabel is specified for a static address, then the address
  section will be invalid and the address will not be configured,
- It should be implemented with Request object,
- There is no test about the feature.

3 years agoRevert NFTSet feature
Yu Watanabe [Tue, 14 Jun 2022 06:06:27 +0000 (15:06 +0900)] 
Revert NFTSet feature

This reverts PR #22587 and its follow-up commit. More specifically,
2299b1cae32c1fb8911da0ce26efced68032f4f8 (partially),
e176f855278d5098d3fecc5aa24ba702147d42e0,
ceb46a31a01b3d3d1d6095d857e29ea214a2776b, and
51bb9076ab8c050bebb64db5035852385accda35.

The PR was merged without final approval, and has several issues:
- OSS fuzz reported issues in the conf parser,
- It calls synchrnous netlink call, it should not be especially in PID1,
- The importance of NFTSet for CGroup and DynamicUser may be
  questionable, at least, there was no justification PID1 should support
  it.
- For networkd, it should be implemented with Request object,
- There is no test for the feature.

Fixes #23711.
Fixes #23717.
Fixes #23719.
Fixes #23720.
Fixes #23721.
Fixes #23759.

3 years agoudevadm info: use pager for all output types 23806/head
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jun 2022 12:30:57 +0000 (14:30 +0200)] 
udevadm info: use pager for all output types

Before we used the pager for --tree, but not e.g. for --export-db.
I don't see any particular reason to limit this.

3 years agoudevadm info: implement --no-pager
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jun 2022 12:26:55 +0000 (14:26 +0200)] 
udevadm info: implement --no-pager

3 years agocore: close watchdog device if watchdog device is unspecified now 23802/head
Yu Watanabe [Wed, 22 Jun 2022 07:22:39 +0000 (16:22 +0900)] 
core: close watchdog device if watchdog device is unspecified now

If a watchdog device was specified previously, and unspecified later and
PID1 is reloaded, then we need to close the device.

3 years agocore: drop unnecessary free
Yu Watanabe [Wed, 22 Jun 2022 07:20:30 +0000 (16:20 +0900)] 
core: drop unnecessary free

As reset_arguments() frees the string.

Follow-up for 919ea64f69f710840c1bc93f0f7cb7c51aae45d0.

3 years agoresolve: mDNS transaction max attempts fix
Vishal Chillara Srinivas [Fri, 17 Jun 2022 06:37:19 +0000 (12:07 +0530)] 
resolve: mDNS transaction max attempts fix

Maximum attempts to send mDNS requests is one except for probe requests, which should be attempted thrice.
Implemented fix to account for the difference between regular queries and probe requests, and prevent
even regular queries from being attempted thrice.
See RFC 6762 Section 8.1

3 years agocore: Fix memory leaks
Łukasz Stelmach [Tue, 21 Jun 2022 10:12:01 +0000 (12:12 +0200)] 
core: Fix memory leaks

arg_early_core_pattern and arg_watchdog_device hold pointers to memory
allocated with strdup() (inside path_make_absolute_cwd). The memory needs
to be freed in reset_arguments() during reload rather than forgotten.

3 years agomkosi: Update CI to mkosi 13
Daan De Meyer [Tue, 21 Jun 2022 18:53:42 +0000 (20:53 +0200)] 
mkosi: Update CI to mkosi 13

3 years agoMerge pull request #23791 from mrc0mmand/dfuzzer-followups
Evgeny Vereshchagin [Tue, 21 Jun 2022 20:44:58 +0000 (23:44 +0300)] 
Merge pull request #23791 from mrc0mmand/dfuzzer-followups

Several dfuzzer-related follow-ups

3 years agounits: remove the restart limit on the modprobe@.service
Alban Bedel [Wed, 15 Jun 2022 11:12:46 +0000 (13:12 +0200)] 
units: remove the restart limit on the modprobe@.service

They are various cases where the same module might be repeatedly
loaded in a short time frame, for example if a service depending on a
module keep restarting, or if many instances of such service get
started at the same time. If this happend the modprobe@.service
instance will be marked as failed because it hit the restart limit.

Overall it doesn't seems to make much sense to have a restart limit on
the modprobe service so just disable it.

Fixes: #23742
3 years agoAdd sys/file.h for LOCK_
Pavel Zhukov [Tue, 21 Jun 2022 06:23:00 +0000 (08:23 +0200)] 
Add sys/file.h for LOCK_

Fixes build with musl:
| ../git/src/shared/dissect-image.c: In function 'mount_image_privately_interactively':
| ../git/src/shared/dissect-image.c:2986:34: error: 'LOCK_SH' undeclared (first use in this function)
|  2986 |         r = loop_device_flock(d, LOCK_SH);
|       |                                  ^~~~~~~

3 years agotest: allow overriding $QEMU_MEM when running w/ ASan 23791/head
Frantisek Sumsal [Tue, 21 Jun 2022 10:09:35 +0000 (12:09 +0200)] 
test: allow overriding $QEMU_MEM when running w/ ASan

3 years agotest: make the shutdown routine a bit more "robust"
Frantisek Sumsal [Tue, 21 Jun 2022 08:20:12 +0000 (10:20 +0200)] 
test: make the shutdown routine a bit more "robust"

Replace the call to the `end.service` with `systemctl poweroff`, since
it seems to cause issues no matter what `--job-mode=` is used:

```
[  129.070993] testsuite-21.sh[380]: ++ systemctl start --job-mode=flush end.service
[  129.154985] testsuite-21.sh[912]: Failed to start end.service: Transaction for end.service/start is destructive (sysinit.target has 'stop' job queued, but 'start' is included in transaction).
[  129.159636] testsuite-21.sh[912]: See system logs and 'systemctl status end.service' for details.
```

Also, add a "safety net" which bypasses the manager and does the
poweroff directly, since sometimes the D-Bus call performed by
`systemctl` might timeout (as the manager might be still processing data
from the fuzzing):

```
[  115.776778] sh[894]: + systemctl poweroff --no-block
[  166.164242] testsuite-21.sh[893]: Failed to start transient service unit: Connection timed out
[  166.269289] sh[894]: Call to PowerOff failed: Connection timed out
```

3 years agotest: drop the at_exit() coredump check
Frantisek Sumsal [Tue, 21 Jun 2022 08:13:48 +0000 (10:13 +0200)] 
test: drop the at_exit() coredump check

since we don't truncate the journal anymore.

3 years agotest: make dfuzzer less verbose
Frantisek Sumsal [Tue, 21 Jun 2022 08:04:03 +0000 (10:04 +0200)] 
test: make dfuzzer less verbose

Otherwise it oversaturates the journal, which in some cases can't keep
up with the load of messages (due to the performance penalty caused by
sanitizers), and gets killed by a watchdog.

3 years agotest: always force a new image for dfuzzer
Frantisek Sumsal [Tue, 21 Jun 2022 08:01:30 +0000 (10:01 +0200)] 
test: always force a new image for dfuzzer

Otherwise we might end up with an image containing broken service
symlinks and other things, which break certain parts of the test.

3 years agopkgconfig,rpm: expose vars for user-tmpfiles.d location
Zbigniew Jędrzejewski-Szmek [Mon, 20 Jun 2022 13:06:09 +0000 (15:06 +0200)] 
pkgconfig,rpm: expose vars for user-tmpfiles.d location

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2098553.

3 years agotest: use saved process PID instead of %%
Frantisek Sumsal [Mon, 20 Jun 2022 10:27:39 +0000 (12:27 +0200)] 
test: use saved process PID instead of %%

As the `%%` specifier might fail if the current job (i.e. the last
background job) already finished:

```
[   61.692196] testsuite-04.sh[656]: ++ systemd-id128 new
[   61.705407] testsuite-04.sh[263]: + ID=912cb8f8ef304153a123f772bb0fe9e0
[   61.706318] testsuite-04.sh[657]: + systemd-cat -t 912cb8f8ef304153a123f772bb0fe9e0 bash -c 'echo parent; (echo child) & wait'
[   61.720940] testsuite-04.sh[263]: + PID=657
[   61.721126] testsuite-04.sh[263]: + wait %%
[   61.723014] testsuite-04.sh[263]: /usr/lib/systemd/tests/testdata/units/testsuite-04.sh: line 96: wait: %%: no such job
```

3 years agoMerge pull request #22547 from mrc0mmand/dfuzzer
Evgeny Vereshchagin [Sun, 19 Jun 2022 23:42:09 +0000 (02:42 +0300)] 
Merge pull request #22547 from mrc0mmand/dfuzzer

test: fuzz our dbus interfaces with dfuzzer

3 years agotest: skip TEST-21-DFUZZER without ASan 22547/head
Frantisek Sumsal [Sun, 19 Jun 2022 08:39:12 +0000 (10:39 +0200)] 
test: skip TEST-21-DFUZZER without ASan

as the test is quite time consuming and it yields more useful reports
when the target app is built with sanitizers.

3 years agotest: fuzz our dbus interfaces with dfuzzer
Frantisek Sumsal [Mon, 13 Dec 2021 19:50:28 +0000 (20:50 +0100)] 
test: fuzz our dbus interfaces with dfuzzer

3 years agotest: make masking of supplementary services configurable
Frantisek Sumsal [Wed, 16 Feb 2022 19:29:14 +0000 (20:29 +0100)] 
test: make masking of supplementary services configurable

3 years agolocale: drop unnecessary allocation
Yu Watanabe [Sat, 18 Jun 2022 02:06:46 +0000 (11:06 +0900)] 
locale: drop unnecessary allocation

Fixes a bug introduced by 3d36b5d7e7b191fca7c5c65dbab94d99cf5f0230.

Fixes #23777.

3 years agoMerge pull request #23771 from mrc0mmand/test-tweaks
Yu Watanabe [Sat, 18 Jun 2022 01:45:22 +0000 (10:45 +0900)] 
Merge pull request #23771 from mrc0mmand/test-tweaks

A couple of test-output-related tweaks

3 years agonetworkctl: fix output of "status": replace "Queue Length" by "Number of Queues"
Marc Kleine-Budde [Fri, 17 Jun 2022 17:10:51 +0000 (19:10 +0200)] 
networkctl: fix output of "status": replace "Queue Length" by "Number of Queues"

Commit 0307afc681e1 ("networkctl: add support to display Transmit/Recieve queue
length (#12633)") added the display of the number of RX and TX Queues to the
output of `networkctl status $DEV`. However the row description says "Queue
Length".

This patch fixes the output by replacing "Queue Length" by "Number of Queues".

Fixes: 0307afc681e1 ("networkctl: add support to display Transmit/Recieve queue length (#12633)")
3 years agoadd program name to log line
Philipp Gortan [Fri, 17 Jun 2022 21:26:54 +0000 (23:26 +0200)] 
add program name to log line

3 years agocryptenroll: fix typo in manpage
Foster Snowhill [Fri, 17 Jun 2022 22:31:38 +0000 (00:31 +0200)] 
cryptenroll: fix typo in manpage

3 years agotest: check journal directly instead of capturing console output 23771/head
Frantisek Sumsal [Fri, 17 Jun 2022 15:29:22 +0000 (17:29 +0200)] 
test: check journal directly instead of capturing console output