You've already forked mysql-audit
mirror of
https://github.com/trellix-enterprise/mysql-audit.git
synced 2025-12-14 18:14:01 +08:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10c4255ebe | ||
|
|
e2b3d52fc7 | ||
|
|
0bf751633a | ||
|
|
85557b0f03 | ||
|
|
974a169127 | ||
|
|
e87e8ec29d | ||
|
|
a48d47210d | ||
|
|
9514cd999b | ||
|
|
b02c4b443c | ||
|
|
a45cbf78fd | ||
|
|
7057e313ff | ||
|
|
cd928db022 | ||
|
|
622366a459 |
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
||||
@awalicka @pwrpw @wpdbarrett
|
||||
76
CODE_OF_CONDUCT.md
Normal file
76
CODE_OF_CONDUCT.md
Normal 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
63
CONTRIBUTING.md
Normal 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
13
LICENSE.md
Normal 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.
|
||||
55
README.md
55
README.md
@@ -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.
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"])
|
||||
],
|
||||
[
|
||||
|
||||
13
configure.ac
13
configure.ac
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
13
src/MariadbPlugin.map
Normal 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: *;
|
||||
};
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user