Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
46a6cec6
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看板
提交
46a6cec6
编写于
11月 21, 2012
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reorganise parameters for OPENSSL_gmtime_diff.
Make ASN1_UTCTIME_cmp_time_t more robust by using the new time functions.
上级
472af806
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
38 deletion
+27
-38
crypto/asn1/a_time.c
crypto/asn1/a_time.c
+1
-1
crypto/asn1/a_utctm.c
crypto/asn1/a_utctm.c
+20
-33
crypto/o_time.c
crypto/o_time.c
+4
-3
crypto/o_time.h
crypto/o_time.h
+2
-1
未找到文件。
crypto/asn1/a_time.c
浏览文件 @
46a6cec6
...
...
@@ -225,5 +225,5 @@ int ASN1_TIME_diff(int *pday, int *psec,
return
0
;
if
(
!
asn1_time_to_tm
(
&
tm_to
,
to
))
return
0
;
return
OPENSSL_gmtime_diff
(
&
tm_from
,
&
tm_to
,
pday
,
psec
);
return
OPENSSL_gmtime_diff
(
pday
,
psec
,
&
tm_from
,
&
tm_to
);
}
crypto/asn1/a_utctm.c
浏览文件 @
46a6cec6
...
...
@@ -287,39 +287,26 @@ ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t,
int
ASN1_UTCTIME_cmp_time_t
(
const
ASN1_UTCTIME
*
s
,
time_t
t
)
{
struct
tm
*
tm
;
struct
tm
data
;
int
offset
;
int
year
;
#define g2(p) (((p)[0]-'0')*10+(p)[1]-'0')
if
(
s
->
data
[
12
]
==
'Z'
)
offset
=
0
;
else
{
offset
=
g2
(
s
->
data
+
13
)
*
60
+
g2
(
s
->
data
+
15
);
if
(
s
->
data
[
12
]
==
'-'
)
offset
=
-
offset
;
}
t
-=
offset
*
60
;
/* FIXME: may overflow in extreme cases */
tm
=
OPENSSL_gmtime
(
&
t
,
&
data
);
#define return_cmp(a,b) if ((a)<(b)) return -1; else if ((a)>(b)) return 1
year
=
g2
(
s
->
data
);
if
(
year
<
50
)
year
+=
100
;
return_cmp
(
year
,
tm
->
tm_year
);
return_cmp
(
g2
(
s
->
data
+
2
)
-
1
,
tm
->
tm_mon
);
return_cmp
(
g2
(
s
->
data
+
4
),
tm
->
tm_mday
);
return_cmp
(
g2
(
s
->
data
+
6
),
tm
->
tm_hour
);
return_cmp
(
g2
(
s
->
data
+
8
),
tm
->
tm_min
);
return_cmp
(
g2
(
s
->
data
+
10
),
tm
->
tm_sec
);
#undef g2
#undef return_cmp
struct
tm
stm
,
ttm
;
int
day
,
sec
;
if
(
!
asn1_utctime_to_tm
(
&
stm
,
s
))
return
-
2
;
if
(
!
OPENSSL_gmtime
(
&
t
,
&
ttm
))
return
-
2
;
if
(
!
OPENSSL_gmtime_diff
(
&
day
,
&
sec
,
&
stm
,
&
ttm
))
return
-
2
;
if
(
day
>
0
)
return
1
;
if
(
day
<
0
)
return
-
1
;
if
(
sec
>
0
)
return
1
;
if
(
sec
<
0
)
return
-
1
;
return
0
;
}
...
...
crypto/o_time.c
浏览文件 @
46a6cec6
...
...
@@ -234,7 +234,7 @@ struct tm *OPENSSL_gmtime(const time_t *timer, struct tm *result)
static
long
date_to_julian
(
int
y
,
int
m
,
int
d
);
static
void
julian_to_date
(
long
jd
,
int
*
y
,
int
*
m
,
int
*
d
);
static
int
julian_adj
(
struct
tm
*
tm
,
int
off_day
,
long
offset_sec
,
static
int
julian_adj
(
const
struct
tm
*
tm
,
int
off_day
,
long
offset_sec
,
long
*
pday
,
int
*
psec
);
int
OPENSSL_gmtime_adj
(
struct
tm
*
tm
,
int
off_day
,
long
offset_sec
)
...
...
@@ -267,7 +267,8 @@ int OPENSSL_gmtime_adj(struct tm *tm, int off_day, long offset_sec)
}
int
OPENSSL_gmtime_diff
(
struct
tm
*
from
,
struct
tm
*
to
,
int
*
pday
,
int
*
psec
)
int
OPENSSL_gmtime_diff
(
int
*
pday
,
int
*
psec
,
const
struct
tm
*
from
,
const
struct
tm
*
to
)
{
int
from_sec
,
to_sec
,
diff_sec
;
long
from_jd
,
to_jd
,
diff_day
;
...
...
@@ -300,7 +301,7 @@ int OPENSSL_gmtime_diff(struct tm *from, struct tm *to, int *pday, int *psec)
/* Convert tm structure and offset into julian day and seconds */
static
int
julian_adj
(
struct
tm
*
tm
,
int
off_day
,
long
offset_sec
,
static
int
julian_adj
(
const
struct
tm
*
tm
,
int
off_day
,
long
offset_sec
,
long
*
pday
,
int
*
psec
)
{
int
offset_hms
,
offset_day
;
...
...
crypto/o_time.h
浏览文件 @
46a6cec6
...
...
@@ -63,6 +63,7 @@
struct
tm
*
OPENSSL_gmtime
(
const
time_t
*
timer
,
struct
tm
*
result
);
int
OPENSSL_gmtime_adj
(
struct
tm
*
tm
,
int
offset_day
,
long
offset_sec
);
int
OPENSSL_gmtime_diff
(
struct
tm
*
from
,
struct
tm
*
to
,
int
*
pday
,
int
*
psec
);
int
OPENSSL_gmtime_diff
(
int
*
pday
,
int
*
psec
,
const
struct
tm
*
from
,
const
struct
tm
*
to
);
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录