Commit graph

46 commits

Author SHA1 Message Date
Maximilian Seidler
90e94dee86
core: Allow and fix empty passwords (#140)
* Revert "core: don't auth on empty password (#126)"

This reverts commit 6a085d7f8e.

* core: properly handle pam_conv
2024-03-07 13:22:11 +00:00
cdb8e7774f core: don't restore on terminate 2024-03-06 00:00:58 +00:00
7d5cb1dbb3 misc: fix warning about iso strings 2024-03-05 23:33:28 +00:00
f0bcadc6ad restore: limit to once every 4s 2024-03-05 23:32:31 +00:00
2fa0da47ab core: restart on a critical signal or SIGHUP
ref #76
2024-03-05 19:04:01 +00:00
BranchManager
6a085d7f8e
core: don't auth on empty password (#126) 2024-03-04 00:26:38 +00:00
ada7ce8e56 renderer: various fixes to transformations and backgrounds
fixes #111
2024-03-03 02:19:31 +00:00
Maximilian Seidler
4286cfb29c
core: Fix unlock sync (#119)
* core: error on repeated unlock

* core: change termination points

This seems to fix sporadic freezes when unlocking.
2024-03-02 14:21:41 +00:00
Maximilian Seidler
64bdc477b2
Revert "core: dispatch on exit instead of roundtrip" (#114)
This reverts commit 2c7027d2b5.
Without the roundtrip it was possible that session_lock_surface_destroy gets called before unlock_and_destroy is processed.
2024-03-01 22:45:38 +00:00
Maximilian Seidler
a7ec195842 grace: ignore key up and fix typo 2024-03-01 19:52:50 +02:00
53eab43296 grace: unlock on key press
fixes #110
2024-03-01 13:53:53 +00:00
Maximilian Seidler
ac757cf7ab
input-field: show autentication failReason without additional input (#98)
This makes it so that
1. The renderer is triggered when the onPasswordCheckTimer callback is fired. Previously you had to give an
   additional input for the renderer to be triggered and the fail reason to show.
2. The updateDots function now sets dots.currentAmout to 0, when a failID is present.
   That leads to the draw function to return false and the failReason to be displayed until another input happens.
2024-02-29 14:34:27 +00:00
2c7027d2b5 core: dispatch on exit instead of roundtrip 2024-02-27 13:25:57 +00:00
EastArctica
fd8b81aec8
core: use raw key values for tracking keypresses (#92) 2024-02-26 21:18:52 +00:00
8876ceccc2 format: fix format string 2024-02-26 19:51:12 +00:00
0d5115ab6b core: use lowercase syms for tracking keypresses
fixes #86
2024-02-26 18:34:34 +00:00
582e8c86b4 label: use a callback from asyncGatherer to render 2024-02-26 18:25:52 +00:00
1f268e0a39 core: create surface on monitor connect 2024-02-26 17:59:27 +00:00
4acf8981b3 core: fix repeated key events triggering presses
fixes #66
2024-02-26 02:28:33 +00:00
WindyDay
146965e7fb
core: unlock on sigusr1 (#82)
* Add SIGUSR1 to unlock

* minor style improvements

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-02-25 14:08:12 +00:00
Jan Beich
f85287a523
core: Unbreak build on FreeBSD (#71)
* Add OpenPAM support (used by BSDs except OpenBSD)

--   Package 'pam', required by 'virtual:world', not found
CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:619 (message):
  The following required packages were not found:

   - pam

src/core/Password.cpp:6:10: fatal error: 'security/pam_misc.h' file not found
    6 | #include <security/pam_misc.h>
      |          ^~~~~~~~~~~~~~~~~~~~~

* Add missing headers

src/renderer/widgets/IWidget.cpp: In member function 'virtual IWidget::SFormatResult IWidget::formatString(std::string)':
src/renderer/widgets/IWidget.cpp:51:41: error: 'getlogin' was not declared in this scope
   51 |     replaceAll(in, "$USER", std::string{getlogin()});
      |                                         ^~~~~~~~
src/renderer/widgets/IWidget.cpp:51:51: error: no matching function for call to 'std::__cxx11::basic_string<char>::basic_string(<brace-enclosed initializer list>)'
   51 |     replaceAll(in, "$USER", std::string{getlogin()});
      |                                                   ^
src/renderer/DMAFrame.cpp: In member function 'bool CDMAFrame::onBufferDone()':
src/renderer/DMAFrame.cpp:181:17: error: 'close' was not declared in this scope; did you mean 'pclose'?
  181 |                 close(fd[plane_tmp]);
      |                 ^~~~~
      |                 pclose
src/renderer/DMAFrame.cpp:196:13: error: 'close' was not declared in this scope; did you mean 'pclose'?
  196 |             close(fd[plane]);
      |             ^~~~~
      |             pclose
src/core/Password.cpp: In lambda function:
src/core/Password.cpp:44:31: error: 'strdup' was not declared in this scope
   44 |         reply->resp         = strdup(pass.c_str());
      |                               ^~~~~~
src/core/hyprlock.cpp: In member function 'void CHyprlock::spawnAsync(const std::string&)':
src/core/hyprlock.cpp:768:9: error: 'sigemptyset' was not declared in this scope
  768 |         sigemptyset(&set);
      |         ^~~~~~~~~~~
src/core/hyprlock.cpp:769:21: error: 'SIG_SETMASK' was not declared in this scope
  769 |         sigprocmask(SIG_SETMASK, &set, NULL);
      |                     ^~~~~~~~~~~
src/core/hyprlock.cpp:769:9: error: 'sigprocmask' was not declared in this scope
  769 |         sigprocmask(SIG_SETMASK, &set, NULL);
      |         ^~~~~~~~~~~
2024-02-23 12:54:14 +00:00
272fc359ad gbm: pick only valid modifiers 2024-02-22 03:05:56 +00:00
af9e8d1758 core: do not process keys on pending password verif
fixes #54
2024-02-21 23:05:52 +00:00
2836f02ded background: add screenshot 2024-02-21 21:39:14 +00:00
6355216f48 config: add general:grace
fixes #48
2024-02-21 16:48:59 +00:00
06b07c53e5 label: add executing commands 2024-02-21 14:12:20 +00:00
5c7b23eefb input: allow KP_Enter for submitting
fixes #32
2024-02-21 11:35:31 +00:00
Siavash Askari Nasr
277a377eb2
input: Clear password buffer with escape key (#37) 2024-02-21 11:01:52 +00:00
d37786be5c core: always roundtrip on unlock 2024-02-20 03:31:10 +00:00
e57f146bad core: fixup deadlock in timersThr exit cond 2024-02-20 03:18:17 +00:00
b23b0a6d32 core: add wait timeout to main thread 2024-02-20 03:07:34 +00:00
394dc81ff3 core: wait for poll threads to exit to avoid a coredump 2024-02-20 03:05:51 +00:00
98606beaad core: fixup number of pollfds in poll thread 2024-02-20 03:01:58 +00:00
868e85e362 config: add general:hide_cursor 2024-02-20 02:54:19 +00:00
b8fcfe8352 core: avoid idling forever after exit 2024-02-20 02:47:14 +00:00
87a7255954 core: fix UAF faults around lock surfaces 2024-02-20 01:38:02 +00:00
0bcdca6e7b core: more thread safety 2024-02-20 01:30:47 +00:00
9074ff702d core/input: add feedback for password verification 2024-02-20 00:53:49 +00:00
96f2818915 core: fixup timer thread operations 2024-02-20 00:31:11 +00:00
7370fc624f label: add time and dynamic timers 2024-02-20 00:11:19 +00:00
013dfadee7 inputField: minor cleanup
still anim sucks a bit
2024-02-19 21:09:00 +00:00
dfd2f851da debug: add --display arg 2024-02-19 15:20:52 +00:00
80d6dff563 logging: move spammy logs to trace 2024-02-19 00:22:55 +00:00
e957c74814 core: remove debug display name 2024-02-18 23:17:54 +00:00
d12d1da210 core: remove debug unlock 2024-02-18 23:08:48 +00:00
a6ac79641a core: initial commit 2024-02-18 23:08:03 +00:00