mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-19275 Provide SQL service to plugins.
Protocol_local fixed so it can be used now. Some Protocol:: methods made virtual so they can adapt. as well as net_ok and net_send_error functions. execute_sql_string function is exported to the plugins. To be changed with the mysql_use_result.
This commit is contained in:
@ -254,35 +254,36 @@ void mysql_audit_notify_connection_disconnect(THD *thd, int errcode)
|
||||
}
|
||||
|
||||
static inline
|
||||
void mysql_audit_notify_connection_change_user(THD *thd)
|
||||
void mysql_audit_notify_connection_change_user(THD *thd,
|
||||
const Security_context *old_ctx)
|
||||
{
|
||||
if (mysql_audit_connection_enabled())
|
||||
{
|
||||
const Security_context *sctx= thd->security_ctx;
|
||||
mysql_event_connection event;
|
||||
|
||||
event.event_subclass= MYSQL_AUDIT_CONNECTION_CHANGE_USER;
|
||||
event.status= thd->get_stmt_da()->is_error() ?
|
||||
thd->get_stmt_da()->sql_errno() : 0;
|
||||
event.thread_id= (unsigned long)thd->thread_id;
|
||||
event.user= sctx->user;
|
||||
event.user_length= safe_strlen_uint(sctx->user);
|
||||
event.priv_user= sctx->priv_user;
|
||||
event.priv_user_length= strlen_uint(sctx->priv_user);
|
||||
event.external_user= sctx->external_user;
|
||||
event.external_user_length= safe_strlen_uint(sctx->external_user);
|
||||
event.proxy_user= sctx->proxy_user;
|
||||
event.proxy_user_length= strlen_uint(sctx->proxy_user);
|
||||
event.host= sctx->host;
|
||||
event.host_length= safe_strlen_uint(sctx->host);
|
||||
event.ip= sctx->ip;
|
||||
event.ip_length= safe_strlen_uint(sctx->ip);
|
||||
event.user= old_ctx->user;
|
||||
event.user_length= safe_strlen_uint(old_ctx->user);
|
||||
event.priv_user= old_ctx->priv_user;
|
||||
event.priv_user_length= strlen_uint(old_ctx->priv_user);
|
||||
event.external_user= old_ctx->external_user;
|
||||
event.external_user_length= safe_strlen_uint(old_ctx->external_user);
|
||||
event.proxy_user= old_ctx->proxy_user;
|
||||
event.proxy_user_length= strlen_uint(old_ctx->proxy_user);
|
||||
event.host= old_ctx->host;
|
||||
event.host_length= safe_strlen_uint(old_ctx->host);
|
||||
event.ip= old_ctx->ip;
|
||||
event.ip_length= safe_strlen_uint(old_ctx->ip);
|
||||
event.database= thd->db;
|
||||
|
||||
mysql_audit_notify(thd, MYSQL_AUDIT_CONNECTION_CLASS, &event);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static inline
|
||||
void mysql_audit_external_lock_ex(THD *thd, my_thread_id thread_id,
|
||||
const char *user, const char *host, const char *ip, query_id_t query_id,
|
||||
|
Reference in New Issue
Block a user