From 5788c80dcb4cdba3431701b9ce59bfce7b023ae3 Mon Sep 17 00:00:00 2001 From: Michal Vasko Date: Fri, 3 May 2024 16:14:40 +0200 Subject: [PATCH] session BUGFIX missing ssh_init() --- src/session_client.c | 11 +++++++++++ src/session_server.c | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/src/session_client.c b/src/session_client.c index f9351c2d..22e3313a 100644 --- a/src/session_client.c +++ b/src/session_client.c @@ -39,6 +39,9 @@ #include #include +#ifdef NC_ENABLED_SSH_TLS +#include +#endif #include #include "compat.h" @@ -1917,6 +1920,13 @@ nc_client_init(void) return -1; } +#ifdef NC_ENABLED_SSH_TLS + if (ssh_init()) { + ERR(NULL, "%s: failed to init libssh.", __func__); + return -1; + } +#endif + return 0; } @@ -1929,6 +1939,7 @@ nc_client_destroy(void) nc_client_ch_del_bind(NULL, 0, 0); nc_client_ssh_destroy_opts(); nc_client_tls_destroy_opts(); + ssh_finalize(); #endif /* NC_ENABLED_SSH_TLS */ } diff --git a/src/session_server.c b/src/session_server.c index d93ae334..94dd5d50 100644 --- a/src/session_server.c +++ b/src/session_server.c @@ -35,6 +35,7 @@ #ifdef NC_ENABLED_SSH_TLS #include +#include #endif #include "compat.h" @@ -809,6 +810,12 @@ nc_server_init(void) ERR(NULL, "%s: failed to init CURL.", __func__); goto error; } + + /* optional for dynamic library, mandatory for static */ + if (ssh_init()) { + ERR(NULL, "%s: failed to init libssh.", __func__); + goto error; + } #endif if ((r = pthread_mutex_init(&server_opts.bind_lock, NULL))) { @@ -866,6 +873,7 @@ nc_server_destroy(void) nc_server_config_ks_keystore(NULL, NC_OP_DELETE); nc_server_config_ts_truststore(NULL, NC_OP_DELETE); curl_global_cleanup(); + ssh_finalize(); #endif /* NC_ENABLED_SSH_TLS */ }