]> git.proxmox.com Git - libgit2.git/blobdiff - src/transport.c
Include stacktrace summary in memory leak output.
[libgit2.git] / src / transport.c
index d390e14225c1b9e75fb730625cf299a7f0e84777..5c65c7c06cedceca14f45fbd20c968f1d2ea5a6c 100644 (file)
@@ -18,23 +18,20 @@ typedef struct transport_definition {
        void *param;
 } transport_definition;
 
-static git_smart_subtransport_definition http_subtransport_definition = { git_smart_subtransport_http, 1 };
-static git_smart_subtransport_definition git_subtransport_definition = { git_smart_subtransport_git, 0 };
+static git_smart_subtransport_definition http_subtransport_definition = { git_smart_subtransport_http, 1, NULL };
+static git_smart_subtransport_definition git_subtransport_definition = { git_smart_subtransport_git, 0, NULL };
 #ifdef GIT_SSH
-static git_smart_subtransport_definition ssh_subtransport_definition = { git_smart_subtransport_ssh, 0 };
+static git_smart_subtransport_definition ssh_subtransport_definition = { git_smart_subtransport_ssh, 0, NULL };
 #endif
 
 static transport_definition local_transport_definition = { "file://", git_transport_local, NULL };
-#ifdef GIT_SSH
-static transport_definition ssh_transport_definition = { "ssh://", git_transport_smart, &ssh_subtransport_definition };
-#else
-static transport_definition dummy_transport_definition = { NULL, git_transport_dummy, NULL };
-#endif
 
 static transport_definition transports[] = {
        { "git://",   git_transport_smart, &git_subtransport_definition },
        { "http://",  git_transport_smart, &http_subtransport_definition },
+#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT)
        { "https://", git_transport_smart, &http_subtransport_definition },
+#endif
        { "file://",  git_transport_local, NULL },
 #ifdef GIT_SSH
        { "ssh://",   git_transport_smart, &ssh_subtransport_definition },
@@ -95,11 +92,6 @@ static int transport_find_fn(
        if (!definition && strrchr(url, ':')) {
                // re-search transports again with ssh:// as url so that we can find a third party ssh transport
                definition = transport_find_by_url("ssh://");
-#ifndef GIT_SSH
-               if (!definition) {
-                       definition = &dummy_transport_definition;
-               }
-#endif
        }
 
 #ifndef GIT_WIN32
@@ -121,15 +113,6 @@ static int transport_find_fn(
  * Public API *
  **************/
 
-int git_transport_dummy(git_transport **transport, git_remote *owner, void *param)
-{
-       GIT_UNUSED(transport);
-       GIT_UNUSED(owner);
-       GIT_UNUSED(param);
-       giterr_set(GITERR_NET, "This transport isn't implemented. Sorry");
-       return -1;
-}
-
 int git_transport_new(git_transport **out, git_remote *owner, const char *url)
 {
        git_transport_cb fn;
@@ -229,26 +212,6 @@ done:
        return error;
 }
 
-/* from remote.h */
-int git_remote_valid_url(const char *url)
-{
-       git_transport_cb fn;
-       void *param;
-
-       return !transport_find_fn(&fn, url, &param);
-}
-
-int git_remote_supported_url(const char* url)
-{
-       git_transport_cb fn;
-       void *param;
-
-       if (transport_find_fn(&fn, url, &param) < 0)
-               return 0;
-
-       return fn != &git_transport_dummy;
-}
-
 int git_transport_init(git_transport *opts, unsigned int version)
 {
        GIT_INIT_STRUCTURE_FROM_TEMPLATE(