Skip to content

Commit 74519d1

Browse files
committed
Merge tag 'clone-5.7.40-build' into mysql-5.7-cluster-7.5
Change-Id: Ia175a68bca48a2b15e522958dff00131566ae151
2 parents f821474 + c4f63ca commit 74519d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1466
-204
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Introduction
1010
third-party software which may be included in this distribution of
1111
MySQL NDB Cluster 7.5.16 (and later).
1212

13-
Last updated: May 2022
13+
Last updated: August 2022
1414

1515
Licensing Information
1616

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
MYSQL_VERSION_MAJOR=5
22
MYSQL_VERSION_MINOR=7
3-
MYSQL_VERSION_PATCH=39
3+
MYSQL_VERSION_PATCH=40
44
MYSQL_VERSION_EXTRA=-ndb-7.5.28

config.h.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@
187187
#cmakedefine HAVE_ULONG 1
188188
#cmakedefine HAVE_U_INT32_T 1
189189
#cmakedefine HAVE_STRUCT_TIMESPEC
190+
#cmakedefine HAVE_TM_GMTOFF 1
190191

191192
/* Support for tagging symbols with __attribute__((visibility("hidden"))) */
192193
#cmakedefine HAVE_VISIBILITY_HIDDEN 1

configure.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,9 @@ CHECK_TYPE_SIZE("off_t" SIZEOF_OFF_T)
446446
CHECK_TYPE_SIZE("time_t" SIZEOF_TIME_T)
447447
CHECK_TYPE_SIZE("struct timespec" STRUCT_TIMESPEC)
448448

449+
CHECK_STRUCT_HAS_MEMBER("struct tm"
450+
tm_gmtoff "time.h" HAVE_TM_GMTOFF)
451+
449452
# If finds the size of a type, set SIZEOF_<type> and HAVE_<type>
450453
FUNCTION(MY_CHECK_TYPE_SIZE type defbase)
451454
CHECK_TYPE_SIZE("${type}" SIZEOF_${defbase})

include/my_aes.h

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
/* Header file for my_aes.c */
2828
/* Wrapper to give simple interface for MySQL to AES standard encryption */
2929

30+
#include <string>
31+
#include <vector>
32+
33+
using std::string;
34+
using std::vector;
35+
3036
C_MODE_START
3137

3238
/** AES IV size is 16 bytes for all supported ciphers except ECB */
@@ -79,14 +85,16 @@ extern const char *my_aes_opmode_names[];
7985
@param mode [in] encryption mode
8086
@param iv [in] 16 bytes initialization vector if needed. Otherwise NULL
8187
@param padding [in] if padding needed.
88+
@param kdf_options [in] KDF options
8289
@return size of encrypted data, or negative in case of error
8390
*/
8491

8592
int my_aes_encrypt(const unsigned char *source, uint32 source_length,
8693
unsigned char *dest,
87-
const unsigned char *key, uint32 key_length,
94+
const unsigned char *key, uint32 key_length,
8895
enum my_aes_opmode mode, const unsigned char *iv,
89-
bool padding = true);
96+
bool padding = true,
97+
vector<string> *kdf_options = NULL);
9098

9199
/**
92100
Decrypt an AES encrypted buffer
@@ -99,6 +107,7 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length,
99107
@param mode encryption mode
100108
@param iv 16 bytes initialization vector if needed. Otherwise NULL
101109
@param padding if padding needed.
110+
@param kdf_options [in] KDF options
102111
@return size of original data.
103112
*/
104113

@@ -107,7 +116,8 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length,
107116
unsigned char *dest,
108117
const unsigned char *key, uint32 key_length,
109118
enum my_aes_opmode mode, const unsigned char *iv,
110-
bool padding = true);
119+
bool padding = true,
120+
vector<string> *kdf_options = NULL);
111121

112122
/**
113123
Calculate the size of a buffer large enough for encrypted data
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
--disable_query_log
2+
--disable_result_log
3+
4+
let OPENSSL_VERSION_INFO= $MYSQLTEST_VARDIR/log/openssl_version_info.txt;
5+
let OPENSSL_CONFIG_INC= $MYSQLTEST_VARDIR/log/openssl_binary_config.inc;
6+
7+
--error 0,1
8+
--remove_file $OPENSSL_VERSION_INFO
9+
--error 0,1
10+
--remove_file $OPENSSL_CONFIG_INC
11+
12+
--error 0,1, 127
13+
--exec openssl version > $OPENSSL_VERSION_INFO
14+
15+
perl;
16+
use strict;
17+
my $search_file= $ENV{'OPENSSL_VERSION_INFO'};
18+
my $search_pattern_1= "0.9.*";
19+
my $search_pattern_2= "1.0.0.*";
20+
my $search_pattern_3= "1.0.1.*";
21+
my $search_pattern_4= "1.0.2.*";
22+
my $content= "";
23+
my $dir= $ENV{'MYSQLTEST_VARDIR'};
24+
open(CONFIG_INC, ">$dir/log/openssl_binary_config.inc");
25+
open(FILE, "$search_file") or die("Unable to open '$search_file' : $!\n");
26+
read(FILE, $content, 100, 0);
27+
close(FILE);
28+
29+
if ( ($content =~ m{$search_pattern_1}) || ($content =~ m{$search_pattern_2}) ||
30+
($content =~ m{$search_pattern_3}) || ($content =~ m{$search_pattern_4})) {
31+
print CONFIG_INC "let \$STATUS_VAR = 1;\n";
32+
}
33+
else {
34+
print CONFIG_INC "let \$STATUS_VAR = 0;\n";
35+
}
36+
close(CONFIG_INC);
37+
EOF
38+
39+
--source $OPENSSL_CONFIG_INC
40+
41+
if ($STATUS_VAR)
42+
{
43+
--error 0,1
44+
--remove_file $OPENSSL_VERSION_INFO
45+
--error 0,1
46+
--remove_file $OPENSSL_CONFIG_INC
47+
--skip Test requires openssl version to be 1.1.0+
48+
}
49+
50+
--error 0,1
51+
--remove_file $OPENSSL_VERSION_INFO
52+
--error 0,1
53+
--remove_file $OPENSSL_CONFIG_INC
54+
55+
--enable_query_log
56+
--enable_result_log

mysql-test/r/func_aes.result

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ AES_ENCRYPT('a', 'a') = AES_ENCRYPT(REPEAT('a',1000), 'a')
100100
SELECT AES_ENCRYPT('a', 'a') = AES_ENCRYPT('a', REPEAT('a',1000));
101101
AES_ENCRYPT('a', 'a') = AES_ENCRYPT('a', REPEAT('a',1000))
102102
0
103+
Warnings:
104+
Warning 3237 AES key size should be 16 bytes length or secure KDF methods hkdf or pbkdf2_hmac should be used, please provide exact AES key size or use KDF methods for better security.
103105
#### persistense
104106
CREATE TABLE t1 (a BINARY(16) PRIMARY KEY);
105107
# must pass without a warning
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Tests of the AES KDF hkdf functionality
2+
#### AES_ENCRYPT return type
3+
# must work and return a string
4+
SELECT TO_BASE64(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'));
5+
TO_BASE64(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))
6+
9UwMLA5qdPChE0NbqnTYGw==
7+
# must return 16
8+
SELECT LENGTH(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'));
9+
LENGTH(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))
10+
16
11+
# must return binary
12+
SELECT CHARSET(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'));
13+
CHARSET(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'))
14+
binary
15+
# must be equal
16+
SELECT AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf') = AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf');
17+
AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf') = AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf')
18+
1
19+
# Tests of AES strong key generation
20+
# Strong key generation with KDF, should not be equal keys
21+
SELECT AES_ENCRYPT('my_text', repeat("x",32), '', 'hkdf') = AES_ENCRYPT('my_text', repeat("y",32), '', 'hkdf');
22+
AES_ENCRYPT('my_text', repeat("x",32), '', 'hkdf') = AES_ENCRYPT('my_text', repeat("y",32), '', 'hkdf')
23+
0
24+
# Strong key generation with KDF, should not be equal keys
25+
SELECT AES_ENCRYPT('my_text', repeat("x",32), '', 'hkdf') = AES_ENCRYPT('my_text', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '', 'hkdf');
26+
AES_ENCRYPT('my_text', repeat("x",32), '', 'hkdf') = AES_ENCRYPT('my_text', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '', 'hkdf')
27+
0
28+
#### AES_ENCRYPT KDF hkdf parameters
29+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf'));
30+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf'))
31+
9UwMLA5qdPChE0NbqnTYGw==
32+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 'salt'));
33+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 'salt'))
34+
nmOEqhC+wjUalOcakrMOQw==
35+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 'salt', 'info'));
36+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 'salt', 'info'))
37+
QzgVeH3yZT7XefHW7G36nQ==
38+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'), 'my_key_string', '', 'hkdf');
39+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'hkdf'), 'my_key_string', '', 'hkdf')
40+
1
41+
#### AES_ENCRYPT KDF hkdf parameters with incorrect data types
42+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001), 'my_key_string', '', 'hkdf', 10001);
43+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001), 'my_key_string', '', 'hkdf', 10001)
44+
1
45+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001, 2000), 'my_key_string', '', 'hkdf', 10001, 2000);
46+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text','my_key_string', '', 'hkdf', 10001, 2000), 'my_key_string', '', 'hkdf', 10001, 2000)
47+
1
48+
# KDF function name different case.
49+
select aes_encrypt("foo",repeat("x",16),NULL,'hKdF');
50+
ERROR HY000: KDF method name is not valid. Please use hkdf or pbkdf2_hmac method name
51+
#### AES_ENCRYPT KDF hkdf parameters with initialization vector
52+
SET @IV=REPEAT('a', 16);
53+
#### aes-128-cbc
54+
SELECT @@session.block_encryption_mode INTO @save_block_encryption_mode;
55+
SET SESSION block_encryption_mode="aes-128-cbc";
56+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf'), 'my_key_string', @IV, 'hkdf');
57+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf'), 'my_key_string', @IV, 'hkdf')
58+
1
59+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf', 'salt'), 'my_key_string', @IV, 'hkdf', 'salt');
60+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf', 'salt'), 'my_key_string', @IV, 'hkdf', 'salt')
61+
1
62+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf', 'salt', 'info'), 'my_key_string', @IV, 'hkdf', 'salt', 'info');
63+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'hkdf', 'salt', 'info'), 'my_key_string', @IV, 'hkdf', 'salt', 'info')
64+
1
65+
SET SESSION block_encryption_mode=@save_block_encryption_mode;
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# Tests of the AES KDF functionality
2+
#### AES_ENCRYPT return type
3+
# must work and return a string
4+
SELECT TO_BASE64(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'));
5+
TO_BASE64(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'))
6+
44uRAyA9td7Ih/8XyI4paA==
7+
# must return 16
8+
SELECT LENGTH(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'));
9+
LENGTH(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'))
10+
16
11+
# must return binary
12+
SELECT CHARSET(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'));
13+
CHARSET(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'))
14+
binary
15+
# must be equal
16+
SELECT AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac');
17+
AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac')
18+
1
19+
#### AES_ENCRYPT KDF pbkdf2_hmac parameters
20+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac'));
21+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac'))
22+
44uRAyA9td7Ih/8XyI4paA==
23+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt'));
24+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt'))
25+
gmnbJutgker3Oftr8Bwejg==
26+
select TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', '10001'));
27+
TO_BASE64(AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', '10001'))
28+
XoWbOI01+edhv7XX2+BKew==
29+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'), 'my_key_string', '', 'pbkdf2_hmac');
30+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac'), 'my_key_string', '', 'pbkdf2_hmac')
31+
1
32+
# Tests of AES strong key generation
33+
# Weak key generation without KDF, should be equal output
34+
SELECT AES_ENCRYPT('my_text', repeat("x",32), '') = AES_ENCRYPT('my_text', repeat("y",32), '');
35+
AES_ENCRYPT('my_text', repeat("x",32), '') = AES_ENCRYPT('my_text', repeat("y",32), '')
36+
1
37+
Warnings:
38+
Warning 1618 <IV> option ignored
39+
Warning 3237 AES key size should be 16 bytes length or secure KDF methods hkdf or pbkdf2_hmac should be used, please provide exact AES key size or use KDF methods for better security.
40+
Warning 1618 <IV> option ignored
41+
Warning 3237 AES key size should be 16 bytes length or secure KDF methods hkdf or pbkdf2_hmac should be used, please provide exact AES key size or use KDF methods for better security.
42+
# Strong key generation with KDF, should not be equal output
43+
SELECT AES_ENCRYPT('my_text', repeat("x",32), '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', repeat("y",32), '', 'pbkdf2_hmac');
44+
AES_ENCRYPT('my_text', repeat("x",32), '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', repeat("y",32), '', 'pbkdf2_hmac')
45+
0
46+
# Strong key generation with KDF, should not be equal output
47+
SELECT AES_ENCRYPT('my_text', repeat("x",32), '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '', 'pbkdf2_hmac');
48+
AES_ENCRYPT('my_text', repeat("x",32), '', 'pbkdf2_hmac') = AES_ENCRYPT('my_text', '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', '', 'pbkdf2_hmac')
49+
0
50+
#### AES_ENCRYPT KDF pbkdf2_hmac parameters with incorrect data types
51+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, '10001'), 'my_key_string', '', 'pbkdf2_hmac',4000, '10001');
52+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, '10001'), 'my_key_string', '', 'pbkdf2_hmac',4000, '10001')
53+
1
54+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, 10001), 'my_key_string', '', 'pbkdf2_hmac',4000, 10001);
55+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', '', 'pbkdf2_hmac', 4000, 10001), 'my_key_string', '', 'pbkdf2_hmac',4000, 10001)
56+
1
57+
#### AES_ENCRYPT KDF error conditions
58+
# Invalid KDF method
59+
select AES_ENCRYPT('my_text','my_key_string', '', 'invalid');
60+
ERROR HY000: KDF method name is not valid. Please use hkdf or pbkdf2_hmac method name
61+
# Warning for big AES key and empty KDF method
62+
select AES_ENCRYPT('my_text', repeat("x",32));
63+
AES_ENCRYPT('my_text', repeat("x",32))
64+
�'���lD5H�����
65+
Warnings:
66+
Warning 3237 AES key size should be 16 bytes length or secure KDF methods hkdf or pbkdf2_hmac should be used, please provide exact AES key size or use KDF methods for better security.
67+
# No warning for smaller key
68+
select AES_ENCRYPT('my_text', 'my_key');
69+
AES_ENCRYPT('my_text', 'my_key')
70+
~�Zk,Za���=Z�
71+
# KDF pbkdf2_hmac iterations less then 1000 error.
72+
select AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', '100');
73+
ERROR HY000: For KDF method pbkdf2_hmac iterations value less than 1000 or more than 65535 is not allowed due to security reasons. Please provide iterations >= 1000 and iterations < 65535
74+
# KDF pbkdf2_hmac iterations as text
75+
select AES_ENCRYPT('my_text','my_key_string', '', 'pbkdf2_hmac', 'salt', 'aa');
76+
ERROR HY000: For KDF method pbkdf2_hmac iterations value less than 1000 or more than 65535 is not allowed due to security reasons. Please provide iterations >= 1000 and iterations < 65535
77+
# KDF function name very large.
78+
select aes_encrypt("foo",repeat("x",16),NULL,repeat("1",10000000000));
79+
ERROR HY000: KDF option size is invalid, please provide valid size < 256 bytes and not NULL
80+
# KDF function name large
81+
select aes_encrypt("foo",repeat("x",16),NULL,repeat("1",300));
82+
ERROR HY000: KDF option size is invalid, please provide valid size < 256 bytes and not NULL
83+
# KDF function name different case.
84+
select aes_encrypt("foo",repeat("x",16),NULL,'pbkdf2_HMac');
85+
ERROR HY000: KDF method name is not valid. Please use hkdf or pbkdf2_hmac method name
86+
# Extra IV
87+
select aes_encrypt("foo",repeat("x",16),NULL,'pbkdf2_HMac');
88+
ERROR HY000: KDF method name is not valid. Please use hkdf or pbkdf2_hmac method name
89+
#### AES_ENCRYPT KDF pbkdf2_hmac parameters with initialization vector
90+
SET @IV=REPEAT('a', 16);
91+
#### aes-128-cbc
92+
SELECT @@session.block_encryption_mode INTO @save_block_encryption_mode;
93+
SET SESSION block_encryption_mode="aes-128-cbc";
94+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac'), 'my_key_string', @IV, 'pbkdf2_hmac');
95+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac'), 'my_key_string', @IV, 'pbkdf2_hmac')
96+
1
97+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt');
98+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt')
99+
1
100+
SELECT 'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001');
101+
'my_text' = AES_DECRYPT(AES_ENCRYPT('my_text', 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001'), 'my_key_string', @IV, 'pbkdf2_hmac', 'salt', '10001')
102+
1
103+
SET SESSION block_encryption_mode=@save_block_encryption_mode;

mysql-test/r/func_aes_misc.result

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ CREATE TABLE t1(f1 varchar(256));
206206
INSERT INTO t1 values(AES_ENCRYPT(@ENCSTR, @KEYS, @IV));
207207
Warnings:
208208
Warning 1618 <IV> option ignored
209+
Warning 3237 AES key size should be 16 bytes length or secure KDF methods hkdf or pbkdf2_hmac should be used, please provide exact AES key size or use KDF methods for better security.
209210
Combination1..............
210211
SET @@session.block_encryption_mode = 'aes-192-ecb';
211212
should return NULL

0 commit comments

Comments
 (0)