The branch master has been updated via a8f1aabd4b44db668bca638c111598b2e0688cc4 (commit) via 9b977675adfd46405e11ee53f18953d7e782d4de (commit) via 227d426554e8dcbb7e3f4f2b5e86112359ca104a (commit) from fa9faf010460f5fe0722a65f9d496221c2f41f7b (commit)
- Log ----------------------------------------------------------------- commit a8f1aabd4b44db668bca638c111598b2e0688cc4 Author: Dr. Matthias St. Pierre <matthias.st.pie...@ncp-e.com> Date: Fri Jul 12 12:42:39 2019 +0200 x509: publish X509_PUBKEY_dup Reviewed-by: Richard Levitte <levi...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9353) commit 9b977675adfd46405e11ee53f18953d7e782d4de Author: Dr. Matthias St. Pierre <matthias.st.pie...@ncp-e.com> Date: Fri Jul 12 12:00:58 2019 +0200 x509: add missing X509 dup functions Reviewed-by: Richard Levitte <levi...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9353) commit 227d426554e8dcbb7e3f4f2b5e86112359ca104a Author: Dr. Matthias St. Pierre <matthias.st.pie...@ncp-e.com> Date: Fri Jul 12 11:59:42 2019 +0200 x509: sort X509 dup functions alphabetically Reviewed-by: Richard Levitte <levi...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9353) ----------------------------------------------------------------------- Summary of changes: crypto/crmf/crmf_lib.c | 3 --- crypto/x509/x_pubkey.c | 1 + doc/man3/X509_PUBKEY_new.pod | 6 ++++-- doc/man3/X509_dup.pod | 11 ++++++++--- include/openssl/x509.h | 7 ++++--- util/libcrypto.num | 1 + 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/crypto/crmf/crmf_lib.c b/crypto/crmf/crmf_lib.c index e777a34..e519c50 100644 --- a/crypto/crmf/crmf_lib.c +++ b/crypto/crmf/crmf_lib.c @@ -200,10 +200,7 @@ OSSL_CRMF_CERTID *OSSL_CRMF_CERTID_gen(const X509_NAME *issuer, /* * id-regCtrl-protocolEncrKey Control (section 6.6) * - * For some reason X509_PUBKEY_dup() is not implemented in OpenSSL X509 - * TODO: check whether that should go elsewhere */ -static IMPLEMENT_ASN1_DUP_FUNCTION(X509_PUBKEY) IMPLEMENT_CRMF_CTRL_FUNC(protocolEncrKey, X509_PUBKEY, regCtrl) /*- diff --git a/crypto/x509/x_pubkey.c b/crypto/x509/x_pubkey.c index eb5ea27..d81f538 100644 --- a/crypto/x509/x_pubkey.c +++ b/crypto/x509/x_pubkey.c @@ -56,6 +56,7 @@ ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { } ASN1_SEQUENCE_END_cb(X509_PUBKEY, X509_PUBKEY) IMPLEMENT_ASN1_FUNCTIONS(X509_PUBKEY) +IMPLEMENT_ASN1_DUP_FUNCTION(X509_PUBKEY) /* TODO should better be called X509_PUBKEY_set1 */ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) diff --git a/doc/man3/X509_PUBKEY_new.pod b/doc/man3/X509_PUBKEY_new.pod index 2d65be6..551031b 100644 --- a/doc/man3/X509_PUBKEY_new.pod +++ b/doc/man3/X509_PUBKEY_new.pod @@ -2,8 +2,9 @@ =head1 NAME -X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_set, X509_PUBKEY_get0, -X509_PUBKEY_get, d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, +X509_PUBKEY_new, X509_PUBKEY_free, X509_PUBKEY_dup, +X509_PUBKEY_set, X509_PUBKEY_get0, X509_PUBKEY_get, +d2i_PUBKEY, i2d_PUBKEY, d2i_PUBKEY_bio, d2i_PUBKEY_fp, i2d_PUBKEY_fp, i2d_PUBKEY_bio, X509_PUBKEY_set0_param, X509_PUBKEY_get0_param - SubjectPublicKeyInfo public key functions @@ -13,6 +14,7 @@ X509_PUBKEY_get0_param - SubjectPublicKeyInfo public key functions X509_PUBKEY *X509_PUBKEY_new(void); void X509_PUBKEY_free(X509_PUBKEY *a); + X509_PUBKEY *X509_PUBKEY_dup(const X509_PUBKEY *a); int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); EVP_PKEY *X509_PUBKEY_get0(X509_PUBKEY *key); diff --git a/doc/man3/X509_dup.pod b/doc/man3/X509_dup.pod index 526a6d6..19fb7a7 100644 --- a/doc/man3/X509_dup.pod +++ b/doc/man3/X509_dup.pod @@ -118,8 +118,8 @@ OCSP_SINGLERESP_free, OCSP_SINGLERESP_new, OSSL_CMP_ITAV_free, OSSL_CMP_MSG_dup, -OSSL_CMP_MSG_it, OSSL_CMP_MSG_free, +OSSL_CMP_MSG_it, OSSL_CMP_PKIHEADER_free, OSSL_CMP_PKIHEADER_it, OSSL_CMP_PKIHEADER_new, @@ -199,10 +199,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, +PROFESSION_INFO_free, +PROFESSION_INFO_new, PROXY_CERT_INFO_EXTENSION_free, PROXY_CERT_INFO_EXTENSION_new, PROXY_POLICY_free, @@ -246,10 +246,13 @@ X509_ALGOR_new, X509_ATTRIBUTE_dup, X509_ATTRIBUTE_free, X509_ATTRIBUTE_new, +X509_CERT_AUX_dup, X509_CERT_AUX_free, X509_CERT_AUX_new, +X509_CINF_dup, X509_CINF_free, X509_CINF_new, +X509_CRL_INFO_dup, X509_CRL_INFO_free, X509_CRL_INFO_new, X509_CRL_dup, @@ -264,6 +267,7 @@ X509_NAME_ENTRY_new, X509_NAME_dup, X509_NAME_free, X509_NAME_new, +X509_REQ_INFO_dup, X509_REQ_INFO_free, X509_REQ_INFO_new, X509_REQ_dup, @@ -272,6 +276,7 @@ X509_REQ_new, X509_REVOKED_dup, X509_REVOKED_free, X509_REVOKED_new, +X509_SIG_dup, X509_SIG_free, X509_SIG_new, X509_VAL_free, diff --git a/include/openssl/x509.h b/include/openssl/x509.h index 6e4d1e7..d2466f2 100644 --- a/include/openssl/x509.h +++ b/include/openssl/x509.h @@ -466,12 +466,13 @@ int i2d_PUBKEY_bio(BIO *bp, const EVP_PKEY *pkey); EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); DECLARE_ASN1_DUP_FUNCTION(X509) +DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR) DECLARE_ASN1_DUP_FUNCTION(X509_ATTRIBUTE) -DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION) DECLARE_ASN1_DUP_FUNCTION(X509_CRL) -DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED) +DECLARE_ASN1_DUP_FUNCTION(X509_EXTENSION) +DECLARE_ASN1_DUP_FUNCTION(X509_PUBKEY) DECLARE_ASN1_DUP_FUNCTION(X509_REQ) -DECLARE_ASN1_DUP_FUNCTION(X509_ALGOR) +DECLARE_ASN1_DUP_FUNCTION(X509_REVOKED) int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); void X509_ALGOR_get0(const ASN1_OBJECT **paobj, int *pptype, diff --git a/util/libcrypto.num b/util/libcrypto.num index 1992504..c062a99 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4689,3 +4689,4 @@ EVP_KEYMGMT_fetch 4794 3_0_0 EXIST::FUNCTION: EVP_KEYMGMT_up_ref 4795 3_0_0 EXIST::FUNCTION: EVP_KEYMGMT_free 4796 3_0_0 EXIST::FUNCTION: EVP_KEYMGMT_provider 4797 3_0_0 EXIST::FUNCTION: +X509_PUBKEY_dup 4798 3_0_0 EXIST::FUNCTION: