aboutsummaryrefslogtreecommitdiff
path: root/swaylock
AgeCommit message (Collapse)AuthorLines
2018-10-06Fix swaylock w/shadow on glibc, improve securityDrew DeVault-0/+30
Today I learned that GNU flaunts the POSIX standard in yet another creative way. Additionally, this adds some security improvements, namely: - Zeroing out password buffers in the privileged child process - setuid/setgid after reading /etc/shadow
2018-10-06swaylock: Support keyboard and pointer disconnects and reconnectsRyan Dwyer-5/+13
2018-09-30Add support for installing binaries with DT_RPATHArkadiusz Hiler-0/+1
It's better to use DT_RPATH dynamic section of the elf binary to store the paths of libraries to load instead of overwriting LD_LIBRARY_PATH for the whole environment, causing surprises. This solution is much more transparent and perfectly suitable for running contained installations of wayland/wlroots/sway. The code unsetting the LD_LIBRARY_PATH/LD_PRELOAD was also deleted as it's a placebo security at best - we should trust the execution path that leads us to running sway, and it's way too late to care about those variables since we already started executing our compositor, thus we would be compromised anyway.
2018-09-30Turn funcs() into funcs(void)Arkadiusz Hiler-1/+1
If they really do not take undefined number of arguments.
2018-09-28Add support for building swaylock without PAMDrew DeVault-72/+224
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-22swaybar, swaylock, & tree/container: Set cairo font options to render text ↵Geoff Greer-2/+13
and lines with subpixel hinting (if available).
2018-08-30Add FreeBSD-specific PAM configurationsghctoma-4/+19
The "login" PAM configuration means somathing entirely different on FreeBSD than on Linux: if you try to authenticate as the calling user, it OKs the request without prompting for password. The "passwd" config implements the desired functionality, therefore it should be used by swaylock.
2018-07-17Fix swaylock argumentsBrian Ashworth-64/+123
2018-07-16Switch to using getopt_long for config flagBrian Ashworth-7/+10
2018-07-16Remove leftover parensBrian Ashworth-1/+1
2018-07-16Remove int cast after changing to size_tBrian Ashworth-1/+1
2018-07-16Change to size_t in swaylock's get_config_pathBrian Ashworth-1/+1
2018-07-16Implement swaylock configuration file parsingBrian Ashworth-57/+193
2018-07-10Change formatting of swaylock usage in the codeBrian Ashworth-57/+69
2018-07-10Implement swaylock customization flagsBrian Ashworth-94/+338
2018-07-09Update for swaywm/wlroots#1126emersion-15/+15
2018-07-07swaylock: daemonize after lockingemersion-2/+11
2018-07-07swaylock: fix the displaying of "verified"Dominique Martinet-1/+14
Displaying verified after damaging state needs more than one roundtrip, so keep looping until surfaces are not dirty anymore
2018-07-07Detect opaque lockscreen when using a solid colorRyan Dwyer-3/+6
2018-07-07Use infinite opaque region in swaylockRyan Dwyer-14/+14
2018-07-07Use opaque region to determine if frame done should be sentRyan Dwyer-0/+15
2018-07-04Fix transparency in background images in swaylockBor Grošelj Simić-2/+3
2018-07-04Fix #1857Bor Grošelj Simić-0/+2
2018-07-02swaylock daemonize: fix leak of devnull fdDominique Martinet-0/+1
2018-06-08swaylock: implement ^U to clear bufferDominique Martinet-32/+15
The whole state->xcb.modifiers thing didn't work at all (always 0) The xkb doc says "[xkb_state_serialize_mods] should not be used in regular clients; please use the xkb_state_mod_*_is_active API instead" so here it is
2018-05-27swaylock: implement a proper render loopemersion-57/+105
2018-05-25Delete old asciidoc man pagesemersion-117/+0
2018-05-23swaylock: remove unused fieldemersion-1/+0
2018-05-23swaylock: don't try to render unconfigured surfacesemersion-0/+3
2018-05-23Merge branch 'master' into fix-swaylock-hotpluggingemersion-20/+140
2018-05-20Swaylock: Use calloc instead of mallocRyan Dwyer-1/+1
2018-05-20Swaylock: Log error if multiple images are defined for the same outputRyan Dwyer-0/+17
2018-05-20Swaylock: Allow per-output imagesRyan Dwyer-21/+119
2018-05-18Fix output hotpluggingemersion-31/+42
2018-05-18Fix swaylock crashing when unplugging outputemersion-5/+25
2018-05-11Add swaylock(1) and swaymsg(1)Drew DeVault-0/+103
2018-04-24Improved key handling in swaylockMattias Eriksson-1/+46
Make escape clear buffer Add indicator states for ctrl,shift,super et al Add CapsLock indicator
2018-04-20[swaylock] Install pam moduleBruno Pinto-0/+7
2018-04-12swaylock: Securely zero-out password.Geoff Greer-24/+33
- 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-05Error handling in swaylock daemonize()Drew DeVault-1/+23
Fixes #1741
2018-04-04Address review feedback from @emersionDrew DeVault-24/+30
2018-04-04exit() needs stdlib.hDrew DeVault-0/+1
inb4 acrisci
2018-04-04Import stdlib.h and define POSIX macro for rand()Drew DeVault-1/+3
2018-04-04Move extra roundtrip into password.cDrew DeVault-1/+1
2018-04-04Add hidpi support to swaylockDrew DeVault-20/+56
2018-04-04Implement input-inhibit in sway, swaylockDrew DeVault-0/+10
2018-04-04Actually let's not do that TODODrew DeVault-9/+0
2018-04-04R E N D E R I N GDrew DeVault-8/+147
2018-04-04Verify passwordsDrew DeVault-1/+57
2018-04-04Add password buffer, refactor rendering/surfacesDrew DeVault-49/+114