From c94570057c9f7861d40971f77c794ea05635b83a Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 18 Mar 2005 13:32:28 +0200 Subject: Added more tests to grant2. Fixed some previous tests. Added new logic to ACL system: 1) If GRANT OPTION (not mysql db): Ok to update existing user, but not password. Not allowed to make a new user. 2) If UPDATE_ACL to mysql DB: Ok to update current user, but not make a new one. 3) If INSERT_ACL to mysql DB: Ok to add a new user, but not modify existing. 4) If GRANT OPTION to mysql DB: All modifications OK. mysql-test/r/grant2.result: Added more ACL tests and fixed results in some old tests. mysql-test/t/grant2.test: Added more ACL tests and fixed results in some old tests. sql/sql_acl.h: Made check_acl_user() visible to sql_parse.cc sql/sql_parse.cc: Added new logic to ACL system: 1) If GRANT OPTION (not mysql db): Ok to update existing user, but not password. Not allowed to make a new user. 2) If UPDATE_ACL to mysql DB: Ok to update current user, but not make a new one. 3) If INSERT_ACL to mysql DB: Ok to add a new user, but not modify existing. 4) If GRANT OPTION to mysql DB: All modifications OK. --- sql/sql_acl.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sql/sql_acl.h') diff --git a/sql/sql_acl.h b/sql/sql_acl.h index 24916fd4385..e9e58e40e12 100644 --- a/sql/sql_acl.h +++ b/sql/sql_acl.h @@ -190,6 +190,8 @@ bool mysql_table_grant(THD *thd, TABLE_LIST *table, List &user_list, bool mysql_procedure_grant(THD *thd, TABLE_LIST *table, List &user_list, ulong rights, bool revoke, bool no_error); +ACL_USER *check_acl_user(LEX_USER *user_name, + uint *acl_acl_userdx); my_bool grant_init(THD *thd); void grant_free(void); void grant_reload(THD *thd); -- cgit v1.2.1