nixpkgs/nixos/modules/services/x11
Jan Tojnar af0cdb44a0 nixos/gdm: Fix fingerprint auth rules
We introduced the gdm-fingerprint.pam in 9d41fe6fcc.

We used the [upstream Arch config] as a template, which contains an extended control field that jumps over **one** immediately-following `auth` rule unless `pam_gdm.so` succeeds.

But we decided to not include `pam_gnome_keyring.so` so there was no rule to skip over, resulting in a broken control flow and the PAM module failing with “PAM bad jump in stack”, breaking the fingerprint authentication in GDM.

Let’s actually add `pam_gnome_keyring.so`, like the Arch config does. Because we are creating the PAM file using the `text` option, `security.pam.services.gdm-fingerprint.enableGnomeKeyring` does not do anything so we need to do it manually.

For the case where gnome-keyring is not enabled, we could add a no-op rule like `optional pam_permit.so` after `pam_gdm.so` so that the branching always has something to jump over but it will be simpler to just make the both conditional. There are no further `auth` rules that could benefit from `pam_gdm.so` doing something so it should be fine.

Unlike in Arch, we are not going to invoke `pam_gnome_keyring.so` in a `session` rule since that is already done by the included `login` module.

[upstream Arch config]: 81ee658c11/data/pam-arch/gdm-fingerprint.pam
2024-07-03 23:36:52 +02:00
..
desktop-managers gnome-disk-utility: Move from gnome scope to top-level 2024-07-01 09:35:26 +02:00
display-managers nixos/gdm: Fix fingerprint auth rules 2024-07-03 23:36:52 +02:00
hardware treewide: reanme renamed libinput options 2024-04-17 23:34:07 +02:00
window-managers herbstluftwm: fix unable to be started (#271198) 2024-07-01 11:11:46 +02:00
clight.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
colord.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
extra-layouts.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
fractalart.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
imwheel.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
picom.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
redshift.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
terminal-server.nix
touchegg.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
unclutter-xfixes.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
unclutter.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
urserver.nix Merge pull request #299033 from SFrijters/urserver-3.13 2024-04-16 06:54:43 -05:00
urxvtd.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
xautolock.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
xbanish.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
xfs.conf
xfs.nix nixos: remove all uses of lib.mdDoc 2024-04-13 10:07:35 -07:00
xscreensaver.nix nixos/xscreensaver: init module 2023-11-24 08:53:00 -03:00
xserver.nix treewide: big opengl cleanup 2024-06-16 14:11:33 +03:00