X509V3_PARSE_LIST(3)

πŸ“¦ version 4.1.0, in opensuse-leap 16.0

🌸 X509V3_PARSE_LIST(3) 🌸

okay so this is the X509V3_PARSE_LIST(3) page from the Library Functions Manual, and it’s all about making and destroying CONF_VALUE objects. bestie, it’s literally two functions and they’re both giving very specific energy. no cap ✨

✨ 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 πŸ’…

Okay so X509V3_parse_list() parses the string and allocates an array of CONF_VALUE objects according to these rules, periodt:

  1. The string is split into fields at comma (,) characters.
  2. 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.
  3. For each name and each value, leading and trailing whitespace as defined by isspace(3) is ignored.
  4. 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. slay 🫢

X509V3_conf_free() releases all memory used by conf. If conf is NULL, no action occurs. lowkey iconic.

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. iykyk πŸ’–

🌈 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. the vibes are not immaculate when that happens 😭

πŸ¦‹ 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. history said what it said πŸŽ€


and the footer tea is: Debian, December 24, 2024 πŸ’– that’s the source/version and date, bestie, we’re done here ✨

πŸ“¦ where this page comes from