#At file:///home/thek/Development/cpp/mysqlbzr/mysql-6.0-bugteam-bug31501/
------------------------------------------------------------
revno: 2659
revision-id: kpettersson@stripped
parent: chad@stripped
committer: Kristofer Pettersson <kpettersson@stripped>
branch nick: mysql-6.0-bugteam-bug31501
timestamp: Fri 2008-06-13 00:21:33 +0200
message:
Bug#31501 Stored Routines: droping stored procedure revokes all assotiated privileges
When a routine was dropped all associated privileges were removed even
though they weren't associated with the definer of the routine.
This patch changes the behavior so that only the automatic privileges set
by the definer of the routine are dropped when the routine is dropped.
When a definer was specified with CREATE DEFINER=... PROCEDURE the definer
values were ignored for automatic privileges.
This patch changes this behavior so that definer privileges now are assigned
to the definer of the routine if it exists.
modified:
mysql-test/r/automatic_sp_privileges_func.result sp1f-automatic_sp_privile-20080410131231-nczj4mgegdc4xajbzwk5y4yoehoklssj
mysql-test/t/automatic_sp_privileges_func.test sp1f-automatic_sp_privile-20080410131347-2mryluvuvpuf2jd7wq6axri5mi7pt5vo
sql/sp.cc sp1f-sp.cc-20021212121421-6xwuvxq5bku2b4yv655kp2e5gsvautd5
sql/sp.h sp1f-sp.h-20021212121421-eh5y7kpcb3hkgy4wjuh3q3non36itye5
sql/sql_acl.cc sp1f-sql_acl.cc-19700101030959-c4hku3uqxzujthqnndeprbrhamqy6a4i
sql/sql_acl.h sp1f-sql_acl.h-19700101030959-byf4bn7yfbxu6wa6z76kqcuspjl67msj
sql/sql_parse.cc sp1f-sql_parse.cc-19700101030959-ehcre3rwhv5l3mlxqhaxg36ujenxnrcd
per-file comments:
mysql-test/r/automatic_sp_privileges_func.result
Added test case
mysql-test/t/automatic_sp_privileges_func.test
Added test case
sql/sp.cc
* Save definer of the routine before deleting the record. The definer is later
used to revoke auto assigned privileges.
sql/sp.h
* Changed signature for sp_drop_routine
sql/sql_acl.cc
* Modified sp_revoke_privileges to only revoke privileges where the invoker
user id matches the definer user id of the routine.
* Modified sp_grant_privileges to use the definer value, if it exists, when
assigning new privileges.
sql/sql_acl.h
* Changed signature for sp_revoke_privileges
sql/sql_parse.cc
* Change pipeline: first drop routine, then revoke privileges using the
definer value of the routine.
Attachment: [text/text/x-diff] patch-2659.diff
| Thread |
|---|
| • bzr commit into mysql-6.0 tree (kpettersson:2659) Bug#31501 | Kristofer Pettersson | 13 Jun |