xref: /openbsd-src/lib/libcrypto/man/X509v3_addr_inherits.3 (revision d6ac617d3a630e6e8249c1a08d8266b37d6a3bc6)
1*d6ac617dSschwarze.\" $OpenBSD: X509v3_addr_inherits.3,v 1.3 2023/09/30 14:21:57 schwarze Exp $
27409c909Stb.\"
37409c909Stb.\" Copyright (c) 2023 Theo Buehler <tb@openbsd.org>
47409c909Stb.\"
57409c909Stb.\" Permission to use, copy, modify, and distribute this software for any
67409c909Stb.\" purpose with or without fee is hereby granted, provided that the above
77409c909Stb.\" copyright notice and this permission notice appear in all copies.
87409c909Stb.\"
97409c909Stb.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
107409c909Stb.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
117409c909Stb.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
127409c909Stb.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
137409c909Stb.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
147409c909Stb.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
157409c909Stb.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
167409c909Stb.\"
17*d6ac617dSschwarze.Dd $Mdocdate: September 30 2023 $
187409c909Stb.Dt X509V3_ADDR_INHERITS 3
197409c909Stb.Os
207409c909Stb.Sh NAME
217409c909Stb.Nm X509v3_addr_inherits ,
227409c909Stb.Nm X509v3_asid_inherits
233806ee51Stb.Nd RFC 3779 inheritance
247409c909Stb.Sh SYNOPSIS
257409c909Stb.In openssl/x509v3.h
267409c909Stb.Ft int
277409c909Stb.Fn X509v3_addr_inherits "IPAddrBlocks *addrblocks"
287409c909Stb.Ft int
297409c909Stb.Fn X509v3_asid_inherits "ASIdentifiers *asids"
307409c909Stb.Sh DESCRIPTION
317409c909Stb.Fn X509v3_addr_inherits
327409c909Stbdetermines if there is at least one address family in
337409c909Stb.Fa addrblocks
347409c909Stbthat uses inheritance.
357409c909Stb.Pp
367409c909Stb.Fn X509v3_asid_inherits
377409c909Stbis intended to determine if at least one of
387409c909Stbthe list of autonomous system numbers or
397409c909Stbthe list of routing domain identifiers
407409c909Stbuses inheritance.
417409c909Stb.Sh RETURN VALUES
427409c909Stb.Fn X509v3_addr_inherits
437409c909Stbreturns 1 if and only if
447409c909Stb.Fa addrblocks
457409c909Stbcontains at least one
467409c909Stb.Fa IPAddressFamily
477409c909Stbobject that is correctly marked
487409c909Stb.Dq inherit :
497409c909Stbits
507409c909Stb.Fa IPAddressChoice
517409c909Stbis of
527409c909Stb.Fa type
537409c909Stb.Dv IPAddressChoice_inherit
547409c909Stband its
557409c909Stb.Fa inherit
567409c909Stbelement is present.
577409c909StbOtherwise it returns 0.
587409c909Stb.Pp
597409c909Stb.Fn X509v3_asid_inherits
607409c909Stbreturns 1 if and only if
617409c909Stbat least one of the
627409c909Stb.Fa asnum
637409c909Stbor the
647409c909Stb.Fa rdi
657409c909Stblists has
667409c909Stb.Fa type
677409c909Stb.Dv ASIdentifierChoice_inherit .
68*d6ac617dSschwarzeOtherwise it returns 0.
697409c909Stb.Sh SEE ALSO
707409c909Stb.Xr ASIdentifiers_new 3 ,
717409c909Stb.Xr ASRange_new 3 ,
727409c909Stb.Xr crypto 3 ,
737409c909Stb.Xr IPAddressRange_new 3 ,
747409c909Stb.Xr X509_new 3 ,
757409c909Stb.Xr X509v3_addr_add_inherit 3 ,
767409c909Stb.Xr X509v3_asid_add_inherit 3
777409c909Stb.Sh STANDARDS
787409c909StbRFC 3779: X.509 Extensions for IP Addresses and AS Identifiers:
797409c909Stb.Bl -dash -compact
807409c909Stb.It
817409c909Stbsection 2: IP Address delegation extension
827409c909Stb.It
837409c909Stbsection 2.2.3.5: Element inherit
847409c909Stb.It
857409c909Stbsection 3: AS identifiers delegation extension
867409c909Stb.It
877409c909Stbsection 3.2.3.3: Element inherit
887409c909Stb.El
897409c909Stb.Sh HISTORY
907409c909StbThese functions first appeared in OpenSSL 0.9.8e
917409c909Stband have been available since
927409c909Stb.Ox 7.1 .
937409c909Stb.Sh BUGS
947409c909Stb.Fn X509v3_asid_inherits
957409c909Stbignores whether the
967409c909Stb.Fa inherit
973806ee51Stbelement is present or absent in the list that is considered to use inheritance.
987409c909Stb.Pp
997409c909StbThere is no API that determines whether all lists contained in an
1007409c909Stb.Vt ASIdentifiers
1017409c909Stbor an
1027409c909Stb.Vt IPAddrBlocks
103*d6ac617dSschwarzeobject inherit.
1047409c909StbSee RFC 9287, 5.1.2 for an example where this is relevant.
105