Fix store with opaque data
When experimental-store is enabled, it does not compile due to the change to opaque data structures. Change CRYPTO_add() to EVP_PKEY_up_ref() as needed. Signed-off-by: Kurt Roeckx <kurt@roeckx.be> Reviewed-by: Rich Salz <rsalz@openssl.org> RT: #4263, GH: #579
This commit is contained in:
@@ -420,7 +420,7 @@ EVP_PKEY *STORE_generate_key(STORE *s, OPENSSL_ITEM attributes[],
|
|||||||
STOREerr(STORE_F_STORE_GENERATE_KEY, STORE_R_FAILED_GENERATING_KEY);
|
STOREerr(STORE_F_STORE_GENERATE_KEY, STORE_R_FAILED_GENERATING_KEY);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(object->data.key);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -444,7 +444,7 @@ EVP_PKEY *STORE_get_private_key(STORE *s, OPENSSL_ITEM attributes[],
|
|||||||
STOREerr(STORE_F_STORE_GET_PRIVATE_KEY, STORE_R_FAILED_GETTING_KEY);
|
STOREerr(STORE_F_STORE_GET_PRIVATE_KEY, STORE_R_FAILED_GETTING_KEY);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(object->data.key);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -474,7 +474,7 @@ int STORE_store_private_key(STORE *s, EVP_PKEY *data,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CRYPTO_add(&data->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(data);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -578,7 +578,7 @@ EVP_PKEY *STORE_list_private_key_next(STORE *s, void *handle)
|
|||||||
STORE_R_FAILED_LISTING_KEYS);
|
STORE_R_FAILED_LISTING_KEYS);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(object->data.key);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -628,7 +628,7 @@ EVP_PKEY *STORE_get_public_key(STORE *s, OPENSSL_ITEM attributes[],
|
|||||||
STOREerr(STORE_F_STORE_GET_PUBLIC_KEY, STORE_R_FAILED_GETTING_KEY);
|
STOREerr(STORE_F_STORE_GET_PUBLIC_KEY, STORE_R_FAILED_GETTING_KEY);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(object->data.key);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -658,7 +658,7 @@ int STORE_store_public_key(STORE *s, EVP_PKEY *data,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CRYPTO_add(&data->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(data);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
@@ -762,7 +762,7 @@ EVP_PKEY *STORE_list_public_key_next(STORE *s, void *handle)
|
|||||||
STORE_R_FAILED_LISTING_KEYS);
|
STORE_R_FAILED_LISTING_KEYS);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CRYPTO_add(&object->data.key->references, 1, CRYPTO_LOCK_EVP_PKEY);
|
EVP_PKEY_up_ref(object->data.key);
|
||||||
#ifdef REF_PRINT
|
#ifdef REF_PRINT
|
||||||
REF_PRINT("EVP_PKEY", data);
|
REF_PRINT("EVP_PKEY", data);
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user