summaryrefslogtreecommitdiff
path: root/sql/sp_head.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2005-09-15 22:29:07 +0300
committerunknown <bell@sanja.is.com.ua>2005-09-15 22:29:07 +0300
commit84f029a448fc822f2fa150ab13e61b233b1e4027 (patch)
treefc6da649fdbafccdf434cac04cebe418f638185d /sql/sp_head.h
parentfbe338f4b009c8f0057645bdfae9b981a346dbc3 (diff)
downloadmariadb-git-84f029a448fc822f2fa150ab13e61b233b1e4027.tar.gz
WL#2787 (part 2, ver 3 (merged)) changed securety context switching
libmysqld/lib_sql.cc: changed securety context switching mysql-test/r/rpl_sp.result: now it show real information from changed security context of SP (checked) sql/ha_innodb.cc: changed securety context switching sql/item.cc: changed securety context switching sql/item_func.cc: changed securety context switching sql/item_strfunc.cc: changed securety context switching sql/log.cc: changed securety context switching sql/mysql_priv.h: changed securety context switching sql/mysqld.cc: changed securety context switching sql/repl_failsafe.cc: changed securety context switching sql/set_var.cc: changed securety context switching sql/slave.cc: changed securety context switching sql/sp.cc: changed securety context switching sql/sp_head.cc: changed securety context switching in case of inability to switch context we return error now sql/sp_head.h: changed securety context switching sql/sql_acl.cc: changed securety context switching sql/sql_acl.h: changed securety context switching sql/sql_base.cc: changed securety context switching sql/sql_class.cc: changed securety context switching sql/sql_class.h: changed securety context switching sql/sql_db.cc: changed securety context switching sql/sql_insert.cc: changed securety context switching sql/sql_parse.cc: changed securety context switching sql/sql_show.cc: changed securety context switching sql/sql_trigger.cc: changed securety context switching sql/sql_view.cc: changed securety context switching sql/sql_yacc.yy: changed securety context switching
Diffstat (limited to 'sql/sp_head.h')
-rw-r--r--sql/sp_head.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/sql/sp_head.h b/sql/sp_head.h
index 9888fe74149..ccf8c48a5eb 100644
--- a/sql/sp_head.h
+++ b/sql/sp_head.h
@@ -151,6 +151,9 @@ public:
// Pointers set during parsing
uchar *m_param_begin, *m_param_end, *m_body_begin;
+ /* security context for SP procedure/function in case we switch it*/
+ st_security_context m_security_ctx;
+
static void *
operator new(size_t size);
@@ -1017,23 +1020,12 @@ private:
}; // class sp_instr_error : public sp_instr
-struct st_sp_security_context
-{
- bool changed;
- uint master_access;
- uint db_access;
- char *priv_user;
- char priv_host[MAX_HOSTNAME];
- char *user;
- char *host;
- char *ip;
-};
-
#ifndef NO_EMBEDDED_ACCESS_CHECKS
+bool
+sp_change_security_context(THD *thd, sp_head *sp,
+ st_security_context **backup);
void
-sp_change_security_context(THD *thd, sp_head *sp, st_sp_security_context *ctxp);
-void
-sp_restore_security_context(THD *thd, sp_head *sp,st_sp_security_context *ctxp);
+sp_restore_security_context(THD *thd, st_security_context *backup);
#endif /* NO_EMBEDDED_ACCESS_CHECKS */
TABLE_LIST *