Remove ASN1_OBJECT internals from public visibility.
authortb <tb@openbsd.org>
Fri, 14 Jan 2022 08:09:18 +0000 (08:09 +0000)
committertb <tb@openbsd.org>
Fri, 14 Jan 2022 08:09:18 +0000 (08:09 +0000)
Move the struct declaration to asn1_locl.h and add a forward
declaration to ossl_typ.h. This makes struct visibility in the
asn1 headers match OpenSSL.

ok inoguchi jsing

lib/libcrypto/asn1/asn1.h
lib/libcrypto/asn1/asn1_locl.h
lib/libcrypto/ossl_typ.h

index e850f2b..2e854f5 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: asn1.h,v 1.59 2022/01/14 07:57:17 tb Exp $ */
+/* $OpenBSD: asn1.h,v 1.60 2022/01/14 08:09:18 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -162,20 +162,6 @@ DECLARE_STACK_OF(X509_ALGOR)
 #define DECLARE_ASN1_SET_OF(type) /* filled in by mkstack.pl */
 #define IMPLEMENT_ASN1_SET_OF(type) /* nothing, no longer needed */
 
-/* These are used internally in the ASN1_OBJECT to keep track of
- * whether the names and data need to be free()ed */
-#define ASN1_OBJECT_FLAG_DYNAMIC        0x01   /* internal use */
-#define ASN1_OBJECT_FLAG_CRITICAL       0x02   /* critical x509v3 object id */
-#define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04  /* internal use */
-#define ASN1_OBJECT_FLAG_DYNAMIC_DATA   0x08   /* internal use */
-typedef struct asn1_object_st {
-       const char *sn, *ln;
-       int nid;
-       int length;
-       const unsigned char *data;      /* data remains const after init */
-       int flags;      /* Should we free this one */
-} ASN1_OBJECT;
-
 #define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */
 /* This indicates that the ASN1_STRING is not a real value but just a place
  * holder for the location where indefinite length constructed data should
index 76b165e..cca92aa 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: asn1_locl.h,v 1.17 2022/01/10 12:10:26 tb Exp $ */
+/* $OpenBSD: asn1_locl.h,v 1.18 2022/01/14 08:09:18 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2006.
  */
@@ -65,6 +65,20 @@ __BEGIN_HIDDEN_DECLS
 ASN1_TYPE *ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t);
 void *ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t);
 
+/* These are used internally in the ASN1_OBJECT to keep track of
+ * whether the names and data need to be free()ed */
+#define ASN1_OBJECT_FLAG_DYNAMIC        0x01   /* internal use */
+#define ASN1_OBJECT_FLAG_CRITICAL       0x02   /* critical x509v3 object id */
+#define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04  /* internal use */
+#define ASN1_OBJECT_FLAG_DYNAMIC_DATA   0x08   /* internal use */
+struct asn1_object_st {
+       const char *sn, *ln;
+       int nid;
+       int length;
+       const unsigned char *data;      /* data remains const after init */
+       int flags;      /* Should we free this one */
+} /* ASN1_OBJECT */;
+
 /* ASN1 print context structure */
 
 struct asn1_pctx_st {
index 9a1101d..c4dd11e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ossl_typ.h,v 1.16 2021/12/12 21:35:46 tb Exp $ */
+/* $OpenBSD: ossl_typ.h,v 1.17 2022/01/14 08:09:18 tb Exp $ */
 /* ====================================================================
  * Copyright (c) 1998-2001 The OpenSSL Project.  All rights reserved.
  *
@@ -77,6 +77,8 @@ typedef struct asn1_string_st ASN1_STRING;
 typedef int ASN1_BOOLEAN;
 typedef int ASN1_NULL;
 
+typedef struct asn1_object_st ASN1_OBJECT;
+
 typedef struct ASN1_ITEM_st ASN1_ITEM;
 typedef struct asn1_pctx_st ASN1_PCTX;