summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-09-03 17:14:28 +0200
committerMatt Caswell <matt@openssl.org>2020-09-13 12:11:20 +0200
commite74e562f1c518839cc9b63aafd4af6644e01d9ca (patch)
treeed8d2cc7f428c78fd9fc3456bafcce76e346d739
parentFix safestack issues in bio.h (diff)
downloadopenssl-e74e562f1c518839cc9b63aafd4af6644e01d9ca.tar.xz
openssl-e74e562f1c518839cc9b63aafd4af6644e01d9ca.zip
Fix safestack issues in conf.h
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12781)
-rw-r--r--.gitignore1
-rw-r--r--apps/ca.c2
-rw-r--r--apps/lib/apps.c1
-rw-r--r--apps/ocsp.c2
-rw-r--r--apps/req.c2
-rw-r--r--build.info2
-rw-r--r--crypto/asn1/asn1_gen.c2
-rw-r--r--crypto/asn1/asn_moid.c2
-rw-r--r--crypto/asn1/asn_mstbl.c1
-rw-r--r--crypto/cmp/cmp_http.c2
-rw-r--r--crypto/conf/conf_api.c2
-rw-r--r--crypto/conf/conf_mod.c1
-rw-r--r--crypto/conf/conf_ssl.c2
-rw-r--r--crypto/engine/eng_cnf.c2
-rw-r--r--crypto/evp/evp_cnf.c2
-rw-r--r--crypto/http/http_client.c2
-rw-r--r--crypto/provider_conf.c1
-rw-r--r--crypto/ts/ts_conf.c2
-rw-r--r--crypto/ts/ts_rsp_print.c2
-rw-r--r--crypto/x509/v3_addr.c2
-rw-r--r--crypto/x509/v3_akey.c2
-rw-r--r--crypto/x509/v3_alt.c2
-rw-r--r--crypto/x509/v3_asid.c2
-rw-r--r--crypto/x509/v3_bcons.c2
-rw-r--r--crypto/x509/v3_bitst.c2
-rw-r--r--crypto/x509/v3_conf.c2
-rw-r--r--crypto/x509/v3_cpols.c2
-rw-r--r--crypto/x509/v3_crld.c2
-rw-r--r--crypto/x509/v3_extku.c2
-rw-r--r--crypto/x509/v3_info.c2
-rw-r--r--crypto/x509/v3_ist.c2
-rw-r--r--crypto/x509/v3_ncons.c2
-rw-r--r--crypto/x509/v3_pci.c2
-rw-r--r--crypto/x509/v3_pcons.c2
-rw-r--r--crypto/x509/v3_pmaps.c2
-rw-r--r--crypto/x509/v3_prn.c2
-rw-r--r--crypto/x509/v3_sxnet.c2
-rw-r--r--crypto/x509/v3_tlsf.c2
-rw-r--r--crypto/x509/v3_utl.c2
-rw-r--r--include/openssl/conf.h.in (renamed from include/openssl/conf.h)10
-rw-r--r--test/confdump.c2
-rw-r--r--test/http_test.c2
-rw-r--r--test/ssl_test_ctx.c2
43 files changed, 12 insertions, 77 deletions
diff --git a/.gitignore b/.gitignore
index 038f8b4f37..68e7b2abd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -27,6 +27,7 @@
/include/openssl/bio.h
/include/openssl/cmp.h
/include/openssl/cms.h
+/include/openssl/conf.h
/include/openssl/configuration.h
/include/openssl/crmf.h
/include/openssl/ct.h
diff --git a/apps/ca.c b/apps/ca.c
index 9ddd464534..6ae52c2277 100644
--- a/apps/ca.c
+++ b/apps/ca.c
@@ -34,8 +34,6 @@
#include "apps.h"
#include "progs.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
#ifndef W_OK
# define F_OK 0
# define W_OK 2
diff --git a/apps/lib/apps.c b/apps/lib/apps.c
index 9bc976317d..9c608e6582 100644
--- a/apps/lib/apps.c
+++ b/apps/lib/apps.c
@@ -62,7 +62,6 @@ static int WIN32_rename(const char *from, const char *to);
#define PASS_SOURCE_SIZE_MAX 4
DEFINE_STACK_OF(CONF)
-DEFINE_STACK_OF(CONF_VALUE)
typedef struct {
const char *name;
diff --git a/apps/ocsp.c b/apps/ocsp.c
index 2540ce118e..93c17f4a07 100644
--- a/apps/ocsp.c
+++ b/apps/ocsp.c
@@ -33,8 +33,6 @@
#include <openssl/bn.h>
#include <openssl/x509v3.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
#if defined(__TANDEM)
# if defined(OPENSSL_TANDEM_FLOSS)
# include <floss.h(floss_fork)>
diff --git a/apps/req.c b/apps/req.c
index 5f3c7b5fc8..cb5850c6b5 100644
--- a/apps/req.c
+++ b/apps/req.c
@@ -35,8 +35,6 @@
# include <openssl/dsa.h>
#endif
-DEFINE_STACK_OF(CONF_VALUE)
-
#define BITS "default_bits"
#define KEYFILE "default_keyfile"
#define PROMPT "prompt"
diff --git a/build.info b/build.info
index e5cd3da971..b091a1c346 100644
--- a/build.info
+++ b/build.info
@@ -18,6 +18,7 @@ DEPEND[]=include/openssl/asn1.h \
include/openssl/bio.h \
include/openssl/cmp.h \
include/openssl/cms.h \
+ include/openssl/conf.h \
include/openssl/configuration.h \
include/openssl/crmf.h \
include/openssl/ct.h \
@@ -40,6 +41,7 @@ GENERATE[include/openssl/asn1t.h]=include/openssl/asn1t.h.in
GENERATE[include/openssl/bio.h]=include/openssl/bio.h.in
GENERATE[include/openssl/cmp.h]=include/openssl/cmp.h.in
GENERATE[include/openssl/cms.h]=include/openssl/cms.h.in
+GENERATE[include/openssl/conf.h]=include/openssl/conf.h.in
GENERATE[include/openssl/configuration.h]=include/openssl/configuration.h.in
GENERATE[include/openssl/crmf.h]=include/openssl/crmf.h.in
GENERATE[include/openssl/ct.h]=include/openssl/ct.h.in
diff --git a/crypto/asn1/asn1_gen.c b/crypto/asn1/asn1_gen.c
index 97094b3e0e..896fc89c46 100644
--- a/crypto/asn1/asn1_gen.c
+++ b/crypto/asn1/asn1_gen.c
@@ -23,8 +23,6 @@
#define ASN1_GEN_STR(str,val) {str, sizeof(str) - 1, val}
-DEFINE_STACK_OF(CONF_VALUE)
-
#define ASN1_FLAG_EXP_MAX 20
/* Maximum number of nested sequences */
#define ASN1_GEN_SEQ_MAX_DEPTH 50
diff --git a/crypto/asn1/asn_moid.c b/crypto/asn1/asn_moid.c
index 676d1eca2d..549f8f7cb1 100644
--- a/crypto/asn1/asn_moid.c
+++ b/crypto/asn1/asn_moid.c
@@ -16,8 +16,6 @@
#include "crypto/asn1.h"
#include "crypto/objects.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Simple ASN1 OID module: add all objects in a given section */
static int do_create(const char *value, const char *name);
diff --git a/crypto/asn1/asn_mstbl.c b/crypto/asn1/asn_mstbl.c
index fc21cb3098..ec08ecb3d8 100644
--- a/crypto/asn1/asn_mstbl.c
+++ b/crypto/asn1/asn_mstbl.c
@@ -13,7 +13,6 @@
#include <openssl/conf.h>
#include <openssl/x509v3.h>
-DEFINE_STACK_OF(CONF_VALUE)
/* Multi string module: add table entries from a given section */
static int do_tcreate(const char *value, const char *name);
diff --git a/crypto/cmp/cmp_http.c b/crypto/cmp/cmp_http.c
index f3cd06fb23..33b5f6af7a 100644
--- a/crypto/cmp/cmp_http.c
+++ b/crypto/cmp/cmp_http.c
@@ -28,8 +28,6 @@
#include <openssl/cmp.h>
#include <openssl/err.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
/*
* Send the PKIMessage req and on success return the response, else NULL.
* Any previous error queue entries will likely be removed by ERR_clear_error().
diff --git a/crypto/conf/conf_api.c b/crypto/conf/conf_api.c
index b4edfb28ae..d64cc5031a 100644
--- a/crypto/conf/conf_api.c
+++ b/crypto/conf/conf_api.c
@@ -16,8 +16,6 @@
#include <openssl/conf.h>
#include <openssl/conf_api.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
static void value_free_hash(const CONF_VALUE *a, LHASH_OF(CONF_VALUE) *conf);
static void value_free_stack_doall(CONF_VALUE *a);
diff --git a/crypto/conf/conf_mod.c b/crypto/conf/conf_mod.c
index a0b9fd3b61..fa7f6b9d9f 100644
--- a/crypto/conf/conf_mod.c
+++ b/crypto/conf/conf_mod.c
@@ -21,7 +21,6 @@
#include <openssl/trace.h>
#include <openssl/engine.h>
-DEFINE_STACK_OF(CONF_VALUE)
DEFINE_STACK_OF(CONF_MODULE)
DEFINE_STACK_OF(CONF_IMODULE)
diff --git a/crypto/conf/conf_ssl.c b/crypto/conf/conf_ssl.c
index eefd279a10..5b949be616 100644
--- a/crypto/conf/conf_ssl.c
+++ b/crypto/conf/conf_ssl.c
@@ -14,8 +14,6 @@
#include "internal/sslconf.h"
#include "conf_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/*
* SSL library configuration module placeholder. We load it here but defer
* all decisions about its contents to libssl.
diff --git a/crypto/engine/eng_cnf.c b/crypto/engine/eng_cnf.c
index dcc30b6c62..0fb576c847 100644
--- a/crypto/engine/eng_cnf.c
+++ b/crypto/engine/eng_cnf.c
@@ -14,8 +14,6 @@
#include <openssl/conf.h>
#include <openssl/trace.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
/* ENGINE config module */
static const char *skip_dot(const char *name)
diff --git a/crypto/evp/evp_cnf.c b/crypto/evp/evp_cnf.c
index 455b258a9a..b6f33795a1 100644
--- a/crypto/evp/evp_cnf.c
+++ b/crypto/evp/evp_cnf.c
@@ -16,8 +16,6 @@
#include <openssl/trace.h>
#include "crypto/evp.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Algorithm configuration module. */
static int alg_module_init(CONF_IMODULE *md, const CONF *cnf)
diff --git a/crypto/http/http_client.c b/crypto/http/http_client.c
index 5a78d67ca4..1a68228548 100644
--- a/crypto/http/http_client.c
+++ b/crypto/http/http_client.c
@@ -25,8 +25,6 @@
#include "http_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
#define HTTP_PREFIX "HTTP/"
#define HTTP_VERSION_PATT "1." /* allow 1.x */
#define HTTP_VERSION_STR_LEN 3
diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c
index 5007a726d2..a8fd7b278a 100644
--- a/crypto/provider_conf.c
+++ b/crypto/provider_conf.c
@@ -15,7 +15,6 @@
#include "internal/provider.h"
DEFINE_STACK_OF(OSSL_PROVIDER)
-DEFINE_STACK_OF(CONF_VALUE)
/* PROVIDER config module */
diff --git a/crypto/ts/ts_conf.c b/crypto/ts/ts_conf.c
index 9d4011519e..5418bc8bbf 100644
--- a/crypto/ts/ts_conf.c
+++ b/crypto/ts/ts_conf.c
@@ -18,8 +18,6 @@
#include <openssl/engine.h>
#include <openssl/ts.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Macro definitions for the configuration file. */
#define BASE_SECTION "tsa"
#define ENV_DEFAULT_TSA "default_tsa"
diff --git a/crypto/ts/ts_rsp_print.c b/crypto/ts/ts_rsp_print.c
index e74ef452cc..ca2d8a6dc1 100644
--- a/crypto/ts/ts_rsp_print.c
+++ b/crypto/ts/ts_rsp_print.c
@@ -15,8 +15,6 @@
#include <openssl/ts.h>
#include "ts_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
struct status_map_st {
int bit;
const char *text;
diff --git a/crypto/x509/v3_addr.c b/crypto/x509/v3_addr.c
index f281267b07..64127cff6b 100644
--- a/crypto/x509/v3_addr.c
+++ b/crypto/x509/v3_addr.c
@@ -26,8 +26,6 @@
#ifndef OPENSSL_NO_RFC3779
-DEFINE_STACK_OF(CONF_VALUE)
-
/*
* OpenSSL ASN.1 template translation of RFC 3779 2.2.3.
*/
diff --git a/crypto/x509/v3_akey.c b/crypto/x509/v3_akey.c
index 50dca6ce5d..a3061c9a8f 100644
--- a/crypto/x509/v3_akey.c
+++ b/crypto/x509/v3_akey.c
@@ -15,8 +15,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
AUTHORITY_KEYID *akeyid,
STACK_OF(CONF_VALUE)
diff --git a/crypto/x509/v3_alt.c b/crypto/x509/v3_alt.c
index f810fc6c42..caa2f23220 100644
--- a/crypto/x509/v3_alt.c
+++ b/crypto/x509/v3_alt.c
@@ -14,8 +14,6 @@
#include <openssl/bio.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static GENERAL_NAMES *v2i_subject_alt(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx,
STACK_OF(CONF_VALUE) *nval);
diff --git a/crypto/x509/v3_asid.c b/crypto/x509/v3_asid.c
index 67160aac26..93b345a0b8 100644
--- a/crypto/x509/v3_asid.c
+++ b/crypto/x509/v3_asid.c
@@ -56,8 +56,6 @@ IMPLEMENT_ASN1_FUNCTIONS(ASIdOrRange)
IMPLEMENT_ASN1_FUNCTIONS(ASIdentifierChoice)
IMPLEMENT_ASN1_FUNCTIONS(ASIdentifiers)
-DEFINE_STACK_OF(CONF_VALUE)
-
/*
* i2r method for an ASIdentifierChoice.
*/
diff --git a/crypto/x509/v3_bcons.c b/crypto/x509/v3_bcons.c
index 01d38473a3..7a06a9d0ff 100644
--- a/crypto/x509/v3_bcons.c
+++ b/crypto/x509/v3_bcons.c
@@ -16,8 +16,6 @@
#include "ext_dat.h"
#include "x509_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(CONF_VALUE) *i2v_BASIC_CONSTRAINTS(X509V3_EXT_METHOD *method,
BASIC_CONSTRAINTS *bcons,
STACK_OF(CONF_VALUE)
diff --git a/crypto/x509/v3_bitst.c b/crypto/x509/v3_bitst.c
index 02d40863a6..21511603c2 100644
--- a/crypto/x509/v3_bitst.c
+++ b/crypto/x509/v3_bitst.c
@@ -13,8 +13,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static BIT_STRING_BITNAME ns_cert_type_table[] = {
{0, "SSL Client", "client"},
{1, "SSL Server", "server"},
diff --git a/crypto/x509/v3_conf.c b/crypto/x509/v3_conf.c
index 3471ce098f..918e96e709 100644
--- a/crypto/x509/v3_conf.c
+++ b/crypto/x509/v3_conf.c
@@ -17,8 +17,6 @@
#include "crypto/x509.h"
#include <openssl/x509v3.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
static int v3_check_critical(const char **value);
static int v3_check_generic(const char **value);
static X509_EXTENSION *do_ext_nconf(CONF *conf, X509V3_CTX *ctx, int ext_nid,
diff --git a/crypto/x509/v3_cpols.c b/crypto/x509/v3_cpols.c
index f7dcfb5dce..9a227e4058 100644
--- a/crypto/x509/v3_cpols.c
+++ b/crypto/x509/v3_cpols.c
@@ -18,8 +18,6 @@
#include "pcy_local.h"
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Certificate policies extension support: this one is a bit complex... */
static int i2r_certpol(X509V3_EXT_METHOD *method, STACK_OF(POLICYINFO) *pol,
diff --git a/crypto/x509/v3_crld.c b/crypto/x509/v3_crld.c
index 19b016227f..81ea31b16f 100644
--- a/crypto/x509/v3_crld.c
+++ b/crypto/x509/v3_crld.c
@@ -18,8 +18,6 @@
#include "ext_dat.h"
#include "x509_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static void *v2i_crld(const X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
static int i2r_crldp(const X509V3_EXT_METHOD *method, void *pcrldp, BIO *out,
diff --git a/crypto/x509/v3_extku.c b/crypto/x509/v3_extku.c
index b96fb58ac8..b9a1447b82 100644
--- a/crypto/x509/v3_extku.c
+++ b/crypto/x509/v3_extku.c
@@ -14,8 +14,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static void *v2i_EXTENDED_KEY_USAGE(const X509V3_EXT_METHOD *method,
X509V3_CTX *ctx,
STACK_OF(CONF_VALUE) *nval);
diff --git a/crypto/x509/v3_info.c b/crypto/x509/v3_info.c
index 2c788d89ec..3711b51e18 100644
--- a/crypto/x509/v3_info.c
+++ b/crypto/x509/v3_info.c
@@ -15,8 +15,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD
*method, AUTHORITY_INFO_ACCESS
*ainfo, STACK_OF(CONF_VALUE)
diff --git a/crypto/x509/v3_ist.c b/crypto/x509/v3_ist.c
index ceb127f637..6db4f19913 100644
--- a/crypto/x509/v3_ist.c
+++ b/crypto/x509/v3_ist.c
@@ -15,8 +15,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/*
* Issuer Sign Tool (1.2.643.100.112) The name of the tool used to signs the subject (ASN1_SEQUENCE)
* This extention is required to obtain the status of a qualified certificate at Russian Federation.
diff --git a/crypto/x509/v3_ncons.c b/crypto/x509/v3_ncons.c
index 6c73745904..6af8edecdb 100644
--- a/crypto/x509/v3_ncons.c
+++ b/crypto/x509/v3_ncons.c
@@ -20,8 +20,6 @@
#include "crypto/punycode.h"
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static void *v2i_NAME_CONSTRAINTS(const X509V3_EXT_METHOD *method,
X509V3_CTX *ctx,
STACK_OF(CONF_VALUE) *nval);
diff --git a/crypto/x509/v3_pci.c b/crypto/x509/v3_pci.c
index 714733684b..febb07f7d4 100644
--- a/crypto/x509/v3_pci.c
+++ b/crypto/x509/v3_pci.c
@@ -49,8 +49,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static int i2r_pci(X509V3_EXT_METHOD *method, PROXY_CERT_INFO_EXTENSION *ext,
BIO *out, int indent);
static PROXY_CERT_INFO_EXTENSION *r2i_pci(X509V3_EXT_METHOD *method,
diff --git a/crypto/x509/v3_pcons.c b/crypto/x509/v3_pcons.c
index 88a9497504..e61a14e254 100644
--- a/crypto/x509/v3_pcons.c
+++ b/crypto/x509/v3_pcons.c
@@ -15,8 +15,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(CONF_VALUE) *i2v_POLICY_CONSTRAINTS(const X509V3_EXT_METHOD
*method, void *bcons, STACK_OF(CONF_VALUE)
*extlist);
diff --git a/crypto/x509/v3_pmaps.c b/crypto/x509/v3_pmaps.c
index c63a0e4cb9..a2b95c48e4 100644
--- a/crypto/x509/v3_pmaps.c
+++ b/crypto/x509/v3_pmaps.c
@@ -14,8 +14,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static void *v2i_POLICY_MAPPINGS(const X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);
static STACK_OF(CONF_VALUE) *i2v_POLICY_MAPPINGS(const X509V3_EXT_METHOD
diff --git a/crypto/x509/v3_prn.c b/crypto/x509/v3_prn.c
index de39a0f0b0..1e4516a713 100644
--- a/crypto/x509/v3_prn.c
+++ b/crypto/x509/v3_prn.c
@@ -14,8 +14,6 @@
#include <openssl/conf.h>
#include <openssl/x509v3.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Extension printing routines */
static int unknown_ext_print(BIO *out, const unsigned char *ext, int extlen,
diff --git a/crypto/x509/v3_sxnet.c b/crypto/x509/v3_sxnet.c
index ce878c3779..b7623b1051 100644
--- a/crypto/x509/v3_sxnet.c
+++ b/crypto/x509/v3_sxnet.c
@@ -15,8 +15,6 @@
#include <openssl/x509v3.h>
#include "ext_dat.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
/* Support for Thawte strong extranet extension */
#define SXNET_TEST
diff --git a/crypto/x509/v3_tlsf.c b/crypto/x509/v3_tlsf.c
index 1ccf7dab10..bc0a463dec 100644
--- a/crypto/x509/v3_tlsf.c
+++ b/crypto/x509/v3_tlsf.c
@@ -16,8 +16,6 @@
#include "ext_dat.h"
#include "x509_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(CONF_VALUE) *i2v_TLS_FEATURE(const X509V3_EXT_METHOD *method,
TLS_FEATURE *tls_feature,
STACK_OF(CONF_VALUE) *ext_list);
diff --git a/crypto/x509/v3_utl.c b/crypto/x509/v3_utl.c
index 8acdfd3296..001c5f2296 100644
--- a/crypto/x509/v3_utl.c
+++ b/crypto/x509/v3_utl.c
@@ -21,8 +21,6 @@
#include "ext_dat.h"
#include "x509_local.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static char *strip_spaces(char *name);
static int sk_strcmp(const char *const *a, const char *const *b);
static STACK_OF(OPENSSL_STRING) *get_email(const X509_NAME *name,
diff --git a/include/openssl/conf.h b/include/openssl/conf.h.in
index 24cdcbb1cf..2f1fceb2fb 100644
--- a/include/openssl/conf.h
+++ b/include/openssl/conf.h.in
@@ -1,4 +1,6 @@
/*
+ * {- join("\n * ", @autowarntext) -}
+ *
* Copyright 1995-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_CONF_H
# define OPENSSL_CONF_H
# pragma once
@@ -33,7 +39,9 @@ typedef struct {
char *value;
} CONF_VALUE;
-DEFINE_OR_DECLARE_STACK_OF(CONF_VALUE)
+{-
+ generate_stack_macros("CONF_VALUE");
+-}
DEFINE_LHASH_OF(CONF_VALUE);
diff --git a/test/confdump.c b/test/confdump.c
index 2a72f5b454..ba760f04a8 100644
--- a/test/confdump.c
+++ b/test/confdump.c
@@ -14,8 +14,6 @@
#include <openssl/safestack.h>
#include <openssl/err.h>
-DEFINE_STACK_OF(CONF_VALUE)
-
static STACK_OF(OPENSSL_CSTRING) *section_names = NULL;
static void collect_section_name(CONF_VALUE *v)
diff --git a/test/http_test.c b/test/http_test.c
index f073dcd7ff..437fca97dc 100644
--- a/test/http_test.c
+++ b/test/http_test.c
@@ -15,8 +15,6 @@
#include "testutil.h"
-DEFINE_STACK_OF(CONF_VALUE)
-
static const ASN1_ITEM *x509_it = NULL;
static X509 *x509 = NULL;
#define SERVER "mock.server"
diff --git a/test/ssl_test_ctx.c b/test/ssl_test_ctx.c
index c3adb50581..f440601799 100644
--- a/test/ssl_test_ctx.c
+++ b/test/ssl_test_ctx.c
@@ -20,8 +20,6 @@
# define strcasecmp _stricmp
#endif
-DEFINE_STACK_OF(CONF_VALUE)
-
static const int default_app_data_size = 256;
/* Default set to be as small as possible to exercise fragmentation. */
static const int default_max_fragment_size = 512;