Commit c879ed2e authored by He Zhenxing's avatar He Zhenxing

Auto merge from 5.1-rep-semisync

parents 54fc7997 6ad93ebb
...@@ -66,8 +66,9 @@ typedef struct st_mysql_xid MYSQL_XID; ...@@ -66,8 +66,9 @@ typedef struct st_mysql_xid MYSQL_XID;
#define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */ #define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */
#define MYSQL_DAEMON_PLUGIN 3 /* The daemon/raw plugin type */ #define MYSQL_DAEMON_PLUGIN 3 /* The daemon/raw plugin type */
#define MYSQL_INFORMATION_SCHEMA_PLUGIN 4 /* The I_S plugin type */ #define MYSQL_INFORMATION_SCHEMA_PLUGIN 4 /* The I_S plugin type */
#define MYSQL_REPLICATION_PLUGIN 5 /* The replication plugin type */ #define MYSQL_AUDIT_PLUGIN 5 /* The Audit plugin type */
#define MYSQL_MAX_PLUGIN_TYPE_NUM 6 /* The number of plugin types */ #define MYSQL_REPLICATION_PLUGIN 6 /* The replication plugin type */
#define MYSQL_MAX_PLUGIN_TYPE_NUM 7 /* The number of plugin types */
/* We use the following strings to define licenses for plugins */ /* We use the following strings to define licenses for plugins */
#define PLUGIN_LICENSE_PROPRIETARY 0 #define PLUGIN_LICENSE_PROPRIETARY 0
......
...@@ -47,6 +47,7 @@ const LEX_STRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]= ...@@ -47,6 +47,7 @@ const LEX_STRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]=
{ C_STRING_WITH_LEN("FTPARSER") }, { C_STRING_WITH_LEN("FTPARSER") },
{ C_STRING_WITH_LEN("DAEMON") }, { C_STRING_WITH_LEN("DAEMON") },
{ C_STRING_WITH_LEN("INFORMATION SCHEMA") }, { C_STRING_WITH_LEN("INFORMATION SCHEMA") },
{ C_STRING_WITH_LEN("AUDIT") },
{ C_STRING_WITH_LEN("REPLICATION") }, { C_STRING_WITH_LEN("REPLICATION") },
}; };
...@@ -87,6 +88,7 @@ static int min_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]= ...@@ -87,6 +88,7 @@ static int min_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]=
MYSQL_FTPARSER_INTERFACE_VERSION, MYSQL_FTPARSER_INTERFACE_VERSION,
MYSQL_DAEMON_INTERFACE_VERSION, MYSQL_DAEMON_INTERFACE_VERSION,
MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION, MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION,
0x0000, /* place holder for audit plugin */
MYSQL_REPLICATION_INTERFACE_VERSION, MYSQL_REPLICATION_INTERFACE_VERSION,
}; };
static int cur_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]= static int cur_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]=
...@@ -96,6 +98,7 @@ static int cur_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]= ...@@ -96,6 +98,7 @@ static int cur_plugin_info_interface_version[MYSQL_MAX_PLUGIN_TYPE_NUM]=
MYSQL_FTPARSER_INTERFACE_VERSION, MYSQL_FTPARSER_INTERFACE_VERSION,
MYSQL_DAEMON_INTERFACE_VERSION, MYSQL_DAEMON_INTERFACE_VERSION,
MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION, MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION,
0x0000, /* place holder for audit plugin */
MYSQL_REPLICATION_INTERFACE_VERSION, MYSQL_REPLICATION_INTERFACE_VERSION,
}; };
...@@ -745,6 +748,14 @@ static bool plugin_add(MEM_ROOT *tmp_root, ...@@ -745,6 +748,14 @@ static bool plugin_add(MEM_ROOT *tmp_root,
name_len)) name_len))
{ {
struct st_plugin_int *tmp_plugin_ptr; struct st_plugin_int *tmp_plugin_ptr;
if (plugin->type == MYSQL_AUDIT_PLUGIN)
{
/* Bug#49894 */
sql_print_error("Plugin type 'AUDIT' not supported by this server.");
goto err;
}
if (*(int*)plugin->info < if (*(int*)plugin->info <
min_plugin_info_interface_version[plugin->type] || min_plugin_info_interface_version[plugin->type] ||
((*(int*)plugin->info) >> 8) > ((*(int*)plugin->info) >> 8) >
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment