Commit graph

52275 commits

Author SHA1 Message Date
Lennart Poettering 8a6a781b58 man: document the new (Load|Set)CredentialEncrypted= settings 2021-07-08 09:31:43 +02:00
Lennart Poettering c1017f6b7b man: add man page for "systemd-creds" 2021-07-08 09:31:18 +02:00
Lennart Poettering c69620ef7f test: extend credentials test to cover encrypted credentials 2021-07-08 09:31:14 +02:00
Lennart Poettering 43144be4a1 pid1: add support for encrypted credentials 2021-07-08 09:30:56 +02:00
Lennart Poettering 5945640e2a creds: add a new tool for listing/showing/encrypting/decrypting credentials 2021-07-08 09:30:45 +02:00
Lennart Poettering 21bc0b6fa1 creds-util: add infra for encrypting/decrypting credentials 2021-07-08 09:30:29 +02:00
Lennart Poettering 8f860b4df0 util: move src/basic/creds-util.[ch] → src/shared/
This is preparation for adding encryption support to the credentials
logic, and we thus would like to add more deps. Let's hence move things
from src/basic/ to src/shared, so that we can rely on the OpenSSL
utilities already in src/shared.
2021-07-08 09:30:18 +02:00
Lennart Poettering 82b4ec445b hexdecoct: optionally, line break base64 encoded data 2021-07-08 09:30:03 +02:00
Lennart Poettering 7b0da71d49 fileio: optionally allow interpreting file size as limit 2021-07-08 09:29:53 +02:00
Lennart Poettering c1631ee124 chattr-util: generalize chattr manipulation for files with secrets from journalctl
This moves the code for setting chattr file attributes appropriate for
"secrets" files from journalctl into generic chattr-util.c code so that
we can use it elsewhere.

Also, let's reuse the "bitwise" logic already implemented in the chattr
code, instead of doing it again.
2021-07-08 09:29:48 +02:00
Lennart Poettering 91358db9dc fs-util: add fd-based flavour of path_is_encrypted() 2021-07-08 09:29:33 +02:00
Lennart Poettering 0bfef8b46f blockdev-util: add fd-based flavour of get_block_device() 2021-07-08 09:29:18 +02:00
Lennart Poettering 011d129cf4 sd-id128: make sure sd_id128_get_machine_app_specific() logic also works without "khash"
So, as it turns out AF_ALG is turned off in a lot of kernels/container
environments, including our CI. Hence, if we link against OpenSSL
anyway, let's just use that client side. It's also faster.

One of those days we should drop the khash code, and ust use OpenSSL,
once the licensing issues are resolved.
2021-07-08 09:28:28 +02:00
Jan Palus 105a4245ff hostnamed: correct variable with errno in fallback_chassis
fixes assertion failure on arm:

systemd-hostnamed[642]: Assertion '(_error) != 0' failed at src/hostname/hostnamed.c:207, function fallback_chassis(). Aborting.
2021-07-08 09:27:12 +02:00
Luca Boccassi f6278558da NEWS: finalize for v249 2021-07-07 18:41:29 +01:00
Lennart Poettering 0c4d1e6d96 process-util: explicitly handle processes lacking parents in get_process_ppid()
Let's make sure we signal out-of-band via an error message if a process
doesn't have a parent process whose PID we could return. Otherwise we'll
too likely hide errors, as we return an invalid PID 0, which in other
contexts has special meaning (i.e. usually "myself").

Replaces: #20153

This is based on work by @dtardon, but goes a different route, by
ensuring we propagate a proper error in this case.

This modernizes the function in question a bit in other ways, i.e.
renames stuff and makes the return parameter optional.
2021-07-07 18:41:08 +01:00
Zbigniew Jędrzejewski-Szmek 682047f834
Merge pull request #20145 from bluca/prep
Preparations for v249
2021-07-07 15:28:15 +02:00
Lennart Poettering fc20b9b598 Revert "Add systemd-resolve backwards compatibility section to resolvectl docs"
This reverts commit 9fcfc0470d.
2021-07-07 15:27:28 +02:00
Zbigniew Jędrzejewski-Szmek 378e9d2b6d meson: install the right README file in modprobe.d
We put the "global" README file there. Introduced
in d83e90c73c.
2021-07-07 14:52:05 +02:00
Zbigniew Jędrzejewski-Szmek 8def4b347a basic/time-util: fix errno name
Fixup for bdaeafea5d. This was supposed to be
pushed in an updated version, but I forgot to stage the change.
2021-07-07 14:21:21 +02:00
Luca Boccassi 67828e0856 man: fix systemd-sleep.conf.xml whitespace
Follow-up for 33f899bd47
2021-07-07 10:36:04 +01:00
Luca Boccassi e7fbba5612 NEWS: note new user-visible change, drop 'in spe' 2021-07-07 10:36:04 +01:00
Luca Boccassi fc4340b077 NEWS: update contributors list
Added Alexey Rubtsov, Icenowy Zheng, milaq, qhill, Trent Piepho,
Hamish Moffatt
2021-07-07 10:35:53 +01:00
Luca Boccassi 2d79d4a753 hwdb: run ninja -C build update-hwdb update-hwdb-autosuspend 2021-07-07 10:35:53 +01:00
Hamish Moffatt 33f899bd47 Clarify the behaviour of suspend-then-sleep mode in the manual pages.
Fixes #20125.
2021-07-07 11:08:21 +02:00
Yu Watanabe 8ca29d97f2 wait-online: fix typo 2021-07-07 11:06:11 +02:00
Zbigniew Jędrzejewski-Szmek 88b2a95064 NEWS: add old entry about Type=ether
Apparently it's an important feature for some folks:
https://utcc.utoronto.ca/\~cks/space/blog/linux/NetworkdMACMatchesWidely.
I think we considered this more of a bugfix, but it's somewhere on the border.
Let's add this it's easier to discover.
2021-07-07 09:27:05 +02:00
Anita Zhang d61ee727f0 oomd: don't collect candidate stats on every interval
cb13961ada updated the oomd logic to
collect candidate data when a kill was about to happen. However there
was still a call left over in the main loop to collect candidate data on
every interval. Remove this since it's unneeded.

Fixes #20122
2021-07-07 00:19:53 +01:00
Zbigniew Jędrzejewski-Szmek b4b0f87c62 tmpfiles: fix borked assert
It seems that fd_set_perms() is always called after checking that
fd >= 0 (also when called as action() in glob_item_recursively()),
so it seems that the assertion really came from fd==0.

Fixes #20140.

Also three other similar cases are updated.
2021-07-06 20:05:00 +01:00
Luca Boccassi 48e5ef14af man: correct return value of sd_bus_open_with_description
Since f4b2933ee7
if a description is not set, sd_bus_open_with_description returns -ENXIO, but the
documnetation stated that it returned successfully with a NULL string.
2021-07-06 15:18:35 +02:00
Zbigniew Jędrzejewski-Szmek ef1a927848
Merge pull request #20092 from fbuihuu/tag-xgi-z7z9-graphic-chip-as-master-of-seat-take2
login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to…
2021-07-06 12:52:53 +02:00
Lennart Poettering aca8ecc398 update TODO 2021-07-05 15:07:12 +02:00
Franck Bui f1232f5e38 login: use a hwdb entry for tagging Parallels' fb devices with 'master-of-seat' tag
This assumes that (vesa)fb driver is used as fallback.
2021-07-05 11:56:10 +02:00
Franck Bui 7802260baa login: use a hwdb entry for tagging HyperV's fb devices with 'master-of-seat' tag
Graphic devices that don't do DRM and relies on fb devices are now listed in
hwdb. Dedicated udev rules are no more needed.
2021-07-05 11:56:10 +02:00
Franck Bui c0b2e69f88 login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be set
This graphic chip doesn't have a DRM driver and fall back to vesa-framebuffer
driver.

Without this patch, users of such chip suddenly see their GUI broken without
any indication or reason of what happened (no error message). Hence this
regression is near to impossible to troubleshoot for end users. Such case was
reported https://bugzilla.opensuse.org/show_bug.cgi?id=1187154.

Rather than adding another exception in the udev rules to deal with such
HWs, they instead get their own hwdb file '60-seat.hwdb'.
2021-07-05 11:56:06 +02:00
Icenowy Zheng 3e65261afa hwdb: add resolution override for Pinebook Pro touchpad
The Pinebook Pro touchpad returns a resolution data that is 2 times of
the real value, which makes libinput think the touchpad is only 1/4 the
real size.

Add a resolution override value for it, to allow libinput to calculate
the distance moved on it correctly.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
2021-07-05 09:49:35 +02:00
Yu Watanabe d7f223d738
Merge pull request #20098 from milaq/hwdb_logitech_additions
hwdb: Additions and fixes to Logitech mice
2021-07-05 08:10:11 +09:00
Frantisek Sumsal 23f8e01912 test: unify handling of boolean values
Let's unify handling of the boolean values throughout the test-functions
code, since we use 0/1, true/false, and yes/no almost randomly in many
places, so picking the right values during CI configuration can be a real
pain.
2021-07-04 21:12:39 +01:00
Luca Boccassi 07eabc2beb TODO: reorder entries by component
Roughly reorder entries, without rewording anything, by component, so
that there's some structure to the text.
Only 3 lines are deleted: an empty line, 'External:' at the bottom since
it was merged with 'External:' at the top, and the weird last line:
'String is not UTF-8 clean, ignoring assignment' which was likely an error
from some editor
2021-07-03 16:43:07 +01:00
Lennart Poettering f533cda5a8 mkosi: initialize /usr/lib/os-release' IMAGE_ID + IMAGE_VERSION fields from build
If it's passed into the build, use it, so that the mkosi build version
is propagated into the image itself.
2021-07-03 11:07:00 +01:00
Dan Streetman d3b8e38409 test: optionally, only save test journal for failing tests
Saving the journal for passing tests creates a huge amount of unneeded
data stored for each full test run. Add a env var to allow saving the
journal only for failed tests.
2021-07-03 10:48:31 +01:00
Zbigniew Jędrzejewski-Szmek 5f9fa7a5f3
Merge pull request #20108 from yuwata/network-fix-ndisc-and-dhcp6-issue-20050
network: remove old addresses and routes after new ones are configured
2021-07-03 09:17:29 +02:00
Lennart Poettering 107e21635b hashmap: make sure hashmap_get_strv()+set_get_strv() work with a NULL object
Before we invoke n_entries() we need to check for non-NULL here, like in
all other calls to the helper function. Otherwise we'll crash when
invoked with a NULL object, which we usually consider equivalent to an
empty one though.
2021-07-02 22:32:19 +01:00
qhill f127fed75d units: correct description of final.target
This was updated incorrectly in 4fd3fc6639.  As https://github.com/systemd/systemd/blob/main/man/systemd.special.xml decribes, this unit is about shutdown rather than boot.
2021-07-02 18:29:54 +02:00
Lennart Poettering da636b67a6 udev: when booting without root= specification, and searching a root partition actually do the version comparison magic
Since 08fe0a5386 when dissecting a disk
image we'll automatically pick the "newest" root fs if multiple exist,
by comparing GPT partition labels. This works in systemd-nspawn,
systemd-dissect, systemd-tmpfiles --image, … and so on. It also works
already in systemd-gpt-auto-generator. However, there was one missing
place: in the logic that automatically finds a root fs in case no root=
was specified on the kernel logic at all. This logic doesn't use the
dissection logic, but a much simpler one.

Let's fill the gap, and implement it there too.
2021-07-02 18:28:32 +02:00
Lennart Poettering 6d8be376e1 coredumpctl: show --help text if "coredumpctl help" is called
Most of our programs that take "verbs" make the "help" verb either
equivalent to passing the --help switch (or at least print a message
redirecting the user to that switch). Do so in coredumpctl too, in order
to minimize surprises.
2021-07-02 18:28:06 +02:00
Trent Piepho 21ac7884e9 udev: Fix by-uuid symlink for ubifs volumes
ubifs volumes have a UUID and the built-in blkid is able to determine
it.  The disk/by-uuid symlink isn't created because ubifs volumes are
not on block devices but on SUBSYSTEM="ubi" devices.  See #20071.

Allow ubi subsystem devices to be processed by the persistent storage
rules too.  The kernel device name matching already allows ubi* to pass.
The existing rules are sufficient to create the link.

The links look like other by-uuid symlinks, for example:
/dev/disk/by-uuid/9a136158-585b-4ba4-9b70-cbaf2cf78a1c -> ../../ubi0_1
2021-07-02 14:26:18 +01:00
Yu Watanabe 899034ba81 network: fix overflow issue in address lifetime calculation
Fixes another issue reported in #20050. See
https://github.com/systemd/systemd/issues/20050#issuecomment-872967337.
2021-07-02 22:26:07 +09:00
Yu Watanabe e95ec7cd1e network: drop old dhcp6 addresses or routes after new ones are configured
Fixes the issue similar to #20050 but for DHCP6.
2021-07-02 20:59:38 +09:00
Yu Watanabe fe139e8ef9 network: drop old ndisc configurations after new ones are configured
Previously, `ndisc_remove_old_one()` checked `ndisc_{addresses,routes}_configured`
flags, but they are not unset when all addresses or routes are already
assigned.
After the request queue is implemented, the address or route requests
are not processed within the same event of ndisc handler is called, but
will processed later when they are ready. So, calling `ndisc_remove_old()`
in the event of ndisc handler will remove all addresses and routes
previously assigned even they are requested to be updated.

This makes `ndisc_remove_old()` do nothing when there exist some
requests to configure addresses and routes, thus previously assigned
addresses and routes are kept until all requests are processed.

Fixes #20050.
2021-07-02 20:59:38 +09:00