23#ifndef MYSQL_SERVICE_SECURITY_CONTEXT
24#define MYSQL_SERVICE_SECURITY_CONTEXT
39#define MYSQL_SECURITY_CONTEXT Security_context *
41#define MYSQL_SECURITY_CONTEXT void *
108 const char *ip,
const char *db);
122 const char *
name,
void *pvalue);
125#ifdef MYSQL_DYNAMIC_PLUGIN
127#define thd_get_security_context(_THD, _CTX) \
128 security_context_service->thd_get_security_context(_THD, _CTX)
129#define thd_set_security_context(_THD, _CTX) \
130 security_context_service->thd_set_security_context(_THD, _CTX)
132#define security_context_create(_CTX) \
133 security_context_service->security_context_create(_CTX)
134#define security_context_destroy(_CTX) \
135 security_context_service->security_context_destroy(_CTX)
136#define security_context_copy(_CTX1, _CTX2) \
137 security_context_service->security_context_copy(_CTX1, _CTX2)
139#define security_context_lookup(_CTX, _U, _H, _IP, _DB) \
140 security_context_service->security_context_lookup(_CTX, _U, _H, _IP, _DB)
142#define security_context_get_option(_SEC_CTX, _NAME, _VALUE) \
143 security_context_service->security_context_get_option(_SEC_CTX, _NAME, _VALUE)
144#define security_context_set_option(_SEC_CTX, _NAME, _VALUE) \
145 security_context_service->security_context_set_option(_SEC_CTX, _NAME, _VALUE)
158 const char *ip,
const char *db);
161 const char *
name,
void *inout_pvalue);
163 const char *
name,
void *pvalue);
#define MYSQL_THD
Definition: backup_page_tracker.h:37
A set of THD members describing the current authenticated user.
Definition: sql_security_ctx.h:52
struct security_context_service_st * security_context_service
char * user
Definition: mysqladmin.cc:64
const char * host
Definition: mysqladmin.cc:63
my_svc_bool thd_get_security_context(MYSQL_THD, MYSQL_SECURITY_CONTEXT *out_ctx)
Gets the security context for the thread.
Definition: service_security_context.cc:54
my_svc_bool security_context_set_option(MYSQL_SECURITY_CONTEXT, const char *name, void *pvalue)
Sets a value for a named security context attribute Currently defined names are:
Definition: service_security_context.cc:303
my_svc_bool security_context_lookup(MYSQL_SECURITY_CONTEXT ctx, const char *user, const char *host, const char *ip, const char *db)
Looks up in the defined user accounts an account based on the user@host[ip] combo supplied and checks...
Definition: service_security_context.cc:176
my_svc_bool security_context_create(MYSQL_SECURITY_CONTEXT *out_ctx)
Creates a new security context and initializes it with the defaults (no access, no user etc).
Definition: service_security_context.cc:108
my_svc_bool security_context_get_option(MYSQL_SECURITY_CONTEXT, const char *name, void *inout_pvalue)
Reads a named security context attribute and returns its value.
Definition: service_security_context.cc:238
char my_svc_bool
Definition: service_security_context.h:43
my_svc_bool security_context_copy(MYSQL_SECURITY_CONTEXT in_ctx, MYSQL_SECURITY_CONTEXT *out_ctx)
Duplicates a security context.
Definition: service_security_context.cc:145
#define MYSQL_SECURITY_CONTEXT
an opaque class reference hiding the actual security context object.
Definition: service_security_context.h:39
my_svc_bool thd_set_security_context(MYSQL_THD, MYSQL_SECURITY_CONTEXT in_ctx)
Sets a new security context for the thread.
Definition: service_security_context.cc:79
my_svc_bool security_context_destroy(MYSQL_SECURITY_CONTEXT ctx)
Deallocates a security context.
Definition: service_security_context.cc:126
case opt name
Definition: sslopt-case.h:32
This service provides functions for plugins and storage engines to manipulate the thread's security c...
Definition: service_security_context.h:71
my_svc_bool(* security_context_destroy)(MYSQL_SECURITY_CONTEXT)
Creates a new security context.
Definition: service_security_context.h:94
my_svc_bool(* thd_get_security_context)(MYSQL_THD, MYSQL_SECURITY_CONTEXT *out_ctx)
Retrieves a handle to the current security context for a thread.
Definition: service_security_context.h:76
my_svc_bool(* security_context_create)(MYSQL_SECURITY_CONTEXT *out_ctx)
Creates a new security context.
Definition: service_security_context.h:89
my_svc_bool(* security_context_copy)(MYSQL_SECURITY_CONTEXT in_ctx, MYSQL_SECURITY_CONTEXT *out_ctx)
Creates a copy of a security context.
Definition: service_security_context.h:99
my_svc_bool(* thd_set_security_context)(MYSQL_THD, MYSQL_SECURITY_CONTEXT in_ctx)
Sets a new security context for a thread.
Definition: service_security_context.h:82
my_svc_bool(* security_context_lookup)(MYSQL_SECURITY_CONTEXT ctx, const char *user, const char *host, const char *ip, const char *db)
Fills in a security context with the attributes of a user account.
Definition: service_security_context.h:106
my_svc_bool(* security_context_set_option)(MYSQL_SECURITY_CONTEXT, const char *name, void *pvalue)
Sets a new value for a named attribute of a security context.
Definition: service_security_context.h:121
my_svc_bool(* security_context_get_option)(MYSQL_SECURITY_CONTEXT, const char *name, void *inout_pvalue)
Retrieves the value for a named attribute of a security context.
Definition: service_security_context.h:114