summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2022-11-30 17:17:28 -0500
committerAndrew Cady <d@jerkface.net>2022-11-30 17:17:28 -0500
commitf22fc83da5f4a4c937d2f7d4cbe4d394329681ea (patch)
treede8bec3f6751dd35224d6202767c44fca2a1d977
parentef36efc3084926d7f8a8a417afdc873fadff3b54 (diff)
further improve/generalize quasseluser-*
-rwxr-xr-xquasseluser-check-password1
-rwxr-xr-xquasseluser-get33
l---------quasseluser-get-password1
l---------[-rwxr-xr-x]quasseluser-get-userid17
4 files changed, 36 insertions, 16 deletions
diff --git a/quasseluser-check-password b/quasseluser-check-password
index ca2d4c8..f6c5561 100755
--- a/quasseluser-check-password
+++ b/quasseluser-check-password
@@ -3,6 +3,7 @@
3set -e 3set -e
4[ $# = 1 ] 4[ $# = 1 ]
5quser=$1 5quser=$1
6case "$quser" in *[']*) exit 1 ;; esac
6qpass=$(./quasselcore-sqlite "select password from quasseluser where username = '$quser' and hashversion = 1;") 7qpass=$(./quasselcore-sqlite "select password from quasseluser where username = '$quser' and hashversion = 1;")
7 8
8hash=${qpass%:*} 9hash=${qpass%:*}
diff --git a/quasseluser-get b/quasseluser-get
new file mode 100755
index 0000000..91d4ca6
--- /dev/null
+++ b/quasseluser-get
@@ -0,0 +1,33 @@
1#!/bin/sh
2set -e
3
4cmd=${0##*/}
5case "$cmd" in
6 quasseluser-get-*)
7 exec ./quasseluser-get "${cmd#quasseluser-get-}" "$@"
8 ;;
9esac
10
11if [ $# = 2 ]
12then
13 field=$1
14 case "$field" in
15 userid | username | password | hashversion | authenticator) ;;
16 *) exit 1 ;;
17 esac
18 shift
19fi
20
21[ $# = 1 ]
22username=$1
23case "$username" in *\'*) exit 1 ;; esac
24
25result=$(./quasselcore-sqlite "select $field from quasseluser where username='$username'")
26
27if [ "$result" ]
28then
29 printf '%s\n' "$result"
30else
31 exit 1
32fi
33
diff --git a/quasseluser-get-password b/quasseluser-get-password
new file mode 120000
index 0000000..21b7085
--- /dev/null
+++ b/quasseluser-get-password
@@ -0,0 +1 @@
quasseluser-get \ No newline at end of file
diff --git a/quasseluser-get-userid b/quasseluser-get-userid
index d6c9d99..21b7085 100755..120000
--- a/quasseluser-get-userid
+++ b/quasseluser-get-userid
@@ -1,16 +1 @@
1#!/bin/sh quasseluser-get \ No newline at end of file
2set -e
3
4[ $# = 1 ]
5username=$1
6case "$username" in *\'*) exit 1 ;; esac
7
8userid=$(./quasselcore-sqlite "select userid from quasseluser where username='$username'")
9
10if [ "$userid" ]
11then
12 printf '%s\n' "$userid"
13else
14 exit 1
15fi
16