summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-01-02 22:53:54 +0100
committerSergei Golubchik <serg@mariadb.org>2015-02-10 10:21:18 +0100
commit21430e43786edaf5b689c8b4aed49341bb7021c8 (patch)
treed3d094c02cd596d66da0b5c23c3f89698c5ed7d9 /sql
parentcf8bf0b68e1c4281535813d4087680296138271c (diff)
downloadmariadb-git-21430e43786edaf5b689c8b4aed49341bb7021c8.tar.gz
encryption keys service
Diffstat (limited to 'sql')
-rw-r--r--sql/encryption_keys.cc2
-rw-r--r--sql/encryption_keys.h11
-rw-r--r--sql/sql_plugin_services.h10
-rw-r--r--sql/sys_vars.cc2
4 files changed, 23 insertions, 2 deletions
diff --git a/sql/encryption_keys.cc b/sql/encryption_keys.cc
index f924ad1c599..835ecd470cf 100644
--- a/sql/encryption_keys.cc
+++ b/sql/encryption_keys.cc
@@ -1,6 +1,6 @@
#include <my_global.h>
#include <mysql/plugin_encryption_key_management.h>
-#include <my_crypt_key_management.h>
+#include "encryption_keys.h"
#include "log.h"
#include "sql_plugin.h"
diff --git a/sql/encryption_keys.h b/sql/encryption_keys.h
new file mode 100644
index 00000000000..10907c1332a
--- /dev/null
+++ b/sql/encryption_keys.h
@@ -0,0 +1,11 @@
+#ifndef SQL_CRYPTOKEY_INCLUDED
+#define SQL_CRYPTOKEY_INCLUDED
+
+#include "my_global.h"
+
+#ifndef DBUG_OFF
+ extern my_bool debug_use_static_encryption_keys;
+extern uint opt_debug_encryption_key_version;
+#endif /* DBUG_OFF */
+
+#endif // SQL_CRYPTOKEY_INCLUDED
diff --git a/sql/sql_plugin_services.h b/sql/sql_plugin_services.h
index c99691ab579..aeb2d75efc5 100644
--- a/sql/sql_plugin_services.h
+++ b/sql/sql_plugin_services.h
@@ -139,6 +139,15 @@ static struct wsrep_service_st wsrep_handler = {
wsrep_unlock_rollback
};
+static struct encryption_keys_service_st encryption_keys_handler=
+{
+ get_latest_encryption_key_version,
+ has_encryption_key,
+ get_encryption_key_size,
+ get_encryption_key,
+ get_encryption_iv
+};
+
static struct thd_specifics_service_st thd_specifics_handler=
{
thd_key_create,
@@ -161,6 +170,7 @@ static struct st_service_ref list_of_services[]=
{ "logger_service", VERSION_logger, &logger_service_handler },
{ "thd_autoinc_service", VERSION_thd_autoinc, &thd_autoinc_handler },
{ "wsrep_service", VERSION_wsrep, &wsrep_handler },
+ { "encryption_keys_service", VERSION_encryption_keys, &encryption_keys_handler },
{ "thd_specifics_service", VERSION_thd_specifics, &thd_specifics_handler },
{ "thd_error_context_service", VERSION_thd_error_context, &thd_error_conext_handler },
};
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc
index 198e4073ef8..0dea5a134e9 100644
--- a/sql/sys_vars.cc
+++ b/sql/sys_vars.cc
@@ -62,7 +62,7 @@
#include "sql_repl.h"
#include "opt_range.h"
#include "rpl_parallel.h"
-#include <my_crypt_key_management.h>
+#include "encryption_keys.h"
/*
The rule for this file: everything should be 'static'. When a sys_var