NAME
X509V3_parse_list, X509V3_conf_free – create and destroy CONF_VALUE objects
SYNOPSIS
Crypto Library (libcrypto, -lcrypto)
#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.