Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
40f37188
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
11 个月 前同步成功
通知
8
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
40f37188
编写于
2月 03, 2015
作者:
M
Matt Caswell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce a DTLS_RECORD_LAYER type for DTLS record layer state
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
bb4203d9
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
49 addition
and
0 deletion
+49
-0
ssl/d1_lib.c
ssl/d1_lib.c
+10
-0
ssl/record/d1_pkt.c
ssl/record/d1_pkt.c
+29
-0
ssl/record/rec_layer.h
ssl/record/rec_layer.h
+10
-0
未找到文件。
ssl/d1_lib.c
浏览文件 @
40f37188
...
...
@@ -132,6 +132,12 @@ int dtls1_new(SSL *s)
}
memset
(
d1
,
0
,
sizeof
*
d1
);
if
(
!
DTLS_RECORD_LAYER_new
(
&
s
->
rlayer
))
{
OPENSSL_free
(
d1
);
ssl3_free
(
s
);
return
0
;
}
/* d1->handshake_epoch=0; */
d1
->
unprocessed_rcds
.
q
=
pqueue_new
();
...
...
@@ -218,6 +224,8 @@ static void dtls1_clear_queues(SSL *s)
void
dtls1_free
(
SSL
*
s
)
{
DTLS_RECORD_LAYER_free
(
&
s
->
rlayer
);
ssl3_free
(
s
);
dtls1_clear_queues
(
s
);
...
...
@@ -242,6 +250,8 @@ void dtls1_clear(SSL *s)
unsigned
int
mtu
;
unsigned
int
link_mtu
;
DTLS_RECORD_LAYER_clear
(
&
s
->
rlayer
);
if
(
s
->
d1
)
{
unprocessed_rcds
=
s
->
d1
->
unprocessed_rcds
.
q
;
processed_rcds
=
s
->
d1
->
processed_rcds
.
q
;
...
...
ssl/record/d1_pkt.c
浏览文件 @
40f37188
...
...
@@ -122,6 +122,35 @@
#include <openssl/pqueue.h>
#include <openssl/rand.h>
int
DTLS_RECORD_LAYER_new
(
RECORD_LAYER
*
rl
)
{
DTLS_RECORD_LAYER
*
d
;
if
((
d
=
OPENSSL_malloc
(
sizeof
*
d
))
==
NULL
)
{
return
(
0
);
}
rl
->
d
=
d
;
DTLS_RECORD_LAYER_clear
(
rl
);
return
1
;
}
void
DTLS_RECORD_LAYER_free
(
RECORD_LAYER
*
rl
)
{
OPENSSL_free
(
rl
->
d
);
rl
->
d
=
NULL
;
}
void
DTLS_RECORD_LAYER_clear
(
RECORD_LAYER
*
rl
)
{
DTLS_RECORD_LAYER
*
d
;
d
=
rl
->
d
;
memset
(
d
,
0
,
sizeof
*
d
);
}
/* mod 128 saturating subtract of two 64-bit values in big-endian order */
static
int
satsub64be
(
const
unsigned
char
*
v1
,
const
unsigned
char
*
v2
)
{
...
...
ssl/record/rec_layer.h
浏览文件 @
40f37188
...
...
@@ -142,6 +142,11 @@ typedef struct dtls1_record_data_st {
# endif
}
DTLS1_RECORD_DATA
;
typedef
struct
dtls_record_layer_st
{
/* Temporary member to be removed by subsequent commits */
int
dummy
;
}
DTLS_RECORD_LAYER
;
typedef
struct
record_layer_st
{
/* The parent SSL structure */
SSL
*
s
;
...
...
@@ -187,6 +192,8 @@ typedef struct record_layer_st {
unsigned
char
read_sequence
[
8
];
unsigned
char
write_sequence
[
8
];
DTLS_RECORD_LAYER
*
d
;
}
RECORD_LAYER
;
...
...
@@ -223,6 +230,9 @@ __owur int ssl3_write_bytes(SSL *s, int type, const void *buf, int len);
__owur
int
do_ssl3_write
(
SSL
*
s
,
int
type
,
const
unsigned
char
*
buf
,
unsigned
int
len
,
int
create_empty_fragment
);
__owur
int
ssl3_read_bytes
(
SSL
*
s
,
int
type
,
unsigned
char
*
buf
,
int
len
,
int
peek
);
int
DTLS_RECORD_LAYER_new
(
RECORD_LAYER
*
rl
);
void
DTLS_RECORD_LAYER_free
(
RECORD_LAYER
*
rl
);
void
DTLS_RECORD_LAYER_clear
(
RECORD_LAYER
*
rl
);
__owur
int
dtls1_read_bytes
(
SSL
*
s
,
int
type
,
unsigned
char
*
buf
,
int
len
,
int
peek
);
int
dtls1_write_bytes
(
SSL
*
s
,
int
type
,
const
void
*
buf
,
int
len
);
__owur
int
do_dtls1_write
(
SSL
*
s
,
int
type
,
const
unsigned
char
*
buf
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录