]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - crypto/evp/p_lib.c
Let's avoid compiler warnings over types.
[thirdparty/openssl.git] / crypto / evp / p_lib.c
index dba08525a35ab7b64a34c287e5b65e6c8120ca55..ba95137a20be46c5f9e507d07f0038bc138a4278 100644 (file)
@@ -119,7 +119,7 @@ int EVP_PKEY_copy_parameters(EVP_PKEY *to, EVP_PKEY *from)
 
        if (EVP_PKEY_missing_parameters(from))
                {
-               EVPerr(EVP_F_EVP_PKEY_COPY_PARAMETERS,EVP_R_MISSING_PARMATERS);
+               EVPerr(EVP_F_EVP_PKEY_COPY_PARAMETERS,EVP_R_MISSING_PARAMETERS);
                goto err;
                }
 #ifndef NO_DSA
@@ -202,14 +202,21 @@ int EVP_PKEY_assign(EVP_PKEY *pkey, int type, char *key)
        pkey->type=EVP_PKEY_type(type);
        pkey->save_type=type;
        pkey->pkey.ptr=key;
-       return(1);
+       return(key != NULL);
        }
 
 #ifndef NO_RSA
-RSA *EVP_PKEY_get_RSA(EVP_PKEY *pkey)
+int EVP_PKEY_rset_RSA(EVP_PKEY *pkey, RSA *key)
+{
+       int ret = EVP_PKEY_assign_RSA(pkey, key);
+       if(ret) CRYPTO_add(&key->references, 1, CRYPTO_LOCK_RSA);
+       return ret;
+}
+
+RSA *EVP_PKEY_rget_RSA(EVP_PKEY *pkey)
        {
        if(pkey->type != EVP_PKEY_RSA) {
-               EVPerr(EVP_F_EVP_PKEY_GET_RSA, EVP_R_EXPECTING_AN_RSA_KEY);
+               EVPerr(EVP_F_EVP_PKEY_RGET_RSA, EVP_R_EXPECTING_AN_RSA_KEY);
                return NULL;
        }
        CRYPTO_add(&pkey->pkey.rsa->references, 1, CRYPTO_LOCK_RSA);
@@ -218,22 +225,37 @@ RSA *EVP_PKEY_get_RSA(EVP_PKEY *pkey)
 #endif
 
 #ifndef NO_DSA
-DSA *EVP_PKEY_get_DSA(EVP_PKEY *pkey)
+int EVP_PKEY_rset_DSA(EVP_PKEY *pkey, DSA *key)
+{
+       int ret = EVP_PKEY_assign_DSA(pkey, key);
+       if(ret) CRYPTO_add(&key->references, 1, CRYPTO_LOCK_DSA);
+       return ret;
+}
+
+DSA *EVP_PKEY_rget_DSA(EVP_PKEY *pkey)
        {
        if(pkey->type != EVP_PKEY_DSA) {
-               EVPerr(EVP_F_EVP_PKEY_GET_DSA, EVP_R_EXPECTING_A_DSA_KEY);
+               EVPerr(EVP_F_EVP_PKEY_RGET_DSA, EVP_R_EXPECTING_A_DSA_KEY);
                return NULL;
        }
-       CRYPTO_add(&pkey->pkey.rsa->references, 1, CRYPTO_LOCK_DSA);
+       CRYPTO_add(&pkey->pkey.dsa->references, 1, CRYPTO_LOCK_DSA);
        return pkey->pkey.dsa;
 }
 #endif
 
 #ifndef NO_DH
-DH *EVP_PKEY_get_DH(EVP_PKEY *pkey)
+
+int EVP_PKEY_rset_DH(EVP_PKEY *pkey, DH *key)
+{
+       int ret = EVP_PKEY_assign_DH(pkey, key);
+       if(ret) CRYPTO_add(&key->references, 1, CRYPTO_LOCK_DH);
+       return ret;
+}
+
+DH *EVP_PKEY_rget_DH(EVP_PKEY *pkey)
        {
        if(pkey->type != EVP_PKEY_DH) {
-               EVPerr(EVP_F_EVP_PKEY_GET_DH, EVP_R_EXPECTING_A_DH_KEY);
+               EVPerr(EVP_F_EVP_PKEY_RGET_DH, EVP_R_EXPECTING_A_DH_KEY);
                return NULL;
        }
        CRYPTO_add(&pkey->pkey.dh->references, 1, CRYPTO_LOCK_DH);
@@ -280,7 +302,7 @@ void EVP_PKEY_free(EVP_PKEY *x)
                }
 #endif
        EVP_PKEY_free_it(x);
-       Free((char *)x);
+       Free(x);
        }
 
 static void EVP_PKEY_free_it(EVP_PKEY *x)