Skip to content

Commit be4d6c0

Browse files
Allow option to enable/disable backup suspended users (hestiacp#3696)
* Backup user when suspended option * Backup suspended users if wanted If POLICY_BACKUP_SUSPENDED_USERS is set to yes * Adjust alignments --------- Co-authored-by: Raphael <rs@scit.ch>
1 parent 0e3d2a5 commit be4d6c0

File tree

7 files changed

+161
-152
lines changed

7 files changed

+161
-152
lines changed

bin/v-add-letsencrypt-domain

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
# options: USER DOMAIN [ALIASES] [MAIL]
44
#
55
# example: v-add-letsencrypt-domain admin wonderland.com www.wonderland.com,demo.wonderland.com
6+
#
7+
# For mail domains
8+
#
69
# example: v-add-letsencrypt-domain admin wonderland.com '' yes
710
#
811
# This function check and validates domain with Let's Encrypt

bin/v-backup-user

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,9 @@ check_args '1' "$#" 'USER [NOTIFY]'
142142
is_format_valid 'user'
143143
is_system_enabled "$BACKUP_SYSTEM" 'BACKUP_SYSTEM'
144144
is_object_valid 'user' 'USER' "$user"
145-
is_object_unsuspended 'user' 'USER' "$user"
145+
if [ "$POLICY_BACKUP_SUSPENDED_USERS" != "yes" ]; then
146+
is_object_unsuspended 'user' 'USER' "$user"
147+
fi
146148
is_backup_enabled
147149

148150
# Perform verification if read-only mode is enabled

bin/v-list-sys-config

Lines changed: 74 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -28,83 +28,84 @@ json_list() {
2828
echo '{
2929
"config": {
3030
"WEB_SYSTEM": "'$WEB_SYSTEM'",
31-
"WEB_RGROUPS": "'$WEB_RGROUPS'",
32-
"WEB_PORT": "'$WEB_PORT'",
33-
"WEB_SSL": "'$WEB_SSL'",
34-
"WEB_SSL_PORT": "'$WEB_SSL_PORT'",
35-
"WEB_BACKEND": "'$WEB_BACKEND'",
36-
"PROXY_SYSTEM": "'$PROXY_SYSTEM'",
37-
"PROXY_PORT": "'$PROXY_PORT'",
38-
"PROXY_SSL_PORT": "'$PROXY_SSL_PORT'",
39-
"FTP_SYSTEM": "'$FTP_SYSTEM'",
40-
"MAIL_SYSTEM": "'$MAIL_SYSTEM'",
41-
"IMAP_SYSTEM": "'$IMAP_SYSTEM'",
42-
"ANTIVIRUS_SYSTEM": "'$ANTIVIRUS_SYSTEM'",
43-
"ANTISPAM_SYSTEM": "'$ANTISPAM_SYSTEM'",
44-
"DB_SYSTEM": "'$DB_SYSTEM'",
45-
"DNS_SYSTEM": "'$DNS_SYSTEM'",
46-
"DNS_CLUSTER": "'$DNS_CLUSTER'",
31+
"WEB_RGROUPS": "'$WEB_RGROUPS'",
32+
"WEB_PORT": "'$WEB_PORT'",
33+
"WEB_SSL": "'$WEB_SSL'",
34+
"WEB_SSL_PORT": "'$WEB_SSL_PORT'",
35+
"WEB_BACKEND": "'$WEB_BACKEND'",
36+
"PROXY_SYSTEM": "'$PROXY_SYSTEM'",
37+
"PROXY_PORT": "'$PROXY_PORT'",
38+
"PROXY_SSL_PORT": "'$PROXY_SSL_PORT'",
39+
"FTP_SYSTEM": "'$FTP_SYSTEM'",
40+
"MAIL_SYSTEM": "'$MAIL_SYSTEM'",
41+
"IMAP_SYSTEM": "'$IMAP_SYSTEM'",
42+
"ANTIVIRUS_SYSTEM": "'$ANTIVIRUS_SYSTEM'",
43+
"ANTISPAM_SYSTEM": "'$ANTISPAM_SYSTEM'",
44+
"DB_SYSTEM": "'$DB_SYSTEM'",
45+
"DNS_SYSTEM": "'$DNS_SYSTEM'",
46+
"DNS_CLUSTER": "'$DNS_CLUSTER'",
4747
"DNS_CLUSTER_SYSTEM": "'$DNS_CLUSTER_SYSTEM'",
4848
"SUPPORT_DNSSEC": "'$SUPPORT_DNSSEC'",
49-
"STATS_SYSTEM": "'$STATS_SYSTEM'",
50-
"BACKUP_SYSTEM": "'$BACKUP_SYSTEM'",
51-
"CRON_SYSTEM": "'$CRON_SYSTEM'",
52-
"DISK_QUOTA": "'$DISK_QUOTA'",
53-
"FIREWALL_SYSTEM": "'$FIREWALL_SYSTEM'",
54-
"FIREWALL_EXTENSION": "'$FIREWALL_EXTENSION'",
55-
"FILE_MANAGER": "'$FILE_MANAGER'",
56-
"REPOSITORY": "'$REPOSITORY'",
57-
"VERSION": "'$VERSION'",
58-
"RELEASE_BRANCH": "'$RELEASE_BRANCH'",
59-
"UPGRADE_SEND_EMAIL": "'$UPGRADE_SEND_EMAIL'",
60-
"UPGRADE_SEND_EMAIL_LOG": "'$UPGRADE_SEND_EMAIL_LOG'",
61-
"SMTP_RELAY": "'$SMTP_RELAY'",
62-
"SMTP_RELAY_HOST": "'$SMTP_RELAY_HOST'",
63-
"SMTP_RELAY_PORT": "'$SMTP_RELAY_PORT'",
64-
"SMTP_RELAY_USER": "'$SMTP_RELAY_USER'",
65-
"DEMO_MODE": "'$DEMO_MODE'",
66-
"THEME": "'$THEME'",
67-
"LANGUAGE": "'$LANGUAGE'",
68-
"BACKUP_GZIP": "'$BACKUP_GZIP'",
69-
"BACKUP": "'$BACKUP'",
70-
"BACKUP_MODE": "'$BACKUP_MODE'",
71-
"WEBMAIL_ALIAS": "'$WEBMAIL_ALIAS'",
72-
"WEBMAIL_SYSTEM": "'$WEBMAIL_SYSTEM'",
73-
"DB_PMA_ALIAS": "'$DB_PMA_ALIAS'",
74-
"DB_PGA_ALIAS": "'$DB_PGA_ALIAS'",
75-
"LOGIN_STYLE": "'$LOGIN_STYLE'",
76-
"INACTIVE_SESSION_TIMEOUT": "'$INACTIVE_SESSION_TIMEOUT'",
77-
"PHPMYADMIN_KEY": "'$PHPMYADMIN_KEY'",
78-
"ENFORCE_SUBDOMAIN_OWNERSHIP": "'$ENFORCE_SUBDOMAIN_OWNERSHIP'",
79-
"DEBUG_MODE": "'$DEBUG_MODE'",
80-
"API": "'$API'",
81-
"API_SYSTEM": "'$API_SYSTEM'",
82-
"API_ALLOWED_IP": "'$API_ALLOWED_IP'",
83-
"UPDATE_AVAILABLE": "'$UPDATE_AVAILABLE'",
84-
"PLUGIN_APP_INSTALLER": "'$PLUGIN_APP_INSTALLER'",
85-
"PLUGIN_FILE_MANAGER": "'$PLUGIN_FILE_MANAGER'",
86-
"POLICY_SYSTEM_ENABLE_BACON": "'$POLICY_SYSTEM_ENABLE_BACON'",
87-
"POLICY_SYSTEM_PROTECTED_ADMIN": "'$POLICY_SYSTEM_PROTECTED_ADMIN'",
88-
"POLICY_SYSTEM_HIDE_ADMIN": "'$POLICY_SYSTEM_HIDE_ADMIN'",
89-
"POLICY_SYSTEM_HIDE_SERVICES": "'$POLICY_SYSTEM_HIDE_SERVICES'",
90-
"POLICY_SYSTEM_PASSWORD_RESET": "'$POLICY_SYSTEM_PASSWORD_RESET'",
91-
"POLICY_USER_VIEW_SUSPENDED": "'$POLICY_USER_VIEW_SUSPENDED'",
92-
"POLICY_USER_EDIT_DETAILS": "'$POLICY_USER_EDIT_DETAILS'",
93-
"POLICY_USER_EDIT_WEB_TEMPLATES": "'$POLICY_USER_EDIT_WEB_TEMPLATES'",
94-
"POLICY_USER_EDIT_DNS_TEMPLATES": "'$POLICY_USER_EDIT_DNS_TEMPLATES'",
95-
"POLICY_USER_DELETE_LOGS": "'$POLICY_USER_DELETE_LOGS'",
96-
"POLICY_USER_VIEW_LOGS": "'$POLICY_USER_VIEW_LOGS'",
97-
"POLICY_USER_CHANGE_THEME": "'$POLICY_USER_CHANGE_THEME'",
98-
"POLICY_CSRF_STRICTNESS": "'$POLICY_CSRF_STRICTNESS'",
49+
"STATS_SYSTEM": "'$STATS_SYSTEM'",
50+
"BACKUP_SYSTEM": "'$BACKUP_SYSTEM'",
51+
"CRON_SYSTEM": "'$CRON_SYSTEM'",
52+
"DISK_QUOTA": "'$DISK_QUOTA'",
53+
"FIREWALL_SYSTEM": "'$FIREWALL_SYSTEM'",
54+
"FIREWALL_EXTENSION": "'$FIREWALL_EXTENSION'",
55+
"FILE_MANAGER": "'$FILE_MANAGER'",
56+
"REPOSITORY": "'$REPOSITORY'",
57+
"VERSION": "'$VERSION'",
58+
"RELEASE_BRANCH": "'$RELEASE_BRANCH'",
59+
"UPGRADE_SEND_EMAIL": "'$UPGRADE_SEND_EMAIL'",
60+
"UPGRADE_SEND_EMAIL_LOG": "'$UPGRADE_SEND_EMAIL_LOG'",
61+
"SMTP_RELAY": "'$SMTP_RELAY'",
62+
"SMTP_RELAY_HOST": "'$SMTP_RELAY_HOST'",
63+
"SMTP_RELAY_PORT": "'$SMTP_RELAY_PORT'",
64+
"SMTP_RELAY_USER": "'$SMTP_RELAY_USER'",
65+
"DEMO_MODE": "'$DEMO_MODE'",
66+
"THEME": "'$THEME'",
67+
"LANGUAGE": "'$LANGUAGE'",
68+
"BACKUP_GZIP": "'$BACKUP_GZIP'",
69+
"BACKUP": "'$BACKUP'",
70+
"BACKUP_MODE": "'$BACKUP_MODE'",
71+
"WEBMAIL_ALIAS": "'$WEBMAIL_ALIAS'",
72+
"WEBMAIL_SYSTEM": "'$WEBMAIL_SYSTEM'",
73+
"DB_PMA_ALIAS": "'$DB_PMA_ALIAS'",
74+
"DB_PGA_ALIAS": "'$DB_PGA_ALIAS'",
75+
"LOGIN_STYLE": "'$LOGIN_STYLE'",
76+
"INACTIVE_SESSION_TIMEOUT": "'$INACTIVE_SESSION_TIMEOUT'",
77+
"PHPMYADMIN_KEY": "'$PHPMYADMIN_KEY'",
78+
"ENFORCE_SUBDOMAIN_OWNERSHIP": "'$ENFORCE_SUBDOMAIN_OWNERSHIP'",
79+
"DEBUG_MODE": "'$DEBUG_MODE'",
80+
"API": "'$API'",
81+
"API_SYSTEM": "'$API_SYSTEM'",
82+
"API_ALLOWED_IP": "'$API_ALLOWED_IP'",
83+
"UPDATE_AVAILABLE": "'$UPDATE_AVAILABLE'",
84+
"PLUGIN_APP_INSTALLER": "'$PLUGIN_APP_INSTALLER'",
85+
"PLUGIN_FILE_MANAGER": "'$PLUGIN_FILE_MANAGER'",
86+
"POLICY_SYSTEM_ENABLE_BACON": "'$POLICY_SYSTEM_ENABLE_BACON'",
87+
"POLICY_SYSTEM_PROTECTED_ADMIN": "'$POLICY_SYSTEM_PROTECTED_ADMIN'",
88+
"POLICY_SYSTEM_HIDE_ADMIN": "'$POLICY_SYSTEM_HIDE_ADMIN'",
89+
"POLICY_SYSTEM_HIDE_SERVICES": "'$POLICY_SYSTEM_HIDE_SERVICES'",
90+
"POLICY_SYSTEM_PASSWORD_RESET": "'$POLICY_SYSTEM_PASSWORD_RESET'",
91+
"POLICY_USER_VIEW_SUSPENDED": "'$POLICY_USER_VIEW_SUSPENDED'",
92+
"POLICY_BACKUP_SUSPENDED_USERS": "'$POLICY_BACKUP_SUSPENDED_USERS'",
93+
"POLICY_USER_EDIT_DETAILS": "'$POLICY_USER_EDIT_DETAILS'",
94+
"POLICY_USER_EDIT_WEB_TEMPLATES": "'$POLICY_USER_EDIT_WEB_TEMPLATES'",
95+
"POLICY_USER_EDIT_DNS_TEMPLATES": "'$POLICY_USER_EDIT_DNS_TEMPLATES'",
96+
"POLICY_USER_DELETE_LOGS": "'$POLICY_USER_DELETE_LOGS'",
97+
"POLICY_USER_VIEW_LOGS": "'$POLICY_USER_VIEW_LOGS'",
98+
"POLICY_USER_CHANGE_THEME": "'$POLICY_USER_CHANGE_THEME'",
99+
"POLICY_CSRF_STRICTNESS": "'$POLICY_CSRF_STRICTNESS'",
99100
"POLICY_SYNC_SKELETON": "'$POLICY_SYNC_SKELETON'",
100101
"POLICY_SYNC_ERROR_DOCUMENTS": "'$POLICY_SYNC_ERROR_DOCUMENTS'",
101-
"USE_SERVER_SMTP": "'$USE_SERVER_SMTP'",
102-
"SERVER_SMTP_HOST": "'$SERVER_SMTP_HOST'",
103-
"SERVER_SMTP_PORT": "'$SERVER_SMTP_PORT'",
104-
"SERVER_SMTP_SECURITY": "'$SERVER_SMTP_SECURITY'",
105-
"SERVER_SMTP_USER": "'$SERVER_SMTP_USER'",
106-
"SERVER_SMTP_PASSWD": "'$SERVER_SMTP_PASSWD'",
107-
"SERVER_SMTP_ADDR": "'$SERVER_SMTP_ADDR'",
102+
"USE_SERVER_SMTP": "'$USE_SERVER_SMTP'",
103+
"SERVER_SMTP_HOST": "'$SERVER_SMTP_HOST'",
104+
"SERVER_SMTP_PORT": "'$SERVER_SMTP_PORT'",
105+
"SERVER_SMTP_SECURITY": "'$SERVER_SMTP_SECURITY'",
106+
"SERVER_SMTP_USER": "'$SERVER_SMTP_USER'",
107+
"SERVER_SMTP_PASSWD": "'$SERVER_SMTP_PASSWD'",
108+
"SERVER_SMTP_ADDR": "'$SERVER_SMTP_ADDR'",
108109
"DISABLE_IP_CHECK": "'$DISABLE_IP_CHECK'",
109110
"FROM_NAME": "'$FROM_NAME'",
110111
"FROM_EMAIL": "'$FROM_EMAIL'",

func/syshealth.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,10 @@ function syshealth_repair_system_config() {
521521
echo "[ ! ] Adding missing variable to hestia.conf: POLICY_SYNC_SKELETON ('yes')"
522522
$BIN/v-change-sys-config-value "POLICY_SYNC_SKELETON" "yes"
523523
fi
524+
if [[ -z $(check_key_exists 'POLICY_BACKUP_SUSPENDED_USERS') ]]; then
525+
echo "[ ! ] Adding missing variable to hestia.conf: POLICY_BACKUP_SUSPENDED_USERS ('no')"
526+
$BIN/v-change-sys-config-value "POLICY_BACKUP_SUSPENDED_USERS" "no"
527+
fi
524528

525529
touch $HESTIA/conf/hestia.conf.new
526530
while IFS='= ' read -r lhs rhs; do

install/deb/exim/text.patch

Lines changed: 0 additions & 38 deletions
This file was deleted.

web/edit/server/index.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1567,6 +1567,26 @@
15671567
$v_security_adv = "yes";
15681568
}
15691569
}
1570+
// Change POLICY_SYSTEM_HIDE_SERVICES
1571+
if (empty($_SESSION["error_msg"])) {
1572+
if (
1573+
$_POST["v_policy_backup_suspended_users"] != $_SESSION["POLICY_BACKUP_SUSPENDED_USERS"]
1574+
) {
1575+
exec(
1576+
HESTIA_CMD .
1577+
"v-change-sys-config-value POLICY_BACKUP_SUSPENDED_USERS " .
1578+
quoteshellarg($_POST["v_policy_backup_suspended_users"]),
1579+
$output,
1580+
$return_var,
1581+
);
1582+
check_return_code($return_var, $output);
1583+
unset($output);
1584+
if (empty($_SESSION["error_msg"])) {
1585+
$v_policy_system_hide_services = $_POST["v_policy_backup_suspended_users"];
1586+
}
1587+
$v_security_adv = "yes";
1588+
}
1589+
}
15701590

15711591
if (empty($_SESSION["error_msg"])) {
15721592
if ($_POST["v_policy_sync_error_documents"] != $_SESSION["POLICY_SYNC_ERROR_DOCUMENTS"]) {

0 commit comments

Comments
 (0)