13 Commits

Author SHA1 Message Date
Patrick Wade
10c4255ebe Added support for:
Percona 64-bit  5.7.34-37
MySQL 64-bit   8.0.25, 8.0.24, 5.7.34
MariaDB 64-bit  10.2.39, 10.2.38, 10.5.11, 10.5.10, 10.4.20, 10.4.19, 10.4.18, 10.4.17, 10.4.16, 10.4.15, 10.4.14, 10.4.13, 10.4.12, 10.4.11, 10.4.10, 10.4.8, 10.4.7, 10.4.6

MySQL 32-bit   5.7.34
MariaDB 32-bit  10.2.39, 10.2.38
2021-09-14 15:47:30 +01:00
William Barrett
e2b3d52fc7 Update CODEOWNERS 2021-08-20 15:15:48 +01:00
William Barrett
0bf751633a Create CODEOWNERS 2021-08-20 10:25:27 +01:00
William Barrett
85557b0f03 Updating README to point to LICENSE 2021-08-03 12:37:45 +01:00
William Barrett
974a169127 Create LICENSE.md 2021-08-03 12:36:30 +01:00
William Barrett
e87e8ec29d Update README.md
Updating README.md to point to CONTRIBUTING.md
2021-07-20 18:28:23 +01:00
William Barrett
a48d47210d Create CONTRIBUTING.md 2021-07-20 18:27:11 +01:00
William Barrett
9514cd999b Update README.md
Minor changes to README
2021-06-25 11:06:21 +01:00
Patrick Wade
b02c4b443c Added support for:
Percona  64-bit  5.7.32-35, 5.7.33-36
MySQL  64-bit   8.0.23, 5.7.33, 5.6.51
MariaDB 64-bit  10.2.37, 10.5.4, 10.5.5, 10.5.6, 10.5.7, 10.5.8, 10.5.9
MySQL  32-bit   5.7.33, 5.6.51
Plugin now provides OS User and Application details in events for MariaDB, where available.
2021-06-01 16:01:22 +01:00
William Barrett
a45cbf78fd Update README.md
No Longer publishing releases to Bintray
2021-04-29 17:42:39 +01:00
Patrick Wade
7057e313ff Adding McAfee code of conduct 2021-04-28 15:23:54 +01:00
Patrick Wade
cd928db022 Updating with the latest offsets for
Percona64 	5.7.31-34
MySQL64 	5.6.50, 5.7.32
MariaDB64	10.2.36, 10.2.35, 10.1.48
MySQL32		5.6.50, 5.7.32
MariaDB32	10.2.36, 10.2.35, 10.1.48
2021-02-23 16:47:11 +00:00
pwrpw
622366a459 Update README.md 2021-02-21 13:33:43 +00:00
16 changed files with 558 additions and 97 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
@awalicka @pwrpw @wpdbarrett

76
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at opensource@mcafee.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

63
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,63 @@
# Contributing to mysql-audit
Welcome, and thank you for your interest in contributing to mysql-audit!
## Asking Questions
Have a question? </br>
We accept questions as issues on GitHub.</br>
https://github.com/mcafee/mysql-audit/issues
## Providing Feedback
Have some feedback? We would love to hear it!</br>
Open an issue and let us know what you think.</br>
https://github.com/mcafee/mysql-audit/issues
## Reporting Issues
Found a bug?
Please feel free to report to: https://github.com/mcafee/mysql-audit/issues
### Look For an Existing Issue
Before you create a new issue, please do a search in [open issues](https://github.com/mcafee/mysql-audit/issues) to see if the issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment:
* 👍 - upvote
* 👎 - downvote
If you cannot find an existing issue that describes your bug or feature, create a new issue using the guidelines below.
### Writing Good Bug Reports and Feature Requests
Be sure to include a **title and clear description** with as much information as possible.
If reporting a bug, please describe the problem verbosely. Try to see if it reproduces and
include a detailed description on how to reproduce.
Make sure to include your MySQL Server version and Audit Plugin version.
To print MySQL Server version: log into MySQL and execute the command:
status
Please include with the bug the MySQL error log.
Log file location can be queried by running the following command:
show global variables like 'log_error'
## Contributing
* Open a new GitHub pull request with a patch - name the patch something along the lines of `{contributor-name}-short-description`
* Ensure the pull request description clearly describes the problem/fix and solution. Include the relevant issue number if applicable.
* Follow the coding and documentation conventions in the existing project. Pull requests that simply reformat or restructure the content will not be accepted.
# Thank You!
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.

13
LICENSE.md Normal file
View File

@@ -0,0 +1,13 @@
# License
Copyright (C) 2021 McAfee, LLC.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
See COPYING file for a copy of the GPL Version 2 license.
<sup>*</sup> Other trademarks and brands may be claimed as the property of others.

View File

@@ -1,56 +1,31 @@
AUDIT Plugin for MySQL<sup>*</sup>
===================
# AUDIT Plugin for MySQL<sup>*</sup>
## Overview
A MySQL plugin from McAfee providing audit capabilities for MySQL,
designed with an emphasis on security and audit requirements. The plugin may be used
as a standalone audit solution or configured to feed data to external monitoring tools.
Installation and Configuration
------------------------------
Please check out our wiki on github for detailed installation and configuration instructions:
## Documentation
Please check out our wiki on GitHub. <br/>
https://github.com/mcafee/mysql-audit/wiki
Issues
------------------------------
## Installation / Configuration
Official McAfee plugin binary releases can be downloaded from the Releases page on GitHub: <br/>
https://github.com/mcafee/mysql-audit/releases
Please check out our wiki on GitHub for detailed installation and configuration instructions: <br/>
https://github.com/mcafee/mysql-audit/wiki
## Feedback / Bug Reporting
Found a bug? Got a feature request or question?
Please feel free to report to: https://github.com/mcafee/mysql-audit/issues
If reporting a bug, please describe the problem verbosely. Try to see if it reproduces and
include a detailed description on how to reproduce.
Make sure to include your MySQL Server version and Audit Plugin version.
To print MySQL Server version: log into MySQL and execute the command:
status
Please include with the bug the MySQL error log.
Log file location can be queried by running the following command:
show global variables like 'log_error'
Check out the [CONTRIBUTING.md](https://github.com/mcafee/mysql-audit/blob/master/CONTRIBUTING.md) to see how you can get involved.
Source Code
-------------------------------
## Source Code
Source code is available at: https://github.com/mcafee/mysql-audit
License
-------------------------------
Copyright (C) 2011-2018 McAfee, LLC.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
See COPYING file for a copy of the GPL Version 2 license.
<sup>*</sup> Other trademarks and brands may be claimed as the property of others.

View File

@@ -96,5 +96,5 @@ http://dev.mysql.com/doc/refman/5.1/en/source-configuration-options.html
10. cd ../..
11. chmod +x bootstrap.sh
12. ./bootstrap.sh
13. CXX='gcc -static-libgcc' CC='gcc -static-libgcc' MYSQL_AUDIT_PLUGIN_VERSION=1.1.7 MYSQL_AUDIT_PLUGIN_REVISION=`svn info|grep ^Revision|awk -F ": " '{print $2}'` ./configure --enable-debug=no --with-mysql=mariadb-10.2.10 --with-mysql-libservices=mariadb-10.2.10/libservices/libmysqlservices.a
13. CXX='gcc -static-libgcc' CC='gcc -static-libgcc' MYSQL_AUDIT_PLUGIN_VERSION=1.1.9 MYSQL_AUDIT_PLUGIN_REVISION=`svn info|grep ^Revision|awk -F ": " '{print $2}'` ./configure --enable-debug=no --with-mysql=mariadb-10.2.10 --with-mysql-libservices=mariadb-10.2.10/libservices/libmysqlservices.a
14. gmake <======== This will create the plugin "libaudit_plugin.so"

View File

@@ -33,7 +33,7 @@ dnl
dnl table_id.h included from table.h included by mysql_inc.h is
dnl in libbinlogevents/include.
AC_DEFINE([MYSQL_SRC], [1], [Source directory for MySQL])
MYSQL_INC="-I$withval/sql -I$withval/libbinlogevents/export -I$withval/libbinlogevents/include -I$withval/include -I$withval/regex -I$withval -I$withval/extra/rapidjson/include"
MYSQL_INC="-I$withval/sql -I$withval/libbinlogevents/export -I$withval/libbinlogevents/include -I$withval/include -I$withval/regex -I$withval -I$withval/extra/rapidjson/include -I$withval/wsrep-lib/include -I$withval/wsrep-lib/wsrep-API/v26"
AC_MSG_RESULT(["$withval"])
],
[

View File

@@ -137,6 +137,19 @@ AC_SUBST(CPPFLAGS)
AC_SUBST(CXXLAGS)
AC_SUBST(CLAGS)
#mariadb-visibility section start
AC_ARG_ENABLE(mariadb-visibility,
[ --enable-mariadb-visibility, Enable symbol visibility for Mariadb, default:no ],
[case "${enableval}" in
yes) mariadb_visibility=yes ;;
no) mariadb_visibility=no ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-mariadb-visibility]) ;;
esac],
[ mariadb_visibility=no ]
)
AC_MSG_RESULT($mariadb_visibility)
AM_CONDITIONAL([ENABLE_MARIADB_SYMBOLS], [test "x$mariadb_visibility" = "xyes"])
#mariadb-visibility section end
AC_CONFIG_FILES([Makefile
src/Makefile

View File

@@ -252,8 +252,14 @@ public:
{
if (! Audit_formatter::thd_offsets.db) // no offsets use compiled in header
{
#if defined(MARIADB_BASE_VERSION) || MYSQL_VERSION_ID < 50709
#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID < 50709
return thd->db;
#elif defined(MARIADB_BASE_VERSION)
#if MYSQL_VERSION_ID >= 100307
return thd->db.str;
#else
return thd->db;
#endif
#else
return thd->db().str;
#endif
@@ -395,7 +401,7 @@ public:
}
#endif
static inline const char * pfs_connect_attrs(void * pfs)
static inline const char * pfs_connect_attrs(const void * pfs)
{
if (! Audit_formatter::thd_offsets.pfs_connect_attrs || pfs == NULL)
{
@@ -407,7 +413,7 @@ public:
return *pfs_pointer;
}
static inline uint pfs_connect_attrs_length(void * pfs)
static inline uint pfs_connect_attrs_length(const void * pfs)
{
if (! Audit_formatter::thd_offsets.pfs_connect_attrs_length || pfs == NULL)
{
@@ -417,7 +423,7 @@ public:
return *(uint *) (((unsigned char *) pfs) + Audit_formatter::thd_offsets.pfs_connect_attrs_length);
}
static inline const CHARSET_INFO * pfs_connect_attrs_cs(void * pfs)
static inline const CHARSET_INFO * pfs_connect_attrs_cs(const void * pfs)
{
if (! Audit_formatter::thd_offsets.pfs_connect_attrs_cs || pfs == NULL)
{
@@ -441,7 +447,7 @@ static inline const CHARSET_INFO * pfs_connect_attrs_cs(void * pfs)
// major, minor, patch);
}
if ( ( major == 5 && ( (minor == 6 && patch >= 15) || minor >= 7) ) // MySQL
if ( ( major == 5 && ( (minor == 6 && patch >= 15) || minor >= 7) ) || (major == 8) // MySQL
|| ( major == 10 && ( (minor == 0 && patch >= 11) || minor >= 1) ) ) // MariaDB
{
uint cs_number = *(uint *) (((unsigned char *) pfs) + Audit_formatter::thd_offsets.pfs_connect_attrs_cs);
@@ -572,12 +578,20 @@ static inline const CHARSET_INFO * pfs_connect_attrs_cs(void * pfs)
// and it may return an invalid value for view_db
static inline const char *table_get_db_name(TABLE_LIST *table)
{
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100307
return table->db.str;
#else
return table->db;
#endif
}
static inline const char *table_get_name(TABLE_LIST *table)
{
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100307
return table->table_name.str;
#else
return table->table_name;
#endif
}
static inline bool table_is_view(TABLE_LIST *table)

View File

@@ -31,13 +31,21 @@
#include <mysql/plugin_audit.h>
#endif
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100307
// From MariaDB 10.3 we include macro definitions for items like MY_GNUC_PREREQ
#include <my_compiler.h>
#include <my_global.h>
#endif
#include <sql_parse.h>
#include <sql_class.h>
#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 80019
#include <mysql/components/services/mysql_connection_attributes_iterator.h>
#include <mysql/components/my_service.h>
#include <mysql/service_plugin_registry.h>
#endif
#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 80000
using my_bool = bool;
#if MYSQL_VERSION_ID < 80012
@@ -50,9 +58,12 @@ using my_bool = bool;
#include <sql/protocol.h>
#include <sql/sql_lex.h>
#else
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID < 100504
#include <my_global.h>
#endif
typedef struct st_mysql_sys_var SYS_VAR;
#endif
#include <sql_connect.h>
#include <sql/sql_base.h>
#include <sql/sql_table.h>
@@ -103,10 +114,11 @@ extern "C" char *thd_security_context(MYSQL_THD thd, char *buffer, unsigned int
#endif
#endif
//Define HAVE_SESS_CONNECT_ATTRS. We define it for mysql 5.6 and above
#if (!defined(MARIADB_BASE_VERSION)) && MYSQL_VERSION_ID >= 50600
//Define HAVE_SESS_CONNECT_ATTRS. We define it for mysql 5.6 and above and MariaDB 10.0 and above
#if MYSQL_VERSION_ID >= 50600
#define HAVE_SESS_CONNECT_ATTRS 1
#endif
#include <storage/perfschema/pfs_instr.h>
#if defined(MARIADB_BASE_VERSION) || MYSQL_VERSION_ID < 80000
@@ -169,7 +181,7 @@ static inline bool vio_socket_connect(MYSQL_VIO vio, struct sockaddr *addr, sock
if (_vio_socket_connect_80020) return _vio_socket_connect_80020(vio, addr, len, false, timeout, nullptr);
return true;
}
static inline bool init()
static inline bool init_vio_socket_connect()
{
void* handle = dlopen(NULL, RTLD_LAZY);
if (!handle)
@@ -182,6 +194,57 @@ static inline bool init()
}
#endif
#endif
/*********************************************/
/* PFS_thread::get_current_thread */
/*********************************************/
#if defined(HAVE_SESS_CONNECT_ATTRS) && defined(MARIADB_BASE_VERSION)
typedef const ::PFS_thread* (*pfs_thread_t)();
extern pfs_thread_t _pfs_thread_get_current_thread;
extern PSI_v1* _psi_interface;
namespace PFS_thread {
static inline const ::PFS_thread* get_current_thread()
{
// Try PFS_thread and PSI_hook when MariaDB
if (_pfs_thread_get_current_thread) return _pfs_thread_get_current_thread();
if (_psi_interface) return (::PFS_thread*)_psi_interface->get_thread();
return NULL;
}
}
static inline bool init_PFS_thread_get_current_thread()
{
// obtain the PFS_thread::get_current_thread() address if it is exported
void* handle = dlopen(NULL, RTLD_LAZY);
if (handle) {
_pfs_thread_get_current_thread = (pfs_thread_t)dlsym(handle, "_ZN10PFS_thread18get_current_threadEv");
dlclose(handle);
}
// obtain the PSI interface address
if (PSI_hook)
_psi_interface = (PSI_v1*)PSI_hook->get_interface(PSI_VERSION_1);
if (!_pfs_thread_get_current_thread && !_psi_interface)
sql_print_information("Failed to initialize Performance Schema. 'osuser' and 'appname' will not be avalilable.");
return true;
}
#elif defined(HAVE_SESS_CONNECT_ATTRS)
namespace PFS_thread {
static inline const ::PFS_thread* get_current_thread()
{
// Use PFS_thread when MySQL
return ::PFS_thread::get_current_thread();
}
}
#endif
static inline bool init()
{
#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 80000
return init_vio_socket_connect();
#elif defined(HAVE_SESS_CONNECT_ATTRS) && defined(MARIADB_BASE_VERSION)
return init_PFS_thread_get_current_thread();
#else
return true;
#endif
}
}
#endif // MYSQL_INCL_H

View File

@@ -59,7 +59,7 @@ fi
# In 5.6.15 and up, 5.7 and mariabdb 10.0.11 and up, mariadb 10.1
# m_session_connect_attrs_cs changed to m_session_connect_attrs_cs_number
if echo $MYVER | grep -P '^(5\.7|8\.|10\.[1-2]|5\.6\.(1[5-9]|[2-9][0-9])|10.0.(1[1-9]|[2-9][0-9]))' > /dev/null
if echo $MYVER | grep -P '^(5\.7|8\.|10\.[1-5]|5\.6\.(1[5-9]|[2-9][0-9])|10.0.(1[1-9]|[2-9][0-9]))' > /dev/null
then
CONNECT_ATTRS_CS=m_session_connect_attrs_cs_number
fi
@@ -111,9 +111,9 @@ else
fi
# Exit status info 5.5, 5.6, 5.7
DA_STATUS="print_offset Diagnostics_area m_status" # 5.5, 5.6, 5.7, mariadb 10.0, 10.1, 10.2
DA_SQL_ERRNO="print_offset Diagnostics_area m_sql_errno" # 5.5, 5.6, mariadb 10.0, 10.1, 10.2
STMT_DA="print_offset THD m_stmt_da" # 5.6, 5.7, mariadb 10.0, 10.1, 10.2
DA_STATUS="print_offset Diagnostics_area m_status" # 5.5, 5.6, 5.7, mariadb 10.0 to 10.5
DA_SQL_ERRNO="print_offset Diagnostics_area m_sql_errno" # 5.5, 5.6, mariadb 10.0 to 10.5
STMT_DA="print_offset THD m_stmt_da" # 5.6, 5.7, mariadb 10.0 to 10.5
if echo $MYVER | grep -P '^(5\.7|8\.0)' > /dev/null
then

View File

@@ -24,7 +24,11 @@ pkgplugin_LTLIBRARIES = libaudit_plugin.la
libaudit_plugin_la_DEPENDENCIESADD = pcre
libaudit_plugin_la_LDFLAGS = -module -Wl,--version-script=MySQLPlugin.map
if ENABLE_MARIADB_SYMBOLS
libaudit_plugin_la_LDFLAGS = -module -Wl,--version-script=MariadbPlugin.map
else
libaudit_plugin_la_LDFLAGS = -module -Wl,--version-script=MySQLPlugin.map
endif
libaudit_plugin_la_SOURCES = hot_patch.cc audit_offsets.cc audit_plugin.cc audit_handler.cc md5.cc

13
src/MariadbPlugin.map Normal file
View File

@@ -0,0 +1,13 @@
{
global:
_mysql_plugin_declarations_;
_mysql_plugin_interface_version_;
_mysql_sizeof_struct_st_plugin_;
_maria_plugin_declarations_;
_maria_plugin_interface_version_;
_maria_sizeof_struct_st_plugin_;
audit_plugin_so_init;
thd_alloc_service;
local: *;
};

View File

@@ -759,9 +759,7 @@ static const char *replace_in_string(THD *thd,
}
#ifdef HAVE_SESS_CONNECT_ATTRS
#include <storage/perfschema/pfs_instr.h>
#if defined(MARIADB_BASE_VERSION) || MYSQL_VERSION_ID < 80000
#if MYSQL_VERSION_ID < 80000
//declare the function: parse_length_encoded_string from: storage/perfschema/table_session_connect.cc
bool parse_length_encoded_string(const char **ptr,
char *dest, uint dest_size,
@@ -772,7 +770,7 @@ bool parse_length_encoded_string(const char **ptr,
uint nchars_max);
#else
// the function is not exported in MySQL 8
// the function is not exported in MySQL 8 and neither in MariaDB
/**
Take a length encoded string
@@ -801,8 +799,6 @@ static bool parse_length_encoded_string(
)
{
ulong copy_length, data_length;
const char *well_formed_error_pos = NULL, *cannot_convert_error_pos = NULL,
*from_end_pos = NULL;
copy_length = data_length = net_field_length((uchar **)ptr);
@@ -815,10 +811,35 @@ static bool parse_length_encoded_string(
return true;
}
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100504
String_copier copier;
copy_length = copier.well_formed_copy(
&my_charset_utf8mb3_bin
, dest
, dest_size
, from_cs
, *ptr
, data_length
, nchars_max
);
#elif defined(MARIADB_BASE_VERSION) && ( MYSQL_VERSION_ID >= 100104 && MYSQL_VERSION_ID < 100504 )
String_copier copier;
copy_length = copier.well_formed_copy(
&my_charset_utf8_bin
, dest
, dest_size
, from_cs
, *ptr
, data_length
, nchars_max
);
#else
/*
TODO: Migrate the data itself to UTF8MB4,
this is still UTF8MB3 printed in a UTF8MB4 column.
*/
const char *well_formed_error_pos = NULL, *cannot_convert_error_pos = NULL,
*from_end_pos = NULL;
copy_length = well_formed_copy_nchars(
&my_charset_utf8_bin
, dest
@@ -831,6 +852,7 @@ static bool parse_length_encoded_string(
, &cannot_convert_error_pos
, &from_end_pos
);
#endif
*copied_len = copy_length;
(*ptr) += data_length;
@@ -843,22 +865,21 @@ static bool parse_length_encoded_string(
*/
static void log_session_connect_attrs(yajl_gen gen, THD *thd)
{
PFS_thread * pfs = PFS_thread::get_current_thread();
const PFS_thread * pfs = compat::PFS_thread::get_current_thread();
if (!pfs)
return;
const char * connect_attrs = Audit_formatter::pfs_connect_attrs(pfs);
const uint connect_attrs_length = Audit_formatter::pfs_connect_attrs_length(pfs);
#if defined(MARIADB_BASE_VERSION) || MYSQL_VERSION_ID < 80000
const CHARSET_INFO *connect_attrs_cs = Audit_formatter::pfs_connect_attrs_cs(pfs);
#else
const CHARSET_INFO *connect_attrs_cs = get_charset(pfs->m_session_connect_attrs_cs_number, MYF(0));
#endif
//sanity max attributes
const uint max_idx = 32;
uint idx;
const char *ptr;
bool array_start = false;
// bool array_start = false;
if(!connect_attrs || !connect_attrs_length || !connect_attrs_cs)
{
sql_print_information("%s Failed to compute offsets connect_attrs. pfs [%p], connect_attrs [%p], connect_attrs_length [%d], connect_attrs_cs [%p]", AUDIT_LOG_PREFIX, pfs, connect_attrs, connect_attrs_length, connect_attrs_cs);
//either offsets are wrong or not set
return;
}
@@ -886,6 +907,7 @@ static void log_session_connect_attrs(yajl_gen gen, THD *thd)
connect_attrs_cs, MAX_COPY_CHARS_NAME) || !copy_length)
{
//something went wrong or we are done
// sql_print_information("%s something went wrong or we are done 1", AUDIT_LOG_PREFIX);
break;
}
@@ -899,23 +921,14 @@ static void log_session_connect_attrs(yajl_gen gen, THD *thd)
fill_in_attr_value,
connect_attrs_cs, MAX_COPY_CHARS_VAL) || !copy_length)
{
// sql_print_information("%s something went wrong or we are done 2", AUDIT_LOG_PREFIX);
break;
}
attr_value_length= copy_length;
if(!array_start)
{
yajl_add_string(gen, "connect_attrs");
yajl_gen_map_open(gen);
array_start = true;
}
yajl_gen_string(gen, (const unsigned char*)attr_name, attr_name_length);
yajl_gen_string(gen, (const unsigned char*)attr_value, attr_value_length);
} //close for loop
if(array_start)
{
yajl_gen_map_close(gen);
}
return;
}
#endif
@@ -1069,7 +1082,11 @@ ssize_t Audit_json_formatter::event_format(ThdSesData *pThdData, IWriter *writer
uint errors = 0;
size_t len = copy_and_convert(to, to_amount,
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100504
&my_charset_utf8mb3_general_ci,
#else
&my_charset_utf8_general_ci,
#endif
query, qlen,
col_connection, & errors);

View File

@@ -25,6 +25,14 @@
const ThdOffsets thd_offsets_arr[] =
{
/* +++ PERCONA 64 OFFSETS GO HERE +++ */
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.34-37)
{"5.7.34-37","c043928340fcb2d5669e99bd7fa7ec2c", 8368, 8432, 3936, 5096, 456, 360, 0, 32, 64, 160, 544, 8564, 4664, 3648, 3656, 3660, 6568, 2088, 8, 7600, 7640, 7624, 14336, 148, 672, 0},
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.33-36)
{"5.7.33-36","732e230fdc4153d8dd2aa0acaf715c6e", 8360, 8424, 3928, 5088, 456, 360, 0, 32, 64, 160, 536, 8556, 4656, 3648, 3656, 3660, 6560, 2088, 8, 7592, 7632, 7616, 14328, 148, 672},
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.32-35)
{"5.7.32-35","02ad9d380df8a36c137ec75adbf97c71", 8360, 8424, 3928, 5088, 456, 360, 0, 32, 64, 160, 536, 8556, 4656, 3648, 3656, 3660, 6560, 2088, 8, 7592, 7632, 7616, 14328, 148, 672},
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.31-34)
{"5.7.31-34","6aacc4359af48e07145187bd8b590a43", 8360, 8424, 3928, 5088, 456, 360, 0, 32, 64, 160, 536, 8556, 4656, 3648, 3656, 3660, 6560, 2088, 8, 7592, 7632, 7616, 14328, 148, 672},
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.30-33)
{"5.7.30-33","9ca6e80ea4c210aee6bb39116f38c0c2", 8360, 8424, 3928, 5088, 456, 360, 0, 32, 64, 160, 536, 8556, 4656, 3648, 3656, 3660, 6560, 2088, 8, 7592, 7632, 7616, 14328, 148, 672},
//offsets for: /perconarpm/usr/sbin/mysqld (5.7.29-32)
@@ -63,29 +71,45 @@ const ThdOffsets thd_offsets_arr[] =
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MYSQL 64 OFFSETS GO HERE +++ */
//offsets for: ./mysqld-8.0.22 (8.0.22)
//offsets for: /mysqlrpm/8.0.25/usr/sbin/mysqld (8.0.25)
{"8.0.25","b39d5a2dc25755666192578d4c20a7d6", 8544, 8584, 4064, 5536, 520, 0, 0, 32, 64, 160, 608, 8700, 5168, 4208, 4216, 4220, 6840, 1656, 32, 7800, 7840, 7824, 11624, 140, 664, 320},
//offsets for: /mysqlrpm/8.0.24/usr/sbin/mysqld (8.0.24)
{"8.0.24","9fb73bdd61549fe4959f559f2048f599", 8544, 8584, 4064, 5536, 520, 0, 0, 32, 64, 160, 608, 8700, 5168, 4208, 4216, 4220, 6840, 1656, 32, 7800, 7840, 7824, 11624, 140, 664, 320},
//offsets for: /mysqlrpm/5.7.34/usr/sbin/mysqld (5.7.34)
{"5.7.34","3178b639c1612f96ec6a1f66909a9099", 7832, 7880, 3640, 4800, 456, 360, 0, 32, 64, 160, 544, 7996, 4368, 3648, 3656, 3660, 6080, 2072, 8, 7064, 7104, 7088, 13480, 148, 672, 0},
//offsets for: /mysqlrpm/5.6.51/usr/sbin/mysqld (5.6.51)
{"5.6.51","536e5cb3ca8ccf249ea2da764c1e19f8", 7000, 7048, 4008, 4528, 72, 2704, 96, 0, 32, 104, 136, 7136, 4400, 2800, 2808, 2812, 536, 0, 0, 6368, 6392, 6376, 13056, 548, 516},
//offsets for: /mysqlrpm/5.7.33/usr/sbin/mysqld (5.7.33)
{"5.7.33","86c141ac1d66aad306e37da643a20902", 7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080, 13472, 148, 672},
//offsets for: /mysqlrpm/8.0.23/usr/sbin/mysqld (8.0.23)
{"8.0.23","01aa9b0074f1ed43fe5d4962ba505c5c", 8536, 8584, 4056, 5528, 520, 0, 0, 32, 64, 160, 600, 8700, 5160, 4208, 4216, 4220, 6832, 1616, 32, 7792, 7832, 7816, 11624, 140, 664, 320},
//offsets for: /mysqlrpm/5.6.50/usr/sbin/mysqld (5.6.50)
{"5.6.50","7f4faea987f15f3f81235ec4b38d1f5e", 7000, 7048, 4008, 4528, 72, 2704, 96, 0, 32, 104, 136, 7136, 4400, 2800, 2808, 2812, 536, 0, 0, 6368, 6392, 6376, 13056, 548, 516},
//offsets for: /mysqlrpm/5.7.32/usr/sbin/mysqld (5.7.32)
{"5.7.32","12356fea007b09247c10d0efb34b0a59", 7824, 7872, 3632, 4792, 456, 360, 0, 32, 64, 160, 536, 7988, 4360, 3648, 3656, 3660, 6072, 2072, 8, 7056, 7096, 7080, 13472, 148, 672},
//offsets for: /mysqlrpm/8.0.22/usr/sbin/mysqld (8.0.22)
{"8.0.22","d33b22129504158cacdad5664d21a4a5", 8672, 8720, 4056, 5664, 520, 0, 0, 32, 64, 160, 600, 8836, 5296, 4208, 4216, 4220, 6968, 1600, 32, 7928, 7968, 7952, 11760, 140, 664, 320},
//offsets for: ./mysqld-8.0.21 (8.0.21)
//offsets for: /mysqlrpm/8.0.21/usr/sbin/mysqld (8.0.21)
{"8.0.21","93b401ddbe0484ac527524e8da26d02f", 8656, 8704, 4040, 5648, 520, 0, 0, 32, 64, 160, 600, 8820, 5280, 4200, 4208, 4212, 6952, 1592, 40, 7912, 7952, 7936, 11744, 140, 664, 328},
//offsets for: ./mysqld-8.0.20 (8.0.20)
//offsets for: /mysqlrpm/8.0.20/usr/sbin/mysqld (8.0.20)
{"8.0.20","d0cb4bd30cd1a325c24313d8edd4530b", 8656, 8704, 4040, 5648, 520, 0, 0, 32, 64, 160, 600, 8820, 5280, 4200, 4208, 4212, 6952, 1544, 40, 7912, 7952, 7936, 11744, 140, 664, 328},
//offsets for: ./mysqld-8.0.19 (8.0.19)
//offsets for: /mysqlrpm/8.0.19/usr/sbin/mysqld (8.0.19)
{"8.0.19","3e06dfd8490afdcd0075ef1395891ae8", 8632, 8680, 4016, 5624, 520, 0, 0, 32, 64, 160, 600, 8796, 5256, 4200, 4208, 4212, 6928, 1544, 40, 7888, 7928, 7912, 11696, 140, 664, 328},
//offsets for: ./mysqld-8.0.18 (8.0.18)
//offsets for: /mysqlrpm/8.0.18/usr/sbin/mysqld (8.0.18)
{"8.0.18","172a119d1acf6a743d155de9d9433124", 8608, 8656, 3992, 5600, 520, 0, 0, 32, 64, 160, 600, 8772, 5232, 4200, 4208, 4212, 6904, 1504, 40, 7864, 7904, 7888, 11672, 140, 664, 328},
//offsets for: ./mysqld-8.0.17 (8.0.17)
//offsets for: /mysqlrpm/8.0.17/usr/sbin/mysqld (8.0.17)
{"8.0.17","0feb95f129f62fa3350c6895d556e7d9", 8744, 8792, 3912, 5736, 520, 0, 0, 32, 64, 160, 600, 8908, 5368, 4200, 4208, 4212, 7040, 1456, 40, 8000, 8040, 8024, 11808, 140, 664, 328},
//offsets for: ./mysqld-8.0.16 (8.0.16)
//offsets for: /mysqlrpm/8.0.16/usr/sbin/mysqld (8.0.16)
{"8.0.16","ab69e3d19774ad65491dea8a722e6af1", 8360, 8408, 3912, 5352, 520, 0, 0, 32, 64, 160, 600, 8524, 4984, 4000, 4008, 4012, 6656, 1456, 40, 7616, 7656, 7640, 11416, 140, 664, 328},
//offsets for: ./mysqld-8.0.15 (8.0.15)
//offsets for: /mysqlrpm/8.0.15/usr/sbin/mysqld (8.0.15)
{"8.0.15","aa0a7deef2aaba81b081e4e498859af1", 8136, 8184, 3936, 5120, 520, 0, 0, 32, 64, 160, 600, 8300, 4752, 4000, 4008, 4012, 6424, 1424, 24, 7392, 7432, 7416, 11192, 140, 664, 328},
//offsets for: ./mysqld-8.0.14 (8.0.14)
//offsets for: /mysqlrpm/8.0.14/usr/sbin/mysqld (8.0.14)
{"8.0.14","649589cdd3e5b56f72790793a039e924", 8136, 8184, 3936, 5120, 520, 0, 0, 32, 64, 160, 600, 8300, 4752, 4000, 4008, 4012, 6424, 1424, 24, 7392, 7432, 7416, 11192, 140, 664, 328},
//offsets for: ./mysqld-8.0.13 (8.0.13)
//offsets for: /mysqlrpm/8.0.13/usr/sbin/mysqld (8.0.13)
{"8.0.13","665c9cb36af00034f1d3e8823e50f028", 8112, 8160, 3912, 5096, 520, 0, 0, 32, 64, 160, 600, 8276, 4728, 4000, 4008, 4012, 6400, 1424, 24, 7360, 7408, 7392, 11144, 140, 664, 328},
//offsets for: ./mysqld-8.0.12 (8.0.12)
//offsets for: /mysqlrpm/8.0.12/usr/sbin/mysqld (8.0.12)
{"8.0.12","261db244348c9750a6a08a12c36ecbbe", 8112, 8160, 3888, 5096, 520, 0, 0, 32, 64, 160, 600, 8276, 4728, 3992, 4000, 4004, 6400, 1416, 24, 7360, 7408, 7392, 11144, 140, 664, 328},
//offsets for: ./mysqld-8.0.11 (8.0.11)
//offsets for: /mysqlrpm/8.0.11/usr/sbin/mysqld (8.0.11)
{"8.0.11","1e42c35650057a8c339ddf498808ca89", 8080, 8128, 3888, 5064, 520, 0, 0, 32, 64, 160, 600, 8244, 4696, 3992, 4000, 4004, 6368, 1416, 24, 7328, 7376, 7360, 11112, 140, 664, 328},
//offsets for: /mysqlrpm/5.6.49/usr/sbin/mysqld (5.6.49)
{"5.6.49","bd064dfd82d5e05499f6a77a87673919", 7000, 7048, 4008, 4528, 72, 2704, 96, 0, 32, 104, 136, 7136, 4400, 2800, 2808, 2812, 536, 0, 0, 6368, 6392, 6376, 13056, 548, 516},
@@ -404,6 +428,136 @@ const ThdOffsets thd_offsets_arr[] =
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MARIADB 64 OFFSETS GO HERE +++ */
//offsets for: /mariadb/10.2.39/bin/mysqld (10.2.39-MariaDB)
{"10.2.39-MariaDB","49a2582f3704582afa9f29ca65d4e148", 13880, 13944, 6672, 8288, 88, 3224, 8, 0, 16, 24, 152, 14044, 8048, 2984, 2992, 2996, 608, 0, 0, 13256, 13280, 13264, 21232, 548, 516, 0},
//offsets for: /mariadb/10.2.38/bin/mysqld (10.2.38-MariaDB)
{"10.2.38-MariaDB","5c251d90decd75a6a6b07075ffa985b7", 13880, 13944, 6672, 8288, 88, 3208, 8, 0, 16, 24, 152, 14044, 8048, 2984, 2992, 2996, 608, 0, 0, 13256, 13280, 13264, 21216, 548, 516, 0},
//offsets for: /mariadbrpm/10.5.11/usr/sbin/mysqld (10.5.11-MariaDB)
{"10.5.11-MariaDB","fb61b72238c3203f6c6d263482eda650", 15240, 15400, 7728, 9496, 88, 3552, 8, 0, 16, 24, 152, 15508, 9128, 5480, 5488, 5492, 640, 0, 0, 14496, 14520, 14504, 24088, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.10/usr/sbin/mysqld (10.5.10-MariaDB)
{"10.5.10-MariaDB","336e22b5e2298b95c17810aac572f6d7", 15240, 15400, 7728, 9496, 88, 3536, 8, 0, 16, 24, 152, 15508, 9128, 5480, 5488, 5492, 640, 0, 0, 14496, 14520, 14504, 24072, 564, 8, 0},
//offsets for: /mariadb/10.5.11/bin/mysqld (10.5.11-MariaDB)
{"10.5.11-MariaDB","9fcf9063b5ff4b342c7e7c8ddcc6689b", 15240, 15400, 7728, 9496, 88, 3552, 8, 0, 16, 24, 152, 15508, 9128, 5480, 5488, 5492, 640, 0, 0, 14496, 14520, 14504, 24088, 564, 8, 0},
//offsets for: /mariadb/10.5.10/bin/mysqld (10.5.10-MariaDB)
{"10.5.10-MariaDB","28c2b9c99c4169b594030bfd5b745ed8", 15240, 15400, 7728, 9496, 88, 3536, 8, 0, 16, 24, 152, 15508, 9128, 5480, 5488, 5492, 640, 0, 0, 14496, 14520, 14504, 24072, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.20/usr/sbin/mysqld (10.4.20-MariaDB)
{"10.4.20-MariaDB","89ba50314220259f7e92f6b98d82967c", 14640, 14792, 7296, 9032, 88, 3536, 8, 0, 16, 24, 152, 14892, 8688, 2984, 2992, 2996, 640, 0, 0, 14016, 14040, 14024, 23424, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.19/usr/sbin/mysqld (10.4.19-MariaDB)
{"10.4.19-MariaDB","3528acc6b9e0a9f48a6173126b0dc3de", 14640, 14792, 7296, 9032, 88, 3520, 8, 0, 16, 24, 152, 14892, 8688, 2984, 2992, 2996, 640, 0, 0, 14016, 14040, 14024, 23408, 564, 8, 0},
//offsets for: /mariadb/10.4.20/bin/mysqld (10.4.20-MariaDB)
{"10.4.20-MariaDB","6f5933c750a5aedba02321b20eb0e81c", 14640, 14792, 7296, 9032, 88, 3536, 8, 0, 16, 24, 152, 14892, 8688, 2984, 2992, 2996, 640, 0, 0, 14016, 14040, 14024, 23424, 564, 8, 0},
//offsets for: /mariadb/10.4.19/bin/mysqld (10.4.19-MariaDB)
{"10.4.19-MariaDB","8444bbfe79d0f423d6f03ab101e1c19d", 14640, 14792, 7296, 9032, 88, 3520, 8, 0, 16, 24, 152, 14892, 8688, 2984, 2992, 2996, 640, 0, 0, 14016, 14040, 14024, 23408, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.9/usr/sbin/mysqld (10.5.9-MariaDB)
{"10.5.9-MariaDB","725ac4b90ca420f615bd71956edad7a6", 15224, 15384, 7712, 9480, 88, 3504, 8, 0, 16, 24, 152, 15492, 9112, 5480, 5488, 5492, 632, 0, 0, 14480, 14504, 14488, 24024, 564, 8, 0},
//offsets for: /mariadb/10.5.9/bin/mysqld (10.5.9-MariaDB)
{"10.5.9-MariaDB","a6abda02a6438f3254829a007ef31a8d", 15224, 15384, 7712, 9480, 88, 3504, 8, 0, 16, 24, 152, 15492, 9112, 5480, 5488, 5492, 632, 0, 0, 14480, 14504, 14488, 24024, 564, 8, 0},
//offsets for: /mariadb/10.5.9/bin/mysqld (10.5.9-MariaDB) systemd
{"10.5.9-MariaDB","43c43dfad7fc3e3b7a26a59c2bff1fa8", 15224, 15384, 7712, 9480, 88, 3504, 8, 0, 16, 24, 152, 15492, 9112, 5480, 5488, 5492, 632, 0, 0, 14480, 14504, 14488, 24024, 564, 8, 0},
//offsets for: /mariadb/10.2.37/bin/mysqld (10.2.37-MariaDB)
{"10.2.37-MariaDB","2ae941e007e26f2f4a6108e359b6ee97", 13880, 13944, 6672, 8288, 88, 3208, 8, 0, 16, 24, 152, 14044, 8048, 2984, 2992, 2996, 608, 0, 0, 13256, 13280, 13264, 21216, 548, 516},
//offsets for: /mariadbrpm/10.5.8/usr/sbin/mysqld (10.5.8-MariaDB)
{"10.5.8-MariaDB","6a40182f423179b5e55752c72834c25d", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.7/usr/sbin/mysqld (10.5.7-MariaDB)
{"10.5.7-MariaDB","9d929cd4fea6dc6f3b13588ac41559b2", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.6/usr/sbin/mysqld (10.5.6-MariaDB)
{"10.5.6-MariaDB","2047d965f6f9dbb9d69508a88ab6f5b3", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.5/usr/sbin/mysqld (10.5.5-MariaDB)
{"10.5.5-MariaDB","39d53533a39ff2fe11c1c5ed6773cd11", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadbrpm/10.5.4/usr/sbin/mysqld (10.5.4-MariaDB)
{"10.5.4-MariaDB","3654c448ff5318de5870040cbf5c5b10", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.8/bin/mysqld (10.5.8-MariaDB) systemd
{"10.5.8-MariaDB","a62479253a14b7a1ffd3bf75b3c98604", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadb/10.5.7/bin/mysqld (10.5.7-MariaDB) systemd
{"10.5.7-MariaDB","8c6bfb8ef6c4c3107975f0071db319f2", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadb/10.5.6/bin/mysqld (10.5.6-MariaDB) systemd
{"10.5.6-MariaDB","bace784d1ab7b882165972803dd66677", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.5/bin/mysqld (10.5.5-MariaDB) systemd
{"10.5.5-MariaDB","8723bb0beff85d99d4966a556eeb8571", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.4/bin/mysqld (10.5.4-MariaDB) systemd
{"10.5.4-MariaDB","706ce2652d5b6dd69c1e425b934e20f3", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.8/bin/mysqld (10.5.8-MariaDB)
{"10.5.8-MariaDB","8daa247e5af6c32c49f1acfc6dbc5070", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadb/10.5.7/bin/mysqld (10.5.7-MariaDB)
{"10.5.7-MariaDB","3d992f183a7faa381d9dd2a73b296f61", 15216, 15376, 7704, 9472, 88, 3504, 8, 0, 16, 24, 152, 15484, 9104, 5480, 5488, 5492, 632, 0, 0, 14472, 14496, 14480, 24016, 564, 8, 0},
//offsets for: /mariadb/10.5.6/bin/mysqld (10.5.6-MariaDB)
{"10.5.6-MariaDB","c2b3f23934cd4cb421a7e26ce68731bf", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.5/bin/mysqld (10.5.5-MariaDB)
{"10.5.5-MariaDB","ede1dfe21489d98ef9c5b663b381fe8e", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadb/10.5.4/bin/mysqld (10.5.4-MariaDB)
{"10.5.4-MariaDB","631e6eb51c07e3d20d41769b7f64c994", 14824, 14984, 7312, 9080, 88, 3512, 8, 0, 16, 24, 152, 15092, 8712, 5480, 5488, 5492, 624, 0, 0, 14080, 14104, 14088, 23632, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.18/usr/sbin/mysqld (10.4.18-MariaDB)
{"10.4.18-MariaDB","64df46550846ea55c0bb89c964d119ca", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.17/usr/sbin/mysqld (10.4.17-MariaDB)
{"10.4.17-MariaDB","0b0edcb2dbf2fd44a54c5ddf97ae5bdc", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.16/usr/sbin/mysqld (10.4.16-MariaDB)
{"10.4.16-MariaDB","03f72f8afa35dcd16e7f9a69e7c25fba", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.15/usr/sbin/mysqld (10.4.15-MariaDB)
{"10.4.15-MariaDB","2473ba16d3838dff2283dba25bcce89e", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.14/usr/sbin/mysqld (10.4.14-MariaDB)
{"10.4.14-MariaDB","306c78e2912c1b747ae8996d39e75322", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.13/usr/sbin/mysqld (10.4.13-MariaDB)
{"10.4.13-MariaDB","b77a65a53afb4b61ff43bd8e004a78f6", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.12/usr/sbin/mysqld (10.4.12-MariaDB)
{"10.4.12-MariaDB","16d85928262fd8d9e426d6e6b8ca6ca1", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.11/usr/sbin/mysqld (10.4.11-MariaDB)
{"10.4.11-MariaDB","cebccb1fdaf26ffde3d2aa2c7f6735ae", 14616, 14768, 7272, 9008, 88, 3496, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23360, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.10/usr/sbin/mysqld (10.4.10-MariaDB)
{"10.4.10-MariaDB","eb3b50a9d5e8247ec4852c0f9139a9e4", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23328, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.8/usr/sbin/mysqld (10.4.8-MariaDB)
{"10.4.8-MariaDB","967163e897ddf59a58797b645036a801", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23320, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.7/usr/sbin/mysqld (10.4.7-MariaDB)
{"10.4.7-MariaDB","9397f9126de6e7377d2e29e4a0a7ebe8", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23320, 564, 8, 0},
//offsets for: /mariadbrpm/10.4.6/usr/sbin/mysqld (10.4.6-MariaDB)
{"10.4.6-MariaDB","f20440e4f263df7186c4c91fd691fb73", 14616, 14768, 7272, 9008, 88, 3472, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23304, 564, 8, 0},
//offsets for: /mariadb/10.4.18/bin/mysqld (10.4.18-MariaDB) systemd
{"10.4.18-MariaDB","ad6e29c1198bb876264d0f9c0748149c", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.17/bin/mysqld (10.4.17-MariaDB) systemd
{"10.4.17-MariaDB","d4559bf63cf1e20814a15ac8bf177bf6", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.16/bin/mysqld (10.4.16-MariaDB) systemd
{"10.4.16-MariaDB","950124d3089a955eff9434c944a7ca18", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.15/bin/mysqld (10.4.15-MariaDB) systemd
{"10.4.15-MariaDB","ddf06b8c881f10d691e32a41195659d2", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.14/bin/mysqld (10.4.14-MariaDB) systemd
{"10.4.14-MariaDB","17ea17b04234a1aedced242c4403e921", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.13/bin/mysqld (10.4.13-MariaDB) systemd
{"10.4.13-MariaDB","d2789ca38098d19eb6c624f88b66efc5", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.12/bin/mysqld (10.4.12-MariaDB) systemd
{"10.4.12-MariaDB","159f3aa33ad9d4653eed9cb9e4470dcf", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.11/bin/mysqld (10.4.11-MariaDB) systemd
{"10.4.11-MariaDB","346e46fb6e53ee03f722ef9b28b21ac6", 14616, 14768, 7272, 9008, 88, 3496, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.10/bin/mysqld (10.4.10-MariaDB) systemd
{"10.4.10-MariaDB","7635e2cffd76649167989bfddc1b9f93", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23328, 564, 8, 0},
//offsets for: /mariadb/10.4.8/bin/mysqld (10.4.8-MariaDB) systemd
{"10.4.8-MariaDB","a55b1558227a9f3c91c279fb8045efb8", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23320, 564, 8, 0},
//offsets for: /mariadb/10.4.7/bin/mysqld (10.4.7-MariaDB) systemd
{"10.4.7-MariaDB","e321670955bc21af9758ba1e40c66376", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23320, 564, 8, 0},
//offsets for: /mariadb/10.4.6/bin/mysqld (10.4.6-MariaDB) systemd
{"10.4.6-MariaDB","75c314f8d390ce9fe2d38e7015dac51c", 14616, 14768, 7272, 9008, 88, 3472, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23304, 564, 8, 0},
//offsets for: /mariadb/10.4.18/bin/mysqld (10.4.18-MariaDB)
{"10.4.18-MariaDB","8611ef2eb3ce71c1dbdfa639ca19d14b", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.17/bin/mysqld (10.4.17-MariaDB)
{"10.4.17-MariaDB","77eb9fef30cb182d9f31498d0038f612", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.16/bin/mysqld (10.4.16-MariaDB)
{"10.4.16-MariaDB","337b85ebe7521547dddab7092570fec8", 14624, 14776, 7280, 9016, 88, 3488, 8, 0, 16, 24, 152, 14876, 8672, 2984, 2992, 2996, 632, 0, 0, 14000, 14024, 14008, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.15/bin/mysqld (10.4.15-MariaDB)
{"10.4.15-MariaDB","5a33657f5f8a9aba62a60ae4f8407485", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.14/bin/mysqld (10.4.14-MariaDB)
{"10.4.14-MariaDB","9ff2780b500f0c18851b29989192fd3b", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.13/bin/mysqld (10.4.13-MariaDB)
{"10.4.13-MariaDB","ea1efab78e4a95991796dfc23a76c7c1", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.12/bin/mysqld (10.4.12-MariaDB)
{"10.4.12-MariaDB","dba6d562a5bab49389672915985af73e", 14616, 14768, 7272, 9008, 88, 3488, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23352, 564, 8, 0},
//offsets for: /mariadb/10.4.11/bin/mysqld (10.4.11-MariaDB)
{"10.4.11-MariaDB","c7a8c449da685c3fd44122c5feb74d5c", 14616, 14768, 7272, 9008, 88, 3496, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23360, 564, 8, 0},
//offsets for: /mariadb/10.4.10/bin/mysqld (10.4.10-MariaDB)
{"10.4.10-MariaDB","2e9f5e8f5b272dd6b06b79fe411aa6d1", 14616, 14768, 7272, 9008, 88, 3480, 8, 0, 16, 24, 152, 14868, 8664, 2984, 2992, 2996, 624, 0, 0, 13992, 14016, 14000, 23328, 564, 8, 0},
//offsets for: /mariadb/10.2.36/bin/mysqld (10.2.36-MariaDB)
{"10.2.36-MariaDB","6ac5d544938762b31b4972d099c85933", 13880, 13944, 6672, 8288, 88, 3208, 8, 0, 16, 24, 152, 14044, 8048, 2984, 2992, 2996, 608, 0, 0, 13256, 13280, 13264, 21216, 548, 516},
//offsets for: /mariadb/10.2.35/bin/mysqld (10.2.35-MariaDB)
{"10.2.35-MariaDB","9d1ec0f7809b672b0863d163a5c191d2", 13880, 13944, 6672, 8288, 88, 3208, 8, 0, 16, 24, 152, 14044, 8048, 2984, 2992, 2996, 608, 0, 0, 13256, 13280, 13264, 21216, 548, 516},
//offsets for: /mariadb/10.1.48/bin/mysqld (10.1.48-MariaDB)
{"10.1.48-MariaDB","cafecd98d429c4802dbda1234c6adbcf", 13712, 13776, 6488, 8096, 88, 3032, 8, 0, 16, 24, 152, 13868, 7864, 2984, 2992, 2996, 568, 0, 0, 13088, 13112, 13096, 20672, 548, 516},
//offsets for: /mariadb/10.1.43/bin/mysqld (10.1.43-MariaDB)
{"10.1.43-MariaDB","4de77f18da6c8086f743eac1f5db94b1", 13712, 13776, 6488, 8096, 88, 3040, 8, 0, 16, 24, 152, 13868, 7864, 2984, 2992, 2996, 568, 0, 0, 13088, 13112, 13096, 20680, 548, 516},
//offsets for: /mariadb/10.2.27/bin/mysqld (10.2.27-MariaDB)
@@ -735,6 +889,22 @@ const ThdOffsets thd_offsets_arr[] =
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MYSQL 32 OFFSETS GO HERE +++ */
//offsets for: /mysqlrpm/8.0.25/usr/sbin/mysqld (8.0.25)
{"8.0.25","25ee4d67323c6eb45e7f01cee4a28ed2", 5680, 5704, 2496, 3640, 328, 0, 0, 20, 40, 100, 376, 5788, 3428, 3652, 3656, 3660, 4336, 940, 16, 5136, 5172, 5156, 8136, 72, 596, 172},
//offsets for: /mysqlrpm/8.0.24/usr/sbin/mysqld (8.0.24)
{"8.0.24","95db964c04cd7c01839b5009cca63674", 5680, 5704, 2496, 3640, 328, 0, 0, 20, 40, 100, 376, 5788, 3428, 3652, 3656, 3660, 4336, 940, 16, 5136, 5172, 5156, 8136, 72, 596, 172},
//offsets for: /mysqlrpm/5.7.34/usr/sbin/mysqld (5.7.34)
{"5.7.34","12a89d95687d6fb261dfec2451a1bb5b", 5088, 5116, 2216, 3040, 296, 200, 0, 20, 40, 100, 344, 5204, 2780, 3108, 3112, 3116, 3724, 1152, 4, 4540, 4576, 4560, 9052, 80, 604, 0},
//offsets for: /mysqlrpm/5.6.51/usr/sbin/mysqld (5.6.51)
{"5.6.51","92b12b9c5531241950c85984b2a9f689", 4680, 4708, 2664, 3056, 36, 1748, 60, 0, 20, 64, 72, 4780, 2984, 2268, 2272, 2276, 348, 0, 0, 4208, 4232, 4216, 8664, 548, 516},
//offsets for: /mysqlrpm/5.7.33/usr/sbin/mysqld (5.7.33)
{"5.7.33","b14a0d982dfbca2fd4b71e2a4183cee1", 5084, 5112, 2212, 3036, 296, 200, 0, 20, 40, 100, 340, 5196, 2776, 3108, 3112, 3116, 3720, 1152, 4, 4536, 4572, 4556, 9044, 80, 604},
//offsets for: /mysqlrpm/8.0.23/usr/sbin/mysqld (8.0.23)
{"8.0.23","128b36f2904f96f3a672878dc3143281", 5680, 5708, 2492, 3640, 328, 0, 0, 20, 40, 100, 372, 5792, 3424, 3652, 3656, 3660, 4336, 920, 16, 5136, 5172, 5156, 8144, 72, 596, 172},
//offsets for: /mysqlrpm/5.6.50/usr/sbin/mysqld (5.6.50)
{"5.6.50","faec9307821c607dbe7b4dd0e42e85fb", 4680, 4708, 2664, 3056, 36, 1748, 60, 0, 20, 64, 72, 4780, 2984, 2268, 2272, 2276, 348, 0, 0, 4208, 4232, 4216, 8664, 548, 516},
//offsets for: /mysqlrpm/5.7.32/usr/sbin/mysqld (5.7.32)
{"5.7.32","66e823d0163d65a48c6f6643cbb0403e", 5084, 5112, 2212, 3036, 296, 200, 0, 20, 40, 100, 340, 5196, 2776, 3108, 3112, 3116, 3720, 1152, 4, 4536, 4572, 4556, 9044, 80, 604},
//offsets for: /mysqlrpm/5.6.49/usr/sbin/mysqld (5.6.49)
{"5.6.49","2d3f8c93e042cf09b247b55016b3c0b3", 4680, 4708, 2664, 3056, 36, 1748, 60, 0, 20, 64, 72, 4780, 2984, 2268, 2272, 2276, 348, 0, 0, 4208, 4232, 4216, 8664, 548, 516},
//offsets for: /mysqlrpm/5.7.31/usr/sbin/mysqld (5.7.31)
@@ -1046,6 +1216,18 @@ const ThdOffsets thd_offsets_arr[] =
const ThdOffsets thd_offsets_arr[] =
{
/* +++ MARIADB 32 OFFSETS GO HERE +++ */
//offsets for: /mariadb/10.2.39/bin/mysqld (10.2.39-MariaDB)
{"10.2.39-MariaDB","3f4aa4d7056f5a7bbac1cdbd9a8bccee", 8612, 8648, 3960, 5428, 44, 2044, 4, 0, 8, 12, 84, 8732, 5288, 2604, 2608, 2612, 376, 0, 0, 8136, 8160, 8144, 13476, 548, 516, 0},
//offsets for: /mariadb/10.2.38/bin/mysqld (10.2.38-MariaDB)
{"10.2.38-MariaDB","277222917404c0cc7ce14d874e023135", 8612, 8648, 3960, 5428, 44, 2032, 4, 0, 8, 12, 84, 8732, 5288, 2604, 2608, 2612, 376, 0, 0, 8136, 8160, 8144, 13464, 548, 516, 0},
//offsets for: /mariadb/10.2.37/bin/mysqld (10.2.37-MariaDB)
{"10.2.37-MariaDB","f09c2b85d1f8989f71c7bebbc4b6088c", 8612, 8648, 3960, 5428, 44, 2032, 4, 0, 8, 12, 84, 8732, 5288, 2604, 2608, 2612, 376, 0, 0, 8136, 8160, 8144, 13464, 548, 516},
//offsets for: /mariadb/10.2.36/bin/mysqld (10.2.36-MariaDB)
{"10.2.36-MariaDB","2360c1f90821d784efc03cc21d97bd97", 8616, 8652, 3964, 5432, 44, 2032, 4, 0, 8, 12, 84, 8736, 5292, 2604, 2608, 2612, 376, 0, 0, 8140, 8164, 8148, 13468, 548, 516},
//offsets for: /mariadb/10.2.35/bin/mysqld (10.2.35-MariaDB)
{"10.2.35-MariaDB","7863a7625cee0be06d559fbd80786acb", 8616, 8652, 3964, 5432, 44, 2032, 4, 0, 8, 12, 84, 8736, 5292, 2604, 2608, 2612, 376, 0, 0, 8140, 8164, 8148, 13468, 548, 516},
//offsets for: /mariadb/10.1.48/bin/mysqld (10.1.48-MariaDB)
{"10.1.48-MariaDB","f316467dfccea26c7afc34c535e546ef", 8516, 8552, 3860, 5320, 44, 1928, 4, 0, 8, 12, 84, 8624, 5188, 2604, 2608, 2612, 356, 0, 0, 8040, 8064, 8048, 13152, 548, 516},
//offsets for: /mariadb/10.1.43/bin/mysqld (10.1.43-MariaDB)
{"10.1.43-MariaDB","e0e44c5fa79d68f4266ca97ece05e764", 8540, 8576, 3884, 5344, 44, 1932, 4, 0, 8, 12, 84, 8648, 5212, 2604, 2608, 2612, 356, 0, 0, 8064, 8088, 8072, 13180, 548, 516},
//offsets for: /mariadb/10.2.27/bin/mysqld (10.2.27-MariaDB)

View File

@@ -1175,6 +1175,7 @@ static bool parse_thd_offsets_string (char *poffsets_string)
if ((size_t)pOffset- (size_t)&Audit_formatter::thd_offsets < sizeof (Audit_formatter::thd_offsets))
{
sql_print_error("%s Failed parsing audit_offsets: not all offsets specified. This may happen if you used an old version of offset-extract.sh script.", log_prefix);
sql_print_error("%s Got %zu quantity of offsets, but expected more", log_prefix, i);
return false;
}
return true;
@@ -1371,7 +1372,7 @@ static int setup_offsets()
if (parse_thd_offsets_string(offsets_string))
{
sql_print_information ("%s setup_offsets Audit_formatter::thd_offsets values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu", log_prefix,
sql_print_information ("%s setup_offsets Audit_formatter::thd_offsets values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu", log_prefix,
Audit_formatter::thd_offsets.query_id,
Audit_formatter::thd_offsets.thread_id,
Audit_formatter::thd_offsets.main_security_ctx,
@@ -1396,7 +1397,8 @@ static int setup_offsets()
Audit_formatter::thd_offsets.row_count_func,
Audit_formatter::thd_offsets.stmt_da,
Audit_formatter::thd_offsets.da_status,
Audit_formatter::thd_offsets.da_sql_errno
Audit_formatter::thd_offsets.da_sql_errno,
Audit_formatter::thd_offsets.view_tables
);
if (! validate_offsets(&Audit_formatter::thd_offsets))
@@ -1527,7 +1529,7 @@ static int setup_offsets()
if (validate_offsets(&decoffsets))
{
Audit_formatter::thd_offsets = decoffsets;
sql_print_information("%s Using decrement (%zu) offsets from offset version: %s (%s) values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu",
sql_print_information("%s Using decrement (%zu) offsets from offset version: %s (%s) values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu",
log_prefix, dec, offset->version, offset->md5digest,
Audit_formatter::thd_offsets.query_id,
Audit_formatter::thd_offsets.thread_id,
@@ -1539,6 +1541,7 @@ static int setup_offsets()
Audit_formatter::thd_offsets.sec_ctx_host,
Audit_formatter::thd_offsets.sec_ctx_ip,
Audit_formatter::thd_offsets.sec_ctx_priv_user,
Audit_formatter::thd_offsets.db,
Audit_formatter::thd_offsets.killed,
Audit_formatter::thd_offsets.client_capabilities,
Audit_formatter::thd_offsets.pfs_connect_attrs,
@@ -1552,7 +1555,8 @@ static int setup_offsets()
Audit_formatter::thd_offsets.row_count_func,
Audit_formatter::thd_offsets.stmt_da,
Audit_formatter::thd_offsets.da_status,
Audit_formatter::thd_offsets.da_sql_errno
Audit_formatter::thd_offsets.da_sql_errno,
Audit_formatter::thd_offsets.view_tables
);
DBUG_RETURN(0);
@@ -1570,7 +1574,7 @@ static int setup_offsets()
if (validate_offsets(&incoffsets))
{
Audit_formatter::thd_offsets = incoffsets;
sql_print_information("%s Using increment (%zu) offsets from offset version: %s (%s) values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu",
sql_print_information("%s Using increment (%zu) offsets from offset version: %s (%s) values: %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu",
log_prefix, inc, offset->version, offset->md5digest,
Audit_formatter::thd_offsets.query_id,
Audit_formatter::thd_offsets.thread_id,
@@ -1582,6 +1586,7 @@ static int setup_offsets()
Audit_formatter::thd_offsets.sec_ctx_host,
Audit_formatter::thd_offsets.sec_ctx_ip,
Audit_formatter::thd_offsets.sec_ctx_priv_user,
Audit_formatter::thd_offsets.db,
Audit_formatter::thd_offsets.killed,
Audit_formatter::thd_offsets.client_capabilities,
Audit_formatter::thd_offsets.pfs_connect_attrs,
@@ -1595,7 +1600,8 @@ static int setup_offsets()
Audit_formatter::thd_offsets.row_count_func,
Audit_formatter::thd_offsets.stmt_da,
Audit_formatter::thd_offsets.da_status,
Audit_formatter::thd_offsets.da_sql_errno
Audit_formatter::thd_offsets.da_sql_errno,
Audit_formatter::thd_offsets.view_tables
);
DBUG_RETURN(0);
}
@@ -2009,19 +2015,20 @@ static void record_objs_string_update_extended(THD *thd, SYS_VAR *var, void *tgt
bool (*compat::_vio_socket_connect)(MYSQL_VIO vio, struct sockaddr *addr, socklen_t len, int timeout);
bool (*compat::_vio_socket_connect_80016)(MYSQL_VIO vio, struct sockaddr *addr, socklen_t len, bool nonblocking, int timeout);
bool (*compat::_vio_socket_connect_80020)(MYSQL_VIO vio, struct sockaddr *addr, socklen_t len, bool nonblocking, int timeout, bool *connect_done);
#elif defined(HAVE_SESS_CONNECT_ATTRS) && defined(MARIADB_BASE_VERSION)
compat::pfs_thread_t compat::_pfs_thread_get_current_thread;
PSI_v1* compat::_psi_interface;
#endif
static int audit_plugin_init(void *p)
{
DBUG_ENTER("audit_plugin_init");
#if !defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 80000
const bool compat_init_ok = compat::init();
if (!compat_init_ok)
{
sql_print_error("%s unable to init compatibility layer. Aborting.", log_prefix);
DBUG_RETURN(1);
}
#endif
#ifdef __x86_64__
const char * arch = "64bit";
@@ -2584,6 +2591,26 @@ mysql_declare_plugin(audit_plugin)
}
mysql_declare_plugin_end;
#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100307
maria_declare_plugin(audit_plugin)
{
plugin_type, /* the plugin type (see include/mysql/plugin.h) */
&audit_plugin, /* pointer to type-specific plugin descriptor */
PLUGIN_NAME, /* plugin name */
"McAfee Inc", /* plugin author */
"AUDIT plugin, creates a file mysql-audit.log to log activity", /* the plugin description */
PLUGIN_LICENSE_GPL, /* the plugin license (see include/mysql/plugin.h) */
audit_plugin_init, /* Pointer to plugin initialization function */
audit_plugin_deinit, /* Pointer to plugin deinitialization function */
0x0100, /* Numeric version 0xAABB means AA.BB version */
audit_status, /* Status variables */
audit_system_variables, /* System variables */
"1.0", /* String version representation */
MariaDB_PLUGIN_MATURITY_STABLE /* Maturity (see include/mysql/plugin.h)*/
}
maria_declare_plugin_end;
#endif
static inline void init_peer_info()
{
memset(peer_info_init_value, '0', sizeof(peer_info_init_value)-1);