renamed known_oid() to asn1_known_oid() and defined asn1_get_oid()

This commit is contained in:
Andreas Steffen
2009-04-15 18:37:17 +00:00
parent cb163ed52a
commit a4ac612eb8
7 changed files with 56 additions and 19 deletions
+39 -3
View File
@@ -116,7 +116,7 @@ asn1_algorithmIdentifier(int oid)
* position in the oid_names table is returned otherwise -1 is returned
*/
int
known_oid(chunk_t object)
asn1_known_oid(chunk_t object)
{
int oid = 0;
@@ -136,14 +136,50 @@ known_oid(chunk_t object)
else
{
if (oid_names[oid].next)
{
oid = oid_names[oid].next;
}
else
{
return OID_UNKNOWN;
}
}
}
return -1;
}
/*
* Converts an known OID index to ASN.1 OID
*/
chunk_t
asn1_get_known_oid(int n)
{
chunk_t oid;
int i;
if (n < 0 || n >= OID_MAX)
{
return empty_chunk;
}
i = oid_names[n].level + 1;
oid.ptr = alloc_bytes(i, "known oid");
oid.len = i;
do
{
if (oid_names[n].level >= i)
{
n--;
continue;
}
oid.ptr[--i] = oid_names[n--].octet;
}
while (i > 0);
return oid;
}
/*
* Decodes the length in bytes of an ASN.1 object
*/
@@ -484,7 +520,7 @@ debug_asn1_simple_object(chunk_t object, asn1_t type, u_int cond)
switch (type)
{
case ASN1_OID:
oid = known_oid(object);
oid = asn1_known_oid(object);
if (oid != OID_UNKNOWN)
{
DBG(DBG_PARSING,
@@ -735,7 +771,7 @@ parse_algorithmIdentifier(chunk_t blob, int level0, chunk_t *parameters)
switch (objectID)
{
case ALGORITHM_ID_ALG:
alg = known_oid(object);
alg = asn1_known_oid(object);
break;
case ALGORITHM_ID_PARAMETERS:
if (parameters != NULL)