Skip to content

Commit 531787f

Browse files
committed
Add tests for login actions
1 parent dc0dd89 commit 531787f

File tree

4 files changed

+100
-50
lines changed

4 files changed

+100
-50
lines changed

bin/v-check-user-hash

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# Argument definition
1414
user=$1
1515
hash=$2; HIDE=2
16-
ip=${3-127.0.0.1}
16+
ip46=${3-127.0.0.1}
1717

1818
# Includes
1919
# shellcheck source=/etc/hestiacp/hestia.conf
@@ -32,7 +32,7 @@ date=$(echo "$time_n_date" |cut -f 2 -d \ )
3232
#----------------------------------------------------------#
3333

3434
check_args '2' "$#" 'USER HASH'
35-
is_format_valid 'user'
35+
is_format_valid 'user' 'ip46'
3636

3737
# Checking user
3838
if [ ! -d "$HESTIA/data/users/$user" ] && [ "$user" != 'root' ]; then
@@ -47,7 +47,7 @@ is_hash_valid
4747
# Checking empty hash
4848
if [[ -z "$hash" ]]; then
4949
echo "Error: password missmatch"
50-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
50+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
5151
exit 9
5252
fi
5353

@@ -68,7 +68,7 @@ then
6868
method='sha-512'
6969
else
7070
echo "Error: password missmatch"
71-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
71+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
7272
exit 9
7373
fi
7474
else
@@ -79,14 +79,14 @@ fi
7979
# Checking salt
8080
if [ -z "$salt" ]; then
8181
echo "Error: password missmatch"
82-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
82+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
8383
exit 9
8484
fi
8585

8686
# Comparing hashes
8787
if [[ "$shadow" != "$hash" ]]; then
8888
echo "Error: password missmatch"
89-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
89+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
9090
exit 9
9191
fi
9292

@@ -95,6 +95,6 @@ fi
9595
#----------------------------------------------------------#
9696

9797
# Logging
98-
echo "$date $time $user $ip successfully logged in" >> $HESTIA/log/auth.log
98+
echo "$date $time $user $ip46 successfully logged in" >> $HESTIA/log/auth.log
9999

100100
exit

bin/v-check-user-password

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
# Argument definition
1414
user=$1
1515
password=$2; HIDE=2
16-
ip=${3-127.0.0.1}
16+
ip46=${3-127.0.0.1}
17+
return_hash=${4-no}
1718

1819
# Includes
1920
# shellcheck source=/etc/hestiacp/hestia.conf
@@ -31,23 +32,20 @@ date=$(echo "$time_n_date" |cut -f 2 -d \ )
3132
# Verifications #
3233
#----------------------------------------------------------#
3334

34-
check_args '2' "$#" 'USER PASSWORD'
35-
is_format_valid 'user'
35+
check_args '2' "$#" 'USER PASSWORD [ip] [RETURN_HASH]'
36+
is_format_valid 'user' 'password' 'ip46'
3637

3738
# Checking user
3839
if [ ! -d "$HESTIA/data/users/$user" ] && [ "$user" != 'root' ]; then
3940
echo "Error: password missmatch"
40-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
41+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
4142
exit 9
4243
fi
4344

44-
# Checking user password
45-
is_password_valid
46-
4745
# Checking empty password
4846
if [[ -z "$password" ]]; then
4947
echo "Error: password missmatch"
50-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
48+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
5149
exit 9
5250
fi
5351

@@ -71,7 +69,7 @@ then
7169
method='sha-512'
7270
else
7371
echo "Error: password missmatch"
74-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
72+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
7573
exit 9
7674
fi
7775
else
@@ -81,7 +79,7 @@ fi
8179

8280
if [ -z "$salt" ]; then
8381
echo "Error: password missmatch"
84-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
82+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
8583
exit 9
8684
fi
8785

@@ -98,7 +96,7 @@ fi
9896
result=$(grep "^$user:$hash:" /etc/shadow 2>/dev/null)
9997
if [[ -z "$result" ]]; then
10098
echo "Error: password missmatch"
101-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
99+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
102100
exit 9
103101
fi
104102

@@ -107,6 +105,6 @@ fi
107105
#----------------------------------------------------------#
108106

109107
# Logging
110-
echo "$date $time $user $ip successfully logged in" >> $HESTIA/log/auth.log
108+
echo "$date $time $user $ip46 successfully logged in" >> $HESTIA/log/auth.log
111109

112110
exit

bin/v-get-user-salt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
# Argument definition
1414
user=$1
15-
ip=${2-127.0.0.1}
15+
ip46=${2-127.0.0.1}
1616
format=${3-shell}
1717

1818
# Includes
@@ -63,13 +63,13 @@ csv_list() {
6363
#----------------------------------------------------------#
6464

6565

66-
check_args '1' "$#" 'USER [IP] [SALT]'
67-
is_format_valid 'user' 'ip'
66+
check_args '1' "$#" 'USER [IP] [FORMAT]'
67+
is_format_valid 'user' 'ip46'
6868

6969
# Checking user
7070
if [ ! -d "$HESTIA/data/users/$user" ]; then
7171
echo "Error: password missmatch"
72-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
72+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
7373
exit 9
7474
fi
7575

@@ -90,12 +90,12 @@ then
9090
method='sha-512'
9191
else
9292
echo "Error: password missmatch"
93-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
93+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
9494
exit 9
9595
fi
9696
elif [[ "$shadow" =~ ! ]]; then
9797
echo "Error: Account has been suspended"
98-
echo "$date $time $user $ip has been suspended" >> $HESTIA/log/auth.log
98+
echo "$date $time $user $ip46 has been suspended" >> $HESTIA/log/auth.log
9999
exit 5
100100
else
101101
salt=${shadow:0:2}
@@ -104,7 +104,7 @@ fi
104104

105105
if [ -z "$salt" ]; then
106106
echo "Error: password missmatch"
107-
echo "$date $time $user $ip failed to login" >> $HESTIA/log/auth.log
107+
echo "$date $time $user $ip46 failed to login" >> $HESTIA/log/auth.log
108108
exit 9
109109
fi
110110

0 commit comments

Comments
 (0)