]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
2 years agocgroup: Fix MemoryAvailable= by considering physical memory
Michal Koutný [Thu, 7 Sep 2023 16:50:08 +0000 (18:50 +0200)] 
cgroup: Fix MemoryAvailable= by considering physical memory

Currently, querying a unit's available memory would result in infinity
if there are no limits set on the unit or ancestors.
That undermines semantics implied by the name, so look at the physical
memory if the search propagates up to the -.slice.
This makes sense even in systemd user instances, limits of -.slice are
still looked at too.

Also change printed representation of infinite MemoryAvailable which
means we could not figure out a good estimate.

2 years agoconf-parser: parse main config first only if not symlinked to/as drop-in
Mike Yuan [Thu, 7 Sep 2023 13:38:00 +0000 (21:38 +0800)] 
conf-parser: parse main config first only if not symlinked to/as drop-in

Otherwise we'll skip parsing main config directly.

Replaces #27152
Replaces #28956:
chase() is an overkill for determining whether
two files are the same. We only need to check
if the inodes are the same.

2 years agorepart,bootspec: use set_ensure_consume
Mike Yuan [Thu, 7 Sep 2023 15:28:45 +0000 (23:28 +0800)] 
repart,bootspec: use set_ensure_consume

2 years agoukify/man: Look for a config file in systemd folders if not specified
Alvin Alvarado [Fri, 8 Sep 2023 04:02:52 +0000 (14:02 +1000)] 
ukify/man: Look for a config file in systemd folders if not specified

If the user does not specify a config file to use, ukify will try looking for one at {/run,/etc,/usr/local/lib,/usr/lib}/systemd/ukify.conf in order and then use the first one found. Also made sure the --config input is a pathlib.Path by specifying its type in its CONFIG_ITEMS entry.
Big cheers to Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> for helping!

2 years agoMerge pull request #29123 from yuwata/conf-parser-cleanups-for-config-section
Mike Yuan [Fri, 8 Sep 2023 10:11:12 +0000 (18:11 +0800)] 
Merge pull request #29123 from yuwata/conf-parser-cleanups-for-config-section

conf-parser: several cleanups and generalizations for ConfigSection

2 years agoMerge pull request #29121 from yuwata/network-drop-duplicated
Luca Boccassi [Fri, 8 Sep 2023 09:42:08 +0000 (10:42 +0100)] 
Merge pull request #29121 from yuwata/network-drop-duplicated

network: drop duplicated checks and function calls

2 years agoMerge pull request #29071 from YHNdnzj/loop-write-full
Lennart Poettering [Fri, 8 Sep 2023 08:24:39 +0000 (10:24 +0200)] 
Merge pull request #29071 from YHNdnzj/loop-write-full

io-util: introduce loop_write_full and use it where appropriate

2 years agomkosi: Drop arch workaround
Daan De Meyer [Fri, 8 Sep 2023 07:47:41 +0000 (09:47 +0200)] 
mkosi: Drop arch workaround

archlinux-keyring was updated in Michel's PPA so let's drop the
workaround.

2 years agoconf-parser: introduce ordered_hashmap_by_section_find_unused_line() 29123/head
Yu Watanabe [Thu, 7 Sep 2023 19:42:48 +0000 (04:42 +0900)] 
conf-parser: introduce ordered_hashmap_by_section_find_unused_line()

2 years agoconf-parser: check overflow in hashmap_find_free_section_line()
Yu Watanabe [Thu, 7 Sep 2023 20:11:57 +0000 (05:11 +0900)] 
conf-parser: check overflow in hashmap_find_free_section_line()

Also, this also renames the function, and makes it optionally takes
a filename.

2 years agoconf-parser: modernize config_section_new()
Yu Watanabe [Thu, 7 Sep 2023 19:59:39 +0000 (04:59 +0900)] 
conf-parser: modernize config_section_new()

- add assertions,
- rename argument to store result.

2 years agohashmap: introduce HASHMAP_BASE_FOREACH() and friend
Yu Watanabe [Thu, 7 Sep 2023 19:39:15 +0000 (04:39 +0900)] 
hashmap: introduce HASHMAP_BASE_FOREACH() and friend

2 years agonetwork: drop duplicated check 29121/head
Yu Watanabe [Thu, 7 Sep 2023 18:26:27 +0000 (03:26 +0900)] 
network: drop duplicated check

The same check is in network_adjust_dhcp_server().

2 years agonetwork: drop duplicated address_set_broadcast()
Yu Watanabe [Thu, 7 Sep 2023 19:16:31 +0000 (04:16 +0900)] 
network: drop duplicated address_set_broadcast()

It will be called later in link_request_address().

2 years agoci: temporarily disable Packit's i386
Frantisek Sumsal [Thu, 7 Sep 2023 20:47:26 +0000 (22:47 +0200)] 
ci: temporarily disable Packit's i386

As it currently crashes when extracting debuginfo due to [0] and hangs
until it's killed by the watchdog (which takes ~5 hours).

[0] https://bugzilla.redhat.com/show_bug.cgi?id=2237392

2 years agotpm2-util: drop support for creating TPM2 trial sessions
Lennart Poettering [Thu, 7 Sep 2023 10:11:10 +0000 (12:11 +0200)] 
tpm2-util: drop support for creating TPM2 trial sessions

This is unused these days, we instead calculate policy hashes ourselves
and do not need trial sessions for that anymore. Given how unreliable
they are in actual TPMs, we don't want to use them anyway, so I don't
think we ever want to readd this.

hence, let's drop this unused feature.

2 years agoefi: Add some more paranoia asserts
Jan Janssen [Thu, 7 Sep 2023 13:46:42 +0000 (15:46 +0200)] 
efi: Add some more paranoia asserts

2 years agoMerge pull request #29036 from YHNdnzj/hibernate-resume-when-battery-low
Zbigniew Jędrzejewski-Szmek [Thu, 7 Sep 2023 15:34:27 +0000 (17:34 +0200)] 
Merge pull request #29036 from YHNdnzj/hibernate-resume-when-battery-low

hibernate-resume: split out the logic of finding hibernate location and support battery-check better

2 years agoparse_timestamp: accept RFC3339-style timezone and %FT%R[:%S[.%N]]
наб [Sun, 3 Sep 2023 20:34:41 +0000 (22:34 +0200)] 
parse_timestamp: accept RFC3339-style timezone and %FT%R[:%S[.%N]]

We basically parsed the RFC3339 format already, except with a space:
      NOTE: ISO 8601 defines date and time separated by "T".
      Applications using this syntax may choose, for the sake of
      readability, to specify a full-date and full-time separated by
      (say) a space character.
so now we handle both
  2012-11-23 11:12:13.456
  2012-11-23T11:12:13.456
as equivalent.

Parse directly-suffixed Z and +05:30 timezones as well:
  2012-11-23T11:12:13.456Z
  2012-11-23T11:12:13.456+02:00
as they're both defined by RFC3339.

We do /not/ allow z or t; the RFC says
      NOTE: Per [ABNF] and ISO8601, the "T" and "Z" characters in this
      syntax may alternatively be lower case "t" or "z" respectively.

      This date/time format may be used in some environments or contexts
      that distinguish between the upper- and lower-case letters 'A'-'Z'
      and 'a'-'z' (e.g. XML).  Specifications that use this format in
      such environments MAY further limit the date/time syntax so that
      the letters 'T' and 'Z' used in the date/time syntax must always
      be upper case.  Applications that generate this format SHOULD use
      upper case letters.
We /are/ in a case-sensitive environment, neither are in wide-spread
use, and "z" poses an issue of whether "todayz" should be the same
as "todayZ" ("today UTC") or an error (it should be an error).

Fractional seconds are limited to six digits (they're nominally
   time-secfrac    = "." 1*DIGIT
), since we only support 1µs-resolution timestamps, and limit to six
digits in our other sub-second formats.

Parsing
  2012-11-23T11:12
is an extension two ways (no seconds, no timezone),
mirroring our "canonical" format.

Fixes #5194

2 years agoshared/wall: use loop_write_full 29071/head
Mike Yuan [Tue, 5 Sep 2023 05:07:02 +0000 (13:07 +0800)] 
shared/wall: use loop_write_full

2 years agoio-util: introduce loop_write_full that takes a timeout
Mike Yuan [Tue, 5 Sep 2023 14:15:09 +0000 (22:15 +0800)] 
io-util: introduce loop_write_full that takes a timeout

Also drop do_poll as the use case is covered
by timeout.

2 years agounits: order battery-check before hibernate-resume 29036/head
Mike Yuan [Sat, 2 Sep 2023 11:16:44 +0000 (19:16 +0800)] 
units: order battery-check before hibernate-resume

2 years agohibernate-resume: split out the logic of finding hibernate location
Mike Yuan [Tue, 5 Sep 2023 13:50:04 +0000 (21:50 +0800)] 
hibernate-resume: split out the logic of finding hibernate location

Before this commit, the hibernate location logic only exists in
the generator. Also, we compare device nodes (devnode_same()) and
clear EFI variable HibernateLocation in the generator too. This is
not ideal though: when the generator gets to run, udev hasn't yet
started, so effectively devnode_same() always fails. Moreover, if
the boot process is interrupted by e.g. battery-check, the hibernate
information is lost.

Therefore, let's split out the logic of finding hibernate location.
The generator only does the initial validation of system info and
enables systemd-hibernate-resume.service, and when the service
actually runs we validate everything again, which includes comparing
the device nodes and clearing the EFI variable. This should make
things more robust, plus systems that don't utilize a systemd-enabled
initrd can use the exact same logic to resume using the EFI variable.
I.e., systemd-hibernate-resume can be used standalone.

2 years agoMerge pull request #28957 from yuwata/core-mount-set-dirty-on-umount
Lennart Poettering [Thu, 7 Sep 2023 09:54:52 +0000 (11:54 +0200)] 
Merge pull request #28957 from yuwata/core-mount-set-dirty-on-umount

core/credential,mount: re-read /proc/self/mountinfo before invoking umount command

2 years agopo: Translated using Weblate (German)
Christian Kirbach [Wed, 6 Sep 2023 21:21:23 +0000 (23:21 +0200)] 
po: Translated using Weblate (German)

Currently translated at 85.4% (194 of 227 strings)

Co-authored-by: Christian Kirbach <christian.kirbach@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/de/
Translation: systemd/main

2 years agotest: use 'until' instead of 'while !'
Zbigniew Jędrzejewski-Szmek [Wed, 6 Sep 2023 12:51:07 +0000 (14:51 +0200)] 
test: use 'until' instead of 'while !'

In general, it's better to avoid a negation. And "!" is special, because it is
used for history expansion, i.e. the same command would behave differently if
pasted on the command line.

Inspired by 4a899c5a239eb50df3f596af4ff145f4a2d33f23.

2 years agohwdb: keyboard: D330 FnLk toggle
David Santamaría Rogado [Wed, 6 Sep 2023 14:24:04 +0000 (16:24 +0200)] 
hwdb: keyboard: D330 FnLk toggle

Map Fn+Tab to fn_esc as is FnLock toggle in this keyboard. Still doesn't behave as expected because work in ideapad_laptop kernel module could be required but now at least we report the same mapping in others keyboards with Fn+ESC for FnLock and not unknown.

Signed-off-by: David Santamaría Rogado <howl.nsp@gmail.com>
2 years agoMerge pull request #29098 from keszybz/man-page-postreview-fixup
Luca Boccassi [Wed, 6 Sep 2023 17:58:27 +0000 (18:58 +0100)] 
Merge pull request #29098 from keszybz/man-page-postreview-fixup

man/systemd-id128: fix example

2 years agoman: Add new Microsoft CAs to example
Jan Janssen [Wed, 6 Sep 2023 14:02:02 +0000 (16:02 +0200)] 
man: Add new Microsoft CAs to example

Also, let's use the links from the Microsoft documentation as they are
guaranteed to be stable.

Fixes: #29102
2 years agoopenssl-util: add common implementation of digest+sign
Lennart Poettering [Tue, 5 Sep 2023 11:55:41 +0000 (13:55 +0200)] 
openssl-util: add common implementation of digest+sign

2 years agocore/credential,mount: re-read /proc/self/mountinfo before invoking umount command 28957/head
Yu Watanabe [Thu, 24 Aug 2023 14:41:05 +0000 (23:41 +0900)] 
core/credential,mount: re-read /proc/self/mountinfo before invoking umount command

When a unit has credentials, stopping the service unmounts the credentials
directory. On shutdown, stopping the service and the corresponding mount
unit may be done mostly simultaneously, and if we invoke umount command soon
after umount() being called on stopping the service, the mount unit will
fail.

This makes Mount.invalidated_state flag set when umount() is called for a path,
and re-read /proc/self/mouninfo before invoking umount command if the flag is set.

Fixes #25527.
Replaces #26959.

2 years agotest-execute: check credentials can be read on ExecStartPost= and friends
Yu Watanabe [Fri, 25 Aug 2023 07:23:14 +0000 (16:23 +0900)] 
test-execute: check credentials can be read on ExecStartPost= and friends

Prompted by
https://github.com/systemd/systemd/pull/28787#issuecomment-1690614202.

2 years agocore/exec-credential: introduce exec_context_get_credential_directory() helper function
Yu Watanabe [Fri, 25 Aug 2023 07:11:02 +0000 (16:11 +0900)] 
core/exec-credential: introduce exec_context_get_credential_directory() helper function

No functional change, just refactoring.

2 years agocore: rename credential.[ch] -> exec-credential.[ch]
Yu Watanabe [Thu, 24 Aug 2023 14:52:51 +0000 (23:52 +0900)] 
core: rename credential.[ch] -> exec-credential.[ch]

Also rename setup_credentials() -> exec_setup_credentials().

Addresses the post-merge review
https://github.com/systemd/systemd/pull/28787#pullrequestreview-1592065048.

2 years agoRevert "core: do not leak mount for credentials directory if mount namespace is enabled"
Yu Watanabe [Fri, 25 Aug 2023 06:54:52 +0000 (15:54 +0900)] 
Revert "core: do not leak mount for credentials directory if mount namespace is enabled"

This reverts commits
9ae3624889b98f75efa6fd0c5f4b4de3eaf328d4
  "test-execute: add tests for credentials directory with mount namespace"↲
94fe4cf2557d1f70f20ee02d32f4c2ae6bc1fb3f
  "core: do not leak mount for credentials directory if mount namespace is enabled",
7241b9cd72d6e6079d5140cf24c34e78d3cf43cc
  "core/credential: make setup_credentials() return path to credentials directory",
fbaf3b23ae4aa79110ebd37aada70ce6a044c692
  "core: set $CREDENTIALS_DIRECTORY only when we set up credentials"

Before the commits, credentials directory set up on ExecStart= was kept
on e.g. ExecStop=. But, with the changes, if a service requests a
private mount namespace, the credentials directory is discarded after
ExecStart= is finished.

Let's revert the change, and find better way later.

Addresses the post-merge comment
https://github.com/systemd/systemd/pull/28787#issuecomment-1690614202.

2 years agoid128: add forgotten option to --help 29098/head
Zbigniew Jędrzejewski-Szmek [Wed, 6 Sep 2023 14:58:50 +0000 (16:58 +0200)] 
id128: add forgotten option to --help

2 years agoman/systemd-id128: fix example
Zbigniew Jędrzejewski-Szmek [Wed, 6 Sep 2023 07:59:11 +0000 (09:59 +0200)] 
man/systemd-id128: fix example

The example was supposed to show how
machine-id/new/machine-id --app-specific/show --app-specific tie together, but
the verb was ommitted.

I also extended the explanation a bit and used long option form in the first
example for more clarity. In the second, more complicated example, the
one-letter form is used for brevity.

Noticed in post-review:
https://github.com/systemd/systemd/pull/28988/commits/b37e8184a5a376749fbf68674ed6d7a4fc9901aa#r1315678438

2 years agoshared/wall: use logind if build without utmp support
Thorsten Kukuk [Mon, 4 Sep 2023 08:08:13 +0000 (10:08 +0200)] 
shared/wall: use logind if build without utmp support

If systemd is build without utmp support, use sd_get_sessions() in
utmp_wall() to get a list of logged in users with the corresponding tty.

2 years agocore: allow to run generators without sandboxing on qemu-user
Yu Watanabe [Thu, 24 Aug 2023 14:10:26 +0000 (23:10 +0900)] 
core: allow to run generators without sandboxing on qemu-user

When running on non-native userland architecture via systemd-nspawn
and qemu-user-static QEMU-emulator, clone() with CLONE_NEWNS fails with
EINVAL.

Fixes #28901.

[zjs: add a comment in the code]

2 years agoMerge pull request #29101 from DaanDeMeyer/kernel
Luca Boccassi [Wed, 6 Sep 2023 12:18:01 +0000 (13:18 +0100)] 
Merge pull request #29101 from DaanDeMeyer/kernel

mkosi: More kernel fixes

2 years agomkosi: Don't disable CONFIG_USB 29101/head
Daan De Meyer [Wed, 6 Sep 2023 10:58:30 +0000 (12:58 +0200)] 
mkosi: Don't disable CONFIG_USB

Having USB enabled seems useful enough, this wasn't doing anything
regardless because we already enable CONFIG_USB earlier in the kconfig
file so this just gets rid of warning.

2 years agomkosi: Don't build hid selftests
Daan De Meyer [Wed, 6 Sep 2023 10:57:57 +0000 (12:57 +0200)] 
mkosi: Don't build hid selftests

We don't build our kernel with hid support so don't build the selftests
either.

2 years agomkosi: Enable two more kernel configs
Daan De Meyer [Wed, 6 Sep 2023 10:31:32 +0000 (12:31 +0200)] 
mkosi: Enable two more kernel configs

Required for some bpf selftests so let's enable these in our config.

2 years agoMerge pull request #29099 from medhefgo/ci
Luca Boccassi [Wed, 6 Sep 2023 10:11:51 +0000 (11:11 +0100)] 
Merge pull request #29099 from medhefgo/ci

ci: Misc improvements

2 years agoupdate TODO
Lennart Poettering [Tue, 5 Sep 2023 11:54:35 +0000 (13:54 +0200)] 
update TODO

2 years agoci: Do not run build test as root 29099/head
Jan Janssen [Tue, 5 Sep 2023 10:07:01 +0000 (12:07 +0200)] 
ci: Do not run build test as root

Although, this is CI, we can still do better. It also ensures that any
env var changes make it into the script, as things like PATH would not
survive a `sudo -E`.

2 years agoci: Don't produce debug output for build tests
Jan Janssen [Tue, 5 Sep 2023 10:03:13 +0000 (12:03 +0200)] 
ci: Don't produce debug output for build tests

These binaries are never used, so generating debug symbols just
slows down build time.

2 years agoci: Use apt-get in favor of apt
Jan Janssen [Tue, 5 Sep 2023 10:02:05 +0000 (12:02 +0200)] 
ci: Use apt-get in favor of apt

Apparently, apt does not have a stable CLI interface and warns about it.

2 years agoci: Use add-apt-repository to enable sources
Jan Janssen [Tue, 5 Sep 2023 09:29:06 +0000 (11:29 +0200)] 
ci: Use add-apt-repository to enable sources

This should also ensure that consistent mirrors are selected.

2 years agoUpdate 60-input-id.hwdb: add TEX Shinobi (#29068)
khm [Wed, 6 Sep 2023 08:59:19 +0000 (01:59 -0700)] 
Update 60-input-id.hwdb: add TEX Shinobi (#29068)

* Update 60-input-id.hwdb: add TEX Shinobi

The TEX Shinobi keyboard with trackpoint incorrectly identifies as a mouse instead of a pointing stick.   This corrects it as suggested at https://gitlab.freedesktop.org/libinput/libinput/-/issues/932#note_2069967

Following the example of the Lite-On keyboard entry, this modalias specifies the mouse unit without tagging the device's other entries.

2 years agoci: Remove custom build step names
Jan Janssen [Wed, 30 Aug 2023 17:58:14 +0000 (19:58 +0200)] 
ci: Remove custom build step names

Putting build matrix details into a build step name is rather useless as
the jobs themselves already contain the needed information.

2 years agotest-network: Add test for PREF64
Susant Sahani [Tue, 5 Sep 2023 10:10:22 +0000 (15:40 +0530)] 
test-network: Add test for PREF64

2 years agoMerge pull request #29088 from yuwata/libsystemd-network-headers
Yu Watanabe [Tue, 5 Sep 2023 23:27:28 +0000 (08:27 +0900)] 
Merge pull request #29088 from yuwata/libsystemd-network-headers

libsystemd-network: split headers

2 years agoMerge pull request #29094 from yuwata/network-dbus-doc
Yu Watanabe [Tue, 5 Sep 2023 23:25:35 +0000 (08:25 +0900)] 
Merge pull request #29094 from yuwata/network-dbus-doc

man: update documents for network DBus interfaces

2 years agoMerge pull request #29091 from yuwata/sd-dhcp-client-use-usec
Luca Boccassi [Tue, 5 Sep 2023 21:23:06 +0000 (22:23 +0100)] 
Merge pull request #29091 from yuwata/sd-dhcp-client-use-usec

sd-dhcp-client: use usec_t for time values

2 years agosd-dhcp6-client: split out sd-dhcp6-protocol.h 29088/head
Yu Watanabe [Mon, 4 Sep 2023 14:46:50 +0000 (23:46 +0900)] 
sd-dhcp6-client: split out sd-dhcp6-protocol.h

2 years agosd-dhcp-server: fix typo in arguments
Yu Watanabe [Mon, 4 Sep 2023 13:34:03 +0000 (22:34 +0900)] 
sd-dhcp-server: fix typo in arguments

2 years agosd-dhcp: split out sd-dhcp-protocol.h from sd-dhcp-client.h
Yu Watanabe [Mon, 4 Sep 2023 13:33:40 +0000 (22:33 +0900)] 
sd-dhcp: split out sd-dhcp-protocol.h from sd-dhcp-client.h

2 years agomeson: sort headers
Yu Watanabe [Mon, 4 Sep 2023 13:22:32 +0000 (22:22 +0900)] 
meson: sort headers

2 years agoman: mention DBus interfaces for DHCP clients 29094/head
Yu Watanabe [Tue, 5 Sep 2023 19:32:04 +0000 (04:32 +0900)] 
man: mention DBus interfaces for DHCP clients

Follow-up for #28896.

2 years agonetwork/ndisc: split out ndisc_router_process_icmp6_ratelimit()
Yu Watanabe [Tue, 5 Sep 2023 12:41:57 +0000 (21:41 +0900)] 
network/ndisc: split out ndisc_router_process_icmp6_ratelimit()

Otherwise, if ndisc_router_process_default() return earlier, e.g.
when Network.ipv6_accept_ra_use_gateway is false, then the
ratelimit is not applied.

2 years agoMerge pull request #29089 from yuwata/network-ndisc-pref64-follow-ups
Luca Boccassi [Tue, 5 Sep 2023 21:02:47 +0000 (22:02 +0100)] 
Merge pull request #29089 from yuwata/network-ndisc-pref64-follow-ups

network/ndisc: follow-ups for PREF64 handling

2 years agonetwork: reorder bus implementations
Yu Watanabe [Tue, 5 Sep 2023 20:55:29 +0000 (05:55 +0900)] 
network: reorder bus implementations

Otherwise, in the man page, DHCPServer interface is listed in the Link
object.

2 years agodissect: add 'f2fs' to allow-listed filesystems
Luca Boccassi [Tue, 5 Sep 2023 17:13:45 +0000 (18:13 +0100)] 
dissect: add 'f2fs' to allow-listed filesystems

f2fs is actively maintained upstream, and popular in certain device
categories (phones, embedded), so allow-list by default.

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

2 years agoMerge pull request #29080 from mrc0mmand/test-tweaks
Luca Boccassi [Tue, 5 Sep 2023 18:44:52 +0000 (19:44 +0100)] 
Merge pull request #29080 from mrc0mmand/test-tweaks

A couple of test tweaks for recent-ish CI fails

2 years agoMerge pull request #29038 from keszybz/test-name-length-enforcement
Zbigniew Jędrzejewski-Szmek [Tue, 5 Sep 2023 18:29:13 +0000 (21:29 +0300)] 
Merge pull request #29038 from keszybz/test-name-length-enforcement

Limit width of fuzz test names in meson output

2 years agosd-dhcp-client: introduce sd_dhcp_lease_has_6rd() helper function 29091/head
Yu Watanabe [Mon, 4 Sep 2023 18:04:01 +0000 (03:04 +0900)] 
sd-dhcp-client: introduce sd_dhcp_lease_has_6rd() helper function

No functional change, just refactoring.

2 years agodhcp: introduce sd_dhcp_lease_get_timestamp()
Yu Watanabe [Mon, 4 Sep 2023 17:52:48 +0000 (02:52 +0900)] 
dhcp: introduce sd_dhcp_lease_get_timestamp()

And drop sd_dhcp_client_get_lease_timestamp().

Also, this introduce sd_dhcp_lease_get_lifetime_timestamp() and friends,
which provides timestamp of the lifetime and so on, while
sd_dhcp_lease_get_lifetime() provides timestamp.

2 years agotime-util: introduce triple_timestamp_from_boottime()
Yu Watanabe [Mon, 4 Sep 2023 17:14:01 +0000 (02:14 +0900)] 
time-util: introduce triple_timestamp_from_boottime()

2 years agosd-dhcp-client: store lifetime and friends in usec_t
Yu Watanabe [Mon, 4 Sep 2023 14:16:35 +0000 (23:16 +0900)] 
sd-dhcp-client: store lifetime and friends in usec_t

2 years agologind: give better error messages when failing to attach devices to seats
Lennart Poettering [Tue, 5 Sep 2023 11:57:42 +0000 (13:57 +0200)] 
logind: give better error messages when failing to attach devices to seats

When the user tries to attach a device lacking ID_FOR_SEAT they
currently get a very cryptic error message. Let's improve the situation
a bit. Still a bit cryptic maybe, but much less so.

Inspired-by: https://lists.freedesktop.org/archives/systemd-devel/2023-September/049469.html
Inspired-by: https://lists.freedesktop.org/archives/systemd-devel/2023-September/049484.html
Also-see: https://lists.freedesktop.org/archives/systemd-devel/2023-September/049470.html
Also-see: https://lists.freedesktop.org/archives/systemd-devel/2023-September/049489.html

2 years agonetwork/ndisc: refuse too many PREF64 prefixes 29089/head
Yu Watanabe [Tue, 5 Sep 2023 15:55:42 +0000 (00:55 +0900)] 
network/ndisc: refuse too many PREF64 prefixes

Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209.

Addresses https://github.com/systemd/systemd/pull/29009#issuecomment-1705700926.

2 years agonetwork/ndisc: drop outdated PREF64 prefixes
Yu Watanabe [Tue, 5 Sep 2023 15:44:42 +0000 (00:44 +0900)] 
network/ndisc: drop outdated PREF64 prefixes

Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209.

Addresses https://github.com/systemd/systemd/pull/29009#issuecomment-1705741844.

2 years agoMerge pull request #29035 from DaanDeMeyer/update-mkosi
Daan De Meyer [Tue, 5 Sep 2023 14:56:35 +0000 (16:56 +0200)] 
Merge pull request #29035 from DaanDeMeyer/update-mkosi

mkosi: Update to latest

2 years agomkosi: Make sure gzip is installed in initrd/system image
Daan De Meyer [Tue, 5 Sep 2023 14:02:05 +0000 (16:02 +0200)] 
mkosi: Make sure gzip is installed in initrd/system image

Required by loadkeys but not always a hard dependency so let's install
it explicitly.

2 years agotest: create the "global" dropins in /run 29080/head
Frantisek Sumsal [Tue, 5 Sep 2023 12:38:35 +0000 (14:38 +0200)] 
test: create the "global" dropins in /run

So the test doesn't fail if run multiple times in a succession.

2 years agouki: document section name size limit
Lennart Poettering [Tue, 5 Sep 2023 11:56:29 +0000 (13:56 +0200)] 
uki: document section name size limit

2 years agomkosi: Update to latest 29035/head
Daan De Meyer [Fri, 1 Sep 2023 11:58:16 +0000 (13:58 +0200)] 
mkosi: Update to latest

Configuration now takes priority over CLI options so we have to
configure the defaults for settings that we want to allow overriding
from the CLI. We also explicitly set some other settings so that they
can't be overridden from the CLI anymore. For example the base and
initrd image should never be made bootable so we set Bootable=no
explicitly for both.

2 years agotest: set ncat's idle timeout as well
Frantisek Sumsal [Tue, 5 Sep 2023 11:30:12 +0000 (13:30 +0200)] 
test: set ncat's idle timeout as well

Otherwise we'll get stuck waiting indefinitely if the test socket unit
fails to fail due the trigger limit, i.e.:

[  111.104906] testsuite-07.sh[743]: + systemctl start issue2467.socket
[  OK  ] Listening on issue2467.socket.
[  111.746465] testsuite-07.sh[743]: + nc -w20 -U /run/test.ctl
         Starting systemd-tmpfiles-clean.service...
[  OK  ] Finished systemd-tmpfiles-clean.service.
qemu-system-x86_64: terminating on signal 15 from pid 565814 (timeout)
E: Test timed out after 1800s

With the idle timeout we should give up after 20 seconds, allowing the next
statement to properly fail:

[   34.233084] testsuite-07.sh[450]: + systemctl start issue2467.socket
[   35.475392] testsuite-07.sh[450]: + nc -i20 -w20 -U /run/test.ctl
[   56.122941] testsuite-07.sh[458]: Ncat: Idle timeout expired (20000 ms).
[   56.140871] testsuite-07.sh[450]: + :
[   56.145460] testsuite-07.sh[450]: + timeout 10 bash -c 'while ! [[ "$(systemctl show issue2467.socket -P ActiveState)" == failed ]]; do sleep .5; done'
[   66.197623] testsuite-07.sh[446]: + echo 'Subtest /usr/lib/systemd/tests/testdata/units/testsuite-07.issue-2467.sh failed'

2 years agotest: bump the trigger limit interval when running w/o KVM
Frantisek Sumsal [Tue, 5 Sep 2023 11:14:39 +0000 (13:14 +0200)] 
test: bump the trigger limit interval when running w/o KVM

As we might be slow enough to miss the trigger limit. Spotted in a nightly
cron build on C8S.

2 years agoask-password: Use unicode for password echo
Jan Janssen [Mon, 4 Sep 2023 13:26:25 +0000 (15:26 +0200)] 
ask-password: Use unicode for password echo

2 years agoMerge pull request #29070 from YHNdnzj/foolish-mistakes
Luca Boccassi [Tue, 5 Sep 2023 08:46:35 +0000 (09:46 +0100)] 
Merge pull request #29070 from YHNdnzj/foolish-mistakes

Follow-ups for a few foolish mistakes by me

2 years agosystemd.catalog: freezed -> froze 29070/head
Mike Yuan [Tue, 5 Sep 2023 04:57:28 +0000 (12:57 +0800)] 
systemd.catalog: freezed -> froze

Follow-up for 1dc604d821b6f9519e1961b154ae37baad57dbb1

2 years agosystemctl: drop unnecessary else
Mike Yuan [Tue, 5 Sep 2023 04:55:45 +0000 (12:55 +0800)] 
systemctl: drop unnecessary else

Follow-up for 8a826a979aa51703ec45dbecc34691265b4d04e0

2 years agojournalctl: reset --lines= correctly if no argument
Mike Yuan [Tue, 5 Sep 2023 04:52:28 +0000 (12:52 +0800)] 
journalctl: reset --lines= correctly if no argument

Follow-up for 8d6791d2aa98c989101f572278e9b0a63edfec42

2 years agonetwork: make the build happy on i*86 again
Frantisek Sumsal [Mon, 4 Sep 2023 17:32:22 +0000 (19:32 +0200)] 
network: make the build happy on i*86 again

In file included from ../src/basic/macro.h:455,
                 from ../src/basic/alloc-util.h:10,
                 from ../src/basic/hash-funcs.h:4,
                 from ../src/basic/hashmap.h:8,
                 from ../src/shared/dns-domain.h:10,
                 from ../src/network/networkd-radv.c:9:
../src/network/networkd-radv.c: In function â€˜config_parse_router_home_agent_lifetime’:
../src/network/networkd-radv.c:1626:28: error: format â€˜%lu’ expects argument of type â€˜long unsigned int’, but argument 11 has type â€˜long long unsigned int’ [-Werror=format=]
 1626 |                            "Invalid %s= must be in the range 1...%lu seconds, ignoring: %s", lvalue,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/basic/log.h:361:125: note: in definition of macro â€˜log_syntax’
  361 |                         ? log_syntax_internal(unit, _level, config_file, config_line, _e, PROJECT_FILE, __LINE__, __func__, __VA_ARGS__) \
      |                                                                                                                             ^~~~~~~~~~~
../src/network/networkd-radv.c:1626:68: note: format string is defined here
 1626 |                            "Invalid %s= must be in the range 1...%lu seconds, ignoring: %s", lvalue,
      |                                                                  ~~^
      |                                                                    |
      |                                                                    long unsigned int
      |                                                                  %llu
cc1: all warnings being treated as errors

Addresses: https://github.com/systemd/systemd/pull/28964#issuecomment-1705550404
Follow-up to 6a6d27bc5b0.

2 years agonetwork: Fix memory leak PREF64 (#29064)
Susant Sahani [Mon, 4 Sep 2023 19:43:56 +0000 (01:13 +0530)] 
network: Fix memory leak PREF64 (#29064)

Follow-up for 6e8f5e4c1f5fcdb3b63343268936f9c269b6a209.

Fixes #29062.

2 years agoman: add version information for functions
Abderrahim Kitouni [Mon, 4 Sep 2023 12:46:35 +0000 (13:46 +0100)] 
man: add version information for functions

2 years agoMerge pull request #29059 from YHNdnzj/catalog-followup 29065/head
Luca Boccassi [Mon, 4 Sep 2023 16:57:19 +0000 (17:57 +0100)] 
Merge pull request #29059 from YHNdnzj/catalog-followup

Follow-ups for recently-added catalogs

2 years agoMerge pull request #29023 from pelaufer/dhcp-prefix-dbus
Yu Watanabe [Mon, 4 Sep 2023 15:16:19 +0000 (00:16 +0900)] 
Merge pull request #29023 from pelaufer/dhcp-prefix-dbus

Add dhcp client prefix lease information to networkd json output

2 years agoMerge pull request #29052 from yuwata/icmp6-util-cleanups
Yu Watanabe [Mon, 4 Sep 2023 15:15:23 +0000 (00:15 +0900)] 
Merge pull request #29052 from yuwata/icmp6-util-cleanups

icmp6-util: several cleanups and fixlets

2 years agocatalog/systemd.catalog: rephrase a bunch of messages 29059/head
Mike Yuan [Mon, 4 Sep 2023 13:31:47 +0000 (21:31 +0800)] 
catalog/systemd.catalog: rephrase a bunch of messages

Follow-up for #28873

2 years agocore/crash-handler: correct indentation
Mike Yuan [Mon, 4 Sep 2023 12:19:53 +0000 (20:19 +0800)] 
core/crash-handler: correct indentation

2 years agosd-messages.h: correct alignment
Mike Yuan [Mon, 4 Sep 2023 12:12:23 +0000 (20:12 +0800)] 
sd-messages.h: correct alignment

2 years agonetwork: ndisc - Allow to parse PREF64 prefix
Susant Sahani [Mon, 28 Aug 2023 18:12:39 +0000 (23:42 +0530)] 
network: ndisc - Allow to parse PREF64 prefix

2 years agonetwork: sd-radv - Allow to configure Mobile IPv6 Home Agent
Susant Sahani [Thu, 24 Aug 2023 18:38:48 +0000 (00:08 +0530)] 
network: sd-radv - Allow to configure Mobile IPv6 Home Agent

2 years agotest: extract dummy icmp6 utils for tests 29052/head
Yu Watanabe [Mon, 4 Sep 2023 08:38:10 +0000 (17:38 +0900)] 
test: extract dummy icmp6 utils for tests

This extracts common implementation of dummy icmp6 utils used by tests.

2 years agoicmp6-util: make icmp6_receive() accept the null source address
Yu Watanabe [Mon, 4 Sep 2023 08:44:45 +0000 (17:44 +0900)] 
icmp6-util: make icmp6_receive() accept the null source address

Fixes #29050.

2 years agoicmp6-util: several cleanups for icmp6_receive()
Yu Watanabe [Mon, 4 Sep 2023 08:00:31 +0000 (17:00 +0900)] 
icmp6-util: several cleanups for icmp6_receive()

- Rename the argument for storing the sender address,
- allow to call it with NULL for ret_xyz,
- reduce needless copy of timestamp when the message does not have
  timestamp.

2 years agoMerge pull request #28896 from pelaufer/dhcp_dbus_notify
Yu Watanabe [Mon, 4 Sep 2023 12:48:43 +0000 (21:48 +0900)] 
Merge pull request #28896 from pelaufer/dhcp_dbus_notify

Add DHCP client state and change notification to networkd dbus interface