- Nov 16, 2018
-
-
Rudolf Polzer authored
-
- Nov 14, 2018
-
-
divVerent authored
Instead of attempting to lock a Wayland session, just bail out. This prevents a false sense of security as trying to "lock" a Wayland session will by design only affect X11, not Wayland, clients. Fixes #50.
-
Rudolf Polzer authored
-
- Nov 13, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
Rudolf Polzer authored
Shouldn't need it. We still try to reinstate grabs until we get them once per frame if we ever get a NotifyUngrab.
-
Rudolf Polzer authored
NotifyUngrab is normal near startup (for releasing the L key when locking via Ctrl-Alt-L in Xfce).
-
Rudolf Polzer authored
-
- Nov 12, 2018
-
-
Rudolf Polzer authored
Shouldn't be needed anymore, as our events seem sufficient for that.
-
- Nov 10, 2018
-
-
Rudolf Polzer authored
Also, add a signal handler for SIGTERM everywhere so killing xsecurelock takes its children with it (and returns exit status 1).
-
- Oct 30, 2018
-
-
Rudolf Polzer authored
Also, moved the datetime buffer to a local variable given it isn't used across functions, fixed formatting, and loaded the LC_TIME locale so we can show local time formats.
-
Ahmet Emir Ercin authored
-
Darío Hereñú authored
-
Rudolf Polzer authored
Fixes a warning.
-
Rudolf Polzer authored
Bring back the clamping, but instead explicitly query the root window size before building monitor structs. The issue was that DisplayWidth()/DisplayHeight() values don't get updated after XOpenDisplay(); the fix is querying the root window size instead to update the auth window size. The clamping is there to handle the (hopefully unlikely) case of a screen being only partially in the root window (i.e. XRandR vs X11 core inconsistency); it's no longer harmful once the bug is fixed.
-
Soumya authored
-
- Oct 02, 2018
-
-
Rudolf Polzer authored
Installation-wise, NetBSD works just like FreeBSD - you need to make authproto_pam setuid root.
-
Rudolf Polzer authored
-
- Oct 01, 2018
-
-
Rudolf Polzer authored
It's currently always based on git-describe - we may or may not want to override that in the Debian packaging.
-
- Sep 30, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
- Missing check for dup() return value; possible impact would be hard to track down authentication failures due to lack of logging. - Uninitialized XSetWindowAttributes struct members (technically unused and thus a false positive, but cleaner this way nevertheless).
-
Rudolf Polzer authored
-
Rudolf Polzer authored
There are many different PAM implementations out there, which I haven't all tested. The PAM service name is used to build a path name, typically inside /etc/pam.d, to find a service configuration file. There's a possibility that in some PAM implementations, the service name is not sanitized and could be used to traverse paths; as most PAM clients are _not_ setuid and do _not_ let the caller specify the service name (unlike xsecurelock), this alone wouldn't be a vulnerability per se. And successful path traversal could e.g. lead to attackers obtaining information about existence or nonexistence of files they can't see, or possibly even reading part of a file (e.g. a PAM implementation might spit out syntax error messages quoting parts of a file, either over [possibly sniffable] syslog or to stderr; the latter would then allow an attacker to run XSECURELOCK_PAM_SERVICE=../shadow ./authproto_pam to dump the root password hash. Again, I'm not aware of any system where this exploit would actually work - but as the PAM specs I have here do not describe what happens if a PAM service name contains a slash (Linux PAM appears to use the basename then), I've decided to just refuse any such names.
-
- Sep 29, 2018
-
-
divVerent authored
Add an authproto_pam helper that communicates with PAM. This is now used by auth_pam_x11 as sole backend. It can be made setuid/setgid where necessary to authenticate local users (e.g. on FreeBSD). Also renames auth_pam_x11 to auth_x11, and moves auth_htpasswd and auth_pamtester to authprotos that can be used with auth_x11. Will fix #43.
-
- Sep 27, 2018
-
-
rpolzer authored
Fixes build on OpenBSD.
-
- Sep 25, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
-
- Sep 18, 2018
-
-
Rudolf Polzer authored
-
Rudolf Polzer authored
Fixes build warning on FreeBSD.
-
Rudolf Polzer authored
A header added by IWYU does not exist on FreeBSD; turns out it's not meant to be explicitly included anyway.
-
Markus Teich authored
-
- Sep 12, 2018
-
-
Rudolf Polzer authored
The keybind for it is Ctrl-Tab, which seems to be one of the few that: - Don't emit a keycode usable in a password. - Aren't selectable as Xkb modifier (as that would cause us to swich twice, which with 2 layouts would be a NOP). - Are available on all layouts and keyboards I know. Thanks to Soumya S. for an initial implementation of this, which I've ported into auth_pam_x11!
-
- Sep 08, 2018
-
-
Rudolf Polzer authored
It's no longer in master after all.
-
- Aug 25, 2018
-
-
Rudolf Polzer authored
Behavioral changes/fixes: - Whitespace skipping now is performed in all appropriate places. - Visual skipping now happens on the same set of visual names. - Quoted arguments in commands now work. In fact, so do all other shell characters. One remaining difference though (intentional): - The program name itself can't be quoted.
-
- Aug 24, 2018
-
-
Rudolf Polzer authored
This serves to handle cases such as PAM asking the user to authenticate to an external device by asking the user to do something with PAM_TEXT_INFO then waiting for the user to do so; we then want to keep PAM's message on the screen until the action happens. Of course, we still do show the processing message if the last action was an entry dialog (e.g. password entry). Also changes on some systems the events on bad password entry: - Before: Password:, Processing..., Invalid Password, Processing... (sleeping 2 seconds) - After: Password:, Processing..., Invalid Password (sleeping 2 seconds) This gives users more time to read the error message.
-
- Aug 21, 2018
-
-
Rudolf Polzer authored
-
- Aug 20, 2018
-
-
Rudolf Polzer authored
Yes, this means auth_pam_x11 may instant time out when the clock is stepped forward by NTP. Trying this out anyway, as: - This should only be an issue if the clock is stepped forward by more than few minutes, as the timeout defaults to 5 minutes. - We also put in a specific counter measure against the clock stepping backwards - when it does, we simply reset the timeout. Advantage: that way, auth_pam_x11 will almost always exit on resuming from suspend state. This is very desirable so we can control visibility of the hostname in a wrapper script.
-