Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
33d23b87
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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,发现更多精彩内容 >>
提交
33d23b87
编写于
1月 30, 2015
作者:
M
Matt Caswell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Move s->s3->rrec into s->rlayer
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
28d59af8
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
28 addition
and
11 deletion
+28
-11
ssl/record/rec_layer.h
ssl/record/rec_layer.h
+5
-1
ssl/s3_lib.c
ssl/s3_lib.c
+2
-8
ssl/ssl_lib.c
ssl/ssl_lib.c
+20
-0
ssl/ssl_locl.h
ssl/ssl_locl.h
+1
-2
未找到文件。
ssl/record/rec_layer.h
浏览文件 @
33d23b87
...
...
@@ -109,6 +109,8 @@
*
*/
#include "../ssl_locl.h"
typedef
struct
record_layer_st
{
/* The parent SSL structure */
SSL
*
s
;
...
...
@@ -117,9 +119,11 @@ typedef struct record_layer_st {
* non-blocking reads)
*/
int
read_ahead
;
/* read IO goes into here */
SSL3_BUFFER
rbuf
;
}
RECORD_LAYER
;
#define RECORD_LAYER_set_ssl(rl, s) ((rl)->s = (s))
#define RECORD_LAYER_set_read_ahead(rl, ra) ((rl)->read_ahead = (ra))
#define RECORD_LAYER_get_read_ahead(rl) ((rl)->read_ahead)
#define RECORD_LAYER_get_rbuf(rl) (&(rl)->
s->s3->
rbuf)
#define RECORD_LAYER_get_rbuf(rl) (&(rl)->rbuf)
ssl/s3_lib.c
浏览文件 @
33d23b87
...
...
@@ -3131,8 +3131,6 @@ void ssl3_free(SSL *s)
return
;
ssl3_cleanup_key_block
(
s
);
if
(
SSL3_BUFFER_is_initialised
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
)))
ssl3_release_read_buffer
(
s
);
if
(
s
->
s3
->
wbuf
.
buf
!=
NULL
)
ssl3_release_write_buffer
(
s
);
if
(
s
->
s3
->
rrec
.
comp
!=
NULL
)
...
...
@@ -3164,8 +3162,8 @@ void ssl3_free(SSL *s)
void
ssl3_clear
(
SSL
*
s
)
{
unsigned
char
*
rp
,
*
wp
;
size_t
rlen
,
wlen
;
unsigned
char
*
wp
;
size_t
wlen
;
int
init_extra
;
ssl3_cleanup_key_block
(
s
);
...
...
@@ -3190,9 +3188,7 @@ void ssl3_clear(SSL *s)
# endif
/* !OPENSSL_NO_EC */
#endif
/* !OPENSSL_NO_TLSEXT */
rp
=
SSL3_BUFFER_get_buf
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
));
wp
=
s
->
s3
->
wbuf
.
buf
;
rlen
=
SSL3_BUFFER_get_len
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
));
wlen
=
s
->
s3
->
wbuf
.
len
;
init_extra
=
s
->
s3
->
init_extra
;
BIO_free
(
s
->
s3
->
handshake_buffer
);
...
...
@@ -3207,9 +3203,7 @@ void ssl3_clear(SSL *s)
}
#endif
memset
(
s
->
s3
,
0
,
sizeof
*
s
->
s3
);
SSL3_BUFFER_set_buf
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
),
rp
);
s
->
s3
->
wbuf
.
buf
=
wp
;
SSL3_BUFFER_set_len
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
),
rlen
);
s
->
s3
->
wbuf
.
len
=
wlen
;
s
->
s3
->
init_extra
=
init_extra
;
...
...
ssl/ssl_lib.c
浏览文件 @
33d23b87
...
...
@@ -189,6 +189,9 @@ SSL3_ENC_METHOD ssl3_undef_enc_method = {
int
SSL_clear
(
SSL
*
s
)
{
unsigned
char
*
rp
;
size_t
rlen
;
int
read_ahead
;
if
(
s
->
method
==
NULL
)
{
SSLerr
(
SSL_F_SSL_CLEAR
,
SSL_R_NO_METHOD_SPECIFIED
);
...
...
@@ -241,6 +244,20 @@ int SSL_clear(SSL *s)
return
(
0
);
}
else
s
->
method
->
ssl_clear
(
s
);
read_ahead
=
RECORD_LAYER_get_read_ahead
(
&
s
->
rlayer
);
rp
=
SSL3_BUFFER_get_buf
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
));
rlen
=
SSL3_BUFFER_get_len
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
));
memset
(
&
s
->
rlayer
,
0
,
sizeof
s
->
rlayer
);
SSL3_BUFFER_set_buf
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
),
rp
);
SSL3_BUFFER_set_len
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
),
rlen
);
/* Do I need to do this? As far as I can tell read_ahead did not
* previously get reset by SSL_clear...so I'll keep it that way..but is
* that right?
*/
RECORD_LAYER_set_read_ahead
(
&
s
->
rlayer
,
read_ahead
);
return
(
1
);
}
...
...
@@ -599,6 +616,9 @@ void SSL_free(SSL *s)
if
(
s
->
method
!=
NULL
)
s
->
method
->
ssl_free
(
s
);
if
(
SSL3_BUFFER_is_initialised
(
RECORD_LAYER_get_rbuf
(
&
s
->
rlayer
)))
ssl3_release_read_buffer
(
s
);
if
(
s
->
ctx
)
SSL_CTX_free
(
s
->
ctx
);
...
...
ssl/ssl_locl.h
浏览文件 @
33d23b87
...
...
@@ -165,8 +165,8 @@
# include <openssl/ssl.h>
# include <openssl/symhacks.h>
#include "record/rec_layer.h"
#include "record/ssl3_buffer.h"
#include "record/rec_layer.h"
# ifdef OPENSSL_BUILD_SHLIBSSL
# undef OPENSSL_EXTERN
...
...
@@ -1281,7 +1281,6 @@ typedef struct ssl3_state_st {
int
empty_fragment_done
;
/* The value of 'extra' when the buffers were initialized */
int
init_extra
;
SSL3_BUFFER
rbuf
;
/* read IO goes into here */
SSL3_BUFFER
wbuf
;
/* write IO goes into here */
SSL3_RECORD
rrec
;
/* each decoded record goes in here */
SSL3_RECORD
wrec
;
/* goes out from here */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录