Skip to content

Commit a2971df

Browse files
authored
3213 [Bug] Hestia allows umlauts for user names, which produces some issues. (hestiacp#3220)
* Fix hestiacp#3213 prevent use of special chars Add few extra tests * Use :ascii: instead * Update tests
1 parent 8084a38 commit a2971df

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

func/main.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,9 @@ is_user_format_valid() {
695695
fi
696696
fi
697697
fi
698+
if [ "$1" != "${1//[^[:ascii:]]/}" ]; then
699+
check_result "$E_INVALID" "invalid $2 format :: $1"
700+
fi
698701
}
699702

700703
# Domain format validator

test/test.bats

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,23 @@ function check_ip_not_banned(){
320320
refute_output
321321
}
322322

323+
@test "User: Add new user Failed 1" {
324+
run v-add-user 'jäap' $user $user@hestiacp2.com default "Super Test"
325+
assert_failure $E_INVALID
326+
assert_output --partial 'Error: invalid user format'
327+
}
328+
@test "User: Add new user Failed 2" {
329+
run v-add-user 'ëaap' $user $user@hestiacp2.com default "Super Test"
330+
assert_failure $E_INVALID
331+
assert_output --partial 'Error: invalid user format'
332+
}
333+
334+
@test "User: Add new user Failed 3" {
335+
run v-add-user 'jaaẞ' $user $user@hestiacp2.com default "Super Test"
336+
assert_failure $E_INVALID
337+
assert_output --partial 'Error: invalid user format'
338+
}
339+
323340
@test "User: Change user password" {
324341
run v-change-user-password "$user" "$userpass2"
325342
assert_success

0 commit comments

Comments
 (0)