From fa7435820ee9075fa542baf2577b77f5fd8f801d Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Fri, 6 Oct 2017 00:52:12 +0100 Subject: Add accessors for AdmissionSyntax Based on code from Matthias Ballreich, Steve Henson, and Wolf Tobias. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/4724) --- doc/man3/ADMISSIONS.pod | 179 ++++++++++++++++++++++++++++++++++++++++++++++++ doc/man3/X509_dup.pod | 10 +++ doc/man3/d2i_X509.pod | 8 +++ 3 files changed, 197 insertions(+) create mode 100644 doc/man3/ADMISSIONS.pod (limited to 'doc/man3') diff --git a/doc/man3/ADMISSIONS.pod b/doc/man3/ADMISSIONS.pod new file mode 100644 index 0000000..312e300 --- /dev/null +++ b/doc/man3/ADMISSIONS.pod @@ -0,0 +1,179 @@ +=pod + +=head1 NAME + +ADMISSIONS, +ADMISSIONS_get0_admissionAuthority, +ADMISSIONS_get0_namingAuthority, +ADMISSIONS_get0_professionInfos, +ADMISSIONS_set0_admissionAuthority, +ADMISSIONS_set0_namingAuthority, +ADMISSIONS_set0_professionInfos, +ADMISSION_SYNTAX, +ADMISSION_SYNTAX_get0_admissionAuthority, +ADMISSION_SYNTAX_get0_contentsOfAdmissions, +ADMISSION_SYNTAX_set0_admissionAuthority, +ADMISSION_SYNTAX_set0_contentsOfAdmissions, +NAMING_AUTHORITY, +NAMING_AUTHORITY_get0_authorityId, +NAMING_AUTHORITY_get0_authorityURL, +NAMING_AUTHORITY_get0_authorityText, +NAMING_AUTHORITY_set0_authorityId, +NAMING_AUTHORITY_set0_authorityURL, +NAMING_AUTHORITY_set0_authorityText, +PROFESSION_INFO, +PROFESSION_INFOS, +PROFESSION_INFO_get0_addProfessionInfo, +PROFESSION_INFO_get0_namingAuthority, +PROFESSION_INFO_get0_professionItems, +PROFESSION_INFO_get0_professionOIDs, +PROFESSION_INFO_get0_registrationNumber, +PROFESSION_INFO_set0_addProfessionInfo, +PROFESSION_INFO_set0_namingAuthority, +PROFESSION_INFO_set0_professionItems, +PROFESSION_INFO_set0_professionOIDs, +PROFESSION_INFO_set0_registrationNumber +- Accessors and settors for ADMISSION_SYNTAX + +=head1 SYNOPSIS + + typedef struct NamingAuthority_st NAMING_AUTHORITY; + typedef struct ProfessionInfo_st PROFESSION_INFO; + typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS; + typedef struct Admissions_st ADMISSIONS; + typedef struct AdmissionSyntax_st ADMISSION_SYNTAX; + + const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId( + const NAMING_AUTHORITY *n); + void NAMING_AUTHORITY_set0_authorityId(NAMING_AUTHORITY *n, + ASN1_OBJECT* namingAuthorityId); + const ASN1_IA5STRING *NAMING_AUTHORITY_get0_authorityURL( + const NAMING_AUTHORITY *n); + void NAMING_AUTHORITY_set0_authorityURL(NAMING_AUTHORITY *n, + ASN1_IA5STRING* namingAuthorityUrl); + const ASN1_STRING *NAMING_AUTHORITY_get0_authorityText( + const NAMING_AUTHORITY *n); + void NAMING_AUTHORITY_set0_authorityText(NAMING_AUTHORITY *n, + ASN1_STRING* namingAuthorityText); + + const GENERAL_NAME *ADMISSION_SYNTAX_get0_admissionAuthority( + const ADMISSION_SYNTAX *as); + void ADMISSION_SYNTAX_set0_admissionAuthority( + ADMISSION_SYNTAX *as, GENERAL_NAME *aa); + const STACK_OF(ADMISSIONS) *ADMISSION_SYNTAX_get0_contentsOfAdmissions( + const ADMISSION_SYNTAX *as); + void ADMISSION_SYNTAX_set0_contentsOfAdmissions( + ADMISSION_SYNTAX *as, STACK_OF(ADMISSIONS) *a); + + const GENERAL_NAME *ADMISSIONS_get0_admissionAuthority(const ADMISSIONS *a); + void ADMISSIONS_set0_admissionAuthority(ADMISSIONS *a, GENERAL_NAME *aa); + const NAMING_AUTHORITY *ADMISSIONS_get0_namingAuthority(const ADMISSIONS *a); + void ADMISSIONS_set0_namingAuthority(ADMISSIONS *a, NAMING_AUTHORITY *na); + const PROFESSION_INFOS *ADMISSIONS_get0_professionInfos(const ADMISSIONS *a); + void ADMISSIONS_set0_professionInfos(ADMISSIONS *a, PROFESSION_INFOS *pi); + + const ASN1_OCTET_STRING *PROFESSION_INFO_get0_addProfessionInfo( + const PROFESSION_INFO *pi); + void PROFESSION_INFO_set0_addProfessionInfo( + PROFESSION_INFO *pi, ASN1_OCTET_STRING *aos); + const NAMING_AUTHORITY *PROFESSION_INFO_get0_namingAuthority( + const PROFESSION_INFO *pi); + void PROFESSION_INFO_set0_namingAuthority( + PROFESSION_INFO *pi, NAMING_AUTHORITY *na); + const STACK_OF(ASN1_STRING) *PROFESSION_INFO_get0_professionItems( + const PROFESSION_INFO *pi); + void PROFESSION_INFO_set0_professionItems( + PROFESSION_INFO *pi, STACK_OF(ASN1_STRING) *as); + const STACK_OF(ASN1_OBJECT) *PROFESSION_INFO_get0_professionOIDs( + const PROFESSION_INFO *pi); + void PROFESSION_INFO_set0_professionOIDs( + PROFESSION_INFO *pi, STACK_OF(ASN1_OBJECT) *po); + const ASN1_PRINTABLESTRING *PROFESSION_INFO_get0_registrationNumber( + const PROFESSION_INFO *pi); + void PROFESSION_INFO_set0_registrationNumber( + PROFESSION_INFO *pi, ASN1_PRINTABLESTRING *rn); + +=head1 DESCRIPTION + +The B, B, B, and +B types are opaque structures representing the +analogous types defined in the Common PKI Specification published +by L. +Knowledge of those strutures and their semantics is assumed. + +The conventional routines to convert between DER and the local format +are desribed in L. +The conventional routines to allocate and free the types are defined +in L. + +The B type is a stack of B; see +L for details. + +The B type has an authority ID and URL, and text fields. +The NAMING_AUTHORITY_get0_authorityId(), +NAMING_AUTHORITY_get0_get0_authorityURL(), and +NAMING_AUTHORITY_get0_get0_authorityText(), functions return pointers +to those values within the object. +The NAMING_AUTHORITY_set0_authorityId(), +NAMING_AUTHORITY_set0_get0_authorityURL(), and +NAMING_AUTHORITY_set0_get0_authorityText(), +functions free any existing value and set the pointer to the specified value. + +The B type has an authority name and a stack of +B objects. +The ADMISSION_SYNTAX_get0_admissionAuthority() +and ADMISSION_SYNTAX_get0_contentsOfAdmissions() functions return pointers +to those values within the object. +The +ADMISSION_SYNTAX_set0_admissionAuthority() and +ADMISSION_SYNTAX_set0_contentsOfAdmissions() +functions free any existing value and set the pointer to the specified value. + +The B type has an authority name, authority object, and a +stack of B items. +The ADMISSIONS_get0_admissionAuthority(), ADMISSIONS_get0_namingAuthority(), +and ADMISSIONS_get0_professionInfos() +functions return pointers to those values within the object. +The +ADMISSIONS_set0_admissionAuthority(), +ADMISSIONS_set0_namingAuthority(), and +ADMISSIONS_set0_professionInfos() +functions free any existing value and set the pointer to the specified value. + +The B type has a name authority, stacks of +profession Items and OIDs, a registration number, and additional +profession info. +The functions PROFESSION_INFO_get0_addProfessionInfo(), +PROFESSION_INFO_get0_namingAuthority(), PROFESSION_INFO_get0_professionItems(), +PROFESSION_INFO_get0_professionOIDs(), and +PROFESSION_INFO_get0_registrationNumber() +functions return pointers to those values within the object. +The +PROFESSION_INFO_set0_addProfessionInfo(), +PROFESSION_INFO_set0_namingAuthority(), +PROFESSION_INFO_set0_professionItems(), +PROFESSION_INFO_set0_professionOIDs(), and +PROFESSION_INFO_set0_registrationNumber() +functions free any existing value and set the pointer to the specified value. + +=head1 RETURN VALUES + +Described above. +Note that all of the I functions return a pointer to the internal data +structure and must not be freed. + +=head1 SEE ALSO + +L, +L, + +=head1 COPYRIGHT + +Copyright 2017 The OpenSSL Project Authors. All Rights Reserved. + +Licensed under the OpenSSL license (the "License"). You may not use +this file except in compliance with the License. You can obtain a copy +in the file LICENSE in the source distribution or at +L. + +=cut diff --git a/doc/man3/X509_dup.pod b/doc/man3/X509_dup.pod index f1b2761..8f2680f 100644 --- a/doc/man3/X509_dup.pod +++ b/doc/man3/X509_dup.pod @@ -7,6 +7,10 @@ IMPLEMENT_ASN1_FUNCTIONS, ASN1_ITEM, ACCESS_DESCRIPTION_free, ACCESS_DESCRIPTION_new, +ADMISSIONS_free, +ADMISSIONS_new, +ADMISSION_SYNTAX_free, +ADMISSION_SYNTAX_new, ASIdOrRange_free, ASIdOrRange_new, ASIdentifierChoice_free, @@ -75,6 +79,8 @@ ISSUING_DIST_POINT_free, ISSUING_DIST_POINT_new, NAME_CONSTRAINTS_free, NAME_CONSTRAINTS_new, +NAMING_AUTHORITY_free, +NAMING_AUTHORITY_new, NETSCAPE_CERT_SEQUENCE_free, NETSCAPE_CERT_SEQUENCE_new, NETSCAPE_SPKAC_free, @@ -160,6 +166,10 @@ POLICY_CONSTRAINTS_free, POLICY_CONSTRAINTS_new, POLICY_MAPPING_free, POLICY_MAPPING_new, +PROFESSION_INFO_free, +PROFESSION_INFO_new, +PROFESSION_INFOS_free, +PROFESSION_INFOS_new, PROXY_CERT_INFO_EXTENSION_free, PROXY_CERT_INFO_EXTENSION_new, PROXY_POLICY_free, diff --git a/doc/man3/d2i_X509.pod b/doc/man3/d2i_X509.pod index d0d9b51..98df029 100644 --- a/doc/man3/d2i_X509.pod +++ b/doc/man3/d2i_X509.pod @@ -3,6 +3,8 @@ =head1 NAME d2i_ACCESS_DESCRIPTION, +d2i_ADMISSIONS, +d2i_ADMISSION_SYNTAX, d2i_ASIdOrRange, d2i_ASIdentifierChoice, d2i_ASIdentifiers, @@ -71,6 +73,7 @@ d2i_IPAddressFamily, d2i_IPAddressOrRange, d2i_IPAddressRange, d2i_ISSUING_DIST_POINT, +d2i_NAMING_AUTHORITY, d2i_NETSCAPE_CERT_SEQUENCE, d2i_NETSCAPE_SPKAC, d2i_NETSCAPE_SPKI, @@ -120,6 +123,7 @@ d2i_PKCS8_fp, d2i_PKEY_USAGE_PERIOD, d2i_POLICYINFO, d2i_POLICYQUALINFO, +d2i_PROFESSION_INFO, d2i_PROXY_CERT_INFO_EXTENSION, d2i_PROXY_POLICY, d2i_RSAPrivateKey, @@ -175,6 +179,8 @@ d2i_X509_REVOKED, d2i_X509_SIG, d2i_X509_VAL, i2d_ACCESS_DESCRIPTION, +i2d_ADMISSIONS, +i2d_ADMISSION_SYNTAX, i2d_ASIdOrRange, i2d_ASIdentifierChoice, i2d_ASIdentifiers, @@ -243,6 +249,7 @@ i2d_IPAddressFamily, i2d_IPAddressOrRange, i2d_IPAddressRange, i2d_ISSUING_DIST_POINT, +i2d_NAMING_AUTHORITY, i2d_NETSCAPE_CERT_SEQUENCE, i2d_NETSCAPE_SPKAC, i2d_NETSCAPE_SPKI, @@ -295,6 +302,7 @@ i2d_PKCS8_fp, i2d_PKEY_USAGE_PERIOD, i2d_POLICYINFO, i2d_POLICYQUALINFO, +i2d_PROFESSION_INFO, i2d_PROXY_CERT_INFO_EXTENSION, i2d_PROXY_POLICY, i2d_PublicKey, -- cgit v1.1