slock, branch HEAD simple X display locker utility 3791a996e230aec59d61faea46634ae4f031e359 2025-08-16T09:11:27Z 2025-08-16T09:11:27Z add a comment for the ctrl-u clear field combo Hiltjo Posthuma hiltjo@codemadness.org commit 3791a996e230aec59d61faea46634ae4f031e359 parent bf0a5577acbd9ec7c6a577601b97144b205840d7 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Sat, 16 Aug 2025 11:11:27 +0200 add a comment for the ctrl-u clear field combo bf0a5577acbd9ec7c6a577601b97144b205840d7 2025-08-15T23:30:19Z 2025-08-16T09:05:32Z Support ^U for clearing password Drew Marino drewmarino25@gmail.com commit bf0a5577acbd9ec7c6a577601b97144b205840d7 parent e3fb34364ed2c53b21edde07ac17560a601783a9 Author: Drew Marino <drewmarino25@gmail.com> Date: Fri, 15 Aug 2025 19:30:19 -0400 Support ^U for clearing password ^U is a fairly common key combo for clearing fields, this patch adds support for it. e3fb34364ed2c53b21edde07ac17560a601783a9 2025-08-09T12:34:37Z 2025-08-09T12:34:37Z bump version to 1.6 Hiltjo Posthuma hiltjo@codemadness.org commit e3fb34364ed2c53b21edde07ac17560a601783a9 parent a70d5d2429abf8dcb70a8817990975dc9a621d27 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Sat, 9 Aug 2025 14:34:37 +0200 bump version to 1.6 a70d5d2429abf8dcb70a8817990975dc9a621d27 2022-09-09T08:50:12Z 2025-03-09T09:02:34Z simplify post-lock cmd and die if it fails NRK nrk@disroot.org commit a70d5d2429abf8dcb70a8817990975dc9a621d27 parent a34d8fb4327bbb1afd92e7527c53fcaad547a495 Author: NRK <nrk@disroot.org> Date: Fri, 9 Sep 2022 14:50:12 +0600 simplify post-lock cmd and die if it fails this patch does two things: 0. simplify the code by using posix_spawn() 1. unify the behavior of what happens if the post-lock cmd fails. currently, if `fork()` fails, slock will die without locking the screen. HOWEVER if `execvp()` fails it prints a message to stderr (which the user cannot see since the screen has been locked already) and only exits the child while the parent locks the screen. to reproduce: # slock some_bin_that_doesnt_exist this behavior is inconsistent, if the idea is that post-lock cmd is _not_ important then we shouldn't `die()` on `fork()` failure either. and if we assume that the post-lock cmd _is_ important, then we should die on exec failure as well. this patch assumes the latter and calls `die()` if `posix_spawn()` fails. a34d8fb4327bbb1afd92e7527c53fcaad547a495 2023-10-06T09:57:31Z 2023-10-06T09:57:31Z slock.1: use standard wording for options Hiltjo Posthuma hiltjo@codemadness.org commit a34d8fb4327bbb1afd92e7527c53fcaad547a495 parent e8bca65d629a4faa89439c9f0e599efb5a259573 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:57:31 +0200 slock.1: use standard wording for options Remove the OPTIONS section and add an EXIT STATUS section. e8bca65d629a4faa89439c9f0e599efb5a259573 2023-10-06T09:50:11Z 2023-10-06T09:50:11Z write version to stdout like the man page says Hiltjo Posthuma hiltjo@codemadness.org commit e8bca65d629a4faa89439c9f0e599efb5a259573 parent ca6f30f621c1195b577ace7a14b9037fab0dab91 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:50:11 +0200 write version to stdout like the man page says ca6f30f621c1195b577ace7a14b9037fab0dab91 2023-10-06T09:48:40Z 2023-10-06T09:48:40Z slock.1: improve man page Hiltjo Posthuma hiltjo@codemadness.org commit ca6f30f621c1195b577ace7a14b9037fab0dab91 parent 2fec14c567411b939e717c380d8b4460d462b146 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:48:40 +0200 slock.1: improve man page * Fix all lint warnings. * Remove "Op Ar arg..." in the description. It looks ugly. * No need to set -offset left for .Bd literal. 2fec14c567411b939e717c380d8b4460d462b146 2023-10-06T09:41:19Z 2023-10-06T09:41:19Z config.mk: no need to set CC Hiltjo Posthuma hiltjo@codemadness.org commit 2fec14c567411b939e717c380d8b4460d462b146 parent 5678764412873baa62e1536f0622d6a7cec62181 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:41:19 +0200 config.mk: no need to set CC 5678764412873baa62e1536f0622d6a7cec62181 2023-10-06T09:39:40Z 2023-10-06T09:39:40Z Makefile: be verbose and remove options Hiltjo Posthuma hiltjo@codemadness.org commit 5678764412873baa62e1536f0622d6a7cec62181 parent aecfb3f6803bc2e7a5478aeb4f3390cbaaa563c7 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:39:40 +0200 Makefile: be verbose and remove options Some things to improve at some point: * Respect system/packaging CFLAGS/LDFLAGS (don't hardcode -Os -Wall -pedantic, -s, etc). aecfb3f6803bc2e7a5478aeb4f3390cbaaa563c7 2023-10-06T09:39:31Z 2023-10-06T09:39:31Z update LICENSE Hiltjo Posthuma hiltjo@codemadness.org commit aecfb3f6803bc2e7a5478aeb4f3390cbaaa563c7 parent 4f045545a25cc02c64bfc08d27ed2ccecb962292 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Fri, 6 Oct 2023 11:39:31 +0200 update LICENSE 4f045545a25cc02c64bfc08d27ed2ccecb962292 2022-10-04T17:45:14Z 2022-10-04T17:45:14Z bump version to 1.5 Hiltjo Posthuma hiltjo@codemadness.org commit 4f045545a25cc02c64bfc08d27ed2ccecb962292 parent 265704d73647e0d4823126bbb7ddde1d415a618d Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Tue, 4 Oct 2022 19:45:14 +0200 bump version to 1.5 265704d73647e0d4823126bbb7ddde1d415a618d 2022-10-04T17:44:47Z 2022-10-04T17:44:47Z Makefile: explicit_bzero.c was copied twice (GNU make gives a warning) Hiltjo Posthuma hiltjo@codemadness.org commit 265704d73647e0d4823126bbb7ddde1d415a618d parent 35633d45672d14bd798c478c45d1a17064701aa9 Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Tue, 4 Oct 2022 19:44:47 +0200 Makefile: explicit_bzero.c was copied twice (GNU make gives a warning) 35633d45672d14bd798c478c45d1a17064701aa9 2017-03-25T20:16:01Z 2017-03-25T20:51:29Z Properly clear the last entered character Tobias Stoeckmann tobias@stoeckmann.org commit 35633d45672d14bd798c478c45d1a17064701aa9 parent 2d2a21a90ad1b53594b1b90b97486189ec54afce Author: Tobias Stoeckmann <tobias@stoeckmann.org> Date: Sat, 25 Mar 2017 21:16:01 +0100 Properly clear the last entered character When enter is pressed, passwd[len] will be set to '\0'. Pressing backspace is supposed to remove the last entered character. But currently, the clearing has an off-by-one, as in setting passwd[len] to '\0' just like enter would do. You can also verify it by imagining len=1 and that it's impossible to clear passwd[0] by pressing backspace with the current code. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> 2d2a21a90ad1b53594b1b90b97486189ec54afce 2016-11-22T23:29:18Z 2016-11-22T23:29:18Z rm trailing whitespace in README Markus Teich teichm@fs.tum.de commit 2d2a21a90ad1b53594b1b90b97486189ec54afce parent 325581b935c74c321062d1f6873704411bcc5071 Author: Markus Teich <teichm@fs.tum.de> Date: Wed, 23 Nov 2016 00:29:18 +0100 rm trailing whitespace in README 325581b935c74c321062d1f6873704411bcc5071 2016-11-22T23:28:43Z 2016-11-22T23:28:43Z syntax fix Markus Teich teichm@fs.tum.de commit 325581b935c74c321062d1f6873704411bcc5071 parent 0ff0d9f7a7156a0e0b41d5b208ae5625e3a15dab Author: Markus Teich <teichm@fs.tum.de> Date: Wed, 23 Nov 2016 00:28:43 +0100 syntax fix 0ff0d9f7a7156a0e0b41d5b208ae5625e3a15dab 2016-11-22T23:28:25Z 2016-11-22T23:28:25Z there can only be one window in the event Markus Teich teichm@fs.tum.de commit 0ff0d9f7a7156a0e0b41d5b208ae5625e3a15dab parent 7a604ec1fae1eda36f210a28a2cf466583a9cb87 Author: Markus Teich <teichm@fs.tum.de> Date: Wed, 23 Nov 2016 00:28:25 +0100 there can only be one window in the event 7a604ec1fae1eda36f210a28a2cf466583a9cb87 2016-11-07T17:15:20Z 2016-11-22T23:26:51Z Fix resize with multiple monitors and portrait mode Bob Uhl buhl@zvelo.com commit 7a604ec1fae1eda36f210a28a2cf466583a9cb87 parent fa1158958466f38cd35c9114023a0175e67ebb6f Author: Bob Uhl <buhl@zvelo.com> Date: Mon, 7 Nov 2016 10:15:20 -0700 Fix resize with multiple monitors and portrait mode When connecting/disconnecting a portrait monitor, the XRRScreenChangeNotifyEvent height & width are reversed due to the XRandR rotation; detect this and DTRT. fa1158958466f38cd35c9114023a0175e67ebb6f 2016-11-20T00:07:11Z 2016-11-20T00:07:11Z bump version Markus Teich markus.teich@stusta.mhn.de commit fa1158958466f38cd35c9114023a0175e67ebb6f parent d5da84cf5adce2f30ed348b631861cc089f3b559 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sun, 20 Nov 2016 01:07:11 +0100 bump version d5da84cf5adce2f30ed348b631861cc089f3b559 2016-11-19T23:59:19Z 2016-11-20T00:01:47Z add arg.h and util.h to Makefile Markus Teich markus.teich@stusta.mhn.de commit d5da84cf5adce2f30ed348b631861cc089f3b559 parent ae96836f90c3652fd0907e0632ddd4591d5716fa Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sun, 20 Nov 2016 00:59:19 +0100 add arg.h and util.h to Makefile ae96836f90c3652fd0907e0632ddd4591d5716fa 2016-11-19T23:29:41Z 2016-11-19T23:29:41Z clarify colors in config.def.h Markus Teich markus.teich@stusta.mhn.de commit ae96836f90c3652fd0907e0632ddd4591d5716fa parent 7d31ff65a0b0388f788ca6932c815ab29e5fb10f Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sun, 20 Nov 2016 00:29:41 +0100 clarify colors in config.def.h 7d31ff65a0b0388f788ca6932c815ab29e5fb10f 2016-11-19T23:29:01Z 2016-11-19T23:29:01Z move config.h inclusion after type declarations Markus Teich markus.teich@stusta.mhn.de commit 7d31ff65a0b0388f788ca6932c815ab29e5fb10f parent 597469541c10fdb8920ed190b72763b0719e5cb5 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sun, 20 Nov 2016 00:29:01 +0100 move config.h inclusion after type declarations 597469541c10fdb8920ed190b72763b0719e5cb5 2016-10-17T18:28:09Z 2016-10-17T22:29:41Z Unboolify slock.c Laslo Hunhold dev@frign.de commit 597469541c10fdb8920ed190b72763b0719e5cb5 parent c96e725df0c449abb5f1f6a3b604f64fa69c4756 Author: Laslo Hunhold <dev@frign.de> Date: Mon, 17 Oct 2016 20:28:09 +0200 Unboolify slock.c c96e725df0c449abb5f1f6a3b604f64fa69c4756 2016-10-01T22:10:45Z 2016-10-10T18:40:13Z Use explicit strcmp() instead of inlining it FRIGN dev@frign.de commit c96e725df0c449abb5f1f6a3b604f64fa69c4756 parent 6a1bd896356ae3b59053b5e458fdff62d076114b Author: FRIGN <dev@frign.de> Date: Sun, 2 Oct 2016 00:10:45 +0200 Use explicit strcmp() instead of inlining it Makes it a tad more readable; the previous "optimization" will be done by the compiler anyway. 6a1bd896356ae3b59053b5e458fdff62d076114b 2016-10-01T22:03:18Z 2016-10-10T18:40:13Z No need for oldc to be static FRIGN dev@frign.de commit 6a1bd896356ae3b59053b5e458fdff62d076114b parent b099d2fd1868a5497069b85e5af0e6148077a6ba Author: FRIGN <dev@frign.de> Date: Sun, 2 Oct 2016 00:03:18 +0200 No need for oldc to be static b099d2fd1868a5497069b85e5af0e6148077a6ba 2016-10-01T21:56:33Z 2016-10-10T18:40:13Z Use NUL character constant explicitly FRIGN dev@frign.de commit b099d2fd1868a5497069b85e5af0e6148077a6ba parent 0a43b78d00ebac574376ffd93223a751e21e265e Author: FRIGN <dev@frign.de> Date: Sat, 1 Oct 2016 23:56:33 +0200 Use NUL character constant explicitly 0a43b78d00ebac574376ffd93223a751e21e265e 2016-10-01T21:50:49Z 2016-10-10T18:39:33Z Keep the line-lengths at bay FRIGN dev@frign.de commit 0a43b78d00ebac574376ffd93223a751e21e265e parent bd069b08c5fe4fea3c78f6991a849b19ed40cbe0 Author: FRIGN <dev@frign.de> Date: Sat, 1 Oct 2016 23:50:49 +0200 Keep the line-lengths at bay This makes the code more readable and prevents wraparounds in the editor. bd069b08c5fe4fea3c78f6991a849b19ed40cbe0 2016-09-28T18:20:51Z 2016-09-28T20:01:58Z Add a section on security considerations FRIGN dev@frign.de commit bd069b08c5fe4fea3c78f6991a849b19ed40cbe0 parent 2d85c5baed4c4b4ecc19f7934fac1fc6a5b5c410 Author: FRIGN <dev@frign.de> Date: Wed, 28 Sep 2016 20:20:51 +0200 Add a section on security considerations The section on security considerations sheds some light on the problems that we can't solve within slock but which the user has to solve in his X configuration. 2d85c5baed4c4b4ecc19f7934fac1fc6a5b5c410 2016-09-26T11:28:09Z 2016-09-26T11:28:09Z remove confusing DPMS comment Markus Teich markus.teich@stusta.mhn.de commit 2d85c5baed4c4b4ecc19f7934fac1fc6a5b5c410 parent a98fba8971ab4b8d8b1f18422b808a79434d8923 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Mon, 26 Sep 2016 13:28:09 +0200 remove confusing DPMS comment FRIGN on hackers@suckless.org: What has been bugging me for quite a while is this DPMS comment that was added there for no reason. Every sane mind would agree that fiddling with DPMS makes no sense whatsoever. When I slock, my screen turns off after 10 minutes. So, if I don't like that, I disable DPMS. If I do, I just fiddle around with my mouse a bit and get the slock promt. a98fba8971ab4b8d8b1f18422b808a79434d8923 2016-09-23T17:08:39Z 2016-09-23T17:08:39Z error out early on crypt() fail Markus Teich markus.teich@stusta.mhn.de commit a98fba8971ab4b8d8b1f18422b808a79434d8923 parent dc2e8e839e4d72f5fec36c9a0474e6062a7a8f51 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Fri, 23 Sep 2016 19:08:39 +0200 error out early on crypt() fail dc2e8e839e4d72f5fec36c9a0474e6062a7a8f51 2016-09-11T21:17:53Z 2016-09-23T16:54:56Z Stop using $USER for shadow entries FRIGN dev@frign.de commit dc2e8e839e4d72f5fec36c9a0474e6062a7a8f51 parent 9a617db716641da8489e2062e04098220954bffe Author: FRIGN <dev@frign.de> Date: Sun, 11 Sep 2016 23:17:53 +0200 Stop using $USER for shadow entries This was extremely bad practice, effectively making the program behave different depending on which architecture you are running it on. OpenBSD offers getpwuid_shadow, but there is no getspuid for getspnam, so we resort to using the pw_name entry in the struct passwd we filled earlier. This prevents slock from crashing when $USER is empty (easy to do). If you want to run slock as a different user, don't use $ USER="tom" slock but doas or sudo which were designed for this purpose. 9a617db716641da8489e2062e04098220954bffe 2016-09-11T21:10:57Z 2016-09-23T16:51:40Z Rename getpw() and pws to gethash() and hash FRIGN dev@frign.de commit 9a617db716641da8489e2062e04098220954bffe parent b00f444a4ea0d9ffa5cd7dcda71c97cdf05d322e Author: FRIGN <dev@frign.de> Date: Sun, 11 Sep 2016 23:10:57 +0200 Rename getpw() and pws to gethash() and hash b00f444a4ea0d9ffa5cd7dcda71c97cdf05d322e 2016-09-11T21:08:19Z 2016-09-23T16:39:01Z Remove cleanup and deglobalize and rework data structures FRIGN dev@frign.de commit b00f444a4ea0d9ffa5cd7dcda71c97cdf05d322e parent cd3c546c37d91e24b8c55bab88bfcb920d8ea895 Author: FRIGN <dev@frign.de> Date: Sun, 11 Sep 2016 23:08:19 +0200 Remove cleanup and deglobalize and rework data structures The cleanup removal is a joint-venture with Markus. We assume the X server does the cleanup, so we don't need it. The idea is that the fds are closed at exit and thus already indicate to the X server that the client has quit. Analogously the same applies to freeing memory sections previously allocated for the X server. We love XXXXXL burgers and therefore removed XUngrabPointer XUngrabKeyboard XFreeColors XFreePixmap XDestroyWindow Lines of Code. For a project like slock there is no need to carry around global state. By moving the three structures to main() it is now clear which functions modify which state, greatly improving the readability of the code, especially given slock is a suid program. cd3c546c37d91e24b8c55bab88bfcb920d8ea895 2016-09-08T17:03:12Z 2016-09-08T21:36:07Z config.mk: be more explicative about FLAGS Quentin Rameau quinq@fifth.space commit cd3c546c37d91e24b8c55bab88bfcb920d8ea895 parent 22eba05f3683c12fa6a5f898d08c33704c9fbb73 Author: Quentin Rameau <quinq@fifth.space> Date: Thu, 8 Sep 2016 19:03:12 +0200 config.mk: be more explicative about FLAGS Group each *FLAG with its description and add a NetBSD specific. 22eba05f3683c12fa6a5f898d08c33704c9fbb73 2016-09-07T11:32:29Z 2016-09-07T22:36:45Z Ensure Polyphemus-Mitigation and properly drop privileges FRIGN dev@frign.de commit 22eba05f3683c12fa6a5f898d08c33704c9fbb73 parent 04143fd68dbc656905714eff5c208fadb3464e25 Author: FRIGN <dev@frign.de> Date: Wed, 7 Sep 2016 13:32:29 +0200 Ensure Polyphemus-Mitigation and properly drop privileges Don't hide privilege drops inside readpw() and actually make it configurable what you are dropping to in config.h. The privilege drop comes after opening the Display because the user "nobody" with "nogroup" can't do that. So why do I call this strategy the Polyphemus-Mitigation? """ After the giant returns in the evening and eats two more of the men, Odysseus offers Polyphemus some strong and undiluted wine given to him earlier on his journey. Drunk and unwary, the giant asks Odysseus his name, promising him a guest-gift if he answers. Odysseus tells him "Οὖτις", which means "nobody" and Polyphemus promises to eat this "Nobody" last of all. With that, he falls into a drunken sleep. Odysseus had meanwhile hardened a wooden stake in the fire and now drives it into Polyphemus' eye. When Polyphemus shouts for help from his fellow giants, saying that "Nobody" has hurt him, they think Polyphemus is being afflicted by divine power and recommend prayer as the answer. """ (source: https://en.wikipedia.org/wiki/Polyphemus) 04143fd68dbc656905714eff5c208fadb3464e25 2016-09-07T11:02:42Z 2016-09-07T11:10:25Z Unify how we check passwords between different OSes Quentin Rameau quinq@fifth.space commit 04143fd68dbc656905714eff5c208fadb3464e25 parent 9698224090ff2989659717815bfa076d5d436a70 Author: Quentin Rameau <quinq@fifth.space> Date: Wed, 7 Sep 2016 13:02:42 +0200 Unify how we check passwords between different OSes 9698224090ff2989659717815bfa076d5d436a70 2016-09-07T08:04:06Z 2016-09-07T08:04:06Z make error message prefix consistent Markus Teich markus.teich@stusta.mhn.de commit 9698224090ff2989659717815bfa076d5d436a70 parent a55594fdd69fcfcc10b8c9624d5aba298969d713 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Wed, 7 Sep 2016 10:04:06 +0200 make error message prefix consistent a55594fdd69fcfcc10b8c9624d5aba298969d713 2016-09-02T09:49:02Z 2016-09-02T09:49:02Z increasing for loops are idiomatic Markus Teich markus.teich@stusta.mhn.de commit a55594fdd69fcfcc10b8c9624d5aba298969d713 parent 03a87179919eebab7d38c548e3ff8e2911512468 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Fri, 2 Sep 2016 11:49:02 +0200 increasing for loops are idiomatic 03a87179919eebab7d38c548e3ff8e2911512468 2016-09-01T11:47:19Z 2016-09-02T08:50:32Z Localize running and failure inside readpw() Quentin Rameau quinq@fifth.space commit 03a87179919eebab7d38c548e3ff8e2911512468 parent 39fb855aa100c5a5a8b7f3b6cc1fbb2135fe7dde Author: Quentin Rameau <quinq@fifth.space> Date: Thu, 1 Sep 2016 13:47:19 +0200 Localize running and failure inside readpw() They are only needed there, so don't make them global. 39fb855aa100c5a5a8b7f3b6cc1fbb2135fe7dde 2016-09-01T11:47:05Z 2016-09-02T08:50:32Z Move screen unlocking inside cleanup() Quentin Rameau quinq@fifth.space commit 39fb855aa100c5a5a8b7f3b6cc1fbb2135fe7dde parent e378f735d857f7da124177e3540912d920be5022 Author: Quentin Rameau <quinq@fifth.space> Date: Thu, 1 Sep 2016 13:47:05 +0200 Move screen unlocking inside cleanup() e378f735d857f7da124177e3540912d920be5022 2016-09-01T11:46:51Z 2016-09-02T08:50:32Z Re-introduce the waiting loop for input grabbing Quentin Rameau quinq@fifth.space commit e378f735d857f7da124177e3540912d920be5022 parent 1f66885fbf36c726b7615060d3c98cbf74218d13 Author: Quentin Rameau <quinq@fifth.space> Date: Thu, 1 Sep 2016 13:46:51 +0200 Re-introduce the waiting loop for input grabbing We actually “need” to wait a little for input to be released before locking for cases where slock is spawned from other graphical applications using keybindings. This undoes the misbehaviour I introduced in c2f9757, sorry for the mess. 1f66885fbf36c726b7615060d3c98cbf74218d13 2016-09-01T11:46:19Z 2016-09-02T08:50:32Z Add cleanup() to do free(locks) + XCloseDisplay() Quentin Rameau quinq@fifth.space commit 1f66885fbf36c726b7615060d3c98cbf74218d13 parent 137f0076c2986306109d637599b885bdaf92cd58 Author: Quentin Rameau <quinq@fifth.space> Date: Thu, 1 Sep 2016 13:46:19 +0200 Add cleanup() to do free(locks) + XCloseDisplay() 137f0076c2986306109d637599b885bdaf92cd58 2016-08-22T23:45:46Z 2016-08-30T23:06:44Z Refactor dontkillme() FRIGN dev@frign.de commit 137f0076c2986306109d637599b885bdaf92cd58 parent a9eddbd94fb03a36186ef2b1e784468dfcddbc19 Author: FRIGN <dev@frign.de> Date: Tue, 23 Aug 2016 01:45:46 +0200 Refactor dontkillme() - Use file pointers instead of raw I/O, inspired by Kernel code. - Use OOM_SCORE_ADJ_MIN from linux/oom.h instead of working with magic values. - Stricter error checking and descriptive error messages. The reasoning for using the constant rather than magic values lies in the fact that this ensures people get the message. With "-1000", a code reviewer would question if that is really the lowest possible number or just an arbitrary value. The kernel ABI probably won't change, but even in the case, we wouldn't have to modify the code. The OOM killer only is guaranteed to not kill you if you have OOM_SCORE_ADJ_MIN. a9eddbd94fb03a36186ef2b1e784468dfcddbc19 2016-08-23T08:55:34Z 2016-08-30T23:04:11Z Convert manpage to mandoc and fix usage FRIGN dev@frign.de commit a9eddbd94fb03a36186ef2b1e784468dfcddbc19 parent d8bec0f6fdc8a246d78cb488a0068954b46fcb29 Author: FRIGN <dev@frign.de> Date: Tue, 23 Aug 2016 10:55:34 +0200 Convert manpage to mandoc and fix usage In all honor, the previous usage was formally more correct, but for the sake of consistency across all the tools having the v-flag, I separated it from the command-string. Also, make use of the mandoc macros for the manpage. This makes it easier to maintain, extend and change in the future. d8bec0f6fdc8a246d78cb488a0068954b46fcb29 2016-08-30T22:59:06Z 2016-08-30T22:59:06Z fix CVE-2016-6866 Markus Teich markus.teich@stusta.mhn.de commit d8bec0f6fdc8a246d78cb488a0068954b46fcb29 parent b87bfa234378bcfc1b13273c5089f07902de1725 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Wed, 31 Aug 2016 00:59:06 +0200 fix CVE-2016-6866 b87bfa234378bcfc1b13273c5089f07902de1725 2016-08-30T22:56:13Z 2016-08-30T22:56:13Z Update bsd-auth string. Markus Teich markus.teich@stusta.mhn.de commit b87bfa234378bcfc1b13273c5089f07902de1725 parent c2f975773d720e734dbdab9a1e9ae51b0972ae0c Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Wed, 31 Aug 2016 00:56:13 +0200 Update bsd-auth string. Thanks to Hiltjo for discovering this. c2f975773d720e734dbdab9a1e9ae51b0972ae0c 2016-08-30T15:33:09Z 2016-08-30T17:54:26Z Exit as soon as possible on input grabbing error Quentin Rameau quinq@fifth.space commit c2f975773d720e734dbdab9a1e9ae51b0972ae0c parent 3bb868e40873c568acdec74f7783c77f063aa396 Author: Quentin Rameau <quinq@fifth.space> Date: Tue, 30 Aug 2016 17:33:09 +0200 Exit as soon as possible on input grabbing error We want to know at once if slock failed or not to lock the screen, not seing a black screen for a whole second (or two) and then die. Thanks to ^7heo for reporting this. 3bb868e40873c568acdec74f7783c77f063aa396 2016-08-21T22:25:21Z 2016-08-22T21:22:20Z Refactor main() FRIGN dev@frign.de commit 3bb868e40873c568acdec74f7783c77f063aa396 parent a7afade1701a809f6a33b53525d59dd29b38d381 Author: FRIGN <dev@frign.de> Date: Mon, 22 Aug 2016 00:25:21 +0200 Refactor main() - 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. a7afade1701a809f6a33b53525d59dd29b38d381 2016-07-31T11:43:00Z 2016-08-13T07:58:00Z clear passwords with explicit_bzero Hiltjo Posthuma hiltjo@codemadness.org commit a7afade1701a809f6a33b53525d59dd29b38d381 parent 65b8d5278882310eed758e6fbfd6ab9676db883c Author: Hiltjo Posthuma <hiltjo@codemadness.org> Date: Sun, 31 Jul 2016 13:43:00 +0200 clear passwords with explicit_bzero 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. 65b8d5278882310eed758e6fbfd6ab9676db883c 2016-02-15T13:15:45Z 2016-02-15T13:25:17Z Revert "No need for usage()" Markus Teich markus.teich@stusta.mhn.de commit 65b8d5278882310eed758e6fbfd6ab9676db883c parent ec46680fe10ffc69007b0a8b29d9e69c72704053 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Mon, 15 Feb 2016 14:15:45 +0100 Revert "No need for usage()" 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" ec46680fe10ffc69007b0a8b29d9e69c72704053 2016-02-15T13:00:56Z 2016-02-15T13:00:56Z revert using argv0 and minor fixup Markus Teich markus.teich@stusta.mhn.de commit ec46680fe10ffc69007b0a8b29d9e69c72704053 parent b02c4d452a7942d4be3c69e6f98dafd35a2e4e78 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Mon, 15 Feb 2016 14:00:56 +0100 revert using argv0 and minor fixup - use hardcoded "slock" instead of argv[0] - add "slock: " to fprintf calls, where it was missing - revert `argc--, argv++` shifting b02c4d452a7942d4be3c69e6f98dafd35a2e4e78 2016-02-14T01:13:54Z 2016-02-14T01:13:54Z Use argv0 instead of passing "slock:" to die every time FRIGN dev@frign.de commit b02c4d452a7942d4be3c69e6f98dafd35a2e4e78 parent a6dc051e3744ce5b14c54d2d246d3e8258207e76 Author: FRIGN <dev@frign.de> Date: Sun, 14 Feb 2016 02:13:54 +0100 Use argv0 instead of passing "slock:" to die every time a6dc051e3744ce5b14c54d2d246d3e8258207e76 2016-02-14T00:48:48Z 2016-02-14T01:00:14Z No need for usage() FRIGN dev@frign.de commit a6dc051e3744ce5b14c54d2d246d3e8258207e76 parent bdcbeab0d8ac0963c61ae1d9d1ed57d3effb8ec3 Author: FRIGN <dev@frign.de> Date: Sun, 14 Feb 2016 01:48:48 +0100 No need for usage() 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. bdcbeab0d8ac0963c61ae1d9d1ed57d3effb8ec3 2016-02-14T00:32:02Z 2016-02-14T00:33:18Z Clarify config.def.h FRIGN dev@frign.de commit bdcbeab0d8ac0963c61ae1d9d1ed57d3effb8ec3 parent 3abbffa4934a62146e995ee7c2cf3ba50991b4ad Author: FRIGN <dev@frign.de> Date: Sun, 14 Feb 2016 01:32:02 +0100 Clarify config.def.h Clear up the wording a bit and explain what failonclear means. 3abbffa4934a62146e995ee7c2cf3ba50991b4ad 2016-02-14T00:28:37Z 2016-02-14T00:28:37Z Simplify the oom-taming-function FRIGN dev@frign.de commit 3abbffa4934a62146e995ee7c2cf3ba50991b4ad parent 6a52a85a1ac87b29048863d599a8b0f0ee712482 Author: FRIGN <dev@frign.de> Date: Sun, 14 Feb 2016 01:28:37 +0100 Simplify the oom-taming-function 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. 6a52a85a1ac87b29048863d599a8b0f0ee712482 2016-02-11T15:49:59Z 2016-02-11T15:51:12Z add slock.1 man page Markus Teich markus.teich@stusta.mhn.de commit 6a52a85a1ac87b29048863d599a8b0f0ee712482 parent c28ac1ebf16e5d10a8e0416065e7e3980be1ca5c Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Thu, 11 Feb 2016 16:49:59 +0100 add slock.1 man page c28ac1ebf16e5d10a8e0416065e7e3980be1ca5c 2016-02-11T15:30:52Z 2016-02-11T15:30:52Z Update license year FRIGN dev@frign.de commit c28ac1ebf16e5d10a8e0416065e7e3980be1ca5c parent aa6a3853412fe001b77d3ef42b450b9ae48aa34c Author: FRIGN <dev@frign.de> Date: Thu, 11 Feb 2016 16:30:52 +0100 Update license year It actually was 2014 and not 2015. aa6a3853412fe001b77d3ef42b450b9ae48aa34c 2016-02-11T15:29:26Z 2016-02-11T15:29:26Z Don't forget the E-Mail FRIGN dev@frign.de commit aa6a3853412fe001b77d3ef42b450b9ae48aa34c parent 6adeb1281e7df28777e304877059f4636c1389f3 Author: FRIGN <dev@frign.de> Date: Thu, 11 Feb 2016 16:29:26 +0100 Don't forget the E-Mail 6adeb1281e7df28777e304877059f4636c1389f3 2016-02-11T15:28:41Z 2016-02-11T15:28:41Z Add myself to License FRIGN dev@frign.de commit 6adeb1281e7df28777e304877059f4636c1389f3 parent f6582b68b03fe25fe0296b685af6b5924cca7df9 Author: FRIGN <dev@frign.de> Date: Thu, 11 Feb 2016 16:28:41 +0100 Add myself to License forgot that a while ago f6582b68b03fe25fe0296b685af6b5924cca7df9 2016-02-11T15:26:12Z 2016-02-11T15:26:12Z update copyright year in -v output Markus Teich markus.teich@stusta.mhn.de commit f6582b68b03fe25fe0296b685af6b5924cca7df9 parent bfafc91da7b51be4e1543b64ee118fff2e3a4cfb Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Thu, 11 Feb 2016 16:26:12 +0100 update copyright year in -v output bfafc91da7b51be4e1543b64ee118fff2e3a4cfb 2016-02-11T15:23:48Z 2016-02-11T15:23:48Z prepare 1.3 release Markus Teich markus.teich@stusta.mhn.de commit bfafc91da7b51be4e1543b64ee118fff2e3a4cfb parent 32149e404383d979edf58b878cff9c5d8a935259 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Thu, 11 Feb 2016 16:23:48 +0100 prepare 1.3 release 32149e404383d979edf58b878cff9c5d8a935259 2016-02-11T15:22:34Z 2016-02-11T15:22:34Z remove .hgtags Markus Teich markus.teich@stusta.mhn.de commit 32149e404383d979edf58b878cff9c5d8a935259 parent 1766ecdfd4db86e5d022a8fb951559714eb1e6a4 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Thu, 11 Feb 2016 16:22:34 +0100 remove .hgtags 1766ecdfd4db86e5d022a8fb951559714eb1e6a4 2016-01-29T21:11:18Z 2016-01-29T21:11:18Z add hint for suid to oom error message Markus Teich markus.teich@stusta.mhn.de commit 1766ecdfd4db86e5d022a8fb951559714eb1e6a4 parent 9dfe0ce531023bf63c0e518b07ee97cf0cac742a Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Fri, 29 Jan 2016 22:11:18 +0100 add hint for suid to oom error message 9dfe0ce531023bf63c0e518b07ee97cf0cac742a 2016-01-18T15:49:15Z 2016-01-18T15:49:15Z error messages on grab failure Markus Teich markus.teich@stusta.mhn.de commit 9dfe0ce531023bf63c0e518b07ee97cf0cac742a parent 55e827af0fb94f6c2b9e76a7bfe7e98cf697dc7b Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Mon, 18 Jan 2016 16:49:15 +0100 error messages on grab failure 55e827af0fb94f6c2b9e76a7bfe7e98cf697dc7b 2016-01-16T11:38:36Z 2016-01-18T15:47:41Z code style fix Markus Teich markus.teich@stusta.mhn.de commit 55e827af0fb94f6c2b9e76a7bfe7e98cf697dc7b parent e867c38123175d6f050e051ee6b00f4737a9712a Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sat, 16 Jan 2016 12:38:36 +0100 code style fix e867c38123175d6f050e051ee6b00f4737a9712a 2015-12-26T12:13:25Z 2015-12-26T18:27:01Z add option to run command after screen is locked Markus Teich markus.teich@stusta.mhn.de commit e867c38123175d6f050e051ee6b00f4737a9712a parent b95ee111c7625375716e848ec81af2f57ca35b02 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Sat, 26 Dec 2015 13:13:25 +0100 add option to run command after screen is locked b95ee111c7625375716e848ec81af2f57ca35b02 2015-08-27T04:16:25Z 2015-08-27T04:16:25Z Don't change to failure colour on success David Phillips dbphillipsnz@gmail.com commit b95ee111c7625375716e848ec81af2f57ca35b02 parent 0edbd2e0164a8c6cbad415e38083469041f29996 Author: David Phillips <dbphillipsnz@gmail.com> Date: Thu, 27 Aug 2015 06:16:25 +0200 Don't change to failure colour on success 0edbd2e0164a8c6cbad415e38083469041f29996 2015-06-19T11:42:15Z 2015-07-06T09:15:07Z Slightly safer OOM killer disablement in linux David Phillips dbphillipsnz@gmail.com commit 0edbd2e0164a8c6cbad415e38083469041f29996 parent 754195f8d75586e23d1cc69cad00710802e0cb5d Author: David Phillips <dbphillipsnz@gmail.com> Date: Fri, 19 Jun 2015 23:42:15 +1200 Slightly safer OOM killer disablement in linux 754195f8d75586e23d1cc69cad00710802e0cb5d 2015-05-08T15:10:15Z 2015-05-08T16:07:05Z rework setting window color Markus Teich markus.teich@stusta.mhn.de commit 754195f8d75586e23d1cc69cad00710802e0cb5d parent 10d4e479c5f6d91bf86e15be3a12c6b09c9808be Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Fri, 8 May 2015 17:10:15 +0200 rework setting window color 10d4e479c5f6d91bf86e15be3a12c6b09c9808be 2015-05-08T14:43:13Z 2015-05-08T14:44:18Z consistently use () with sizeof Markus Teich markus.teich@stusta.mhn.de commit 10d4e479c5f6d91bf86e15be3a12c6b09c9808be parent b1289f30b79c9c5ea43a9e9c624406d7d0661692 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Fri, 8 May 2015 16:43:13 +0200 consistently use () with sizeof b1289f30b79c9c5ea43a9e9c624406d7d0661692 2015-05-06T16:18:50Z 2015-05-08T14:44:06Z Option to not show failure color on clear Nick Currier nick.currier@gmail.com commit b1289f30b79c9c5ea43a9e9c624406d7d0661692 parent f5ef1b8eb5555da11e81d92d8d05acd4aba1ef40 Author: Nick Currier <nick.currier@gmail.com> Date: Wed, 6 May 2015 10:18:50 -0600 Option to not show failure color on clear f5ef1b8eb5555da11e81d92d8d05acd4aba1ef40 2015-02-25T22:06:45Z 2015-04-01T21:25:47Z resize lockscreen window after Xrandr resize Markus Teich markus.teich@stusta.mhn.de commit f5ef1b8eb5555da11e81d92d8d05acd4aba1ef40 parent f2ea92c3ddf1d9476ef61f85ec3aa26818d094a1 Author: Markus Teich <markus.teich@stusta.mhn.de> Date: Wed, 25 Feb 2015 23:06:45 +0100 resize lockscreen window after Xrandr resize f2ea92c3ddf1d9476ef61f85ec3aa26818d094a1 2015-02-11T22:56:35Z 2015-04-01T21:13:11Z Blank the screen with color 0, add third color for failed logins David Phillips dbphillipsnz@gmail.com commit f2ea92c3ddf1d9476ef61f85ec3aa26818d094a1 parent a31b9191111572dafaa8366415b89a4472aa4626 Author: David Phillips <dbphillipsnz@gmail.com> Date: Thu, 12 Feb 2015 11:56:35 +1300 Blank the screen with color 0, add third color for failed logins - 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. a31b9191111572dafaa8366415b89a4472aa4626 2015-01-27T21:16:52Z 2015-01-27T21:16:52Z applied Dimitris' style patch from Dec'14, with some minor modifications Anselm R Garbe garbeam@gmail.com commit a31b9191111572dafaa8366415b89a4472aa4626 parent 66e31556db4921b5f24ced47dae5e1c7ea3bd150 Author: Anselm R Garbe <garbeam@gmail.com> Date: Tue, 27 Jan 2015 22:16:52 +0100 applied Dimitris' style patch from Dec'14, with some minor modifications 66e31556db4921b5f24ced47dae5e1c7ea3bd150 2014-12-22T10:17:45Z 2014-12-22T10:17:45Z fixed usage string Anselm R Garbe garbeam@gmail.com commit 66e31556db4921b5f24ced47dae5e1c7ea3bd150 parent 44ce161c139f74cac80dd77aafdfadb49a85af2a Author: Anselm R Garbe <garbeam@gmail.com> Date: Mon, 22 Dec 2014 11:17:45 +0100 fixed usage string 44ce161c139f74cac80dd77aafdfadb49a85af2a 2014-12-22T10:16:26Z 2014-12-22T10:16:26Z applied sin's patch and prepared new release Anselm R Garbe garbeam@gmail.com commit 44ce161c139f74cac80dd77aafdfadb49a85af2a parent 4339b507af01421e2deab63ca9ac3c5bdae5f4cc Author: Anselm R Garbe <garbeam@gmail.com> Date: Mon, 22 Dec 2014 11:16:26 +0100 applied sin's patch and prepared new release 4339b507af01421e2deab63ca9ac3c5bdae5f4cc 2014-11-07T13:20:13Z 2014-11-09T13:10:02Z end{pw,sp}ent() can only be called after get{pw,sp}ent() sin sin@2f30.org commit 4339b507af01421e2deab63ca9ac3c5bdae5f4cc parent 8745098fa440ef3bf1d8e173dcd91514b34600c6 Author: sin <sin@2f30.org> Date: Fri, 7 Nov 2014 13:20:13 +0000 end{pw,sp}ent() can only be called after get{pw,sp}ent() Calling them unconditionally can result in memory corruption. 8745098fa440ef3bf1d8e173dcd91514b34600c6 2014-07-09T13:40:49Z 2014-07-09T13:41:32Z Only check errno if getpwuid() fails sin sin@2f30.org commit 8745098fa440ef3bf1d8e173dcd91514b34600c6 parent 9db14b10dd09336c6a8fe283f99108c9acc4667a Author: sin <sin@2f30.org> Date: Wed, 9 Jul 2014 14:40:49 +0100 Only check errno if getpwuid() fails Checking errno otherwise is unspecified. 9db14b10dd09336c6a8fe283f99108c9acc4667a 2014-06-03T17:19:10Z 2014-06-09T18:14:31Z Add /etc/passwd support FRIGN dev@frign.de commit 9db14b10dd09336c6a8fe283f99108c9acc4667a parent 6a5512835485ac501d983161ca15b311a95c5649 Author: FRIGN <dev@frign.de> Date: Tue, 3 Jun 2014 19:19:10 +0200 Add /etc/passwd support Fix slock to work with /etc/passwd without /etc/shadow. while we're at it, remove an occurence of trailing whitespace. 6a5512835485ac501d983161ca15b311a95c5649 2013-11-14T11:24:08Z 2014-01-29T14:19:35Z Set errno to 0 before getpwuid() and check it afterwards sin sin@2f30.org commit 6a5512835485ac501d983161ca15b311a95c5649 parent ba3acfc0dcf1d0603bd9d6bdee1e319339b1a509 Author: sin <sin@2f30.org> Date: Thu, 14 Nov 2013 11:24:08 +0000 Set errno to 0 before getpwuid() and check it afterwards ba3acfc0dcf1d0603bd9d6bdee1e319339b1a509 2013-08-02T20:11:18Z 2013-08-02T20:11:18Z applied Robert Schneider's Linux suggestions, also bumped version and updated LICENSE file's copyright notice Anselm R Garbe anselm@garbe.us commit ba3acfc0dcf1d0603bd9d6bdee1e319339b1a509 parent 3092d3b3146720b2279df202382864454c12cc98 Author: Anselm R Garbe <anselm@garbe.us> Date: Fri, 2 Aug 2013 22:11:18 +0200 applied Robert Schneider's Linux suggestions, also bumped version and updated LICENSE file's copyright notice 3092d3b3146720b2279df202382864454c12cc98 2012-10-25T18:59:50Z 2012-10-25T18:59:50Z prepared 1.1 anselm@garbe.us unknown commit 3092d3b3146720b2279df202382864454c12cc98 parent d276b9b0e01ea086e48ea8327efa0f9ebddca621 Author: anselm@garbe.us <unknown> Date: Thu, 25 Oct 2012 20:59:50 +0200 prepared 1.1 d276b9b0e01ea086e48ea8327efa0f9ebddca621 2012-08-02T19:54:18Z 2012-08-02T19:54:18Z applied andres' multi-slock fix, thanks for spotting this issue garbeam@gmail.com unknown commit d276b9b0e01ea086e48ea8327efa0f9ebddca621 parent 4b4fcca1bc3a05e0a4bb5453dfe6dbd84a54b071 Author: garbeam@gmail.com <unknown> Date: Thu, 2 Aug 2012 21:54:18 +0200 applied andres' multi-slock fix, thanks for spotting this issue 4b4fcca1bc3a05e0a4bb5453dfe6dbd84a54b071 2012-04-15T09:58:16Z 2012-04-15T09:58:16Z added Ben's password placeholder entry kludge anselm@garbe.us unknown commit 4b4fcca1bc3a05e0a4bb5453dfe6dbd84a54b071 parent c1507cd225a34ef69045cfc20519b16212dba8dd Author: anselm@garbe.us <unknown> Date: Sun, 15 Apr 2012 11:58:16 +0200 added Ben's password placeholder entry kludge c1507cd225a34ef69045cfc20519b16212dba8dd 2012-03-17T17:03:25Z 2012-03-17T17:03:25Z applied Eckehard Bern's dualcolor patch to slock anselm@garbe.us unknown commit c1507cd225a34ef69045cfc20519b16212dba8dd parent 88d968496652401eba8fa98615c6196618c91fcd Author: anselm@garbe.us <unknown> Date: Sat, 17 Mar 2012 18:03:25 +0100 applied Eckehard Bern's dualcolor patch to slock 88d968496652401eba8fa98615c6196618c91fcd 2012-02-11T09:51:31Z 2012-02-11T09:51:31Z Added tag 1.0 for changeset 05b949016e85 anselm@garbe.us unknown commit 88d968496652401eba8fa98615c6196618c91fcd parent 34f5edb29e3947d105235c1fc07be57eda5adeb5 Author: anselm@garbe.us <unknown> Date: Sat, 11 Feb 2012 10:51:31 +0100 Added tag 1.0 for changeset 05b949016e85 34f5edb29e3947d105235c1fc07be57eda5adeb5 2012-02-11T09:51:26Z 2012-02-11T09:51:26Z preparing 1.0 anselm@garbe.us unknown commit 34f5edb29e3947d105235c1fc07be57eda5adeb5 parent 0b1362846242d510c4fd160b7e6579278213a544 Author: anselm@garbe.us <unknown> Date: Sat, 11 Feb 2012 10:51:26 +0100 preparing 1.0 0b1362846242d510c4fd160b7e6579278213a544 2012-02-09T19:56:34Z 2012-02-09T19:56:34Z select for SubstructureRedirectMask as well anselm@garbe.us unknown commit 0b1362846242d510c4fd160b7e6579278213a544 parent 7a217cb7c4f1a7439b76f5fb839035d7021eb7ff Author: anselm@garbe.us <unknown> Date: Thu, 9 Feb 2012 20:56:34 +0100 select for SubstructureRedirectMask as well 7a217cb7c4f1a7439b76f5fb839035d7021eb7ff 2012-02-09T19:18:49Z 2012-02-09T19:18:49Z fixed missing new lines anselm@garbe.us unknown commit 7a217cb7c4f1a7439b76f5fb839035d7021eb7ff parent 5d433c7cf509daf064b2a0412ed6cf3c0068afde Author: anselm@garbe.us <unknown> Date: Thu, 9 Feb 2012 20:18:49 +0100 fixed missing new lines 5d433c7cf509daf064b2a0412ed6cf3c0068afde 2012-02-05T15:41:31Z 2012-02-05T15:41:31Z typo fix anselm@garbe.us unknown commit 5d433c7cf509daf064b2a0412ed6cf3c0068afde parent d6e9e7d9e32d315330e1a60a5087a86c19ab1ab7 Author: anselm@garbe.us <unknown> Date: Sun, 5 Feb 2012 16:41:31 +0100 typo fix d6e9e7d9e32d315330e1a60a5087a86c19ab1ab7 2012-02-05T15:38:58Z 2012-02-05T15:38:58Z added XRaiseWindow workaround when new clients are launched anselm@garbe.us unknown commit d6e9e7d9e32d315330e1a60a5087a86c19ab1ab7 parent f013cb264e654125c043ed637b7f47692376f967 Author: anselm@garbe.us <unknown> Date: Sun, 5 Feb 2012 16:38:58 +0100 added XRaiseWindow workaround when new clients are launched f013cb264e654125c043ed637b7f47692376f967 2012-01-24T21:10:02Z 2012-01-24T21:10:02Z applied Michaels patch garbeam@gmail.com unknown commit f013cb264e654125c043ed637b7f47692376f967 parent 5a5c581285e86fe53c9602c7e0fb7e19ec742391 Author: garbeam@gmail.com <unknown> Date: Tue, 24 Jan 2012 22:10:02 +0100 applied Michaels patch 5a5c581285e86fe53c9602c7e0fb7e19ec742391 2012-01-22T17:58:10Z 2012-01-22T17:58:10Z added dummy error handler to prevent X from terminating slock just in case anselm@garbe.us unknown commit 5a5c581285e86fe53c9602c7e0fb7e19ec742391 parent ede2935e10fdab76994676d5052b571907612199 Author: anselm@garbe.us <unknown> Date: Sun, 22 Jan 2012 18:58:10 +0100 added dummy error handler to prevent X from terminating slock just in case ede2935e10fdab76994676d5052b571907612199 2011-04-21T08:22:47Z 2011-04-21T08:22:47Z applied Markus' patch to die in case /etc/passwd is unavailable Anselm R Garbe anselm@garbe.us commit ede2935e10fdab76994676d5052b571907612199 parent 732d2b3bf5da3a1883b3246062aa556a59b8517c Author: Anselm R Garbe <anselm@garbe.us> Date: Thu, 21 Apr 2011 08:22:47 +0000 applied Markus' patch to die in case /etc/passwd is unavailable 732d2b3bf5da3a1883b3246062aa556a59b8517c 2009-11-26T12:53:26Z 2009-11-26T12:53:26Z applied Fernando Silveira's multiscreen patch for old style multihead setups Anselm R Garbe garbeam@gmail.com commit 732d2b3bf5da3a1883b3246062aa556a59b8517c parent 0cb05bdb75ac13f010d51e267007ca1c869763ec Author: Anselm R Garbe <garbeam@gmail.com> Date: Thu, 26 Nov 2009 12:53:26 +0000 applied Fernando Silveira's multiscreen patch for old style multihead setups 0cb05bdb75ac13f010d51e267007ca1c869763ec 2008-12-12T19:34:43Z 2008-12-12T19:34:43Z applied Ali Gholami Rudi's patch regarding DPMS timeout customization and persistence a@null unknown commit 0cb05bdb75ac13f010d51e267007ca1c869763ec parent cadc8a7472f4a77b26a89e27bce4479dc12afdbe Author: a@null <unknown> Date: Fri, 12 Dec 2008 19:34:43 +0000 applied Ali Gholami Rudi's patch regarding DPMS timeout customization and persistence cadc8a7472f4a77b26a89e27bce4479dc12afdbe 2008-07-29T18:23:21Z 2008-07-29T18:23:21Z Added tag 0.9 for changeset 1e8a77601cb9 Anselm R Garbe garbeam@gmail.com commit cadc8a7472f4a77b26a89e27bce4479dc12afdbe parent a6a3471dd9c693837b3038be0a2ccc839c94570b Author: Anselm R Garbe <garbeam@gmail.com> Date: Tue, 29 Jul 2008 19:23:21 +0100 Added tag 0.9 for changeset 1e8a77601cb9 a6a3471dd9c693837b3038be0a2ccc839c94570b 2008-07-29T18:17:24Z 2008-07-29T18:17:24Z fix Anselm R Garbe garbeam@gmail.com commit a6a3471dd9c693837b3038be0a2ccc839c94570b parent 75dd7792456d9eb4a4c3142b81fbda5ca39a3a51 Author: Anselm R Garbe <garbeam@gmail.com> Date: Tue, 29 Jul 2008 19:17:24 +0100 fix 75dd7792456d9eb4a4c3142b81fbda5ca39a3a51 2008-07-29T18:14:53Z 2008-07-29T18:14:53Z prepared release Anselm R Garbe garbeam@gmail.com commit 75dd7792456d9eb4a4c3142b81fbda5ca39a3a51 parent 1460b14f450d65c68bf519538de5b5df1a7bc01c Author: Anselm R Garbe <garbeam@gmail.com> Date: Tue, 29 Jul 2008 19:14:53 +0100 prepared release 1460b14f450d65c68bf519538de5b5df1a7bc01c 2008-07-29T18:08:18Z 2008-07-29T18:08:18Z removed useless chars, prepared release Anselm R Garbe garbeam@gmail.com commit 1460b14f450d65c68bf519538de5b5df1a7bc01c parent c0fdcb8afc42cc568b852bd34fdfd66716cf13ec Author: Anselm R Garbe <garbeam@gmail.com> Date: Tue, 29 Jul 2008 19:08:18 +0100 removed useless chars, prepared release c0fdcb8afc42cc568b852bd34fdfd66716cf13ec 2008-04-09T22:42:50Z 2008-04-09T22:42:50Z s/d// Anselm R Garbe garbeam@gmail.com commit c0fdcb8afc42cc568b852bd34fdfd66716cf13ec parent cc36050e44faa01b2783640ffb2323329d15f97d Author: Anselm R Garbe <garbeam@gmail.com> Date: Wed, 9 Apr 2008 23:42:50 +0100 s/d//