rugged 1.7.2 → 1.9.4

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 (405) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +4 -4
  3. data/ext/rugged/rugged.c +12 -1
  4. data/ext/rugged/rugged_blame.c +22 -6
  5. data/ext/rugged/rugged_blob.c +24 -9
  6. data/ext/rugged/rugged_branch.c +10 -7
  7. data/ext/rugged/rugged_branch_collection.c +8 -6
  8. data/ext/rugged/rugged_commit.c +7 -6
  9. data/ext/rugged/rugged_config.c +20 -11
  10. data/ext/rugged/rugged_diff.c +26 -12
  11. data/ext/rugged/rugged_diff_hunk.c +2 -1
  12. data/ext/rugged/rugged_index.c +39 -29
  13. data/ext/rugged/rugged_note.c +7 -6
  14. data/ext/rugged/rugged_object.c +3 -2
  15. data/ext/rugged/rugged_patch.c +23 -9
  16. data/ext/rugged/rugged_rebase.c +22 -10
  17. data/ext/rugged/rugged_reference.c +22 -13
  18. data/ext/rugged/rugged_reference_collection.c +9 -7
  19. data/ext/rugged/rugged_remote.c +23 -12
  20. data/ext/rugged/rugged_remote_collection.c +11 -9
  21. data/ext/rugged/rugged_repo.c +60 -45
  22. data/ext/rugged/rugged_revwalk.c +22 -12
  23. data/ext/rugged/rugged_submodule.c +23 -20
  24. data/ext/rugged/rugged_submodule_collection.c +20 -9
  25. data/ext/rugged/rugged_tag.c +6 -4
  26. data/ext/rugged/rugged_tag_collection.c +7 -5
  27. data/ext/rugged/rugged_tree.c +27 -15
  28. data/lib/rugged/version.rb +1 -1
  29. data/vendor/libgit2/AUTHORS +3 -0
  30. data/vendor/libgit2/CMakeLists.txt +23 -10
  31. data/vendor/libgit2/COPYING +195 -1
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +4 -1
  33. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  34. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  35. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +1 -1
  36. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  37. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +17 -8
  38. data/vendor/libgit2/cmake/SelectHashes.cmake +28 -11
  39. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  40. data/vendor/libgit2/cmake/SelectSSH.cmake +30 -19
  41. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  42. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  43. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  44. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  45. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  46. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  47. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  48. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  49. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  50. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  51. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  52. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  53. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  54. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  55. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  56. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  57. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  58. data/vendor/libgit2/deps/pcre/CMakeLists.txt +3 -3
  59. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +1 -1
  60. data/vendor/libgit2/deps/xdiff/xmerge.c +16 -12
  61. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  62. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  63. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  64. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  65. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  66. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  67. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  68. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  69. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  70. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  71. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  72. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  73. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  74. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  75. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  76. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  77. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  78. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  79. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  80. data/vendor/libgit2/include/git2/apply.h +27 -6
  81. data/vendor/libgit2/include/git2/attr.h +17 -4
  82. data/vendor/libgit2/include/git2/blame.h +133 -28
  83. data/vendor/libgit2/include/git2/blob.h +71 -28
  84. data/vendor/libgit2/include/git2/branch.h +22 -15
  85. data/vendor/libgit2/include/git2/buffer.h +6 -4
  86. data/vendor/libgit2/include/git2/cert.h +2 -1
  87. data/vendor/libgit2/include/git2/checkout.h +83 -32
  88. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  89. data/vendor/libgit2/include/git2/clone.h +25 -9
  90. data/vendor/libgit2/include/git2/commit.h +132 -3
  91. data/vendor/libgit2/include/git2/common.h +120 -63
  92. data/vendor/libgit2/include/git2/config.h +93 -23
  93. data/vendor/libgit2/include/git2/credential.h +30 -2
  94. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  95. data/vendor/libgit2/include/git2/deprecated.h +134 -4
  96. data/vendor/libgit2/include/git2/describe.h +13 -1
  97. data/vendor/libgit2/include/git2/diff.h +38 -8
  98. data/vendor/libgit2/include/git2/email.h +9 -29
  99. data/vendor/libgit2/include/git2/errors.h +46 -73
  100. data/vendor/libgit2/include/git2/filter.h +14 -7
  101. data/vendor/libgit2/include/git2/global.h +8 -1
  102. data/vendor/libgit2/include/git2/graph.h +3 -2
  103. data/vendor/libgit2/include/git2/ignore.h +10 -0
  104. data/vendor/libgit2/include/git2/index.h +100 -15
  105. data/vendor/libgit2/include/git2/indexer.h +21 -4
  106. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  107. data/vendor/libgit2/include/git2/merge.h +50 -3
  108. data/vendor/libgit2/include/git2/message.h +2 -2
  109. data/vendor/libgit2/include/git2/net.h +3 -1
  110. data/vendor/libgit2/include/git2/notes.h +9 -6
  111. data/vendor/libgit2/include/git2/object.h +9 -8
  112. data/vendor/libgit2/include/git2/odb.h +91 -49
  113. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  114. data/vendor/libgit2/include/git2/oid.h +23 -25
  115. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  116. data/vendor/libgit2/include/git2/pack.h +13 -1
  117. data/vendor/libgit2/include/git2/patch.h +2 -3
  118. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  119. data/vendor/libgit2/include/git2/proxy.h +12 -3
  120. data/vendor/libgit2/include/git2/rebase.h +9 -6
  121. data/vendor/libgit2/include/git2/refdb.h +2 -2
  122. data/vendor/libgit2/include/git2/reflog.h +3 -2
  123. data/vendor/libgit2/include/git2/refs.h +9 -6
  124. data/vendor/libgit2/include/git2/refspec.h +14 -4
  125. data/vendor/libgit2/include/git2/remote.h +113 -25
  126. data/vendor/libgit2/include/git2/repository.h +57 -21
  127. data/vendor/libgit2/include/git2/reset.h +16 -3
  128. data/vendor/libgit2/include/git2/revert.h +9 -4
  129. data/vendor/libgit2/include/git2/revparse.h +3 -3
  130. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  131. data/vendor/libgit2/include/git2/signature.h +46 -1
  132. data/vendor/libgit2/include/git2/stash.h +17 -3
  133. data/vendor/libgit2/include/git2/status.h +10 -6
  134. data/vendor/libgit2/include/git2/stdint.h +87 -85
  135. data/vendor/libgit2/include/git2/strarray.h +2 -3
  136. data/vendor/libgit2/include/git2/submodule.h +20 -9
  137. data/vendor/libgit2/include/git2/sys/alloc.h +12 -0
  138. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  139. data/vendor/libgit2/include/git2/sys/commit_graph.h +103 -62
  140. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  141. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  142. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  143. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  144. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  145. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  146. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  147. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  148. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  149. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  150. data/vendor/libgit2/include/git2/sys/midx.h +43 -4
  151. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  152. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  153. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  154. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  155. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  156. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  157. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  158. data/vendor/libgit2/include/git2/sys/stream.h +11 -2
  159. data/vendor/libgit2/include/git2/sys/transport.h +25 -4
  160. data/vendor/libgit2/include/git2/tag.h +3 -1
  161. data/vendor/libgit2/include/git2/trace.h +9 -3
  162. data/vendor/libgit2/include/git2/transaction.h +3 -2
  163. data/vendor/libgit2/include/git2/transport.h +11 -3
  164. data/vendor/libgit2/include/git2/tree.h +16 -5
  165. data/vendor/libgit2/include/git2/types.h +19 -3
  166. data/vendor/libgit2/include/git2/version.h +46 -8
  167. data/vendor/libgit2/include/git2/worktree.h +16 -6
  168. data/vendor/libgit2/src/CMakeLists.txt +6 -4
  169. data/vendor/libgit2/src/cli/CMakeLists.txt +3 -4
  170. data/vendor/libgit2/src/cli/cmd.c +1 -1
  171. data/vendor/libgit2/src/cli/cmd.h +4 -0
  172. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  173. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  174. data/vendor/libgit2/src/cli/cmd_clone.c +5 -7
  175. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  176. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  177. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  178. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  179. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  180. data/vendor/libgit2/src/cli/common.c +168 -0
  181. data/vendor/libgit2/src/cli/common.h +63 -0
  182. data/vendor/libgit2/src/cli/error.h +1 -1
  183. data/vendor/libgit2/src/cli/main.c +52 -24
  184. data/vendor/libgit2/src/cli/opt.c +31 -5
  185. data/vendor/libgit2/src/cli/opt.h +21 -3
  186. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  187. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  188. data/vendor/libgit2/src/cli/progress.c +51 -2
  189. data/vendor/libgit2/src/cli/progress.h +12 -0
  190. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  191. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  192. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  193. data/vendor/libgit2/src/libgit2/CMakeLists.txt +55 -21
  194. data/vendor/libgit2/src/libgit2/apply.c +10 -13
  195. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  196. data/vendor/libgit2/src/libgit2/attr_file.c +17 -5
  197. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  198. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  199. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  200. data/vendor/libgit2/src/libgit2/blame.c +130 -44
  201. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  202. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  203. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  204. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  205. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  206. data/vendor/libgit2/src/libgit2/cherrypick.c +1 -2
  207. data/vendor/libgit2/src/libgit2/clone.c +192 -166
  208. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  209. data/vendor/libgit2/src/libgit2/commit.c +93 -1
  210. data/vendor/libgit2/src/libgit2/commit_graph.c +68 -58
  211. data/vendor/libgit2/src/libgit2/commit_graph.h +1 -2
  212. data/vendor/libgit2/src/libgit2/config.c +390 -299
  213. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  214. data/vendor/libgit2/src/libgit2/config.h +9 -4
  215. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  216. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  217. data/vendor/libgit2/src/libgit2/config_file.c +101 -89
  218. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  219. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  220. data/vendor/libgit2/src/libgit2/config_mem.c +195 -40
  221. data/vendor/libgit2/src/libgit2/config_parse.c +12 -10
  222. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  223. data/vendor/libgit2/src/libgit2/delta.c +5 -1
  224. data/vendor/libgit2/src/libgit2/describe.c +24 -24
  225. data/vendor/libgit2/src/libgit2/diff.c +1 -1
  226. data/vendor/libgit2/src/libgit2/diff_driver.c +13 -20
  227. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  228. data/vendor/libgit2/src/libgit2/diff_generate.c +3 -3
  229. data/vendor/libgit2/src/libgit2/diff_parse.c +2 -2
  230. data/vendor/libgit2/src/libgit2/diff_print.c +65 -9
  231. data/vendor/libgit2/src/libgit2/diff_stats.c +19 -12
  232. data/vendor/libgit2/src/libgit2/diff_tform.c +36 -8
  233. data/vendor/libgit2/src/libgit2/email.c +1 -0
  234. data/vendor/libgit2/src/libgit2/fetch.c +5 -3
  235. data/vendor/libgit2/src/libgit2/fetchhead.c +1 -1
  236. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  237. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  238. data/vendor/libgit2/src/libgit2/grafts.c +18 -20
  239. data/vendor/libgit2/src/libgit2/grafts.h +0 -1
  240. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  241. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  242. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  243. data/vendor/libgit2/src/libgit2/index.c +76 -98
  244. data/vendor/libgit2/src/libgit2/index.h +5 -2
  245. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  246. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  247. data/vendor/libgit2/src/libgit2/indexer.c +36 -40
  248. data/vendor/libgit2/src/libgit2/iterator.c +14 -8
  249. data/vendor/libgit2/src/libgit2/libgit2.c +153 -368
  250. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  251. data/vendor/libgit2/src/libgit2/merge.c +43 -38
  252. data/vendor/libgit2/src/libgit2/merge.h +4 -0
  253. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  254. data/vendor/libgit2/src/libgit2/merge_file.c +43 -30
  255. data/vendor/libgit2/src/libgit2/message.c +1 -1
  256. data/vendor/libgit2/src/libgit2/midx.c +30 -18
  257. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  258. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  259. data/vendor/libgit2/src/libgit2/object.c +6 -5
  260. data/vendor/libgit2/src/libgit2/odb.c +7 -10
  261. data/vendor/libgit2/src/libgit2/odb_loose.c +24 -14
  262. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  263. data/vendor/libgit2/src/libgit2/odb_pack.c +13 -5
  264. data/vendor/libgit2/src/libgit2/oid.c +36 -10
  265. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  266. data/vendor/libgit2/src/libgit2/pack-objects.c +59 -34
  267. data/vendor/libgit2/src/libgit2/pack-objects.h +12 -4
  268. data/vendor/libgit2/src/libgit2/pack.c +33 -24
  269. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  270. data/vendor/libgit2/src/libgit2/patch_parse.c +2 -2
  271. data/vendor/libgit2/src/libgit2/path.c +1 -1
  272. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  273. data/vendor/libgit2/src/libgit2/push.c +79 -28
  274. data/vendor/libgit2/src/libgit2/push.h +1 -0
  275. data/vendor/libgit2/src/libgit2/refdb_fs.c +128 -61
  276. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  277. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  278. data/vendor/libgit2/src/libgit2/refs.c +41 -13
  279. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  280. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  281. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  282. data/vendor/libgit2/src/libgit2/remote.c +125 -62
  283. data/vendor/libgit2/src/libgit2/remote.h +0 -1
  284. data/vendor/libgit2/src/libgit2/repository.c +235 -54
  285. data/vendor/libgit2/src/libgit2/repository.h +10 -6
  286. data/vendor/libgit2/src/libgit2/revert.c +1 -2
  287. data/vendor/libgit2/src/libgit2/revparse.c +2 -2
  288. data/vendor/libgit2/src/libgit2/revwalk.c +13 -10
  289. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  290. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  291. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  292. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  293. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  294. data/vendor/libgit2/src/libgit2/status.c +1 -1
  295. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -60
  296. data/vendor/libgit2/src/libgit2/streams/openssl.c +32 -7
  297. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  298. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  299. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  300. data/vendor/libgit2/src/libgit2/streams/socket.c +30 -0
  301. data/vendor/libgit2/src/libgit2/streams/stransport.c +39 -7
  302. data/vendor/libgit2/src/libgit2/submodule.c +118 -68
  303. data/vendor/libgit2/src/libgit2/submodule.h +6 -7
  304. data/vendor/libgit2/src/libgit2/tag.c +4 -2
  305. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  306. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  307. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  308. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  309. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +2 -0
  310. data/vendor/libgit2/src/libgit2/transports/credential.c +2 -2
  311. data/vendor/libgit2/src/libgit2/transports/git.c +1 -1
  312. data/vendor/libgit2/src/libgit2/transports/http.c +1 -2
  313. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  314. data/vendor/libgit2/src/libgit2/transports/httpclient.c +124 -81
  315. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  316. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  317. data/vendor/libgit2/src/libgit2/transports/local.c +16 -8
  318. data/vendor/libgit2/src/libgit2/transports/smart.c +25 -13
  319. data/vendor/libgit2/src/libgit2/transports/smart.h +4 -2
  320. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +5 -5
  321. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +55 -10
  322. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  323. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +386 -0
  324. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  325. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  326. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  327. data/vendor/libgit2/src/libgit2/transports/winhttp.c +35 -7
  328. data/vendor/libgit2/src/libgit2/tree.c +34 -26
  329. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  330. data/vendor/libgit2/src/libgit2/worktree.c +14 -17
  331. data/vendor/libgit2/src/util/CMakeLists.txt +7 -10
  332. data/vendor/libgit2/src/util/alloc.c +4 -1
  333. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  334. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  335. data/vendor/libgit2/src/util/allocators/stdalloc.c +0 -10
  336. data/vendor/libgit2/src/util/array.h +18 -17
  337. data/vendor/libgit2/src/util/cc-compat.h +2 -0
  338. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  339. data/vendor/libgit2/src/util/date.c +22 -14
  340. data/vendor/libgit2/src/util/date.h +12 -0
  341. data/vendor/libgit2/src/util/errors.c +401 -0
  342. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  343. data/vendor/libgit2/src/util/fs_path.c +81 -10
  344. data/vendor/libgit2/src/util/fs_path.h +29 -0
  345. data/vendor/libgit2/src/util/futils.c +6 -5
  346. data/vendor/libgit2/src/util/futils.h +24 -7
  347. data/vendor/libgit2/src/util/git2_features.h.in +12 -1
  348. data/vendor/libgit2/src/util/git2_util.h +6 -0
  349. data/vendor/libgit2/src/util/hash/builtin.c +14 -4
  350. data/vendor/libgit2/src/util/hash/openssl.c +148 -0
  351. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  352. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +8 -6
  353. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  354. data/vendor/libgit2/src/util/hashmap.h +425 -0
  355. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  356. data/vendor/libgit2/src/util/integer.h +3 -1
  357. data/vendor/libgit2/src/util/net.c +17 -11
  358. data/vendor/libgit2/src/util/net.h +2 -0
  359. data/vendor/libgit2/src/util/pool.c +1 -1
  360. data/vendor/libgit2/src/util/pool.h +5 -0
  361. data/vendor/libgit2/src/util/pqueue.h +1 -1
  362. data/vendor/libgit2/src/util/process.h +223 -0
  363. data/vendor/libgit2/src/util/rand.c +1 -7
  364. data/vendor/libgit2/src/util/regexp.c +1 -1
  365. data/vendor/libgit2/src/util/runtime.c +2 -2
  366. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  367. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  368. data/vendor/libgit2/src/util/str.c +20 -8
  369. data/vendor/libgit2/src/util/str.h +5 -3
  370. data/vendor/libgit2/src/util/strlist.c +108 -0
  371. data/vendor/libgit2/src/util/strlist.h +36 -0
  372. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  373. data/vendor/libgit2/src/util/unix/process.c +706 -0
  374. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  375. data/vendor/libgit2/src/util/util.c +18 -5
  376. data/vendor/libgit2/src/util/util.h +5 -38
  377. data/vendor/libgit2/src/util/vector.c +3 -3
  378. data/vendor/libgit2/src/util/vector.h +2 -2
  379. data/vendor/libgit2/src/util/win32/path_w32.c +81 -5
  380. data/vendor/libgit2/src/util/win32/posix_w32.c +29 -6
  381. data/vendor/libgit2/src/util/win32/process.c +522 -0
  382. metadata +60 -32
  383. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  384. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  385. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  386. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  387. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  388. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  389. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  390. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  391. data/vendor/libgit2/src/libgit2/errors.c +0 -293
  392. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  393. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  394. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  395. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  396. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  397. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  398. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  399. data/vendor/libgit2/src/libgit2/threadstate.c +0 -97
  400. data/vendor/libgit2/src/libgit2/threadstate.h +0 -22
  401. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  402. data/vendor/libgit2/src/util/khash.h +0 -615
  403. data/vendor/libgit2/src/util/strmap.c +0 -100
  404. data/vendor/libgit2/src/util/strmap.h +0 -131
  405. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
@@ -0,0 +1,170 @@
1
+ #include <stdio.h>
2
+ #ifndef LLHTTP__TEST
3
+ # include "llhttp.h"
4
+ #else
5
+ # define llhttp_t llparse_t
6
+ #endif /* */
7
+
8
+ int llhttp_message_needs_eof(const llhttp_t* parser);
9
+ int llhttp_should_keep_alive(const llhttp_t* parser);
10
+
11
+ int llhttp__before_headers_complete(llhttp_t* parser, const char* p,
12
+ const char* endp) {
13
+ /* Set this here so that on_headers_complete() callbacks can see it */
14
+ if ((parser->flags & F_UPGRADE) &&
15
+ (parser->flags & F_CONNECTION_UPGRADE)) {
16
+ /* For responses, "Upgrade: foo" and "Connection: upgrade" are
17
+ * mandatory only when it is a 101 Switching Protocols response,
18
+ * otherwise it is purely informational, to announce support.
19
+ */
20
+ parser->upgrade =
21
+ (parser->type == HTTP_REQUEST || parser->status_code == 101);
22
+ } else {
23
+ parser->upgrade = (parser->method == HTTP_CONNECT);
24
+ }
25
+ return 0;
26
+ }
27
+
28
+
29
+ /* Return values:
30
+ * 0 - No body, `restart`, message_complete
31
+ * 1 - CONNECT request, `restart`, message_complete, and pause
32
+ * 2 - chunk_size_start
33
+ * 3 - body_identity
34
+ * 4 - body_identity_eof
35
+ * 5 - invalid transfer-encoding for request
36
+ */
37
+ int llhttp__after_headers_complete(llhttp_t* parser, const char* p,
38
+ const char* endp) {
39
+ int hasBody;
40
+
41
+ hasBody = parser->flags & F_CHUNKED || parser->content_length > 0;
42
+ if (
43
+ (parser->upgrade && (parser->method == HTTP_CONNECT ||
44
+ (parser->flags & F_SKIPBODY) || !hasBody)) ||
45
+ /* See RFC 2616 section 4.4 - 1xx e.g. Continue */
46
+ (parser->type == HTTP_RESPONSE && parser->status_code == 101)
47
+ ) {
48
+ /* Exit, the rest of the message is in a different protocol. */
49
+ return 1;
50
+ }
51
+
52
+ if (parser->type == HTTP_RESPONSE && parser->status_code == 100) {
53
+ /* No body, restart as the message is complete */
54
+ return 0;
55
+ }
56
+
57
+ /* See RFC 2616 section 4.4 */
58
+ if (
59
+ parser->flags & F_SKIPBODY || /* response to a HEAD request */
60
+ (
61
+ parser->type == HTTP_RESPONSE && (
62
+ parser->status_code == 102 || /* Processing */
63
+ parser->status_code == 103 || /* Early Hints */
64
+ parser->status_code == 204 || /* No Content */
65
+ parser->status_code == 304 /* Not Modified */
66
+ )
67
+ )
68
+ ) {
69
+ return 0;
70
+ } else if (parser->flags & F_CHUNKED) {
71
+ /* chunked encoding - ignore Content-Length header, prepare for a chunk */
72
+ return 2;
73
+ } else if (parser->flags & F_TRANSFER_ENCODING) {
74
+ if (parser->type == HTTP_REQUEST &&
75
+ (parser->lenient_flags & LENIENT_CHUNKED_LENGTH) == 0 &&
76
+ (parser->lenient_flags & LENIENT_TRANSFER_ENCODING) == 0) {
77
+ /* RFC 7230 3.3.3 */
78
+
79
+ /* If a Transfer-Encoding header field
80
+ * is present in a request and the chunked transfer coding is not
81
+ * the final encoding, the message body length cannot be determined
82
+ * reliably; the server MUST respond with the 400 (Bad Request)
83
+ * status code and then close the connection.
84
+ */
85
+ return 5;
86
+ } else {
87
+ /* RFC 7230 3.3.3 */
88
+
89
+ /* If a Transfer-Encoding header field is present in a response and
90
+ * the chunked transfer coding is not the final encoding, the
91
+ * message body length is determined by reading the connection until
92
+ * it is closed by the server.
93
+ */
94
+ return 4;
95
+ }
96
+ } else {
97
+ if (!(parser->flags & F_CONTENT_LENGTH)) {
98
+ if (!llhttp_message_needs_eof(parser)) {
99
+ /* Assume content-length 0 - read the next */
100
+ return 0;
101
+ } else {
102
+ /* Read body until EOF */
103
+ return 4;
104
+ }
105
+ } else if (parser->content_length == 0) {
106
+ /* Content-Length header given but zero: Content-Length: 0\r\n */
107
+ return 0;
108
+ } else {
109
+ /* Content-Length header given and non-zero */
110
+ return 3;
111
+ }
112
+ }
113
+ }
114
+
115
+
116
+ int llhttp__after_message_complete(llhttp_t* parser, const char* p,
117
+ const char* endp) {
118
+ int should_keep_alive;
119
+
120
+ should_keep_alive = llhttp_should_keep_alive(parser);
121
+ parser->finish = HTTP_FINISH_SAFE;
122
+ parser->flags = 0;
123
+
124
+ /* NOTE: this is ignored in loose parsing mode */
125
+ return should_keep_alive;
126
+ }
127
+
128
+
129
+ int llhttp_message_needs_eof(const llhttp_t* parser) {
130
+ if (parser->type == HTTP_REQUEST) {
131
+ return 0;
132
+ }
133
+
134
+ /* See RFC 2616 section 4.4 */
135
+ if (parser->status_code / 100 == 1 || /* 1xx e.g. Continue */
136
+ parser->status_code == 204 || /* No Content */
137
+ parser->status_code == 304 || /* Not Modified */
138
+ (parser->flags & F_SKIPBODY)) { /* response to a HEAD request */
139
+ return 0;
140
+ }
141
+
142
+ /* RFC 7230 3.3.3, see `llhttp__after_headers_complete` */
143
+ if ((parser->flags & F_TRANSFER_ENCODING) &&
144
+ (parser->flags & F_CHUNKED) == 0) {
145
+ return 1;
146
+ }
147
+
148
+ if (parser->flags & (F_CHUNKED | F_CONTENT_LENGTH)) {
149
+ return 0;
150
+ }
151
+
152
+ return 1;
153
+ }
154
+
155
+
156
+ int llhttp_should_keep_alive(const llhttp_t* parser) {
157
+ if (parser->http_major > 0 && parser->http_minor > 0) {
158
+ /* HTTP/1.1 */
159
+ if (parser->flags & F_CONNECTION_CLOSE) {
160
+ return 0;
161
+ }
162
+ } else {
163
+ /* HTTP/1.0 or earlier */
164
+ if (!(parser->flags & F_CONNECTION_KEEP_ALIVE)) {
165
+ return 0;
166
+ }
167
+ }
168
+
169
+ return !llhttp_message_needs_eof(parser);
170
+ }