Commit a2aabd53a2 for openssl.org

commit a2aabd53a29b35c1f7db765400d3653778413131
Author: Bob Beck <beck@openssl.org>
Date:   Fri Sep 4 14:37:31 2026 -0600

    Rename the CMS and PKCS7 "resolve libctx" functions

    With certificates no longer rebound after decoding,
    ossl_cms_resolve_libctx() and ossl_pkcs7_resolve_libctx() only point
    the signer and recipient infos at their container's context. Name
    them for that.

    Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
    Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
    Merge-date: Mon Oct 26 19:04:41 2026
    Merged-from: https://github.com/openssl/openssl/pull/32690

diff --git a/crypto/cms/cms_io.c b/crypto/cms/cms_io.c
index fb948093cb..5bdf3f7d0b 100644
--- a/crypto/cms/cms_io.c
+++ b/crypto/cms/cms_io.c
@@ -50,7 +50,7 @@ CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms)
         ossl_cms_ctx_get0_propq(ctx));
     if (ci != NULL) {
         ERR_set_mark();
-        ossl_cms_resolve_libctx(ci);
+        ossl_cms_infos_set_cmsctx(ci);
         ERR_pop_to_mark();
     }
     return ci;
@@ -116,7 +116,7 @@ CMS_ContentInfo *SMIME_read_CMS_ex(BIO *bio, int flags, BIO **bcont,
         ossl_cms_ctx_get0_propq(ctx));
     if (ci != NULL) {
         ERR_set_mark();
-        ossl_cms_resolve_libctx(ci);
+        ossl_cms_infos_set_cmsctx(ci);
         ERR_pop_to_mark();
     }
     return ci;
diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c
index 72fcd72770..121bfa3b3a 100644
--- a/crypto/cms/cms_lib.c
+++ b/crypto/cms/cms_lib.c
@@ -40,7 +40,7 @@ CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **a,
         ossl_cms_ctx_get0_propq(ctx));
     if (ci != NULL) {
         ERR_set_mark();
-        ossl_cms_resolve_libctx(ci);
+        ossl_cms_infos_set_cmsctx(ci);
         ERR_pop_to_mark();
     }
     return ci;
@@ -86,7 +86,7 @@ const char *ossl_cms_ctx_get0_propq(const CMS_CTX *ctx)
     return ctx != NULL ? ctx->propq : NULL;
 }

-void ossl_cms_resolve_libctx(CMS_ContentInfo *ci)
+void ossl_cms_infos_set_cmsctx(CMS_ContentInfo *ci)
 {
     ossl_cms_SignerInfos_set_cmsctx(ci);
     ossl_cms_RecipientInfos_set_cmsctx(ci);
diff --git a/crypto/cms/cms_local.h b/crypto/cms/cms_local.h
index c2dfa55be9..f13a345a5f 100644
--- a/crypto/cms/cms_local.h
+++ b/crypto/cms/cms_local.h
@@ -443,7 +443,7 @@ BIO *ossl_cms_content_bio(CMS_ContentInfo *cms);
 const CMS_CTX *ossl_cms_get0_cmsctx(const CMS_ContentInfo *cms);
 OSSL_LIB_CTX *ossl_cms_ctx_get0_libctx(const CMS_CTX *ctx);
 const char *ossl_cms_ctx_get0_propq(const CMS_CTX *ctx);
-void ossl_cms_resolve_libctx(CMS_ContentInfo *ci);
+void ossl_cms_infos_set_cmsctx(CMS_ContentInfo *ci);

 CMS_ContentInfo *ossl_cms_Data_create(OSSL_LIB_CTX *ctx, const char *propq);
 int ossl_cms_DataFinal(CMS_ContentInfo *cms, BIO *cmsbio, BIO *data,
diff --git a/crypto/pkcs12/p12_add.c b/crypto/pkcs12/p12_add.c
index 1d330e4701..ec7e0484ea 100644
--- a/crypto/pkcs12/p12_add.c
+++ b/crypto/pkcs12/p12_add.c
@@ -250,7 +250,7 @@ STACK_OF(PKCS7) *ossl_pkcs12_unpack_authsafes_ex(const PKCS12 *p12,
             ossl_pkcs7_set0_libctx(p7, libctx);
             if (!ossl_pkcs7_set1_propq(p7, propq))
                 goto err;
-            ossl_pkcs7_resolve_libctx(p7);
+            ossl_pkcs7_SignerInfos_set_ctx(p7);
         }
     }
     return p7s;
diff --git a/crypto/pkcs7/pk7_asn1.c b/crypto/pkcs7/pk7_asn1.c
index 00eabd9815..b3a1a9d39e 100644
--- a/crypto/pkcs7/pk7_asn1.c
+++ b/crypto/pkcs7/pk7_asn1.c
@@ -82,7 +82,7 @@ PKCS7 *d2i_PKCS7(PKCS7 **a, const unsigned char **in, long len)
     ret = (PKCS7 *)ASN1_item_d2i_ex((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(PKCS7),
         libctx, propq);
     if (ret != NULL)
-        ossl_pkcs7_resolve_libctx(ret);
+        ossl_pkcs7_SignerInfos_set_ctx(ret);
     return ret;
 }

diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c
index bb23d074c2..7e085309a6 100644
--- a/crypto/pkcs7/pk7_lib.c
+++ b/crypto/pkcs7/pk7_lib.c
@@ -432,8 +432,8 @@ STACK_OF(X509) *pkcs7_get0_certificates(const PKCS7 *p7)
     return NULL;
 }

-/* Set up the library context into any loaded structure that needs it. */
-void ossl_pkcs7_resolve_libctx(PKCS7 *p7)
+/* Point the signer infos of a PKCS7 at its context */
+void ossl_pkcs7_SignerInfos_set_ctx(PKCS7 *p7)
 {
     int i;
     const PKCS7_CTX *ctx = ossl_pkcs7_get0_ctx(p7);
@@ -482,7 +482,7 @@ int ossl_pkcs7_ctx_propagate(const PKCS7 *from, PKCS7 *to)
     if (!ossl_pkcs7_set1_propq(to, from->ctx.propq))
         return 0;

-    ossl_pkcs7_resolve_libctx(to);
+    ossl_pkcs7_SignerInfos_set_ctx(to);
     return 1;
 }

diff --git a/crypto/pkcs7/pk7_mime.c b/crypto/pkcs7/pk7_mime.c
index 3117c52637..3f77a8674d 100644
--- a/crypto/pkcs7/pk7_mime.c
+++ b/crypto/pkcs7/pk7_mime.c
@@ -63,7 +63,7 @@ PKCS7 *SMIME_read_PKCS7_ex(BIO *bio, BIO **bcont, PKCS7 **p7)
     ret = (PKCS7 *)SMIME_read_ASN1_ex(bio, 0, bcont, ASN1_ITEM_rptr(PKCS7),
         (ASN1_VALUE **)p7, libctx, propq);
     if (ret != NULL)
-        ossl_pkcs7_resolve_libctx(ret);
+        ossl_pkcs7_SignerInfos_set_ctx(ret);
     return ret;
 }

diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c
index 11ea028332..bf76b1a0b4 100644
--- a/crypto/x509/x_all.c
+++ b/crypto/x509/x_all.c
@@ -424,7 +424,7 @@ PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)

     ret = ASN1_item_d2i_fp_ex(ASN1_ITEM_rptr(PKCS7), fp, p7, libctx, propq);
     if (ret != NULL)
-        ossl_pkcs7_resolve_libctx(ret);
+        ossl_pkcs7_SignerInfos_set_ctx(ret);
     return ret;
 }

@@ -447,7 +447,7 @@ PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)

     ret = ASN1_item_d2i_bio_ex(ASN1_ITEM_rptr(PKCS7), bp, p7, libctx, propq);
     if (ret != NULL)
-        ossl_pkcs7_resolve_libctx(ret);
+        ossl_pkcs7_SignerInfos_set_ctx(ret);
     return ret;
 }

diff --git a/include/crypto/pkcs7.h b/include/crypto/pkcs7.h
index df9d123fce..b4accd4bda 100644
--- a/include/crypto/pkcs7.h
+++ b/include/crypto/pkcs7.h
@@ -13,7 +13,7 @@

 #include <openssl/pkcs7.h>

-void ossl_pkcs7_resolve_libctx(PKCS7 *p7);
+void ossl_pkcs7_SignerInfos_set_ctx(PKCS7 *p7);

 void ossl_pkcs7_set0_libctx(PKCS7 *p7, OSSL_LIB_CTX *ctx);
 int ossl_pkcs7_set1_propq(PKCS7 *p7, const char *propq);