• unknown's avatar
    WL#925 - Privileges for stored routines · 09ce0b33
    unknown authored
      Implement fine-grained control over access to stored procedures
      Privileges are cached (same way as existing table/column privs)
      
    
    
    mysql-test/include/system_db_struct.inc:
      WL#925 - Privileges for stored routines
        New system table: procs_priv
    mysql-test/r/connect.result:
      WL#925 - Privileges for stored routines
        New system table: procs_priv
    mysql-test/r/grant.result:
      WL#925 - Privileges for stored routines
        user table has additional privilege attributes
        SHOW PRIVILEGES amended
    mysql-test/r/grant2.result:
      Fix result
    mysql-test/r/information_schema.result:
      WL#925 - Privileges for stored routines
        New system table procs_priv
        New user privileges
    mysql-test/r/show_check.result:
      Fix result
    mysql-test/r/sp-security.result:
      WL#925 - Privileges for stored routines
        Fix existing tests to work with new privileges
        New tests for new privileges
    mysql-test/r/sp.result:
      WL#925 - Privileges for stored routines
        Fix SHOW PRIVILEGES results
    mysql-test/r/system_mysql_db.result:
      WL#925 - Privileges for stored routines
        New system table: procs_priv
        user and db tables have new privilege attributes
    mysql-test/t/grant2.test:
      Fix test
    mysql-test/t/show_check.test:
      Fix test
    mysql-test/t/sp-security.test:
      WL#925 - Privileges for stored routines
        Allow existing tests to run with new privilege checks
        New tests for privileges
    mysql-test/t/system_mysql_db_fix.test:
      WL#925 - Privileges for stored routines
        New system table: procs_priv
    scripts/mysql_create_system_tables.sh:
      WL#925 - Privileges for stored routines
        db and user has new privilege attributes
        new system table: procs_priv
    scripts/mysql_fix_privilege_tables.sql:
      WL#925 - Privileges for stored routines
        new system table: procs_priv
    scripts/mysql_install_db.sh:
      WL#925 - Privileges for stored routines
        Amend comment
    sql/item_func.cc:
      WL#925 - Privileges for stored routines
        Privilege check for stored FUNCTION routine
    sql/lex.h:
      WL#925 - Privileges for stored routines
        new token ROUTINE
    sql/mysql_priv.h:
      WL#925 - Privileges for stored routines
        New function: check_procedure_access()
    sql/mysqld.cc:
      WL#925 - Privileges for stored routines
        system option automatic-sp-privileges
    sql/set_var.cc:
      WL#925 - Privileges for stored routines
        system option automatic-sp-privileges
    sql/share/errmsg.txt:
      WL#925 - Privileges for stored routines
        rename errormessage to conform:
          ER_SP_ACCESS_DENIED_ERROR -> ER_PROCACCESS_DENIED_ERROR
        New error messages
          ER_NONEXISTING_PROC_GRANT, ER_PROC_AUTO_GRANT_FAIL, ER_PROC_AUTO_REVOKE_FAIL
    sql/sp.cc:
      WL#925 - Privileges for stored routines
        new function: sp_exists_routine()
    sql/sp.h:
      WL#925 - Privileges for stored routines
        new function: sp_exists_routine()
    sql/sql_acl.cc:
      WL#925 - Privileges for stored routines
        Implementation for SP privileges.
        Privileges are cached in memory hash.
        New functions:
          mysql_procedure_grant()
          check_grant_procedure()
          sp_revoke_privileges()
          sp_grant_privileges()
    sql/sql_acl.h:
      WL#925 - Privileges for stored routines
        New privilege bits: CREATE_PROC_ACL, ALTER_PROC_ACL
        Alter confusing bit-segments to be shifted
        New macros: fix_rights_for_procedure() get_rights_for_procedure()
        New functions:
          mysql_procedure_grant()
          check_grant_procedure()
          sp_grant_privileges()
          sp_revoke_privileges()
    sql/sql_lex.h:
      WL#925 - Privileges for stored routines
        new all_privileges attribute in LEX
    sql/sql_parse.cc:
      WL#925 - Privileges for stored routines
        Remove function: check_sp_definer_access()
        Add handling for SP grants/revokes
        Add privilege checks for stored procedure invocation
    sql/sql_show.cc:
      WL#925 - Privileges for stored routines
        update result for SHOW PRIVILEGES
    sql/sql_yacc.yy:
      WL#925 - Privileges for stored routines
        New token ROUTINE
        rename some rules
        handle CREATE ROUTINE / ALTER ROUTINE privileges
    09ce0b33
sql_lex.h 27.7 KB