Commit Graph

117 Commits

Author SHA1 Message Date
Drew DeVault
52eeb9fc1e
Merge pull request #24 from c-edw/feature/AbortSUIDWithPAM
Log error and exit if swaylock is suid with PAM backend.
2019-01-18 09:07:17 -05:00
Connor E
648b0ccd64 Make setuid error clearer. 2019-01-18 13:52:17 +00:00
Connor E
7c0ba89197 Handle alloc failures. 2019-01-18 13:45:34 +00:00
Connor E
291bae1e44 Remove VLAs. 2019-01-18 12:27:42 +00:00
Michael Weiss
710a711fd7
Replace old Sway references with swaylock 2019-01-17 17:18:20 +01:00
Drew DeVault
79dd99cb3c
Merge pull request #19 from swaywm/async
Async password verification
2019-01-17 08:12:03 -05:00
William Hua
8de5a06883 Allow image file paths to contain colons
Colon characters are allowed in file paths, so if an image file named
'foo:bar.png' is passed as an --image argument, it's currently parsed as
image 'bar.png' on output 'foo'.

This fix allows the caller to pass the argument ':foo:bar.png' and treat
an output of '' the same as NULL. This is assuming there will never be
an output named '' however...
2019-01-17 07:41:10 -05:00
emersion
c77f0eb4ed
Check password without blocking 2019-01-17 12:42:13 +01:00
Brian Ashworth
e3935ad143 Implement logging and remove wlroots dependency
This implements a simpler version of the wlroots logger for swaylock.
With this logger, the dependency on wlroots can be dropped. This also
adds a debug flag and disables debugging output by default
2019-01-14 23:30:54 -05:00
Robinhuett
1e7696fceb Add caps lock state to indicator
This implements customization for the indicator as proposed in sway#2788 with comments from sway#3367 in mind.
The default behaviour does not change exept for the caps lock text color.
Since these changes seem to be lost in the split I've remade them.
2019-01-14 16:51:04 +01:00
Drew DeVault
b90637e2a6 Convert swaylock into standalone project 2019-01-13 21:16:47 -05:00
Ian Fan
70ce4f9dc6 Remove readline.c
All occurrences of read_line have been replaced by getline.
peek_line has been absorbed into detect_brace.
2019-01-01 09:01:25 +00:00
Cameron Nemo
53f55a7140 swaylock: fix build with musl libc
Signed-off-by: Cameron Nemo <camerontnorman@gmail.com>
2018-11-30 23:22:09 -08:00
emersion
8191c2147b Replace _XOPEN_SOURCE with _POSIX_C_SOURCE
And make sure we don't define both in the same source file.
2018-11-25 17:19:43 +01:00
Drew DeVault
28e5138fad Merge pull request #2925 from ianyfan/swaylock
swaylock: exit early if unable to get input inhibitor
2018-10-24 18:54:22 +02:00
Ryan Dwyer
d7ffed8b49 Add multiseat support to swaylock 2018-10-24 22:04:16 +10:00
Ian Fan
274179a804 swaylock: exit on display error 2018-10-23 11:49:33 +01:00
Ian Fan
4b312c1389 swaylock: exit early if unable to inhibit input
This stops the program from going into a spinlock without exiting
2018-10-23 11:41:45 +01:00
Connor E
5521293dc7 Change initial background mode before arg parse. 2018-10-19 16:38:01 +01:00
Ryan Dwyer
b239eba5a9 Fix swaylock version string
The referenced constants were not defined so it always printed "version
unknown".

Also it would exit with code 1. It now exits with code 0.
2018-10-16 00:09:16 +10:00
Ryan Dwyer
529f5ce2e4 Sway clients: Exit gracefully when compositor is unavailable 2018-10-15 21:57:59 +10:00
Ryan Dwyer
1d0579aca4 swaylock: Use common event loop 2018-10-15 00:26:27 +10:00
Ryan Dwyer
ec35e9943e swaylock: Support keyboard and pointer disconnects and reconnects 2018-10-06 09:38:12 +10:00
Arkadiusz Hiler
5ca9cd6d4e Turn funcs() into funcs(void)
If they really do not take undefined number of arguments.
2018-09-30 14:09:05 +03:00
Drew DeVault
64259db8d6 Add support for building swaylock without PAM
This involves setuid'ing swaylock, which then forks and drops perms on
the parent process. The child process remains root and listens on a pipe
for requests to validate passwords against /etc/shadow.
2018-09-28 13:53:01 +02:00
Geoff Greer
1ba79a159e swaybar, swaylock, & tree/container: Set cairo font options to render text and lines with subpixel hinting (if available). 2018-09-22 11:34:21 -07:00
Brian Ashworth
01e7492d70 Fix swaylock arguments 2018-07-17 21:50:15 -04:00
Brian Ashworth
2bb424ea89 Switch to using getopt_long for config flag 2018-07-16 12:17:40 -04:00
Brian Ashworth
96af98e976 Remove leftover parens 2018-07-16 12:17:40 -04:00
Brian Ashworth
bd4a8e0673 Remove int cast after changing to size_t 2018-07-16 12:17:40 -04:00
Brian Ashworth
e1ddb4373f Change to size_t in swaylock's get_config_path 2018-07-16 12:17:40 -04:00
Brian Ashworth
6fb2cf9507 Implement swaylock configuration file parsing 2018-07-16 12:17:40 -04:00
Brian Ashworth
cd9295c9d9 Change formatting of swaylock usage in the code 2018-07-10 22:09:31 -04:00
Brian Ashworth
77cf57ae14 Implement swaylock customization flags 2018-07-10 21:29:15 -04:00
emersion
ecf5b656c9 Update for swaywm/wlroots#1126 2018-07-09 22:54:30 +01:00
emersion
d4886a3cd5 swaylock: daemonize after locking 2018-07-07 18:36:49 +01:00
Ryan Dwyer
1468d89395 Detect opaque lockscreen when using a solid color 2018-07-07 00:17:08 +10:00
Ryan Dwyer
788b771632 Use infinite opaque region in swaylock 2018-07-07 00:03:49 +10:00
Ryan Dwyer
f43f683720 Use opaque region to determine if frame done should be sent 2018-07-07 00:03:49 +10:00
Dominique Martinet
8406c501b9 swaylock daemonize: fix leak of devnull fd 2018-07-02 08:03:41 +09:00
emersion
515f03c94c swaylock: implement a proper render loop 2018-05-27 13:39:38 +01:00
emersion
cc12bc3723 swaylock: remove unused field 2018-05-23 22:59:24 +01:00
emersion
ab7d22052a Merge branch 'master' into fix-swaylock-hotplugging 2018-05-23 22:54:52 +01:00
Ryan Dwyer
7072f6112c Swaylock: Use calloc instead of malloc 2018-05-20 22:54:09 +10:00
Ryan Dwyer
9a06de63e7 Swaylock: Log error if multiple images are defined for the same output 2018-05-20 22:54:09 +10:00
Ryan Dwyer
3afd535a3b Swaylock: Allow per-output images 2018-05-20 22:54:09 +10:00
emersion
b0c5fa2bdf Fix output hotplugging 2018-05-18 21:57:58 +01:00
emersion
af713a5adb Fix swaylock crashing when unplugging output 2018-05-18 19:13:08 +01:00
Geoff Greer
d8f0fb1378 swaylock: Securely zero-out password.
- Replace char* with static array. Any chars > 1024 will be discarded.
- mlock() password buffer so it can't be written to swap.
- Clear password buffer after auth succeeds or fails.

This is basically the same treatment I gave the 0.15 branch in https://github.com/swaywm/sway/pull/1519
2018-04-12 17:49:21 -07:00
Drew DeVault
b9afbf0bd3 Error handling in swaylock daemonize()
Fixes #1741
2018-04-05 09:21:39 -04:00