systemd/.git
3 years agodbus-wait-for-jobs: add extra_args to bus_wait_for_jobs_one()
Luca Boccassi [Thu, 30 Dec 2021 00:53:29 +0000 (00:53 +0000)]
dbus-wait-for-jobs: add extra_args to bus_wait_for_jobs_one()

And pass it through to bus_wait_for_jobs()

(cherry picked from commit 86980de64bf8c03505eec729808f52f3b3042998)

3 years agoboot: Introduce helper macros for offset checking
Jan Janssen [Wed, 29 Dec 2021 13:35:07 +0000 (14:35 +0100)]
boot: Introduce helper macros for offset checking

This fixes a subtle sizeof overflow on 32bit machines.

(cherry picked from commit aa1d0f25873f737fb9306a12f9283872012f2d9a)

3 years agoboot: Reject unaligned data
Jan Janssen [Tue, 28 Dec 2021 15:07:09 +0000 (16:07 +0100)]
boot: Reject unaligned data

The data seems to be properly aligned in real BCD stores, so it
should be fine to just reject bad ones.

Fixes: #21917
(cherry picked from commit 1cadb35fd68f0255e50627dffd25c83e7e2081e5)

3 years agomanager: always close idle pipe when sending ready notification
Yu Watanabe [Wed, 29 Dec 2021 03:04:46 +0000 (12:04 +0900)]
manager: always close idle pipe when sending ready notification

This fixes a bug introduced by 6d9326595592f98e8126eacb4176acd8c3516d5c.

The commit makes several functions skipped if the manager is already
in finished state, as
> In manager_check_finished(), more steps are skipped if MANAGER_IS_FINISHED().
> Those steps are idempotent, but no need to waste cycles trying to do them
> more than once.

However, the idle pipe may be re-opened after manager is finished:
manager_dispatch_run_queue() -> manager_watch_idle_pipe().
So, the closing the pipe is not idempotent here.

Fixes #21889.

(cherry picked from commit 9c1b17c3dc1541df02118ee3aaf6dd5dd540cdc2)

3 years agostub: Do not assume having DeviceHandle
ksa678491784 [Tue, 28 Dec 2021 15:09:33 +0000 (18:09 +0300)]
stub: Do not assume having DeviceHandle

(cherry picked from commit 5204355861643a658a6d8e009b67e422cdb9194b)

3 years agonetwork: ndisc: ignore route prefix to ::/0
Yu Watanabe [Tue, 28 Dec 2021 13:42:03 +0000 (22:42 +0900)]
network: ndisc: ignore route prefix to ::/0

Fixes #21912.

(cherry picked from commit 80bfc3b901317ca7c1aaede0cd69150789a6e9be)

3 years agotest: add testcases of symlinked drop-in directories
Yu Watanabe [Tue, 28 Dec 2021 15:49:11 +0000 (00:49 +0900)]
test: add testcases of symlinked drop-in directories

(cherry picked from commit cf6562e4565c3055e1f387adadf2ff7fb0ce1688)

3 years agounti-file: fix symlinked drop-in directory handling
Yu Watanabe [Tue, 28 Dec 2021 15:47:20 +0000 (00:47 +0900)]
unti-file: fix symlinked drop-in directory handling

This fixes a bug introduced by 95ef0eaf0d5cd43fcc8e9eb541f2c342f25f8f2f.

Fixes #21920.

(cherry picked from commit 7f304b856164a70b240d66d279fe66e7c8e8887d)

3 years agocore: do not touch /run/systemd/systemd-units-load from user session instances
Luca Boccassi [Mon, 27 Dec 2021 18:22:43 +0000 (18:22 +0000)]
core: do not touch /run/systemd/systemd-units-load from user session instances

Follow-up for: https://github.com/systemd/systemd/commit/15b9243c0d7f6d1531fa65dbc01bd11e8e6c12ca
Fixes: https://github.com/systemd/systemd/issues/21911

(cherry picked from commit 4b3ad81bfafcd97acb06db463495e348d159d8e6)

3 years agoboot: Fix name length comparison
Jan Janssen [Mon, 27 Dec 2021 21:49:02 +0000 (22:49 +0100)]
boot: Fix name length comparison

(cherry picked from commit 2198a773916f0e4ecca01725118f1f5a6bbe27b1)

3 years agoboot: Fix off-by-one offset sanity checks
Jan Janssen [Mon, 27 Dec 2021 21:46:06 +0000 (22:46 +0100)]
boot: Fix off-by-one offset sanity checks

(cherry picked from commit c3c5b93a0c04c4940724b7babca92f4e75f49b98)

3 years agoboot: Fix off-by-one NUL-termination
Jan Janssen [Mon, 27 Dec 2021 21:41:50 +0000 (22:41 +0100)]
boot: Fix off-by-one NUL-termination

(cherry picked from commit fab82756462fd0ce82836e3d95721954d7ab2527)

3 years agochrattr-util: return EOPNOTSUPP from chrattr_full if no other failure was observed
Luca Boccassi [Sun, 26 Dec 2021 16:45:13 +0000 (16:45 +0000)]
chrattr-util: return EOPNOTSUPP from chrattr_full if no other failure was observed

When chattr_full tries to apply flags one-by-one, and one fails,
record which errno was returned. But record EOPNOTSUPP(&friends)
only if no other error is observed, and return it only in that case
(otherwise keep returning ENOANO), so that callers can respond
appropriately to EOPNOTSUPP vs more relevant errors.
For example, this lets tmpfiles.d log at debug level when a filesystem
flag cannot be applied because the filesystem does not support it,
but at warning level if something else went wrong when applying it.
Restores logging behaviour of tmpfiles.d to pre-250.

Follow-up for: https://github.com/systemd/systemd/commit/c1631ee124a30abfb9c71e2a1534b8afffc3b6a7

Fixes: https://github.com/systemd/systemd/issues/21901
(cherry picked from commit 7c3b51c469140cdbc1b7e9a232af3f250fea3884)

3 years agorandom-util: use ssize_t for getrandom return value
Mike Gilbert [Sat, 25 Dec 2021 00:20:36 +0000 (19:20 -0500)]
random-util: use ssize_t for getrandom return value

This matches the prototype provided by glibc.

(cherry picked from commit 289b41aae7356b7a6c72ff4a3476193a084ff33f)

3 years agomeson: don't try to guess versioned clang/llvm-strip bins for cross compile
James Hilliard [Sat, 25 Dec 2021 10:16:57 +0000 (03:16 -0700)]
meson: don't try to guess versioned clang/llvm-strip bins for cross compile

This should simplify overriding the program locations as the binary
names should now not change if cross compiling.

It's likely any attempts at autodetecting these in cross environments will
be brittle at best so lets just disable it.

(cherry picked from commit 4b7b73c7140b3c923064c6bf27a30b0e88a72f7a)

3 years agomeson: fix build with -Dcryptolib=openssl -Ddns-over-tls=false
Yu Watanabe [Fri, 24 Dec 2021 01:06:13 +0000 (10:06 +0900)]
meson: fix build with -Dcryptolib=openssl -Ddns-over-tls=false

Previously, when -Ddns-over-tls=false, libopenssl was missing in the
dependency of resolved.
Also, this drops libgpg_error when it is not necessary.

Replaces #21878.

3 years agoman: also add anotations for methods
Yu Watanabe [Fri, 24 Dec 2021 05:52:44 +0000 (14:52 +0900)]
man: also add anotations for methods

Fixes #21882.

3 years agomissing-syscall: define all MOUNT_ATTR_* if missing
Yu Watanabe [Fri, 24 Dec 2021 00:15:51 +0000 (09:15 +0900)]
missing-syscall: define all MOUNT_ATTR_* if missing

Fixes #21876.

3 years agoNEWS: finalize release v250
Zbigniew Jędrzejewski-Szmek [Thu, 23 Dec 2021 12:32:03 +0000 (13:32 +0100)]
NEWS: finalize release

3 years agoanalyze: fix segfault when malloc() fails (#21874)
Yu Watanabe [Thu, 23 Dec 2021 20:03:16 +0000 (05:03 +0900)]
analyze: fix segfault when malloc() fails (#21874)

Fixes #21872.

log_syntax_callback sets 's', a.k.a. '*userdata', to POINTER_MAX to signal allocation failure.
If the error does not cause immediate failure of the program, and log_syntax_callback is called
again, it would try to use 's' as a pointer to a set and fail badly.

3 years agoMerge pull request #21869 from yuwata/sd-journal-fix-segfault
Zbigniew Jędrzejewski-Szmek [Thu, 23 Dec 2021 19:07:41 +0000 (20:07 +0100)]
Merge pull request #21869 from yuwata/sd-journal-fix-segfault

sd-journal: fix segfault

3 years agoMerge pull request #21870 from keszybz/cleanup-and-comments
Luca Boccassi [Thu, 23 Dec 2021 17:43:37 +0000 (17:43 +0000)]
Merge pull request #21870 from keszybz/cleanup-and-comments

Use _cleanup_ and adjust comments

3 years agosrc/basic: adjust grammar in comments
Zbigniew Jędrzejewski-Szmek [Thu, 23 Dec 2021 12:26:09 +0000 (13:26 +0100)]
src/basic: adjust grammar in comments

3 years agoshared: re-wrap comment
Zbigniew Jędrzejewski-Szmek [Fri, 17 Dec 2021 15:04:33 +0000 (16:04 +0100)]
shared: re-wrap comment

3 years agohostname: use _cleanup_ in one more place
Zbigniew Jędrzejewski-Szmek [Fri, 17 Dec 2021 14:22:18 +0000 (15:22 +0100)]
hostname: use _cleanup_ in one more place

3 years agosd-journal: fix segfault when match_new() fails
Yu Watanabe [Thu, 23 Dec 2021 12:45:29 +0000 (21:45 +0900)]
sd-journal: fix segfault when match_new() fails

Fixes #21867.

3 years agosd-journal: free incomplete match on failure
Yu Watanabe [Thu, 23 Dec 2021 12:35:29 +0000 (21:35 +0900)]
sd-journal: free incomplete match on failure

3 years agoMerge pull request #21866 from yuwata/update-hwdb-and-news-v250
Zbigniew Jędrzejewski-Szmek [Thu, 23 Dec 2021 12:30:26 +0000 (13:30 +0100)]
Merge pull request #21866 from yuwata/update-hwdb-and-news-v250

Update hwdb and news for v250

3 years agoboot: Use correct handle to find TextInputEx protocol
Jan Janssen [Tue, 21 Dec 2021 16:10:42 +0000 (17:10 +0100)]
boot: Use correct handle to find TextInputEx protocol

LibLocateProtocol will return the protocol for the first device that
supports it. But it may not actually come from the ConIn device that
we want to use here.

This should be the root cause of what was previously considered just
broken firmware. If you ask the wrong device to return some key, of
course it will never provide one.

This changes the way we handle input yet again in light of this new
knowledge and because using the correct TextInputEx with fallback to
ConIn can actually create double input in some cases.

Since we are now confident that we get the right TextInputEx, we can
use that exclusively, only falling back to ConIn if the console input
device does not support the better interface (the spec is pretty clear
that it must support it, though).

Because some firmware is broken, we still need to provide a fallback
to the previously used TextInputEx thats overrides ConIn/ConInEx if
it is functional.

3 years agoNEWS: update contributors list and release date
Yu Watanabe [Thu, 23 Dec 2021 10:40:32 +0000 (19:40 +0900)]
NEWS: update contributors list and release date

3 years agohwdb: update hwdb for v250-final
Yu Watanabe [Thu, 23 Dec 2021 10:36:06 +0000 (19:36 +0900)]
hwdb: update hwdb for v250-final

Generated by `meson compile -C build update-hwdb update-hwdb-autosuspend`.

3 years agomachined: set TTYPath for container shell
Ludwig Nussel [Tue, 21 Dec 2021 10:38:49 +0000 (11:38 +0100)]
machined: set TTYPath for container shell

TTYPath is needed for proper utmp registration of the shell to
receive wall messages.

3 years agoman: reindent and rebreak systemd.network
Yu Watanabe [Thu, 23 Dec 2021 07:49:42 +0000 (16:49 +0900)]
man: reindent and rebreak systemd.network

Also fixes the following:
- IPServiceType= is moved to [DHCPv4] section,
- drop an incorrect sentence in RouteMTUBytes= in [DHCPv4] section.
- drop unnecessary word 'unsigned'.

3 years agomeson: fix typo
Yu Watanabe [Thu, 23 Dec 2021 08:01:55 +0000 (17:01 +0900)]
meson: fix typo

3 years agoanalyze: do not connect to DBUS with --offline
Luca Boccassi [Wed, 22 Dec 2021 18:31:15 +0000 (18:31 +0000)]
analyze: do not connect to DBUS with --offline

Co-authored-by: Lucas Werkmeister <mail@lucaswerkmeister.de>
3 years agoMerge pull request #21858 from yuwata/fix-test-home
Luca Boccassi [Wed, 22 Dec 2021 16:14:53 +0000 (16:14 +0000)]
Merge pull request #21858 from yuwata/fix-test-home

test: workaround for TEST-46-HOMED

3 years agoboot: Use -fvisibility=hidden instead of -fwhole-program
Jan Janssen [Wed, 22 Dec 2021 12:35:05 +0000 (13:35 +0100)]
boot: Use -fvisibility=hidden instead of -fwhole-program

It's functionally the same for sd-boot, but using visibilty
is generally preferred over whole-program.

3 years agomeson: make it compatible with AFL and honggfuzz again
Evgeny Vereshchagin [Tue, 21 Dec 2021 21:05:10 +0000 (21:05 +0000)]
meson: make it compatible with AFL and honggfuzz again

afl-clang and hufzz-clang try to instrument the code and the
underlying compilers don't like it. It should probably be
fixed in both afl and honggfuzz eventually but until then
let's just use "raw" clang to build bpf-skeletons.

It's a follow-up to https://github.com/systemd/systemd/pull/21607

3 years agotest: wait for user inactive
Yu Watanabe [Wed, 22 Dec 2021 07:52:47 +0000 (16:52 +0900)]
test: wait for user inactive

The user may be busy when auto-rebalancing the user's home device.

Workaround for #21589.

---
Dec 01 15:03:15 H systemd-homework[1078]: Provided password unlocks user record.
Dec 01 15:03:15 H systemd-homework[1078]: Image file '/home/test-user.home' already locked, can't use.
Dec 01 15:03:15 H systemd-homed[240]: Worker reported error code EADDRINUSE.
Dec 01 15:03:15 H systemd-homed[240]: Activation failed: Address already in use
---

3 years agotest: remove test-user2
Yu Watanabe [Wed, 22 Dec 2021 06:43:05 +0000 (15:43 +0900)]
test: remove test-user2

Otherwise, we cannot run the test multiple times.

3 years agohome: update log message
Yu Watanabe [Wed, 22 Dec 2021 08:11:31 +0000 (17:11 +0900)]
home: update log message

The ratelimit hits even when the all previous attempts are successfull.

3 years agoMerge pull request #21848 from yuwata/errno-name-drop-aliases
Yu Watanabe [Wed, 22 Dec 2021 08:27:12 +0000 (17:27 +0900)]
Merge pull request #21848 from yuwata/errno-name-drop-aliases

errno-name: drop aliases defined for specific arch

3 years agotest: add test for errno-list.[ch]
Yu Watanabe [Tue, 21 Dec 2021 23:51:41 +0000 (08:51 +0900)]
test: add test for errno-list.[ch]

3 years agoerrno-name: drop aliases defined for specific arch
Yu Watanabe [Tue, 21 Dec 2021 11:34:23 +0000 (20:34 +0900)]
errno-name: drop aliases defined for specific arch

In kernel's arch/parisc/include/uapi/asm/errno.h, ECANCELLED and
EREFUSED are defined as aliases of ECANCELED and ECONNREFUSED,
respectively. Let's drop them.

Fixes #21844.

3 years agoMerge pull request #21857 from loongarch64/dev-pr1
Yu Watanabe [Wed, 22 Dec 2021 06:20:20 +0000 (15:20 +0900)]
Merge pull request #21857 from loongarch64/dev-pr1

LoongArch: dmi, virt detection and testcase

3 years agotest,static-destruct: Use retain attribute to prevent linker garbage collection
Jan Janssen [Wed, 22 Dec 2021 00:33:10 +0000 (01:33 +0100)]
test,static-destruct: Use retain attribute to prevent linker garbage collection

Fixes: #21847

3 years agotest: add LoongArch 64bit testcase
Xiaotian Wu [Sat, 6 Nov 2021 08:29:45 +0000 (16:29 +0800)]
test: add LoongArch 64bit testcase

3 years agovirt: add detection for LoongArch 64bit
Xiaotian Wu [Fri, 5 Nov 2021 01:23:13 +0000 (09:23 +0800)]
virt: add detection for LoongArch 64bit

3 years agodmi: add LoongArch 64bit support
Xiaotian Wu [Mon, 19 Apr 2021 10:19:17 +0000 (18:19 +0800)]
dmi: add LoongArch 64bit support

3 years agotest: tweak TriggerLimitIntervalSec= if we're running w/o KVM as well
Frantisek Sumsal [Tue, 21 Dec 2021 19:45:18 +0000 (20:45 +0100)]
test: tweak TriggerLimitIntervalSec= if we're running w/o KVM as well

since in that case we might be also slow enough to miss the rate-limit
window. However, let's not set the trigger limit unconditionally to
still have coverage for the unaltered path unit (but without sacrificing
CI stability).

See: https://github.com/systemd/systemd/pull/21808#issuecomment-998927401

3 years agoboot: Fix armhf build failure
Jan Janssen [Tue, 21 Dec 2021 12:44:47 +0000 (13:44 +0100)]
boot: Fix armhf build failure

Fixes: #21842

3 years agomeson: fix cross compiling
Yu Watanabe [Tue, 21 Dec 2021 11:10:09 +0000 (20:10 +0900)]
meson: fix cross compiling

3 years agoshared: Remove remaining usages of GPT_ROOT_NATIVE, GPT_USR_NATIVE from dissect-image.c
Daan De Meyer [Tue, 21 Dec 2021 10:13:10 +0000 (11:13 +0100)]
shared: Remove remaining usages of GPT_ROOT_NATIVE, GPT_USR_NATIVE from dissect-image.c

Follow-up for 49ae9d91f9ba68bf3f1a6928152a5969d329bbc2

Fixes #21843

3 years agotimedatectl: Uniform commas in NTPMessage output
Scott Worley [Mon, 20 Dec 2021 22:23:02 +0000 (14:23 -0800)]
timedatectl: Uniform commas in NTPMessage output

3 years agotest: tweak the path trigger limit a bit when collecting coverage
Frantisek Sumsal [Mon, 20 Dec 2021 18:52:47 +0000 (19:52 +0100)]
test: tweak the path trigger limit a bit when collecting coverage

Basically the same thing as in e70103e, but for TEST-63. Uses
directives introduced by 47dba9f.

Follow-up to aaae822.

3 years agoNEWS: add missing noun v250-rc3
Zbigniew Jędrzejewski-Szmek [Mon, 20 Dec 2021 13:55:32 +0000 (14:55 +0100)]
NEWS: add missing noun

3 years agoMerge pull request #21839 from yuwata/repart-issue-reproducer-21817
Yu Watanabe [Mon, 20 Dec 2021 17:30:53 +0000 (02:30 +0900)]
Merge pull request #21839 from yuwata/repart-issue-reproducer-21817

test: add test case for #21817

3 years agojournal: Handle partially read HashItem's when punching holes
Daan De Meyer [Mon, 20 Dec 2021 13:55:02 +0000 (14:55 +0100)]
journal: Handle partially read HashItem's when punching holes

3 years agonss-resolve: expose various source-disablement settings as variables
Zbigniew Jędrzejewski-Szmek [Mon, 20 Dec 2021 13:16:44 +0000 (14:16 +0100)]
nss-resolve: expose various source-disablement settings as variables

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2006761:
> systemd-resolved always (reverse)-resolves the host's IP addresses and FQDN.
> This can be harmful when an application (for instance, a DNS zone manager) is
> installed on the same server instance.  That application would expect
> NXDOMAIN to be returned if the current server's IP does not belong in an
> already managed reverse zone.

This allows clients of nss-resolve to use the same config options that are
available through the dbus api and as command-line options to resolvectl.

The man page text is is mostly copied directly from
c6f20515ab600098b5c2871bae2e9ecab3b41555.

3 years agotest: add a test case for issue #21817
Yu Watanabe [Mon, 20 Dec 2021 14:47:52 +0000 (23:47 +0900)]
test: add a test case for issue #21817

3 years agotest: install losetup by default
Yu Watanabe [Mon, 20 Dec 2021 14:34:17 +0000 (23:34 +0900)]
test: install losetup by default

Preparation for the next commit.

3 years agoNEWS: add note about path unit's TriggerLimitBurst= and TriggerLimitIntervalSec=
Luca Boccassi [Mon, 20 Dec 2021 13:52:43 +0000 (13:52 +0000)]
NEWS: add note about path unit's TriggerLimitBurst= and TriggerLimitIntervalSec=

3 years agorepart: use real disk start/end for bar production
Tom Yan [Sun, 19 Dec 2021 17:30:38 +0000 (01:30 +0800)]
repart: use real disk start/end for bar production

Partitions are not always within our aligned scope. Bar printing
involves foreign partitions as well.

Fixes #21817.

3 years agohwdb: update for -rc3
Zbigniew Jędrzejewski-Szmek [Mon, 20 Dec 2021 12:24:41 +0000 (13:24 +0100)]
hwdb: update for -rc3

Just a small bunch of additions and a naming updates.

3 years agojournal-remote: use MHD_HTTP_CONTENT_TOO_LARGE as MHD_HTTP_PAYLOAD_TOO_LARGE is depre...
Yu Watanabe [Mon, 20 Dec 2021 11:48:32 +0000 (20:48 +0900)]
journal-remote: use MHD_HTTP_CONTENT_TOO_LARGE as MHD_HTTP_PAYLOAD_TOO_LARGE is deprecated since 0.9.74

3 years agoMerge pull request #21831 from keszybz/man-dnssec-fixlets
Luca Boccassi [Mon, 20 Dec 2021 12:04:41 +0000 (12:04 +0000)]
Merge pull request #21831 from keszybz/man-dnssec-fixlets

Fixlets for DNSSEC-related documentation

3 years agoNEWS: add the boot loader stuff
Zbigniew Jędrzejewski-Szmek [Mon, 20 Dec 2021 11:20:47 +0000 (12:20 +0100)]
NEWS: add the boot loader stuff

3 years agobuild(deps): bump actions/upload-artifact from 2.3.0 to 2.3.1
dependabot[bot] [Mon, 20 Dec 2021 09:19:10 +0000 (09:19 +0000)]
build(deps): bump actions/upload-artifact from 2.3.0 to 2.3.1

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/da838ae9595ac94171fa2d4de5a2f117b3e7ac32...82c141cc518b40d92cc801eee768e7aafc9c2fa2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
3 years agoman: correctly document default for DNSSEC= and DNSoverTLS=
Zbigniew Jędrzejewski-Szmek [Sat, 18 Dec 2021 16:03:43 +0000 (17:03 +0100)]
man: correctly document default for DNSSEC= and DNSoverTLS=

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

3 years agoman: describe flags for record resolving
Zbigniew Jędrzejewski-Szmek [Tue, 14 Dec 2021 18:39:36 +0000 (19:39 +0100)]
man: describe flags for record resolving

3 years agoman: describe $SYSTEMD_NSS_RESOLVE_VALIDATE
Zbigniew Jędrzejewski-Szmek [Tue, 14 Dec 2021 17:48:25 +0000 (18:48 +0100)]
man: describe $SYSTEMD_NSS_RESOLVE_VALIDATE

This variable has a pretty important effect, but we didn't mention it
anywhere in the docs. It was added in aee9d18c8d909eb7aca2838e4bce5da018b6a112.

3 years agoMerge pull request #21807 from keszybz/bootcls-no-autodetect
Daan De Meyer [Mon, 20 Dec 2021 09:43:18 +0000 (10:43 +0100)]
Merge pull request #21807 from keszybz/bootcls-no-autodetect

Use KERNEL_INSTALL_MACHINE_ID and KERNEL_INSTALL_LAYOUT with bootctl install

3 years agobasic: add a size check to format timex members properly
Mike Gilbert [Mon, 20 Dec 2021 00:39:37 +0000 (19:39 -0500)]
basic: add a size check to format timex members properly

As of glibc-2.34, the size of members in struct timex varies depending on
the _TIME_BITS macro.

Fixes: https://github.com/systemd/systemd/issues/21826

3 years agosd-radv: do not use goto for non-error-handling cases
Yu Watanabe [Sun, 19 Dec 2021 00:03:16 +0000 (09:03 +0900)]
sd-radv: do not use goto for non-error-handling cases

Follow-up for 059d7b6eae827e73c73633bcc40fe74f3696f3f6.

The comment https://github.com/systemd/systemd/pull/21814#discussion_r771842132
suggests to introduce new helper, but it is used only one place.
Let's not add such, but simply replace the goto with a flag.

3 years agoMerge pull request #21818 from bluca/path_trigger_limit
Daan De Meyer [Sun, 19 Dec 2021 11:42:11 +0000 (12:42 +0100)]
Merge pull request #21818 from bluca/path_trigger_limit

path unit: add TriggerLimitBurst= and TriggerLimitIntervalSec=

3 years agologind: Use new macros
Nishal Kulkarni [Fri, 17 Dec 2021 16:36:31 +0000 (22:06 +0530)]
logind: Use new macros

Migrate logind to use the new macros to declare a D-Bus method or signal.
Replaced SD_BUS_METHOD_WITH_NAMES with SD_BUS_METHOD_WITH_ARGS.
Replaced SD_BUS_SIGNAL_WITH_NAMES with SD_BUS_SIGNAL_WITH_ARGS.

3 years agoMerge pull request #21814 from yuwata/network-dhcp-pd-fixes
Yu Watanabe [Sat, 18 Dec 2021 23:52:08 +0000 (08:52 +0900)]
Merge pull request #21814 from yuwata/network-dhcp-pd-fixes

network: several fixes for DHCP prefix delegation

3 years agopath unit: add TriggerLimitBurst= and TriggerLimitIntervalSec=
Luca Boccassi [Sat, 18 Dec 2021 17:52:52 +0000 (17:52 +0000)]
path unit: add TriggerLimitBurst= and TriggerLimitIntervalSec=

Given there's now a default for these settings, also allow users to configure
them, matching socket units

3 years agoman: fix typo in systemd.socket.5
Luca Boccassi [Sat, 18 Dec 2021 17:23:53 +0000 (17:23 +0000)]
man: fix typo in systemd.socket.5

3 years agoMerge pull request #21808 from DaanDeMeyer/path-trigger-limit
Luca Boccassi [Sat, 18 Dec 2021 16:56:05 +0000 (16:56 +0000)]
Merge pull request #21808 from DaanDeMeyer/path-trigger-limit

core: Add trigger limit for path units

3 years agocore: Add trigger limit for path units
Daan De Meyer [Fri, 17 Dec 2021 19:01:31 +0000 (20:01 +0100)]
core: Add trigger limit for path units

When conditions fail on a service unit, a path unit can cause
PID 1 to busy loop as it keeps trying to activate the service unit.
To avoid this from happening, add a trigger limit to the path unit,
identical to the trigger limit we have for socket units.

Initially, let's start with a high limit and not make it configurable.
If needed, we can add properties to configure the rate limit similar
to the ones we have for socket units.

3 years agohomed: Use new SD_BUS_METHOD_WITH_ARGS macro
Nishal Kulkarni [Fri, 17 Dec 2021 13:01:55 +0000 (18:31 +0530)]
homed: Use new SD_BUS_METHOD_WITH_ARGS macro

Migrate homed to use the new macros to declare a D-Bus method.
Replaced `SD_BUS_METHOD_WITH_NAMES` with `SD_BUS_METHOD_WITH_ARGS`

3 years agotest-network: add tests for renewing/rebinding lease
Yu Watanabe [Sat, 18 Dec 2021 00:52:04 +0000 (09:52 +0900)]
test-network: add tests for renewing/rebinding lease

3 years agotest-network: introduce dump_dnsmasq_log_file()
Yu Watanabe [Sat, 18 Dec 2021 00:55:54 +0000 (09:55 +0900)]
test-network: introduce dump_dnsmasq_log_file()

3 years agotest-network: use dnsmasq for testing DHCP4-6RD
Yu Watanabe [Fri, 17 Dec 2021 22:56:42 +0000 (07:56 +0900)]
test-network: use dnsmasq for testing DHCP4-6RD

3 years agotest-network: use --bind-interfaces option for dnsmasq
Yu Watanabe [Fri, 17 Dec 2021 22:55:07 +0000 (07:55 +0900)]
test-network: use --bind-interfaces option for dnsmasq

Also make the interface name and router address configurable.

3 years agosd-dhcp-client: add log message when a message is received
Yu Watanabe [Sat, 18 Dec 2021 00:53:27 +0000 (09:53 +0900)]
sd-dhcp-client: add log message when a message is received

3 years agonetwork: dhcp-pd: do not stack 6rd sit tunnel
Yu Watanabe [Sat, 18 Dec 2021 01:06:59 +0000 (10:06 +0900)]
network: dhcp-pd: do not stack 6rd sit tunnel

3 years agonetwork: route: update expiration timer in link_request_route()
Yu Watanabe [Sat, 18 Dec 2021 00:50:08 +0000 (09:50 +0900)]
network: route: update expiration timer in link_request_route()

3 years agonetwork: route: do not drop unreachable route on reconfiguring downstream interface
Yu Watanabe [Sat, 18 Dec 2021 00:46:55 +0000 (09:46 +0900)]
network: route: do not drop unreachable route on reconfiguring downstream interface

Previously, when a downstream is reconfigured, the unreachable route
was removed as there is no corresponding static config in .network
files.

3 years agonetwork: dhcp-pd: fix condition in dhcp_pd_prefix_lost()
Yu Watanabe [Sat, 18 Dec 2021 00:46:23 +0000 (09:46 +0900)]
network: dhcp-pd: fix condition in dhcp_pd_prefix_lost()

3 years agosd-radv: send RA when prefix is updated
Yu Watanabe [Fri, 17 Dec 2021 22:52:30 +0000 (07:52 +0900)]
sd-radv: send RA when prefix is updated

3 years agonetwork: a couple of tweaks suggested by Coccinelle
Frantisek Sumsal [Fri, 17 Dec 2021 19:16:18 +0000 (20:16 +0100)]
network: a couple of tweaks suggested by Coccinelle

3 years agonetwork: dhcp4: pass IPServiceType=none to dhcp client
Yu Watanabe [Fri, 17 Dec 2021 20:15:44 +0000 (05:15 +0900)]
network: dhcp4: pass IPServiceType=none to dhcp client

Follow-up for b55093ce8884ee4fc72f28c6fd5e39897e921e21.

3 years agoman: fix machine-id(5) man page reference
Frantisek Sumsal [Fri, 17 Dec 2021 19:59:10 +0000 (20:59 +0100)]
man: fix machine-id(5) man page reference

Spotted whilst debugging:
```
[763/2094] Generating man/machine-info.html with a custom command
Element cite in namespace '' encountered in para, but no template matches.
[765/2094] Generating man/machine-info.5 with a custom command
Element cite in namespace '' encountered in para, but no template matches.
```

Follow-up to 357376d0bb5.

3 years agoMerge pull request #21800 from keszybz/net-id-debugging
Yu Watanabe [Fri, 17 Dec 2021 23:35:08 +0000 (08:35 +0900)]
Merge pull request #21800 from keszybz/net-id-debugging

Add more debugging info to udev builtin net_id

3 years agoRevert "core: Propagate condition failed state to triggering units."
Daan De Meyer [Fri, 17 Dec 2021 18:39:29 +0000 (19:39 +0100)]
Revert "core: Propagate condition failed state to triggering units."

This reverts commit 12ab94a1e4961a39c32efb60b71866ab588d3ea2.

3 years agoudev/net_id: add debug logging for construction of device names
Zbigniew Jędrzejewski-Szmek [Fri, 17 Dec 2021 10:43:26 +0000 (11:43 +0100)]
udev/net_id: add debug logging for construction of device names

I think this makes it much easier to figure out what information sources
were used to generate the names, and why certain names were not generated.

On my laptop:

Using default interface naming scheme 'v250'.
ID_NET_NAMING_SCHEME=v250
wwp0s20f0u2i12: addr_assign_type=3, MAC address is not permanent.
wwp0s20f0u2i12: Parsing slot information from sysname "0000:00:14.0": success
wwp0s20f0u2i12: dev_port=0
wwp0s20f0u2i12: PCI path identifier: domain=0 bus=0 slot=20 func=0 phys_port= dev_port=0 → p0s20f0
wwp0s20f0u2i12: USB name identifier: ports=2 config=1 interface=12 → u2i12
ID_NET_NAME_PATH=wwp0s20f0u2i12

Using default interface naming scheme 'v250'.
ID_NET_NAMING_SCHEME=v250
ID_NET_NAME_MAC=en54ee75cb1dc0
enp0s31f6: MAC address identifier: hw_addr=54:ee:75:cb:1d:c0 → 54ee75cb1dc0
ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd.
enp0s31f6: Parsing slot information from sysname "0000:00:1f.6": success
enp0s31f6: dev_port=0
enp0s31f6: PCI path identifier: domain=0 bus=0 slot=31 func=6 phys_port= dev_port=0 → p0s31f6
ID_NET_NAME_PATH=enp0s31f6

Using default interface naming scheme 'v250'.
ID_NET_NAMING_SCHEME=v250
ID_NET_NAME_MAC=en0050b6856d36
hub0: MAC address identifier: hw_addr=00:50:b6:85:6d:36 → 0050b6856d36
ID_OUI_FROM_DATABASE=GOOD WAY IND. CO., LTD.
hub0: Parsing slot information from sysname "0000:00:14.0": success
hub0: dev_port=0
hub0: PCI path identifier: domain=0 bus=0 slot=20 func=0 phys_port= dev_port=0 → p0s20f0
hub0: USB name identifier: ports=4.1.3 config=2 interface=0 → u4u1u3c2
ID_NET_NAME_PATH=enp0s20f0u4u1u3c2

Using default interface naming scheme 'v250'.
ID_NET_NAMING_SCHEME=v250
wlp4s0: addr_assign_type=3, MAC address is not permanent.
wlp4s0: Parsing slot information from sysname "0000:04:00.0": success
wlp4s0: dev_port=0
wlp4s0: PCI path identifier: domain=0 bus=4 slot=0 func=0 phys_port= dev_port=0 → p4s0
ID_NET_NAME_PATH=wlp4s0

3 years agobootctl: deprecate --make-machine-id-directory=auto
Zbigniew Jędrzejewski-Szmek [Fri, 17 Dec 2021 17:37:08 +0000 (18:37 +0100)]
bootctl: deprecate --make-machine-id-directory=auto

Now that kernel-install creates the machine-id directory, we don't need to do
this is 'bootctl install', and in fact it's better not to do this since it
might never be necessary. So let's change the default behaviour to 'no'.

I kept support for 'auto' to maintain backwards compatibility, even though the
default was changed. Previous behaviour can be requested by specifying
--make-machine-id-directory=auto.

3 years agobootctl: write KERNEL_INSTALL_LAYOUT=bls and KERNEL_INSTALL_MACHINE_ID=…
Zbigniew Jędrzejewski-Szmek [Fri, 17 Dec 2021 15:06:51 +0000 (16:06 +0100)]
bootctl: write KERNEL_INSTALL_LAYOUT=bls and KERNEL_INSTALL_MACHINE_ID=…

This is a natural extension of d6bce6e224: if we are installing sd-boot, we
want to use the sd-boot layout, so let's write the appropriate
KERNEL_INSTALL_LAYOUT setting. Effectively, if we do 'booctl install',
kernel-install will not autodetect the layout anymore.

And 357376d0bb added support for KERNEL_INSTALL_MACHINE_ID. We need to support
it here too. We both read it, so that we create the right directories, and also
write it if it wasn't written yet and we created some directories using it, so
that kernel-install that is executed later knows the machine-id that matches
the directories we crated.

The code is changed in some places to fail if we can't figure out the current
status. When installing the boot loader it's probably better not to guess.