rugged 0.28.4 → 0.28.4.1

Sign up to get free protection for your applications and to get access to all the features.
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