255 lines
7.4 KiB
Plaintext
255 lines
7.4 KiB
Plaintext
|
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;
|
||
|
|