1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
From a6dc051e3744ce5b14c54d2d246d3e8258207e76 Mon Sep 17 00:00:00 2001
From: FRIGN <dev@frign.de>
Date: Sun, 14 Feb 2016 01:48:48 +0100
Subject: [PATCH 3/7] 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.
---
slock.1 | 24 +++++++-----------------
slock.c | 16 ++--------------
2 files changed, 9 insertions(+), 31 deletions(-)
diff --git a/slock.1 b/slock.1
index 1f946d9..467194d 100644
--- a/slock.1
+++ b/slock.1
@@ -1,29 +1,19 @@
.TH SLOCK 1 slock\-VERSION
.SH NAME
-slock \- simple X display locker
+slock \- simple X screen locker
.SH SYNOPSIS
.B slock
-.RB [ \-v
-|
-.IR post_lock_command ]
+.RB [
+.IR cmd
+]
.SH DESCRIPTION
.B slock
-is a screen locker for X. If provided, the
-.IR post_lock_command
-will be executed when the screen is locked.
-.SH OPTIONS
-.TP
-.B \-v
-prints version information to stdout, then exits.
+is an X screen locker. If provided,
+.IR cmd
+is executed after the screen has been locked.
.SH EXAMPLES
$ slock /usr/sbin/s2ram
.SH CUSTOMIZATION
.B slock
can be customized by creating a custom config.h and (re)compiling the source
code. This keeps it fast, secure and simple.
-.SH AUTHORS
-See the LICENSE file for the authors.
-.SH LICENSE
-See the LICENSE file for the terms of redistribution.
-.SH BUGS
-Please report them.
diff --git a/slock.c b/slock.c
index 3188ff7..4531f95 100644
--- a/slock.c
+++ b/slock.c
@@ -272,27 +272,15 @@ lockscreen(Display *dpy, int screen)
return NULL;
}
-static void
-usage(void)
-{
- fprintf(stderr, "usage: slock [-v|POST_LOCK_CMD]\n");
- exit(1);
-}
-
int
-main(int argc, char **argv) {
+main(int argc, char **argv)
+{
#ifndef HAVE_BSD_AUTH
const char *pws;
#endif
Display *dpy;
int screen;
- if ((argc == 2) && !strcmp("-v", argv[1]))
- die("slock-%s, © 2006-2016 slock engineers\n", VERSION);
-
- if ((argc == 2) && !strcmp("-h", argv[1]))
- usage();
-
#ifdef __linux__
dontkillme();
#endif
--
2.9.2
|