Skip to content

Commit 860285f

Browse files
committed
Fix hestiacp#1018 Allow deleting suspended users, doamins, db, mail, cronjobs current limited by is_unsuspeded check
1 parent 657a6e4 commit 860285f

33 files changed

+37
-65
lines changed

bin/v-delete-cron-job

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ check_args '2' "$#" 'USER JOB'
2929
is_format_valid 'user' 'job'
3030
is_system_enabled "$CRON_SYSTEM" 'CRON_SYSTEM'
3131
is_object_valid 'user' 'USER' "$user"
32-
is_object_unsuspended 'user' 'USER' "$user"
3332
is_object_valid 'cron' 'JOB' "$job"
34-
is_object_unsuspended 'cron' 'JOB' "$job"
3533

3634
# Perform verification if read-only mode is enabled
3735
check_hestia_demo_mode
@@ -41,6 +39,7 @@ check_hestia_demo_mode
4139
# Action #
4240
#----------------------------------------------------------#
4341

42+
suspended=$(grep "JOB='$job'" $USER_DATA/cron.conf |grep "SUSPENDED='yes'")
4443
# Deleting job
4544
sed -i "/JOB='$job' /d" $USER_DATA/cron.conf
4645

@@ -58,6 +57,11 @@ sync_cron_jobs
5857
# Decreasing cron value
5958
decrease_user_value "$user" '$U_CRON_JOBS'
6059

60+
# Check if is suspended to decrease the suspended value
61+
if [ ! -z "$suspended" ]; then
62+
decrease_user_value "$user" '$SUSPENDED_CRON'
63+
fi
64+
6165
# Restarting crond
6266
$BIN/v-restart-cron
6367
check_result $? "Restart restart failed" >/dev/null

bin/v-delete-database

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ check_args '2' "$#" 'USER DATABASE'
3131
is_format_valid 'user' 'database'
3232
is_system_enabled "$DB_SYSTEM" 'DB_SYSTEM'
3333
is_object_valid 'user' 'USER' "$user"
34-
is_object_unsuspended 'user' 'USER' "$user"
3534
is_object_valid 'db' 'DB' "$database"
36-
is_object_unsuspended 'db' 'DB' "$database"
3735

3836
# Perform verification if read-only mode is enabled
3937
check_hestia_demo_mode
@@ -45,6 +43,8 @@ check_hestia_demo_mode
4543

4644
# Get database values
4745
get_database_values
46+
# Issues with $SUSPENDED overwritten when delete_mysql_database is called
47+
suspended=$SUSPENDED
4848

4949
# Switching on db type
5050
case $TYPE in
@@ -64,6 +64,13 @@ sed -i "/DB='$database' /d" $USER_DATA/db.conf
6464
decrease_dbhost_values
6565
decrease_user_value "$user" '$U_DATABASES'
6666

67+
# Check if is suspended to decrease the suspended value
68+
if [ ! -z "$suspended" ]; then
69+
if [ "$suspended" == "yes" ]; then
70+
decrease_user_value "$user" '$SUSPENDED_DB'
71+
fi
72+
fi
73+
6774
# Logging
6875
log_history "deleted $database database"
6976
log_event "$OK" "$ARGUMENTS"

bin/v-delete-databases

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ check_args '1' "$#" 'USER'
2828
is_format_valid 'user'
2929
is_system_enabled "$DB_SYSTEM" 'DB_SYSTEM'
3030
is_object_valid 'user' 'USER' "$user"
31-
is_object_unsuspended 'user' 'USER' "$user"
3231

3332
# Perform verification if read-only mode is enabled
3433
check_hestia_demo_mode

bin/v-delete-dns-domain

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ check_args '2' "$#" 'USER DOMAIN'
3232
is_format_valid 'user' 'domain'
3333
is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
3434
is_object_valid 'user' 'USER' "$user"
35-
is_object_unsuspended 'user' 'USER' "$user"
3635
is_object_valid 'dns' 'DOMAIN' "$domain"
37-
is_object_unsuspended 'dns' 'DOMAIN' "$domain"
3836

3937
# Perform verification if read-only mode is enabled
4038
check_hestia_demo_mode
@@ -44,6 +42,8 @@ check_hestia_demo_mode
4442
# Action #
4543
#----------------------------------------------------------#
4644

45+
suspended=$(grep "DOMAIN='$domain'" $USER_DATA/dns.conf |grep "SUSPENDED='yes'")
46+
4747
records=$(wc -l $USER_DATA/dns/$domain.conf | cut -f 1 -d ' ')
4848

4949
# Deleting system configs
@@ -81,6 +81,12 @@ decrease_user_value "$user" '$U_DNS_RECORDS' "$records"
8181
$BIN/v-restart-dns $restart
8282
check_result $? "Bind restart failed" >/dev/null
8383

84+
# Check if is suspended to decrease the suspended value
85+
if [ ! -z "$suspended" ]; then
86+
decrease_user_value "$user" '$SUSPENDED_DNS'
87+
fi
88+
89+
8490
# Logging
8591
log_history "deleted dns domain $domain"
8692
log_event "$OK" "$ARGUMENTS"

bin/v-delete-dns-on-web-alias

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,7 @@ is_format_valid 'user' 'domain'
4444
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
4545
is_system_enabled "$DNS_SYSTEM" 'DNS_SYSTEM'
4646
is_object_valid 'user' 'USER' "$user"
47-
is_object_unsuspended 'user' 'USER' "$user"
4847
is_object_valid 'web' 'DOMAIN' "$domain"
49-
is_object_unsuspended 'web' 'DOMAIN' "$domain"
5048

5149
# Perform verification if read-only mode is enabled
5250
check_hestia_demo_mode

bin/v-delete-dns-record

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@ format_domain_idn
3737
check_args '3' "$#" 'USER DOMAIN ID [RESTART]'
3838
is_format_valid 'user' 'domain' 'id'
3939
is_object_valid 'user' 'USER' "$user"
40-
is_object_unsuspended 'user' 'USER' "$user"
4140
is_object_valid 'dns' 'DOMAIN' "$domain"
42-
is_object_unsuspended 'dns' 'DOMAIN' "$domain"
4341
is_object_valid "dns/$domain" 'ID' "$id"
4442
is_dns_record_critical
4543

bin/v-delete-domain

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ source $HESTIA/conf/hestia.conf
2929
check_args '2' "$#" 'USER DOMAIN'
3030
is_format_valid 'user' 'domain'
3131
is_object_valid 'user' 'USER' "$user"
32-
is_object_unsuspended 'user' 'USER' "$user"
3332

3433
# Perform verification if read-only mode is enabled
3534
check_hestia_demo_mode

bin/v-delete-letsencrypt-domain

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ is_format_valid 'user' 'domain'
3333
is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
3434
is_system_enabled "$WEB_SSL" 'SSL_SUPPORT'
3535
is_object_valid 'user' 'USER' "$user"
36-
is_object_unsuspended 'user' 'USER' "$user"
3736
if [ -z "$mail" ]; then
3837
is_object_valid 'web' 'DOMAIN' "$domain"
3938
is_object_unsuspended 'web' 'DOMAIN' "$domain"

bin/v-delete-mail-account

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,8 @@ check_args '3' "$#" 'USER DOMAIN ACCOUNT'
3636
is_format_valid 'user' 'domain' 'account'
3737
is_system_enabled "$MAIL_SYSTEM" 'MAIL_SYSTEM'
3838
is_object_valid 'user' 'USER' "$user"
39-
is_object_unsuspended 'user' 'USER' "$user"
4039
is_object_valid 'mail' 'DOMAIN' "$domain"
41-
is_object_unsuspended 'mail' 'DOMAIN' "$domain"
4240
is_object_valid "mail/$domain" 'ACCOUNT' "$account"
43-
is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
4441

4542
# Perform verification if read-only mode is enabled
4643
check_hestia_demo_mode

bin/v-delete-mail-account-alias

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,8 @@ check_args '4' "$#" 'USER DOMAIN ACCOUNT ALIAS'
3737
is_format_valid 'user' 'domain' 'account' 'malias'
3838
is_system_enabled "$MAIL_SYSTEM" 'MAIL_SYSTEM'
3939
is_object_valid 'user' 'USER' "$user"
40-
is_object_unsuspended 'user' 'USER' "$user"
4140
is_object_valid 'mail' 'DOMAIN' "$domain"
42-
is_object_unsuspended 'mail' 'DOMAIN' "$domain"
4341
is_object_valid "mail/$domain" 'ACCOUNT' "$account"
44-
is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
4542
aliases=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$ALIAS')
4643
if [ -z "$(echo $aliases | grep -w $malias)" ]; then
4744
echo "Error: alias $malias doesn't exist"

0 commit comments

Comments
 (0)