Add offsets for MySQL 5.6.32. Some whitespace cleanups.

pull/179/head
Arnold Robbins 2016-07-27 13:18:14 +03:00
parent 50b52078a4
commit 7c16d68069
4 changed files with 25 additions and 18 deletions

View File

@ -530,7 +530,7 @@ protected:
virtual void handler_stop();
virtual bool handler_start_internal() = 0;
virtual void handler_stop_internal() = 0;
virtual bool handler_log_audit(ThdSesData *pThdData) =0;
virtual bool handler_log_audit(ThdSesData *pThdData) = 0;
bool m_initialized;
bool m_enabled;
bool m_failed;

View File

@ -26,6 +26,7 @@
#include "static_assert.h"
// utility macro to log also with a date as a prefix
// FIXME: This is no longer used. Remove?
#define log_with_date(f, ...) do {\
struct tm tm_tmp;\
time_t result = time(NULL);\
@ -44,7 +45,7 @@
// initialize static stuff
ThdOffsets Audit_formatter::thd_offsets = { 0 };
Audit_handler *Audit_handler::m_audit_handler_list[Audit_handler::MAX_AUDIT_HANDLERS_NUM];
const char *Audit_json_formatter::DEF_MSG_DELIMITER = "\\n";
const char *Audit_json_formatter::DEF_MSG_DELIMITER = "\\n"; // FIXME: This is used ...
#if MYSQL_VERSION_ID < 50709
#define C_STRING_WITH_LEN(X) ((char *) (X)), ((size_t) (sizeof(X) - 1))
@ -233,7 +234,7 @@ int Audit_file_handler::open(const char *io_dest, bool log_errors)
if (res)
{
sql_print_error(
"%s unable to set bufzie [%zd (%ld)] for file %s: %s.",
"%s unable to set bufsize [%zd (%ld)] for file %s: %s.",
AUDIT_LOG_PREFIX, bufsize, m_bufsize, m_io_dest, strerror(errno));
}
sql_print_information("%s bufsize for file [%s]: %zd. Value of json_file_bufsize: %ld.", AUDIT_LOG_PREFIX, m_io_dest,
@ -830,7 +831,7 @@ bool ThdSesData::getNextObject(const char **db_name, const char **obj_name, cons
case OBJ_QUERY_CACHE:
{
if (m_index < m_tableInf->num_of_elem &&
m_index< MAX_NUM_QUERY_TABLE_ELEM)
m_index < MAX_NUM_QUERY_TABLE_ELEM)
{
*db_name = m_tableInf->db[m_index];
*obj_name = m_tableInf->table_name[m_index];

View File

@ -22,6 +22,8 @@
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MYSQL 64 OFFSETS GO HERE +++ */
//offsets for: /mysqlrpm/5.6.32/usr/sbin/mysqld (5.6.32)
{"5.6.32","e7fb65c8c8c817e58de0a1ce9dcad845", 6992, 7040, 4000, 4520, 72, 2704, 96, 0, 32, 104, 136, 7128},
//offsets for: /mysqlrpm/5.5.50/usr/sbin/mysqld (5.5.50)
{"5.5.50","c1b990f432d684f1d5abe3969146ee9d", 6144, 6192, 3816, 4312, 88, 2592, 96, 0, 32, 104, 120, 6264},
//offsets for: /mysqlrpm/5.6.31/usr/sbin/mysqld (5.6.31)
@ -437,6 +439,8 @@ const ThdOffsets thd_offsets_arr[] =
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MYSQL 32 OFFSETS GO HERE +++ */
//offsets for: /mysqlrpm/5.6.32/usr/sbin/mysqld (5.6.32)
{"5.6.32","f3b529d1a6c2d051f9ee0930004129ab", 4676, 4704, 2660, 3052, 36, 1748, 60, 0, 20, 64, 72, 4776},
//offsets for: /mysqlrpm/5.5.50/usr/sbin/mysqld (5.5.50)
{"5.5.50","2adacdba4c475e574dedbf97366159c7", 3872, 3900, 2368, 2748, 44, 1656, 60, 0, 20, 64, 60, 3956},
//offsets for: /mysqlrpm/5.6.31/usr/sbin/mysqld (5.6.31)

View File

@ -396,11 +396,11 @@ static int audit_send_result_to_client(Query_cache *pthis, THD *thd, const LEX_
#endif
{
int res;
void *pList = thd_alloc (thd, sizeof (QueryTableInf));
void *pList = thd_alloc(thd, sizeof (QueryTableInf));
if (pList)
{
memset (pList,0,sizeof (QueryTableInf));
memset(pList,0,sizeof (QueryTableInf));
THDVAR(thd, query_cache_table_list) =(ulong)pList;
}
@ -411,8 +411,8 @@ static int audit_send_result_to_client(Query_cache *pthis, THD *thd, const LEX_
#endif
if (res)
{
ThdSesData thd_data (thd);
audit (&thd_data);
ThdSesData thd_data(thd);
audit(&thd_data);
}
THDVAR(thd, query_cache_table_list) = 0;
return res;
@ -502,8 +502,8 @@ static int audit_notify(THD *thd, mysql_event_class_t event_class,
// only audit for connect and change_user. disconnect is caught by general event
if (event_connection->event_subclass != MYSQL_AUDIT_CONNECTION_DISCONNECT)
{
ThdSesData ThdData (thd);
audit (&ThdData);
ThdSesData ThdData(thd);
audit(&ThdData);
}
}
#if ! defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 50709
@ -617,7 +617,7 @@ int is_remove_patches(ThdSesData *pThdData)
const char *cmd = pThdData->getCmdName();
const char *sUninstallPlugin = "uninstall_plugin";
LEX *pLex = Audit_formatter::thd_lex(pThdData->getTHD());
if (pThdData->getTHD() && pLex!=NULL && strncasecmp(cmd, sUninstallPlugin, strlen(sUninstallPlugin)) == 0)
if (pThdData->getTHD() && pLex != NULL && strncasecmp(cmd, sUninstallPlugin, strlen(sUninstallPlugin)) == 0)
{
LEX_STRING Lex_comment = *(LEX_STRING*)(((unsigned char *) pLex) + Audit_formatter::thd_offsets.lex_comment);
if (strncasecmp(Lex_comment.str, "AUDIT", 5) == 0)
@ -778,7 +778,7 @@ static bool parse_thd_offsets_string (char *poffsets_string)
for (size_t j = 0; j < len; j++)
{
if (!((poffset_str[j] >= '0' && poffset_str[j] <= '9') || poffset_str[j] == ' ' || poffset_str[j] == ','))
if (! (isdigit(poffset_str[j]) || poffset_str[j] == ' ' || poffset_str[j] == ','))
{
return false;
}
@ -1050,7 +1050,7 @@ static int setup_offsets()
if (offsets_by_version_enable)
{
bool server_is_ndb = strstr(server_version, "ndb") != NULL;
for (size_t i=0; i < arr_size; i++)
for (size_t i = 0; i < arr_size; i++)
{
offset = thd_offsets_arr + i;
const char *version = offset->version;
@ -1430,7 +1430,8 @@ static void json_socket_name_update(THD *thd, struct st_mysql_sys_var *var, void
}
const char *str = str_val;
const size_t buff_len = array_elements( json_socket_name_buff) -1;
const size_t buff_len = array_elements(json_socket_name_buff) - 1;
// copy str to buffer only if str is not pointing to buff
if (NULL == str)
{
@ -1438,11 +1439,12 @@ static void json_socket_name_update(THD *thd, struct st_mysql_sys_var *var, void
}
else if (str != json_socket_name_buff)
{
strncpy( json_socket_name_buff , str, buff_len);
strncpy(json_socket_name_buff, str, buff_len);
}
if (strlen(json_socket_name_buff) == 0 && (mysqld_port > 0 || mysqld_unix_port)) // set default
{
const char *name_prefix = "/tmp/mysql.audit_";
const char *name_prefix = "/var/run/db-audit/mysql.audit_";
size_t indx = strlen(name_prefix); // count how much to move forward the buff
strncpy(json_socket_name_buff, name_prefix, buff_len);
@ -1830,7 +1832,7 @@ static MYSQL_SYSVAR_STR(json_log_file, json_file_handler.m_io_dest,
NULL, NULL, "mysql-audit.json");
static MYSQL_SYSVAR_LONG(json_file_bufsize, json_file_handler.m_bufsize,
PLUGIN_VAR_RQCMDARG,
"AUDIT plugin json log file buffer size. Buffer size in bytes (lager size may improve performance). 0 = use default size, 1 = no buffering. If changed during runtime need to perform a flush for the new value to take affect.",
"AUDIT plugin json log file buffer size. Buffer size in bytes (larger size may improve performance). 0 = use default size, 1 = no buffering. If changed during runtime need to perform a flush for the new value to take affect.",
NULL, NULL, 0, 1, 262144, 0);
static MYSQL_SYSVAR_UINT(json_file_sync, json_file_handler.m_sync_period,
@ -1922,7 +1924,7 @@ static MYSQL_SYSVAR_STR(password_masking_cmds, password_masking_cmds_string,
PLUGIN_VAR_RQCMDARG,
"AUDIT plugin commands to apply password masking regex to, comma separated",
NULL, password_masking_cmds_string_update,
// set passowrd is recoreded as set_option
// set password is recorded as set_option
"CREATE_USER,GRANT,SET_OPTION,SLAVE_START,CREATE_SERVER,ALTER_SERVER,CHANGE_MASTER");
static MYSQL_SYSVAR_STR(whitelist_users, whitelist_users_string,
PLUGIN_VAR_RQCMDARG,