mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug #10668: CREATE USER does not enforce username length limit
This appears to have just been an oversight -- CREATE USER was not enforcing the existing username limitations. mysql-test/r/grant.result: Add new results mysql-test/t/grant.test: Add new regression test sql/sql_acl.cc: Enforce the user and host name limits in mysql_create_user().
This commit is contained in:
@ -867,3 +867,6 @@ insert into mysql.user select * from t2;
|
||||
flush privileges;
|
||||
drop table t2;
|
||||
drop table t1;
|
||||
create user mysqltest1_thisisreallytoolong;
|
||||
ERROR HY000: Operation CREATE USER failed for 'mysqltest1_thisisreallytoolong'@'%'
|
||||
End of 5.0 tests
|
||||
|
@ -680,4 +680,10 @@ drop table t2;
|
||||
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #10668: CREATE USER does not enforce username length limit
|
||||
#
|
||||
--error ER_CANNOT_USER
|
||||
create user mysqltest1_thisisreallytoolong;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -5221,6 +5221,15 @@ bool mysql_create_user(THD *thd, List <LEX_USER> &list)
|
||||
result= TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (user_name->host.length > HOSTNAME_LENGTH ||
|
||||
user_name->user.length > USERNAME_LENGTH)
|
||||
{
|
||||
append_user(&wrong_users, user_name);
|
||||
result= TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
Search all in-memory structures and grant tables
|
||||
for a mention of the new user name.
|
||||
|
Reference in New Issue
Block a user