rugged 0.27.7 → 0.27.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +99 -51
- data/vendor/libgit2/COPYING +28 -0
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
- data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
- data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
- data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
- data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
- data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
- data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
- data/vendor/libgit2/deps/pcre/COPYING +5 -0
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
- data/vendor/libgit2/deps/pcre/config.h.in +57 -0
- data/vendor/libgit2/deps/pcre/pcre.h +641 -0
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
- data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
- data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
- data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
- data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
- data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
- data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
- data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
- data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
- data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
- data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
- data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
- data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
- data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
- data/vendor/libgit2/deps/pcre/ucp.h +224 -0
- data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/zlib/COPYING +27 -0
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +0 -7
- data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
- data/vendor/libgit2/include/git2/apply.h +149 -0
- data/vendor/libgit2/include/git2/attr.h +20 -13
- data/vendor/libgit2/include/git2/blame.h +4 -4
- data/vendor/libgit2/include/git2/blob.h +44 -12
- data/vendor/libgit2/include/git2/buffer.h +20 -26
- data/vendor/libgit2/include/git2/cert.h +135 -0
- data/vendor/libgit2/include/git2/checkout.h +53 -21
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +5 -5
- data/vendor/libgit2/include/git2/commit.h +25 -3
- data/vendor/libgit2/include/git2/common.h +35 -10
- data/vendor/libgit2/include/git2/config.h +29 -19
- data/vendor/libgit2/include/git2/cred.h +308 -0
- data/vendor/libgit2/include/git2/deprecated.h +493 -0
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +177 -135
- data/vendor/libgit2/include/git2/errors.h +53 -46
- data/vendor/libgit2/include/git2/filter.h +8 -0
- data/vendor/libgit2/include/git2/index.h +74 -52
- data/vendor/libgit2/include/git2/indexer.h +76 -6
- data/vendor/libgit2/include/git2/merge.h +25 -10
- data/vendor/libgit2/include/git2/net.h +0 -5
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +17 -29
- data/vendor/libgit2/include/git2/odb.h +12 -11
- data/vendor/libgit2/include/git2/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +14 -3
- data/vendor/libgit2/include/git2/proxy.h +5 -3
- data/vendor/libgit2/include/git2/rebase.h +46 -2
- data/vendor/libgit2/include/git2/refs.h +34 -16
- data/vendor/libgit2/include/git2/remote.h +111 -14
- data/vendor/libgit2/include/git2/repository.h +69 -34
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +5 -5
- data/vendor/libgit2/include/git2/status.h +26 -17
- data/vendor/libgit2/include/git2/submodule.h +23 -6
- data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/cred.h +90 -0
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/merge.h +3 -3
- data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
- data/vendor/libgit2/include/git2/sys/path.h +14 -5
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
- data/vendor/libgit2/include/git2/sys/repository.h +5 -1
- data/vendor/libgit2/include/git2/sys/stream.h +92 -12
- data/vendor/libgit2/include/git2/sys/transport.h +129 -83
- data/vendor/libgit2/include/git2/tag.h +13 -4
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +11 -311
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +25 -106
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/include/git2.h +4 -0
- data/vendor/libgit2/src/CMakeLists.txt +104 -235
- data/vendor/libgit2/src/alloc.c +14 -18
- data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
- data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
- data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
- data/vendor/libgit2/src/annotated_commit.c +18 -11
- data/vendor/libgit2/src/apply.c +535 -28
- data/vendor/libgit2/src/apply.h +3 -1
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +77 -71
- data/vendor/libgit2/src/attr_file.c +203 -117
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +49 -51
- data/vendor/libgit2/src/attrcache.h +2 -1
- data/vendor/libgit2/src/blame.c +38 -18
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +29 -15
- data/vendor/libgit2/src/blob.c +123 -37
- data/vendor/libgit2/src/blob.h +19 -2
- data/vendor/libgit2/src/branch.c +47 -23
- data/vendor/libgit2/src/buf_text.c +7 -6
- data/vendor/libgit2/src/buffer.c +60 -53
- data/vendor/libgit2/src/cache.c +38 -45
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +20 -3
- data/vendor/libgit2/src/checkout.c +77 -67
- data/vendor/libgit2/src/cherrypick.c +12 -6
- data/vendor/libgit2/src/clone.c +36 -14
- data/vendor/libgit2/src/clone.h +4 -0
- data/vendor/libgit2/src/commit.c +103 -48
- data/vendor/libgit2/src/commit.h +7 -0
- data/vendor/libgit2/src/commit_list.c +36 -78
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +24 -90
- data/vendor/libgit2/src/config.c +203 -176
- data/vendor/libgit2/src/config.h +8 -20
- data/vendor/libgit2/src/config_backend.h +96 -0
- data/vendor/libgit2/src/config_cache.c +41 -35
- data/vendor/libgit2/src/config_entries.c +229 -0
- data/vendor/libgit2/src/config_entries.h +24 -0
- data/vendor/libgit2/src/config_file.c +422 -680
- data/vendor/libgit2/src/config_mem.c +220 -0
- data/vendor/libgit2/src/config_parse.c +96 -68
- data/vendor/libgit2/src/config_parse.h +15 -14
- data/vendor/libgit2/src/config_snapshot.c +206 -0
- data/vendor/libgit2/src/crlf.c +219 -196
- data/vendor/libgit2/src/delta.c +25 -18
- data/vendor/libgit2/src/describe.c +42 -41
- data/vendor/libgit2/src/diff.c +52 -67
- data/vendor/libgit2/src/diff.h +2 -1
- data/vendor/libgit2/src/diff_driver.c +44 -46
- data/vendor/libgit2/src/diff_file.c +16 -14
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +158 -103
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +34 -22
- data/vendor/libgit2/src/diff_stats.c +22 -7
- data/vendor/libgit2/src/diff_tform.c +18 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -3
- data/vendor/libgit2/src/errors.c +51 -39
- data/vendor/libgit2/src/errors.h +81 -0
- data/vendor/libgit2/src/features.h.in +9 -3
- data/vendor/libgit2/src/fetch.c +8 -3
- data/vendor/libgit2/src/fetchhead.c +12 -12
- data/vendor/libgit2/src/filebuf.c +28 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/filter.c +47 -33
- data/vendor/libgit2/src/filter.h +0 -10
- data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
- data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
- data/vendor/libgit2/src/global.c +35 -55
- data/vendor/libgit2/src/global.h +0 -2
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
- data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
- data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
- data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
- data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
- data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
- data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
- data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
- data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
- data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
- data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
- data/vendor/libgit2/src/hash/sha1.h +38 -0
- data/vendor/libgit2/src/hash.c +61 -0
- data/vendor/libgit2/src/hash.h +20 -21
- data/vendor/libgit2/src/hashsig.c +5 -5
- data/vendor/libgit2/src/idxmap.c +107 -61
- data/vendor/libgit2/src/idxmap.h +153 -31
- data/vendor/libgit2/src/ignore.c +38 -42
- data/vendor/libgit2/src/index.c +264 -199
- data/vendor/libgit2/src/index.h +7 -1
- data/vendor/libgit2/src/indexer.c +338 -167
- data/vendor/libgit2/src/integer.h +71 -26
- data/vendor/libgit2/src/iterator.c +134 -62
- data/vendor/libgit2/src/iterator.h +15 -0
- data/vendor/libgit2/src/mailmap.c +8 -8
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +137 -93
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +24 -29
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/net.c +184 -0
- data/vendor/libgit2/src/net.h +36 -0
- data/vendor/libgit2/src/netops.c +55 -156
- data/vendor/libgit2/src/netops.h +3 -23
- data/vendor/libgit2/src/notes.c +14 -9
- data/vendor/libgit2/src/object.c +120 -69
- data/vendor/libgit2/src/object.h +22 -9
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +111 -88
- data/vendor/libgit2/src/odb.h +8 -7
- data/vendor/libgit2/src/odb_loose.c +58 -47
- data/vendor/libgit2/src/odb_mempack.c +21 -34
- data/vendor/libgit2/src/odb_pack.c +17 -13
- data/vendor/libgit2/src/offmap.c +53 -35
- data/vendor/libgit2/src/offmap.h +108 -21
- data/vendor/libgit2/src/oid.c +12 -7
- data/vendor/libgit2/src/oidmap.c +49 -47
- data/vendor/libgit2/src/oidmap.h +101 -24
- data/vendor/libgit2/src/pack-objects.c +87 -86
- data/vendor/libgit2/src/pack-objects.h +2 -8
- data/vendor/libgit2/src/pack.c +94 -96
- data/vendor/libgit2/src/pack.h +16 -18
- data/vendor/libgit2/src/parse.c +17 -4
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch_generate.c +18 -18
- data/vendor/libgit2/src/patch_parse.c +147 -79
- data/vendor/libgit2/src/path.c +207 -62
- data/vendor/libgit2/src/path.h +14 -0
- data/vendor/libgit2/src/pathspec.c +18 -18
- data/vendor/libgit2/src/pool.c +26 -22
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +12 -1
- data/vendor/libgit2/src/proxy.c +8 -3
- data/vendor/libgit2/src/push.c +35 -29
- data/vendor/libgit2/src/push.h +2 -1
- data/vendor/libgit2/src/reader.c +265 -0
- data/vendor/libgit2/src/reader.h +107 -0
- data/vendor/libgit2/src/rebase.c +97 -38
- data/vendor/libgit2/src/refdb.c +15 -3
- data/vendor/libgit2/src/refdb_fs.c +318 -222
- data/vendor/libgit2/src/reflog.c +13 -15
- data/vendor/libgit2/src/refs.c +122 -89
- data/vendor/libgit2/src/refs.h +5 -3
- data/vendor/libgit2/src/refspec.c +27 -33
- data/vendor/libgit2/src/regexp.c +221 -0
- data/vendor/libgit2/src/regexp.h +97 -0
- data/vendor/libgit2/src/remote.c +229 -178
- data/vendor/libgit2/src/remote.h +11 -2
- data/vendor/libgit2/src/repository.c +227 -172
- data/vendor/libgit2/src/repository.h +52 -40
- data/vendor/libgit2/src/reset.c +7 -7
- data/vendor/libgit2/src/revert.c +11 -6
- data/vendor/libgit2/src/revparse.c +46 -46
- data/vendor/libgit2/src/revwalk.c +89 -54
- data/vendor/libgit2/src/revwalk.h +20 -0
- data/vendor/libgit2/src/settings.c +22 -9
- data/vendor/libgit2/src/signature.c +15 -13
- data/vendor/libgit2/src/sortedcache.c +22 -36
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +56 -76
- data/vendor/libgit2/src/status.c +27 -21
- data/vendor/libgit2/src/stream.h +17 -2
- data/vendor/libgit2/src/streams/mbedtls.c +100 -80
- data/vendor/libgit2/src/streams/mbedtls.h +5 -2
- data/vendor/libgit2/src/streams/openssl.c +93 -81
- data/vendor/libgit2/src/streams/openssl.h +5 -2
- data/vendor/libgit2/src/streams/registry.c +118 -0
- data/vendor/libgit2/src/streams/registry.h +19 -0
- data/vendor/libgit2/src/streams/socket.c +55 -30
- data/vendor/libgit2/src/streams/stransport.c +57 -32
- data/vendor/libgit2/src/streams/stransport.h +5 -0
- data/vendor/libgit2/src/streams/tls.c +48 -20
- data/vendor/libgit2/src/streams/tls.h +12 -4
- data/vendor/libgit2/src/strmap.c +47 -74
- data/vendor/libgit2/src/strmap.h +108 -33
- data/vendor/libgit2/src/submodule.c +190 -169
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +25 -15
- data/vendor/libgit2/src/tag.c +39 -26
- data/vendor/libgit2/src/tag.h +2 -1
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +46 -32
- data/vendor/libgit2/src/transaction.c +30 -29
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +14 -10
- data/vendor/libgit2/src/transports/auth.h +10 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
- data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/transports/git.c +25 -30
- data/vendor/libgit2/src/transports/http.c +871 -335
- data/vendor/libgit2/src/transports/http.h +2 -0
- data/vendor/libgit2/src/transports/local.c +28 -28
- data/vendor/libgit2/src/transports/smart.c +64 -46
- data/vendor/libgit2/src/transports/smart.h +5 -6
- data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
- data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
- data/vendor/libgit2/src/transports/ssh.c +76 -65
- data/vendor/libgit2/src/transports/winhttp.c +328 -319
- data/vendor/libgit2/src/tree-cache.c +21 -14
- data/vendor/libgit2/src/tree.c +119 -112
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +1 -11
- data/vendor/libgit2/src/userdiff.h +3 -1
- data/vendor/libgit2/src/util.c +154 -93
- data/vendor/libgit2/src/util.h +19 -23
- data/vendor/libgit2/src/vector.c +15 -10
- data/vendor/libgit2/src/wildmatch.c +320 -0
- data/vendor/libgit2/src/wildmatch.h +23 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +9 -11
- data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
- data/vendor/libgit2/src/win32/path_w32.c +113 -9
- data/vendor/libgit2/src/win32/path_w32.h +18 -29
- data/vendor/libgit2/src/win32/posix.h +1 -4
- data/vendor/libgit2/src/win32/posix_w32.c +69 -44
- data/vendor/libgit2/src/win32/precompiled.h +0 -2
- data/vendor/libgit2/src/win32/thread.c +5 -10
- data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
- data/vendor/libgit2/src/win32/w32_common.h +39 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
- data/vendor/libgit2/src/win32/w32_stack.c +6 -11
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +27 -64
- data/vendor/libgit2/src/win32/w32_util.h +5 -49
- data/vendor/libgit2/src/worktree.c +44 -30
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
- data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +115 -38
- data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/regex/config.h +0 -7
- data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
- data/vendor/libgit2/deps/regex/regex.c +0 -92
- data/vendor/libgit2/deps/regex/regex.h +0 -582
- data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
- data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
- data/vendor/libgit2/deps/regex/regexec.c +0 -4369
- data/vendor/libgit2/include/git2/inttypes.h +0 -309
- data/vendor/libgit2/include/git2/sys/time.h +0 -31
- data/vendor/libgit2/libgit2.pc.in +0 -13
- data/vendor/libgit2/src/config_file.h +0 -73
- data/vendor/libgit2/src/fnmatch.c +0 -248
- data/vendor/libgit2/src/fnmatch.h +0 -48
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
- data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
- data/vendor/libgit2/src/streams/curl.c +0 -385
- data/vendor/libgit2/src/streams/curl.h +0 -17
- /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
|
@@ -14,11 +14,14 @@
|
|
|
14
14
|
#include "global.h"
|
|
15
15
|
#include "git2.h"
|
|
16
16
|
#include "buffer.h"
|
|
17
|
+
#include "net.h"
|
|
17
18
|
#include "netops.h"
|
|
18
19
|
#include "smart.h"
|
|
19
|
-
#include "cred.h"
|
|
20
20
|
#include "streams/socket.h"
|
|
21
21
|
|
|
22
|
+
#include "git2/cred.h"
|
|
23
|
+
#include "git2/sys/cred.h"
|
|
24
|
+
|
|
22
25
|
#ifdef GIT_SSH
|
|
23
26
|
|
|
24
27
|
#define OWNING_SUBTRANSPORT(s) ((ssh_subtransport *)(s)->parent.subtransport)
|
|
@@ -54,7 +57,7 @@ static void ssh_error(LIBSSH2_SESSION *session, const char *errmsg)
|
|
|
54
57
|
char *ssherr;
|
|
55
58
|
libssh2_session_last_error(session, &ssherr, NULL, 0);
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
git_error_set(GIT_ERROR_SSH, "%s: %s", errmsg, ssherr);
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
/*
|
|
@@ -85,7 +88,7 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
|
|
|
85
88
|
|
|
86
89
|
done:
|
|
87
90
|
if (!repo) {
|
|
88
|
-
|
|
91
|
+
git_error_set(GIT_ERROR_NET, "malformed git protocol URL");
|
|
89
92
|
return -1;
|
|
90
93
|
}
|
|
91
94
|
|
|
@@ -132,7 +135,7 @@ static int ssh_stream_read(
|
|
|
132
135
|
size_t *bytes_read)
|
|
133
136
|
{
|
|
134
137
|
int rc;
|
|
135
|
-
ssh_stream *s = (ssh_stream
|
|
138
|
+
ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
|
|
136
139
|
|
|
137
140
|
*bytes_read = 0;
|
|
138
141
|
|
|
@@ -151,7 +154,7 @@ static int ssh_stream_read(
|
|
|
151
154
|
*/
|
|
152
155
|
if (rc == 0) {
|
|
153
156
|
if ((rc = libssh2_channel_read_stderr(s->channel, buffer, buf_size)) > 0) {
|
|
154
|
-
|
|
157
|
+
git_error_set(GIT_ERROR_SSH, "%*s", rc, buffer);
|
|
155
158
|
return GIT_EEOF;
|
|
156
159
|
} else if (rc < LIBSSH2_ERROR_NONE) {
|
|
157
160
|
ssh_error(s->session, "SSH could not read stderr");
|
|
@@ -170,7 +173,7 @@ static int ssh_stream_write(
|
|
|
170
173
|
const char *buffer,
|
|
171
174
|
size_t len)
|
|
172
175
|
{
|
|
173
|
-
ssh_stream *s = (ssh_stream
|
|
176
|
+
ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
|
|
174
177
|
size_t off = 0;
|
|
175
178
|
ssize_t ret = 0;
|
|
176
179
|
|
|
@@ -196,7 +199,7 @@ static int ssh_stream_write(
|
|
|
196
199
|
|
|
197
200
|
static void ssh_stream_free(git_smart_subtransport_stream *stream)
|
|
198
201
|
{
|
|
199
|
-
ssh_stream *s = (ssh_stream
|
|
202
|
+
ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
|
|
200
203
|
ssh_subtransport *t;
|
|
201
204
|
|
|
202
205
|
if (!stream)
|
|
@@ -238,7 +241,7 @@ static int ssh_stream_alloc(
|
|
|
238
241
|
assert(stream);
|
|
239
242
|
|
|
240
243
|
s = git__calloc(sizeof(ssh_stream), 1);
|
|
241
|
-
|
|
244
|
+
GIT_ERROR_CHECK_ALLOC(s);
|
|
242
245
|
|
|
243
246
|
s->parent.subtransport = &t->parent;
|
|
244
247
|
s->parent.read = ssh_stream_read;
|
|
@@ -258,8 +261,7 @@ static int ssh_stream_alloc(
|
|
|
258
261
|
}
|
|
259
262
|
|
|
260
263
|
static int git_ssh_extract_url_parts(
|
|
261
|
-
|
|
262
|
-
char **username,
|
|
264
|
+
git_net_url *urldata,
|
|
263
265
|
const char *url)
|
|
264
266
|
{
|
|
265
267
|
char *colon, *at;
|
|
@@ -271,20 +273,20 @@ static int git_ssh_extract_url_parts(
|
|
|
271
273
|
at = strchr(url, '@');
|
|
272
274
|
if (at) {
|
|
273
275
|
start = at + 1;
|
|
274
|
-
|
|
275
|
-
|
|
276
|
+
urldata->username = git__substrdup(url, at - url);
|
|
277
|
+
GIT_ERROR_CHECK_ALLOC(urldata->username);
|
|
276
278
|
} else {
|
|
277
279
|
start = url;
|
|
278
|
-
|
|
280
|
+
urldata->username = NULL;
|
|
279
281
|
}
|
|
280
282
|
|
|
281
283
|
if (colon == NULL || (colon < start)) {
|
|
282
|
-
|
|
284
|
+
git_error_set(GIT_ERROR_NET, "malformed URL");
|
|
283
285
|
return -1;
|
|
284
286
|
}
|
|
285
287
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
+
urldata->host = git__substrdup(start, colon - start);
|
|
289
|
+
GIT_ERROR_CHECK_ALLOC(urldata->host);
|
|
288
290
|
|
|
289
291
|
return 0;
|
|
290
292
|
}
|
|
@@ -350,7 +352,7 @@ static int _git_ssh_authenticate_session(
|
|
|
350
352
|
int rc;
|
|
351
353
|
|
|
352
354
|
do {
|
|
353
|
-
|
|
355
|
+
git_error_clear();
|
|
354
356
|
switch (cred->credtype) {
|
|
355
357
|
case GIT_CREDTYPE_USERPASS_PLAINTEXT: {
|
|
356
358
|
git_cred_userpass_plaintext *c = (git_cred_userpass_plaintext *)cred;
|
|
@@ -428,7 +430,7 @@ static int _git_ssh_authenticate_session(
|
|
|
428
430
|
return GIT_EAUTH;
|
|
429
431
|
|
|
430
432
|
if (rc != LIBSSH2_ERROR_NONE) {
|
|
431
|
-
if (!
|
|
433
|
+
if (!git_error_last())
|
|
432
434
|
ssh_error(session, "Failed to authenticate SSH session");
|
|
433
435
|
return -1;
|
|
434
436
|
}
|
|
@@ -447,24 +449,24 @@ static int request_creds(git_cred **out, ssh_subtransport *t, const char *user,
|
|
|
447
449
|
error = t->owner->cred_acquire_cb(&cred, t->owner->url, user, auth_methods,
|
|
448
450
|
t->owner->cred_acquire_payload);
|
|
449
451
|
|
|
450
|
-
if (error == GIT_PASSTHROUGH)
|
|
452
|
+
if (error == GIT_PASSTHROUGH) {
|
|
451
453
|
no_callback = 1;
|
|
452
|
-
else if (error < 0)
|
|
454
|
+
} else if (error < 0) {
|
|
453
455
|
return error;
|
|
454
|
-
else if (!cred) {
|
|
455
|
-
|
|
456
|
+
} else if (!cred) {
|
|
457
|
+
git_error_set(GIT_ERROR_SSH, "callback failed to initialize SSH credentials");
|
|
456
458
|
return -1;
|
|
457
459
|
}
|
|
458
460
|
}
|
|
459
461
|
|
|
460
462
|
if (no_callback) {
|
|
461
|
-
|
|
463
|
+
git_error_set(GIT_ERROR_SSH, "authentication required but no callback set");
|
|
462
464
|
return -1;
|
|
463
465
|
}
|
|
464
466
|
|
|
465
467
|
if (!(cred->credtype & auth_methods)) {
|
|
466
468
|
cred->free(cred);
|
|
467
|
-
|
|
469
|
+
git_error_set(GIT_ERROR_SSH, "callback returned unsupported credentials type");
|
|
468
470
|
return -1;
|
|
469
471
|
}
|
|
470
472
|
|
|
@@ -479,13 +481,13 @@ static int _git_ssh_session_create(
|
|
|
479
481
|
{
|
|
480
482
|
int rc = 0;
|
|
481
483
|
LIBSSH2_SESSION* s;
|
|
482
|
-
git_socket_stream *socket = (git_socket_stream
|
|
484
|
+
git_socket_stream *socket = GIT_CONTAINER_OF(io, git_socket_stream, parent);
|
|
483
485
|
|
|
484
486
|
assert(session);
|
|
485
487
|
|
|
486
488
|
s = libssh2_session_init();
|
|
487
489
|
if (!s) {
|
|
488
|
-
|
|
490
|
+
git_error_set(GIT_ERROR_NET, "failed to initialize SSH session");
|
|
489
491
|
return -1;
|
|
490
492
|
}
|
|
491
493
|
|
|
@@ -506,14 +508,15 @@ static int _git_ssh_session_create(
|
|
|
506
508
|
return 0;
|
|
507
509
|
}
|
|
508
510
|
|
|
511
|
+
#define SSH_DEFAULT_PORT "22"
|
|
512
|
+
|
|
509
513
|
static int _git_ssh_setup_conn(
|
|
510
514
|
ssh_subtransport *t,
|
|
511
515
|
const char *url,
|
|
512
516
|
const char *cmd,
|
|
513
517
|
git_smart_subtransport_stream **stream)
|
|
514
518
|
{
|
|
515
|
-
|
|
516
|
-
const char *default_port="22";
|
|
519
|
+
git_net_url urldata = GIT_NET_URL_INIT;
|
|
517
520
|
int auth_methods, error = 0;
|
|
518
521
|
size_t i;
|
|
519
522
|
ssh_stream *s;
|
|
@@ -535,19 +538,22 @@ static int _git_ssh_setup_conn(
|
|
|
535
538
|
const char *p = ssh_prefixes[i];
|
|
536
539
|
|
|
537
540
|
if (!git__prefixcmp(url, p)) {
|
|
538
|
-
if ((error =
|
|
541
|
+
if ((error = git_net_url_parse(&urldata, url)) < 0)
|
|
539
542
|
goto done;
|
|
540
543
|
|
|
541
544
|
goto post_extract;
|
|
542
545
|
}
|
|
543
546
|
}
|
|
544
|
-
if ((error = git_ssh_extract_url_parts(&
|
|
547
|
+
if ((error = git_ssh_extract_url_parts(&urldata, url)) < 0)
|
|
545
548
|
goto done;
|
|
546
|
-
|
|
547
|
-
|
|
549
|
+
|
|
550
|
+
if (urldata.port == NULL)
|
|
551
|
+
urldata.port = git__strdup(SSH_DEFAULT_PORT);
|
|
552
|
+
|
|
553
|
+
GIT_ERROR_CHECK_ALLOC(urldata.port);
|
|
548
554
|
|
|
549
555
|
post_extract:
|
|
550
|
-
if ((error = git_socket_stream_new(&s->io, host, port)) < 0 ||
|
|
556
|
+
if ((error = git_socket_stream_new(&s->io, urldata.host, urldata.port)) < 0 ||
|
|
551
557
|
(error = git_stream_connect(s->io)) < 0)
|
|
552
558
|
goto done;
|
|
553
559
|
|
|
@@ -560,6 +566,14 @@ post_extract:
|
|
|
560
566
|
|
|
561
567
|
cert.parent.cert_type = GIT_CERT_HOSTKEY_LIBSSH2;
|
|
562
568
|
|
|
569
|
+
#ifdef LIBSSH2_HOSTKEY_HASH_SHA256
|
|
570
|
+
key = libssh2_hostkey_hash(session, LIBSSH2_HOSTKEY_HASH_SHA256);
|
|
571
|
+
if (key != NULL) {
|
|
572
|
+
cert.type |= GIT_CERT_SSH_SHA256;
|
|
573
|
+
memcpy(&cert.hash_sha256, key, 32);
|
|
574
|
+
}
|
|
575
|
+
#endif
|
|
576
|
+
|
|
563
577
|
key = libssh2_hostkey_hash(session, LIBSSH2_HOSTKEY_HASH_SHA1);
|
|
564
578
|
if (key != NULL) {
|
|
565
579
|
cert.type |= GIT_CERT_SSH_SHA1;
|
|
@@ -573,41 +587,42 @@ post_extract:
|
|
|
573
587
|
}
|
|
574
588
|
|
|
575
589
|
if (cert.type == 0) {
|
|
576
|
-
|
|
590
|
+
git_error_set(GIT_ERROR_SSH, "unable to get the host key");
|
|
577
591
|
error = -1;
|
|
578
592
|
goto done;
|
|
579
593
|
}
|
|
580
594
|
|
|
581
595
|
/* We don't currently trust any hostkeys */
|
|
582
|
-
|
|
596
|
+
git_error_clear();
|
|
583
597
|
|
|
584
598
|
cert_ptr = &cert;
|
|
585
599
|
|
|
586
|
-
error = t->owner->certificate_check_cb((git_cert *) cert_ptr, 0, host, t->owner->message_cb_payload);
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
600
|
+
error = t->owner->certificate_check_cb((git_cert *) cert_ptr, 0, urldata.host, t->owner->message_cb_payload);
|
|
601
|
+
|
|
602
|
+
if (error < 0 && error != GIT_PASSTHROUGH) {
|
|
603
|
+
if (!git_error_last())
|
|
604
|
+
git_error_set(GIT_ERROR_NET, "user cancelled hostkey check");
|
|
590
605
|
|
|
591
606
|
goto done;
|
|
592
607
|
}
|
|
593
608
|
}
|
|
594
609
|
|
|
595
610
|
/* we need the username to ask for auth methods */
|
|
596
|
-
if (!
|
|
611
|
+
if (!urldata.username) {
|
|
597
612
|
if ((error = request_creds(&cred, t, NULL, GIT_CREDTYPE_USERNAME)) < 0)
|
|
598
613
|
goto done;
|
|
599
614
|
|
|
600
|
-
|
|
615
|
+
urldata.username = git__strdup(((git_cred_username *) cred)->username);
|
|
601
616
|
cred->free(cred);
|
|
602
617
|
cred = NULL;
|
|
603
|
-
if (!
|
|
618
|
+
if (!urldata.username)
|
|
604
619
|
goto done;
|
|
605
|
-
} else if (
|
|
606
|
-
if ((error = git_cred_userpass_plaintext_new(&cred,
|
|
620
|
+
} else if (urldata.username && urldata.password) {
|
|
621
|
+
if ((error = git_cred_userpass_plaintext_new(&cred, urldata.username, urldata.password)) < 0)
|
|
607
622
|
goto done;
|
|
608
623
|
}
|
|
609
624
|
|
|
610
|
-
if ((error = list_auth_methods(&auth_methods, session,
|
|
625
|
+
if ((error = list_auth_methods(&auth_methods, session, urldata.username)) < 0)
|
|
611
626
|
goto done;
|
|
612
627
|
|
|
613
628
|
error = GIT_EAUTH;
|
|
@@ -621,11 +636,11 @@ post_extract:
|
|
|
621
636
|
cred = NULL;
|
|
622
637
|
}
|
|
623
638
|
|
|
624
|
-
if ((error = request_creds(&cred, t,
|
|
639
|
+
if ((error = request_creds(&cred, t, urldata.username, auth_methods)) < 0)
|
|
625
640
|
goto done;
|
|
626
641
|
|
|
627
|
-
if (strcmp(
|
|
628
|
-
|
|
642
|
+
if (strcmp(urldata.username, git_cred_get_username(cred))) {
|
|
643
|
+
git_error_set(GIT_ERROR_SSH, "username does not match previous request");
|
|
629
644
|
error = -1;
|
|
630
645
|
goto done;
|
|
631
646
|
}
|
|
@@ -661,11 +676,7 @@ done:
|
|
|
661
676
|
if (cred)
|
|
662
677
|
cred->free(cred);
|
|
663
678
|
|
|
664
|
-
|
|
665
|
-
git__free(port);
|
|
666
|
-
git__free(path);
|
|
667
|
-
git__free(user);
|
|
668
|
-
git__free(pass);
|
|
679
|
+
git_net_url_dispose(&urldata);
|
|
669
680
|
|
|
670
681
|
return error;
|
|
671
682
|
}
|
|
@@ -692,7 +703,7 @@ static int ssh_uploadpack(
|
|
|
692
703
|
return 0;
|
|
693
704
|
}
|
|
694
705
|
|
|
695
|
-
|
|
706
|
+
git_error_set(GIT_ERROR_NET, "must call UPLOADPACK_LS before UPLOADPACK");
|
|
696
707
|
return -1;
|
|
697
708
|
}
|
|
698
709
|
|
|
@@ -719,7 +730,7 @@ static int ssh_receivepack(
|
|
|
719
730
|
return 0;
|
|
720
731
|
}
|
|
721
732
|
|
|
722
|
-
|
|
733
|
+
git_error_set(GIT_ERROR_NET, "must call RECEIVEPACK_LS before RECEIVEPACK");
|
|
723
734
|
return -1;
|
|
724
735
|
}
|
|
725
736
|
|
|
@@ -729,7 +740,7 @@ static int _ssh_action(
|
|
|
729
740
|
const char *url,
|
|
730
741
|
git_smart_service_t action)
|
|
731
742
|
{
|
|
732
|
-
ssh_subtransport *t = (ssh_subtransport
|
|
743
|
+
ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
|
|
733
744
|
|
|
734
745
|
switch (action) {
|
|
735
746
|
case GIT_SERVICE_UPLOADPACK_LS:
|
|
@@ -751,7 +762,7 @@ static int _ssh_action(
|
|
|
751
762
|
|
|
752
763
|
static int _ssh_close(git_smart_subtransport *subtransport)
|
|
753
764
|
{
|
|
754
|
-
ssh_subtransport *t = (ssh_subtransport
|
|
765
|
+
ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
|
|
755
766
|
|
|
756
767
|
assert(!t->current_stream);
|
|
757
768
|
|
|
@@ -762,7 +773,7 @@ static int _ssh_close(git_smart_subtransport *subtransport)
|
|
|
762
773
|
|
|
763
774
|
static void _ssh_free(git_smart_subtransport *subtransport)
|
|
764
775
|
{
|
|
765
|
-
ssh_subtransport *t = (ssh_subtransport
|
|
776
|
+
ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
|
|
766
777
|
|
|
767
778
|
assert(!t->current_stream);
|
|
768
779
|
|
|
@@ -835,7 +846,7 @@ int git_smart_subtransport_ssh(
|
|
|
835
846
|
GIT_UNUSED(param);
|
|
836
847
|
|
|
837
848
|
t = git__calloc(sizeof(ssh_subtransport), 1);
|
|
838
|
-
|
|
849
|
+
GIT_ERROR_CHECK_ALLOC(t);
|
|
839
850
|
|
|
840
851
|
t->owner = (transport_smart *)owner;
|
|
841
852
|
t->parent.action = _ssh_action;
|
|
@@ -851,7 +862,7 @@ int git_smart_subtransport_ssh(
|
|
|
851
862
|
assert(out);
|
|
852
863
|
*out = NULL;
|
|
853
864
|
|
|
854
|
-
|
|
865
|
+
git_error_set(GIT_ERROR_INVALID, "cannot create SSH transport. Library was built without SSH support");
|
|
855
866
|
return -1;
|
|
856
867
|
#endif
|
|
857
868
|
}
|
|
@@ -871,7 +882,7 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
|
|
|
871
882
|
};
|
|
872
883
|
|
|
873
884
|
if (paths->count != 2) {
|
|
874
|
-
|
|
885
|
+
git_error_set(GIT_ERROR_SSH, "invalid ssh paths, must be two strings");
|
|
875
886
|
return GIT_EINVALIDSPEC;
|
|
876
887
|
}
|
|
877
888
|
|
|
@@ -882,9 +893,9 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
|
|
|
882
893
|
t = (ssh_subtransport *) smart->wrapped;
|
|
883
894
|
|
|
884
895
|
t->cmd_uploadpack = git__strdup(paths->strings[0]);
|
|
885
|
-
|
|
896
|
+
GIT_ERROR_CHECK_ALLOC(t->cmd_uploadpack);
|
|
886
897
|
t->cmd_receivepack = git__strdup(paths->strings[1]);
|
|
887
|
-
|
|
898
|
+
GIT_ERROR_CHECK_ALLOC(t->cmd_receivepack);
|
|
888
899
|
|
|
889
900
|
*out = transport;
|
|
890
901
|
return 0;
|
|
@@ -895,7 +906,7 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
|
|
|
895
906
|
assert(out);
|
|
896
907
|
*out = NULL;
|
|
897
908
|
|
|
898
|
-
|
|
909
|
+
git_error_set(GIT_ERROR_INVALID, "cannot create SSH transport. Library was built without SSH support");
|
|
899
910
|
return -1;
|
|
900
911
|
#endif
|
|
901
912
|
}
|
|
@@ -911,7 +922,7 @@ int git_transport_ssh_global_init(void)
|
|
|
911
922
|
{
|
|
912
923
|
#ifdef GIT_SSH
|
|
913
924
|
if (libssh2_init(0) < 0) {
|
|
914
|
-
|
|
925
|
+
git_error_set(GIT_ERROR_SSH, "unable to initialize libssh2");
|
|
915
926
|
return -1;
|
|
916
927
|
}
|
|
917
928
|
|