NAME
X509V3_parse_list
,
X509V3_conf_free
—
create and destroy CONF_VALUE
objects
SYNOPSIS
#include
<openssl/x509v3.h>
STACK_OF(CONF_VALUE) *
X509V3_parse_list
(const
char *string);
void
X509V3_conf_free
(CONF_VALUE
*conf);
DESCRIPTION
X509V3_parse_list
()
parses the string and allocates an array of
CONF_VALUE objects according to the following
rules.
- The string is split into fields at comma (‘,’) characters.
- If a field contains a colon (‘:’) character, the part before
the colon is regarded as a name and the part after the first colon as the
associated value. Otherwise, the whole field is regarded as the name and
NULL
is used as the associated value. - For each name and each value, leading and trailing whitespace as defined by isspace(3) is ignored.
- Parsing ends when a NUL, carriage return, or newline character is encountered.
A new, empty STACK_OF(CONF_VALUE) is allocated and for each parsed name, one CONF_VALUE structure containing the optional value is pushed onto it.
X509V3_conf_free
()
releases all memory used by conf. If
conf is NULL
, no action
occurs.
The typical way to release the memory
returned from
X509V3_parse_list
()
is by calling
sk_CONF_VALUE_pop_free
()
on it, passing a pointer to the function
X509V3_conf_free
() as the second argument.
RETURN VALUES
X509V3_parse_list
() returns the new
STACK_OF(CONF_VALUE) object or
NULL
if an error occurs, in particular if there
isn't any name, if the name before a colon or after a comma is empty, if the
value after a colon is empty, or if memory allocation fails.
SEE ALSO
isspace(3), sk_pop_free(3), STACK_OF(3), v2i_ASN1_BIT_STRING(3)
HISTORY
X509V3_parse_list
() and
X509V3_conf_free
() first appeared in OpenSSL 0.9.2
and have been available since OpenBSD 2.6.