]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix safestack issues in x509v3.h
authorMatt Caswell <matt@openssl.org>
Thu, 3 Sep 2020 11:46:08 +0000 (12:46 +0100)
committerMatt Caswell <matt@openssl.org>
Sun, 13 Sep 2020 10:09:45 +0000 (11:09 +0100)
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12781)

38 files changed:
.gitignore
apps/cms.c
apps/lib/apps.c
build.info
crypto/cmp/cmp_ctx.c
crypto/cmp/cmp_msg.c
crypto/cms/cms_ess.c
crypto/ess/ess_lib.c
crypto/ocsp/ocsp_ext.c
crypto/ocsp/v3_ocsp.c
crypto/ts/ts_rsp_verify.c
crypto/x509/pcy_cache.c
crypto/x509/pcy_data.c
crypto/x509/pcy_lib.c
crypto/x509/pcy_map.c
crypto/x509/pcy_node.c
crypto/x509/pcy_tree.c
crypto/x509/v3_addr.c
crypto/x509/v3_admis.c
crypto/x509/v3_akey.c
crypto/x509/v3_alt.c
crypto/x509/v3_asid.c
crypto/x509/v3_cpols.c
crypto/x509/v3_crld.c
crypto/x509/v3_info.c
crypto/x509/v3_lib.c
crypto/x509/v3_ncons.c
crypto/x509/v3_pmaps.c
crypto/x509/v3_purp.c
crypto/x509/v3_sxnet.c
crypto/x509/v3_utl.c
crypto/x509/x509_vfy.c
crypto/x509/x_crl.c
crypto/x509/x_x509.c
include/openssl/x509.h.in
include/openssl/x509v3.h.in [moved from include/openssl/x509v3.h with 97% similarity]
test/cmp_ctx_test.c
test/v3nametest.c

index 1996b07fa15a25d3327e1f058171dc697793b168..72ad111f9eff428da08c71b3fc10d5eb3a1c1b4c 100644 (file)
@@ -27,6 +27,7 @@
 /include/openssl/fipskey.h
 /include/openssl/ssl.h
 /include/openssl/x509.h
+/include/openssl/x509v3.h
 
 # Auto generated doc files
 doc/man1/openssl-*.pod
index fada7b57a9478659e1701fc2da4851dc989222e0..350f9ed75bfbed496cdf46c2cbef44d4128d7bb3 100644 (file)
@@ -24,8 +24,6 @@
 # include <openssl/cms.h>
 
 DEFINE_STACK_OF(CMS_SignerInfo)
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(GENERAL_NAMES)
 DEFINE_STACK_OF_STRING()
 
 static int save_certs(char *signerfile, STACK_OF(X509) *signers);
index bd6a6bc54b27b449f1a967c14ecc5d6a0d267584..d69ded2a5cac05c3f24eab74b28d97a498b3425a 100644 (file)
@@ -63,9 +63,6 @@ static int WIN32_rename(const char *from, const char *to);
 
 DEFINE_STACK_OF(CONF)
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(X509_POLICY_NODE)
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(DIST_POINT)
 DEFINE_STACK_OF_STRING()
 
 typedef struct {
index 02a36cd4358b822d5346629484e46b3a2fd293c7..bec55770ae997925c7d597bfeb4f1a9e0414aaea 100644 (file)
@@ -17,6 +17,7 @@ DEPEND[]=include/openssl/configuration.h include/openssl/opensslv.h \
          include/openssl/fipskey.h \
          include/openssl/ssl.h \
          include/openssl/x509.h \
+         include/openssl/x509v3.h \
          include/crypto/bn_conf.h include/crypto/dso_conf.h \
          doc/man7/openssl_user_macros.pod
 
@@ -25,6 +26,7 @@ GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in
 GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in
 GENERATE[include/openssl/ssl.h]=include/openssl/ssl.h.in
 GENERATE[include/openssl/x509.h]=include/openssl/x509.h.in
+GENERATE[include/openssl/x509v3.h]=include/openssl/x509v3.h.in
 GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in
 GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in
 GENERATE[doc/man7/openssl_user_macros.pod]=doc/man7/openssl_user_macros.pod.in
index f324763bf1757508c842e685ddb55faa6198c978..107cfb1b85d19882057969590aeca51c72220210 100644 (file)
@@ -21,9 +21,7 @@
 #include <openssl/crmf.h>
 #include <openssl/err.h>
 
-DEFINE_STACK_OF(POLICYINFO)
 DEFINE_STACK_OF(ASN1_UTF8STRING)
-DEFINE_STACK_OF(GENERAL_NAME)
 DEFINE_STACK_OF(OSSL_CMP_ITAV)
 
 /*
index 11f43ab58818c630bb3d91a93d94c37d78e696fd..d7f0e1fff74c83f95a4d825ded052a0b15d4d7e0 100644 (file)
@@ -23,7 +23,6 @@
 
 DEFINE_STACK_OF(OSSL_CMP_CERTSTATUS)
 DEFINE_STACK_OF(OSSL_CMP_ITAV)
-DEFINE_STACK_OF(GENERAL_NAME)
 DEFINE_STACK_OF(OSSL_CMP_PKISI)
 DEFINE_STACK_OF(OSSL_CRMF_MSG)
 DEFINE_STACK_OF(OSSL_CMP_CERTRESPONSE)
index 6fc0ca27d9f8d0df578902e9e872622a504083e0..df2ab07f7377af91cc4095bc077f3b893dae68e7 100644 (file)
@@ -20,7 +20,6 @@
 #include "crypto/x509.h"
 #include "cms_local.h"
 
-DEFINE_STACK_OF(GENERAL_NAMES)
 DEFINE_STACK_OF(CMS_SignerInfo)
 DEFINE_STACK_OF(ESS_CERT_ID)
 DEFINE_STACK_OF(ESS_CERT_ID_V2)
index 92073b959848be3664db0c1e6a41854eb24a020b..c8e1bb8eba9c2b12b1cb0bdafeaad6f7bf33d601 100644 (file)
@@ -16,7 +16,6 @@
 
 DEFINE_STACK_OF(ESS_CERT_ID)
 DEFINE_STACK_OF(ESS_CERT_ID_V2)
-DEFINE_STACK_OF(GENERAL_NAME)
 
 static ESS_CERT_ID *ESS_CERT_ID_new_init(X509 *cert, int issuer_needed);
 static ESS_CERT_ID_V2 *ESS_CERT_ID_V2_new_init(const EVP_MD *hash_alg,
index 77e67840b8e59e620eb3e1bd0ac95f52d44e1574..f8c9c0029d38ab97165f24052ec3bd3fb541ee3d 100644 (file)
@@ -17,7 +17,6 @@
 #include <openssl/x509v3.h>
 
 DEFINE_STACK_OF(ASN1_OBJECT)
-DEFINE_STACK_OF(ACCESS_DESCRIPTION)
 
 /* Standard wrapper functions for extensions */
 
index 15013219488492ca0bbf645de98bcf7adce7ab58..2f2684b9a4ebcbf1858607413f180f54bc913012 100644 (file)
@@ -16,8 +16,6 @@
 # include <openssl/x509v3.h>
 # include "../x509/ext_dat.h"
 
-DEFINE_STACK_OF(ACCESS_DESCRIPTION)
-
 /*
  * OCSP extensions and a couple of CRL entry extensions
  */
index 1ca14bc0563b9760ad8d9c7453c6eed4acf94bb1..02690c19a71173de9e0ca8abebfd5b70a17f4bec 100644 (file)
@@ -19,7 +19,6 @@ DEFINE_STACK_OF(PKCS7_SIGNER_INFO)
 DEFINE_STACK_OF(ESS_CERT_ID)
 DEFINE_STACK_OF(ESS_CERT_ID_V2)
 DEFINE_STACK_OF(ASN1_UTF8STRING)
-DEFINE_STACK_OF(GENERAL_NAME)
 
 static int ts_verify_cert(X509_STORE *store, STACK_OF(X509) *untrusted,
                           X509 *signer, STACK_OF(X509) **chain);
index 61423bf2c2e58f2d66008d49c0dead2ce82677ed..608ccfeb1c934f3b58b5908526f371d473f037c7 100644 (file)
@@ -14,8 +14,6 @@
 
 #include "pcy_local.h"
 
-DEFINE_STACK_OF(POLICYINFO)
-
 static int policy_data_cmp(const X509_POLICY_DATA *const *a,
                            const X509_POLICY_DATA *const *b);
 static int policy_cache_set_int(long *out, ASN1_INTEGER *value);
index 6b509cf457fa017f15e4fcab50fdf2340d165dd2..f0f2db6e108ea4611727c7f4f935fc945cbbcf60 100644 (file)
@@ -14,7 +14,6 @@
 #include "pcy_local.h"
 
 DEFINE_STACK_OF(ASN1_OBJECT)
-DEFINE_STACK_OF(POLICYQUALINFO)
 
 /* Policy Node routines */
 
index 23baa2db1bb1f985a1a48313de2b9ae8f9d7fa87..c4740a0a30c57d6fdcb16e7c6aee0a95da7ca7a0 100644 (file)
@@ -13,8 +13,6 @@
 
 #include "pcy_local.h"
 
-DEFINE_STACK_OF(X509_POLICY_NODE)
-
 /* accessor functions */
 
 /* X509_POLICY_TREE stuff */
index 0dec6245254825b6c61e5f503320659462d2ca8b..78c2d5904b35edce8e37ff23bb34ab714684a3f5 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "pcy_local.h"
 
-DEFINE_STACK_OF(POLICY_MAPPING)
 DEFINE_STACK_OF(ASN1_OBJECT)
 
 /*
index baa4fa8d325d52bea0b3cf7dfbe7e21ca4ae7c73..60b903416064b0b3295273f176367f751ee3a06c 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "pcy_local.h"
 
-DEFINE_STACK_OF(X509_POLICY_NODE)
 DEFINE_STACK_OF(ASN1_OBJECT)
 
 static int node_cmp(const X509_POLICY_NODE *const *a,
index 8b127cf291c164a528d70b644d5046ab06241c4d..bffded30f866bf70f5ba6c5072785ffa343e99c1 100644 (file)
@@ -15,7 +15,6 @@
 #include "pcy_local.h"
 
 DEFINE_STACK_OF(ASN1_OBJECT)
-DEFINE_STACK_OF(X509_POLICY_NODE)
 
 static void expected_print(BIO *channel,
                            X509_POLICY_LEVEL *lev, X509_POLICY_NODE *node,
index b369f79d01c39bbc84ff136cfe5dd5def140962c..f281267b079e3a92eb9eba731d5d43db30d9cb5c 100644 (file)
@@ -26,8 +26,6 @@
 
 #ifndef OPENSSL_NO_RFC3779
 
-DEFINE_STACK_OF(IPAddressOrRange)
-DEFINE_STACK_OF(IPAddressFamily)
 DEFINE_STACK_OF(CONF_VALUE)
 
 /*
index 2fbb11bdaf41ed000be870e24ee6671902d548fa..74b1f3d883e2d0ecf3ebfe476abd0e84fcb5de32 100644 (file)
@@ -20,9 +20,6 @@
 #include "v3_admis.h"
 #include "ext_dat.h"
 
-DEFINE_STACK_OF(ADMISSIONS)
-DEFINE_STACK_OF(PROFESSION_INFO)
-DEFINE_STACK_OF(ASN1_STRING)
 DEFINE_STACK_OF(ASN1_OBJECT)
 
 ASN1_SEQUENCE(NAMING_AUTHORITY) = {
index 65019a5a12df3e0ac5570e308b8c1bb3adb0846b..50dca6ce5df3248daff781b8875929a5840d4bdd 100644 (file)
@@ -16,7 +16,6 @@
 #include "ext_dat.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(GENERAL_NAME)
 
 static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
                                                  AUTHORITY_KEYID *akeyid,
index dd45546f6c69fd545a923b223f76850be0993194..f810fc6c428426f97e11ff496474711dbda0640e 100644 (file)
@@ -15,7 +15,6 @@
 #include "ext_dat.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(GENERAL_NAME)
 
 static GENERAL_NAMES *v2i_subject_alt(X509V3_EXT_METHOD *method,
                                       X509V3_CTX *ctx,
index e5fcff5522b651dedf87044c8ee2820405d5ade7..67160aac2655ed39651a641ed95e07fb9e1d1af6 100644 (file)
@@ -56,7 +56,6 @@ IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange)
 IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice)
 IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers)
 
-DEFINE_STACK_OF(ASIdOrRange)
 DEFINE_STACK_OF(CONF_VALUE)
 
 /*
index 6b507f40d7ba6a2c7ccf2aadc74eb8dfb88e8885..2de281cd609bb6b2cd886cfdcb7bf871fb0803b5 100644 (file)
@@ -19,8 +19,6 @@
 #include "ext_dat.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(POLICYINFO)
-DEFINE_STACK_OF(POLICYQUALINFO)
 DEFINE_STACK_OF(ASN1_INTEGER)
 
 /* Certificate policies extension support: this one is a bit complex... */
index 2daaad84c1a93bad3d2ec27ad63f689b6a2f02d9..19b016227f214121ddc60e6d2f858d423af948d4 100644 (file)
@@ -19,8 +19,6 @@
 #include "x509_local.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(DIST_POINT)
 
 static void *v2i_crld(const X509V3_EXT_METHOD *method,
                       X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
index 489daa71993ae9b90fb733f5903acccf742c93b7..2c788d89ec56c162e3e7174748c2fdeb9d92efe6 100644 (file)
@@ -15,7 +15,6 @@
 #include <openssl/x509v3.h>
 #include "ext_dat.h"
 
-DEFINE_STACK_OF(ACCESS_DESCRIPTION)
 DEFINE_STACK_OF(CONF_VALUE)
 
 static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
index 093e33b1023a3dd26957dcbba37521bd9cdd900c..1069a9f24aea2d380f2d6063e03f4ed9897d3bd5 100644 (file)
@@ -16,8 +16,6 @@
 
 #include "ext_dat.h"
 
-DEFINE_STACK_OF(X509V3_EXT_METHOD)
-
 static STACK_OF(X509V3_EXT_METHOD) *ext_list = NULL;
 
 static int ext_cmp(const X509V3_EXT_METHOD *const *a,
index 8da9cca24dba301c55da21fca1e93d3034a7163c..6c7374590495bbf52c4d4247f23e92ed2387e32e 100644 (file)
@@ -21,8 +21,6 @@
 #include "ext_dat.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(GENERAL_SUBTREE)
 
 static void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method,
                                   X509V3_CTX *ctx,
index 23aefb196cc95faaee351c374fcb15f654a6911a..c63a0e4cb9b76a070c44818441695aad3fa230c2 100644 (file)
@@ -14,7 +14,6 @@
 #include <openssl/x509v3.h>
 #include "ext_dat.h"
 
-DEFINE_STACK_OF(POLICY_MAPPING)
 DEFINE_STACK_OF(CONF_VALUE)
 
 static void *v2i_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method,
index 2d4098b6292af90bde5fe50ebc7f9889513c95a2..f36ef8a3a1ee1d4e0eeb607c77ce31ad0e1a6049 100644 (file)
@@ -16,9 +16,6 @@
 #include "internal/tsan_assist.h"
 #include "x509_local.h"
 
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(DIST_POINT)
-DEFINE_STACK_OF(X509_PURPOSE)
 DEFINE_STACK_OF(ASN1_OBJECT)
 
 static int check_ssl_ca(const X509 *x);
index d90073754e956da0750ba36f36d8b4719c0798df..ce878c37794a9796024181571b1461edb1b2fbfb 100644 (file)
@@ -15,7 +15,6 @@
 #include <openssl/x509v3.h>
 #include "ext_dat.h"
 
-DEFINE_STACK_OF(SXNETID)
 DEFINE_STACK_OF(CONF_VALUE)
 
 /* Support for Thawte strong extranet extension */
index ce64aa658bf1d55d38d3f32ec1b6b76ba453cf7d..7e813af3e9b16d95f088176cc50e4c753592ce75 100644 (file)
@@ -22,8 +22,6 @@
 #include "x509_local.h"
 
 DEFINE_STACK_OF(CONF_VALUE)
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(ACCESS_DESCRIPTION)
 DEFINE_STACK_OF_STRING()
 
 static char *strip_spaces(char *name);
index cc264d0fa86fc92da5fa53608797e363a31abc28..ce31975f8ba0df289450e4fe042a8d83efcb7d0a 100644 (file)
@@ -25,8 +25,6 @@
 #include "crypto/x509.h"
 #include "x509_local.h"
 
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(DIST_POINT)
 DEFINE_STACK_OF_STRING()
 
 /* CRL score values */
index 21dffc8b6ee3cf95e653aa60ada79503de795cd8..c915615acb0c7a46a0758406ae5ddb831640af6b 100644 (file)
@@ -15,9 +15,6 @@
 #include <openssl/x509v3.h>
 #include "x509_local.h"
 
-DEFINE_STACK_OF(GENERAL_NAME)
-DEFINE_STACK_OF(GENERAL_NAMES)
-
 static int X509_REVOKED_cmp(const X509_REVOKED *const *a,
                             const X509_REVOKED *const *b);
 static int setup_idp(X509_CRL *crl, ISSUING_DIST_POINT *idp);
index 5ee284666cbf13e2a4e7d978262a17f3ee8145e1..315787a5aaab0acbdca144bd6f7c37ca8b316063 100644 (file)
 #include <openssl/x509v3.h>
 #include "crypto/x509.h"
 
-#ifndef OPENSSL_NO_RFC3779
-DEFINE_STACK_OF(IPAddressFamily)
-#endif
-
 ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = {
         ASN1_EXP_OPT(X509_CINF, version, ASN1_INTEGER, 0),
         ASN1_EMBED(X509_CINF, serialNumber, ASN1_INTEGER),
index bded195d7810bc2b4ca54439ee0e1582c36aeb65..f86d4ee7d10a39e6182a0b95aedaea4c2d2335c5 100644 (file)
@@ -11,7 +11,7 @@
  */
 
 {-
-use OpenSSL::stackhash qw(generate_stack_macros generate_const_stack_macros);
+use OpenSSL::stackhash qw(generate_stack_macros);
 -}
 
 #ifndef OPENSSL_X509_H
similarity index 97%
rename from include/openssl/x509v3.h
rename to include/openssl/x509v3.h.in
index a3ef7ced3a156273ceca7bd3d59571c711ff0933..7234aa2c624f13bfb9e3b709c9b11dac3ef9d2c6 100644 (file)
@@ -1,4 +1,6 @@
 /*
+ * {- join("\n * ", @autowarntext) -}
+ *
  * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved.
  *
  * Licensed under the Apache License 2.0 (the "License").  You may not use
@@ -7,6 +9,10 @@
  * https://www.openssl.org/source/license.html
  */
 
+{-
+use OpenSSL::stackhash qw(generate_stack_macros);
+-}
+
 #ifndef OPENSSL_X509V3_H
 # define OPENSSL_X509V3_H
 # pragma once
@@ -97,7 +103,9 @@ struct v3_ext_ctx {
 
 typedef struct v3_ext_method X509V3_EXT_METHOD;
 
-DEFINE_OR_DECLARE_STACK_OF(X509V3_EXT_METHOD)
+{-
+    generate_stack_macros("X509V3_EXT_METHOD");
+-}
 
 /* ext_flags values */
 # define X509V3_EXT_DYNAMIC      0x1
@@ -163,15 +171,19 @@ typedef struct ACCESS_DESCRIPTION_st {
     GENERAL_NAME *location;
 } ACCESS_DESCRIPTION;
 
-DEFINE_OR_DECLARE_STACK_OF(ACCESS_DESCRIPTION)
-DEFINE_OR_DECLARE_STACK_OF(GENERAL_NAME)
+{-
+    generate_stack_macros("ACCESS_DESCRIPTION")
+    .generate_stack_macros("GENERAL_NAME");
+-}
 
 typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS;
 typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE;
 typedef STACK_OF(ASN1_INTEGER) TLS_FEATURE;
 typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES;
 
-DEFINE_OR_DECLARE_STACK_OF(GENERAL_NAMES)
+{-
+    generate_stack_macros("GENERAL_NAMES");
+-}
 
 typedef struct DIST_POINT_NAME_st {
     int type;
@@ -204,7 +216,9 @@ struct DIST_POINT_st {
     int dp_reasons;
 };
 
-DEFINE_OR_DECLARE_STACK_OF(DIST_POINT)
+{-
+    generate_stack_macros("DIST_POINT");
+-}
 
 typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
 
@@ -221,7 +235,10 @@ typedef struct SXNET_ID_st {
     ASN1_OCTET_STRING *user;
 } SXNETID;
 
-DEFINE_OR_DECLARE_STACK_OF(SXNETID)
+{-
+    generate_stack_macros("SXNETID");
+-}
+
 
 typedef struct SXNET_st {
     ASN1_INTEGER *version;
@@ -254,14 +271,19 @@ typedef struct POLICYQUALINFO_st {
     } d;
 } POLICYQUALINFO;
 
-DEFINE_OR_DECLARE_STACK_OF(POLICYQUALINFO)
+{-
+    generate_stack_macros("POLICYQUALINFO");
+-}
+
 
 typedef struct POLICYINFO_st {
     ASN1_OBJECT *policyid;
     STACK_OF(POLICYQUALINFO) *qualifiers;
 } POLICYINFO;
 
-DEFINE_OR_DECLARE_STACK_OF(POLICYINFO)
+{-
+    generate_stack_macros("POLICYINFO");
+-}
 
 typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES;
 
@@ -270,7 +292,9 @@ typedef struct POLICY_MAPPING_st {
     ASN1_OBJECT *subjectDomainPolicy;
 } POLICY_MAPPING;
 
-DEFINE_OR_DECLARE_STACK_OF(POLICY_MAPPING)
+{-
+    generate_stack_macros("POLICY_MAPPING");
+-}
 
 typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS;
 
@@ -280,7 +304,9 @@ typedef struct GENERAL_SUBTREE_st {
     ASN1_INTEGER *maximum;
 } GENERAL_SUBTREE;
 
-DEFINE_OR_DECLARE_STACK_OF(GENERAL_SUBTREE)
+{-
+    generate_stack_macros("GENERAL_SUBTREE");
+-}
 
 struct NAME_CONSTRAINTS_st {
     STACK_OF(GENERAL_SUBTREE) *permittedSubtrees;
@@ -423,7 +449,10 @@ typedef struct x509_purpose_st {
     void *usr_data;
 } X509_PURPOSE;
 
-DEFINE_OR_DECLARE_STACK_OF(X509_PURPOSE)
+{-
+    generate_stack_macros("X509_PURPOSE");
+-}
+
 
 # define X509_PURPOSE_SSL_CLIENT         1
 # define X509_PURPOSE_SSL_SERVER         2
@@ -735,7 +764,10 @@ int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE) *dn_sk,
                              unsigned long chtype);
 
 void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent);
-DEFINE_OR_DECLARE_STACK_OF(X509_POLICY_NODE)
+{-
+    generate_stack_macros("X509_POLICY_NODE");
+-}
+
 
 #ifndef OPENSSL_NO_RFC3779
 typedef struct ASRange_st {
@@ -753,7 +785,9 @@ typedef struct ASIdOrRange_st {
     } u;
 } ASIdOrRange;
 
-DEFINE_OR_DECLARE_STACK_OF(ASIdOrRange)
+{-
+    generate_stack_macros("ASIdOrRange");
+-}
 
 typedef STACK_OF(ASIdOrRange) ASIdOrRanges;
 
@@ -792,7 +826,9 @@ typedef struct IPAddressOrRange_st {
     } u;
 } IPAddressOrRange;
 
-DEFINE_OR_DECLARE_STACK_OF(IPAddressOrRange)
+{-
+    generate_stack_macros("IPAddressOrRange");
+-}
 
 typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges;
 
@@ -812,7 +848,10 @@ typedef struct IPAddressFamily_st {
     IPAddressChoice *ipAddressChoice;
 } IPAddressFamily;
 
-DEFINE_OR_DECLARE_STACK_OF(IPAddressFamily)
+{-
+    generate_stack_macros("IPAddressFamily");
+-}
+
 
 typedef STACK_OF(IPAddressFamily) IPAddrBlocks;
 
@@ -886,7 +925,9 @@ int X509v3_addr_validate_resource_set(STACK_OF(X509) *chain,
 
 #endif                         /* OPENSSL_NO_RFC3779 */
 
-DEFINE_OR_DECLARE_STACK_OF(ASN1_STRING)
+{-
+    generate_stack_macros("ASN1_STRING");
+-}
 
 /*
  * Admission Syntax
@@ -899,8 +940,10 @@ DECLARE_ASN1_FUNCTIONS(NAMING_AUTHORITY)
 DECLARE_ASN1_FUNCTIONS(PROFESSION_INFO)
 DECLARE_ASN1_FUNCTIONS(ADMISSIONS)
 DECLARE_ASN1_FUNCTIONS(ADMISSION_SYNTAX)
-DEFINE_OR_DECLARE_STACK_OF(PROFESSION_INFO)
-DEFINE_OR_DECLARE_STACK_OF(ADMISSIONS)
+{-
+    generate_stack_macros("PROFESSION_INFO")
+    .generate_stack_macros("ADMISSIONS");
+-}
 typedef STACK_OF(PROFESSION_INFO) PROFESSION_INFOS;
 
 const ASN1_OBJECT *NAMING_AUTHORITY_get0_authorityId(
index f3f49888bcb1d3103cc2e05ef4d4ec63b153653a..997edf64cb70042d3d7a1aeeefbac1535bc6e643 100644 (file)
@@ -15,7 +15,6 @@
 
 DEFINE_STACK_OF(ASN1_UTF8STRING)
 DEFINE_STACK_OF(OSSL_CMP_ITAV)
-DEFINE_STACK_OF(POLICYINFO)
 
 typedef struct test_fixture {
     const char *test_case_name;
index a5fa4822159b4d19a9d4a3d29b2cc5f71f903856..9b81988ddd4441b79a874b7dca5f8e2781db9abf 100644 (file)
@@ -19,8 +19,6 @@
 # define strcasecmp _stricmp
 #endif
 
-DEFINE_STACK_OF(GENERAL_NAME)
-
 static const char *const names[] = {
     "a", "b", ".", "*", "@",
     ".a", "a.", ".b", "b.", ".*", "*.", "*@", "@*", "a@", "@a", "b@", "..",