[MDEV-11660] Make encryption plugins "pure", not exporting mysqld entry points directly Created: 2016-12-23  Updated: 2017-04-27  Resolved: 2017-04-27

Status: Closed
Project: MariaDB Server
Component/s: Backup
Fix Version/s: 10.1.23

Type: Task Priority: Blocker
Reporter: Vladislav Vaintroub Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-9566 Add xtrabackup tool to MariaDB 10.1 Closed
PartOf
includes MDEV-11663 Add server services for functionality... Closed

 Description   

Encryption plugins can be loaded by both server and xtrabackup. On Windows, all server plugins are linked with mysqld.exe (because they export server entry points, and shared library cannot have unresolved symbols on Windows). Loading plugins from the process that is not mysqld.exe requires subverting Windows loader. To make it possible, non-trivial amount of hacks are required. On Solaris, plugins also cannot be loaded into xtrabackup, and currently all encryption tests fail there.

The task is to make shared library plugins "pure", not having unresolved symbols, not depending on mysqld to load. For that,
a) We should add more server services. Currently, AES encryption, reporting (to client with mysql_print_error, or to error log with sql_print_information) is used inside plugins.
b) Rewrite functionality that is possible to achieve with standard system libraries - get rid of my_open/my_read, my_malloc, dynamic_array etc


Generated at Thu Feb 08 07:51:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.