summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* mkosi: Drop i686 packagesDaan De Meyer2022-12-131-3/+0
| | | | | | | These are only needed for some kernel selftests but they prevent building the mkosi image on aarch64 systems so let's drop them until mkosi has support for conditional configuration so we can only add these packages on the right architecture.
* Merge pull request #25713 from keszybz/hwdb-matchingYu Watanabe2022-12-132-11/+16
|\ | | | | Restore backwards compat in 60-evdev.rules
| * udev-builtin-keyboard: update descriptionZbigniew Jędrzejewski-Szmek2022-12-121-1/+1
| |
| * udev: rework 60-evdev.rules to be "additive"Zbigniew Jędrzejewski-Szmek2022-12-121-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would execute up to four hwdb match patterns (+ the keyboard builtin): After the first hit, we would skip the other patterns, because of the GOTO="evdev_end" action. 57bb707d48131f4daad2b1b746eab586eb66b4f3 (rules: Add extended evdev/input match rules for event nodes with the same name), added an additional match with ":phys:<phys>:ev:<ev>" inserted. This breaks backwards compatibility for user hwdb patterns, because we quit after the first match. In general hwdb properties are "additive". We often have a general rule that matches a wider class and then some specific overrides. E.g. in this particular case, we have a match for all trackpoints, and then a bunch of model-specific settings. So let's change the rules to try all the match patterns and combine the received properties. We execute builtin-keyboard once at the end, if there was at least one match. Fixes #25698. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2152226. This also impacts other cases which I think would be very confusing for users. Since we quit after a first successful match, if we had e.g. a match for 'evdev:input:b*v*p*' in out database, and the user added a match using 'evdev:name:*', which is the approach we document in the .hwdb files and which users quite often use, it would be silently ignored. What's worse, if we added our 'evdev:input:b*v*p*' match at a later point, user's match would stop working. If we combine all the properties, we get more stable behaviour.
* | cryptsetup-fido2: Try all FIDO2 key slots when opening LUKS volumePeter Cai2022-12-123-115/+123
| | | | | | | | | | | | | | | | | | | | | | | | | | After #25268, it is now possible to check whether a credential is present on a FIDO2 token without actually attempting to retrieve said credential. However, when cryptsetup plugins are not enabled, the fallback unlock routines are not able to make multiple attempts with multiple different FIDO2 key slots. Instead of looking for one FIDO2 key slot when trying to unlock, we now attempt to use all key slots applicable. Fixes #19208.
* | Merge pull request #25375 from PeterCxy/fido2-fixupsLuca Boccassi2022-12-121-43/+32
|\ \ | | | | | | Fixups for FIDO2 pre-flight checks
| * | libfido2-util: Refactor pre-flight failure handlingPeter Cai2022-12-101-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `fido2_is_cred_in_specific_token()` should simply not return error codes for non-fatal errors. For example, `-ENODEV` can be safely translated to a `false` return value. When the pre-flight request is not supported, we should simply return true to instruct the caller to attempt to use the device anyway. All error codes returned by the funtion should now be fatal and logged at error level. Non-fatal errors should only appear in debug logs.
| * | libfido2-util: Perform pre-flight checks as well when a specific device path ↵Peter Cai2022-12-101-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is given This prevents unnecessary user interactions when `fido2-device` is set to something other than `auto` -- a case overlooked in the original PR #23577 (and later #25268). We do not move pre-flight checks to `fido2_use_hmac_hash_specific_token` because the behaviors are different between different cases: when the device path is NULL, we try to automatically choose the correct device, in which case pre-flight errors should be "soft" errors, without spamming the tty with error outputs; but when a specific device path is given, a pre-flight request that determined the non-existence of the credential should be treated the same as a failed assertion request.
| * | libfido2-util: Disable pre-flight checks for credentials with UVPeter Cai2022-12-101-41/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the FIDO2 spec, tokens may not support pre-flight checks for credentials requiring UV, at least not without at least `pinUvAuthParam` or `uv = true`. Originally, in #25268, this was handled by passing a PIN to satisfy `pinUvAuthParams`, but this is not ideal, since `pinUvAuthParam` can be obtained from either a PIN or a UV verification. Forcing the user to enter the PIN here (which is often just the fallback option on UV devices) is no better than just trying out each device with the actual assertion request. As a result, this commit disables pre-flight checks when the credential requires UV, and instead reverts to the old behavior (trying out each device and each key slot, requiring multiple user interactions) for this type of credentials.
* | | Update 60-evdev.hwdb (#25704)uerdogan2022-12-121-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves Debian Bug report 1008760: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008760. Solution was inspired by this kernel bug report message: https://bugzilla.kernel.org/show_bug.cgi?id=204967#c15. My measured pad dimensions with a ruler were 85x44mm. But I decided to take the 2x size reported by the current kernel when invoking the touchpad-edge-detector command from the libdev-tools package. Because this comment claims that the old vs new kernel reportings differ by factor 2: https://bugzilla.kernel.org/show_bug.cgi?id=204967#c3 . Therefore I have used this command to get the new entry to 60-evdev.hwdb: "root@pb:~# touchpad-edge-detector 80x34 /dev/input/event2 Touchpad ETPS/2 Elantech Touchpad on /dev/input/event2 Move one finger around the touchpad to detect the actual edges Kernel says: x [0..1254], y [0..528] Touchpad sends: x [0..2472], y [-524..528] -^C Touchpad size as listed by the kernel: 40x17mm User-specified touchpad size: 80x34mm Calculated ranges: 2472/1052 Suggested udev rule: # <Laptop model description goes here> evdev:name:ETPS/2 Elantech Touchpad:dmi:bvnPackardBell:bvrV1.21:bd08/09/2012:br21.240:svnPackardBell:pnEasyNoteTS11HR:pvrV1.21:rvnPackardBell:rnSJV50_HR:rvrBaseBoardVersion:cvnPackardBell:ct10:cvrV1.21:* EVDEV_ABS_00=0:2472:31 EVDEV_ABS_01=-524:528:31 EVDEV_ABS_35=0:2472:31 EVDEV_ABS_36=-524:528:31 "
* | | udevadm: emit deprecation notice in udevadm hwdbZbigniew Jędrzejewski-Szmek2022-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tool was "deprecated" back in 65eb4378c3e1de25383d8cd606909e64c71edc80, but only by removing documentation. This is somewhat surprising, but udevadm hwdb --update and systemd-hwdb update generate different databases. udevadm runs in compat mode and (as far as I have been able to figure out from a quick look), it omits filename information and does some other changes to the datastructures. The consuming code (udev) is the same in both cases, so this "compatibility mode" seems very strange. But I don't think it's worth trying to figure out why things were done this way. Let's just push people towards the new code. Inspired by https://github.com/systemd/systemd/issues/25698#issuecomment-1346298094.
* | | sysroot: Support x-systemd.makefsWill Fancher2022-12-121-3/+12
| | |
* | | Merge pull request #25646 from yuwata/sd-id128-enomediumLuca Boccassi2022-12-1216-121/+157
|\ \ \ | | | | | | | | sd-id128: make sd_id128_get_machine() return -ENOMEDIUM when not initialized
| * | | sd-id128: fold do_sync flag into Id128FormatFlagYu Watanabe2022-12-125-12/+14
| | | |
| * | | man: mention that sd_id128_get_boot() and friend may return -ENOSYSYu Watanabe2022-12-121-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | And drop to mention sd_id128_get_boot_app_specific() may return -ENOENT or -ENOMEDIUM. The function does not read /etc/machine-id. But reads a file in the procfs, which is a kind of the kernel API. Hence the failures are caused only when the system has wrong setup.
| * | | sd-id128: make sd_id128_get_boot() and friend return -ENOSYS when /proc/ is ↵Yu Watanabe2022-12-121-0/+3
| | | | | | | | | | | | | | | | not mounted
| * | | sd-id128: make sd_id128_get_boot() and friend return -ENOMEDIUMYu Watanabe2022-12-121-0/+3
| | | |
| * | | man: mention sd_id128_get_machine() or friend may return -ENOPKGYu Watanabe2022-12-121-0/+8
| | | |
| * | | test: add tests for "uninitialized" string handling by id128_read_fd()Yu Watanabe2022-12-121-0/+25
| | | |
| * | | sd-id128: make id128_read() or friends return -ENOPKG when the file contents ↵Yu Watanabe2022-12-1214-65/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is "uninitialized" Then, this drops ID128_PLAIN_OR_UNINIT. Also, this renames Id128Format -> Id128FormatFlag, and make it bitfield. Fixes #25634.
| * | | sd-id128: several cleanupsYu Watanabe2022-12-122-46/+33
| | | | | | | | | | | | | | | | | | | | | | | | - use SD_ID128_STRING_MAX or friend, - use sizeof(sd_id128_t), - use newly introduced ascii_ishex().
| * | | string-util: introduce ascii_ishex()Yu Watanabe2022-12-121-0/+4
| | | |
* | | | update TODOLennart Poettering2022-12-121-2/+14
| | | |
* | | | Merge pull request #25615 from DaanDeMeyer/mkosi-kconfigLuca Boccassi2022-12-122-32/+206
|\ \ \ \ | | | | | | | | | | mkosi: Rework kconfig handling
| * | | | mkosi: Make sure selftests bpftool is accessible from $PATHDaan De Meyer2022-12-051-0/+2
| | | | |
| * | | | mkosi: Rework kconfig handlingDaan De Meyer2022-12-052-32/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of relying on the arch specific kconfigs that enable all kinds of options that are irrelevant for our use case, let's beef up our own config a little so that we don't need to rely on the arch specific configs anymore. Also, instead of using scripts/config to enable options in the mkosi build script, let's add a new kernel.config file that includes all the configs we want enabled/disabled. Finally, let's make sure we can properly run the bpf selftests by making sure we enable all the right configs required to run the bpf selftests successfully. We use the scripts/kconfig/merge_config.sh script to merge the three different config files together.
* | | | | Merge pull request #25692 from yuwata/resolve-rr-txtLuca Boccassi2022-12-121-24/+17
|\ \ \ \ \ | |_|/ / / |/| | | | resolve: drop recurstion from TXT field handling
| * | | | resolve: add missing assertionYu Watanabe2022-12-101-1/+2
| | | | |
| * | | | resolve: shorten code a bitYu Watanabe2022-12-101-4/+2
| | | | |
| * | | | resolve: drop recursion in TXT field handlingYu Watanabe2022-12-101-19/+13
| | | | | | | | | | | | | | | | | | | | Fixes #25683.
* | | | | Merge pull request #25707 from yuwata/sd-device-fix-double-freeLuca Boccassi2022-12-122-9/+15
|\ \ \ \ \ | | | | | | | | | | | | sd-device: fix double-free
| * | | | | test: name_assign_type sysattr never exists for enumerated devicesYu Watanabe2022-12-121-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | As we filtered out network devices in the test.
| * | | | | sd-device: fix double-freeYu Watanabe2022-12-121-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an attribute is read but the value is not used (i.e. ret_value is NULL), then sd_device_get_sysattr_value() mistakenly frees the read data even though it is cached internally. Fixes a bug introduced by acfc2a1d15560084e077ffb3be472cd117e9020a. Fixes #25702.
* | | | | | update TODOLennart Poettering2022-12-121-0/+17
|/ / / / /
* | | | | po: Translated using Weblate (Portuguese)Hugo Carvalho2022-12-121-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently translated at 100.0% (193 of 193 strings) Co-authored-by: Hugo Carvalho <hugokarvalho@hotmail.com> Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/pt/ Translation: systemd/main
* | | | | Add mount matrix for VisionBook 12Wr TabLycowolf2022-12-121-0/+3
| |_|/ / |/| | |
* | | | repart: support erofsLennart Poettering2022-12-106-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So, i think "erofs" is probably the better, more modern alternative to "squashfs". Many of the benefits don't matter too much to us I guess, but there's one thing that stands out: erofs has a UUID in the superblock, squashfs has not. Having an UUID in the superblock matters if the file systems are used in an overlayfs stack, as overlayfs uses the UUIDs to robustly and persistently reference inodes on layers in case of metadata copy-up. Since we probably want to allow such uses in overlayfs as emplyoed by sysext (and the future syscfg) we probably should ramp up our erofs game early on. Hence let's natively support erofs, test it, and in fact mention it in the docs before squashfs even.
* | | | mount-setup: don't need to mount /sys/fs/pstore if there is no ENABLE_PSTOREjcg2022-12-101-0/+2
|/ / /
* | | ci: Labeler improvementsDaan De Meyer2022-12-092-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | - Mention "/please-review" in the contributing guide - Remove "needs-rebase" on push - Don't add "please-review" if a green label is set - Don't add please-review label to draft PRs - Add please-review when a PR moves out of draft
* | | Merge pull request #25636 from thom311/th/wcast-align-fixesZbigniew Jędrzejewski-Szmek2022-12-096-11/+25
|\ \ \ | |_|/ |/| | all: avoid various "-Wcast-align=strict" warnings
| * | all: avoid various "-Wcast-align=strict" warningsThomas Haller2022-12-094-5/+7
| | |
| * | socket-util: add CMSG_TYPED_DATA() as type-safe wrapper around CMSG_DATA()Lennart Poettering2022-12-081-6/+8
| | |
| * | fundamental: add CAST_ALIGN_PTR() macroThomas Haller2022-12-081-0/+10
| | |
* | | Merge pull request #25653 from yuwata/base64_appendZbigniew Jędrzejewski-Szmek2022-12-089-46/+217
|\ \ \ | | | | | | | | hexdecoct: several fixes for base64_append()
| * | | fuzz: shorten filename of testcaseYu Watanabe2022-12-092-0/+0
| | | | | | | | | | | | | | | | | | | | Follow-up for 46dc071985ff487f5ccf20808531168a6add73d3 and 76519cecc749a3d0e2054fd6db8a99143666e123.
| * | | resolve: optimize conversion of TXT fields to jsonYu Watanabe2022-12-092-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | Fixes oss-fuzz#54080 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54080). Fixes #25654.
| * | | hexdecoct: fix NULL pointer dereferences in hexmem()Yu Watanabe2022-12-093-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | Fixes oss-fuzz#54090 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54090). Fixes #25655.
| * | | hexdecoct: add missing NULL checkYu Watanabe2022-12-092-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes oss-fuzz#54065 (https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54065). Fixes #25650.
| * | | test: add tests for base64_append()Yu Watanabe2022-12-091-0/+114
| | | |
| * | | hexdecoct: several cleanups for base64_append()Yu Watanabe2022-12-092-27/+47
|/ / / | | | | | | | | | | | | | | | | | | | | | - add missing assertions, - use size_t for buffser size or memory index, - handle empty input more gracefully, - return the length or the result string, - fix off-by-one issue when the prefix is already long enough.