MDEV-17852 Altered connection limits for user have no effect
update mqh in struct user_conn after taking it from the cache
This commit is contained in:
parent
fc0d9a470c
commit
22b171d304
@ -186,3 +186,30 @@ connection default;
|
|||||||
drop user mysqltest_1@localhost;
|
drop user mysqltest_1@localhost;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set global max_user_connections= @my_max_user_connections;
|
set global max_user_connections= @my_max_user_connections;
|
||||||
|
#
|
||||||
|
# End of 10.1 tests
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# MDEV-17852 Altered connection limits for user have no effect
|
||||||
|
#
|
||||||
|
create user foo@'%' with max_user_connections 1;
|
||||||
|
connect con1,localhost,foo;
|
||||||
|
select current_user();
|
||||||
|
current_user()
|
||||||
|
foo@%
|
||||||
|
connect(localhost,foo,,test,MYSQL_PORT,MYSQL_SOCK);
|
||||||
|
connect con2,localhost,foo;
|
||||||
|
ERROR 42000: User 'foo' has exceeded the 'max_user_connections' resource (current value: 1)
|
||||||
|
connection default;
|
||||||
|
alter user foo with max_user_connections 2;
|
||||||
|
connect con3,localhost,foo;
|
||||||
|
select current_user();
|
||||||
|
current_user()
|
||||||
|
foo@%
|
||||||
|
disconnect con3;
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
drop user foo@'%';
|
||||||
|
#
|
||||||
|
# End of 10.2 tests
|
||||||
|
#
|
||||||
|
@ -216,3 +216,29 @@ drop table t1;
|
|||||||
--source include/wait_until_count_sessions.inc
|
--source include/wait_until_count_sessions.inc
|
||||||
|
|
||||||
set global max_user_connections= @my_max_user_connections;
|
set global max_user_connections= @my_max_user_connections;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.1 tests
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-17852 Altered connection limits for user have no effect
|
||||||
|
--echo #
|
||||||
|
create user foo@'%' with max_user_connections 1;
|
||||||
|
--connect con1,localhost,foo
|
||||||
|
select current_user();
|
||||||
|
--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
|
||||||
|
--error ER_USER_LIMIT_REACHED
|
||||||
|
--connect con2,localhost,foo
|
||||||
|
--connection default
|
||||||
|
alter user foo with max_user_connections 2;
|
||||||
|
--connect con3,localhost,foo
|
||||||
|
select current_user();
|
||||||
|
--disconnect con3
|
||||||
|
--disconnect con1
|
||||||
|
--connection default
|
||||||
|
drop user foo@'%';
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.2 tests
|
||||||
|
--echo #
|
||||||
|
@ -85,7 +85,6 @@ int get_or_create_user_conn(THD *thd, const char *user,
|
|||||||
uc->host= uc->user + user_len + 1;
|
uc->host= uc->user + user_len + 1;
|
||||||
uc->len= temp_len;
|
uc->len= temp_len;
|
||||||
uc->connections= uc->questions= uc->updates= uc->conn_per_hour= 0;
|
uc->connections= uc->questions= uc->updates= uc->conn_per_hour= 0;
|
||||||
uc->user_resources= *mqh;
|
|
||||||
uc->reset_utime= thd->thr_create_utime;
|
uc->reset_utime= thd->thr_create_utime;
|
||||||
if (my_hash_insert(&hash_user_connections, (uchar*) uc))
|
if (my_hash_insert(&hash_user_connections, (uchar*) uc))
|
||||||
{
|
{
|
||||||
@ -95,6 +94,7 @@ int get_or_create_user_conn(THD *thd, const char *user,
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
uc->user_resources= *mqh;
|
||||||
thd->user_connect=uc;
|
thd->user_connect=uc;
|
||||||
uc->connections++;
|
uc->connections++;
|
||||||
end:
|
end:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user