Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
de469ef2
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,发现更多精彩内容 >>
提交
de469ef2
编写于
2月 15, 2000
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix for Netscape "hang" bug.
上级
ea96c4bc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
0 deletion
+32
-0
CHANGES
CHANGES
+6
-0
bugs/SSLv3
bugs/SSLv3
+8
-0
ssl/s3_srvr.c
ssl/s3_srvr.c
+18
-0
未找到文件。
CHANGES
浏览文件 @
de469ef2
...
@@ -4,6 +4,12 @@
...
@@ -4,6 +4,12 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
*) Work around for Netscape hang bug. This sends certificate request
and server done in one record. Since this is perfectly legal in the
SSL/TLS protocol it isn't a "bug" option and is on by default. See
the bugs/SSLv3 entry for more info.
[Steve Henson]
*) HP-UX tune-up: new unified configs, HP C compiler bug workaround.
*) HP-UX tune-up: new unified configs, HP C compiler bug workaround.
[Andy Polyakov]
[Andy Polyakov]
...
...
bugs/SSLv3
浏览文件 @
de469ef2
...
@@ -39,3 +39,11 @@ SSL_shutdown() and still sharing the socket with its parent).
...
@@ -39,3 +39,11 @@ SSL_shutdown() and still sharing the socket with its parent).
Netscape, when using export ciphers, will accept a 1024 bit temporary
Netscape, when using export ciphers, will accept a 1024 bit temporary
RSA key. It is supposed to only accept 512.
RSA key. It is supposed to only accept 512.
If Netscape connects to a server which requests a client certificate
it will frequently hang after the user has selected one and never
complete the connection. Hitting "Stop" and reload fixes this and
all subsequent connections work fine. This appears to be because
Netscape wont read any new records in when it is awaiting a server
done message at this point. The fix is to send the certificate request
and server done messages in one record.
ssl/s3_srvr.c
浏览文件 @
de469ef2
...
@@ -57,6 +57,8 @@
...
@@ -57,6 +57,8 @@
*/
*/
#define REUSE_CIPHER_BUG
#define REUSE_CIPHER_BUG
#define NETSCAPE_HANG_BUG
#include <stdio.h>
#include <stdio.h>
#include <openssl/buffer.h>
#include <openssl/buffer.h>
...
@@ -313,7 +315,12 @@ int ssl3_accept(SSL *s)
...
@@ -313,7 +315,12 @@ int ssl3_accept(SSL *s)
s
->
s3
->
tmp
.
cert_request
=
1
;
s
->
s3
->
tmp
.
cert_request
=
1
;
ret
=
ssl3_send_certificate_request
(
s
);
ret
=
ssl3_send_certificate_request
(
s
);
if
(
ret
<=
0
)
goto
end
;
if
(
ret
<=
0
)
goto
end
;
#ifndef NETSCAPE_HANG_BUG
s
->
state
=
SSL3_ST_SW_SRVR_DONE_A
;
s
->
state
=
SSL3_ST_SW_SRVR_DONE_A
;
#else
s
->
state
=
SSL3_ST_SW_FLUSH
;
s
->
s3
->
tmp
.
next_state
=
SSL3_ST_SR_CERT_A
;
#endif
s
->
init_num
=
0
;
s
->
init_num
=
0
;
}
}
break
;
break
;
...
@@ -1194,6 +1201,17 @@ static int ssl3_send_certificate_request(SSL *s)
...
@@ -1194,6 +1201,17 @@ static int ssl3_send_certificate_request(SSL *s)
s
->
init_num
=
n
+
4
;
s
->
init_num
=
n
+
4
;
s
->
init_off
=
0
;
s
->
init_off
=
0
;
#ifdef NETSCAPE_HANG_BUG
p
=
(
unsigned
char
*
)
s
->
init_buf
->
data
+
s
->
init_num
;
/* do the header */
*
(
p
++
)
=
SSL3_MT_SERVER_DONE
;
*
(
p
++
)
=
0
;
*
(
p
++
)
=
0
;
*
(
p
++
)
=
0
;
s
->
init_num
+=
4
;
#endif
}
}
/* SSL3_ST_SW_CERT_REQ_B */
/* SSL3_ST_SW_CERT_REQ_B */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录