Only declare stacks in headers
authorDr. Stephen Henson <steve@openssl.org>
Wed, 6 Jan 2016 02:54:18 +0000 (02:54 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 7 Jan 2016 18:00:51 +0000 (18:00 +0000)
Don't define stacks in C source files: it causes warnings
about unused functions in some compilers.

Reviewed-by: Richard Levitte <levitte@openssl.org>
22 files changed:
crypto/asn1/ameth_lib.c
crypto/asn1/asn1_locl.h
crypto/asn1/asn_mime.c
crypto/evp/evp_locl.h
crypto/evp/evp_pbe.c
crypto/evp/pmeth_lib.c
crypto/ex_data.c
crypto/include/internal/asn1_int.h
crypto/include/internal/cryptlib.h
crypto/include/internal/evp_int.h
crypto/lock.c
crypto/objects/Makefile
crypto/objects/o_names.c
crypto/objects/o_names.h [new file with mode: 0644]
crypto/objects/obj_xref.c
crypto/objects/obj_xref.h
crypto/objects/objxref.pl
crypto/x509/by_dir.c
crypto/x509/x509_lcl.h
crypto/x509/x_name.c
include/internal/dane.h
include/openssl/ssl.h

index 1febfe91ba7b093d46c6d7c8705962046bd2ffab..a932028911a579f13069a2637766db408d4b875d 100644 (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);
-DEFINE_CONST_STACK_OF(EVP_PKEY_ASN1_METHOD)
 static STACK_OF(EVP_PKEY_ASN1_METHOD) *app_methods = NULL;
 
 #ifdef TEST
index d076fa071c14a8fcf2320eeaabf8140305f6c8ad..c47eb44938fe6221dd04d8baebf8fbe6fa760d22 100644 (file)
@@ -87,6 +87,11 @@ struct asn1_sctx_st {
     void *app_data;
 } /* 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 */
 extern const char *_asn1_mon[12];
 
index f138db9c81119e251a2be9966c35d5812e1e3ab7..58d53240afa588d2dc1ff272ccf4d3e869be9a7b 100644 (file)
  * from parameter values. Quotes are stripped off
  */
 
-typedef struct {
+struct mime_param_st {
     char *param_name;           /* Param name e.g. "micalg" */
     char *param_value;          /* Param value e.g. "sha1" */
-} MIME_PARAM;
+};
 
-DEFINE_STACK_OF(MIME_PARAM)
-
-typedef struct {
+struct mime_header_st {
     char *name;                 /* Name of line e.g. "content-type" */
     char *value;                /* Value of line e.g. "text/plain" */
     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,
                             const ASN1_ITEM *it);
index 89ac37ed63ee00e7a538899b6d9e3f507a4da7b3..1c879b462414db7abc1ccc52142290818d8978d2 100644 (file)
@@ -295,3 +295,6 @@ struct evp_Encode_Ctx_st {
     int line_num;
     int expect_nl;
 };
+
+typedef struct evp_pbe_st EVP_PBE_CTL;
+DEFINE_STACK_OF(EVP_PBE_CTL)
index 731ae91a7adff63292a27fa63e9be582c040edc2..da7c7d335f0d595ad5656e7b179755790d3c2cf7 100644 (file)
 
 /* Setup a cipher context from a PBE algorithm */
 
-typedef struct {
+struct evp_pbe_st {
     int pbe_type;
     int pbe_nid;
     int cipher_nid;
     int md_nid;
     EVP_PBE_KEYGEN *keygen;
-} EVP_PBE_CTL;
+};
 
-DEFINE_STACK_OF(EVP_PBE_CTL)
 static STACK_OF(EVP_PBE_CTL) *pbe_algs;
 
 static const EVP_PBE_CTL builtin_pbe[] = {
index aaba42aa1ff04de31e2048208506e01b289aead0..f5d558feca3f807f5b39b58400a1e4c12d03b63a 100644 (file)
@@ -69,7 +69,6 @@
 
 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 const EVP_PKEY_METHOD *standard_methods[] = {
index 76e4b3b6a214d4d6c6c4ea9bbb7d75550d8e829b..fcdc83f9d130375822ba5a6e837aa679072cd54b 100644 (file)
 #include "internal/cryptlib.h"
 #include <openssl/lhash.h>
 
-
-
 /*
  * Each structure type (sometimes called a class), that supports
  * exdata has a stack of callbacks for each instance.
  */
-typedef struct ex_callback_st {
+struct ex_callback_st {
     long argl;                  /* Arbitary long */
     void *argp;                 /* Arbitary void * */
     CRYPTO_EX_new *new_func;
     CRYPTO_EX_free *free_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
index 966f3aa8c6dd7eba47202f75c64f22c7b1788bfe..c227224e59b4231c0f471cf232cee42f4f8c3fe3 100644 (file)
@@ -104,6 +104,8 @@ struct evp_pkey_asn1_method_st {
                       ASN1_BIT_STRING *sig);
 } /* 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 dh_asn1_meth;
 extern const EVP_PKEY_ASN1_METHOD dhx_asn1_meth;
index d7018b61e7f2b7baa8392a96aaf9e88a7d704ce5..1265a042f2d1e8ccd924e8779c3898b3ff3f4eb5 100644 (file)
 extern "C" {
 #endif
 
+typedef struct ex_callback_st EX_CALLBACK;
+
+DEFINE_STACK_OF(EX_CALLBACK)
+
+DEFINE_STACK_OF(CRYPTO_dynlock)
+
+
 # ifndef OPENSSL_SYS_VMS
 #  define X509_CERT_AREA          OPENSSLDIR
 #  define X509_CERT_DIR           OPENSSLDIR "/certs"
index 4372d4bae0a1ce3c4fcba5b3d13823d5fd8de532..831d9684add2a62d01c74431c1e22c7123048c17 100644 (file)
@@ -120,6 +120,8 @@ struct evp_pkey_method_st {
     int (*ctrl_str) (EVP_PKEY_CTX *ctx, const char *type, const char *value);
 } /* EVP_PKEY_METHOD */ ;
 
+DEFINE_CONST_STACK_OF(EVP_PKEY_METHOD)
+
 void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx);
 
 extern const EVP_PKEY_METHOD cmac_pkey_meth;
index ec01a815bad8c27e9f2b29b7721b08b354106ff6..12210da96b5323df679b0bc9281e7c5146f892bb 100644 (file)
 static double OpenSSL_MSVC5_hack = 0.0; /* and for VC1.5 */
 #endif
 
-DEFINE_STACK_OF(CRYPTO_dynlock)
-
 /* real #defines in crypto.h, keep these upto date */
 static const char *const lock_names[CRYPTO_NUM_LOCKS] = {
     "<<ERROR>>",
index 7bc0aac3cf9f8100f0561433e5c22ed5bec30025..d6ccb8a23537edff46435131c23563adfc978a7b 100644 (file)
@@ -21,7 +21,7 @@ LIBOBJ= o_names.o obj_dat.o obj_lib.o obj_err.o obj_xref.o
 
 SRC= $(LIBSRC)
 
-HEADER=        obj_dat.h obj_xref.h
+HEADER=        obj_dat.h obj_xref.h o_names.h
 
 ALL=    $(GENERAL) $(SRC) $(HEADER)
 
index 0839feeee6aed33f44384b6680442013db8947ba..aa9b400ef8c0836de5ad63404ae3d33f14d87ff4 100644 (file)
@@ -7,6 +7,7 @@
 #include <openssl/objects.h>
 #include <openssl/safestack.h>
 #include <openssl/e_os2.h>
+#include "o_names.h"
 
 /*
  * 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 int names_type_num = OBJ_NAME_TYPE_NUM;
 
-typedef struct name_funcs_st {
+struct name_funcs_st {
     unsigned long (*hash_func) (const char *name);
     int (*cmp_func) (const char *a, const char *b);
     void (*free_func) (const char *, int, const char *);
-} NAME_FUNCS;
-
-DEFINE_STACK_OF(NAME_FUNCS)
+};
 
 static STACK_OF(NAME_FUNCS) *name_funcs_stack;
 
diff --git a/crypto/objects/o_names.h b/crypto/objects/o_names.h
new file mode 100644 (file)
index 0000000..914ed33
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+typedef struct name_funcs_st NAME_FUNCS;
+DEFINE_STACK_OF(NAME_FUNCS)
index 15426fe342f1ab5a4a5e54bfdb8eaef903e7e297..62ff882125af36b99090c53a1e05e06491561941 100644 (file)
@@ -61,8 +61,6 @@
 #include "obj_xref.h"
 #include "e_os.h"
 
-DEFINE_STACK_OF(nid_triple)
-
 static STACK_OF(nid_triple) *sig_app, *sigx_app;
 
 static int sig_cmp(const nid_triple *a, const nid_triple *b)
index c07adee4f25153e7d40a0ddf107b524a023446e5..7096ca544224ee0280d70b40945510182bf89010 100644 (file)
@@ -6,6 +6,8 @@ typedef struct {
     int pkey_id;
 } nid_triple;
 
+DEFINE_STACK_OF(nid_triple)
+
 static const nid_triple sigoid_srt[] = {
     {NID_md2WithRSAEncryption, NID_md2, NID_rsaEncryption},
     {NID_md5WithRSAEncryption, NID_md5, NID_rsaEncryption},
index a1900cab5c6605ca5fd9a9560073c5321d792c3b..05b987ad16d161261eaaaa6a8c2d360157a424f8 100644 (file)
@@ -68,6 +68,8 @@ typedef struct {
     int pkey_id;
 } nid_triple;
 
+DEFINE_STACK_OF(nid_triple)
+
 static const nid_triple sigoid_srt[] = {
 EOF
 
index 7e49daadfdb5a9f3ddfbf2efa311902bddee81cb..717d258c34681be0aecaa7ddc85d3a8acb4e009c 100644 (file)
 #include <openssl/lhash.h>
 #include <openssl/x509.h>
 #include "internal/x509_int.h"
+#include "x509_lcl.h"
 
-typedef struct lookup_dir_hashes_st {
+struct lookup_dir_hashes_st {
     unsigned long hash;
     int suffix;
-} BY_DIR_HASH;
+};
 
-typedef struct lookup_dir_entry_st {
+struct lookup_dir_entry_st {
     char *dir;
     int dir_type;
     STACK_OF(BY_DIR_HASH) *hashes;
-} BY_DIR_ENTRY;
+};
 
 typedef struct lookup_dir_st {
     BUF_MEM *buffer;
     STACK_OF(BY_DIR_ENTRY) *dirs;
 } 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,
                     char **ret);
 static int new_dir(X509_LOOKUP *lu);
index e5c05ed252445ef80f7538511255ddbf12058df9..724c241e69ec0110ed5239743ed5078dd8830b7d 100644 (file)
@@ -113,3 +113,10 @@ struct x509_crl_method_st {
                        ASN1_INTEGER *ser, X509_NAME *issuer);
     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)
index c12b248f3afc2a83a1d69f8984f595f6a8719fb8..f151da4b9a6bcf29f14788993c217908116a1060 100644 (file)
@@ -63,9 +63,7 @@
 #include <openssl/x509.h>
 #include "internal/x509_int.h"
 #include "internal/asn1_int.h"
-
-typedef STACK_OF(X509_NAME_ENTRY) STACK_OF_X509_NAME_ENTRY;
-DEFINE_STACK_OF(STACK_OF_X509_NAME_ENTRY)
+#include "x509_lcl.h"
 
 static int x509_name_ex_d2i(ASN1_VALUE **val,
                             const unsigned char **in, long len,
index cbe33f3e489020fb0da95d9a416f840c8b52f07a..0d35cc2405e3972164fc5880a9c586a27b6fe32f 100644 (file)
@@ -97,6 +97,8 @@ typedef struct danetls_record_st {
     EVP_PKEY *spki;
 } danetls_record;
 
+DEFINE_STACK_OF(danetls_record)
+
 /*
  * Shared DANE context
  */
index 62325c5b35d984d62e839481a48c5db4696ab8f0..fdee4833b856a8097912d75be4c35aa1acbb5ec0 100644 (file)
@@ -327,8 +327,6 @@ typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
 
 DEFINE_CONST_STACK_OF(SSL_CIPHER)
 
-DECLARE_STACK_OF(danetls_record)
-
 /* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
 typedef struct srtp_protection_profile_st {
     const char *name;