rugged 1.7.2 → 1.9.0

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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rugged/version.rb +1 -1
  3. data/vendor/libgit2/AUTHORS +1 -0
  4. data/vendor/libgit2/CMakeLists.txt +23 -10
  5. data/vendor/libgit2/COPYING +195 -1
  6. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  7. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  8. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  9. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  10. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  11. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  12. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  13. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  14. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  15. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  16. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  17. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  18. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  19. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  20. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  21. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  22. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  23. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  24. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  25. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  26. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  28. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  29. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  30. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  31. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  32. data/vendor/libgit2/deps/xdiff/xmerge.c +2 -2
  33. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  34. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  35. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  36. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  37. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  38. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  39. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  40. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  41. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  42. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  43. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  44. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  45. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  46. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  47. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  48. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  49. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  50. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  51. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  52. data/vendor/libgit2/include/git2/apply.h +27 -6
  53. data/vendor/libgit2/include/git2/attr.h +17 -4
  54. data/vendor/libgit2/include/git2/blame.h +133 -28
  55. data/vendor/libgit2/include/git2/blob.h +71 -28
  56. data/vendor/libgit2/include/git2/branch.h +22 -15
  57. data/vendor/libgit2/include/git2/buffer.h +6 -4
  58. data/vendor/libgit2/include/git2/cert.h +2 -1
  59. data/vendor/libgit2/include/git2/checkout.h +83 -32
  60. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  61. data/vendor/libgit2/include/git2/clone.h +25 -9
  62. data/vendor/libgit2/include/git2/commit.h +132 -3
  63. data/vendor/libgit2/include/git2/common.h +120 -63
  64. data/vendor/libgit2/include/git2/config.h +93 -23
  65. data/vendor/libgit2/include/git2/credential.h +30 -2
  66. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  67. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  68. data/vendor/libgit2/include/git2/describe.h +13 -1
  69. data/vendor/libgit2/include/git2/diff.h +38 -8
  70. data/vendor/libgit2/include/git2/email.h +9 -29
  71. data/vendor/libgit2/include/git2/errors.h +46 -73
  72. data/vendor/libgit2/include/git2/filter.h +14 -7
  73. data/vendor/libgit2/include/git2/global.h +8 -1
  74. data/vendor/libgit2/include/git2/graph.h +3 -2
  75. data/vendor/libgit2/include/git2/ignore.h +10 -0
  76. data/vendor/libgit2/include/git2/index.h +99 -14
  77. data/vendor/libgit2/include/git2/indexer.h +21 -4
  78. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  79. data/vendor/libgit2/include/git2/merge.h +46 -1
  80. data/vendor/libgit2/include/git2/message.h +2 -2
  81. data/vendor/libgit2/include/git2/net.h +3 -1
  82. data/vendor/libgit2/include/git2/notes.h +9 -6
  83. data/vendor/libgit2/include/git2/object.h +9 -8
  84. data/vendor/libgit2/include/git2/odb.h +91 -49
  85. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  86. data/vendor/libgit2/include/git2/oid.h +23 -24
  87. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  88. data/vendor/libgit2/include/git2/pack.h +13 -1
  89. data/vendor/libgit2/include/git2/patch.h +2 -3
  90. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  91. data/vendor/libgit2/include/git2/proxy.h +10 -0
  92. data/vendor/libgit2/include/git2/rebase.h +9 -6
  93. data/vendor/libgit2/include/git2/refdb.h +2 -2
  94. data/vendor/libgit2/include/git2/reflog.h +3 -2
  95. data/vendor/libgit2/include/git2/refs.h +9 -6
  96. data/vendor/libgit2/include/git2/refspec.h +14 -4
  97. data/vendor/libgit2/include/git2/remote.h +94 -18
  98. data/vendor/libgit2/include/git2/repository.h +57 -21
  99. data/vendor/libgit2/include/git2/reset.h +16 -3
  100. data/vendor/libgit2/include/git2/revert.h +9 -4
  101. data/vendor/libgit2/include/git2/revparse.h +3 -3
  102. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  103. data/vendor/libgit2/include/git2/signature.h +46 -1
  104. data/vendor/libgit2/include/git2/stash.h +17 -3
  105. data/vendor/libgit2/include/git2/status.h +10 -6
  106. data/vendor/libgit2/include/git2/stdint.h +87 -85
  107. data/vendor/libgit2/include/git2/strarray.h +2 -3
  108. data/vendor/libgit2/include/git2/submodule.h +20 -9
  109. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  110. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  111. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  112. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  113. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  114. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  115. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  116. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  117. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  118. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  119. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  120. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  121. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  122. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  123. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  124. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  125. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  126. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  127. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  128. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  129. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  130. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  131. data/vendor/libgit2/include/git2/sys/transport.h +24 -3
  132. data/vendor/libgit2/include/git2/tag.h +3 -1
  133. data/vendor/libgit2/include/git2/trace.h +9 -3
  134. data/vendor/libgit2/include/git2/transaction.h +3 -2
  135. data/vendor/libgit2/include/git2/transport.h +11 -3
  136. data/vendor/libgit2/include/git2/tree.h +16 -5
  137. data/vendor/libgit2/include/git2/types.h +19 -3
  138. data/vendor/libgit2/include/git2/version.h +44 -8
  139. data/vendor/libgit2/include/git2/worktree.h +16 -6
  140. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  141. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  142. data/vendor/libgit2/src/cli/cmd.c +1 -1
  143. data/vendor/libgit2/src/cli/cmd.h +4 -0
  144. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  145. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  146. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  147. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  148. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  149. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  150. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  151. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  152. data/vendor/libgit2/src/cli/common.c +168 -0
  153. data/vendor/libgit2/src/cli/common.h +63 -0
  154. data/vendor/libgit2/src/cli/error.h +1 -1
  155. data/vendor/libgit2/src/cli/main.c +52 -24
  156. data/vendor/libgit2/src/cli/opt.c +29 -3
  157. data/vendor/libgit2/src/cli/opt.h +21 -3
  158. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  159. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  160. data/vendor/libgit2/src/cli/progress.c +51 -2
  161. data/vendor/libgit2/src/cli/progress.h +12 -0
  162. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  163. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  164. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  165. data/vendor/libgit2/src/libgit2/CMakeLists.txt +26 -8
  166. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  167. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  168. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  169. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  170. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  171. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  172. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  173. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  174. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  175. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  176. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  177. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  178. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  179. data/vendor/libgit2/src/libgit2/clone.c +186 -166
  180. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  181. data/vendor/libgit2/src/libgit2/commit.c +92 -0
  182. data/vendor/libgit2/src/libgit2/commit_graph.c +67 -56
  183. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  184. data/vendor/libgit2/src/libgit2/config.c +389 -298
  185. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  186. data/vendor/libgit2/src/libgit2/config.h +9 -4
  187. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  188. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  189. data/vendor/libgit2/src/libgit2/config_file.c +99 -88
  190. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  191. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  192. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  193. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  194. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  195. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  196. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  197. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  198. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  199. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  200. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  201. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  202. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  203. data/vendor/libgit2/src/libgit2/email.c +1 -0
  204. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  205. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  206. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  207. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  208. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  209. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  210. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  211. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  212. data/vendor/libgit2/src/libgit2/index.c +68 -90
  213. data/vendor/libgit2/src/libgit2/index.h +2 -2
  214. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  215. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  216. data/vendor/libgit2/src/libgit2/indexer.c +34 -38
  217. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  218. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  219. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  220. data/vendor/libgit2/src/libgit2/merge.c +42 -37
  221. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  222. data/vendor/libgit2/src/libgit2/midx.c +28 -15
  223. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  224. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  225. data/vendor/libgit2/src/libgit2/object.c +6 -5
  226. data/vendor/libgit2/src/libgit2/odb.c +5 -4
  227. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  228. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  229. data/vendor/libgit2/src/libgit2/oid.c +32 -5
  230. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  231. data/vendor/libgit2/src/libgit2/pack-objects.c +58 -31
  232. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  233. data/vendor/libgit2/src/libgit2/pack.c +30 -24
  234. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  235. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  236. data/vendor/libgit2/src/libgit2/path.c +1 -1
  237. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  238. data/vendor/libgit2/src/libgit2/push.c +79 -28
  239. data/vendor/libgit2/src/libgit2/push.h +1 -0
  240. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  241. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  242. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  243. data/vendor/libgit2/src/libgit2/refs.c +26 -7
  244. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  245. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  246. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  247. data/vendor/libgit2/src/libgit2/remote.c +121 -61
  248. data/vendor/libgit2/src/libgit2/repository.c +231 -51
  249. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  250. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  251. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  252. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  253. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  254. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  255. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  256. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  257. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  258. data/vendor/libgit2/src/libgit2/status.c +1 -1
  259. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  260. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  261. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  262. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  263. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  264. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  265. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  266. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  267. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  268. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  269. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  270. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  271. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  272. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  273. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  274. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  275. data/vendor/libgit2/src/libgit2/transports/httpclient.c +112 -72
  276. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  277. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  278. data/vendor/libgit2/src/libgit2/transports/local.c +8 -7
  279. data/vendor/libgit2/src/libgit2/transports/smart.c +20 -8
  280. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  281. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +2 -2
  282. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  283. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  284. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  285. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  286. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  287. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  288. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  289. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  290. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  291. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  292. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  293. data/vendor/libgit2/src/util/alloc.c +4 -1
  294. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  295. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  296. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  297. data/vendor/libgit2/src/util/array.h +18 -17
  298. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  299. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  300. data/vendor/libgit2/src/util/date.c +22 -14
  301. data/vendor/libgit2/src/util/date.h +12 -0
  302. data/vendor/libgit2/src/util/errors.c +401 -0
  303. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  304. data/vendor/libgit2/src/util/fs_path.c +15 -4
  305. data/vendor/libgit2/src/util/fs_path.h +23 -0
  306. data/vendor/libgit2/src/util/futils.c +6 -5
  307. data/vendor/libgit2/src/util/futils.h +13 -4
  308. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  309. data/vendor/libgit2/src/util/git2_util.h +6 -0
  310. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  311. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  312. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  313. data/vendor/libgit2/src/util/hashmap.h +424 -0
  314. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  315. data/vendor/libgit2/src/util/integer.h +3 -1
  316. data/vendor/libgit2/src/util/net.c +13 -7
  317. data/vendor/libgit2/src/util/net.h +2 -0
  318. data/vendor/libgit2/src/util/pool.c +1 -1
  319. data/vendor/libgit2/src/util/pool.h +5 -0
  320. data/vendor/libgit2/src/util/pqueue.h +1 -1
  321. data/vendor/libgit2/src/util/process.h +222 -0
  322. data/vendor/libgit2/src/util/rand.c +1 -7
  323. data/vendor/libgit2/src/util/regexp.c +1 -1
  324. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  325. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  326. data/vendor/libgit2/src/util/str.c +2 -2
  327. data/vendor/libgit2/src/util/strlist.c +108 -0
  328. data/vendor/libgit2/src/util/strlist.h +36 -0
  329. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  330. data/vendor/libgit2/src/util/unix/process.c +629 -0
  331. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  332. data/vendor/libgit2/src/util/util.c +2 -2
  333. data/vendor/libgit2/src/util/util.h +4 -38
  334. data/vendor/libgit2/src/util/vector.c +3 -3
  335. data/vendor/libgit2/src/util/vector.h +2 -2
  336. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  337. data/vendor/libgit2/src/util/win32/process.c +506 -0
  338. metadata +45 -28
  339. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  340. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  341. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  342. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  343. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  344. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  345. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  346. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  347. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  348. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  349. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  350. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  351. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  352. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  353. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  354. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  355. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  356. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  357. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  358. data/vendor/libgit2/src/util/khash.h +0 -615
  359. data/vendor/libgit2/src/util/strmap.c +0 -100
  360. data/vendor/libgit2/src/util/strmap.h +0 -131
  361. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -8,9 +8,9 @@
8
8
  #include "futils.h"
9
9
 
10
10
  #include "runtime.h"
11
- #include "strmap.h"
12
11
  #include "hash.h"
13
12
  #include "rand.h"
13
+ #include "hashmap_str.h"
14
14
 
15
15
  #include <ctype.h>
16
16
 
@@ -653,7 +653,8 @@ int git_futils_mkdir_relative(
653
653
  *tail = '\0';
654
654
  st.st_mode = 0;
655
655
 
656
- if (opts->dir_map && git_strmap_exists(opts->dir_map, make_path.ptr))
656
+ if (opts->cache_pathset &&
657
+ git_hashset_str_contains(opts->cache_pathset, make_path.ptr))
657
658
  continue;
658
659
 
659
660
  /* See what's going on with this path component */
@@ -688,17 +689,17 @@ retry_lstat:
688
689
  make_path.ptr, &st, (lastch == '\0'), mode, flags, opts)) < 0)
689
690
  goto done;
690
691
 
691
- if (opts->dir_map && opts->pool) {
692
+ if (opts->cache_pathset && opts->cache_pool) {
692
693
  char *cache_path;
693
694
  size_t alloc_size;
694
695
 
695
696
  GIT_ERROR_CHECK_ALLOC_ADD(&alloc_size, make_path.size, 1);
696
- cache_path = git_pool_malloc(opts->pool, alloc_size);
697
+ cache_path = git_pool_malloc(opts->cache_pool, alloc_size);
697
698
  GIT_ERROR_CHECK_ALLOC(cache_path);
698
699
 
699
700
  memcpy(cache_path, make_path.ptr, make_path.size + 1);
700
701
 
701
- if ((error = git_strmap_set(opts->dir_map, cache_path, cache_path)) < 0)
702
+ if ((error = git_hashset_str_add(opts->cache_pathset, cache_path)) < 0)
702
703
  goto done;
703
704
  }
704
705
  }
@@ -13,8 +13,8 @@
13
13
  #include "posix.h"
14
14
  #include "fs_path.h"
15
15
  #include "pool.h"
16
- #include "strmap.h"
17
16
  #include "hash.h"
17
+ #include "hashmap_str.h"
18
18
 
19
19
  /**
20
20
  * Filebuffer methods
@@ -25,7 +25,7 @@ extern int git_futils_readbuffer(git_str *obj, const char *path);
25
25
  extern int git_futils_readbuffer_updated(
26
26
  git_str *obj,
27
27
  const char *path,
28
- unsigned char checksum[GIT_HASH_SHA1_SIZE],
28
+ unsigned char checksum[GIT_HASH_SHA256_SIZE],
29
29
  int *updated);
30
30
  extern int git_futils_readbuffer_fd_full(git_str *obj, git_file fd);
31
31
  extern int git_futils_readbuffer_fd(git_str *obj, git_file fd, size_t len);
@@ -109,8 +109,17 @@ struct git_futils_mkdir_perfdata
109
109
 
110
110
  struct git_futils_mkdir_options
111
111
  {
112
- git_strmap *dir_map;
113
- git_pool *pool;
112
+ /*
113
+ * Callers can optionally pass an allocation pool and a
114
+ * hashset of strings; mkdir will populate these with the
115
+ * path(s) it creates; this can be useful for repeated calls
116
+ * to mkdir. This will reduce I/O by avoiding testing for the
117
+ * existence of intermediate directories that it knows already
118
+ * exist (because it created them).
119
+ */
120
+ git_pool *cache_pool;
121
+ git_hashset_str *cache_pathset;
122
+
114
123
  struct git_futils_mkdir_perfdata perfdata;
115
124
  };
116
125
 
@@ -30,7 +30,9 @@
30
30
  #cmakedefine GIT_QSORT_MSC
31
31
 
32
32
  #cmakedefine GIT_SSH 1
33
- #cmakedefine GIT_SSH_MEMORY_CREDENTIALS 1
33
+ #cmakedefine GIT_SSH_EXEC 1
34
+ #cmakedefine GIT_SSH_LIBSSH2 1
35
+ #cmakedefine GIT_SSH_LIBSSH2_MEMORY_CREDENTIALS 1
34
36
 
35
37
  #cmakedefine GIT_NTLM 1
36
38
  #cmakedefine GIT_GSSAPI 1
@@ -44,10 +46,15 @@
44
46
  #cmakedefine GIT_MBEDTLS 1
45
47
  #cmakedefine GIT_SCHANNEL 1
46
48
 
49
+ #cmakedefine GIT_HTTPPARSER_HTTPPARSER 1
50
+ #cmakedefine GIT_HTTPPARSER_LLHTTP 1
51
+ #cmakedefine GIT_HTTPPARSER_BUILTIN 1
52
+
47
53
  #cmakedefine GIT_SHA1_COLLISIONDETECT 1
48
54
  #cmakedefine GIT_SHA1_WIN32 1
49
55
  #cmakedefine GIT_SHA1_COMMON_CRYPTO 1
50
56
  #cmakedefine GIT_SHA1_OPENSSL 1
57
+ #cmakedefine GIT_SHA1_OPENSSL_FIPS 1
51
58
  #cmakedefine GIT_SHA1_OPENSSL_DYNAMIC 1
52
59
  #cmakedefine GIT_SHA1_MBEDTLS 1
53
60
 
@@ -55,9 +62,13 @@
55
62
  #cmakedefine GIT_SHA256_WIN32 1
56
63
  #cmakedefine GIT_SHA256_COMMON_CRYPTO 1
57
64
  #cmakedefine GIT_SHA256_OPENSSL 1
65
+ #cmakedefine GIT_SHA256_OPENSSL_FIPS 1
58
66
  #cmakedefine GIT_SHA256_OPENSSL_DYNAMIC 1
59
67
  #cmakedefine GIT_SHA256_MBEDTLS 1
60
68
 
69
+ #cmakedefine GIT_COMPRESSION_BUILTIN 1
70
+ #cmakedefine GIT_COMPRESSION_ZLIB 1
71
+
61
72
  #cmakedefine GIT_RAND_GETENTROPY 1
62
73
  #cmakedefine GIT_RAND_GETLOADAVG 1
63
74
 
@@ -12,6 +12,7 @@
12
12
  #endif
13
13
 
14
14
  #include "git2/common.h"
15
+ #include "git2/sys/errors.h"
15
16
  #include "cc-compat.h"
16
17
 
17
18
  typedef struct git_str git_str;
@@ -48,6 +49,10 @@ typedef struct git_str git_str;
48
49
  # define GIT_WARN_UNUSED_RESULT
49
50
  #endif
50
51
 
52
+ #if (defined(_WIN32)) && !defined(__CYGWIN__)
53
+ # define GIT_WIN32 1
54
+ #endif
55
+
51
56
  #include <assert.h>
52
57
  #include <errno.h>
53
58
  #include <limits.h>
@@ -164,5 +169,6 @@ typedef struct git_str git_str;
164
169
  if (GIT_MULTIPLY_SIZET_OVERFLOW(out, nelem, elsize)) { return -1; }
165
170
 
166
171
  #include "util.h"
172
+ #include "ctype_compat.h"
167
173
 
168
174
  #endif
@@ -120,6 +120,82 @@ int git_hash_sha1_final(unsigned char *out, git_hash_sha1_ctx *ctx)
120
120
 
121
121
  #endif
122
122
 
123
+ #ifdef GIT_SHA1_OPENSSL_FIPS
124
+
125
+ static const EVP_MD *SHA1_ENGINE_DIGEST_TYPE = NULL;
126
+
127
+ int git_hash_sha1_global_init(void)
128
+ {
129
+ SHA1_ENGINE_DIGEST_TYPE = EVP_sha1();
130
+ return SHA1_ENGINE_DIGEST_TYPE != NULL ? 0 : -1;
131
+ }
132
+
133
+ int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
134
+ {
135
+ return git_hash_sha1_init(ctx);
136
+ }
137
+
138
+ void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
139
+ {
140
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
141
+ EVP_MD_CTX_destroy(ctx->c);
142
+ #else
143
+ EVP_MD_CTX_free(ctx->c);
144
+ #endif
145
+ }
146
+
147
+ int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
148
+ {
149
+ GIT_ASSERT_ARG(ctx);
150
+ GIT_ASSERT(SHA1_ENGINE_DIGEST_TYPE);
151
+
152
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
153
+ ctx->c = EVP_MD_CTX_create();
154
+ #else
155
+ ctx->c = EVP_MD_CTX_new();
156
+ #endif
157
+
158
+ GIT_ASSERT(ctx->c);
159
+
160
+ if (EVP_DigestInit_ex(ctx->c, SHA1_ENGINE_DIGEST_TYPE, NULL) != 1) {
161
+ git_hash_sha1_ctx_cleanup(ctx);
162
+ git_error_set(GIT_ERROR_SHA, "failed to initialize sha1 context");
163
+ return -1;
164
+ }
165
+
166
+ return 0;
167
+ }
168
+
169
+ int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
170
+ {
171
+ GIT_ASSERT_ARG(ctx && ctx->c);
172
+
173
+ if (EVP_DigestUpdate(ctx->c, data, len) != 1) {
174
+ git_error_set(GIT_ERROR_SHA, "failed to update sha1");
175
+ return -1;
176
+ }
177
+
178
+ return 0;
179
+ }
180
+
181
+ int git_hash_sha1_final(unsigned char *out, git_hash_sha1_ctx *ctx)
182
+ {
183
+ unsigned int len = 0;
184
+
185
+ GIT_ASSERT_ARG(ctx && ctx->c);
186
+
187
+ if (EVP_DigestFinal(ctx->c, out, &len) != 1) {
188
+ git_error_set(GIT_ERROR_SHA, "failed to finalize sha1");
189
+ return -1;
190
+ }
191
+
192
+ ctx->c = NULL;
193
+
194
+ return 0;
195
+ }
196
+
197
+ #endif
198
+
123
199
  #ifdef GIT_SHA256_OPENSSL
124
200
 
125
201
  # ifdef GIT_OPENSSL_DYNAMIC
@@ -193,3 +269,79 @@ int git_hash_sha256_final(unsigned char *out, git_hash_sha256_ctx *ctx)
193
269
  }
194
270
 
195
271
  #endif
272
+
273
+ #ifdef GIT_SHA256_OPENSSL_FIPS
274
+
275
+ static const EVP_MD *SHA256_ENGINE_DIGEST_TYPE = NULL;
276
+
277
+ int git_hash_sha256_global_init(void)
278
+ {
279
+ SHA256_ENGINE_DIGEST_TYPE = EVP_sha256();
280
+ return SHA256_ENGINE_DIGEST_TYPE != NULL ? 0 : -1;
281
+ }
282
+
283
+ int git_hash_sha256_ctx_init(git_hash_sha256_ctx *ctx)
284
+ {
285
+ return git_hash_sha256_init(ctx);
286
+ }
287
+
288
+ void git_hash_sha256_ctx_cleanup(git_hash_sha256_ctx *ctx)
289
+ {
290
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
291
+ EVP_MD_CTX_destroy(ctx->c);
292
+ #else
293
+ EVP_MD_CTX_free(ctx->c);
294
+ #endif
295
+ }
296
+
297
+ int git_hash_sha256_init(git_hash_sha256_ctx *ctx)
298
+ {
299
+ GIT_ASSERT_ARG(ctx);
300
+ GIT_ASSERT(SHA256_ENGINE_DIGEST_TYPE);
301
+
302
+ #if OPENSSL_VERSION_NUMBER < 0x10100000L
303
+ ctx->c = EVP_MD_CTX_create();
304
+ #else
305
+ ctx->c = EVP_MD_CTX_new();
306
+ #endif
307
+
308
+ GIT_ASSERT(ctx->c);
309
+
310
+ if (EVP_DigestInit_ex(ctx->c, SHA256_ENGINE_DIGEST_TYPE, NULL) != 1) {
311
+ git_hash_sha256_ctx_cleanup(ctx);
312
+ git_error_set(GIT_ERROR_SHA, "failed to initialize sha256 context");
313
+ return -1;
314
+ }
315
+
316
+ return 0;
317
+ }
318
+
319
+ int git_hash_sha256_update(git_hash_sha256_ctx *ctx, const void *data, size_t len)
320
+ {
321
+ GIT_ASSERT_ARG(ctx && ctx->c);
322
+
323
+ if (EVP_DigestUpdate(ctx->c, data, len) != 1) {
324
+ git_error_set(GIT_ERROR_SHA, "failed to update sha256");
325
+ return -1;
326
+ }
327
+
328
+ return 0;
329
+ }
330
+
331
+ int git_hash_sha256_final(unsigned char *out, git_hash_sha256_ctx *ctx)
332
+ {
333
+ unsigned int len = 0;
334
+
335
+ GIT_ASSERT_ARG(ctx && ctx->c);
336
+
337
+ if (EVP_DigestFinal(ctx->c, out, &len) != 1) {
338
+ git_error_set(GIT_ERROR_SHA, "failed to finalize sha256");
339
+ return -1;
340
+ }
341
+
342
+ ctx->c = NULL;
343
+
344
+ return 0;
345
+ }
346
+
347
+ #endif
@@ -11,7 +11,11 @@
11
11
  #include "hash/sha.h"
12
12
 
13
13
  #ifndef GIT_OPENSSL_DYNAMIC
14
- # include <openssl/sha.h>
14
+ # if defined(GIT_SHA1_OPENSSL_FIPS) || defined(GIT_SHA256_OPENSSL_FIPS)
15
+ # include <openssl/evp.h>
16
+ # else
17
+ # include <openssl/sha.h>
18
+ # endif
15
19
  #else
16
20
 
17
21
  typedef struct {
@@ -36,10 +40,22 @@ struct git_hash_sha1_ctx {
36
40
  };
37
41
  #endif
38
42
 
43
+ #ifdef GIT_SHA1_OPENSSL_FIPS
44
+ struct git_hash_sha1_ctx {
45
+ EVP_MD_CTX* c;
46
+ };
47
+ #endif
48
+
39
49
  #ifdef GIT_SHA256_OPENSSL
40
50
  struct git_hash_sha256_ctx {
41
51
  SHA256_CTX c;
42
52
  };
43
53
  #endif
44
54
 
55
+ #ifdef GIT_SHA256_OPENSSL_FIPS
56
+ struct git_hash_sha256_ctx {
57
+ EVP_MD_CTX* c;
58
+ };
59
+ #endif
60
+
45
61
  #endif
@@ -17,7 +17,10 @@ typedef struct git_hash_sha256_ctx git_hash_sha256_ctx;
17
17
  # include "common_crypto.h"
18
18
  #endif
19
19
 
20
- #if defined(GIT_SHA1_OPENSSL) || defined(GIT_SHA256_OPENSSL)
20
+ #if defined(GIT_SHA1_OPENSSL) || \
21
+ defined(GIT_SHA1_OPENSSL_FIPS) || \
22
+ defined(GIT_SHA256_OPENSSL) || \
23
+ defined(GIT_SHA256_OPENSSL_FIPS)
21
24
  # include "openssl.h"
22
25
  #endif
23
26