1.\" $OpenBSD: X509v3_addr_inherits.3,v 1.3 2023/09/30 14:21:57 schwarze Exp $ 2.\" 3.\" Copyright (c) 2023 Theo Buehler <tb@openbsd.org> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: September 30 2023 $ 18.Dt X509V3_ADDR_INHERITS 3 19.Os 20.Sh NAME 21.Nm X509v3_addr_inherits , 22.Nm X509v3_asid_inherits 23.Nd RFC 3779 inheritance 24.Sh SYNOPSIS 25.In openssl/x509v3.h 26.Ft int 27.Fn X509v3_addr_inherits "IPAddrBlocks *addrblocks" 28.Ft int 29.Fn X509v3_asid_inherits "ASIdentifiers *asids" 30.Sh DESCRIPTION 31.Fn X509v3_addr_inherits 32determines if there is at least one address family in 33.Fa addrblocks 34that uses inheritance. 35.Pp 36.Fn X509v3_asid_inherits 37is intended to determine if at least one of 38the list of autonomous system numbers or 39the list of routing domain identifiers 40uses inheritance. 41.Sh RETURN VALUES 42.Fn X509v3_addr_inherits 43returns 1 if and only if 44.Fa addrblocks 45contains at least one 46.Fa IPAddressFamily 47object that is correctly marked 48.Dq inherit : 49its 50.Fa IPAddressChoice 51is of 52.Fa type 53.Dv IPAddressChoice_inherit 54and its 55.Fa inherit 56element is present. 57Otherwise it returns 0. 58.Pp 59.Fn X509v3_asid_inherits 60returns 1 if and only if 61at least one of the 62.Fa asnum 63or the 64.Fa rdi 65lists has 66.Fa type 67.Dv ASIdentifierChoice_inherit . 68Otherwise it returns 0. 69.Sh SEE ALSO 70.Xr ASIdentifiers_new 3 , 71.Xr ASRange_new 3 , 72.Xr crypto 3 , 73.Xr IPAddressRange_new 3 , 74.Xr X509_new 3 , 75.Xr X509v3_addr_add_inherit 3 , 76.Xr X509v3_asid_add_inherit 3 77.Sh STANDARDS 78RFC 3779: X.509 Extensions for IP Addresses and AS Identifiers: 79.Bl -dash -compact 80.It 81section 2: IP Address delegation extension 82.It 83section 2.2.3.5: Element inherit 84.It 85section 3: AS identifiers delegation extension 86.It 87section 3.2.3.3: Element inherit 88.El 89.Sh HISTORY 90These functions first appeared in OpenSSL 0.9.8e 91and have been available since 92.Ox 7.1 . 93.Sh BUGS 94.Fn X509v3_asid_inherits 95ignores whether the 96.Fa inherit 97element is present or absent in the list that is considered to use inheritance. 98.Pp 99There is no API that determines whether all lists contained in an 100.Vt ASIdentifiers 101or an 102.Vt IPAddrBlocks 103object inherit. 104See RFC 9287, 5.1.2 for an example where this is relevant. 105