summaryrefslogtreecommitdiff
path: root/include/mysql/plugin_function.h.pp
diff options
context:
space:
mode:
authorThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-02-26 16:37:24 +0530
committerThirunarayanan Balathandayuthapani <thiru@mariadb.com>2021-03-03 17:27:31 +0530
commit703d69c2a89c57905c47bd9708f6356bbeb9028d (patch)
tree21219f217b77a56eb901b6de4b8ca4a0f3887e47 /include/mysql/plugin_function.h.pp
parent80ac9ec1cc10d56b048272642653d5d301394779 (diff)
downloadmariadb-git-bb-10.6-MDEV-14180_1.tar.gz
MDEV-14180 Automatically disable key rotation checks for file_key_managment pluginbb-10.6-MDEV-14180_1
- InnoDB iterates the fil_system space list to encrypt the tablespace in case of key rotation.But it is not necessary for any encryption plugin which doesn't do any key rotation. InnoDB should avoid key rotation for file key management encryption plugin. Introduce new encryption service called encryption_set_no_rotation() and encryption_get_rotation(). Encryption plugin should call encryption_set_no_rotation() in case it doesn't support key rotation. Introduce a new variable called srv_encrypt_rotate and it should be assigned via encryption_get_rotation(). If it doesn't do key rotation then InnoDB should add the tablespace to rotation list.
Diffstat (limited to 'include/mysql/plugin_function.h.pp')
-rw-r--r--include/mysql/plugin_function.h.pp8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/mysql/plugin_function.h.pp b/include/mysql/plugin_function.h.pp
index 0f915c8413f..de053261bb5 100644
--- a/include/mysql/plugin_function.h.pp
+++ b/include/mysql/plugin_function.h.pp
@@ -464,6 +464,14 @@ int json_escape_string(const char *str,const char *str_end,
int json_unescape_json(const char *json_str, const char *json_end,
char *res, char *res_end);
}
+extern "C" {
+extern struct encryption_rotation_service_st {
+ int (*encrypt_set_no_rotate_ptr)(void);
+ int (*encrypt_get_no_rotate_ptr)(void);
+} *encryption_rotation_service;
+int encryption_set_no_rotation(void);
+int encryption_get_no_rotation(void);
+}
}
struct st_mysql_xid {
long formatID;