in plugin/server_audit/server_audit.cc [2077:2145]
static int server_audit_init(void *p __attribute__((unused)))
{
sql_print_information("Initializing audit plugin.....");
if (!serv_ver)
{
serv_ver= (const char*)find_sym("server_version");
}
if(!(int_mysql_data_home= (char**)find_sym("mysql_data_home")))
{
if(!(int_mysql_data_home= (char**)find_sym("?mysql_data_home@@3PADA")))
int_mysql_data_home= const_cast<char **>(&default_home);
}
if (!serv_ver)
return 1;
if (gethostname(servhost, sizeof(servhost)))
strncpy(servhost, "unknown", 7);
servhost_len= (uint)strlen(servhost);
logger_init_mutexes();
#ifdef HAVE_PSI_INTERFACE
mysql_mutex_register("server_audit", mutex_key_list, array_elements(mutex_key_list));
#endif
mysql_prlock_init(key_LOCK_operations, &lock_operations);
flogger_mutex_init(key_LOCK_operations, &lock_atomic, MY_MUTEX_INIT_FAST);
flogger_mutex_init(key_LOCK_operations, &lock_bigbuffer, MY_MUTEX_INIT_FAST);
coll_init(&incl_user_coll);
coll_init(&excl_user_coll);
if (incl_users)
{
if (excl_users)
{
incl_users= excl_users= NULL;
error_header();
fprintf(stderr, "INCL_DML_USERS and EXCL_DML_USERS specified"
" simultaneously - both set to empty\n");
}
update_incl_users(NULL, NULL, NULL, &incl_users);
}
else if (excl_users)
{
update_excl_users(NULL, NULL, NULL, &excl_users);
}
error_header();
fprintf(stderr, "MySQL Audit Plugin version %s%s STARTED.\n",
PLUGIN_STR_VERSION, PLUGIN_DEBUG_VERSION);
ci_disconnect_buffer.header= 10;
ci_disconnect_buffer.thread_id= 0;
ci_disconnect_buffer.query_id= 0;
ci_disconnect_buffer.db_length= 0;
ci_disconnect_buffer.user_length= 0;
ci_disconnect_buffer.host_length= 0;
ci_disconnect_buffer.ip_length= 0;
ci_disconnect_buffer.query= empty_str;
ci_disconnect_buffer.query_length= 0;
if (logging)
start_logging();
init_done= 1;
return 0;
}