From 293c2a0035119a87f831be856161138a5d36f437 Mon Sep 17 00:00:00 2001 From: purian23 Date: Wed, 25 Mar 2026 22:19:09 -0400 Subject: [PATCH] refactor: Remove faillock support and related properties from settings --- quickshell/Common/SettingsData.qml | 1 - quickshell/Common/settings/Processes.qml | 8 +------- quickshell/Common/settings/SettingsSpec.js | 1 - quickshell/Modules/Lock/Pam.qml | 4 +--- quickshell/assets/pam/login-faillock | 7 ------- 5 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 quickshell/assets/pam/login-faillock diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index d5956a72..0435f8f4 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -545,7 +545,6 @@ Singleton { property bool enableFprint: false property int maxFprintTries: 15 - property bool lockFaillockSupported: false property bool fprintdAvailable: false property bool lockFingerprintCanEnable: false property bool lockFingerprintReady: false diff --git a/quickshell/Common/settings/Processes.qml b/quickshell/Common/settings/Processes.qml index d42378ba..a29fe99c 100644 --- a/quickshell/Common/settings/Processes.qml +++ b/quickshell/Common/settings/Processes.qml @@ -33,7 +33,6 @@ Singleton { property int pamSupportProbeExitCode: 0 property bool pamFprintSupportDetected: false property bool pamU2fSupportDetected: false - property bool pamFaillockSupportDetected: false readonly property string homeDir: Quickshell.env("HOME") || "" readonly property string u2fKeysPath: homeDir ? homeDir + "/.config/Yubico/u2f_keys" : "" @@ -73,7 +72,6 @@ Singleton { pamFprintSupportDetected = false; pamU2fSupportDetected = false; - pamFaillockSupportDetected = false; pamSupportProbeOutput = ""; pamSupportProbeStreamFinished = false; pamSupportProbeExited = false; @@ -321,7 +319,6 @@ Singleton { return; recomputeFingerprintCapabilities(); recomputeU2fCapabilities(); - settingsRoot.lockFaillockSupported = pamFaillockSupportDetected; settingsRoot.fprintdAvailable = settingsRoot.lockFingerprintReady || settingsRoot.greeterFingerprintReady; settingsRoot.u2fAvailable = settingsRoot.lockU2fReady || settingsRoot.greeterU2fReady; } @@ -339,7 +336,6 @@ Singleton { pamFprintSupportDetected = false; pamU2fSupportDetected = false; - pamFaillockSupportDetected = false; const lines = (pamSupportProbeOutput || "").trim().split(/\r?\n/); for (let i = 0; i < lines.length; i++) { @@ -350,8 +346,6 @@ Singleton { pamFprintSupportDetected = parts[1] === "true"; else if (parts[0] === "pam_u2f.so") pamU2fSupportDetected = parts[1] === "true"; - else if (parts[0] === "pam_faillock.so") - pamFaillockSupportDetected = parts[1] === "true"; } if (forcedFprintAvailable === null && fingerprintProbeState === "missing_pam_support") @@ -405,7 +399,7 @@ Singleton { } property var pamSupportDetectionProcess: Process { - command: ["sh", "-c", "for module in pam_fprintd.so pam_u2f.so pam_faillock.so; do found=false; for dir in /usr/lib64/security /usr/lib/security /lib/security /lib/x86_64-linux-gnu/security /usr/lib/x86_64-linux-gnu/security /usr/lib/aarch64-linux-gnu/security /run/current-system/sw/lib/security; do if [ -f \"$dir/$module\" ]; then found=true; break; fi; done; printf '%s:%s\\n' \"$module\" \"$found\"; done"] + command: ["sh", "-c", "for module in pam_fprintd.so pam_u2f.so; do found=false; for dir in /usr/lib64/security /usr/lib/security /lib/security /lib/x86_64-linux-gnu/security /usr/lib/x86_64-linux-gnu/security /usr/lib/aarch64-linux-gnu/security /run/current-system/sw/lib/security; do if [ -f \"$dir/$module\" ]; then found=true; break; fi; done; printf '%s:%s\\n' \"$module\" \"$found\"; done"] running: false stdout: StdioCollector { diff --git a/quickshell/Common/settings/SettingsSpec.js b/quickshell/Common/settings/SettingsSpec.js index 151d8272..993f824f 100644 --- a/quickshell/Common/settings/SettingsSpec.js +++ b/quickshell/Common/settings/SettingsSpec.js @@ -355,7 +355,6 @@ var SPEC = { lockAtStartup: { def: false }, enableFprint: { def: false }, maxFprintTries: { def: 15 }, - lockFaillockSupported: { def: false, persist: false }, fprintdAvailable: { def: false, persist: false }, lockFingerprintCanEnable: { def: false, persist: false }, lockFingerprintReady: { def: false, persist: false }, diff --git a/quickshell/Modules/Lock/Pam.qml b/quickshell/Modules/Lock/Pam.qml index 975e5b98..0a772e5d 100644 --- a/quickshell/Modules/Lock/Pam.qml +++ b/quickshell/Modules/Lock/Pam.qml @@ -104,12 +104,10 @@ Scope { printErrors: false } - readonly property string bundledPasswdConfig: SettingsData.lockFaillockSupported ? "login-faillock" : "login" - PamContext { id: passwd - config: dankshellConfigWatcher.loaded ? "dankshell" : (loginConfigWatcher.loaded ? "login" : root.bundledPasswdConfig) + config: dankshellConfigWatcher.loaded ? "dankshell" : "login" configDirectory: (dankshellConfigWatcher.loaded || loginConfigWatcher.loaded) ? "/etc/pam.d" : Quickshell.shellDir + "/assets/pam" onMessageChanged: { diff --git a/quickshell/assets/pam/login-faillock b/quickshell/assets/pam/login-faillock deleted file mode 100644 index 04fc949d..00000000 --- a/quickshell/assets/pam/login-faillock +++ /dev/null @@ -1,7 +0,0 @@ -#%PAM-1.0 -auth required pam_env.so -auth required pam_faillock.so preauth -auth [success=1 default=bad] pam_unix.so try_first_pass nullok -auth [default=die] pam_faillock.so authfail -auth required pam_faillock.so authsucc -account required pam_unix.so