diff options
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 @@ -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; |