Commit cb6e68c7 by Vicent Marti

Merge pull request #2449 from libgit2/cmn/maint-21

Maint fixes for ssl initing and ssh exposure
parents c1bf2942 00b8c216
...@@ -11,10 +11,6 @@ ...@@ -11,10 +11,6 @@
#include "net.h" #include "net.h"
#include "types.h" #include "types.h"
#ifdef GIT_SSH
#include <libssh2.h>
#endif
/** /**
* @file git2/transport.h * @file git2/transport.h
* @brief Git transport interfaces and functions * @brief Git transport interfaces and functions
...@@ -61,14 +57,20 @@ typedef struct { ...@@ -61,14 +57,20 @@ typedef struct {
char *password; char *password;
} git_cred_userpass_plaintext; } git_cred_userpass_plaintext;
#ifdef GIT_SSH
typedef LIBSSH2_USERAUTH_PUBLICKEY_SIGN_FUNC((*git_cred_sign_callback)); /*
typedef LIBSSH2_USERAUTH_KBDINT_RESPONSE_FUNC((*git_cred_ssh_interactive_callback)); * If the user hasn't included libssh2.h before git2.h, we need to
#else * define a few types for the callback signatures.
typedef int (*git_cred_sign_callback)(void *, ...); */
typedef int (*git_cred_ssh_interactive_callback)(void *, ...); #ifndef LIBSSH2_VERSION
typedef struct _LIBSSH2_SESSION LIBSSH2_SESSION;
typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT;
typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE;
#endif #endif
typedef int (*git_cred_sign_callback)(LIBSSH2_SESSION *session, unsigned char **sig, size_t *sig_len, const unsigned char *data, size_t data_len, void **abstract);
typedef int (*git_cred_ssh_interactive_callback)(const char* name, int name_len, const char* instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT* prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE* responses, void **abstract);
/** /**
* A ssh key from disk * A ssh key from disk
*/ */
......
...@@ -291,7 +291,13 @@ static git_global_st __state; ...@@ -291,7 +291,13 @@ static git_global_st __state;
int git_threads_init(void) int git_threads_init(void)
{ {
static int ssl_inited = 0;
if (!ssl_inited) {
init_ssl(); init_ssl();
ssl_inited = 1;
}
git_atomic_inc(&git__n_inits); git_atomic_inc(&git__n_inits);
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment