Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
4f43d0e7
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看板
提交
4f43d0e7
编写于
25年前
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Experiment with doxygen documentation.
上级
1efa9c33
无相关合并请求
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
140 addition
and
269 deletion
+140
-269
CHANGES
CHANGES
+6
-0
ssl/ssl_lib.c
ssl/ssl_lib.c
+134
-269
未找到文件。
CHANGES
浏览文件 @
4f43d0e7
...
...
@@ -4,6 +4,12 @@
Changes between 0.9.1c and 0.9.2
*) Experiment with doxygen documentation. Currently only partially applied to
ssl/ssl_lib.c.
See http://www.stack.nl/~dimitri/doxygen/index.html, and run doxygen with
openssl.doxy as the configuration file.
[Ben Laurie]
*) Get rid of remaining C++-style comments which strict C compilers hate.
[Ralf S. Engelschall, pointed out by Carlos Amengual]
...
...
This diff is collapsed.
Click to expand it.
ssl/ssl_lib.c
浏览文件 @
4f43d0e7
/* ssl/ssl_lib.c */
/*! \file ssl/ssl_lib.c
* \brief Version independent SSL functions.
*/
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
...
...
@@ -77,8 +79,7 @@ SSL3_ENC_METHOD ssl3_undef_enc_method={
ssl_undefined_function
,
};
int
SSL_clear
(
s
)
SSL
*
s
;
int
SSL_clear
(
SSL
*
s
)
{
int
state
;
...
...
@@ -141,10 +142,8 @@ SSL *s;
return
(
1
);
}
/* Used to change an SSL_CTXs default SSL method type */
int
SSL_CTX_set_ssl_version
(
ctx
,
meth
)
SSL_CTX
*
ctx
;
SSL_METHOD
*
meth
;
/** Used to change an SSL_CTXs default SSL method type */
int
SSL_CTX_set_ssl_version
(
SSL_CTX
*
ctx
,
SSL_METHOD
*
meth
)
{
STACK
*
sk
;
...
...
@@ -160,8 +159,7 @@ SSL_METHOD *meth;
return
(
1
);
}
SSL
*
SSL_new
(
ctx
)
SSL_CTX
*
ctx
;
SSL
*
SSL_new
(
SSL_CTX
*
ctx
)
{
SSL
*
s
;
...
...
@@ -218,8 +216,7 @@ err:
return
(
NULL
);
}
void
SSL_free
(
s
)
SSL
*
s
;
void
SSL_free
(
SSL
*
s
)
{
int
i
;
...
...
@@ -284,10 +281,7 @@ SSL *s;
Free
((
char
*
)
s
);
}
void
SSL_set_bio
(
s
,
rbio
,
wbio
)
SSL
*
s
;
BIO
*
rbio
;
BIO
*
wbio
;
void
SSL_set_bio
(
SSL
*
s
,
BIO
*
rbio
,
BIO
*
wbio
)
{
/* If the output buffering BIO is still in place, remove it
*/
...
...
@@ -307,16 +301,13 @@ BIO *wbio;
s
->
wbio
=
wbio
;
}
BIO
*
SSL_get_rbio
(
s
)
SSL
*
s
;
BIO
*
SSL_get_rbio
(
SSL
*
s
)
{
return
(
s
->
rbio
);
}
BIO
*
SSL_get_wbio
(
s
)
SSL
*
s
;
BIO
*
SSL_get_wbio
(
SSL
*
s
)
{
return
(
s
->
wbio
);
}
int
SSL_get_fd
(
s
)
SSL
*
s
;
int
SSL_get_fd
(
SSL
*
s
)
{
int
ret
=
-
1
;
BIO
*
b
,
*
r
;
...
...
@@ -329,9 +320,7 @@ SSL *s;
}
#ifndef NO_SOCK
int
SSL_set_fd
(
s
,
fd
)
SSL
*
s
;
int
fd
;
int
SSL_set_fd
(
SSL
*
s
,
int
fd
)
{
int
ret
=
0
;
BIO
*
bio
=
NULL
;
...
...
@@ -350,9 +339,7 @@ err:
return
(
ret
);
}
int
SSL_set_wfd
(
s
,
fd
)
SSL
*
s
;
int
fd
;
int
SSL_set_wfd
(
SSL
*
s
,
int
fd
)
{
int
ret
=
0
;
BIO
*
bio
=
NULL
;
...
...
@@ -374,9 +361,7 @@ err:
return
(
ret
);
}
int
SSL_set_rfd
(
s
,
fd
)
SSL
*
s
;
int
fd
;
int
SSL_set_rfd
(
SSL
*
s
,
int
fd
)
{
int
ret
=
0
;
BIO
*
bio
=
NULL
;
...
...
@@ -402,61 +387,49 @@ err:
}
#endif
int
SSL_get_verify_mode
(
s
)
SSL
*
s
;
int
SSL_get_verify_mode
(
SSL
*
s
)
{
return
(
s
->
verify_mode
);
}
int
(
*
SSL_get_verify_callback
(
s
))()
SSL
*
s
;
int
(
*
SSL_get_verify_callback
(
SSL
*
s
))()
{
return
(
s
->
verify_callback
);
}
int
SSL_CTX_get_verify_mode
(
ctx
)
SSL_CTX
*
ctx
;
int
SSL_CTX_get_verify_mode
(
SSL_CTX
*
ctx
)
{
return
(
ctx
->
verify_mode
);
}
int
(
*
SSL_CTX_get_verify_callback
(
ctx
))()
SSL_CTX
*
ctx
;
int
(
*
SSL_CTX_get_verify_callback
(
SSL_CTX
*
ctx
))()
{
return
(
ctx
->
default_verify_callback
);
}
void
SSL_set_verify
(
s
,
mode
,
callback
)
SSL
*
s
;
int
mode
;
int
(
*
callback
)();
void
SSL_set_verify
(
SSL
*
s
,
int
mode
,
int
(
*
callback
)())
{
s
->
verify_mode
=
mode
;
if
(
callback
!=
NULL
)
s
->
verify_callback
=
callback
;
}
void
SSL_set_read_ahead
(
s
,
yes
)
SSL
*
s
;
int
yes
;
void
SSL_set_read_ahead
(
SSL
*
s
,
int
yes
)
{
s
->
read_ahead
=
yes
;
}
int
SSL_get_read_ahead
(
s
)
SSL
*
s
;
int
SSL_get_read_ahead
(
SSL
*
s
)
{
return
(
s
->
read_ahead
);
}
int
SSL_pending
(
s
)
SSL
*
s
;
int
SSL_pending
(
SSL
*
s
)
{
return
(
s
->
method
->
ssl_pending
(
s
));
}
X509
*
SSL_get_peer_certificate
(
s
)
SSL
*
s
;
X509
*
SSL_get_peer_certificate
(
SSL
*
s
)
{
X509
*
r
;
...
...
@@ -472,8 +445,7 @@ SSL *s;
return
(
r
);
}
STACK
*
SSL_get_peer_cert_chain
(
s
)
SSL
*
s
;
STACK
*
SSL_get_peer_cert_chain
(
SSL
*
s
)
{
STACK
*
r
;
...
...
@@ -487,8 +459,7 @@ SSL *s;
/* Now in theory, since the calling process own 't' it should be safe to
* modify. We need to be able to read f without being hassled */
void
SSL_copy_session_id
(
t
,
f
)
SSL
*
t
,
*
f
;
void
SSL_copy_session_id
(
SSL
*
t
,
SSL
*
f
)
{
CERT
*
tmp
;
...
...
@@ -516,8 +487,7 @@ SSL *t,*f;
}
/* Fix this so it checks all the valid key/cert options */
int
SSL_CTX_check_private_key
(
ctx
)
SSL_CTX
*
ctx
;
int
SSL_CTX_check_private_key
(
SSL_CTX
*
ctx
)
{
if
(
(
ctx
==
NULL
)
||
(
ctx
->
default_cert
==
NULL
)
||
...
...
@@ -535,8 +505,7 @@ SSL_CTX *ctx;
}
/* Fix this function so that it takes an optional type parameter */
int
SSL_check_private_key
(
ssl
)
SSL
*
ssl
;
int
SSL_check_private_key
(
SSL
*
ssl
)
{
if
(
ssl
==
NULL
)
{
...
...
@@ -559,28 +528,22 @@ SSL *ssl;
ssl
->
cert
->
key
->
privatekey
));
}
int
SSL_accept
(
s
)
SSL
*
s
;
int
SSL_accept
(
SSL
*
s
)
{
return
(
s
->
method
->
ssl_accept
(
s
));
}
int
SSL_connect
(
s
)
SSL
*
s
;
int
SSL_connect
(
SSL
*
s
)
{
return
(
s
->
method
->
ssl_connect
(
s
));
}
long
SSL_get_default_timeout
(
s
)
SSL
*
s
;
long
SSL_get_default_timeout
(
SSL
*
s
)
{
return
(
s
->
method
->
get_timeout
());
}
int
SSL_read
(
s
,
buf
,
num
)
SSL
*
s
;
char
*
buf
;
int
num
;
int
SSL_read
(
SSL
*
s
,
char
*
buf
,
int
num
)
{
if
(
s
->
shutdown
&
SSL_RECEIVED_SHUTDOWN
)
{
...
...
@@ -590,10 +553,7 @@ int num;
return
(
s
->
method
->
ssl_read
(
s
,
buf
,
num
));
}
int
SSL_peek
(
s
,
buf
,
num
)
SSL
*
s
;
char
*
buf
;
int
num
;
int
SSL_peek
(
SSL
*
s
,
char
*
buf
,
int
num
)
{
if
(
s
->
shutdown
&
SSL_RECEIVED_SHUTDOWN
)
{
...
...
@@ -602,10 +562,7 @@ int num;
return
(
s
->
method
->
ssl_peek
(
s
,
buf
,
num
));
}
int
SSL_write
(
s
,
buf
,
num
)
SSL
*
s
;
const
char
*
buf
;
int
num
;
int
SSL_write
(
SSL
*
s
,
const
char
*
buf
,
int
num
)
{
if
(
s
->
shutdown
&
SSL_SENT_SHUTDOWN
)
{
...
...
@@ -616,8 +573,7 @@ int num;
return
(
s
->
method
->
ssl_write
(
s
,
buf
,
num
));
}
int
SSL_shutdown
(
s
)
SSL
*
s
;
int
SSL_shutdown
(
SSL
*
s
)
{
if
((
s
!=
NULL
)
&&
!
SSL_in_init
(
s
))
return
(
s
->
method
->
ssl_shutdown
(
s
));
...
...
@@ -625,18 +581,13 @@ SSL *s;
return
(
1
);
}
int
SSL_renegotiate
(
s
)
SSL
*
s
;
int
SSL_renegotiate
(
SSL
*
s
)
{
s
->
new_session
=
1
;
return
(
s
->
method
->
ssl_renegotiate
(
s
));
}
long
SSL_ctrl
(
s
,
cmd
,
larg
,
parg
)
SSL
*
s
;
int
cmd
;
long
larg
;
char
*
parg
;
long
SSL_ctrl
(
SSL
*
s
,
int
cmd
,
long
larg
,
char
*
parg
)
{
long
l
;
...
...
@@ -656,11 +607,7 @@ char *parg;
return
(
0
);
}
long
SSL_CTX_ctrl
(
ctx
,
cmd
,
larg
,
parg
)
SSL_CTX
*
ctx
;
int
cmd
;
long
larg
;
char
*
parg
;
long
SSL_CTX_ctrl
(
SSL_CTX
*
ctx
,
int
cmd
,
long
larg
,
char
*
parg
)
{
long
l
;
...
...
@@ -718,8 +665,7 @@ char *parg;
return
(
0
);
}
int
ssl_cipher_id_cmp
(
a
,
b
)
SSL_CIPHER
*
a
,
*
b
;
int
ssl_cipher_id_cmp
(
SSL_CIPHER
*
a
,
SSL_CIPHER
*
b
)
{
long
l
;
...
...
@@ -730,8 +676,7 @@ SSL_CIPHER *a,*b;
return
((
l
>
0
)
?
1
:-
1
);
}
int
ssl_cipher_ptr_id_cmp
(
ap
,
bp
)
SSL_CIPHER
**
ap
,
**
bp
;
int
ssl_cipher_ptr_id_cmp
(
SSL_CIPHER
**
ap
,
SSL_CIPHER
**
bp
)
{
long
l
;
...
...
@@ -742,10 +687,9 @@ SSL_CIPHER **ap,**bp;
return
((
l
>
0
)
?
1
:-
1
);
}
/* return a STACK of the ciphers available for the SSL and in order of
/*
*
return a STACK of the ciphers available for the SSL and in order of
* preference */
STACK
*
SSL_get_ciphers
(
s
)
SSL
*
s
;
STACK
*
SSL_get_ciphers
(
SSL
*
s
)
{
if
((
s
!=
NULL
)
&&
(
s
->
cipher_list
!=
NULL
))
{
...
...
@@ -759,10 +703,9 @@ SSL *s;
return
(
NULL
);
}
/* return a STACK of the ciphers available for the SSL and in order of
/*
*
return a STACK of the ciphers available for the SSL and in order of
* algorithm id */
STACK
*
ssl_get_ciphers_by_id
(
s
)
SSL
*
s
;
STACK
*
ssl_get_ciphers_by_id
(
SSL
*
s
)
{
if
((
s
!=
NULL
)
&&
(
s
->
cipher_list_by_id
!=
NULL
))
{
...
...
@@ -776,10 +719,8 @@ SSL *s;
return
(
NULL
);
}
/* The old interface to get the same thing as SSL_get_ciphers() */
char
*
SSL_get_cipher_list
(
s
,
n
)
SSL
*
s
;
int
n
;
/** The old interface to get the same thing as SSL_get_ciphers() */
char
*
SSL_get_cipher_list
(
SSL
*
s
,
int
n
)
{
SSL_CIPHER
*
c
;
STACK
*
sk
;
...
...
@@ -793,10 +734,8 @@ int n;
return
(
c
->
name
);
}
/* specify the ciphers to be used by defaut by the SSL_CTX */
int
SSL_CTX_set_cipher_list
(
ctx
,
str
)
SSL_CTX
*
ctx
;
char
*
str
;
/** specify the ciphers to be used by defaut by the SSL_CTX */
int
SSL_CTX_set_cipher_list
(
SSL_CTX
*
ctx
,
char
*
str
)
{
STACK
*
sk
;
...
...
@@ -806,10 +745,8 @@ char *str;
return
((
sk
==
NULL
)
?
0
:
1
);
}
/* specify the ciphers to be used by the SSL */
int
SSL_set_cipher_list
(
s
,
str
)
SSL
*
s
;
char
*
str
;
/** specify the ciphers to be used by the SSL */
int
SSL_set_cipher_list
(
SSL
*
s
,
char
*
str
)
{
STACK
*
sk
;
...
...
@@ -820,10 +757,7 @@ char *str;
}
/* works well for SSLv2, not so good for SSLv3 */
char
*
SSL_get_shared_ciphers
(
s
,
buf
,
len
)
SSL
*
s
;
char
*
buf
;
int
len
;
char
*
SSL_get_shared_ciphers
(
SSL
*
s
,
char
*
buf
,
int
len
)
{
char
*
p
,
*
cp
;
STACK
*
sk
;
...
...
@@ -857,10 +791,7 @@ int len;
return
(
buf
);
}
int
ssl_cipher_list_to_bytes
(
s
,
sk
,
p
)
SSL
*
s
;
STACK
*
sk
;
unsigned
char
*
p
;
int
ssl_cipher_list_to_bytes
(
SSL
*
s
,
STACK
*
sk
,
unsigned
char
*
p
)
{
int
i
,
j
=
0
;
SSL_CIPHER
*
c
;
...
...
@@ -878,11 +809,7 @@ unsigned char *p;
return
(
p
-
q
);
}
STACK
*
ssl_bytes_to_cipher_list
(
s
,
p
,
num
,
skp
)
SSL
*
s
;
unsigned
char
*
p
;
int
num
;
STACK
**
skp
;
STACK
*
ssl_bytes_to_cipher_list
(
SSL
*
s
,
unsigned
char
*
p
,
int
num
,
STACK
**
skp
)
{
SSL_CIPHER
*
c
;
STACK
*
sk
;
...
...
@@ -925,8 +852,7 @@ err:
return
(
NULL
);
}
unsigned
long
SSL_SESSION_hash
(
a
)
SSL_SESSION
*
a
;
unsigned
long
SSL_SESSION_hash
(
SSL_SESSION
*
a
)
{
unsigned
long
l
;
...
...
@@ -938,9 +864,7 @@ SSL_SESSION *a;
return
(
l
);
}
int
SSL_SESSION_cmp
(
a
,
b
)
SSL_SESSION
*
a
;
SSL_SESSION
*
b
;
int
SSL_SESSION_cmp
(
SSL_SESSION
*
a
,
SSL_SESSION
*
b
)
{
if
(
a
->
ssl_version
!=
b
->
ssl_version
)
return
(
1
);
...
...
@@ -949,8 +873,7 @@ SSL_SESSION *b;
return
(
memcmp
(
a
->
session_id
,
b
->
session_id
,
a
->
session_id_length
));
}
SSL_CTX
*
SSL_CTX_new
(
meth
)
SSL_METHOD
*
meth
;
SSL_CTX
*
SSL_CTX_new
(
SSL_METHOD
*
meth
)
{
SSL_CTX
*
ret
=
NULL
;
...
...
@@ -1057,8 +980,7 @@ err2:
return
(
NULL
);
}
void
SSL_CTX_free
(
a
)
SSL_CTX
*
a
;
void
SSL_CTX_free
(
SSL_CTX
*
a
)
{
int
i
;
...
...
@@ -1100,30 +1022,18 @@ SSL_CTX *a;
Free
((
char
*
)
a
);
}
void
SSL_CTX_set_default_passwd_cb
(
ctx
,
cb
)
SSL_CTX
*
ctx
;
int
(
*
cb
)();
void
SSL_CTX_set_default_passwd_cb
(
SSL_CTX
*
ctx
,
int
(
*
cb
)())
{
ctx
->
default_passwd_callback
=
cb
;
}
void
SSL_CTX_set_cert_verify_cb
(
ctx
,
cb
,
arg
)
SSL_CTX
*
ctx
;
int
(
*
cb
)();
char
*
arg
;
void
SSL_CTX_set_cert_verify_cb
(
SSL_CTX
*
ctx
,
int
(
*
cb
)(),
char
*
arg
)
{
ctx
->
app_verify_callback
=
cb
;
ctx
->
app_verify_arg
=
arg
;
}
void
SSL_CTX_set_verify
(
ctx
,
mode
,
cb
)
SSL_CTX
*
ctx
;
int
mode
;
#ifndef NOPROTO
int
(
*
cb
)(
int
,
X509_STORE_CTX
*
);
#else
int
(
*
cb
)();
#endif
void
SSL_CTX_set_verify
(
SSL_CTX
*
ctx
,
int
mode
,
int
(
*
cb
)(
int
,
X509_STORE_CTX
*
))
{
ctx
->
verify_mode
=
mode
;
ctx
->
default_verify_callback
=
cb
;
...
...
@@ -1131,9 +1041,7 @@ int (*cb)();
X509_STORE_set_verify_cb_func
(
ctx
->
cert_store
,
cb
);
}
void
ssl_set_cert_masks
(
c
,
cipher
)
CERT
*
c
;
SSL_CIPHER
*
cipher
;
void
ssl_set_cert_masks
(
CERT
*
c
,
SSL_CIPHER
*
cipher
)
{
CERT_PKEY
*
cpk
;
int
rsa_enc
,
rsa_tmp
,
rsa_sign
,
dh_tmp
,
dh_rsa
,
dh_dsa
,
dsa_sign
;
...
...
@@ -1234,8 +1142,7 @@ SSL_CIPHER *cipher;
}
/* THIS NEEDS CLEANING UP */
X509
*
ssl_get_server_send_cert
(
s
)
SSL
*
s
;
X509
*
ssl_get_server_send_cert
(
SSL
*
s
)
{
unsigned
long
alg
,
mask
,
kalg
;
CERT
*
c
;
...
...
@@ -1270,9 +1177,7 @@ SSL *s;
return
(
c
->
pkeys
[
i
].
x509
);
}
EVP_PKEY
*
ssl_get_sign_pkey
(
s
,
cipher
)
SSL
*
s
;
SSL_CIPHER
*
cipher
;
EVP_PKEY
*
ssl_get_sign_pkey
(
SSL
*
s
,
SSL_CIPHER
*
cipher
)
{
unsigned
long
alg
;
CERT
*
c
;
...
...
@@ -1299,9 +1204,7 @@ SSL_CIPHER *cipher;
}
}
void
ssl_update_cache
(
s
,
mode
)
SSL
*
s
;
int
mode
;
void
ssl_update_cache
(
SSL
*
s
,
int
mode
)
{
int
i
;
...
...
@@ -1333,15 +1236,12 @@ int mode;
}
}
SSL_METHOD
*
SSL_get_ssl_method
(
s
)
SSL
*
s
;
SSL_METHOD
*
SSL_get_ssl_method
(
SSL
*
s
)
{
return
(
s
->
method
);
}
int
SSL_set_ssl_method
(
s
,
meth
)
SSL
*
s
;
SSL_METHOD
*
meth
;
int
SSL_set_ssl_method
(
SSL
*
s
,
SSL_METHOD
*
meth
)
{
int
conn
=
-
1
;
int
ret
=
1
;
...
...
@@ -1368,9 +1268,7 @@ SSL_METHOD *meth;
return
(
ret
);
}
int
SSL_get_error
(
s
,
i
)
SSL
*
s
;
int
i
;
int
SSL_get_error
(
SSL
*
s
,
int
i
)
{
int
reason
;
unsigned
long
l
;
...
...
@@ -1443,8 +1341,7 @@ int i;
return
(
SSL_ERROR_SYSCALL
);
}
int
SSL_do_handshake
(
s
)
SSL
*
s
;
int
SSL_do_handshake
(
SSL
*
s
)
{
int
ret
=
1
;
...
...
@@ -1465,8 +1362,7 @@ SSL *s;
/* For the next 2 functions, SSL_clear() sets shutdown and so
* one of these calls will reset it */
void
SSL_set_accept_state
(
s
)
SSL
*
s
;
void
SSL_set_accept_state
(
SSL
*
s
)
{
s
->
server
=
1
;
s
->
shutdown
=
0
;
...
...
@@ -1476,8 +1372,7 @@ SSL *s;
ssl_clear_cipher_ctx
(
s
);
}
void
SSL_set_connect_state
(
s
)
SSL
*
s
;
void
SSL_set_connect_state
(
SSL
*
s
)
{
s
->
server
=
0
;
s
->
shutdown
=
0
;
...
...
@@ -1487,22 +1382,19 @@ SSL *s;
ssl_clear_cipher_ctx
(
s
);
}
int
ssl_undefined_function
(
s
)
SSL
*
s
;
int
ssl_undefined_function
(
SSL
*
s
)
{
SSLerr
(
SSL_F_SSL_UNDEFINED_FUNCTION
,
ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED
);
return
(
0
);
}
SSL_METHOD
*
ssl_bad_method
(
ver
)
int
ver
;
SSL_METHOD
*
ssl_bad_method
(
int
ver
)
{
SSLerr
(
SSL_F_SSL_BAD_METHOD
,
ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED
);
return
(
NULL
);
}
char
*
SSL_get_version
(
s
)
SSL
*
s
;
char
*
SSL_get_version
(
SSL
*
s
)
{
if
(
s
->
version
==
TLS1_VERSION
)
return
(
"TLSv1"
);
...
...
@@ -1514,8 +1406,7 @@ SSL *s;
return
(
"unknown"
);
}
SSL
*
SSL_dup
(
s
)
SSL
*
s
;
SSL
*
SSL_dup
(
SSL
*
s
)
{
STACK
*
sk
;
X509_NAME
*
xn
;
...
...
@@ -1598,8 +1489,7 @@ err:
return
(
ret
);
}
void
ssl_clear_cipher_ctx
(
s
)
SSL
*
s
;
void
ssl_clear_cipher_ctx
(
SSL
*
s
)
{
if
(
s
->
enc_read_ctx
!=
NULL
)
{
...
...
@@ -1626,8 +1516,7 @@ SSL *s;
}
/* Fix this function so that it takes an optional type parameter */
X509
*
SSL_get_certificate
(
s
)
SSL
*
s
;
X509
*
SSL_get_certificate
(
SSL
*
s
)
{
if
(
s
->
cert
!=
NULL
)
return
(
s
->
cert
->
key
->
x509
);
...
...
@@ -1636,8 +1525,7 @@ SSL *s;
}
/* Fix this function so that it takes an optional type parameter */
EVP_PKEY
*
SSL_get_privatekey
(
s
)
SSL
*
s
;
EVP_PKEY
*
SSL_get_privatekey
(
SSL
*
s
)
{
if
(
s
->
cert
!=
NULL
)
return
(
s
->
cert
->
key
->
privatekey
);
...
...
@@ -1645,17 +1533,14 @@ SSL *s;
return
(
NULL
);
}
SSL_CIPHER
*
SSL_get_current_cipher
(
s
)
SSL
*
s
;
SSL_CIPHER
*
SSL_get_current_cipher
(
SSL
*
s
)
{
if
((
s
->
session
!=
NULL
)
&&
(
s
->
session
->
cipher
!=
NULL
))
return
(
s
->
session
->
cipher
);
return
(
NULL
);
}
int
ssl_init_wbio_buffer
(
s
,
push
)
SSL
*
s
;
int
push
;
int
ssl_init_wbio_buffer
(
SSL
*
s
,
int
push
)
{
BIO
*
bbio
;
...
...
@@ -1691,8 +1576,7 @@ int push;
return
(
1
);
}
void
ssl_free_wbio_buffer
(
s
)
SSL
*
s
;
void
ssl_free_wbio_buffer
(
SSL
*
s
)
{
BIO
*
under
;
...
...
@@ -1711,190 +1595,172 @@ SSL *s;
s
->
bbio
=
NULL
;
}
void
SSL_CTX_set_quiet_shutdown
(
ctx
,
mode
)
SSL_CTX
*
ctx
;
int
mode
;
void
SSL_CTX_set_quiet_shutdown
(
SSL_CTX
*
ctx
,
int
mode
)
{
ctx
->
quiet_shutdown
=
mode
;
}
int
SSL_CTX_get_quiet_shutdown
(
ctx
)
SSL_CTX
*
ctx
;
int
SSL_CTX_get_quiet_shutdown
(
SSL_CTX
*
ctx
)
{
return
(
ctx
->
quiet_shutdown
);
}
void
SSL_set_quiet_shutdown
(
s
,
mode
)
SSL
*
s
;
int
mode
;
void
SSL_set_quiet_shutdown
(
SSL
*
s
,
int
mode
)
{
s
->
quiet_shutdown
=
mode
;
}
int
SSL_get_quiet_shutdown
(
s
)
SSL
*
s
;
int
SSL_get_quiet_shutdown
(
SSL
*
s
)
{
return
(
s
->
quiet_shutdown
);
}
void
SSL_set_shutdown
(
s
,
mode
)
SSL
*
s
;
int
mode
;
void
SSL_set_shutdown
(
SSL
*
s
,
int
mode
)
{
s
->
shutdown
=
mode
;
}
int
SSL_get_shutdown
(
s
)
SSL
*
s
;
int
SSL_get_shutdown
(
SSL
*
s
)
{
return
(
s
->
shutdown
);
}
int
SSL_version
(
s
)
SSL
*
s
;
int
SSL_version
(
SSL
*
s
)
{
return
(
s
->
version
);
}
SSL_CTX
*
SSL_get_SSL_CTX
(
ssl
)
SSL
*
ssl
;
SSL_CTX
*
SSL_get_SSL_CTX
(
SSL
*
ssl
)
{
return
(
ssl
->
ctx
);
}
#ifndef NO_STDIO
int
SSL_CTX_set_default_verify_paths
(
ctx
)
SSL_CTX
*
ctx
;
int
SSL_CTX_set_default_verify_paths
(
SSL_CTX
*
ctx
)
{
return
(
X509_STORE_set_default_paths
(
ctx
->
cert_store
));
}
int
SSL_CTX_load_verify_locations
(
ctx
,
CAfile
,
CApath
)
SSL_CTX
*
ctx
;
char
*
CAfile
;
char
*
CApath
;
int
SSL_CTX_load_verify_locations
(
SSL_CTX
*
ctx
,
char
*
CAfile
,
char
*
CApath
)
{
return
(
X509_STORE_load_locations
(
ctx
->
cert_store
,
CAfile
,
CApath
));
}
#endif
void
SSL_set_info_callback
(
ssl
,
cb
)
SSL
*
ssl
;
void
(
*
cb
)();
void
SSL_set_info_callback
(
SSL
*
ssl
,
void
(
*
cb
)())
{
ssl
->
info_callback
=
cb
;
}
void
(
*
SSL_get_info_callback
(
ssl
))()
SSL
*
ssl
;
void
(
*
SSL_get_info_callback
(
SSL
*
ssl
))()
{
return
((
void
(
*
)())
ssl
->
info_callback
);
}
int
SSL_state
(
ssl
)
SSL
*
ssl
;
int
SSL_state
(
SSL
*
ssl
)
{
return
(
ssl
->
state
);
}
void
SSL_set_verify_result
(
ssl
,
arg
)
SSL
*
ssl
;
long
arg
;
void
SSL_set_verify_result
(
SSL
*
ssl
,
long
arg
)
{
ssl
->
verify_result
=
arg
;
}
long
SSL_get_verify_result
(
ssl
)
SSL
*
ssl
;
long
SSL_get_verify_result
(
SSL
*
ssl
)
{
return
(
ssl
->
verify_result
);
}
int
SSL_get_ex_new_index
(
argl
,
argp
,
new_func
,
dup_func
,
free_func
)
long
argl
;
char
*
argp
;
int
(
*
new_func
)();
int
(
*
dup_func
)();
void
(
*
free_func
)();
int
SSL_get_ex_new_index
(
long
argl
,
char
*
argp
,
int
(
*
new_func
)(),
int
(
*
dup_func
)(),
void
(
*
free_func
)())
{
ssl_meth_num
++
;
return
(
CRYPTO_get_ex_new_index
(
ssl_meth_num
-
1
,
&
ssl_meth
,
argl
,
argp
,
new_func
,
dup_func
,
free_func
));
}
int
SSL_set_ex_data
(
s
,
idx
,
arg
)
SSL
*
s
;
int
idx
;
void
*
arg
;
int
SSL_set_ex_data
(
SSL
*
s
,
int
idx
,
void
*
arg
)
{
return
(
CRYPTO_set_ex_data
(
&
s
->
ex_data
,
idx
,
arg
));
}
void
*
SSL_get_ex_data
(
s
,
idx
)
SSL
*
s
;
int
idx
;
void
*
SSL_get_ex_data
(
SSL
*
s
,
int
idx
)
{
return
(
CRYPTO_get_ex_data
(
&
s
->
ex_data
,
idx
));
}
int
SSL_CTX_get_ex_new_index
(
argl
,
argp
,
new_func
,
dup_func
,
free_func
)
long
argl
;
char
*
argp
;
int
(
*
new_func
)();
int
(
*
dup_func
)();
void
(
*
free_func
)();
int
SSL_CTX_get_ex_new_index
(
long
argl
,
char
*
argp
,
int
(
*
new_func
)(),
int
(
*
dup_func
)(),
void
(
*
free_func
)())
{
ssl_ctx_meth_num
++
;
return
(
CRYPTO_get_ex_new_index
(
ssl_ctx_meth_num
-
1
,
&
ssl_ctx_meth
,
argl
,
argp
,
new_func
,
dup_func
,
free_func
));
}
int
SSL_CTX_set_ex_data
(
s
,
idx
,
arg
)
SSL_CTX
*
s
;
int
idx
;
void
*
arg
;
int
SSL_CTX_set_ex_data
(
SSL_CTX
*
s
,
int
idx
,
void
*
arg
)
{
return
(
CRYPTO_set_ex_data
(
&
s
->
ex_data
,
idx
,
arg
));
}
void
*
SSL_CTX_get_ex_data
(
s
,
idx
)
SSL_CTX
*
s
;
int
idx
;
void
*
SSL_CTX_get_ex_data
(
SSL_CTX
*
s
,
int
idx
)
{
return
(
CRYPTO_get_ex_data
(
&
s
->
ex_data
,
idx
));
}
int
ssl_ok
(
s
)
SSL
*
s
;
int
ssl_ok
(
SSL
*
s
)
{
return
(
1
);
}
X509_STORE
*
SSL_CTX_get_cert_store
(
ctx
)
SSL_CTX
*
ctx
;
X509_STORE
*
SSL_CTX_get_cert_store
(
SSL_CTX
*
ctx
)
{
return
(
ctx
->
cert_store
);
}
void
SSL_CTX_set_cert_store
(
ctx
,
store
)
SSL_CTX
*
ctx
;
X509_STORE
*
store
;
void
SSL_CTX_set_cert_store
(
SSL_CTX
*
ctx
,
X509_STORE
*
store
)
{
if
(
ctx
->
cert_store
!=
NULL
)
X509_STORE_free
(
ctx
->
cert_store
);
ctx
->
cert_store
=
store
;
}
int
SSL_want
(
s
)
SSL
*
s
;
int
SSL_want
(
SSL
*
s
)
{
return
(
s
->
rwstate
);
}
/*!
* \brief Set the callback for generating temporary RSA keys.
* \param ctx the SSL context.
* \param cb the callback
*/
void
SSL_CTX_set_tmp_rsa_callback
(
SSL_CTX
*
ctx
,
RSA
*
(
*
cb
)(
SSL
*
ssl
,
int
export
,
int
keylength
))
{
SSL_CTX_ctrl
(
ctx
,
SSL_CTRL_SET_TMP_RSA_CB
,
0
,(
char
*
)
cb
);
}
#ifdef DOXYGEN
/*!
* \brief The RSA temporary key callback function.
* \param ssl the SSL session.
* \param export \c TRUE if the temp RSA key is for an export ciphersuite.
* \param keylength if \c export is \c TRUE, then \c keylength is the size of
* the required key in bits.
* \return the temporary RSA key.
* \sa SSL_CTX_set_tmp_rsa_callback, SSL_set_tmp_rsa_callback
*/
RSA
*
cb
(
SSL
*
ssl
,
int
export
,
int
keylength
)
{}
#endif
/*!
* \brief Set the callback for generating temporary DH keys.
* \param ctx the SSL context.
* \param dh the callback
*/
void
SSL_CTX_set_tmp_dh_callback
(
SSL_CTX
*
ctx
,
DH
*
(
*
dh
)(
SSL
*
ssl
,
int
export
,
int
keylength
))
{
SSL_CTX_ctrl
(
ctx
,
SSL_CTRL_SET_TMP_DH_CB
,
0
,(
char
*
)
dh
);
}
...
...
@@ -1910,4 +1776,3 @@ void SSL_set_tmp_dh_callback(SSL *ssl,DH *(*dh)(SSL *ssl,int export,
#if defined(_WINDLL) && defined(WIN16)
#include "../crypto/bio/bss_file.c"
#endif
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部