Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
ab6343ff
C
ClickHouse
项目概览
2dot5
/
ClickHouse
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClickHouse
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ab6343ff
编写于
1月 23, 2021
作者:
A
alexey-milovidov
提交者:
GitHub
1月 23, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #19474 from ClickHouse/aes-fix-strange-code
Fix insufficient args check in AES functions
上级
9df296b5
ea26e5e7
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
3 addition
and
13 deletion
+3
-13
docker/test/fasttest/run.sh
docker/test/fasttest/run.sh
+1
-0
src/Functions/FunctionsAES.h
src/Functions/FunctionsAES.h
+1
-1
tests/performance/encrypt_decrypt.xml
tests/performance/encrypt_decrypt.xml
+0
-1
tests/queries/0_stateless/01318_encrypt.reference
tests/queries/0_stateless/01318_encrypt.reference
+0
-3
tests/queries/0_stateless/01318_encrypt.sql
tests/queries/0_stateless/01318_encrypt.sql
+0
-8
tests/queries/0_stateless/01667_aes_args_check.reference
tests/queries/0_stateless/01667_aes_args_check.reference
+0
-0
tests/queries/0_stateless/01667_aes_args_check.sql
tests/queries/0_stateless/01667_aes_args_check.sql
+1
-0
未找到文件。
docker/test/fasttest/run.sh
浏览文件 @
ab6343ff
...
...
@@ -270,6 +270,7 @@ function run_tests
01318_encrypt
# Depends on OpenSSL
01318_decrypt
# Depends on OpenSSL
01663_aes_msan
# Depends on OpenSSL
01667_aes_args_check
# Depends on OpenSSL
01281_unsucceeded_insert_select_queries_counter
01292_create_user
01294_lazy_database_concurrent
...
...
src/Functions/FunctionsAES.h
浏览文件 @
ab6343ff
...
...
@@ -168,7 +168,7 @@ private:
validateFunctionArgumentTypes
(
*
this
,
arguments
,
FunctionArgumentDescriptors
{
{
"mode"
,
isStringOrFixedString
,
isColumnConst
,
"encryption mode string"
},
{
"input"
,
nullptr
,
nullptr
,
"plaintext"
},
{
"input"
,
isStringOrFixedString
,
nullptr
,
"plaintext"
},
{
"key"
,
isStringOrFixedString
,
nullptr
,
"encryption key binary string"
},
},
optional_args
...
...
tests/performance/encrypt_decrypt.xml
浏览文件 @
ab6343ff
...
...
@@ -61,7 +61,6 @@
<substitution>
<name>
plaintext
</name>
<values>
<value>
number
</value>
<value>
'paintext'
</value>
<value>
'\x12\x2B\xF9\x16\x93\xA4\xD6\x74\x22\xD9\x17\x5E\x38\xCD\x1D\x7B\xB0\x12\xEC\x43\x6B\xC7\x76\xFD\xA1\xA2\x4E\xFC\xBC\x19\x92\x3A\x12\x8B\xD4\xB3\x62\xA8\x9D\xBB\x3E\x0C\x08\x12\x67\x20\x7D\x02\x58\xCF\xE7\xD6\x06\xB8\xB0\x14\x0A\x70\xA1\x81\x94\x14\x24\x74'
</value>
</values>
...
...
tests/queries/0_stateless/01318_encrypt.reference
浏览文件 @
ab6343ff
UInt64 5417DEA8D67A1A03FD561809C62402FF
Float64 9B66D0AA685DC0F1EFFA2E385F7EA2F2
Decimal64 5417DEA8D67A1A03FD561809C62402FF
MySQL-compatitable mode, with key folding, no length checks, etc.
aes-128-cbc B2EB028BC2236566A946085E65A5632B
aes-128-cbc 25026C55954363AEF90325822218C370
...
...
tests/queries/0_stateless/01318_encrypt.sql
浏览文件 @
ab6343ff
...
...
@@ -48,14 +48,6 @@ SELECT aes_encrypt_mysql('aes-128-ecb', 'text', 'key', 'IV', 1213); --{serverErr
SELECT
encrypt
(
'aes-128-ecb'
,
'text'
,
'key'
,
'IV'
,
1213
);
--{serverError 43} bad AAD type
SELECT
encrypt
(
'aes-128-gcm'
,
'text'
,
'key'
,
'IV'
,
1213
);
--{serverError 43} bad AAD type
-----------------------------------------------------------------------------------------
-- Valid cases
-----------------------------------------------------------------------------------------
SELECT
'UInt64'
,
hex
(
aes_encrypt_mysql
(
'aes-128-ecb'
,
123456789101112
,
'keykeykeykeykeykeykeykeykeykeyke'
));
SELECT
'Float64'
,
hex
(
aes_encrypt_mysql
(
'aes-128-ecb'
,
1234567891011
.
12
,
'keykeykeykeykeykeykeykeykeykeyke'
));
SELECT
'Decimal64'
,
hex
(
aes_encrypt_mysql
(
'aes-128-ecb'
,
toDecimal64
(
1234567891011
.
12
,
2
),
'keykeykeykeykeykeykeykeykeykeyke'
));
-----------------------------------------------------------------------------------------
-- Validate against predefined ciphertext,plaintext,key and IV for MySQL compatibility mode
-----------------------------------------------------------------------------------------
...
...
tests/queries/0_stateless/01667_aes_args_check.reference
0 → 100644
浏览文件 @
ab6343ff
tests/queries/0_stateless/01667_aes_args_check.sql
0 → 100644
浏览文件 @
ab6343ff
SELECT
encrypt
(
'aes-128-ecb'
,
[
1
,
-
1
,
0
,
NULL
],
'text'
);
-- { serverError 43 }
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录