[MDEV-13676] Field "create Procedure" is NULL, even if the the user has role which is the definer. (SHOW CREATE PROCEDURE) Created: 2017-08-30 Updated: 2020-08-25 Resolved: 2017-10-11 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Authentication and Privilege System |
| Affects Version/s: | 10.1.26, 10.2.8 |
| Fix Version/s: | 10.0.33, 10.1.29, 10.2.10, 10.3.3 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Richard Stracke | Assignee: | Vicențiu Ciorbaru |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | roles | ||
| Environment: |
tested on official docker container |
||
| Sprint: | 10.2.10 |
| Description |
|
show create procedure gives NULL in the Field "Create Procedure" if the permission is missing. It works, if the caller is the owner of the proedure or with the SELECT right of mysql.proc This works not, if the owner is a role. To reproduce:
Login as user 1:
Role db_owner_rtest is the owner and user1 has this role,but show create procedure db_owner_rtest; gives this output.
|
| Comments |
| Comment by Vicențiu Ciorbaru [ 2017-10-09 ] |
|
Hi Sergei! Can you review the patch for this bug? http://lists.askmonty.org/pipermail/commits/2017-October/011541.html If we don't want to support allowing indirectly granted roles to see procedure code, we can skip the additions to sql_acl.cc entirely and just leave the simple strcmp with current_role. |