Przeglądaj źródła

3213 [Bug] Hestia allows umlauts for user names, which produces some issues. (#3220)

* Fix #3213 prevent use of special chars

Add few extra tests

* Use :ascii: instead

* Update tests
Jaap Marcus 3 lat temu
rodzic
commit
a2971dfc4e
2 zmienionych plików z 20 dodań i 0 usunięć
  1. 3 0
      func/main.sh
  2. 17 0
      test/test.bats

+ 3 - 0
func/main.sh

@@ -695,6 +695,9 @@ is_user_format_valid() {
 			fi
 		fi
 	fi
+	if [ "$1" != "${1//[^[:ascii:]]/}" ]; then
+		check_result "$E_INVALID" "invalid $2 format :: $1"
+	fi
 }
 
 # Domain format validator

+ 17 - 0
test/test.bats

@@ -320,6 +320,23 @@ function check_ip_not_banned(){
     refute_output
 }
 
+@test "User: Add new user Failed 1" {
+	run v-add-user 'jäap' $user $user@hestiacp2.com default "Super Test"
+	assert_failure $E_INVALID
+	assert_output --partial 'Error: invalid user format'
+}
+@test "User: Add new user Failed 2" {
+	run v-add-user 'ëaap' $user $user@hestiacp2.com default "Super Test"
+	assert_failure $E_INVALID
+	assert_output --partial 'Error: invalid user format'
+}
+
+@test "User: Add new user Failed 3" {
+	run v-add-user 'jaaẞ'  $user $user@hestiacp2.com default "Super Test"
+	assert_failure $E_INVALID
+	assert_output --partial 'Error: invalid user format'
+}
+
 @test "User: Change user password" {
     run v-change-user-password "$user" "$userpass2"
     assert_success