Change comment.
[oweals/openssl.git] / crypto / dsa / dsa_lib.c
index ff8b254b40d904a60ffb3c81ad6e992bb0a39e8f..224e412afc42c3f17e273c899044003e0f8ff1d8 100644 (file)
@@ -68,7 +68,7 @@ const char *DSA_version="DSA" OPENSSL_VERSION_PTEXT;
 
 static DSA_METHOD *default_DSA_method;
 static int dsa_meth_num = 0;
-static STACK *dsa_meth = NULL;
+static STACK_OF(CRYPTO_EX_DATA_FUNCS) *dsa_meth = NULL;
 
 void DSA_set_default_method(DSA_METHOD *meth)
 {
@@ -102,14 +102,14 @@ DSA *DSA_new_method(DSA_METHOD *meth)
        DSA *ret;
 
        ret=(DSA *)Malloc(sizeof(DSA));
-       if(!default_DSA_method) default_DSA_method = DSA_OpenSSL();
-       if(meth) ret->meth = meth;
-       else ret->meth = default_DSA_method;
        if (ret == NULL)
                {
                DSAerr(DSA_F_DSA_NEW,ERR_R_MALLOC_FAILURE);
                return(NULL);
                }
+       if(!default_DSA_method) default_DSA_method = DSA_OpenSSL();
+       if(meth) ret->meth = meth;
+       else ret->meth = default_DSA_method;
        ret->pad=0;
        ret->version=0;
        ret->write_params=1;
@@ -125,7 +125,6 @@ DSA *DSA_new_method(DSA_METHOD *meth)
        ret->method_mont_p=NULL;
 
        ret->references=1;
-       /* ret->flags=DSA_FLAG_CACHE_MONT_P; */
        ret->flags=ret->meth->flags;
        if ((ret->meth->init != NULL) && !ret->meth->init(ret))
                {
@@ -133,7 +132,7 @@ DSA *DSA_new_method(DSA_METHOD *meth)
                ret=NULL;
                }
        else
-               CRYPTO_new_ex_data(dsa_meth,(char *)ret,&ret->ex_data);
+               CRYPTO_new_ex_data(dsa_meth,ret,&ret->ex_data);
        
        return(ret);
        }
@@ -157,7 +156,7 @@ void DSA_free(DSA *r)
                }
 #endif
 
-       CRYPTO_free_ex_data(dsa_meth, (char *)r, &r->ex_data);
+       CRYPTO_free_ex_data(dsa_meth, r, &r->ex_data);
 
        if(r->meth->finish) r->meth->finish(r);
 
@@ -168,8 +167,6 @@ void DSA_free(DSA *r)
        if (r->priv_key != NULL) BN_clear_free(r->priv_key);
        if (r->kinv != NULL) BN_clear_free(r->kinv);
        if (r->r != NULL) BN_clear_free(r->r);
-       if (r->method_mont_p != NULL)
-               BN_MONT_CTX_free((BN_MONT_CTX *)r->method_mont_p);
        Free(r);
        }
 
@@ -192,20 +189,20 @@ int DSA_size(DSA *r)
        return(ret);
        }
 
-int DSA_get_ex_new_index(long argl, char *argp, int (*new_func)(),
-            int (*dup_func)(), void (*free_func)())
+int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
+            CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)
         {
        dsa_meth_num++;
        return(CRYPTO_get_ex_new_index(dsa_meth_num-1,
                &dsa_meth,argl,argp,new_func,dup_func,free_func));
         }
 
-int DSA_set_ex_data(DSA *d, int idx, char *arg)
+int DSA_set_ex_data(DSA *d, int idx, void *arg)
        {
        return(CRYPTO_set_ex_data(&d->ex_data,idx,arg));
        }
 
-char *DSA_get_ex_data(DSA *d, int idx)
+void *DSA_get_ex_data(DSA *d, int idx)
        {
        return(CRYPTO_get_ex_data(&d->ex_data,idx));
        }