globals.txt 7.36 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
An initial review of the OpenSSL code was done to determine how many 
global variables where present.  The idea was to determine the amount of 
work required to pull the globals into an instance data structure in 
order to build a Library NLM for NetWare.  This file contains the results 
of the review.  Each file is listed along with the globals in the file.  
The initial review was done very quickly so this list is probably
not a comprehensive list.


cryptlib.c
===========================================

static STACK *app_locks=NULL;

static STACK_OF(CRYPTO_dynlock) *dyn_locks=NULL;

static void (MS_FAR *locking_callback)(int mode,int type,
   const char *file,int line)=NULL;
static int (MS_FAR *add_lock_callback)(int *pointer,int amount,
   int type,const char *file,int line)=NULL;
static unsigned long (MS_FAR *id_callback)(void)=NULL;
static struct CRYPTO_dynlock_value *(MS_FAR *dynlock_create_callback)
   (const char *file,int line)=NULL;
static void (MS_FAR *dynlock_lock_callback)(int mode,
   struct CRYPTO_dynlock_value *l, const char *file,int line)=NULL;
static void (MS_FAR *dynlock_destroy_callback)(struct CRYPTO_dynlock_value *l,
   const char *file,int line)=NULL;


mem.c
===========================================
static int allow_customize = 1;      /* we provide flexible functions for */
static int allow_customize_debug = 1;/* exchanging memory-related functions at

/* may be changed as long as `allow_customize' is set */
static void *(*malloc_locked_func)(size_t)  = malloc;
static void (*free_locked_func)(void *)     = free;
static void *(*malloc_func)(size_t)         = malloc;
static void *(*realloc_func)(void *, size_t)= realloc;
static void (*free_func)(void *)            = free;

/* use default functions from mem_dbg.c */
static void (*malloc_debug_func)(void *,int,const char *,int,int)
   = CRYPTO_dbg_malloc;
static void (*realloc_debug_func)(void *,void *,int,const char *,int,int)
   = CRYPTO_dbg_realloc;
static void (*free_debug_func)(void *,int) = CRYPTO_dbg_free;
static void (*set_debug_options_func)(long) = CRYPTO_dbg_set_options;
static long (*get_debug_options_func)(void) = CRYPTO_dbg_get_options;


mem_dbg.c
===========================================
static int mh_mode=CRYPTO_MEM_CHECK_OFF;
static unsigned long order = 0; /* number of memory requests */
static LHASH *mh=NULL; /* hash-table of memory requests (address as key) */

static LHASH *amih=NULL; /* hash-table with those app_mem_info_st's */
static long options =             /* extra information to be recorded */
static unsigned long disabling_thread = 0;


err.c
===========================================
static LHASH *error_hash=NULL;
static LHASH *thread_hash=NULL;

several files have routines with static "init" to track if error strings
   have been loaded ( may not want seperate error strings for each process )
   The "init" variable can't be left "global" because the error has is a ptr
   that is malloc'ed.  The malloc'ed error has is dependant on the "init"
   vars.

   files:
      pem_err.c
      cpt_err.c
      pk12err.c
      asn1_err.c
      bio_err.c
      bn_err.c
      buf_err.c
      comp_err.c
      conf_err.c
      cpt_err.c
      dh_err.c
      dsa_err.c
      dso_err.c
      evp_err.c
      obj_err.c
      pkcs7err.c
      rand_err.c
      rsa_err.c
      rsar_err.c
      ssl_err.c
      x509_err.c
      v3err.c
		err.c

These file have similar "init" globals but they are for other stuff not
error strings:

		bn_lib.c
		ecc_enc.c
		s23_clnt.c
		s23_meth.c
		s23_srvr.c
		s2_clnt.c
		s2_lib.c
		s2_meth.c
		s2_srvr.c
		s3_clnt.c
		s3_lib.c
		s3_srvr.c
		t1_clnt.c
		t1_meth.c
		t1_srvr.c

rand_lib.c
===========================================
static RAND_METHOD *rand_meth= &rand_ssleay_meth;

md_rand.c
===========================================
static int state_num=0,state_index=0;
static unsigned char state[STATE_SIZE+MD_DIGEST_LENGTH];
static unsigned char md[MD_DIGEST_LENGTH];
static long md_count[2]={0,0};
static double entropy=0;
static int initialized=0;

/* This should be set to 1 only when ssleay_rand_add() is called inside
   an already locked state, so it doesn't try to lock and thereby cause
   a hang.  And it should always be reset back to 0 before unlocking. */
static int add_do_not_lock=0;

obj_dat.c
============================================
static int new_nid=NUM_NID;
static LHASH *added=NULL;

b_sock.c
===========================================
static unsigned long BIO_ghbn_hits=0L;
static unsigned long BIO_ghbn_miss=0L;
static struct ghbn_cache_st
   {
   char name[129];
   struct hostent *ent;
   unsigned long order;
   } ghbn_cache[GHBN_NUM];

static int wsa_init_done=0;


bio_lib.c
===========================================
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *bio_meth=NULL;
static int bio_meth_num=0;


bn_lib.c
========================================
static int bn_limit_bits=0;
static int bn_limit_num=8;        /* (1<<bn_limit_bits) */
static int bn_limit_bits_low=0;
static int bn_limit_num_low=8;    /* (1<<bn_limit_bits_low) */
static int bn_limit_bits_high=0;
static int bn_limit_num_high=8;   /* (1<<bn_limit_bits_high) */
static int bn_limit_bits_mont=0;
static int bn_limit_num_mont=8;   /* (1<<bn_limit_bits_mont) */

conf_lib.c
========================================
static CONF_METHOD *default_CONF_method=NULL;

dh_lib.c
========================================
static DH_METHOD *default_DH_method;
static int dh_meth_num = 0;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dh_meth = NULL;

dsa_lib.c
========================================
static DSA_METHOD *default_DSA_method;
static int dsa_meth_num = 0;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL;

dso_lib.c
========================================
static DSO_METHOD *default_DSO_meth = NULL;

rsa_lib.c
========================================
static RSA_METHOD *default_RSA_meth=NULL;
static int rsa_meth_num=0;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *rsa_meth=NULL;

x509_trs.c
=======================================
static int (*default_trust)(int id, X509 *x, int flags) = obj_trust;
static STACK_OF(X509_TRUST) *trtable = NULL;

x509_req.c
=======================================
static int *ext_nids = ext_nid_list;

o_names.c
======================================
static LHASH *names_lh=NULL;
static STACK_OF(NAME_FUNCS) *name_funcs_stack;
static int free_type;
static int names_type_num=OBJ_NAME_TYPE_NUM;


th-lock.c - NEED to add support for locking for NetWare
==============================================
static long *lock_count;
(other platform specific globals)

x_x509.c
==============================================
static int x509_meth_num = 0;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_meth = NULL;


evp_pbe.c
============================================
static STACK *pbe_algs;

evp_key.c
============================================
static char prompt_string[80];

ssl_ciph.c
============================================
static STACK_OF(SSL_COMP) *ssl_comp_methods=NULL;

ssl_lib.c
=============================================
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_meth=NULL;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_ctx_meth=NULL;
static int ssl_meth_num=0;
static int ssl_ctx_meth_num=0;

ssl_sess.c
=============================================
static int ssl_session_num=0;
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *ssl_session_meth=NULL;

x509_vfy.c
============================================
static STACK_OF(CRYPTO_EX_DATA_FUNCS) *x509_store_ctx_method=NULL;
static int x509_store_ctx_num=0;