Просмотр исходного кода

Fix: #3687 Improve check if alias allready exists (#3689)

Jaap Marcus 2 лет назад
Родитель
Сommit
67e3e3d97b
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      func/domain.sh

+ 3 - 1
func/domain.sh

@@ -680,7 +680,9 @@ is_mail_new() {
 		check_result "$E_EXISTS" "mail account $1 is already exists"
 		check_result "$E_EXISTS" "mail account $1 is already exists"
 	fi
 	fi
 	check_als=$(awk -F "ALIAS='" '{print $2}' $USER_DATA/mail/$domain.conf)
 	check_als=$(awk -F "ALIAS='" '{print $2}' $USER_DATA/mail/$domain.conf)
-	check_als=$(echo "$check_als" | cut -f 1 -d "'" | grep -w $1)
+	match=$(echo $check_als | cut -d "'" -f1)
+	parse_object_kv_list $(grep "ALIAS='$match'" $USER_DATA/mail/$domain.conf)
+	check_als=$(echo ",$ALIAS," | grep ",$1,")
 	if [ -n "$check_als" ]; then
 	if [ -n "$check_als" ]; then
 		check_result "$E_EXISTS" "mail alias $1 is already exists"
 		check_result "$E_EXISTS" "mail alias $1 is already exists"
 	fi
 	fi