Commit bca4e46568 for openssl.org

commit bca4e465685a2eaa170d6d62505d0778fbc35d88
Author: Bob Beck <beck@openssl.org>
Date:   Wed Jun 24 11:29:05 2026 -0600

    Clarify the comment in asn1.h.in for ASN1_VALUE

    I've been down this road a few times and nhorman@ just hit it.

    While technically true, most of our opaque pointers have internal
    defninitions. Stop people going down the garden path by explaining
    what this is

    Reviewed-by: Neil Horman <nhorman@openssl.org>
    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    Reviewed-by: Norbert Pocs <norbertp@openssl.org>
    MergeDate: Tue Jun 30 09:51:37 2026
    (Merged from https://github.com/openssl/openssl/pull/31708)

diff --git a/include/openssl/asn1.h.in b/include/openssl/asn1.h.in
index 21d9e772c6..a7291738ff 100644
--- a/include/openssl/asn1.h.in
+++ b/include/openssl/asn1.h.in
@@ -199,7 +199,10 @@ struct asn1_string_table_st {
  */
 typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE;
 typedef struct ASN1_TLC_st ASN1_TLC;
-/* This is just an opaque pointer */
+/*
+ * This is deliberately used as an opaque pointer to a structure that
+ * is never defined. In other words it will behave like void *
+ */
 typedef struct ASN1_VALUE_st ASN1_VALUE;

 /* Declare ASN1 functions: the implement macro is in asn1t.h */