summaryrefslogtreecommitdiff
path: root/plugin
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-6152: Remove calls to current_thd while creating ItemMonty2015-08-271-1/+1
| | | | | | | | - Part 3: Adding mem_root to push_back() and push_front() Other things: - Added THD as an argument to some partition functions. - Added memory overflow checking for XML tag's in read_xml()
* Stage 2 of MDEV-6152:Monty2015-08-211-5/+8
| | | | | | | | - Added mem_root to all calls to new Item - Added private method operator new(size_t size) to Item to ensure that we always use a mem_root when creating an item. This saves use once call to current_thd per Item creation
* MDEV-8010 - Avoid sql_alloc() in Items (Patch #1)Sergey Vojtovich2015-08-212-8/+8
| | | | | | | Added mandatory thd parameter to Item (and all derivative classes) constructor. Added thd parameter to all routines that may create items. Also removed "current_thd" from Item::Item. This reduced number of pthread_getspecific() calls from 290 to 177 per OLTP RO transaction.
* Merge tag 'mariadb-10.0.20' into 10.1Sergei Golubchik2015-06-276-9/+17
|\
| * MDEV-7398 mysqld segfaults on FreeBSD 10.1 i386 when built with clang 3.4Sergei Golubchik2015-06-161-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in cmake tests let's treat clang like gcc (same options, same builtins) in many cases. * don't check the compiler when * testing for -fvisibility=hidden support * testing for HAVE_ABI_CXA_DEMANGLE * testing for HAVE_GCC_ATOMIC_BUILTINS * when removing options with string(replace) * when running ${CC} --version (ignore the error instead) * run ABI checks for clang * use "canonical" gcc flags for clang * fix groonga too Also: * add cmake detection for gcc __atomic_* builtins. they might be supported (__ATOMIC_SEQ_CST is defined), but not for all operand sizes. In particular, 64-bit atomic load is problematic on i386 * cache check results for Windows * remove the test for HAVE_CXXABI_H (HAVE_ABI_CXA_DEMANGLE is suffifient)
| * MDEV-7771 missing client plugins when mariadb-shared is not installedSergei Golubchik2015-06-153-3/+3
| | | | | | | | | | | | | | | | Put client plugins into -common rpm, not -shared. Because they're needed for * all clients that link with shared libmysqlclient (-shared) * our clients from -client rpm, they're statically linked (-client) * the server that acts as a replication slave (-server)
| * MDEV-8131 MariaDB does not build on hurd-i386: ↵Sergei Golubchik2015-06-151-0/+2
| | | | | | | | | | | | plugin/auth_dialog/dialog.c:172:20: error: 'RTLD_DEFAULT' undeclared define _GNU_SORUCE before including dlfcn.h
| * Merge branch '5.5' into 10.0Sergei Golubchik2015-06-111-3/+11
| |\
| | * MDEV-8078 Memory disclosure/buffer overread on audit plugin.Alexey Botchkov2015-06-071-3/+9
| | | | | | | | | | | | | | | | | | | | | If the SET PASSWORD query doesn't have the password string, the parsing of it can fail. It manifested first in MySQL 5.6 as it started to hide password lines sent to the plugins. Fixed by checking for that case.
| | * MDEV-8032 [PATCH] audit plugin - csv output broken.Alexey Botchkov2015-06-061-0/+2
| | | | | | | | | | | | | | | Symbols like TAB or NEWLINE should be escaped, which was forgotten in one place.
* | | MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP ROSergey Vojtovich2015-06-191-1/+1
| | | | | | | | | | | | | | | Pass THD to Item_field (and all derivatives) constructors. This reduces number of pthread_getspecific() calls from 322 to 292.
* | | AES-GCM support in file_key_management pluginSergei Golubchik2015-06-021-0/+31
| | |
* | | file_key_management plugin: complain if key id 1 is not foundSergei Golubchik2015-06-022-2/+13
| | | | | | | | | | | | and don't recommend aes_ctr if it's unavailable
* | | Merge tag 'mariadb-10.0.19' into 10.1Sergei Golubchik2015-06-011-36/+115
|\ \ \ | |/ /
| * | Merge branch '5.5' into 10.0Sergei Golubchik2015-05-041-36/+115
| |\ \ | | |/
| | * MDEV-7596 audit plugin - record full query / document line length / make ↵Alexey Botchkov2015-03-311-28/+102
| | | | | | | | | | | | | | | | | | | | | buffer configurable. The serve_audit_query_log_limit variable implemented. Also QUERY_DCL filter added.
| | * MDEV-7641 Server crash on set global server_audit_incl_users=null.Alexey Botchkov2015-03-191-7/+12
| | | | | | | | | | | | | | | plugin_variable_update() can get NULL as a value for a string parameter. Needs to be checked and handled properly.
* | | MDEV-7943 - pthread_getspecific() takes 0.76% in OLTP ROSergey Vojtovich2015-05-141-2/+2
| | | | | | | | | | | | | | | | | | | | | Avoid calling current_thd from thd_kill_level(). This reduces number of pthread_getspecific() calls from 776 to 354. Also thd_kill_level(NULL) is not permitted anymore: this saves one condition.
* | | example encryption plugin supports key idsSergei Golubchik2015-05-131-3/+2
| | | | | | | | | | | | | | | show that two keys can be different if they have different ids or different versions.
* | | MDEV-8022 Assertion `rc == 0' failed in ma_encrypt on dropping an encrypted ↵Sergei Golubchik2015-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Aria table fix encryption of the last partial block * now really encrypt it, using key and iv * support the case of very short plaintext (less than one block) * recommend aes_ctr over aes_cbc, because the former doesn't have problems with partial blocks
* | | MDEV-7993 file_key_management_filekey doesn't work as expected with FILE:Sergei Golubchik2015-05-131-0/+1
| | | | | | | | | | | | | | | chomp the secret, as read from the file. remove trailing CR and LF bytes.
* | | move debug_ and example_key_management plugins to test componentSergei Golubchik2015-04-102-2/+2
| | |
* | | fix "use mutex before initialization" bug in example_km pluginSergei Golubchik2015-04-101-1/+1
| | | | | | | | | | | | that for some reasons worked on linux, but crashed on windows
* | | Add encryption key id to the API as a distinct conceptSergei Golubchik2015-04-093-17/+27
| | | | | | | | | | | | which is separate from the encryption key version
* | | renames to follow single consistent naming styleSergei Golubchik2015-04-093-4/+4
| | | | | | | | | | | | with namespace prefixes
* | | encryption plugin controls the encryptionSergei Golubchik2015-04-093-25/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | * no --encryption-algorithm option anymore * encrypt/decrypt methods in the encryption plugin * ecnrypt/decrypt methods in the encryption_km service * file_km plugin has --file-key-management-encryption-algorithm * debug_km always uses aes_cbc * example_km changes between aes_cbc and aes_ecb for different key versions
* | | rename "encryption key management plugin" to "encryption plugin"Sergei Golubchik2015-04-093-12/+12
| | | | | | | | | | | | because it's going to do more than just key management
* | | optimize encryption apiSergei Golubchik2015-04-083-63/+34
| | | | | | | | | | | | | | | only one encryption key lookup in most cases instead of three (has_key, get_key_size, get_key).
* | | completely rewrote file_key_management pluginSergei Golubchik2015-04-088-878/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numerous issues fixed: * buffer overflows * error conditions aren't checked (crash if file doesn't exist) * accessing random unallocated memory * hard-coded password * arbitrary hard-coded key id limit * incomprehensible error messages (for key_id == 0 it reported "The key could not be initialized", for syntax errors the message was "Wrong match of the keyID, see the template", for a key id larger than hard-coded limit the message was "No asked key", and there was an error "Is comment" for a comment). * tons of small mallocs, many are freed few lines down in the code * malloc(N) and new char[N] are used both, even in the same function * redundant memory copies * pcre - "I can solve it with regular expressions" - with incorrect regexes * parser context stored in a singleton * keys are stored as strings and are strlen-ed and hex2bin-ed on every get_key() request * lots of useless code (e.g. sprintf instead of a pointer assignment, checking of the file length to read a part of it in a fixed buffer, multiplying by sizeof(char) in many places, etc) * this list is not exhaustive
* | | rename plugins to remove "_plugin" from the plugin nameSergei Golubchik2015-04-0812-14/+14
| | |
* | | remove get_iv() from the key management plugin APISergei Golubchik2015-04-083-51/+3
| | | | | | | | | | | | now IVs are always handled internally
* | | move debug_use_static_encryption_keys and debug_encryption_key_version to a ↵Sergei Golubchik2015-04-082-0/+100
| | | | | | | | | | | | plugin
* | | encryption cleanup: small changesSergei Golubchik2015-04-055-9/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * comments * move my_bytes_to_key() and my_aes_hex2uint() into file_key_management_plugin * rename HA_INSERT_ORDER -> HA_PRESERVE_INSERT_ORDER * remove unused variables and declarations * fix casts * don't link innodb with pcre * remove redundant entries from aria's TARGET_LINK_LIBRARIES
* | | Replace static usage of AES_CTR with current encryption algorithm.Jan Lindström2015-03-171-1/+9
| | |
* | | MDEV-6650 - LINT_INIT emits code in non-debug buildsSergey Vojtovich2015-03-161-2/+0
| | | | | | | | | | | | | | | Replaced all references to LINT_INIT with UNINIT_VAR and LINT_INIT_STRUCT. Removed LINT_INIT macro.
* | | MDEV-7671: Cache VIEW definitions in the TDCOleksandr Byelkin2015-03-111-1/+1
| | | | | | | | | | | | (changes of backported patch are very small: strlen removed, error processing fixed, view open statistics added)
* | | Merge branch '10.0' into 10.1Sergei Golubchik2015-03-071-17/+540
|\ \ \ | |/ /
| * | Merge branch '5.5' into 10.0Sergei Golubchik2015-02-181-17/+540
| |\ \ | | |/
| | * Audit plugin v1.2.0.Alexey Botchkov2015-02-081-18/+541
| | |
* | | MDEV-7305 Difficulties building cracklib_password_checkSergei Golubchik2015-02-171-2/+5
| | | | | | | | | | | | | | | put cracklib_password_check into a separate package. build it conditionally on Debian/Ubuntu
* | | followup for "MDEV-6248 GUI-friendly cmake options to enable/disable plugins"Sergei Golubchik2015-02-155-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove ONLY_IF clause in MYSQL_ADD_PLUGIN and the requirement that every plugin's CMakeLists.txt *must* do MYSQL_ADD_PLUGIN for PLUGIN_XXX=YES to work. This was very fragile and cannot be relied on. Use a different implementation of =YES check - iterate all PLUGIN_* variables and see which one doesn't have a matching target. Revert all ONLY_IF changes in CMakeLists.txt files.
* | | MDEV-7450 key management plugins don't work with yasslSergei Golubchik2015-02-102-2/+6
| | | | | | | | | | | | workaround, not a fix: don't build key management plugins in yassl builds
* | | encryption keys serviceSergei Golubchik2015-02-101-1/+0
| | |
* | | encryption key management plugin apiSergei Golubchik2015-02-104-35/+27
| | |
* | | Push for testing of encryptionMonty2015-02-108-0/+1023
| | |
* | | password validation plugin API: renamesSergei Golubchik2015-02-102-2/+2
| | |
* | | MDEV-7437 remove suport for "atomics" with rwlocksSergei Golubchik2015-01-131-22/+4
| | |
* | | MDEV-7053 : WSREP_STATUS & WSREP_MEMBERSHIP I_S tablesNirbhay Choubey2014-12-234-5/+5
| | | | | | | | | | | | Addendum : Renamed plugin .so file.
* | | MDEV-162 Enhanced semisync replicationJonas Oreland2014-12-233-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | Implement --semi-sync-master-wait-point=AFTER_SYNC|AFTER_COMMIT. When AFTER_SYNC, the semi-sync wait will be done earlier, before the storage engine commit rather than after. This means that a transaction will not be visible on the master until at least one slave has received it.
* | | cracklib_password_check pluginSergei Golubchik2014-12-042-0/+94
| | |