gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 141/220: vssh: move ssh init/cleanup functions into


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 141/220: vssh: move ssh init/cleanup functions into backend code
Date: Thu, 12 Sep 2019 17:28:21 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit d6dea75af7c00e396cffa2e74350352703312180
Author: Daniel Stenberg <address@hidden>
AuthorDate: Fri Aug 16 16:16:33 2019 +0200

    vssh: move ssh init/cleanup functions into backend code
---
 lib/easy.c         | 20 +++-----------------
 lib/ssh.h          |  7 ++++++-
 lib/vssh/libssh.c  | 13 +++++++++++++
 lib/vssh/libssh2.c | 19 +++++++++++++++++++
 4 files changed, 41 insertions(+), 18 deletions(-)

diff --git a/lib/easy.c b/lib/easy.c
index b8d94c740..1d49a0366 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -187,16 +187,8 @@ static CURLcode global_init(long flags, bool memoryfuncs)
 
   (void)Curl_ipv6works();
 
-#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_INIT)
-  if(libssh2_init(0)) {
-    DEBUGF(fprintf(stderr, "Error: libssh2_init failed\n"));
-    return CURLE_FAILED_INIT;
-  }
-#endif
-
-#if defined(USE_LIBSSH)
-  if(ssh_init()) {
-    DEBUGF(fprintf(stderr, "Error: libssh_init failed\n"));
+#if defined(USE_SSH)
+  if(Curl_ssh_init()) {
     return CURLE_FAILED_INIT;
   }
 #endif
@@ -274,13 +266,7 @@ void curl_global_cleanup(void)
 
   Curl_amiga_cleanup();
 
-#if defined(USE_LIBSSH2) && defined(HAVE_LIBSSH2_EXIT)
-  (void)libssh2_exit();
-#endif
-
-#if defined(USE_LIBSSH)
-  (void)ssh_finalize();
-#endif
+  Curl_ssh_cleanup();
 
   init_flags  = 0;
 }
diff --git a/lib/ssh.h b/lib/ssh.h
index 0620aac32..96bb64099 100644
--- a/lib/ssh.h
+++ b/lib/ssh.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+ * Copyright (C) 1998 - 2019, Daniel Stenberg, <address@hidden>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -240,6 +240,11 @@ extern const struct Curl_handler Curl_handler_sftp;
 extern const struct Curl_handler Curl_handler_scp;
 extern const struct Curl_handler Curl_handler_sftp;
 
+CURLcode Curl_ssh_init(void);
+void Curl_ssh_cleanup(void);
+
+#else
+#define Curl_ssh_cleanup()
 #endif /* USE_LIBSSH2 */
 
 #endif /* HEADER_CURL_SSH_H */
diff --git a/lib/vssh/libssh.c b/lib/vssh/libssh.c
index 4b34b0212..d8186e0b2 100644
--- a/lib/vssh/libssh.c
+++ b/lib/vssh/libssh.c
@@ -2725,5 +2725,18 @@ static void sftp_quote_stat(struct connectdata *conn)
   return;
 }
 
+CURLcode Curl_ssh_init(void)
+{
+  if(ssh_init()) {
+    DEBUGF(fprintf(stderr, "Error: libssh_init failed\n"));
+    return CURLE_FAILED_INIT;
+  }
+  return CURLE_OK;
+}
+
+void Curl_ssh_cleanup(void)
+{
+  (void)ssh_finalize();
+}
 
 #endif                          /* USE_LIBSSH */
diff --git a/lib/vssh/libssh2.c b/lib/vssh/libssh2.c
index 5dd6ee29e..011f1ecf3 100644
--- a/lib/vssh/libssh2.c
+++ b/lib/vssh/libssh2.c
@@ -3320,4 +3320,23 @@ static const char *sftp_libssh2_strerror(int err)
   return "Unknown error in libssh2";
 }
 
+CURLcode Curl_ssh_init(void)
+{
+#ifdef HAVE_LIBSSH2_INIT
+  if(libssh2_init(0)) {
+    DEBUGF(fprintf(stderr, "Error: libssh2_init failed\n"));
+    return CURLE_FAILED_INIT;
+  }
+#endif
+  return CURLE_OK;
+}
+
+void Curl_ssh_cleanup(void)
+{
+#ifdef HAVE_LIBSSH2_EXIT
+  (void)libssh2_exit();
+#endif
+}
+
+
 #endif /* USE_LIBSSH2 */

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]