Only declare stacks in headers

Don't define stacks in C source files: it causes warnings
about unused functions in some compilers.

Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Dr. Stephen Henson 2016-01-06 02:54:18 +00:00
parent 8588571572
commit 4a1f3f2741
22 changed files with 54 additions and 40 deletions

View File

@ -92,7 +92,6 @@ static const EVP_PKEY_ASN1_METHOD *standard_methods[] = {
}; };
typedef int sk_cmp_fn_type(const char *const *a, const char *const *b); typedef int sk_cmp_fn_type(const char *const *a, const char *const *b);
DEFINE_CONST_STACK_OF(EVP_PKEY_ASN1_METHOD)
static STACK_OF(EVP_PKEY_ASN1_METHOD) *app_methods = NULL; static STACK_OF(EVP_PKEY_ASN1_METHOD) *app_methods = NULL;
#ifdef TEST #ifdef TEST

View File

@ -87,6 +87,11 @@ struct asn1_sctx_st {
void *app_data; void *app_data;
} /* ASN1_SCTX */ ; } /* ASN1_SCTX */ ;
typedef struct mime_param_st MIME_PARAM;
DEFINE_STACK_OF(MIME_PARAM)
typedef struct mime_header_st MIME_HEADER;
DEFINE_STACK_OF(MIME_HEADER)
/* Month values for printing out times */ /* Month values for printing out times */
extern const char *_asn1_mon[12]; extern const char *_asn1_mon[12];

View File

@ -73,20 +73,16 @@
* from parameter values. Quotes are stripped off * from parameter values. Quotes are stripped off
*/ */
typedef struct { struct mime_param_st {
char *param_name; /* Param name e.g. "micalg" */ char *param_name; /* Param name e.g. "micalg" */
char *param_value; /* Param value e.g. "sha1" */ char *param_value; /* Param value e.g. "sha1" */
} MIME_PARAM; };
DEFINE_STACK_OF(MIME_PARAM) struct mime_header_st {
typedef struct {
char *name; /* Name of line e.g. "content-type" */ char *name; /* Name of line e.g. "content-type" */
char *value; /* Value of line e.g. "text/plain" */ char *value; /* Value of line e.g. "text/plain" */
STACK_OF(MIME_PARAM) *params; /* Zero or more parameters */ STACK_OF(MIME_PARAM) *params; /* Zero or more parameters */
} MIME_HEADER; };
DEFINE_STACK_OF(MIME_HEADER)
static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags, static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
const ASN1_ITEM *it); const ASN1_ITEM *it);

View File

@ -295,3 +295,6 @@ struct evp_Encode_Ctx_st {
int line_num; int line_num;
int expect_nl; int expect_nl;
}; };
typedef struct evp_pbe_st EVP_PBE_CTL;
DEFINE_STACK_OF(EVP_PBE_CTL)

View File

@ -68,15 +68,14 @@
/* Setup a cipher context from a PBE algorithm */ /* Setup a cipher context from a PBE algorithm */
typedef struct { struct evp_pbe_st {
int pbe_type; int pbe_type;
int pbe_nid; int pbe_nid;
int cipher_nid; int cipher_nid;
int md_nid; int md_nid;
EVP_PBE_KEYGEN *keygen; EVP_PBE_KEYGEN *keygen;
} EVP_PBE_CTL; };
DEFINE_STACK_OF(EVP_PBE_CTL)
static STACK_OF(EVP_PBE_CTL) *pbe_algs; static STACK_OF(EVP_PBE_CTL) *pbe_algs;
static const EVP_PBE_CTL builtin_pbe[] = { static const EVP_PBE_CTL builtin_pbe[] = {

View File

@ -69,7 +69,6 @@
typedef int sk_cmp_fn_type(const char *const *a, const char *const *b); typedef int sk_cmp_fn_type(const char *const *a, const char *const *b);
DEFINE_CONST_STACK_OF(EVP_PKEY_METHOD)
static STACK_OF(EVP_PKEY_METHOD) *app_pkey_methods = NULL; static STACK_OF(EVP_PKEY_METHOD) *app_pkey_methods = NULL;
static const EVP_PKEY_METHOD *standard_methods[] = { static const EVP_PKEY_METHOD *standard_methods[] = {

View File

@ -111,21 +111,17 @@
#include "internal/cryptlib.h" #include "internal/cryptlib.h"
#include <openssl/lhash.h> #include <openssl/lhash.h>
/* /*
* Each structure type (sometimes called a class), that supports * Each structure type (sometimes called a class), that supports
* exdata has a stack of callbacks for each instance. * exdata has a stack of callbacks for each instance.
*/ */
typedef struct ex_callback_st { struct ex_callback_st {
long argl; /* Arbitary long */ long argl; /* Arbitary long */
void *argp; /* Arbitary void * */ void *argp; /* Arbitary void * */
CRYPTO_EX_new *new_func; CRYPTO_EX_new *new_func;
CRYPTO_EX_free *free_func; CRYPTO_EX_free *free_func;
CRYPTO_EX_dup *dup_func; CRYPTO_EX_dup *dup_func;
} EX_CALLBACK; };
DEFINE_STACK_OF(EX_CALLBACK)
/* /*
* The state for each class. This could just be a typedef, but * The state for each class. This could just be a typedef, but

View File

@ -104,6 +104,8 @@ struct evp_pkey_asn1_method_st {
ASN1_BIT_STRING *sig); ASN1_BIT_STRING *sig);
} /* EVP_PKEY_ASN1_METHOD */ ; } /* EVP_PKEY_ASN1_METHOD */ ;
DEFINE_CONST_STACK_OF(EVP_PKEY_ASN1_METHOD)
extern const EVP_PKEY_ASN1_METHOD cmac_asn1_meth; extern const EVP_PKEY_ASN1_METHOD cmac_asn1_meth;
extern const EVP_PKEY_ASN1_METHOD dh_asn1_meth; extern const EVP_PKEY_ASN1_METHOD dh_asn1_meth;
extern const EVP_PKEY_ASN1_METHOD dhx_asn1_meth; extern const EVP_PKEY_ASN1_METHOD dhx_asn1_meth;

View File

@ -79,6 +79,13 @@
extern "C" { extern "C" {
#endif #endif
typedef struct ex_callback_st EX_CALLBACK;
DEFINE_STACK_OF(EX_CALLBACK)
DEFINE_STACK_OF(CRYPTO_dynlock)
# ifndef OPENSSL_SYS_VMS # ifndef OPENSSL_SYS_VMS
# define X509_CERT_AREA OPENSSLDIR # define X509_CERT_AREA OPENSSLDIR
# define X509_CERT_DIR OPENSSLDIR "/certs" # define X509_CERT_DIR OPENSSLDIR "/certs"

View File

@ -120,6 +120,8 @@ struct evp_pkey_method_st {
int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value); int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value);
} /* EVP_PKEY_METHOD */ ; } /* EVP_PKEY_METHOD */ ;
DEFINE_CONST_STACK_OF(EVP_PKEY_METHOD)
void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx); void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx);
extern const EVP_PKEY_METHOD cmac_pkey_meth; extern const EVP_PKEY_METHOD cmac_pkey_meth;

View File

@ -121,8 +121,6 @@
static double OpenSSL_MSVC5_hack = 0.0; /* and for VC1.5 */ static double OpenSSL_MSVC5_hack = 0.0; /* and for VC1.5 */
#endif #endif
DEFINE_STACK_OF(CRYPTO_dynlock)
/* real #defines in crypto.h, keep these upto date */ /* real #defines in crypto.h, keep these upto date */
static const char *const lock_names[CRYPTO_NUM_LOCKS] = { static const char *const lock_names[CRYPTO_NUM_LOCKS] = {
"<<ERROR>>", "<<ERROR>>",

View File

@ -21,7 +21,7 @@ LIBOBJ= o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o
SRC= $(LIBSRC) SRC= $(LIBSRC)
HEADER= obj_dat.h obj_xref.h HEADER= obj_dat.h obj_xref.h o_names.h
ALL= $(GENERAL) $(SRC) $(HEADER) ALL= $(GENERAL) $(SRC) $(HEADER)

View File

@ -7,6 +7,7 @@
#include <openssl/objects.h> #include <openssl/objects.h>
#include <openssl/safestack.h> #include <openssl/safestack.h>
#include <openssl/e_os2.h> #include <openssl/e_os2.h>
#include "o_names.h"
/* /*
* Later versions of DEC C has started to add lnkage information to certain * Later versions of DEC C has started to add lnkage information to certain
@ -28,13 +29,11 @@ DECLARE_LHASH_OF(OBJ_NAME);
static LHASH_OF(OBJ_NAME) *names_lh = NULL; static LHASH_OF(OBJ_NAME) *names_lh = NULL;
static int names_type_num = OBJ_NAME_TYPE_NUM; static int names_type_num = OBJ_NAME_TYPE_NUM;
typedef struct name_funcs_st { struct name_funcs_st {
unsigned long (*hash_func) (const char *name); unsigned long (*hash_func) (const char *name);
int (*cmp_func) (const char *a, const char *b); int (*cmp_func) (const char *a, const char *b);
void (*free_func) (const char *, int, const char *); void (*free_func) (const char *, int, const char *);
} NAME_FUNCS; };
DEFINE_STACK_OF(NAME_FUNCS)
static STACK_OF(NAME_FUNCS) *name_funcs_stack; static STACK_OF(NAME_FUNCS) *name_funcs_stack;

4
crypto/objects/o_names.h Normal file
View File

@ -0,0 +1,4 @@
typedef struct name_funcs_st NAME_FUNCS;
DEFINE_STACK_OF(NAME_FUNCS)

View File

@ -61,8 +61,6 @@
#include "obj_xref.h" #include "obj_xref.h"
#include "e_os.h" #include "e_os.h"
DEFINE_STACK_OF(nid_triple)
static STACK_OF(nid_triple) *sig_app, *sigx_app; static STACK_OF(nid_triple) *sig_app, *sigx_app;
static int sig_cmp(const nid_triple *a, const nid_triple *b) static int sig_cmp(const nid_triple *a, const nid_triple *b)

View File

@ -6,6 +6,8 @@ typedef struct {
int pkey_id; int pkey_id;
} nid_triple; } nid_triple;
DEFINE_STACK_OF(nid_triple)
static const nid_triple sigoid_srt[] = { static const nid_triple sigoid_srt[] = {
{NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption}, {NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption},
{NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption}, {NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption},

View File

@ -68,6 +68,8 @@ typedef struct {
int pkey_id; int pkey_id;
} nid_triple; } nid_triple;
DEFINE_STACK_OF(nid_triple)
static const nid_triple sigoid_srt[] = { static const nid_triple sigoid_srt[] = {
EOF EOF

View File

@ -73,26 +73,24 @@
#include <openssl/lhash.h> #include <openssl/lhash.h>
#include <openssl/x509.h> #include <openssl/x509.h>
#include "internal/x509_int.h" #include "internal/x509_int.h"
#include "x509_lcl.h"
typedef struct lookup_dir_hashes_st { struct lookup_dir_hashes_st {
unsigned long hash; unsigned long hash;
int suffix; int suffix;
} BY_DIR_HASH; };
typedef struct lookup_dir_entry_st { struct lookup_dir_entry_st {
char *dir; char *dir;
int dir_type; int dir_type;
STACK_OF(BY_DIR_HASH) *hashes; STACK_OF(BY_DIR_HASH) *hashes;
} BY_DIR_ENTRY; };
typedef struct lookup_dir_st { typedef struct lookup_dir_st {
BUF_MEM *buffer; BUF_MEM *buffer;
STACK_OF(BY_DIR_ENTRY) *dirs; STACK_OF(BY_DIR_ENTRY) *dirs;
} BY_DIR; } BY_DIR;
DEFINE_STACK_OF(BY_DIR_HASH)
DEFINE_STACK_OF(BY_DIR_ENTRY)
static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
char **ret); char **ret);
static int new_dir(X509_LOOKUP *lu); static int new_dir(X509_LOOKUP *lu);

View File

@ -113,3 +113,10 @@ struct x509_crl_method_st {
ASN1_INTEGER *ser, X509_NAME *issuer); ASN1_INTEGER *ser, X509_NAME *issuer);
int (*crl_verify) (X509_CRL *crl, EVP_PKEY *pk); int (*crl_verify) (X509_CRL *crl, EVP_PKEY *pk);
}; };
typedef struct lookup_dir_hashes_st BY_DIR_HASH;
typedef struct lookup_dir_entry_st BY_DIR_ENTRY;
DEFINE_STACK_OF(BY_DIR_HASH)
DEFINE_STACK_OF(BY_DIR_ENTRY)
typedef STACK_OF(X509_NAME_ENTRY) STACK_OF_X509_NAME_ENTRY;
DEFINE_STACK_OF(STACK_OF_X509_NAME_ENTRY)

View File

@ -63,9 +63,7 @@
#include <openssl/x509.h> #include <openssl/x509.h>
#include "internal/x509_int.h" #include "internal/x509_int.h"
#include "internal/asn1_int.h" #include "internal/asn1_int.h"
#include "x509_lcl.h"
typedef STACK_OF(X509_NAME_ENTRY) STACK_OF_X509_NAME_ENTRY;
DEFINE_STACK_OF(STACK_OF_X509_NAME_ENTRY)
static int x509_name_ex_d2i(ASN1_VALUE **val, static int x509_name_ex_d2i(ASN1_VALUE **val,
const unsigned char **in, long len, const unsigned char **in, long len,

View File

@ -97,6 +97,8 @@ typedef struct danetls_record_st {
EVP_PKEY *spki; EVP_PKEY *spki;
} danetls_record; } danetls_record;
DEFINE_STACK_OF(danetls_record)
/* /*
* Shared DANE context * Shared DANE context
*/ */

View File

@ -327,8 +327,6 @@ typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
DEFINE_CONST_STACK_OF(SSL_CIPHER) DEFINE_CONST_STACK_OF(SSL_CIPHER)
DECLARE_STACK_OF(danetls_record)
/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
typedef struct srtp_protection_profile_st { typedef struct srtp_protection_profile_st {
const char *name; const char *name;