Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
78fcddbb
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
78fcddbb
编写于
8月 03, 2016
作者:
M
Matt Caswell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address feedback on SSLv2 ClientHello processing
Reviewed-by:
N
Tim Hudson
<
tjh@openssl.org
>
上级
a2a0c86b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
6 addition
and
14 deletion
+6
-14
ssl/record/rec_layer_s3.c
ssl/record/rec_layer_s3.c
+1
-1
ssl/record/record_locl.h
ssl/record/record_locl.h
+2
-1
ssl/record/ssl3_record.c
ssl/record/ssl3_record.c
+3
-12
未找到文件。
ssl/record/rec_layer_s3.c
浏览文件 @
78fcddbb
...
...
@@ -33,7 +33,7 @@
void
RECORD_LAYER_init
(
RECORD_LAYER
*
rl
,
SSL
*
s
)
{
rl
->
s
=
s
;
RECORD_LAYER_set_first_record
(
&
s
->
rlayer
,
1
);
RECORD_LAYER_set_first_record
(
&
s
->
rlayer
);
SSL3_RECORD_clear
(
rl
->
rrec
,
SSL_MAX_PIPELINES
);
}
...
...
ssl/record/record_locl.h
浏览文件 @
78fcddbb
...
...
@@ -32,7 +32,8 @@
((rl)->empty_record_count = 0)
#define RECORD_LAYER_get_empty_record_count(rl) ((rl)->empty_record_count)
#define RECORD_LAYER_is_first_record(rl) ((rl)->is_first_record)
#define RECORD_LAYER_set_first_record(rl, val) ((rl)->is_first_record = (val))
#define RECORD_LAYER_set_first_record(rl) ((rl)->is_first_record = 1)
#define RECORD_LAYER_clear_first_record(rl) ((rl)->is_first_record = 0)
#define DTLS_RECORD_LAYER_get_r_epoch(rl) ((rl)->d->r_epoch)
__owur
int
ssl3_read_n
(
SSL
*
s
,
int
n
,
int
max
,
int
extend
,
int
clearold
);
...
...
ssl/record/ssl3_record.c
浏览文件 @
78fcddbb
...
...
@@ -159,18 +159,9 @@ int ssl3_get_record(SSL *s)
p
=
RECORD_LAYER_get_packet
(
&
s
->
rlayer
);
/*
* Check whether this is a regular record or an SSLv2 style record.
* The latter can only be used in the first record of an initial
* ClientHello for old clients. Initial ClientHello means
* s->first_packet is set and s->server is true. The first record
* means s->rlayer.is_first_record is true. Probably this is
* sufficient in itself instead of s->first_packet, but I am
* cautious. We check s->read_hash and s->enc_read_ctx to ensure
* this does not apply during renegotiation.
* The first record received by the server may be a V2ClientHello.
*/
if
(
s
->
first_packet
&&
s
->
server
&&
RECORD_LAYER_is_first_record
(
&
s
->
rlayer
)
&&
s
->
read_hash
==
NULL
&&
s
->
enc_read_ctx
==
NULL
if
(
s
->
server
&&
RECORD_LAYER_is_first_record
(
&
s
->
rlayer
)
&&
(
p
[
0
]
&
0x80
)
&&
(
p
[
2
]
==
SSL2_MT_CLIENT_HELLO
))
{
/*
* SSLv2 style record
...
...
@@ -342,7 +333,7 @@ int ssl3_get_record(SSL *s)
/* we have pulled in a full packet so zero things */
RECORD_LAYER_reset_packet_length
(
&
s
->
rlayer
);
RECORD_LAYER_
set_first_record
(
&
s
->
rlayer
,
0
);
RECORD_LAYER_
clear_first_record
(
&
s
->
rlayer
);
}
while
(
num_recs
<
max_recs
&&
rr
[
num_recs
-
1
].
type
==
SSL3_RT_APPLICATION_DATA
&&
SSL_USE_EXPLICIT_IV
(
s
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录