Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
2d723902
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 搜索 >>
提交
2d723902
编写于
1月 12, 1999
作者:
D
Dr. Stephen Henson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix OBJ_txt2nid(): old function was broken when input used the "dot" form, e.g.
1.2.3.4 . Also added new function OBJ_txt2obj().
上级
a6801a91
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
56 addition
and
31 deletion
+56
-31
CHANGES
CHANGES
+8
-0
crypto/objects/obj_dat.c
crypto/objects/obj_dat.c
+46
-31
crypto/objects/objects.h
crypto/objects/objects.h
+2
-0
未找到文件。
CHANGES
浏览文件 @
2d723902
...
...
@@ -5,6 +5,14 @@
Changes between 0.9.1c and 0.9.2
*) The function OBJ_txt2nid was broken. It was supposed to return a nid
based on a text string, looking up short and long names and finally
"dot" format. The "dot" format stuff didn't work. Added new function
OBJ_txt2obj to do the same but return an ASN1_OBJECT and rewrote
OBJ_txt2nid to use it. OBJ_txt2obj can also return objects even if the
OID is not part of the table.
[Steve Henson]
*) Add prototypes to X509 lookup/verify methods, fixing a bug in
X509_LOOKUP_by_alias().
[Ben Laurie]
...
...
crypto/objects/obj_dat.c
浏览文件 @
2d723902
...
...
@@ -397,43 +397,58 @@ ASN1_OBJECT *a;
return
((
*
op
)
->
nid
);
}
int
OBJ_txt2nid
(
s
)
/* Convert an object name into an ASN1_OBJECT
* if "noname" is not set then search for short and long names first.
* This will convert the "dotted" form into an object: unlike OBJ_txt2nid
* it can be used with any objects, not just registered ones.
*/
ASN1_OBJECT
*
OBJ_txt2obj
(
s
,
no_name
)
char
*
s
;
int
no_name
;
{
int
ret
;
ret
=
OBJ_sn2nid
(
s
);
if
(
ret
==
NID_undef
)
{
ret
=
OBJ_ln2nid
(
s
);
if
(
ret
==
NID_undef
)
{
ASN1_OBJECT
*
op
=
NULL
;
unsigned
char
*
buf
,
*
p
;
int
i
;
int
nid
=
NID_undef
;
ASN1_OBJECT
*
op
=
NULL
;
unsigned
char
*
buf
,
*
p
;
int
i
,
j
;
i
=
a2d_ASN1_OBJECT
(
NULL
,
0
,
s
,
-
1
);
if
(
i
<=
0
)
{
/* clear the error */
ERR_get_error
();
return
(
0
);
}
if
(
!
no_name
)
{
if
(
((
nid
=
OBJ_sn2nid
(
s
))
!=
NID_undef
)
||
((
nid
=
OBJ_ln2nid
(
s
))
!=
NID_undef
)
)
return
OBJ_nid2obj
(
nid
);
}
if
((
buf
=
(
unsigned
char
*
)
Malloc
(
i
))
==
NULL
)
return
(
NID_undef
);
a2d_ASN1_OBJECT
(
buf
,
i
,
s
,
-
1
);
p
=
buf
;
op
=
d2i_ASN1_OBJECT
(
NULL
,
&
p
,
i
);
if
(
op
==
NULL
)
return
(
NID_undef
);
ret
=
OBJ_obj2nid
(
op
);
ASN1_OBJECT_free
(
op
);
Free
(
buf
);
}
}
return
(
ret
);
/* Work out size of content octets */
i
=
a2d_ASN1_OBJECT
(
NULL
,
0
,
s
,
-
1
);
if
(
i
<=
0
)
return
NULL
;
/* Work out total size */
j
=
ASN1_object_size
(
0
,
i
,
V_ASN1_OBJECT
);
if
((
buf
=
(
unsigned
char
*
)
Malloc
(
j
))
==
NULL
)
return
NULL
;
p
=
buf
;
/* Write out tag+length */
ASN1_put_object
(
&
p
,
0
,
i
,
V_ASN1_OBJECT
,
V_ASN1_UNIVERSAL
);
/* Write out contents */
a2d_ASN1_OBJECT
(
p
,
i
,
s
,
-
1
);
p
=
buf
;
op
=
d2i_ASN1_OBJECT
(
NULL
,
&
p
,
i
);
Free
(
buf
);
return
op
;
}
int
OBJ_txt2nid
(
s
)
char
*
s
;
{
ASN1_OBJECT
*
obj
;
int
nid
;
obj
=
OBJ_txt2obj
(
s
,
0
);
nid
=
OBJ_obj2nid
(
obj
);
ASN1_OBJECT_free
(
obj
);
return
nid
;
}
int
OBJ_ln2nid
(
s
)
char
*
s
;
{
...
...
crypto/objects/objects.h
浏览文件 @
2d723902
...
...
@@ -708,6 +708,7 @@ ASN1_OBJECT * OBJ_nid2obj(int n);
char
*
OBJ_nid2ln
(
int
n
);
char
*
OBJ_nid2sn
(
int
n
);
int
OBJ_obj2nid
(
ASN1_OBJECT
*
o
);
ASN1_OBJECT
*
OBJ_txt2obj
(
char
*
s
,
int
no_name
);
int
OBJ_txt2nid
(
char
*
s
);
int
OBJ_ln2nid
(
char
*
s
);
int
OBJ_sn2nid
(
char
*
s
);
...
...
@@ -736,6 +737,7 @@ ASN1_OBJECT * OBJ_nid2obj();
char
*
OBJ_nid2ln
();
char
*
OBJ_nid2sn
();
int
OBJ_obj2nid
();
ASN1_OBJECT
*
OBJ_txt2obj
();
int
OBJ_txt2nid
();
int
OBJ_ln2nid
();
int
OBJ_sn2nid
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录