Forráskód Böngészése

IPV6: Change web domain. Empty IP addresses

Adaptation shell scripts and functions
asmcc 3 éve
szülő
commit
c5f315c2c1
4 módosított fájl, 43 hozzáadás és 20 törlés
  1. 13 5
      bin/v-change-web-domain-ip
  2. 13 5
      bin/v-change-web-domain-ipv6
  3. 11 7
      func/domain.sh
  4. 6 3
      func/ip.sh

+ 13 - 5
bin/v-change-web-domain-ip

@@ -39,13 +39,15 @@ format_domain_idn
 #----------------------------------------------------------#
 
 check_args '3' "$#" 'USER DOMAIN IP [RESTART]'
-is_format_valid 'user' 'domain' 'ip'
+if [ -n "$ip" ]; then
+	is_format_valid 'user' 'domain' 'ip'
+	is_ip_valid "$ip" "$user"
+fi
 is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
 is_object_valid 'user' 'USER' "$user"
 is_object_unsuspended 'user' 'USER' "$user"
 is_object_valid 'web' 'DOMAIN' "$domain"
 is_object_unsuspended 'web' 'DOMAIN' "$domain"
-is_ip_valid "$ip" "$user"
 
 # Perform verification if read-only mode is enabled
 check_hestia_demo_mode
@@ -73,8 +75,14 @@ if [ -n "$PROXY_SYSTEM" ] && [ -n "$PROXY" ]; then
 	fi
 fi
 
+WEBDOMAIN="$DOMAIN"
+DOMAIN=''
+get_object_value 'mail' 'DOMAIN' ${domain}
+MAILDOMAIN="$DOMAIN"
+DOMAIN="$WEBDOMAIN"
+
 # Check for webmail
-if [ -n "$IMAP_SYSTEM" ]; then
+if [ -n "$IMAP_SYSTEM" -a -n "$MAILDOMAIN" ]; then
 	$BIN/v-rebuild-mail-domain "$user" "$domain"
 fi
 
@@ -86,8 +94,8 @@ fi
 update_object_value 'web' 'DOMAIN' "$domain" '$IP' "$3"
 
 # Update counters
-increase_ip_value "$new"
-decrease_ip_value "$old"
+[ -n "$new" ] && increase_ip_value "$new"
+[ -n "$old" ] && decrease_ip_value "$old"
 
 # Restart web server
 $BIN/v-restart-web "$restart"

+ 13 - 5
bin/v-change-web-domain-ipv6

@@ -39,13 +39,15 @@ format_domain_idn
 #----------------------------------------------------------#
 
 check_args '3' "$#" 'USER DOMAIN IPV6 [RESTART]'
-is_format_valid 'user' 'domain' 'ipv6'
+if [ -n "$ipv6" ]; then
+	is_format_valid 'user' 'domain' 'ipv6'
+	is_ipv6_valid "$ipv6" "$user"
+fi
 is_system_enabled "$WEB_SYSTEM" 'WEB_SYSTEM'
 is_object_valid 'user' 'USER' "$user"
 is_object_unsuspended 'user' 'USER' "$user"
 is_object_valid 'web' 'DOMAIN' "$domain"
 is_object_unsuspended 'web' 'DOMAIN' "$domain"
-is_ipv6_valid "$ipv6" "$user"
 
 # Perform verification if read-only mode is enabled
 check_hestia_demo_mode
@@ -73,8 +75,14 @@ if [ -n "$PROXY_SYSTEM" ] && [ -n "$PROXY" ]; then
 	fi
 fi
 
+WEBDOMAIN="$DOMAIN"
+DOMAIN=''
+get_object_value 'mail' 'DOMAIN' ${domain}
+MAILDOMAIN="$DOMAIN"
+DOMAIN="$WEBDOMAIN"
+
 # Check for webmail
-if [ -n "$IMAP_SYSTEM" ]; then
+if [ -n "$IMAP_SYSTEM" -a -n "$MAILDOMAIN" ]; then
 	$BIN/v-rebuild-mail-domain "$user" "$domain"
 fi
 
@@ -86,8 +94,8 @@ fi
 update_object_value 'web' 'DOMAIN' "$domain" '$IP6' "$3"
 
 # Update counters
-increase_ipv6_value "$new"
-decrease_ipv6_value "$old"
+[ -n "$new" ] && increase_ipv6_value "$new"
+[ -n "$old" ] && decrease_ipv6_value "$old"
 
 # Restart web server
 $BIN/v-restart-web "$restart"

+ 11 - 7
func/domain.sh

@@ -361,13 +361,17 @@ get_web_config_lines() {
 
 # Replace web config
 replace_web_config() {
-	conf="$HOMEDIR/$user/conf/web/$domain/$1.conf"
-	if [[ "$2" =~ stpl$ ]]; then
-		conf="$HOMEDIR/$user/conf/web/$domain/$1.ssl.conf"
-	fi
-
-	if [ -e "$conf" ]; then
-		sed -i "s|$old|$new|g" $conf
+	if [ -z "$old" ]; then
+		prepare_web_domain_values #	old parameter is empty. search and replace not possible
+		add_web_config "$@"
+	else
+		conf="$HOMEDIR/$user/conf/web/$domain/$1.conf"
+		if [[ "$2" =~ stpl$ ]]; then
+			conf="$HOMEDIR/$user/conf/web/$domain/$1.ssl.conf"
+		fi
+		if [ -e "$conf" ]; then
+			sed -i "s|$old|$new|g" $conf
+		fi
 	fi
 }
 

+ 6 - 3
func/ip.sh

@@ -486,19 +486,22 @@ get_user_ipv6() {
 # Validate ipv6 address
 is_ipv6_valid() {
     ipv6="$1"
+    if [ -z "$ipv6" ]; then
+        check_result $E_NOTEXIST "IPV6 address is empty"
+    fi
     if [ ! -e "$HESTIA/data/ips/$1" ]; then
-        check_result $E_NOTEXIST "IP6 $1 doesn't exist"
+        check_result $E_NOTEXIST "IPV6 $1 doesn't exist"
     fi
     if [ ! -z $2 ]; then
         ip_data=$(cat $HESTIA/data/ips/$1)
         ip_owner=$(echo "$ip_data" |grep OWNER= |cut -f2 -d \')
         ip_status=$(echo "$ip_data" |grep STATUS= |cut -f2 -d \')
         if [ "$ip_owner" != "$user" ] && [ "$ip_status" = 'dedicated' ]; then
-            check_result $E_FORBIDEN "$user user can't use IP6 $1"
+            check_result $E_FORBIDEN "$user user can't use IPV6 $1"
         fi
         get_user_owner
         if [ "$ip_owner" != "$user" ] && [ "$ip_owner" != "$owner" ]; then
-            check_result $E_FORBIDEN "$user user can't use IP6 $1"
+            check_result $E_FORBIDEN "$user user can't use IPV6 $1"
         fi
     fi
 }