diff --git a/lib/asn1/oid_resolution.c b/lib/asn1/oid_resolution.c index 3b416e9d1..caa28e326 100644 --- a/lib/asn1/oid_resolution.c +++ b/lib/asn1/oid_resolution.c @@ -208,6 +208,18 @@ der_find_heim_oid_by_name(const char *str, const heim_oid **oid) return -1; } +int +der_find_or_parse_heim_oid(const char *str, const char *sep, heim_oid *oid) +{ + const heim_oid *found = NULL; + + switch (der_find_heim_oid_by_name(str, &found)) { + case 0: return der_copy_oid(found, oid); + case -1: return der_parse_heim_oid (str, sep, oid); + default: return ENOMEM; + } +} + int der_find_heim_oid_by_oid(const heim_oid *oid, const char **name) {