summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-08-22Refactor main()FRIGN2-31/+119
- Add arg.h and fix usage Given slock is suid we don't want to have half-measures in place to parse the arguments in case the code is changed in the future with somebody not paying enough attention. Also, fix the usage string output to be more consistent across the suckless toolbase and make it reflect the manpage entry. - Comments Use proper block comments and add/change them where necessary to help in studying the code. - Error messages Consistently prepend them with "slock:" and fix wording and do a proper cleanup before quitting (XCloseDisplay and free the locks), making the die() semantics consistent with st's. - getpwuid() error reporting Properly present an error message if getpwuid() fails. - fork() error reporting Properly present an error message if fork() fails. If we cannot close the connection within the fork context we abort the operation and report an error. - execvp() error handling If execvp fails, we cannot call die() afterwards as this implies calling exit(). We must use _exit() to prevent the libc from doing now "illegal" cleanup-work.
2016-08-13clear passwords with explicit_bzeroHiltjo Posthuma5-5/+34
Make sure to explicitly clear memory that is used for password input. memset is often optimized out by the compiler. Brought to attention by the OpenBSD community, see: https://marc.info/?t=146989502600003&r=1&w=2 Thread subject: x11/slock: clear passwords with explicit_bzero Changes: - explicit_bzero.c import from libressl-portable. - Makefile: add COMPATSRC for compatibility src. - config.mk: add separate *BSD section in config.mk to simply uncomment it on these platforms.
2016-02-15Revert "No need for usage()"Markus Teich2-5/+28
This reverts most of commit a6dc051e3744ce5b14c54d2d246d3e8258207e76 and fixes some related stuff: - keep spelling fixes from original commit - make -h and -v also work when followed by more arguments - any unknown flag prints usage - fix output of -v to display "slock: version 1.3" instead of "slock: slock-1.3"
2016-02-15revert using argv0 and minor fixupMarkus Teich1-9/+6
- use hardcoded "slock" instead of argv[0] - add "slock: " to fprintf calls, where it was missing - revert `argc--, argv++` shifting
2016-02-14Use argv0 instead of passing "slock:" to die every timeFRIGN1-12/+16
2016-02-14No need for usage()FRIGN2-31/+9
There are 2 arguments why -v and -h are broken: 1) if you are running off git, -v will show the last stable release, effectively making this option useless. people running stable versions leave open an attack surface this way in case there are vulnerabilities found. 99% of the people are also using package managers to keep their software up to date, instead of running $TOOL -v to check how old it is. 2) -h is a sad excuse for not just looking at the manual page (man 1 slock). Given we accept a post_lock_command, we can't be as liberal and just intercept certain flags. I changed the manpage to reflect this change.
2016-02-14Clarify config.def.hFRIGN1-2/+4
Clear up the wording a bit and explain what failonclear means.
2016-02-14Simplify the oom-taming-functionFRIGN1-14/+6
There really is no need to source a defined variable from a linux header. The OOM-rank ranges from -1000 to 1000, so we can safely hardcode -1000, which is a sane thing to do given slock is suid and we don't want to play around too much here anyway. On another notice, let's not forget that this still is a shitty heuristic. The OOM-killer still can kill us (thus I also changed the wording in the error-message. We do not disable the OOM-killer, we're just hiding.
2016-02-11add slock.1 man page1.3Markus Teich3-1/+38
2016-02-11Update license yearFRIGN1-1/+1
It actually was 2014 and not 2015.
2016-02-11Don't forget the E-MailFRIGN1-1/+1
2016-02-11Add myself to LicenseFRIGN1-0/+1
forgot that a while ago
2016-02-11update copyright year in -v outputMarkus Teich1-1/+1
2016-02-11prepare 1.3 releaseMarkus Teich2-1/+2
2016-02-11remove .hgtagsMarkus Teich1-10/+0
2016-01-29add hint for suid to oom error messageMarkus Teich1-1/+1
2016-01-18error messages on grab failureMarkus Teich1-14/+16
2016-01-18code style fixMarkus Teich1-18/+9
2015-12-26add option to run command after screen is lockedMarkus Teich1-2/+10
2015-08-27Don't change to failure colour on successDavid Phillips1-1/+1
2015-07-06Slightly safer OOM killer disablement in linuxDavid Phillips1-1/+12
2015-05-08rework setting window colorMarkus Teich1-10/+7
2015-05-08consistently use () with sizeofMarkus Teich1-2/+2
2015-05-08Option to not show failure color on clearNick Currier2-3/+7
2015-04-01resize lockscreen window after Xrandr resizeMarkus Teich2-3/+17
2015-04-01Blank the screen with color 0, add third color for failed loginsDavid Phillips2-11/+23
- Adds another color in config.def.h, COLOR_INIT - Renames the colours from numerical ones to ones with meaningful names; COLOR_INPUT for when there is content in the input buffer and COLOR_EMPTY for when the input buffer has been cleared (backspaced or a failed attempt). - Ensures XFreeColors frees the right number of colours. This is now derived from the size of `Lock->colors` rather than being an integer literal. - Makes slock exhibit the behaviour described by Markus The default colours are the same as the ones slock currently uses, with the exception of the new color, which I have set to red, as it indicates someone has either failed an attempt to unlock, or that they have entered input and erased it all.
2015-01-27applied Dimitris' style patch from Dec'14, with some minor modificationsAnselm R Garbe1-52/+60
2014-12-22fixed usage string1.2Anselm R Garbe1-1/+1
2014-12-22applied sin's patch and prepared new releaseAnselm R Garbe5-4/+13
2014-11-09end{pw,sp}ent() can only be called after get{pw,sp}ent()sin1-2/+0
Calling them unconditionally can result in memory corruption.
2014-07-09Only check errno if getpwuid() failssin1-4/+6
Checking errno otherwise is unspecified.
2014-06-09Add /etc/passwd supportFRIGN1-2/+2
Fix slock to work with /etc/passwd without /etc/shadow. while we're at it, remove an occurence of trailing whitespace.
2014-01-29Set errno to 0 before getpwuid() and check it afterwardssin1-1/+4
2013-08-02applied Robert Schneider's Linux suggestions, also bumped version and ↵Anselm R Garbe3-10/+30
updated LICENSE file's copyright notice
2012-10-25prepared 1.1anselm@garbe.us1-1/+1
2012-08-02applied andres' multi-slock fix, thanks for spotting this issuegarbeam@gmail.com1-3/+14
2012-04-15added Ben's password placeholder entry kludgeanselm@garbe.us1-1/+1
2012-03-17applied Eckehard Bern's dualcolor patch to slockanselm@garbe.us2-7/+24
2012-02-11Added tag 1.0 for changeset 05b949016e85anselm@garbe.us1-0/+1
2012-02-11preparing 1.01.0anselm@garbe.us1-1/+1
2012-02-09select for SubstructureRedirectMask as wellanselm@garbe.us1-0/+2
2012-02-09fixed missing new linesanselm@garbe.us1-2/+2
2012-02-05typo fixanselm@garbe.us1-1/+1
2012-02-05added XRaiseWindow workaround when new clients are launchedanselm@garbe.us2-52/+36
2012-01-24applied Michaels patchgarbeam@gmail.com1-2/+4
2012-01-22added dummy error handler to prevent X from terminating slock just in caseanselm@garbe.us1-8/+14
2011-04-21applied Markus' patch to die in case /etc/passwd is unavailableAnselm R Garbe1-0/+3
2009-11-26applied Fernando Silveira's multiscreen patch for old style multihead setupsAnselm R Garbe1-69/+151
2008-12-12applied Ali Gholami Rudi's patch regarding DPMS timeout customization and ↵a@null2-5/+10
persistence
2008-07-29Added tag 0.9 for changeset 1e8a77601cb9Anselm R Garbe1-0/+1