From c91e3260e2678078c0bb29d8daa90fb52cefaab7 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Mon, 30 Mar 2015 18:00:50 +0200 Subject: [PATCH] tests for file_key_management plugin key file parser --- mysql-test/std_data/keys.txt | 12 +- .../innodb/r/innodb-page_encryption.result | 4 +- ...nodb-page_encryption_log_encryption.result | 4 +- .../innodb/t/innodb-page_encryption.test | 2 + ...innodb-page_encryption_log_encryption.test | 2 +- .../suite/plugins/r/filekeys_encfile.result | 38 ++++++ .../plugins/r/filekeys_encfile_bad.result | 8 ++ .../plugins/r/filekeys_encfile_badfile.result | 8 ++ .../plugins/r/filekeys_encfile_file.result | 38 ++++++ .../plugins/r/filekeys_encfile_no.result | 8 ++ .../suite/plugins/r/filekeys_nofile.result | 8 ++ .../suite/plugins/r/filekeys_syntax.result | 116 ++++++++++++++++++ .../suite/plugins/r/filekeys_unencfile.result | 8 ++ mysql-test/suite/plugins/t/filekeys-data.enc | Bin 0 -> 416 bytes mysql-test/suite/plugins/t/filekeys-data.key | 1 + .../suite/plugins/t/filekeys_badtest.inc | 18 +++ .../suite/plugins/t/filekeys_encfile.opt | 2 + .../suite/plugins/t/filekeys_encfile.test | 1 + .../suite/plugins/t/filekeys_encfile_bad.opt | 2 + .../suite/plugins/t/filekeys_encfile_bad.test | 2 + .../plugins/t/filekeys_encfile_badfile.opt | 2 + .../plugins/t/filekeys_encfile_badfile.test | 2 + .../suite/plugins/t/filekeys_encfile_file.opt | 2 + .../plugins/t/filekeys_encfile_file.test | 1 + .../suite/plugins/t/filekeys_encfile_no.opt | 1 + .../suite/plugins/t/filekeys_encfile_no.test | 2 + .../suite/plugins/t/filekeys_goodtest.inc | 20 +++ .../suite/plugins/t/filekeys_nofile.test | 2 + .../suite/plugins/t/filekeys_plugin.inc | 4 + .../suite/plugins/t/filekeys_plugin.opt | 2 + .../suite/plugins/t/filekeys_syntax.opt | 1 + .../suite/plugins/t/filekeys_syntax.test | 96 +++++++++++++++ .../suite/plugins/t/filekeys_unencfile.opt | 2 + .../suite/plugins/t/filekeys_unencfile.test | 2 + 34 files changed, 414 insertions(+), 7 deletions(-) create mode 100644 mysql-test/suite/plugins/r/filekeys_encfile.result create mode 100644 mysql-test/suite/plugins/r/filekeys_encfile_bad.result create mode 100644 mysql-test/suite/plugins/r/filekeys_encfile_badfile.result create mode 100644 mysql-test/suite/plugins/r/filekeys_encfile_file.result create mode 100644 mysql-test/suite/plugins/r/filekeys_encfile_no.result create mode 100644 mysql-test/suite/plugins/r/filekeys_nofile.result create mode 100644 mysql-test/suite/plugins/r/filekeys_syntax.result create mode 100644 mysql-test/suite/plugins/r/filekeys_unencfile.result create mode 100644 mysql-test/suite/plugins/t/filekeys-data.enc create mode 100644 mysql-test/suite/plugins/t/filekeys-data.key create mode 100644 mysql-test/suite/plugins/t/filekeys_badtest.inc create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile.test create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_bad.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_bad.test create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_badfile.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_badfile.test create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_file.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_file.test create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_no.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_encfile_no.test create mode 100644 mysql-test/suite/plugins/t/filekeys_goodtest.inc create mode 100644 mysql-test/suite/plugins/t/filekeys_nofile.test create mode 100644 mysql-test/suite/plugins/t/filekeys_plugin.inc create mode 100644 mysql-test/suite/plugins/t/filekeys_plugin.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_syntax.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_syntax.test create mode 100644 mysql-test/suite/plugins/t/filekeys_unencfile.opt create mode 100644 mysql-test/suite/plugins/t/filekeys_unencfile.test diff --git a/mysql-test/std_data/keys.txt b/mysql-test/std_data/keys.txt index 389f261fc53..e511521d7ab 100644 --- a/mysql-test/std_data/keys.txt +++ b/mysql-test/std_data/keys.txt @@ -1,6 +1,12 @@ +# +# this is a comment +# 1;770A8A65DA156D24EE2A093277530142 2;4D92199549E0F2EF009B4160F3582E5528A11A45017F3EF8 -3;B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF -4;18420B5CBA31CCDFFE9716E91EB61374D05914F3ADE23E03 + # another comment +33;B374A26A71490437AA024E4FADD5B497FDFF1A8EA6FF12F6FB65AF2720B59CCF +4;18420B5CBA31CCDFFE9716E91EB61374D05914F3ADE23E03 --> ignored + 5;966050D7777350B6FD5CCB3E5F648DA45C63BEFB6DEDDFA13443F156B7D35C84 -6;B5EA210C8C09EF20DB95EC584714A89F +6;B5EA210C8C09EF20DB95EC584714A89F # and yet another + diff --git a/mysql-test/suite/innodb/r/innodb-page_encryption.result b/mysql-test/suite/innodb/r/innodb-page_encryption.result index dfc93508b90..b66c4f79106 100644 --- a/mysql-test/suite/innodb/r/innodb-page_encryption.result +++ b/mysql-test/suite/innodb/r/innodb-page_encryption.result @@ -4,6 +4,8 @@ create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb; create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_encryption=1 page_encryption_key=1; create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_encryption=1 page_encryption_key=2; create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=3; +ERROR HY000: Can't create table `test`.`innodb_dynamic` (errno: 140 "Wrong create options") +create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=33; create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_encryption=1 page_encryption_key=4; SET GLOBAL innodb_default_page_encryption_key = 5; create table innodb_defkey(c1 bigint not null, b char(200)) engine=innodb page_encryption=1; @@ -30,7 +32,7 @@ Table Create Table innodb_dynamic CREATE TABLE `innodb_dynamic` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `page_encryption`=1 `page_encryption_key`=3 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `page_encryption`=1 `page_encryption_key`=33 show create table innodb_redundant; Table Create Table innodb_redundant CREATE TABLE `innodb_redundant` ( diff --git a/mysql-test/suite/innodb/r/innodb-page_encryption_log_encryption.result b/mysql-test/suite/innodb/r/innodb-page_encryption_log_encryption.result index 3830bfee22b..56222861a7a 100644 --- a/mysql-test/suite/innodb/r/innodb-page_encryption_log_encryption.result +++ b/mysql-test/suite/innodb/r/innodb-page_encryption_log_encryption.result @@ -6,7 +6,7 @@ SET GLOBAL innodb_file_per_table = ON; create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb; create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_encryption=1 page_encryption_key=1; create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_encryption=1 page_encryption_key=2; -create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=3; +create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=33; create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_encryption=1 page_encryption_key=4; show create table innodb_compact; Table Create Table @@ -25,7 +25,7 @@ Table Create Table innodb_dynamic CREATE TABLE `innodb_dynamic` ( `c1` bigint(20) NOT NULL, `b` char(200) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `page_encryption`=1 `page_encryption_key`=3 +) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC `page_encryption`=1 `page_encryption_key`=33 show create table innodb_redundant; Table Create Table innodb_redundant CREATE TABLE `innodb_redundant` ( diff --git a/mysql-test/suite/innodb/t/innodb-page_encryption.test b/mysql-test/suite/innodb/t/innodb-page_encryption.test index 66927d1905f..93c071f3b95 100644 --- a/mysql-test/suite/innodb/t/innodb-page_encryption.test +++ b/mysql-test/suite/innodb/t/innodb-page_encryption.test @@ -13,7 +13,9 @@ SET GLOBAL innodb_file_per_table = ON; create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb; create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_encryption=1 page_encryption_key=1; create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_encryption=1 page_encryption_key=2; +--error ER_CANT_CREATE_TABLE create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=3; +create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=33; create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_encryption=1 page_encryption_key=4; SET GLOBAL innodb_default_page_encryption_key = 5; diff --git a/mysql-test/suite/innodb/t/innodb-page_encryption_log_encryption.test b/mysql-test/suite/innodb/t/innodb-page_encryption_log_encryption.test index abff5d93083..6076b82f596 100644 --- a/mysql-test/suite/innodb/t/innodb-page_encryption_log_encryption.test +++ b/mysql-test/suite/innodb/t/innodb-page_encryption_log_encryption.test @@ -16,7 +16,7 @@ SET GLOBAL innodb_file_per_table = ON; create table innodb_normal(c1 bigint not null, b char(200)) engine=innodb; create table innodb_compact(c1 bigint not null, b char(200)) engine=innodb row_format=compact page_encryption=1 page_encryption_key=1; create table innodb_compressed(c1 bigint not null, b char(200)) engine=innodb row_format=compressed page_encryption=1 page_encryption_key=2; -create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=3; +create table innodb_dynamic(c1 bigint not null, b char(200)) engine=innodb row_format=dynamic page_encryption=1 page_encryption_key=33; create table innodb_redundant(c1 bigint not null, b char(200)) engine=innodb row_format=redundant page_encryption=1 page_encryption_key=4; show create table innodb_compact; diff --git a/mysql-test/suite/plugins/r/filekeys_encfile.result b/mysql-test/suite/plugins/r/filekeys_encfile.result new file mode 100644 index 00000000000..456c8a00279 --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_encfile.result @@ -0,0 +1,38 @@ +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=1 +insert t1 values (12345, repeat('1234567890', 20)); +alter table t1 page_encryption_key=2; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=2 +alter table t1 page_encryption_key=3; +ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options") +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=2 +alter table t1 page_encryption_key=33; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=33 +alter table t1 page_encryption_key=4; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=4 +drop table t1; diff --git a/mysql-test/suite/plugins/r/filekeys_encfile_bad.result b/mysql-test/suite/plugins/r/filekeys_encfile_bad.result new file mode 100644 index 00000000000..233c7da432e --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_encfile_bad.result @@ -0,0 +1,8 @@ +call mtr.add_suppression("Cannot decrypt .*filekeys-data.enc. Wrong key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/r/filekeys_encfile_badfile.result b/mysql-test/suite/plugins/r/filekeys_encfile_badfile.result new file mode 100644 index 00000000000..68973fc8ee3 --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_encfile_badfile.result @@ -0,0 +1,8 @@ +call mtr.add_suppression("File 'bad' not found"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/r/filekeys_encfile_file.result b/mysql-test/suite/plugins/r/filekeys_encfile_file.result new file mode 100644 index 00000000000..456c8a00279 --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_encfile_file.result @@ -0,0 +1,38 @@ +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=1 +insert t1 values (12345, repeat('1234567890', 20)); +alter table t1 page_encryption_key=2; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=2 +alter table t1 page_encryption_key=3; +ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 140 "Wrong create options") +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=2 +alter table t1 page_encryption_key=33; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=33 +alter table t1 page_encryption_key=4; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `c1` bigint(20) NOT NULL, + `b` char(200) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=latin1 `page_encryption`=1 `page_encryption_key`=4 +drop table t1; diff --git a/mysql-test/suite/plugins/r/filekeys_encfile_no.result b/mysql-test/suite/plugins/r/filekeys_encfile_no.result new file mode 100644 index 00000000000..233c7da432e --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_encfile_no.result @@ -0,0 +1,8 @@ +call mtr.add_suppression("Cannot decrypt .*filekeys-data.enc. Wrong key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/r/filekeys_nofile.result b/mysql-test/suite/plugins/r/filekeys_nofile.result new file mode 100644 index 00000000000..43997ee384b --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_nofile.result @@ -0,0 +1,8 @@ +call mtr.add_suppression("File '' not found"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/r/filekeys_syntax.result b/mysql-test/suite/plugins/r/filekeys_syntax.result new file mode 100644 index 00000000000..4340fb6bdb9 --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_syntax.result @@ -0,0 +1,116 @@ +call mtr.add_suppression("File '.*keys.txt' not found"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Invalid key id at MYSQL_TMP_DIR/keys.txt line 2, column 2 +call mtr.add_suppression("File '.*keys.txt' not found"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Invalid key id"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Invalid key id at MYSQL_TMP_DIR/keys.txt line 2, column 11 +call mtr.add_suppression("Invalid key id"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Invalid key id"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Invalid key at MYSQL_TMP_DIR/keys.txt line 2, column 47 +call mtr.add_suppression("Invalid key id"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Invalid key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Invalid key at MYSQL_TMP_DIR/keys.txt line 2, column 33 +call mtr.add_suppression("Invalid key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Invalid key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Syntax error at MYSQL_TMP_DIR/keys.txt line 2, column 2 +call mtr.add_suppression("Invalid key"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Syntax error"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +install soname 'file_key_management'; +ERROR HY000: Syntax error at MYSQL_TMP_DIR/keys.txt line 2, column 1 +call mtr.add_suppression("Syntax error"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status +call mtr.add_suppression("Syntax error"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/r/filekeys_unencfile.result b/mysql-test/suite/plugins/r/filekeys_unencfile.result new file mode 100644 index 00000000000..f292aa582a7 --- /dev/null +++ b/mysql-test/suite/plugins/r/filekeys_unencfile.result @@ -0,0 +1,8 @@ +call mtr.add_suppression("Cannot decrypt .*keys.txt. Not encrypted"); +call mtr.add_suppression("Plugin 'file_key_management' init function returned error"); +call mtr.add_suppression("Plugin 'file_key_management' registration.*failed"); +create table t1(c1 bigint not null, b char(200)) engine=innodb page_encryption=1 page_encryption_key=1; +ERROR HY000: Can't create table `test`.`t1` (errno: 140 "Wrong create options") +select plugin_status from information_schema.plugins +where plugin_name = 'file_key_management'; +plugin_status diff --git a/mysql-test/suite/plugins/t/filekeys-data.enc b/mysql-test/suite/plugins/t/filekeys-data.enc new file mode 100644 index 0000000000000000000000000000000000000000..a8adb2f939c72baf5eb9d94f8f272e898095c5e2 GIT binary patch literal 416 zcmV;R0bl-8VQh3|WM5y;+RZcbTB{aaj+zq$1rn3EX$|^vch87eL%!a%{lGF59BZbb z?ktd2=)WMn(+gx0Xx=EMYqjoD^5jSV<6E*Qn*tW#XkR;+ejj;Ur$6B>8pHpV%Wr!l zLheWidQGBh7t@q?^=fSC;q1qbHPuKrhmnqT28KR}uZ(B*&te4na9?$ipP~X(Xxx4| z9+Y;!%%S)vprk2P{Yffmz{Y52c1TsIzcZBEE+kD-bkyIkZkb89dzjF6NC@Wv2L)D) zJnk$~DR}9p!M9zTg3t@(N_wRcjKdJrg(z^c!Y5Qs7{2i2Crs4nJ0tiDRl{!Pyq&em zb11D04Kt;JS&KbI>e(+o*&hZqden7;m7>9#{`r;|vW?t`*J`U*Pa5P5sYrVzqvWuY z`JBjW)}MlrLEA*^mKwjq`MW1NNeYiOc{TdG!51{9BfV|SZr`{)EyJ{OZkl)1v7$E2 zxrhL(Pp!$cRC!NDplPKv=)_6LB*d!tIu225T6YVUVsdJC=q*neWUffzCs>-e>EG