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 },
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
* 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;
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, ¶m);
-}
-
-int git_remote_supported_url(const char* url)
-{
- git_transport_cb fn;
- void *param;
-
- if (transport_find_fn(&fn, url, ¶m) < 0)
- return 0;
-
- return fn != &git_transport_dummy;
-}
-
int git_transport_init(git_transport *opts, unsigned int version)
{
GIT_INIT_STRUCTURE_FROM_TEMPLATE(