فهرست منبع

Merge branch 'main' into feature/user-roles

Kristan Kenney 5 سال پیش
والد
کامیت
d29dcce533

+ 1 - 1
bin/v-add-mail-domain

@@ -154,7 +154,7 @@ fi
 # Add webmail configuration to mail domain
 if [ ! -z "$WEB_SYSTEM" ] || [ ! -z "$PROXY_SYSTEM" ]; then
     if [ ! -z "$IMAP_SYSTEM" ]; then
-        $BIN/v-add-sys-webmail $user $domain '' '' ''
+        $BIN/v-add-sys-webmail $user $domain '' 'no'
     fi
 fi
     

+ 3 - 3
bin/v-add-sys-webmail

@@ -94,10 +94,10 @@ else
 
         if [ "$dns_domain" = "$domain" ]; then
             if [ -z "$webmail_record" ]; then
-                $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip
+                $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip '' '' $restart
             else
-                $BIN/v-delete-dns-record $user $domain $webmail_record
-                $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip
+                $BIN/v-delete-dns-record $user $domain $webmail_record $restart
+                $BIN/v-add-dns-record $user $domain $WEBMAIL_ALIAS A $ip '' '' $restart
             fi
         fi
     fi

+ 2 - 2
bin/v-add-web-domain-ssl-force

@@ -85,11 +85,11 @@ fi
 update_object_value 'web' 'DOMAIN' "$domain" '$SSL_FORCE' 'yes'
 
 # Restart web server
-$BIN/v-restart-web
+$BIN/v-restart-web $restart
 check_result $? "Web restart failed" > /dev/null
 
 # Restart proxy
-$BIN/v-restart-proxy
+$BIN/v-restart-proxy $restart
 check_result $? "Proxy restart failed" > /dev/null
 
 # Logging

+ 2 - 2
bin/v-add-web-domain-ssl-hsts

@@ -71,11 +71,11 @@ fi
 update_object_value 'web' 'DOMAIN' "$domain" '$SSL_HSTS' 'yes'
 
 # Restart web server
-$BIN/v-restart-web
+$BIN/v-restart-web $restart
 check_result $? "Web restart failed" > /dev/null
 
 # Restart proxy
-$BIN/v-restart-proxy
+$BIN/v-restart-proxy $restart
 check_result $? "Proxy restart failed" > /dev/null
 
 # Logging

+ 1 - 1
bin/v-change-dns-domain-tpl

@@ -123,7 +123,7 @@ if [ "$template" = "office365" ]; then
     if [ "$?" -eq 0 ]; then
         record='@'
         formatted_domain=$(echo "$domain" | sed 's/\./-/g')
-        $BIN/v-add-dns-record $user $domain $record MX "${formatted_domain}.mail.protection.outlook.com." '0'
+        $BIN/v-add-dns-record $user $domain $record MX "${formatted_domain}.mail.protection.outlook.com." '0' '' $restart
     fi
 fi
 

+ 1 - 1
bin/v-delete-sys-webmail

@@ -58,7 +58,7 @@ if [ ! -z "$WEBMAIL_ALIAS" ]; then
 
         if [ "$dns_domain" = "$domain" ]; then
             if [ ! -z "$webmail_record" ]; then
-                $BIN/v-delete-dns-record $user $domain $webmail_record
+                $BIN/v-delete-dns-record $user $domain $webmail_record $restart
             fi
         fi
     fi

+ 4 - 6
bin/v-delete-web-domain-ssl-force

@@ -61,13 +61,11 @@ fi
 update_object_value 'web' 'DOMAIN' "$domain" '$SSL_FORCE' 'no'
 
 # Restart services if requested
-if [ ! -z "$restart" ]; then
-    $BIN/v-restart-web
-    check_result $? "Web restart failed" >/dev/null
+$BIN/v-restart-web $restart
+check_result $? "Web restart failed" >/dev/null
 
-    $BIN/v-restart-proxy
-    check_result $? "Proxy restart failed" >/dev/null
-fi
+$BIN/v-restart-proxy $restart
+check_result $? "Proxy restart failed" >/dev/null
 
 # Logging
 log_history "disabled automatic HTTP-to-HTTPS redirection for $domain"

+ 4 - 6
bin/v-delete-web-domain-ssl-hsts

@@ -60,13 +60,11 @@ rm -f $hstsconf
 update_object_value 'web' 'DOMAIN' "$domain" '$SSL_HSTS' 'no'
 
 # Restart services if requested
-if [ ! -z "$restart" ]; then
-    $BIN/v-restart-web
-    check_result $? "Web restart failed" >/dev/null
+$BIN/v-restart-web $restart
+check_result $? "Web restart failed" >/dev/null
 
-    $BIN/v-restart-proxy
-    check_result $? "Proxy restart failed" >/dev/null
-fi
+$BIN/v-restart-proxy $restart
+check_result $? "Proxy restart failed" >/dev/null
 
 # Logging
 log_history "disabled HTTP Strict Transport Security (HSTS) for $domain"

+ 2 - 2
bin/v-rebuild-mail-domain

@@ -58,8 +58,8 @@ rebuild_mail_domain_conf
 if [ ! -z "$WEB_SYSTEM" ] || [ ! -z "$PROXY_SYSTEM" ]; then
     if [ ! -z "$IMAP_SYSTEM" ]; then
         WEBMAIL=$(get_object_value 'web' 'DOMAIN' "$domain" "$WEBMAIL")
-        $BIN/v-delete-sys-webmail $user $domain '' 'yes'
-        $BIN/v-add-sys-webmail $user $domain $WEBMAIL '' 'yes'
+        $BIN/v-delete-sys-webmail $user $domain '' $restart
+        $BIN/v-add-sys-webmail $user $domain $WEBMAIL '' $restart
     fi
 fi
 

+ 3 - 3
bin/v-rebuild-mail-domains

@@ -62,10 +62,10 @@ for domain in $(search_objects 'mail' 'SUSPENDED' "*" 'DOMAIN'); do
     if [ ! -z "$WEB_SYSTEM" ] || [ ! -z "$PROXY_SYSTEM" ]; then
         if [ ! -z "$IMAP_SYSTEM" ]; then
             WEBMAIL=$(get_object_value 'web' 'DOMAIN' "$domain" "$WEBMAIL")
-            $BIN/v-delete-sys-webmail $user $domain '' 'yes'
-            $BIN/v-add-sys-webmail $user $domain $WEBMAIL '' 'yes'
+            $BIN/v-delete-sys-webmail $user $domain $restart
+            $BIN/v-add-sys-webmail $user $domain $WEBMAIL $restart
             if [ $? -ne 0 ]; then
-                $BIN/v-add-sys-webmail $user $domain '' '' 'yes'    
+                $BIN/v-add-sys-webmail $user $domain '' $restart
             fi
         fi
     fi

+ 7 - 5
bin/v-rebuild-web-domains

@@ -117,12 +117,14 @@ done
 # Updating user counters
 $BIN/v-update-user-counters $user
 
-# Restarting web server
-$BIN/v-restart-web $restart
-check_result $? "Web restart failed" >/dev/null
+if [ "$restart" = "yes" ]; then
+    # Restarting web server
+    $BIN/v-restart-web $restart
+    check_result $? "Web restart failed" >/dev/null
 
-$BIN/v-restart-proxy $restart
-check_result $? "Proxy restart failed" >/dev/null
+    $BIN/v-restart-proxy $restart
+    check_result $? "Proxy restart failed" >/dev/null
+fi
 
 # Logging
 log_event "$OK" "$ARGUMENTS"

+ 1 - 4
bin/v-restore-user

@@ -595,10 +595,7 @@ if [ "$mail" != 'no' ] && [ ! -z "$MAIL_SYSTEM" ]; then
 
         # Restoring email accounts
         cp -f $tmpdir/mail/$domain/$backup_system/$domain.conf $USER_DATA/mail/
-
-        # Rebuilding mail config
-        $BIN/v-rebuild-mail-domains $user
-        
+       
         domain_idn=$domain
         format_domain_idn
 

+ 5 - 5
func/rebuild.sh

@@ -123,7 +123,7 @@ rebuild_user_conf() {
         chmod 751 $HOMEDIR/$user/web
         chmod 771 $HOMEDIR/$user/tmp
         chown --no-dereference $user:$user $HOMEDIR/$user/web
-        if [ -z "$create_user" ]; then
+        if [ "$create_user" = "yes" ]; then
             $BIN/v-rebuild-web-domains $user $restart
         fi
     fi
@@ -137,7 +137,7 @@ rebuild_user_conf() {
 
         mkdir -p $HOMEDIR/$user/conf/dns
         chmod 751 $HOMEDIR/$user/conf/dns
-        if [ -z "$create_user" ]; then
+        if [ "$create_user" = "yes" ]; then
             $BIN/v-rebuild-dns-domains $user $restart
         fi
     fi
@@ -157,7 +157,7 @@ rebuild_user_conf() {
         mkdir -p $HOMEDIR/$user/mail
         chmod 751 $HOMEDIR/$user/mail
         chmod 751 $HOMEDIR/$user/conf/mail
-        if [ -z "$create_user" ]; then
+        if [ "$create_user" = "yes" ]; then
             $BIN/v-rebuild-mail-domains $user
         fi
     fi
@@ -168,7 +168,7 @@ rebuild_user_conf() {
         chmod 660 $USER_DATA/db.conf
         echo "$BIN/v-update-databases-disk $user" >> $HESTIA/data/queue/disk.pipe
 
-        if [ -z "$create_user" ]; then
+        if [ "$create_user" = "yes" ]; then
             $BIN/v-rebuild-databases $user
         fi
     fi
@@ -177,7 +177,7 @@ rebuild_user_conf() {
         touch $USER_DATA/cron.conf
         chmod 660 $USER_DATA/cron.conf
 
-        if [ -z "$create_user" ]; then
+        if [ "$create_user" = "yes" ]; then
             $BIN/v-rebuild-cron-jobs $user $restart
         fi
     fi

+ 6 - 4
func/upgrade.sh

@@ -715,6 +715,7 @@ upgrade_rebuild_users() {
             echo "[ * ] Rebuilding user accounts and domains, this may take a few minutes..."
         fi
         for user in $($HESTIA/bin/v-list-sys-users plain); do
+        export restart="no"
             if [ "$DEBUG_MODE" = "true" ]; then
                 echo "      - $user:"
             else
@@ -765,6 +766,7 @@ upgrade_restart_services() {
 
     if [ "$UPGRADE_RESTART_SERVICES" = "true" ]; then
         echo "[ * ] Restarting services..."
+        export restart="yes"
         sleep 2
         if [ ! -z "$MAIL_SYSTEM" ]; then
             if [ "$DEBUG_MODE" = "true" ]; then
@@ -795,7 +797,7 @@ upgrade_restart_services() {
                 if [ "$DEBUG_MODE" = "true" ]; then
                     echo "      - php$v-fpm"
                 fi
-                $BIN/v-restart-service php$v-fpm $restart
+                $BIN/v-restart-service php$v-fpm
             fi
         done
         if [ ! -z "$FTP_SYSTEM" ]; then
@@ -808,20 +810,20 @@ upgrade_restart_services() {
             if [ "$DEBUG_MODE" = "true" ]; then
                 echo "      - $FIREWALL_EXTENSION"
             fi
-            $BIN/v-restart-service $FIREWALL_EXTENSION yes
+            $BIN/v-restart-service $FIREWALL_EXTENSION
         fi
         # Restart SSH daemon service
         if [ "$DEBUG_MODE" = "true" ]; then
             echo "      - sshd"
         fi
-        $BIN/v-restart-service ssh $restart
+        $BIN/v-restart-service ssh
     fi
 
     # Always restart the Hestia Control Panel service
     if [ "$DEBUG_MODE" = "true" ]; then
         echo "      - hestia"
     fi
-    $BIN/v-restart-service hestia $restart
+    $BIN/v-restart-service hestia
 }
 
 upgrade_perform_cleanup() {

+ 1 - 6
install/upgrade/versions/1.4.0.sh

@@ -15,14 +15,11 @@ if [ -e "/etc/nginx/nginx.conf" ]; then
     fi
 fi
 
-echo '[ * ] Updating System Administrator account permissions...'
-$HESTIA/bin/v-change-user-role admin admin
-
 # Populating HELO/SMTP Banner for existing ip's
 if [ "$MAIL_SYSTEM" == "exim4" ]; then
     source $HESTIA/func/ip.sh
 
-    echo "[ * ] Populating HELO/SMTP Banner param for existing IP's..."
+    echo "[ * ] Populating HELO/SMTP Banner value for existing IP addresses..."
     > /etc/exim4/mailhelo.conf
 
     for ip in $($BIN/v-list-sys-ips plain | cut -f1); do
@@ -101,8 +98,6 @@ if [ "$MAIL_SYSTEM" == "exim4" ]; then
         line=$(expr $(sed -n '/begin transports/=' /etc/exim4/exim4.conf.template) + 2)
         sed -i "${line}i $insert" /etc/exim4/exim4.conf.template
     fi
-    
-    $HESTIA/bin/v-restart-mail
 fi
 
 # Fix PostgreSQL repo

+ 2 - 6
web/bulk/user/index.php

@@ -27,6 +27,8 @@ if ($_SESSION['userContext'] === 'admin') {
             break;
         case 'rebuild': $cmd='v-rebuild-all'; $restart = 'no';
             break;
+        case 'rebuild user': $cmd='v-rebuild-user'; $restart = 'no';
+            break;
         case 'rebuild web': $cmd='v-rebuild-web-domains'; $restart = 'no';
             break;
         case 'rebuild dns': $cmd='v-rebuild-dns-domains'; $restart = 'no';
@@ -53,10 +55,4 @@ foreach ($user as $value) {
     $changes = 'yes';
 }
 
-if ((!empty($restart)) && (!empty($changes))) {
-    exec (HESTIA_CMD."v-restart-web", $output, $return_var);
-    exec (HESTIA_CMD."v-restart-dns", $output, $return_var);
-    exec (HESTIA_CMD."v-restart-cron", $output, $return_var);
-}
-
 header("Location: /list/user/");

+ 2 - 2
web/delete/key/index.php

@@ -6,7 +6,8 @@ session_start();
 include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
 
 if (($_SESSION['userContext'] === 'admin') && (!empty($_GET['user']))) {
-    $user=$_GET['user'];
+    $v_user=$_GET['user'];
+    $v_user = $user;
 }
 
 // Check token
@@ -18,7 +19,6 @@ if ((!isset($_GET['token'])) || ($_SESSION['token'] != $_GET['token'])) {
 if (!empty($_GET['key'])) {
     $v_key = escapeshellarg(trim($_GET['key']));
     $v_user = escapeshellarg(trim($v_user));
-    $v_key = str_replace('/','\\/', $v_key);
     exec (HESTIA_CMD."v-delete-user-ssh-key ".$v_user." ".$v_key);
     check_return_code($return_var,$output);
 }

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
web/locale/languages.json


+ 1 - 0
web/templates/admin/list_user.html

@@ -36,6 +36,7 @@
                     <select class="" name="action">
                       <option value=""><?=_('apply to selected')?></option>
                       <option value="rebuild"><?=_('rebuild')?></option>
+                      <option value="rebuild user"><?=_('rebuild user')?></option>
                       <option value="rebuild web"><?=_('rebuild web')?></option>
                       <option value="rebuild dns"><?=_('rebuild dns')?></option>
                       <option value="rebuild mail"><?=_('rebuild mail')?></option>

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است