Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
3c07d3a3
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
8 个月 前同步成功
通知
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,体验更适合开发者的 AI 搜索 >>
提交
3c07d3a3
编写于
6月 07, 2007
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Finish gcc 4.2 changes.
上级
1d1a6465
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
93 addition
and
71 deletion
+93
-71
CHANGES
CHANGES
+4
-0
crypto/asn1/asn1.h
crypto/asn1/asn1.h
+54
-9
crypto/ocsp/ocsp.h
crypto/ocsp/ocsp.h
+0
-5
crypto/ocsp/ocsp_ext.c
crypto/ocsp/ocsp_ext.c
+2
-1
crypto/pem/pem.h
crypto/pem/pem.h
+0
-4
crypto/pkcs7/pk7_attr.c
crypto/pkcs7/pk7_attr.c
+10
-21
crypto/x509/by_dir.c
crypto/x509/by_dir.c
+2
-2
crypto/x509/x509_req.c
crypto/x509/x509_req.c
+12
-16
crypto/x509v3/pcy_int.h
crypto/x509v3/pcy_int.h
+3
-3
crypto/x509v3/x509v3.h
crypto/x509v3/x509v3.h
+1
-0
engines/e_ubsec.c
engines/e_ubsec.c
+2
-2
ssl/ssl.h
ssl/ssl.h
+2
-8
ssl/ssl_sess.c
ssl/ssl_sess.c
+1
-0
未找到文件。
CHANGES
浏览文件 @
3c07d3a3
...
...
@@ -4,6 +4,10 @@
Changes between 0.9.8f and 0.9.9 [xx XXX xxxx]
*) Final changes to avoid use of pointer pointer casts in OpenSSL.
OpenSSL should now compile cleanly on gcc 4.2
[Peter Hartley <pdh@utter.chaos.org.uk>, Steve Henson]
*) Update SSL library to use new EVP_PKEY MAC API. Include generic MAC
support including streaming MAC support: this is required for GOST
ciphersuite support.
...
...
crypto/asn1/asn1.h
浏览文件 @
3c07d3a3
...
...
@@ -329,6 +329,17 @@ typedef struct ASN1_VALUE_st ASN1_VALUE;
#define I2D_OF(type) int (*)(type *,unsigned char **)
#define I2D_OF_const(type) int (*)(const type *,unsigned char **)
#define CHECKED_D2I_OF(type, d2i) \
((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0)))
#define CHECKED_I2D_OF(type, i2d) \
((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0)))
#define CHECKED_NEW_OF(type, xnew) \
((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0)))
#define CHECKED_PTR_OF(type, p) \
((void*) (1 ? p : (type*)0))
#define CHECKED_PPTR_OF(type, p) \
((void**) (1 ? p : (type**)0))
#define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long)
#define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **)
#define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type)
...
...
@@ -914,23 +925,41 @@ int ASN1_object_size(int constructed, int length, int tag);
/* Used to implement other functions */
void
*
ASN1_dup
(
i2d_of_void
*
i2d
,
d2i_of_void
*
d2i
,
char
*
x
);
#define ASN1_dup_of(type,i2d,d2i,x) \
((type *(*)(I2D_OF(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(i2d,d2i,x)
((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \
CHECKED_D2I_OF(type, d2i), \
CHECKED_PTR_OF(type, x)))
#define ASN1_dup_of_const(type,i2d,d2i,x) \
((type *(*)(I2D_OF_const(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(i2d,d2i,x)
((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \
CHECKED_D2I_OF(type, d2i), \
CHECKED_PTR_OF(const type, x)))
void
*
ASN1_item_dup
(
const
ASN1_ITEM
*
it
,
void
*
x
);
#ifndef OPENSSL_NO_FP_API
void
*
ASN1_d2i_fp
(
void
*
(
*
xnew
)(
void
),
d2i_of_void
*
d2i
,
FILE
*
in
,
void
**
x
);
#define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \
((type *(*)(type *(*)(void),D2I_OF(type),FILE *,type **))openssl_fcast(ASN1_d2i_fp))(xnew,d2i,in,x)
((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \
CHECKED_D2I_OF(type, d2i), \
in, \
CHECKED_PPTR_OF(type, x)))
void
*
ASN1_item_d2i_fp
(
const
ASN1_ITEM
*
it
,
FILE
*
in
,
void
*
x
);
int
ASN1_i2d_fp
(
i2d_of_void
*
i2d
,
FILE
*
out
,
void
*
x
);
#define ASN1_i2d_fp_of(type,i2d,out,x) \
((int (*)(I2D_OF(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(i2d,out,x)
(ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \
out, \
CHECKED_PTR_OF(type, x)))
#define ASN1_i2d_fp_of_const(type,i2d,out,x) \
((int (*)(I2D_OF_const(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(i2d,out,x)
(ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \
out, \
CHECKED_PTR_OF(const type, x)))
int
ASN1_item_i2d_fp
(
const
ASN1_ITEM
*
it
,
FILE
*
out
,
void
*
x
);
int
ASN1_STRING_print_ex_fp
(
FILE
*
fp
,
ASN1_STRING
*
str
,
unsigned
long
flags
);
#endif
...
...
@@ -939,14 +968,26 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in);
#ifndef OPENSSL_NO_BIO
void
*
ASN1_d2i_bio
(
void
*
(
*
xnew
)(
void
),
d2i_of_void
*
d2i
,
BIO
*
in
,
void
**
x
);
#define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \
((type *(*)(type *(*)(void),D2I_OF(type),BIO *,type **))openssl_fcast(ASN1_d2i_bio))(xnew,d2i,in,x)
((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \
CHECKED_D2I_OF(type, d2i), \
in, \
CHECKED_PPTR_OF(type, x)))
void
*
ASN1_item_d2i_bio
(
const
ASN1_ITEM
*
it
,
BIO
*
in
,
void
*
x
);
int
ASN1_i2d_bio
(
i2d_of_void
*
i2d
,
BIO
*
out
,
unsigned
char
*
x
);
#define ASN1_i2d_bio_of(type,i2d,out,x) \
((int (*)(I2D_OF(type),BIO *,type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
(ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \
out, \
CHECKED_PTR_OF(type, x)))
#define ASN1_i2d_bio_of_const(type,i2d,out,x) \
((int (*)(I2D_OF_const(type),BIO *,const type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
(ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \
out, \
CHECKED_PTR_OF(const type, x)))
int
ASN1_item_i2d_bio
(
const
ASN1_ITEM
*
it
,
BIO
*
out
,
void
*
x
);
int
ASN1_UTCTIME_print
(
BIO
*
fp
,
const
ASN1_UTCTIME
*
a
);
int
ASN1_GENERALIZEDTIME_print
(
BIO
*
fp
,
const
ASN1_GENERALIZEDTIME
*
a
);
...
...
@@ -983,8 +1024,12 @@ void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i);
void
*
ASN1_item_unpack
(
ASN1_STRING
*
oct
,
const
ASN1_ITEM
*
it
);
ASN1_STRING
*
ASN1_pack_string
(
void
*
obj
,
i2d_of_void
*
i2d
,
ASN1_OCTET_STRING
**
oct
);
#define ASN1_pack_string_of(type,obj,i2d,oct) \
((ASN1_STRING *(*)(type *,I2D_OF(type),ASN1_OCTET_STRING **))openssl_fcast(ASN1_pack_string))(obj,i2d,oct)
(ASN1_pack_string(CHECKED_PTR_OF(type, obj), \
CHECKED_I2D_OF(type, i2d), \
oct))
ASN1_STRING
*
ASN1_item_pack
(
void
*
obj
,
const
ASN1_ITEM
*
it
,
ASN1_OCTET_STRING
**
oct
);
void
ASN1_STRING_set_default_mask
(
unsigned
long
mask
);
...
...
crypto/ocsp/ocsp.h
浏览文件 @
3c07d3a3
...
...
@@ -471,11 +471,6 @@ int OCSP_basic_sign(OCSP_BASICRESP *brsp,
X509
*
signer
,
EVP_PKEY
*
key
,
const
EVP_MD
*
dgst
,
STACK_OF
(
X509
)
*
certs
,
unsigned
long
flags
);
ASN1_STRING
*
ASN1_STRING_encode
(
ASN1_STRING
*
s
,
i2d_of_void
*
i2d
,
void
*
data
,
STACK_OF
(
ASN1_OBJECT
)
*
sk
);
#define ASN1_STRING_encode_of(type,s,i2d,data,sk) \
((ASN1_STRING *(*)(ASN1_STRING *,I2D_OF(type),type *,STACK_OF(ASN1_OBJECT) *))openssl_fcast(ASN1_STRING_encode))(s,i2d,data,sk)
X509_EXTENSION
*
OCSP_crlID_new
(
char
*
url
,
long
*
n
,
char
*
tim
);
X509_EXTENSION
*
OCSP_accept_responses_new
(
char
**
oids
);
...
...
crypto/ocsp/ocsp_ext.c
浏览文件 @
3c07d3a3
...
...
@@ -264,7 +264,7 @@ int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc)
}
/* also CRL Entry Extensions */
#if 0
ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s, i2d_of_void *i2d,
void *data, STACK_OF(ASN1_OBJECT) *sk)
{
...
...
@@ -305,6 +305,7 @@ err:
if (b) OPENSSL_free(b);
return NULL;
}
#endif
/* Nonce handling functions */
...
...
crypto/pem/pem.h
浏览文件 @
3c07d3a3
...
...
@@ -414,13 +414,9 @@ int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char
pem_password_cb
*
cb
,
void
*
u
);
void
*
PEM_ASN1_read_bio
(
d2i_of_void
*
d2i
,
const
char
*
name
,
BIO
*
bp
,
void
**
x
,
pem_password_cb
*
cb
,
void
*
u
);
#define PEM_ASN1_read_bio_of(type,d2i,name,bp,x,cb,u) \
((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i,name,bp,x,cb,u)
int
PEM_ASN1_write_bio
(
i2d_of_void
*
i2d
,
const
char
*
name
,
BIO
*
bp
,
void
*
x
,
const
EVP_CIPHER
*
enc
,
unsigned
char
*
kstr
,
int
klen
,
pem_password_cb
*
cb
,
void
*
u
);
#define PEM_ASN1_write_bio_of(type,i2d,name,bp,x,enc,kstr,klen,cb,u) \
((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d,name,bp,x,enc,kstr,klen,cb,u)
STACK_OF
(
X509_INFO
)
*
PEM_X509_INFO_read_bio
(
BIO
*
bp
,
STACK_OF
(
X509_INFO
)
*
sk
,
pem_password_cb
*
cb
,
void
*
u
);
int
PEM_X509_INFO_write_bio
(
BIO
*
bp
,
X509_INFO
*
xi
,
EVP_CIPHER
*
enc
,
...
...
crypto/pkcs7/pk7_attr.c
浏览文件 @
3c07d3a3
...
...
@@ -60,35 +60,25 @@
#include <stdlib.h>
#include <openssl/bio.h>
#include <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/pem.h>
#include <openssl/pkcs7.h>
#include <openssl/x509.h>
#include <openssl/err.h>
ASN1_ITEM_TEMPLATE
(
X509_ALGORS
)
=
ASN1_EX_TEMPLATE_TYPE
(
ASN1_TFLG_SEQUENCE_OF
,
0
,
algorithms
,
X509_ALGOR
)
ASN1_ITEM_TEMPLATE_END
(
X509_ALGORS
)
int
PKCS7_add_attrib_smimecap
(
PKCS7_SIGNER_INFO
*
si
,
STACK_OF
(
X509_ALGOR
)
*
cap
)
{
ASN1_STRING
*
seq
;
unsigned
char
*
p
,
*
pp
;
int
len
;
len
=
i2d_ASN1_SET_OF_X509_ALGOR
(
cap
,
NULL
,
i2d_X509_ALGOR
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
,
IS_SEQUENCE
);
if
(
!
(
pp
=
(
unsigned
char
*
)
OPENSSL_malloc
(
len
)))
{
PKCS7err
(
PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP
,
ERR_R_MALLOC_FAILURE
);
return
0
;
}
p
=
pp
;
i2d_ASN1_SET_OF_X509_ALGOR
(
cap
,
&
p
,
i2d_X509_ALGOR
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
,
IS_SEQUENCE
);
if
(
!
(
seq
=
ASN1_STRING_new
()))
{
PKCS7err
(
PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP
,
ERR_R_MALLOC_FAILURE
);
return
0
;
}
if
(
!
ASN1_STRING_set
(
seq
,
pp
,
len
))
{
PKCS7err
(
PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP
,
ERR_R_MALLOC_FAILURE
);
return
0
;
}
OPENSSL_free
(
pp
);
seq
->
length
=
ASN1_item_i2d
((
ASN1_VALUE
*
)
cap
,
&
seq
->
data
,
ASN1_ITEM_rptr
(
X509_ALGORS
));
return
PKCS7_add_signed_attribute
(
si
,
NID_SMIMECapabilities
,
V_ASN1_SEQUENCE
,
seq
);
}
...
...
@@ -102,10 +92,9 @@ STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si)
if
(
!
cap
||
(
cap
->
type
!=
V_ASN1_SEQUENCE
))
return
NULL
;
p
=
cap
->
value
.
sequence
->
data
;
return
d2i_ASN1_SET_OF_X509_ALGOR
(
NULL
,
&
p
,
cap
->
value
.
sequence
->
length
,
d2i_X509_ALGOR
,
X509_ALGOR_free
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
);
return
(
STACK_OF
(
X509_ALGOR
)
*
)
ASN1_item_d2i
(
NULL
,
&
p
,
cap
->
value
.
sequence
->
length
,
ASN1_ITEM_rptr
(
X509_ALGORS
));
}
/* Basic smime-capabilities OID and optional integer arg */
...
...
crypto/x509/by_dir.c
浏览文件 @
3c07d3a3
...
...
@@ -72,8 +72,6 @@
#include <openssl/lhash.h>
#include <openssl/x509.h>
DECLARE_STACK_OF
(
BY_DIR_HASH
)
DECLARE_STACK_OF
(
BY_DIR_ENTRY
)
typedef
struct
lookup_dir_hashes_st
{
...
...
@@ -94,6 +92,8 @@ typedef struct lookup_dir_st
STACK_OF
(
BY_DIR_ENTRY
)
*
dirs
;
}
BY_DIR
;
DECLARE_STACK_OF
(
BY_DIR_HASH
)
DECLARE_STACK_OF
(
BY_DIR_ENTRY
)
static
int
dir_ctrl
(
X509_LOOKUP
*
ctx
,
int
cmd
,
const
char
*
argp
,
long
argl
,
char
**
ret
);
...
...
crypto/x509/x509_req.c
浏览文件 @
3c07d3a3
...
...
@@ -61,11 +61,16 @@
#include <openssl/bn.h>
#include <openssl/evp.h>
#include <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/x509.h>
#include <openssl/objects.h>
#include <openssl/buffer.h>
#include <openssl/pem.h>
ASN1_ITEM_TEMPLATE
(
X509_EXTENSIONS
)
=
ASN1_EX_TEMPLATE_TYPE
(
ASN1_TFLG_SEQUENCE_OF
,
0
,
Extension
,
X509_EXTENSION
)
ASN1_ITEM_TEMPLATE_END
(
X509_EXTENSIONS
)
X509_REQ
*
X509_to_X509_REQ
(
X509
*
x
,
EVP_PKEY
*
pkey
,
const
EVP_MD
*
md
)
{
X509_REQ
*
ret
;
...
...
@@ -205,10 +210,9 @@ STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req)
if
(
!
ext
||
(
ext
->
type
!=
V_ASN1_SEQUENCE
))
return
NULL
;
p
=
ext
->
value
.
sequence
->
data
;
return
d2i_ASN1_SET_OF_X509_EXTENSION
(
NULL
,
&
p
,
ext
->
value
.
sequence
->
length
,
d2i_X509_EXTENSION
,
X509_EXTENSION_free
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
);
return
(
STACK_OF
(
X509_EXTENSION
)
*
)
ASN1_item_d2i
(
NULL
,
&
p
,
ext
->
value
.
sequence
->
length
,
ASN1_ITEM_rptr
(
X509_EXTENSIONS
));
}
/* Add a STACK_OF extensions to a certificate request: allow alternative OIDs
...
...
@@ -218,8 +222,6 @@ STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req)
int
X509_REQ_add_extensions_nid
(
X509_REQ
*
req
,
STACK_OF
(
X509_EXTENSION
)
*
exts
,
int
nid
)
{
unsigned
char
*
p
=
NULL
,
*
q
;
long
len
;
ASN1_TYPE
*
at
=
NULL
;
X509_ATTRIBUTE
*
attr
=
NULL
;
if
(
!
(
at
=
ASN1_TYPE_new
())
||
...
...
@@ -227,15 +229,10 @@ int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts,
at
->
type
=
V_ASN1_SEQUENCE
;
/* Generate encoding of extensions */
len
=
i2d_ASN1_SET_OF_X509_EXTENSION
(
exts
,
NULL
,
i2d_X509_EXTENSION
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
,
IS_SEQUENCE
);
if
(
!
(
p
=
OPENSSL_malloc
(
len
)))
goto
err
;
q
=
p
;
i2d_ASN1_SET_OF_X509_EXTENSION
(
exts
,
&
q
,
i2d_X509_EXTENSION
,
V_ASN1_SEQUENCE
,
V_ASN1_UNIVERSAL
,
IS_SEQUENCE
);
at
->
value
.
sequence
->
data
=
p
;
p
=
NULL
;
at
->
value
.
sequence
->
length
=
len
;
at
->
value
.
sequence
->
length
=
ASN1_item_i2d
((
ASN1_VALUE
*
)
exts
,
&
at
->
value
.
sequence
->
data
,
ASN1_ITEM_rptr
(
X509_EXTENSIONS
));
if
(
!
(
attr
=
X509_ATTRIBUTE_new
()))
goto
err
;
if
(
!
(
attr
->
value
.
set
=
sk_ASN1_TYPE_new_null
()))
goto
err
;
if
(
!
sk_ASN1_TYPE_push
(
attr
->
value
.
set
,
at
))
goto
err
;
...
...
@@ -250,7 +247,6 @@ int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts,
if
(
!
sk_X509_ATTRIBUTE_push
(
req
->
req_info
->
attributes
,
attr
))
goto
err
;
return
1
;
err:
if
(
p
)
OPENSSL_free
(
p
);
X509_ATTRIBUTE_free
(
attr
);
ASN1_TYPE_free
(
at
);
return
0
;
...
...
crypto/x509v3/pcy_int.h
浏览文件 @
3c07d3a3
...
...
@@ -56,13 +56,13 @@
*
*/
DECLARE_STACK_OF
(
X509_POLICY_DATA
)
DECLARE_STACK_OF
(
X509_POLICY_REF
)
DECLARE_STACK_OF
(
X509_POLICY_NODE
)
typedef
struct
X509_POLICY_DATA_st
X509_POLICY_DATA
;
typedef
struct
X509_POLICY_REF_st
X509_POLICY_REF
;
DECLARE_STACK_OF
(
X509_POLICY_DATA
)
DECLARE_STACK_OF
(
X509_POLICY_REF
)
/* Internal structures */
/* This structure and the field names correspond to the Policy 'node' of
...
...
crypto/x509v3/x509v3.h
浏览文件 @
3c07d3a3
...
...
@@ -657,6 +657,7 @@ int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk,
unsigned
long
chtype
);
void
X509_POLICY_NODE_print
(
BIO
*
out
,
X509_POLICY_NODE
*
node
,
int
indent
);
DECLARE_STACK_OF
(
X509_POLICY_NODE
)
#ifndef OPENSSL_NO_RFC3779
...
...
engines/e_ubsec.c
浏览文件 @
3c07d3a3
...
...
@@ -822,11 +822,11 @@ static int ubsec_dsa_verify(const unsigned char *dgst, int dgst_len,
int
v_len
,
d_len
;
int
to_return
=
0
;
int
fd
;
BIGNUM
v
;
BIGNUM
v
,
*
pv
=
&
v
;
BN_init
(
&
v
);
if
(
!
bn_wexpand
(
&
v
,
dsa
->
p
->
top
))
{
if
(
!
bn_wexpand
(
p
v
,
dsa
->
p
->
top
))
{
UBSECerr
(
UBSEC_F_UBSEC_DSA_VERIFY
,
UBSEC_R_BN_EXPAND_FAIL
);
goto
err
;
}
...
...
ssl/ssl.h
浏览文件 @
3c07d3a3
...
...
@@ -1182,14 +1182,8 @@ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
#define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id)
#define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id)
#define PEM_read_SSL_SESSION(fp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read( \
(char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u)
#define PEM_read_bio_SSL_SESSION(bp,x,cb,u) PEM_ASN1_read_bio_of(SSL_SESSION,d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,x,cb,u)
#define PEM_write_SSL_SESSION(fp,x) \
PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \
PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL)
#define PEM_write_bio_SSL_SESSION(bp,x) \
PEM_ASN1_write_bio_of(SSL_SESSION,i2d_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,x,NULL,NULL,0,NULL,NULL)
DECLARE_PEM_rw
(
SSL_SESSION
,
SSL_SESSION
)
#define SSL_AD_REASON_OFFSET 1000
/* offset to get SSL_R_... value from SSL_AD_... */
...
...
ssl/ssl_sess.c
浏览文件 @
3c07d3a3
...
...
@@ -979,3 +979,4 @@ void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
ctx
->
app_verify_cookie_cb
=
cb
;
}
IMPLEMENT_PEM_rw
(
SSL_SESSION
,
SSL_SESSION
,
PEM_STRING_SSL_SESSION
,
SSL_SESSION
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录