86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
call mtr.add_suppression("Event 'MYSQL_AUDIT_GENERAL_ERROR' cannot be aborted.");
|
|
#
|
|
# Bug #22142209: MY_MESSAGE FAILS TO ABORT MYSQL_AUDIT_SERVER_STARTUP_CLASS EVENT
|
|
#
|
|
# Shutdown the server
|
|
# Load the plugin at startup and abort on STARTUP with default message
|
|
# Search for default abort message
|
|
# Load the plugin at startup and abort on STARTUP event with custom message
|
|
# Search for custom abort message
|
|
# Startup the server
|
|
#
|
|
# Bug #22136709: INFINITE RECURSION BY CALLING MY_MESSAGE FROM
|
|
# MYSQL_AUDIT_GENERAL_CLASS HANDLER
|
|
INSTALL PLUGIN null_audit SONAME 'adt_null.so';
|
|
SET @@GLOBAL.null_audit_event_order_check= "MYSQL_AUDIT_GENERAL_ERROR;;ABORT_RET";
|
|
SET @@GLOBAL.null_audit_abort_message= "Abort message.";
|
|
# Try to enter error state recursively 2 times.
|
|
SET @@GLOBAL.null_audit_event_order_check_consume_ignore_count= 2;
|
|
connect(localhost,wrong_root,,test,MASTER_PORT,MASTER_SOCKET);
|
|
ERROR 28000: Access denied for user 'wrong_root'@'localhost' (using password: NO)
|
|
SELECT @@null_audit_event_order_check_consume_ignore_count;
|
|
@@null_audit_event_order_check_consume_ignore_count
|
|
0
|
|
# Try to enter error state infinitely. my_message calls cause stack overrun.
|
|
SET @@GLOBAL.null_audit_event_order_check_consume_ignore_count= 10000;
|
|
connect(localhost,wrong_root,,test,MASTER_PORT,MASTER_SOCKET);
|
|
SELECT @@null_audit_event_order_check_consume_ignore_count;
|
|
@@null_audit_event_order_check_consume_ignore_count
|
|
0
|
|
SET @@GLOBAL.null_audit_event_order_check= NULL;
|
|
SET @@GLOBAL.null_audit_abort_message= NULL;
|
|
SET @@GLOBAL.null_audit_event_order_check_consume_ignore_count= 0;
|
|
|
|
#
|
|
# Bug#27638290 - Set @@null_audit_event_record_def =
|
|
# 'mysql_audit_authentication_flush'; crashed
|
|
#
|
|
# New connection, unbound thread
|
|
# Expect NULL
|
|
SELECT @@null_audit_event_record_def;
|
|
@@null_audit_event_record_def
|
|
NULL
|
|
|
|
# Invalid data
|
|
SET @@null_audit_event_record_def = 'ABSOLUTE_NONSENSE';
|
|
SELECT 1;
|
|
1
|
|
1
|
|
# Expect NULL
|
|
SELECT @@null_audit_event_record;
|
|
@@null_audit_event_record
|
|
NULL
|
|
SELECT @@null_audit_event_record_def;
|
|
@@null_audit_event_record_def
|
|
ABSOLUTE_NONSENSE
|
|
|
|
# Invalid data again
|
|
SET @@null_audit_event_record_def = 'MYSQL_AUDIT_AUTHENTICATION_FLUSH;JUNK';
|
|
SELECT 1;
|
|
1
|
|
1
|
|
# Expect NULL
|
|
SELECT @@null_audit_event_record;
|
|
@@null_audit_event_record
|
|
NULL
|
|
SELECT @@null_audit_event_record_def;
|
|
@@null_audit_event_record_def
|
|
MYSQL_AUDIT_AUTHENTICATION_FLUSH;JUNK
|
|
|
|
# Valid data
|
|
SET @@null_audit_event_record_def = 'MYSQL_AUDIT_GENERAL_RESULT;MYSQL_AUDIT_COMMAND_END';
|
|
SELECT 1;
|
|
1
|
|
1
|
|
SELECT @@null_audit_event_record;
|
|
@@null_audit_event_record
|
|
MYSQL_AUDIT_GENERAL_RESULT;;
|
|
MYSQL_AUDIT_GENERAL_STATUS;;
|
|
MYSQL_AUDIT_COMMAND_END;command_id="<expected_command_id>";
|
|
|
|
End of 5.7 tests
|
|
# cleanup
|
|
UNINSTALL PLUGIN null_audit;
|
|
Warnings:
|
|
Warning 1620 Plugin is busy and will be uninstalled on shutdown
|