diff --git a/crypto/pkcs7/internal.h b/crypto/pkcs7/internal.h index c8f69042adb..b6874ba74b6 100644 --- a/crypto/pkcs7/internal.h +++ b/crypto/pkcs7/internal.h @@ -24,12 +24,9 @@ extern "C" { typedef struct pkcs7_issuer_and_serial_st PKCS7_ISSUER_AND_SERIAL; typedef struct pkcs7_enc_content_st PKCS7_ENC_CONTENT; -typedef struct pkcs7_recip_info_st PKCS7_RECIP_INFO; DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) -DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) @@ -37,8 +34,6 @@ DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) DEFINE_STACK_OF(PKCS7) -DEFINE_STACK_OF(PKCS7_RECIP_INFO) -DEFINE_STACK_OF(PKCS7_SIGNER_INFO) struct pkcs7_sign_envelope_st { ASN1_INTEGER *version; diff --git a/include/openssl/pkcs7.h b/include/openssl/pkcs7.h index de7fb1050f5..1ae142b3a65 100644 --- a/include/openssl/pkcs7.h +++ b/include/openssl/pkcs7.h @@ -114,6 +114,7 @@ typedef struct pkcs7_envelope_st PKCS7_ENVELOPE; typedef struct pkcs7_sign_envelope_st PKCS7_SIGN_ENVELOPE; typedef struct pkcs7_digest_st PKCS7_DIGEST; typedef struct pkcs7_encrypt_st PKCS7_ENCRYPT; +typedef struct pkcs7_recip_info_st PKCS7_RECIP_INFO; typedef struct pkcs7_signer_info_st PKCS7_SIGNER_INFO; struct pkcs7_st { @@ -141,7 +142,14 @@ struct pkcs7_signed_st { STACK_OF(PKCS7_SIGNER_INFO) *signer_info; }; +// Only declare ASN1 functions or define stacks publibly if needed by supported +// projects that depend on them. DECLARE_ASN1_FUNCTIONS(PKCS7) +DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) +DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) + +DEFINE_STACK_OF(PKCS7_RECIP_INFO) +DEFINE_STACK_OF(PKCS7_SIGNER_INFO) // PKCS7_dup returns a newly allocated copy of |p7| without deep-copying // internal references.