Commit Graph

15 Commits

Author SHA1 Message Date
4ed974335e Update all dependencies 2024-10-06 22:25:40 -07:00
3c48ab1c7f Update dependencies 2023-09-25 12:00:42 -07:00
0ef979549a Update deps 2022-08-15 22:53:45 -07:00
49394b3e53 Use PAM properly, which allows us to handle other auth types
Previously I was just presenting a static username/password box, and
then running PAM with pre-set credentials.  This works just fine when
PAM is expecting a username and password, but if it's expecting
something like a fingerprint scan or a hardware security token, this
wouldn't entirely work right.  Well, it would "work", but the
username/password dialog would be displayed, and then hitting "Unlock"
would start a different auth process with no visible feedback as to
what's supposed to happen.

This also means I need to switch PAM wrapper crates; the one I was using
before did not allow passing a fixed username to the underlying
pam_start() call, which meant that PAM would try to prompt the user for
it, which is not what we want.
2022-08-14 22:31:38 -07:00
b0c2ffc74a Drop unneeded dependency on 'x11' from locker 2022-05-30 18:57:28 -07:00
c3166f0b9c Don't forward enter or escape to unlock window on first event
If the user presses enter or escape in order to get the unlock dialog to
show in the first place, forwarding that event to the dialog will only
cause it to close immediately.

Also took the opportunity to clean up the dependencies where I have my
own patches.  I'm now using the cargo 'patch' section so that the
dependencies specified in the individual Cargo.toml files are clean.
2022-05-17 19:56:34 -07:00
dda1a53856 Make the new login button stuff more automatic
By default it'll look at your environment to try to figure out which
display manager is used in order to start a new session.  We first try
the org.freedesktop.DisplayManager dbus interface, and if that fails,
inspect XDG_SESSION_DESKTOP to try to figure out which display manager
is running.

The user can also still specify the correct display manager, or a custom
command.
2022-05-15 20:50:45 -07:00
8394d45d1a Have remote commands return a success/failure message 2022-05-14 17:48:34 -07:00
050bf5cbac Support more versions of glib and gtk 2022-05-14 00:17:50 -07:00
23fef4d9e3 Support stable rust
This removes use of Option.contains(), and provides a fallback pidfd
implementation for stable.
2022-05-14 00:17:50 -07:00
6420278f71 Add simple (if ugly) settings dialog 2022-05-05 01:14:53 -07:00
fcb997bfb3 Move config parsing to util crate 2022-05-04 16:15:39 -07:00
c779bca1b0 Remove unused bscreensaver-auth crate 2022-05-04 01:02:03 -07:00
92504d279a Add 'New Login' button to unlock dialog 2022-05-04 00:48:53 -07:00
2e86445c3d Initial import. Most things seem working.
This includes an abortive attempt to do a gtk4 dialog (which I don't
think is possible, as gtk4 doesn't allow embedding toplevels anymore),
and an iced dialog, which I just never started writing.
2022-05-03 17:05:06 -07:00