An error occurred fetching the project authors.
- 05 Sep, 2014 1 commit
-
-
Ramil Kalimullin authored
-
- 19 Jul, 2014 1 commit
-
-
Ashish Agarwal authored
-
- 17 Jul, 2014 1 commit
-
-
Ashish Agarwal authored
-
- 03 Jul, 2014 1 commit
-
-
Ashish Agarwal authored
-
- 06 Jan, 2014 1 commit
-
-
Murthy Narkedimilli authored
-
- 02 Jul, 2013 1 commit
-
-
Ashish Agarwal authored
Backporting wl6715 to mysql-5.5
-
- 03 Jun, 2011 1 commit
-
-
Sergey Vojtovich authored
The types mysql_event_general/mysql_event_connection are being cast to the incompatible type mysql_event. The way mysql_event and the other types are designed are prone to strict aliasing violations and can break things depending on how compilers optimizes this code. This patch fixes audit interface, so it confirms to strict- aliasing rules. It introduces incompatible changes to audit interface: - mysql_event type has been removed; - event_class has been removed from mysql_event_generic and mysql_event_connection types; - st_mysql_audit::event_notify() second argument is event_class; - st_mysql_audit::event_notify() third argument is event of type (const void *). "Writing Audit Plugins" section of manual should be updated: http://dev.mysql.com/doc/refman/5.5/en/writing-audit-plugins.html include/mysql/plugin_audit.h: event_class has been moved out of mysql_event types. include/mysql/plugin_audit.h.pp: event_class has been moved out of mysql_event types. plugin/audit_null/audit_null.c: event_class has been moved out of mysql_event types. sql/sql_audit.cc: event_class has been moved out of mysql_event types.
-
- 14 Dec, 2010 1 commit
-
-
Sergey Vojtovich authored
include/mysql/plugin_audit.h: Connection auditing class. include/mysql/plugin_audit.h.pp: Connection auditing class. sql/mysqld.cc: Notify disconnect to auditing. sql/sql_audit.cc: Connection class event dispatcher. sql/sql_audit.h: mysql_audit_notify() is not available in embedded. sql/sql_connect.cc: Notify connect to auditing. sql/sql_parse.cc: Notify user change to auditing.
-
- 20 Aug, 2010 1 commit
-
-
Sergey Vojtovich authored
attempt to install a plugin twice Server crashes when [UN]INSTALL PLUGIN fails (returns an error) and general log is disabled and there are audit plugins interested in MYSQL_AUDIT_GENERAL_CLASS. When audit event is triggered, audit subsystem acquires interested plugins by walking through plugin list. Evidently plugin list iterator protects plugin list by acquiring LOCK_plugin, see plugin_foreach_with_mask(). On the other hand [UN]INSTALL PLUGIN is acquiring LOCK_plugin rather for a long time. When audit event is triggered during [UN]INSTALL PLUGIN, plugin list iterator acquires the same lock (within the same thread) second time. Repeatable only with general_log disabled, because general_log triggers MYSQL_AUDIT_GENERAL_LOG event, which acquires audit plugins before [UN]INSTALL PLUGIN acquired LOCK_plugin. With this fix we pre-acquire audit plugins for events that may potentially occur during [UN]INSTALL PLUGIN. This hack should be removed when LOCK_plugin is fixed so it protects only what it supposed to protect. No test case for this fix - we do not have facility to test audit plugins yet. sql/sql_audit.cc: Move "acquire audit plugin" logics to a separate function. sql/sql_audit.h: Move "acquire audit plugin" logics to a separate function. sql/sql_plugin.cc: Pre-acquire audit plugins for events that may potentially occur during [UN]INSTALL PLUGIN.
-
- 15 Apr, 2010 1 commit
-
-
Sergey Vojtovich authored
e.g.MYSQL_AUDIT_GENERAL_ERROR General audit API (MYSQL_AUDIT_GENERAL_CLASS) didn't expose event subclass to plugins. This patch exposes event subclass to plugins via struct mysql_event_general::event_subclass. This change is not compatible with existing general audit plugins. Audit interface major version has been incremented. include/mysql/plugin_audit.h: Expose event subclass to audit general plugins. plugin/audit_null/audit_null.c: Added distinct counters for general event sub-classes. Removed printf() from deinit(). One can easily see number of calls via status variables. To make code nicer, modified class mask to use macro instead of hardcoded number. Incremented audit plugin minor version. sql/sql_audit.cc: Expose event subclass to audit general plugins.
-
- 31 Mar, 2010 1 commit
-
-
Mats Kindahl authored
This patch: - Moves all definitions from the mysql_priv.h file into header files for the component where the variable is defined - Creates header files if the component lacks one - Eliminates all include directives from mysql_priv.h - Eliminates all circular include cycles - Rename time.cc to sql_time.cc - Rename mysql_priv.h to sql_priv.h
-
- 15 Dec, 2009 1 commit
-
-
Sergey Vojtovich authored
WL#3771 "Audit Plugin Interface" Implement new plug-in type - AUDIT New plug-in: audit_null simply increments counter for how many times it was called. include/Makefile.am: wl3771 add new headers to distribution include/mysql/plugin.h: wl3771 define new AUDIT plugin type Split out fulltext plugin type into its own header include/mysql/plugin.h.pp: wl3771 no real API change, just re-arranged some code include/mysql/plugin_audit.h: wl3771 pluggable audit interface include/mysql/plugin_ftparser.h: wl3771 Split out fulltext plugin type into its own header libmysqld/CMakeLists.txt: wl3771 add sql_audit.cc to build libmysqld/Makefile.am: wl3771 add sql_audit.cc to build plugin/audit_null: wl3771 an example plugin for testing pluggable audit interface plugin/audit_null/Makefile.am: wl3771 an example plugin for testing pluggable audit interface plugin/audit_null/audit_null.c: wl3771 an example plugin for testing pluggable audit interface plugin/audit_null/plug.in: wl3771 an example plugin for testing pluggable audit interface sql/CMakeLists.txt: wl3771 add sql_audit.cc to build sql/Makefile.am: wl3771 add sql_audit.cc to build sql/event_queue.cc: wl3771 release audit resources before waiting sql/log.cc: wl3771 add general audit call for log sql/mysqld.cc: wl3771 add audit initialize/finalize add general audit call for error sql/sql_audit.cc: wl3771 pluggable audit interface implementation sql/sql_audit.h: wl3771 pluggable audit interface implementation sql/sql_class.cc: wl3771 add thd audit init/deinit calls sql/sql_class.h: wl3771 add required data structures for audit to THD sql/sql_connect.cc: wl3771 release audit resources before waiting sql/sql_insert.cc: wl3771 release audit plugins before waiting sql/sql_parse.cc: wl3771 add general audit call for results sql/sql_plugin.cc: wl3771 add declarations for audit plugin type
-