rugged 0.28.4 → 0.28.4.1

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.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +0 -1
  4. data/vendor/libgit2/CMakeLists.txt +16 -36
  5. data/vendor/libgit2/COPYING +0 -28
  6. data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +1 -5
  7. data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
  8. data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
  10. data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +0 -6
  11. data/vendor/libgit2/deps/http-parser/http_parser.c +6 -11
  12. data/vendor/libgit2/deps/regex/CMakeLists.txt +2 -0
  13. data/vendor/libgit2/deps/regex/COPYING +502 -0
  14. data/vendor/libgit2/deps/regex/config.h +7 -0
  15. data/vendor/libgit2/deps/regex/regcomp.c +3857 -0
  16. data/vendor/libgit2/deps/regex/regex.c +92 -0
  17. data/vendor/libgit2/deps/regex/regex.h +582 -0
  18. data/vendor/libgit2/deps/regex/regex_internal.c +1744 -0
  19. data/vendor/libgit2/deps/regex/regex_internal.h +819 -0
  20. data/vendor/libgit2/deps/regex/regexec.c +4369 -0
  21. data/vendor/libgit2/deps/zlib/adler32.c +7 -0
  22. data/vendor/libgit2/deps/zlib/crc32.c +7 -0
  23. data/vendor/libgit2/include/git2.h +0 -2
  24. data/vendor/libgit2/include/git2/apply.h +2 -22
  25. data/vendor/libgit2/include/git2/attr.h +12 -19
  26. data/vendor/libgit2/include/git2/blame.h +2 -2
  27. data/vendor/libgit2/include/git2/blob.h +12 -44
  28. data/vendor/libgit2/include/git2/buffer.h +14 -20
  29. data/vendor/libgit2/include/git2/checkout.h +14 -46
  30. data/vendor/libgit2/include/git2/cherrypick.h +3 -3
  31. data/vendor/libgit2/include/git2/clone.h +2 -2
  32. data/vendor/libgit2/include/git2/commit.h +1 -23
  33. data/vendor/libgit2/include/git2/common.h +5 -7
  34. data/vendor/libgit2/include/git2/config.h +12 -12
  35. data/vendor/libgit2/include/git2/deprecated.h +3 -243
  36. data/vendor/libgit2/include/git2/describe.h +4 -4
  37. data/vendor/libgit2/include/git2/diff.h +14 -16
  38. data/vendor/libgit2/include/git2/filter.h +0 -8
  39. data/vendor/libgit2/include/git2/index.h +1 -2
  40. data/vendor/libgit2/include/git2/indexer.h +4 -48
  41. data/vendor/libgit2/include/git2/inttypes.h +309 -0
  42. data/vendor/libgit2/include/git2/merge.h +10 -6
  43. data/vendor/libgit2/include/git2/net.h +5 -0
  44. data/vendor/libgit2/include/git2/object.h +14 -2
  45. data/vendor/libgit2/include/git2/odb.h +2 -3
  46. data/vendor/libgit2/include/git2/odb_backend.h +4 -5
  47. data/vendor/libgit2/include/git2/oid.h +1 -1
  48. data/vendor/libgit2/include/git2/pack.h +1 -12
  49. data/vendor/libgit2/include/git2/proxy.h +3 -5
  50. data/vendor/libgit2/include/git2/rebase.h +2 -46
  51. data/vendor/libgit2/include/git2/refs.h +0 -19
  52. data/vendor/libgit2/include/git2/remote.h +12 -35
  53. data/vendor/libgit2/include/git2/repository.h +2 -24
  54. data/vendor/libgit2/include/git2/revert.h +1 -1
  55. data/vendor/libgit2/include/git2/stash.h +3 -3
  56. data/vendor/libgit2/include/git2/status.h +16 -25
  57. data/vendor/libgit2/include/git2/submodule.h +3 -20
  58. data/vendor/libgit2/include/git2/sys/alloc.h +9 -9
  59. data/vendor/libgit2/include/git2/sys/odb_backend.h +4 -48
  60. data/vendor/libgit2/include/git2/sys/refdb_backend.h +21 -57
  61. data/vendor/libgit2/include/git2/sys/repository.h +1 -5
  62. data/vendor/libgit2/include/git2/sys/time.h +31 -0
  63. data/vendor/libgit2/include/git2/sys/transport.h +2 -2
  64. data/vendor/libgit2/include/git2/tag.h +2 -11
  65. data/vendor/libgit2/include/git2/trace.h +2 -2
  66. data/vendor/libgit2/include/git2/transport.h +340 -11
  67. data/vendor/libgit2/include/git2/tree.h +1 -1
  68. data/vendor/libgit2/include/git2/types.h +89 -4
  69. data/vendor/libgit2/include/git2/version.h +2 -2
  70. data/vendor/libgit2/include/git2/worktree.h +5 -5
  71. data/vendor/libgit2/libgit2.pc.in +13 -0
  72. data/vendor/libgit2/src/CMakeLists.txt +222 -88
  73. data/vendor/libgit2/src/alloc.c +14 -2
  74. data/vendor/libgit2/src/apply.c +30 -60
  75. data/vendor/libgit2/src/attr.c +64 -70
  76. data/vendor/libgit2/src/attr_file.c +96 -189
  77. data/vendor/libgit2/src/attr_file.h +9 -9
  78. data/vendor/libgit2/src/attrcache.c +46 -44
  79. data/vendor/libgit2/src/attrcache.h +1 -2
  80. data/vendor/libgit2/src/blame.c +5 -17
  81. data/vendor/libgit2/src/blame.h +1 -1
  82. data/vendor/libgit2/src/blame_git.c +7 -21
  83. data/vendor/libgit2/src/blob.c +17 -81
  84. data/vendor/libgit2/src/blob.h +2 -2
  85. data/vendor/libgit2/src/branch.c +5 -29
  86. data/vendor/libgit2/src/buffer.c +7 -14
  87. data/vendor/libgit2/src/cache.c +33 -26
  88. data/vendor/libgit2/src/cache.h +1 -1
  89. data/vendor/libgit2/src/cc-compat.h +0 -5
  90. data/vendor/libgit2/src/checkout.c +16 -26
  91. data/vendor/libgit2/src/cherrypick.c +3 -9
  92. data/vendor/libgit2/src/clone.c +7 -29
  93. data/vendor/libgit2/src/clone.h +0 -4
  94. data/vendor/libgit2/src/commit.c +21 -69
  95. data/vendor/libgit2/src/commit.h +0 -6
  96. data/vendor/libgit2/src/commit_list.c +76 -28
  97. data/vendor/libgit2/src/commit_list.h +2 -2
  98. data/vendor/libgit2/src/common.h +75 -3
  99. data/vendor/libgit2/src/config.c +40 -31
  100. data/vendor/libgit2/src/config.h +6 -7
  101. data/vendor/libgit2/src/config_backend.h +0 -12
  102. data/vendor/libgit2/src/config_cache.c +39 -39
  103. data/vendor/libgit2/src/config_entries.c +99 -69
  104. data/vendor/libgit2/src/config_entries.h +0 -1
  105. data/vendor/libgit2/src/config_file.c +380 -337
  106. data/vendor/libgit2/src/config_mem.c +16 -12
  107. data/vendor/libgit2/src/config_parse.c +29 -49
  108. data/vendor/libgit2/src/config_parse.h +12 -13
  109. data/vendor/libgit2/src/crlf.c +14 -14
  110. data/vendor/libgit2/src/describe.c +20 -21
  111. data/vendor/libgit2/src/diff.c +58 -43
  112. data/vendor/libgit2/src/diff.h +1 -2
  113. data/vendor/libgit2/src/diff_driver.c +38 -37
  114. data/vendor/libgit2/src/diff_file.c +7 -9
  115. data/vendor/libgit2/src/diff_file.h +1 -1
  116. data/vendor/libgit2/src/diff_generate.c +85 -135
  117. data/vendor/libgit2/src/diff_generate.h +2 -2
  118. data/vendor/libgit2/src/diff_parse.c +1 -1
  119. data/vendor/libgit2/src/diff_print.c +13 -25
  120. data/vendor/libgit2/src/diff_stats.c +1 -1
  121. data/vendor/libgit2/src/diff_tform.c +4 -4
  122. data/vendor/libgit2/src/errors.c +22 -12
  123. data/vendor/libgit2/src/features.h.in +2 -9
  124. data/vendor/libgit2/src/fetch.c +2 -7
  125. data/vendor/libgit2/src/fetchhead.c +1 -1
  126. data/vendor/libgit2/src/filebuf.c +10 -6
  127. data/vendor/libgit2/src/filebuf.h +2 -2
  128. data/vendor/libgit2/src/{futils.c → fileops.c} +17 -21
  129. data/vendor/libgit2/src/{futils.h → fileops.h} +5 -5
  130. data/vendor/libgit2/src/filter.c +8 -16
  131. data/vendor/libgit2/src/fnmatch.c +248 -0
  132. data/vendor/libgit2/src/fnmatch.h +48 -0
  133. data/vendor/libgit2/src/global.c +40 -12
  134. data/vendor/libgit2/src/global.h +2 -0
  135. data/vendor/libgit2/src/hash.c +0 -61
  136. data/vendor/libgit2/src/hash.h +21 -19
  137. data/vendor/libgit2/src/hash/{sha1/collisiondetect.c → hash_collisiondetect.h} +17 -14
  138. data/vendor/libgit2/src/hash/{sha1/common_crypto.c → hash_common_crypto.h} +19 -15
  139. data/vendor/libgit2/src/hash/{sha1/generic.c → hash_generic.c} +10 -22
  140. data/vendor/libgit2/src/hash/{sha1/generic.h → hash_generic.h} +14 -4
  141. data/vendor/libgit2/src/hash/{sha1/mbedtls.c → hash_mbedtls.c} +7 -15
  142. data/vendor/libgit2/src/hash/{sha1/mbedtls.h → hash_mbedtls.h} +11 -6
  143. data/vendor/libgit2/src/hash/{sha1/openssl.c → hash_openssl.h} +18 -14
  144. data/vendor/libgit2/src/hash/{sha1/win32.c → hash_win32.c} +24 -34
  145. data/vendor/libgit2/src/hash/{sha1/win32.h → hash_win32.h} +19 -6
  146. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.c +3 -14
  147. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/sha1.h +0 -0
  148. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.c +0 -0
  149. data/vendor/libgit2/src/hash/{sha1/sha1dc → sha1dc}/ubc_check.h +0 -0
  150. data/vendor/libgit2/src/hashsig.c +1 -1
  151. data/vendor/libgit2/src/idxmap.c +65 -91
  152. data/vendor/libgit2/src/idxmap.h +15 -151
  153. data/vendor/libgit2/src/ignore.c +38 -32
  154. data/vendor/libgit2/src/index.c +43 -66
  155. data/vendor/libgit2/src/index.h +1 -1
  156. data/vendor/libgit2/src/indexer.c +70 -69
  157. data/vendor/libgit2/src/integer.h +4 -39
  158. data/vendor/libgit2/src/iterator.c +22 -27
  159. data/vendor/libgit2/src/map.h +1 -1
  160. data/vendor/libgit2/src/merge.c +44 -58
  161. data/vendor/libgit2/src/merge_driver.c +4 -4
  162. data/vendor/libgit2/src/merge_file.c +1 -1
  163. data/vendor/libgit2/src/mwindow.c +23 -18
  164. data/vendor/libgit2/src/mwindow.h +4 -4
  165. data/vendor/libgit2/src/netops.c +165 -55
  166. data/vendor/libgit2/src/netops.h +25 -3
  167. data/vendor/libgit2/src/notes.c +2 -2
  168. data/vendor/libgit2/src/object.c +2 -2
  169. data/vendor/libgit2/src/object.h +0 -2
  170. data/vendor/libgit2/src/odb.c +23 -41
  171. data/vendor/libgit2/src/odb.h +2 -3
  172. data/vendor/libgit2/src/odb_loose.c +10 -17
  173. data/vendor/libgit2/src/odb_mempack.c +23 -10
  174. data/vendor/libgit2/src/odb_pack.c +4 -4
  175. data/vendor/libgit2/src/offmap.c +55 -43
  176. data/vendor/libgit2/src/offmap.h +24 -102
  177. data/vendor/libgit2/src/oid.c +1 -6
  178. data/vendor/libgit2/src/oidmap.c +57 -39
  179. data/vendor/libgit2/src/oidmap.h +19 -99
  180. data/vendor/libgit2/src/pack-objects.c +32 -25
  181. data/vendor/libgit2/src/pack-objects.h +1 -1
  182. data/vendor/libgit2/src/pack.c +47 -45
  183. data/vendor/libgit2/src/pack.h +14 -12
  184. data/vendor/libgit2/src/parse.c +0 -10
  185. data/vendor/libgit2/src/parse.h +3 -3
  186. data/vendor/libgit2/src/patch.c +1 -1
  187. data/vendor/libgit2/src/patch_generate.c +2 -2
  188. data/vendor/libgit2/src/patch_parse.c +31 -124
  189. data/vendor/libgit2/src/path.c +6 -43
  190. data/vendor/libgit2/src/path.h +0 -2
  191. data/vendor/libgit2/src/pathspec.c +13 -13
  192. data/vendor/libgit2/src/pool.c +22 -26
  193. data/vendor/libgit2/src/pool.h +7 -7
  194. data/vendor/libgit2/src/posix.c +7 -7
  195. data/vendor/libgit2/src/posix.h +1 -12
  196. data/vendor/libgit2/src/proxy.c +2 -7
  197. data/vendor/libgit2/src/push.c +5 -10
  198. data/vendor/libgit2/src/reader.c +2 -2
  199. data/vendor/libgit2/src/rebase.c +7 -66
  200. data/vendor/libgit2/src/refdb.c +0 -12
  201. data/vendor/libgit2/src/refdb_fs.c +165 -214
  202. data/vendor/libgit2/src/reflog.c +13 -11
  203. data/vendor/libgit2/src/refs.c +18 -24
  204. data/vendor/libgit2/src/refspec.c +16 -9
  205. data/vendor/libgit2/src/remote.c +52 -50
  206. data/vendor/libgit2/src/remote.h +2 -2
  207. data/vendor/libgit2/src/repository.c +100 -115
  208. data/vendor/libgit2/src/repository.h +40 -49
  209. data/vendor/libgit2/src/revert.c +3 -8
  210. data/vendor/libgit2/src/revparse.c +19 -18
  211. data/vendor/libgit2/src/revwalk.c +30 -63
  212. data/vendor/libgit2/src/revwalk.h +0 -20
  213. data/vendor/libgit2/src/settings.c +0 -5
  214. data/vendor/libgit2/src/sortedcache.c +26 -12
  215. data/vendor/libgit2/src/sortedcache.h +1 -1
  216. data/vendor/libgit2/src/stash.c +65 -45
  217. data/vendor/libgit2/src/status.c +9 -15
  218. data/vendor/libgit2/src/{allocators/stdalloc.c → stdalloc.c} +4 -3
  219. data/vendor/libgit2/src/{allocators/stdalloc.h → stdalloc.h} +4 -4
  220. data/vendor/libgit2/src/streams/openssl.c +0 -20
  221. data/vendor/libgit2/src/streams/socket.c +2 -2
  222. data/vendor/libgit2/src/strmap.c +84 -37
  223. data/vendor/libgit2/src/strmap.h +33 -105
  224. data/vendor/libgit2/src/submodule.c +70 -102
  225. data/vendor/libgit2/src/submodule.h +1 -1
  226. data/vendor/libgit2/src/sysdir.c +1 -11
  227. data/vendor/libgit2/src/tag.c +2 -10
  228. data/vendor/libgit2/src/trace.c +1 -1
  229. data/vendor/libgit2/src/trace.h +2 -2
  230. data/vendor/libgit2/src/trailer.c +32 -46
  231. data/vendor/libgit2/src/transaction.c +9 -10
  232. data/vendor/libgit2/src/transports/auth.c +9 -10
  233. data/vendor/libgit2/src/transports/auth.h +4 -11
  234. data/vendor/libgit2/src/transports/auth_negotiate.c +9 -23
  235. data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
  236. data/vendor/libgit2/src/transports/cred.c +6 -6
  237. data/vendor/libgit2/src/{allocators/win32_crtdbg.h → transports/cred.h} +4 -5
  238. data/vendor/libgit2/src/transports/git.c +16 -11
  239. data/vendor/libgit2/src/transports/http.c +276 -419
  240. data/vendor/libgit2/src/transports/http.h +1 -1
  241. data/vendor/libgit2/src/transports/local.c +9 -9
  242. data/vendor/libgit2/src/transports/smart.c +17 -17
  243. data/vendor/libgit2/src/transports/smart.h +2 -2
  244. data/vendor/libgit2/src/transports/smart_protocol.c +60 -36
  245. data/vendor/libgit2/src/transports/ssh.c +36 -46
  246. data/vendor/libgit2/src/transports/winhttp.c +207 -231
  247. data/vendor/libgit2/src/tree-cache.c +7 -14
  248. data/vendor/libgit2/src/tree.c +24 -10
  249. data/vendor/libgit2/src/unix/map.c +1 -1
  250. data/vendor/libgit2/src/unix/posix.h +11 -1
  251. data/vendor/libgit2/src/userdiff.h +1 -3
  252. data/vendor/libgit2/src/util.c +53 -51
  253. data/vendor/libgit2/src/util.h +21 -16
  254. data/vendor/libgit2/src/win32/map.c +5 -3
  255. data/vendor/libgit2/src/win32/path_w32.c +2 -12
  256. data/vendor/libgit2/src/win32/path_w32.h +29 -0
  257. data/vendor/libgit2/src/win32/posix.h +4 -1
  258. data/vendor/libgit2/src/win32/posix_w32.c +5 -40
  259. data/vendor/libgit2/src/win32/precompiled.h +2 -0
  260. data/vendor/libgit2/src/win32/thread.c +10 -5
  261. data/vendor/libgit2/src/win32/w32_buffer.c +3 -7
  262. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +93 -0
  263. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +2 -0
  264. data/vendor/libgit2/src/win32/w32_stack.c +9 -4
  265. data/vendor/libgit2/src/win32/w32_stack.h +3 -3
  266. data/vendor/libgit2/src/win32/w32_util.c +0 -31
  267. data/vendor/libgit2/src/win32/w32_util.h +32 -6
  268. data/vendor/libgit2/src/worktree.c +22 -36
  269. data/vendor/libgit2/src/xdiff/xdiffi.c +1 -1
  270. data/vendor/libgit2/src/xdiff/xmerge.c +0 -12
  271. data/vendor/libgit2/src/xdiff/xpatience.c +0 -3
  272. metadata +34 -98
  273. data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +0 -28
  274. data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +0 -38
  275. data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +0 -37
  276. data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +0 -110
  277. data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +0 -53
  278. data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +0 -124
  279. data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +0 -66
  280. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +0 -21
  281. data/vendor/libgit2/deps/ntlmclient/compat.h +0 -33
  282. data/vendor/libgit2/deps/ntlmclient/crypt.h +0 -64
  283. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +0 -120
  284. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +0 -18
  285. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -145
  286. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +0 -18
  287. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +0 -130
  288. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +0 -21
  289. data/vendor/libgit2/deps/ntlmclient/ntlm.c +0 -1420
  290. data/vendor/libgit2/deps/ntlmclient/ntlm.h +0 -174
  291. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +0 -320
  292. data/vendor/libgit2/deps/ntlmclient/unicode.h +0 -36
  293. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +0 -445
  294. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +0 -201
  295. data/vendor/libgit2/deps/ntlmclient/utf8.h +0 -1257
  296. data/vendor/libgit2/deps/ntlmclient/util.c +0 -21
  297. data/vendor/libgit2/deps/ntlmclient/util.h +0 -14
  298. data/vendor/libgit2/deps/pcre/CMakeLists.txt +0 -140
  299. data/vendor/libgit2/deps/pcre/COPYING +0 -5
  300. data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +0 -22
  301. data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +0 -17
  302. data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +0 -58
  303. data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +0 -29
  304. data/vendor/libgit2/deps/pcre/config.h.in +0 -57
  305. data/vendor/libgit2/deps/pcre/pcre.h +0 -641
  306. data/vendor/libgit2/deps/pcre/pcre_byte_order.c +0 -319
  307. data/vendor/libgit2/deps/pcre/pcre_chartables.c +0 -198
  308. data/vendor/libgit2/deps/pcre/pcre_compile.c +0 -9800
  309. data/vendor/libgit2/deps/pcre/pcre_config.c +0 -190
  310. data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +0 -3676
  311. data/vendor/libgit2/deps/pcre/pcre_exec.c +0 -7173
  312. data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +0 -245
  313. data/vendor/libgit2/deps/pcre/pcre_get.c +0 -669
  314. data/vendor/libgit2/deps/pcre/pcre_globals.c +0 -86
  315. data/vendor/libgit2/deps/pcre/pcre_internal.h +0 -2787
  316. data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +0 -11913
  317. data/vendor/libgit2/deps/pcre/pcre_maketables.c +0 -156
  318. data/vendor/libgit2/deps/pcre/pcre_newline.c +0 -210
  319. data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +0 -94
  320. data/vendor/libgit2/deps/pcre/pcre_printint.c +0 -834
  321. data/vendor/libgit2/deps/pcre/pcre_refcount.c +0 -92
  322. data/vendor/libgit2/deps/pcre/pcre_string_utils.c +0 -211
  323. data/vendor/libgit2/deps/pcre/pcre_study.c +0 -1686
  324. data/vendor/libgit2/deps/pcre/pcre_tables.c +0 -727
  325. data/vendor/libgit2/deps/pcre/pcre_ucd.c +0 -3644
  326. data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +0 -301
  327. data/vendor/libgit2/deps/pcre/pcre_version.c +0 -98
  328. data/vendor/libgit2/deps/pcre/pcre_xclass.c +0 -268
  329. data/vendor/libgit2/deps/pcre/pcreposix.c +0 -421
  330. data/vendor/libgit2/deps/pcre/pcreposix.h +0 -117
  331. data/vendor/libgit2/deps/pcre/ucp.h +0 -224
  332. data/vendor/libgit2/include/git2/cert.h +0 -135
  333. data/vendor/libgit2/include/git2/cred.h +0 -308
  334. data/vendor/libgit2/include/git2/sys/cred.h +0 -90
  335. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  336. data/vendor/libgit2/src/config_snapshot.c +0 -206
  337. data/vendor/libgit2/src/errors.h +0 -81
  338. data/vendor/libgit2/src/hash/sha1.h +0 -38
  339. data/vendor/libgit2/src/hash/sha1/collisiondetect.h +0 -19
  340. data/vendor/libgit2/src/hash/sha1/common_crypto.h +0 -19
  341. data/vendor/libgit2/src/hash/sha1/openssl.h +0 -19
  342. data/vendor/libgit2/src/net.c +0 -184
  343. data/vendor/libgit2/src/net.h +0 -36
  344. data/vendor/libgit2/src/regexp.c +0 -221
  345. data/vendor/libgit2/src/regexp.h +0 -97
  346. data/vendor/libgit2/src/transports/auth_ntlm.c +0 -223
  347. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -35
  348. data/vendor/libgit2/src/wildmatch.c +0 -320
  349. data/vendor/libgit2/src/wildmatch.h +0 -23
  350. data/vendor/libgit2/src/win32/w32_common.h +0 -39
@@ -10,7 +10,7 @@
10
10
 
11
11
  #include "buffer.h"
12
12
 
13
- #define GIT_HTTP_REPLAY_MAX 15
13
+ #define GIT_HTTP_REPLAY_MAX 7
14
14
 
15
15
  GIT_INLINE(int) git_http__user_agent(git_buf *buf)
16
16
  {
@@ -309,7 +309,7 @@ static int local_push_update_remote_ref(
309
309
  if (lref[0] != '\0') {
310
310
  /* Create or update a ref */
311
311
  error = git_reference_create(NULL, remote_repo, rref, loid,
312
- !git_oid_is_zero(roid), NULL);
312
+ !git_oid_iszero(roid), NULL);
313
313
  } else {
314
314
  /* Delete a ref */
315
315
  if ((error = git_reference_lookup(&remote_ref, remote_repo, rref)) < 0) {
@@ -325,7 +325,7 @@ static int local_push_update_remote_ref(
325
325
  return error;
326
326
  }
327
327
 
328
- static int transfer_to_push_transfer(const git_indexer_progress *stats, void *payload)
328
+ static int transfer_to_push_transfer(const git_transfer_progress *stats, void *payload)
329
329
  {
330
330
  const git_remote_callbacks *cbs = payload;
331
331
 
@@ -460,8 +460,8 @@ on_error:
460
460
  }
461
461
 
462
462
  typedef struct foreach_data {
463
- git_indexer_progress *stats;
464
- git_indexer_progress_cb progress_cb;
463
+ git_transfer_progress *stats;
464
+ git_transfer_progress_cb progress_cb;
465
465
  void *progress_payload;
466
466
  git_odb_writepack *writepack;
467
467
  } foreach_data;
@@ -501,7 +501,7 @@ static int local_counting(int stage, unsigned int current, unsigned int total, v
501
501
  if (git_buf_oom(&progress_info))
502
502
  return -1;
503
503
 
504
- error = t->progress_cb(git_buf_cstr(&progress_info), (int)git_buf_len(&progress_info), t->message_cb_payload);
504
+ error = t->progress_cb(git_buf_cstr(&progress_info), git_buf_len(&progress_info), t->message_cb_payload);
505
505
  git_buf_dispose(&progress_info);
506
506
 
507
507
  return error;
@@ -533,8 +533,8 @@ static int foreach_reference_cb(git_reference *reference, void *payload)
533
533
  static int local_download_pack(
534
534
  git_transport *transport,
535
535
  git_repository *repo,
536
- git_indexer_progress *stats,
537
- git_indexer_progress_cb progress_cb,
536
+ git_transfer_progress *stats,
537
+ git_transfer_progress_cb progress_cb,
538
538
  void *progress_payload)
539
539
  {
540
540
  transport_local *t = (transport_local*)transport;
@@ -588,7 +588,7 @@ static int local_download_pack(
588
588
  goto cleanup;
589
589
 
590
590
  if (t->progress_cb &&
591
- (error = t->progress_cb(git_buf_cstr(&progress_info), (int)git_buf_len(&progress_info), t->message_cb_payload)) < 0)
591
+ (error = t->progress_cb(git_buf_cstr(&progress_info), git_buf_len(&progress_info), t->message_cb_payload)) < 0)
592
592
  goto cleanup;
593
593
 
594
594
  /* Walk the objects, building a packfile */
@@ -602,7 +602,7 @@ static int local_download_pack(
602
602
  goto cleanup;
603
603
 
604
604
  if (t->progress_cb &&
605
- (error = t->progress_cb(git_buf_cstr(&progress_info), (int)git_buf_len(&progress_info), t->message_cb_payload)) < 0)
605
+ (error = t->progress_cb(git_buf_cstr(&progress_info), git_buf_len(&progress_info), t->message_cb_payload)) < 0)
606
606
  goto cleanup;
607
607
 
608
608
  if ((error = git_odb_write_pack(&writepack, odb, progress_cb, progress_payload)) != 0)
@@ -63,7 +63,7 @@ static int git_smart__set_callbacks(
63
63
  git_transport_certificate_check_cb certificate_check_cb,
64
64
  void *message_cb_payload)
65
65
  {
66
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
66
+ transport_smart *t = (transport_smart *)transport;
67
67
 
68
68
  t->progress_cb = progress_cb;
69
69
  t->error_cb = error_cb;
@@ -73,7 +73,7 @@ static int git_smart__set_callbacks(
73
73
  return 0;
74
74
  }
75
75
 
76
- static size_t http_header_name_length(const char *http_header)
76
+ static int http_header_name_length(const char *http_header)
77
77
  {
78
78
  const char *colon = strchr(http_header, ':');
79
79
  if (!colon)
@@ -84,7 +84,7 @@ static size_t http_header_name_length(const char *http_header)
84
84
  static bool is_malformed_http_header(const char *http_header)
85
85
  {
86
86
  const char *c;
87
- size_t name_len;
87
+ int name_len;
88
88
 
89
89
  /* Disallow \r and \n */
90
90
  c = strchr(http_header, '\r');
@@ -114,7 +114,7 @@ static char *forbidden_custom_headers[] = {
114
114
  static bool is_forbidden_custom_header(const char *custom_header)
115
115
  {
116
116
  unsigned long i;
117
- size_t name_len = http_header_name_length(custom_header);
117
+ int name_len = http_header_name_length(custom_header);
118
118
 
119
119
  /* Disallow headers that we set */
120
120
  for (i = 0; i < ARRAY_SIZE(forbidden_custom_headers); i++)
@@ -128,7 +128,7 @@ static int git_smart__set_custom_headers(
128
128
  git_transport *transport,
129
129
  const git_strarray *custom_headers)
130
130
  {
131
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
131
+ transport_smart *t = (transport_smart *)transport;
132
132
  size_t i;
133
133
 
134
134
  if (t->custom_headers.count)
@@ -212,7 +212,7 @@ static int git_smart__connect(
212
212
  int direction,
213
213
  int flags)
214
214
  {
215
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
215
+ transport_smart *t = (transport_smart *)transport;
216
216
  git_smart_subtransport_stream *stream;
217
217
  int error;
218
218
  git_pkt *pkt;
@@ -286,7 +286,7 @@ static int git_smart__connect(
286
286
  if ((error = git_smart__detect_caps(first, &t->caps, &symrefs)) == 0) {
287
287
  /* If the only ref in the list is capabilities^{} with OID_ZERO, remove it */
288
288
  if (1 == t->refs.length && !strcmp(first->head.name, "capabilities^{}") &&
289
- git_oid_is_zero(&first->head.oid)) {
289
+ git_oid_iszero(&first->head.oid)) {
290
290
  git_vector_clear(&t->refs);
291
291
  git_pkt_free((git_pkt *)first);
292
292
  }
@@ -315,7 +315,7 @@ cleanup:
315
315
 
316
316
  static int git_smart__ls(const git_remote_head ***out, size_t *size, git_transport *transport)
317
317
  {
318
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
318
+ transport_smart *t = (transport_smart *)transport;
319
319
 
320
320
  if (!t->have_refs) {
321
321
  git_error_set(GIT_ERROR_NET, "the transport has not yet loaded the refs");
@@ -330,7 +330,7 @@ static int git_smart__ls(const git_remote_head ***out, size_t *size, git_transpo
330
330
 
331
331
  int git_smart__negotiation_step(git_transport *transport, void *data, size_t len)
332
332
  {
333
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
333
+ transport_smart *t = (transport_smart *)transport;
334
334
  git_smart_subtransport_stream *stream;
335
335
  int error;
336
336
 
@@ -387,21 +387,21 @@ int git_smart__get_push_stream(transport_smart *t, git_smart_subtransport_stream
387
387
 
388
388
  static void git_smart__cancel(git_transport *transport)
389
389
  {
390
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
390
+ transport_smart *t = (transport_smart *)transport;
391
391
 
392
392
  git_atomic_set(&t->cancelled, 1);
393
393
  }
394
394
 
395
395
  static int git_smart__is_connected(git_transport *transport)
396
396
  {
397
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
397
+ transport_smart *t = (transport_smart *)transport;
398
398
 
399
399
  return t->connected;
400
400
  }
401
401
 
402
402
  static int git_smart__read_flags(git_transport *transport, int *flags)
403
403
  {
404
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
404
+ transport_smart *t = (transport_smart *)transport;
405
405
 
406
406
  *flags = t->flags;
407
407
 
@@ -410,7 +410,7 @@ static int git_smart__read_flags(git_transport *transport, int *flags)
410
410
 
411
411
  static int git_smart__close(git_transport *transport)
412
412
  {
413
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
413
+ transport_smart *t = (transport_smart *)transport;
414
414
  git_vector *common = &t->common;
415
415
  unsigned int i;
416
416
  git_pkt *p;
@@ -447,7 +447,7 @@ static int git_smart__close(git_transport *transport)
447
447
 
448
448
  static void git_smart__free(git_transport *transport)
449
449
  {
450
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
450
+ transport_smart *t = (transport_smart *)transport;
451
451
  git_vector *refs = &t->refs;
452
452
  unsigned int i;
453
453
  git_pkt *p;
@@ -479,7 +479,7 @@ static int ref_name_cmp(const void *a, const void *b)
479
479
 
480
480
  int git_transport_smart_certificate_check(git_transport *transport, git_cert *cert, int valid, const char *hostname)
481
481
  {
482
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
482
+ transport_smart *t = (transport_smart *)transport;
483
483
 
484
484
  assert(transport && cert && hostname);
485
485
 
@@ -491,7 +491,7 @@ int git_transport_smart_certificate_check(git_transport *transport, git_cert *ce
491
491
 
492
492
  int git_transport_smart_credentials(git_cred **out, git_transport *transport, const char *user, int methods)
493
493
  {
494
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
494
+ transport_smart *t = (transport_smart *)transport;
495
495
 
496
496
  assert(out && transport);
497
497
 
@@ -503,7 +503,7 @@ int git_transport_smart_credentials(git_cred **out, git_transport *transport, co
503
503
 
504
504
  int git_transport_smart_proxy_options(git_proxy_options *out, git_transport *transport)
505
505
  {
506
- transport_smart *t = GIT_CONTAINER_OF(transport, transport_smart, parent);
506
+ transport_smart *t = (transport_smart *) transport;
507
507
  return git_proxy_options_dup(out, &t->proxy);
508
508
  }
509
509
 
@@ -177,8 +177,8 @@ int git_smart__negotiate_fetch(
177
177
  int git_smart__download_pack(
178
178
  git_transport *transport,
179
179
  git_repository *repo,
180
- git_indexer_progress *stats,
181
- git_indexer_progress_cb progress_cb,
180
+ git_transfer_progress *stats,
181
+ git_transfer_progress_cb progress_cb,
182
182
  void *progress_payload);
183
183
 
184
184
  /* smart.c */
@@ -17,7 +17,6 @@
17
17
  #include "pack-objects.h"
18
18
  #include "remote.h"
19
19
  #include "util.h"
20
- #include "revwalk.h"
21
20
 
22
21
  #define NETWORK_XFER_THRESHOLD (100*1024)
23
22
  /* The minimal interval between progress updates (in seconds). */
@@ -271,6 +270,50 @@ static int store_common(transport_smart *t)
271
270
  return 0;
272
271
  }
273
272
 
273
+ static int fetch_setup_walk(git_revwalk **out, git_repository *repo)
274
+ {
275
+ git_revwalk *walk = NULL;
276
+ git_strarray refs;
277
+ unsigned int i;
278
+ git_reference *ref = NULL;
279
+ int error;
280
+
281
+ if ((error = git_reference_list(&refs, repo)) < 0)
282
+ return error;
283
+
284
+ if ((error = git_revwalk_new(&walk, repo)) < 0)
285
+ return error;
286
+
287
+ git_revwalk_sorting(walk, GIT_SORT_TIME);
288
+
289
+ for (i = 0; i < refs.count; ++i) {
290
+ git_reference_free(ref);
291
+ ref = NULL;
292
+
293
+ /* No tags */
294
+ if (!git__prefixcmp(refs.strings[i], GIT_REFS_TAGS_DIR))
295
+ continue;
296
+
297
+ if ((error = git_reference_lookup(&ref, repo, refs.strings[i])) < 0)
298
+ goto on_error;
299
+
300
+ if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC)
301
+ continue;
302
+
303
+ if ((error = git_revwalk_push(walk, git_reference_target(ref))) < 0)
304
+ goto on_error;
305
+ }
306
+
307
+ *out = walk;
308
+
309
+ on_error:
310
+ if (error)
311
+ git_revwalk_free(walk);
312
+ git_reference_free(ref);
313
+ git_strarray_free(&refs);
314
+ return error;
315
+ }
316
+
274
317
  static int wait_while_ack(gitno_buffer *buf)
275
318
  {
276
319
  int error;
@@ -304,7 +347,6 @@ static int wait_while_ack(gitno_buffer *buf)
304
347
  int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, const git_remote_head * const *wants, size_t count)
305
348
  {
306
349
  transport_smart *t = (transport_smart *)transport;
307
- git_revwalk__push_options opts = GIT_REVWALK__PUSH_OPTIONS_INIT;
308
350
  gitno_buffer *buf = &t->buffer;
309
351
  git_buf data = GIT_BUF_INIT;
310
352
  git_revwalk *walk = NULL;
@@ -316,11 +358,7 @@ int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, c
316
358
  if ((error = git_pkt_buffer_wants(wants, count, &t->caps, &data)) < 0)
317
359
  return error;
318
360
 
319
- if ((error = git_revwalk_new(&walk, repo)) < 0)
320
- goto on_error;
321
-
322
- opts.insert_by_date = 1;
323
- if ((error = git_revwalk__push_glob(walk, "refs/*", &opts)) < 0)
361
+ if ((error = fetch_setup_walk(&walk, repo)) < 0)
324
362
  goto on_error;
325
363
 
326
364
  /*
@@ -454,7 +492,7 @@ on_error:
454
492
  return error;
455
493
  }
456
494
 
457
- static int no_sideband(transport_smart *t, struct git_odb_writepack *writepack, gitno_buffer *buf, git_indexer_progress *stats)
495
+ static int no_sideband(transport_smart *t, struct git_odb_writepack *writepack, gitno_buffer *buf, git_transfer_progress *stats)
458
496
  {
459
497
  int recvd;
460
498
 
@@ -481,9 +519,9 @@ static int no_sideband(transport_smart *t, struct git_odb_writepack *writepack,
481
519
 
482
520
  struct network_packetsize_payload
483
521
  {
484
- git_indexer_progress_cb callback;
522
+ git_transfer_progress_cb callback;
485
523
  void *payload;
486
- git_indexer_progress *stats;
524
+ git_transfer_progress *stats;
487
525
  size_t last_fired_bytes;
488
526
  };
489
527
 
@@ -508,8 +546,8 @@ static int network_packetsize(size_t received, void *payload)
508
546
  int git_smart__download_pack(
509
547
  git_transport *transport,
510
548
  git_repository *repo,
511
- git_indexer_progress *stats,
512
- git_indexer_progress_cb progress_cb,
549
+ git_transfer_progress *stats,
550
+ git_transfer_progress_cb transfer_progress_cb,
513
551
  void *progress_payload)
514
552
  {
515
553
  transport_smart *t = (transport_smart *)transport;
@@ -519,10 +557,10 @@ int git_smart__download_pack(
519
557
  int error = 0;
520
558
  struct network_packetsize_payload npp = {0};
521
559
 
522
- memset(stats, 0, sizeof(git_indexer_progress));
560
+ memset(stats, 0, sizeof(git_transfer_progress));
523
561
 
524
- if (progress_cb) {
525
- npp.callback = progress_cb;
562
+ if (transfer_progress_cb) {
563
+ npp.callback = transfer_progress_cb;
526
564
  npp.payload = progress_payload;
527
565
  npp.stats = stats;
528
566
  t->packetsize_cb = &network_packetsize;
@@ -535,7 +573,7 @@ int git_smart__download_pack(
535
573
  }
536
574
 
537
575
  if ((error = git_repository_odb__weakptr(&odb, repo)) < 0 ||
538
- ((error = git_odb_write_pack(&writepack, odb, progress_cb, progress_payload)) != 0))
576
+ ((error = git_odb_write_pack(&writepack, odb, transfer_progress_cb, progress_payload)) != 0))
539
577
  goto done;
540
578
 
541
579
  /*
@@ -566,14 +604,7 @@ int git_smart__download_pack(
566
604
  } else if (pkt->type == GIT_PKT_PROGRESS) {
567
605
  if (t->progress_cb) {
568
606
  git_pkt_progress *p = (git_pkt_progress *) pkt;
569
-
570
- if (p->len > INT_MAX) {
571
- git_error_set(GIT_ERROR_NET, "oversized progress message");
572
- error = GIT_ERROR;
573
- goto done;
574
- }
575
-
576
- error = t->progress_cb(p->data, (int)p->len, t->message_cb_payload);
607
+ error = t->progress_cb(p->data, p->len, t->message_cb_payload);
577
608
  }
578
609
  } else if (pkt->type == GIT_PKT_DATA) {
579
610
  git_pkt_data *p = (git_pkt_data *) pkt;
@@ -595,7 +626,7 @@ int git_smart__download_pack(
595
626
  } while (1);
596
627
 
597
628
  /*
598
- * Trailing execution of progress_cb, if necessary...
629
+ * Trailing execution of transfer_progress_cb, if necessary...
599
630
  * Only the callback through the npp datastructure currently
600
631
  * updates the last_fired_bytes value. It is possible that
601
632
  * progress has already been reported with the correct
@@ -614,7 +645,7 @@ int git_smart__download_pack(
614
645
  done:
615
646
  if (writepack)
616
647
  writepack->free(writepack);
617
- if (progress_cb) {
648
+ if (transfer_progress_cb) {
618
649
  t->packetsize_cb = NULL;
619
650
  t->packetsize_payload = NULL;
620
651
  }
@@ -808,14 +839,7 @@ static int parse_report(transport_smart *transport, git_push *push)
808
839
  case GIT_PKT_PROGRESS:
809
840
  if (transport->progress_cb) {
810
841
  git_pkt_progress *p = (git_pkt_progress *) pkt;
811
-
812
- if (p->len > INT_MAX) {
813
- git_error_set(GIT_ERROR_NET, "oversized progress message");
814
- error = GIT_ERROR;
815
- goto done;
816
- }
817
-
818
- error = transport->progress_cb(p->data, (int)p->len, transport->message_cb_payload);
842
+ error = transport->progress_cb(p->data, p->len, transport->message_cb_payload);
819
843
  }
820
844
  break;
821
845
  default:
@@ -939,7 +963,7 @@ static int update_refs_from_report(
939
963
 
940
964
  /* Remove any refs which we updated to have a zero OID. */
941
965
  git_vector_rforeach(refs, i, ref) {
942
- if (git_oid_is_zero(&ref->head.oid)) {
966
+ if (git_oid_iszero(&ref->head.oid)) {
943
967
  git_vector_remove(refs, i);
944
968
  git_pkt_free((git_pkt *)ref);
945
969
  }
@@ -954,7 +978,7 @@ struct push_packbuilder_payload
954
978
  {
955
979
  git_smart_subtransport_stream *stream;
956
980
  git_packbuilder *pb;
957
- git_push_transfer_progress_cb cb;
981
+ git_push_transfer_progress cb;
958
982
  void *cb_payload;
959
983
  size_t last_bytes;
960
984
  double last_progress_report_time;
@@ -14,14 +14,11 @@
14
14
  #include "global.h"
15
15
  #include "git2.h"
16
16
  #include "buffer.h"
17
- #include "net.h"
18
17
  #include "netops.h"
19
18
  #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
-
25
22
  #ifdef GIT_SSH
26
23
 
27
24
  #define OWNING_SUBTRANSPORT(s) ((ssh_subtransport *)(s)->parent.subtransport)
@@ -135,7 +132,7 @@ static int ssh_stream_read(
135
132
  size_t *bytes_read)
136
133
  {
137
134
  int rc;
138
- ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
135
+ ssh_stream *s = (ssh_stream *)stream;
139
136
 
140
137
  *bytes_read = 0;
141
138
 
@@ -173,7 +170,7 @@ static int ssh_stream_write(
173
170
  const char *buffer,
174
171
  size_t len)
175
172
  {
176
- ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
173
+ ssh_stream *s = (ssh_stream *)stream;
177
174
  size_t off = 0;
178
175
  ssize_t ret = 0;
179
176
 
@@ -199,7 +196,7 @@ static int ssh_stream_write(
199
196
 
200
197
  static void ssh_stream_free(git_smart_subtransport_stream *stream)
201
198
  {
202
- ssh_stream *s = GIT_CONTAINER_OF(stream, ssh_stream, parent);
199
+ ssh_stream *s = (ssh_stream *)stream;
203
200
  ssh_subtransport *t;
204
201
 
205
202
  if (!stream)
@@ -261,7 +258,8 @@ static int ssh_stream_alloc(
261
258
  }
262
259
 
263
260
  static int git_ssh_extract_url_parts(
264
- git_net_url *urldata,
261
+ char **host,
262
+ char **username,
265
263
  const char *url)
266
264
  {
267
265
  char *colon, *at;
@@ -273,11 +271,11 @@ static int git_ssh_extract_url_parts(
273
271
  at = strchr(url, '@');
274
272
  if (at) {
275
273
  start = at + 1;
276
- urldata->username = git__substrdup(url, at - url);
277
- GIT_ERROR_CHECK_ALLOC(urldata->username);
274
+ *username = git__substrdup(url, at - url);
275
+ GIT_ERROR_CHECK_ALLOC(*username);
278
276
  } else {
279
277
  start = url;
280
- urldata->username = NULL;
278
+ *username = NULL;
281
279
  }
282
280
 
283
281
  if (colon == NULL || (colon < start)) {
@@ -285,8 +283,8 @@ static int git_ssh_extract_url_parts(
285
283
  return -1;
286
284
  }
287
285
 
288
- urldata->host = git__substrdup(start, colon - start);
289
- GIT_ERROR_CHECK_ALLOC(urldata->host);
286
+ *host = git__substrdup(start, colon - start);
287
+ GIT_ERROR_CHECK_ALLOC(*host);
290
288
 
291
289
  return 0;
292
290
  }
@@ -481,7 +479,7 @@ static int _git_ssh_session_create(
481
479
  {
482
480
  int rc = 0;
483
481
  LIBSSH2_SESSION* s;
484
- git_socket_stream *socket = GIT_CONTAINER_OF(io, git_socket_stream, parent);
482
+ git_socket_stream *socket = (git_socket_stream *) io;
485
483
 
486
484
  assert(session);
487
485
 
@@ -508,15 +506,14 @@ static int _git_ssh_session_create(
508
506
  return 0;
509
507
  }
510
508
 
511
- #define SSH_DEFAULT_PORT "22"
512
-
513
509
  static int _git_ssh_setup_conn(
514
510
  ssh_subtransport *t,
515
511
  const char *url,
516
512
  const char *cmd,
517
513
  git_smart_subtransport_stream **stream)
518
514
  {
519
- git_net_url urldata = GIT_NET_URL_INIT;
515
+ char *host=NULL, *port=NULL, *path=NULL, *user=NULL, *pass=NULL;
516
+ const char *default_port="22";
520
517
  int auth_methods, error = 0;
521
518
  size_t i;
522
519
  ssh_stream *s;
@@ -538,22 +535,19 @@ static int _git_ssh_setup_conn(
538
535
  const char *p = ssh_prefixes[i];
539
536
 
540
537
  if (!git__prefixcmp(url, p)) {
541
- if ((error = git_net_url_parse(&urldata, url)) < 0)
538
+ if ((error = gitno_extract_url_parts(&host, &port, &path, &user, &pass, url, default_port)) < 0)
542
539
  goto done;
543
540
 
544
541
  goto post_extract;
545
542
  }
546
543
  }
547
- if ((error = git_ssh_extract_url_parts(&urldata, url)) < 0)
544
+ if ((error = git_ssh_extract_url_parts(&host, &user, url)) < 0)
548
545
  goto done;
549
-
550
- if (urldata.port == NULL)
551
- urldata.port = git__strdup(SSH_DEFAULT_PORT);
552
-
553
- GIT_ERROR_CHECK_ALLOC(urldata.port);
546
+ port = git__strdup(default_port);
547
+ GIT_ERROR_CHECK_ALLOC(port);
554
548
 
555
549
  post_extract:
556
- if ((error = git_socket_stream_new(&s->io, urldata.host, urldata.port)) < 0 ||
550
+ if ((error = git_socket_stream_new(&s->io, host, port)) < 0 ||
557
551
  (error = git_stream_connect(s->io)) < 0)
558
552
  goto done;
559
553
 
@@ -566,14 +560,6 @@ post_extract:
566
560
 
567
561
  cert.parent.cert_type = GIT_CERT_HOSTKEY_LIBSSH2;
568
562
 
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
-
577
563
  key = libssh2_hostkey_hash(session, LIBSSH2_HOSTKEY_HASH_SHA1);
578
564
  if (key != NULL) {
579
565
  cert.type |= GIT_CERT_SSH_SHA1;
@@ -597,7 +583,7 @@ post_extract:
597
583
 
598
584
  cert_ptr = &cert;
599
585
 
600
- error = t->owner->certificate_check_cb((git_cert *) cert_ptr, 0, urldata.host, t->owner->message_cb_payload);
586
+ error = t->owner->certificate_check_cb((git_cert *) cert_ptr, 0, host, t->owner->message_cb_payload);
601
587
 
602
588
  if (error < 0 && error != GIT_PASSTHROUGH) {
603
589
  if (!git_error_last())
@@ -608,21 +594,21 @@ post_extract:
608
594
  }
609
595
 
610
596
  /* we need the username to ask for auth methods */
611
- if (!urldata.username) {
597
+ if (!user) {
612
598
  if ((error = request_creds(&cred, t, NULL, GIT_CREDTYPE_USERNAME)) < 0)
613
599
  goto done;
614
600
 
615
- urldata.username = git__strdup(((git_cred_username *) cred)->username);
601
+ user = git__strdup(((git_cred_username *) cred)->username);
616
602
  cred->free(cred);
617
603
  cred = NULL;
618
- if (!urldata.username)
604
+ if (!user)
619
605
  goto done;
620
- } else if (urldata.username && urldata.password) {
621
- if ((error = git_cred_userpass_plaintext_new(&cred, urldata.username, urldata.password)) < 0)
606
+ } else if (user && pass) {
607
+ if ((error = git_cred_userpass_plaintext_new(&cred, user, pass)) < 0)
622
608
  goto done;
623
609
  }
624
610
 
625
- if ((error = list_auth_methods(&auth_methods, session, urldata.username)) < 0)
611
+ if ((error = list_auth_methods(&auth_methods, session, user)) < 0)
626
612
  goto done;
627
613
 
628
614
  error = GIT_EAUTH;
@@ -636,10 +622,10 @@ post_extract:
636
622
  cred = NULL;
637
623
  }
638
624
 
639
- if ((error = request_creds(&cred, t, urldata.username, auth_methods)) < 0)
625
+ if ((error = request_creds(&cred, t, user, auth_methods)) < 0)
640
626
  goto done;
641
627
 
642
- if (strcmp(urldata.username, git_cred_get_username(cred))) {
628
+ if (strcmp(user, git_cred__username(cred))) {
643
629
  git_error_set(GIT_ERROR_SSH, "username does not match previous request");
644
630
  error = -1;
645
631
  goto done;
@@ -676,7 +662,11 @@ done:
676
662
  if (cred)
677
663
  cred->free(cred);
678
664
 
679
- git_net_url_dispose(&urldata);
665
+ git__free(host);
666
+ git__free(port);
667
+ git__free(path);
668
+ git__free(user);
669
+ git__free(pass);
680
670
 
681
671
  return error;
682
672
  }
@@ -740,7 +730,7 @@ static int _ssh_action(
740
730
  const char *url,
741
731
  git_smart_service_t action)
742
732
  {
743
- ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
733
+ ssh_subtransport *t = (ssh_subtransport *) subtransport;
744
734
 
745
735
  switch (action) {
746
736
  case GIT_SERVICE_UPLOADPACK_LS:
@@ -762,7 +752,7 @@ static int _ssh_action(
762
752
 
763
753
  static int _ssh_close(git_smart_subtransport *subtransport)
764
754
  {
765
- ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
755
+ ssh_subtransport *t = (ssh_subtransport *) subtransport;
766
756
 
767
757
  assert(!t->current_stream);
768
758
 
@@ -773,7 +763,7 @@ static int _ssh_close(git_smart_subtransport *subtransport)
773
763
 
774
764
  static void _ssh_free(git_smart_subtransport *subtransport)
775
765
  {
776
- ssh_subtransport *t = GIT_CONTAINER_OF(subtransport, ssh_subtransport, parent);
766
+ ssh_subtransport *t = (ssh_subtransport *) subtransport;
777
767
 
778
768
  assert(!t->current_stream);
779
769