示例#1
0
const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid)
{
	X509V3_EXT_METHOD tmp;
	const X509V3_EXT_METHOD *t = &tmp, * const *ret;
	int idx;
	if(nid < 0) return NULL;
	tmp.ext_nid = nid;
	ret = OBJ_bsearch_ext(&t, standard_exts, STANDARD_EXTENSION_COUNT);
	if(ret) return *ret;
	if(!ext_list) return NULL;
	idx = sk_X509V3_EXT_METHOD_find(ext_list, &tmp);
	if(idx == -1) return NULL;
	return sk_X509V3_EXT_METHOD_value(ext_list, idx);
}
示例#2
0
EXPORT_C X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid)
{
	X509V3_EXT_METHOD tmp, *t = &tmp, **ret;
	int idx;
	if(nid < 0) return NULL;
	tmp.ext_nid = nid;
	ret = (X509V3_EXT_METHOD **) OBJ_bsearch((char *)&t,
			(char *)standard_exts, STANDARD_EXTENSION_COUNT,
			sizeof(X509V3_EXT_METHOD *), (int (*)(const void *, const void *))ext_cmp);
	if(ret) return *ret;
	if(!ext_list) return NULL;
	idx = sk_X509V3_EXT_METHOD_find(ext_list, &tmp);
	if(idx == -1) return NULL;
	return sk_X509V3_EXT_METHOD_value(ext_list, idx);
}
示例#3
0
const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid)
{
	X509V3_EXT_METHOD tmp;
	const X509V3_EXT_METHOD *t = &tmp, * const *ret;
	size_t idx;

	if(nid < 0) return NULL;
	tmp.ext_nid = nid;
	ret = bsearch(&t, standard_exts, STANDARD_EXTENSION_COUNT, sizeof(X509V3_EXT_METHOD*), ext_cmp);
	if(ret) return *ret;
	if(!ext_list) return NULL;

	if (!sk_X509V3_EXT_METHOD_find(ext_list, &idx, &tmp))
		return NULL;
	return sk_X509V3_EXT_METHOD_value(ext_list, idx);
}