X509V3_ADDR_INHERITS(3)

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

✨ NAME ✨

okay so bestie, this is X509V3_ADDR_INHERITS(3) β€” the library functions manual page for X509v3_addr_inherits and X509v3_asid_inherits, aka the RFC 3779 inheritance checkers. πŸ’–


🌸 SYNOPSIS 🌸

#include <openssl/x509v3.h>

int
X509v3_addr_inherits(IPAddrBlocks *addrblocks);

int
X509v3_asid_inherits(ASIdentifiers *asids);

πŸ¦‹ DESCRIPTION πŸ¦‹

So X509v3_addr_inherits() determines if there is at least one address family in addrblocks that uses inheritance. slay.

And X509v3_asid_inherits() is intended to determine if at least one of these lists uses inheritance:

  • the list of autonomous system numbers
  • the list of routing domain identifiers

πŸ‘‘ RETURN VALUES πŸ‘‘

X509v3_addr_inherits() returns 1 if and only if addrblocks contains at least one IPAddressFamily object that is correctly marked β€œinherit”: its IPAddressChoice is of type IPAddressChoice_inherit and its inherit element is present. Otherwise it returns 0. periodt.

X509v3_asid_inherits() returns 1 if and only if at least one of the asnum or the rdi lists has type ASIdentifierChoice_inherit. Otherwise it returns 0. πŸ’…


🌈 SEE ALSO 🌈


⭐ STANDARDS ⭐

RFC 3779: X.509 Extensions for IP Addresses and AS Identifiers:

  • section 2: IP Address delegation extension
  • section 2.2.3.5: Element inherit
  • section 3: AS identifiers delegation extension
  • section 3.2.3.3: Element inherit

πŸ’œ HISTORY πŸ’œ

These functions first appeared in OpenSSL 0.9.8e and have been available since OpenBSD 7.1. iconic.


πŸ’€ BUGS πŸ’€

⚠️ okay so there are some caveats, bestie.

X509v3_asid_inherits() ignores whether the inherit element is present or absent in the list that is considered to use inheritance.

There is no API that determines whether all lists contained in an ASIdentifiers or an IPAddrBlocks object inherit. See RFC 9287, 5.1.2 for an example where this is relevant.


okay bye bestie β€” this page is from Debian, dated September 30, 2023, and it’s giving official docs πŸ’…βœ¨

πŸ“¦ where this page comes from