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 */