summaryrefslogtreecommitdiff
path: root/libmysqld
diff options
context:
space:
mode:
authorunknown <dlenev@mysql.com>2005-09-28 18:43:46 +0400
committerunknown <dlenev@mysql.com>2005-09-28 18:43:46 +0400
commite3d7877f4b522c8f735d8fdf8ba626d722b0506c (patch)
tree5b1f40f3aa6d1627c28c990fe04486324d03d0e2 /libmysqld
parent599225749c351cad5a6c27fa04c798ab56d1db73 (diff)
downloadmariadb-git-e3d7877f4b522c8f735d8fdf8ba626d722b0506c.tar.gz
Fix for bug #13546 "Build errors with --with-embedded-server
--with-embedded-privilege-control options". One more (hopefully last) build failure which was introduced during work on WL#2787 "Add view definer/owner to the view definition..." libmysqld/lib_sql.cc: create_embedded_thd()/check_embedded_connection(): Several security related THD members (user, host, ip, priv_user, ...) have moved to the Security_context class. New THD::security_ctx member points to active security context. sql/sql_acl.cc: acl_getroot(): Updated function description to refelect the fact that THD::user/host/ip/... members were moved to separate Security_context class. sql/sql_parse.cc: check_user(): Updated function description to refelect the fact that THD::user/host/ip/... members were moved to separate Security_context class.
Diffstat (limited to 'libmysqld')
-rw-r--r--libmysqld/lib_sql.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/libmysqld/lib_sql.cc b/libmysqld/lib_sql.cc
index 5e621bf4419..8552b1c2b8a 100644
--- a/libmysqld/lib_sql.cc
+++ b/libmysqld/lib_sql.cc
@@ -514,8 +514,8 @@ void *create_embedded_thd(int client_flag, char *db)
thd->db= db;
thd->db_length= db ? strip_sp(db) : 0;
#ifndef NO_EMBEDDED_ACCESS_CHECKS
- thd->db_access= DB_ACLS;
- thd->master_access= ~NO_ACCESS;
+ thd->security_ctx->db_access= DB_ACLS;
+ thd->security_ctx->master_access= ~NO_ACCESS;
#endif
thd->net.query_cache_query= 0;
@@ -542,26 +542,27 @@ int check_embedded_connection(MYSQL *mysql)
int check_embedded_connection(MYSQL *mysql)
{
THD *thd= (THD*)mysql->thd;
+ Security_context *sctx= thd->security_ctx;
int result;
char scramble_buff[SCRAMBLE_LENGTH];
int passwd_len;
if (mysql->options.client_ip)
{
- thd->host= my_strdup(mysql->options.client_ip, MYF(0));
- thd->ip= my_strdup(thd->host, MYF(0));
+ sctx->host= my_strdup(mysql->options.client_ip, MYF(0));
+ sctx->ip= my_strdup(sctx->host, MYF(0));
}
else
- thd->host= (char*)my_localhost;
- thd->host_or_ip= thd->host;
+ sctx->host= (char*)my_localhost;
+ sctx->host_or_ip= sctx->host;
- if (acl_check_host(thd->host,thd->ip))
+ if (acl_check_host(sctx->host, sctx->ip))
{
result= ER_HOST_NOT_PRIVILEGED;
goto err;
}
- thd->user= my_strdup(mysql->user, MYF(0));
+ sctx->user= my_strdup(mysql->user, MYF(0));
if (mysql->passwd && mysql->passwd[0])
{
memset(thd->scramble, 55, SCRAMBLE_LENGTH); // dummy scramble