1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-11-27 13:21:11 +03:00

crypto: Split init and finalize functions

Signed-off-by: Aris Adamantiadis <aris@0xbadc0de.be>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
Aris Adamantiadis
2015-12-31 10:56:47 +01:00
committed by Andreas Schneider
parent 38c53db953
commit 2b40ad29c0
10 changed files with 188 additions and 113 deletions

View File

@@ -51,13 +51,29 @@
* @returns 0 on success, -1 if an error occured.
*/
int ssh_init(void) {
if(ssh_threads_init())
return -1;
if(ssh_crypto_init())
return -1;
if(ssh_socket_init())
return -1;
return 0;
int rc;
rc = ssh_threads_init();
if (rc != SSH_OK) {
return -1;
}
rc = ssh_crypto_init();
if (rc != SSH_OK) {
return -1;
}
rc = ssh_dh_init();
if (rc != SSH_OK) {
return -1;
}
rc = ssh_socket_init();
if (rc != SSH_OK) {
return -1;
}
return 0;
}
@@ -70,14 +86,16 @@ int ssh_init(void) {
*
@returns 0 otherwise
*/
int ssh_finalize(void) {
ssh_crypto_finalize();
ssh_socket_cleanup();
/* It is important to finalize threading after CRYPTO because
* it still depends on it */
ssh_threads_finalize();
int ssh_finalize(void)
{
ssh_dh_finalize();
ssh_crypto_finalize();
ssh_socket_cleanup();
/* It is important to finalize threading after CRYPTO because
* it still depends on it */
ssh_threads_finalize();
return 0;
return 0;
}
/** @} */