Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
9de014a7
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9de014a7
编写于
6月 30, 2009
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update from 0.9.8-stable
上级
4f761f59
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
40 addition
and
3 deletion
+40
-3
CHANGES
CHANGES
+4
-0
ssl/ssl_asn1.c
ssl/ssl_asn1.c
+34
-1
ssl/ssl_txt.c
ssl/ssl_txt.c
+2
-2
未找到文件。
CHANGES
浏览文件 @
9de014a7
...
...
@@ -808,6 +808,10 @@
Changes between 0.9.8k and 0.9.8l [xx XXX xxxx]
*) Add compression id to {d2i,i2d}_SSL_SESSION so it is correctly saved
and restored.
[Steve Henson]
*) Fix the server certificate chain building code to use X509_verify_cert(),
it used to have an ad-hoc builder which was unable to cope with anything
other than a simple chain.
...
...
ssl/ssl_asn1.c
浏览文件 @
9de014a7
...
...
@@ -94,6 +94,7 @@ typedef struct ssl_session_asn1_st
ASN1_INTEGER
version
;
ASN1_INTEGER
ssl_version
;
ASN1_OCTET_STRING
cipher
;
ASN1_OCTET_STRING
comp_id
;
ASN1_OCTET_STRING
master_key
;
ASN1_OCTET_STRING
session_id
;
ASN1_OCTET_STRING
session_id_context
;
...
...
@@ -119,11 +120,14 @@ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp)
{
#define LSIZE2 (sizeof(long)*2)
int
v1
=
0
,
v2
=
0
,
v3
=
0
,
v4
=
0
,
v5
=
0
,
v7
=
0
,
v8
=
0
;
unsigned
char
buf
[
4
],
ibuf1
[
LSIZE2
],
ibuf2
[
LSIZE2
];
unsigned
char
buf
[
4
],
ibuf1
[
LSIZE2
],
ibuf2
[
LSIZE2
]
,
cbuf
;
unsigned
char
ibuf3
[
LSIZE2
],
ibuf4
[
LSIZE2
],
ibuf5
[
LSIZE2
];
#ifndef OPENSSL_NO_TLSEXT
int
v6
=
0
,
v9
=
0
,
v10
=
0
;
unsigned
char
ibuf6
[
LSIZE2
];
#endif
#ifndef OPENSSL_NO_COMP
int
v11
=
0
;
#endif
long
l
;
SSL_SESSION_ASN1
a
;
...
...
@@ -168,6 +172,16 @@ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp)
buf
[
1
]
=
((
unsigned
char
)(
l
))
&
0xff
;
}
#ifndef OPENSSL_NO_COMP
if
(
in
->
compress_meth
)
{
cbuf
=
(
unsigned
char
)
in
->
compress_meth
;
a
.
comp_id
.
length
=
1
;
a
.
comp_id
.
type
=
V_ASN1_OCTET_STRING
;
a
.
comp_id
.
data
=
&
cbuf
;
}
#endif
a
.
master_key
.
length
=
in
->
master_key_length
;
a
.
master_key
.
type
=
V_ASN1_OCTET_STRING
;
a
.
master_key
.
data
=
in
->
master_key
;
...
...
@@ -287,6 +301,10 @@ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp)
M_ASN1_I2D_len_EXP_opt
(
&
(
a
.
tlsext_tick
),
i2d_ASN1_OCTET_STRING
,
10
,
v10
);
if
(
in
->
tlsext_hostname
)
M_ASN1_I2D_len_EXP_opt
(
&
(
a
.
tlsext_hostname
),
i2d_ASN1_OCTET_STRING
,
6
,
v6
);
#ifndef OPENSSL_NO_COMP
if
(
in
->
compress_meth
)
M_ASN1_I2D_len_EXP_opt
(
&
(
a
.
comp_id
),
i2d_ASN1_OCTET_STRING
,
11
,
v11
);
#endif
#endif
/* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_PSK
if
(
in
->
psk_identity_hint
)
...
...
@@ -334,6 +352,10 @@ int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp)
if
(
in
->
tlsext_tick
)
M_ASN1_I2D_put_EXP_opt
(
&
(
a
.
tlsext_tick
),
i2d_ASN1_OCTET_STRING
,
10
,
v10
);
#endif
/* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_COMP
if
(
in
->
compress_meth
)
M_ASN1_I2D_put_EXP_opt
(
&
(
a
.
comp_id
),
i2d_ASN1_OCTET_STRING
,
11
,
v11
);
#endif
M_ASN1_I2D_finish
();
}
...
...
@@ -573,6 +595,17 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
else
ret
->
tlsext_tick
=
NULL
;
#endif
/* OPENSSL_NO_TLSEXT */
#ifndef OPENSSL_NO_COMP
os
.
length
=
0
;
os
.
data
=
NULL
;
M_ASN1_D2I_get_EXP_opt
(
osp
,
d2i_ASN1_OCTET_STRING
,
11
);
if
(
os
.
data
)
{
ret
->
compress_meth
=
os
.
data
[
0
];
OPENSSL_free
(
os
.
data
);
os
.
data
=
NULL
;
}
#endif
M_ASN1_D2I_Finish
(
a
,
SSL_SESSION_free
,
SSL_F_D2I_SSL_SESSION
);
}
ssl/ssl_txt.c
浏览文件 @
9de014a7
...
...
@@ -211,11 +211,11 @@ int SSL_SESSION_print(BIO *bp, const SSL_SESSION *x)
ssl_cipher_get_evp
(
x
,
NULL
,
NULL
,
NULL
,
NULL
,
&
comp
);
if
(
comp
==
NULL
)
{
if
(
BIO_printf
(
bp
,
"
\n
Compression: %d"
,
x
->
compress_meth
)
<=
0
)
goto
err
;
if
(
BIO_printf
(
bp
,
"
\n
Compression: %d"
,
x
->
compress_meth
)
<=
0
)
goto
err
;
}
else
{
if
(
BIO_printf
(
bp
,
"
\n
Compression: %d (%s)"
,
comp
->
id
,
comp
->
method
->
name
)
<=
0
)
goto
err
;
if
(
BIO_printf
(
bp
,
"
\n
Compression: %d (%s)"
,
comp
->
id
,
comp
->
method
->
name
)
<=
0
)
goto
err
;
}
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录