rugged 1.6.3 → 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 (443) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/rugged_allocator.c +0 -54
  3. data/lib/rugged/version.rb +1 -1
  4. data/vendor/libgit2/AUTHORS +1 -0
  5. data/vendor/libgit2/CMakeLists.txt +25 -17
  6. data/vendor/libgit2/COPYING +195 -1
  7. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  8. data/vendor/libgit2/cmake/{FindIconv.cmake → FindIntlIconv.cmake} +6 -0
  9. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  10. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +4 -4
  11. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +23 -8
  12. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +34 -6
  13. data/vendor/libgit2/cmake/SelectHashes.cmake +32 -11
  14. data/vendor/libgit2/cmake/SelectRegex.cmake +6 -1
  15. data/vendor/libgit2/cmake/SelectSSH.cmake +22 -17
  16. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  17. data/vendor/libgit2/cmake/SelectZlib.cmake +4 -0
  18. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  19. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  20. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  21. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  22. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  23. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  24. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +1 -1
  25. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  26. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  27. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  28. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +4 -4
  29. data/vendor/libgit2/deps/ntlmclient/ntlm.c +21 -21
  30. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  31. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  32. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  33. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  34. data/vendor/libgit2/deps/pcre/CMakeLists.txt +1 -0
  35. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  36. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  37. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  38. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  39. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  40. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/git-xdiff.h +4 -1
  41. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.c +19 -18
  42. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiffi.h +2 -4
  43. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.c +3 -3
  44. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xhistogram.c +7 -18
  45. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmacros.h +18 -1
  46. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xmerge.c +22 -20
  47. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xpatience.c +21 -30
  48. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.c +13 -30
  49. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.c +18 -1
  50. data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xutils.h +2 -1
  51. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  52. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  53. data/vendor/libgit2/deps/zlib/adler32.c +5 -27
  54. data/vendor/libgit2/deps/zlib/crc32.c +94 -167
  55. data/vendor/libgit2/deps/zlib/deflate.c +358 -435
  56. data/vendor/libgit2/deps/zlib/deflate.h +41 -10
  57. data/vendor/libgit2/deps/zlib/gzguts.h +13 -18
  58. data/vendor/libgit2/deps/zlib/infback.c +17 -30
  59. data/vendor/libgit2/deps/zlib/inffast.c +1 -4
  60. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  61. data/vendor/libgit2/deps/zlib/inflate.c +36 -102
  62. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  63. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  64. data/vendor/libgit2/deps/zlib/trees.c +287 -352
  65. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  66. data/vendor/libgit2/deps/zlib/zlib.h +202 -202
  67. data/vendor/libgit2/deps/zlib/zutil.c +18 -44
  68. data/vendor/libgit2/deps/zlib/zutil.h +13 -33
  69. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  70. data/vendor/libgit2/include/git2/apply.h +27 -6
  71. data/vendor/libgit2/include/git2/attr.h +17 -4
  72. data/vendor/libgit2/include/git2/blame.h +133 -28
  73. data/vendor/libgit2/include/git2/blob.h +71 -28
  74. data/vendor/libgit2/include/git2/branch.h +22 -15
  75. data/vendor/libgit2/include/git2/buffer.h +6 -4
  76. data/vendor/libgit2/include/git2/cert.h +2 -1
  77. data/vendor/libgit2/include/git2/checkout.h +83 -32
  78. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  79. data/vendor/libgit2/include/git2/clone.h +25 -9
  80. data/vendor/libgit2/include/git2/commit.h +132 -3
  81. data/vendor/libgit2/include/git2/common.h +138 -56
  82. data/vendor/libgit2/include/git2/config.h +93 -23
  83. data/vendor/libgit2/include/git2/credential.h +30 -2
  84. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  85. data/vendor/libgit2/include/git2/deprecated.h +133 -3
  86. data/vendor/libgit2/include/git2/describe.h +13 -1
  87. data/vendor/libgit2/include/git2/diff.h +77 -9
  88. data/vendor/libgit2/include/git2/email.h +9 -29
  89. data/vendor/libgit2/include/git2/errors.h +49 -74
  90. data/vendor/libgit2/include/git2/filter.h +14 -7
  91. data/vendor/libgit2/include/git2/global.h +8 -1
  92. data/vendor/libgit2/include/git2/graph.h +3 -2
  93. data/vendor/libgit2/include/git2/ignore.h +10 -0
  94. data/vendor/libgit2/include/git2/index.h +100 -6
  95. data/vendor/libgit2/include/git2/indexer.h +21 -4
  96. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  97. data/vendor/libgit2/include/git2/merge.h +46 -1
  98. data/vendor/libgit2/include/git2/message.h +2 -2
  99. data/vendor/libgit2/include/git2/net.h +3 -1
  100. data/vendor/libgit2/include/git2/notes.h +9 -6
  101. data/vendor/libgit2/include/git2/object.h +9 -8
  102. data/vendor/libgit2/include/git2/odb.h +91 -49
  103. data/vendor/libgit2/include/git2/odb_backend.h +80 -52
  104. data/vendor/libgit2/include/git2/oid.h +24 -25
  105. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  106. data/vendor/libgit2/include/git2/pack.h +13 -1
  107. data/vendor/libgit2/include/git2/patch.h +2 -3
  108. data/vendor/libgit2/include/git2/pathspec.h +9 -0
  109. data/vendor/libgit2/include/git2/proxy.h +10 -0
  110. data/vendor/libgit2/include/git2/rebase.h +9 -6
  111. data/vendor/libgit2/include/git2/refdb.h +2 -2
  112. data/vendor/libgit2/include/git2/reflog.h +3 -2
  113. data/vendor/libgit2/include/git2/refs.h +9 -6
  114. data/vendor/libgit2/include/git2/refspec.h +14 -4
  115. data/vendor/libgit2/include/git2/remote.h +112 -18
  116. data/vendor/libgit2/include/git2/repository.h +61 -15
  117. data/vendor/libgit2/include/git2/reset.h +16 -3
  118. data/vendor/libgit2/include/git2/revert.h +9 -4
  119. data/vendor/libgit2/include/git2/revparse.h +3 -3
  120. data/vendor/libgit2/include/git2/revwalk.h +3 -2
  121. data/vendor/libgit2/include/git2/signature.h +46 -1
  122. data/vendor/libgit2/include/git2/stash.h +17 -3
  123. data/vendor/libgit2/include/git2/status.h +10 -6
  124. data/vendor/libgit2/include/git2/stdint.h +87 -85
  125. data/vendor/libgit2/include/git2/strarray.h +2 -3
  126. data/vendor/libgit2/include/git2/submodule.h +20 -9
  127. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  128. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  129. data/vendor/libgit2/include/git2/sys/commit_graph.h +109 -58
  130. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  131. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  132. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  133. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  134. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  135. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  136. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  137. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  138. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  139. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  140. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  141. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -3
  142. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  143. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  144. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  145. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  146. data/vendor/libgit2/include/git2/sys/remote.h +8 -1
  147. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  148. data/vendor/libgit2/include/git2/sys/stream.h +25 -2
  149. data/vendor/libgit2/include/git2/sys/transport.h +44 -5
  150. data/vendor/libgit2/include/git2/tag.h +3 -1
  151. data/vendor/libgit2/include/git2/trace.h +9 -3
  152. data/vendor/libgit2/include/git2/transaction.h +3 -2
  153. data/vendor/libgit2/include/git2/transport.h +11 -3
  154. data/vendor/libgit2/include/git2/tree.h +16 -5
  155. data/vendor/libgit2/include/git2/types.h +19 -3
  156. data/vendor/libgit2/include/git2/version.h +44 -8
  157. data/vendor/libgit2/include/git2/worktree.h +19 -7
  158. data/vendor/libgit2/src/CMakeLists.txt +40 -15
  159. data/vendor/libgit2/src/cli/CMakeLists.txt +2 -2
  160. data/vendor/libgit2/src/cli/cmd.c +1 -1
  161. data/vendor/libgit2/src/cli/cmd.h +4 -0
  162. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  163. data/vendor/libgit2/src/cli/cmd_cat_file.c +6 -8
  164. data/vendor/libgit2/src/cli/cmd_clone.c +27 -13
  165. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  166. data/vendor/libgit2/src/cli/cmd_hash_object.c +6 -8
  167. data/vendor/libgit2/src/cli/cmd_help.c +6 -7
  168. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  169. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  170. data/vendor/libgit2/src/cli/common.c +168 -0
  171. data/vendor/libgit2/src/cli/common.h +63 -0
  172. data/vendor/libgit2/src/cli/error.h +1 -1
  173. data/vendor/libgit2/src/cli/main.c +52 -24
  174. data/vendor/libgit2/src/cli/opt.c +29 -3
  175. data/vendor/libgit2/src/cli/opt.h +21 -3
  176. data/vendor/libgit2/src/cli/opt_usage.c +102 -33
  177. data/vendor/libgit2/src/cli/opt_usage.h +6 -1
  178. data/vendor/libgit2/src/cli/progress.c +60 -10
  179. data/vendor/libgit2/src/cli/progress.h +16 -4
  180. data/vendor/libgit2/src/cli/unix/sighandler.c +2 -1
  181. data/vendor/libgit2/src/cli/win32/precompiled.h +1 -1
  182. data/vendor/libgit2/src/cli/win32/sighandler.c +1 -1
  183. data/vendor/libgit2/src/libgit2/CMakeLists.txt +27 -27
  184. data/vendor/libgit2/src/libgit2/annotated_commit.c +2 -2
  185. data/vendor/libgit2/src/libgit2/annotated_commit.h +1 -1
  186. data/vendor/libgit2/src/libgit2/apply.c +14 -16
  187. data/vendor/libgit2/src/libgit2/attr.c +30 -13
  188. data/vendor/libgit2/src/libgit2/attr_file.c +7 -2
  189. data/vendor/libgit2/src/libgit2/attr_file.h +2 -0
  190. data/vendor/libgit2/src/libgit2/attrcache.c +69 -33
  191. data/vendor/libgit2/src/libgit2/attrcache.h +5 -9
  192. data/vendor/libgit2/src/libgit2/blame.c +152 -59
  193. data/vendor/libgit2/src/libgit2/blame.h +1 -0
  194. data/vendor/libgit2/src/libgit2/blame_git.c +0 -1
  195. data/vendor/libgit2/src/libgit2/branch.c +2 -2
  196. data/vendor/libgit2/src/libgit2/cache.c +22 -17
  197. data/vendor/libgit2/src/libgit2/cache.h +7 -9
  198. data/vendor/libgit2/src/libgit2/checkout.c +34 -24
  199. data/vendor/libgit2/src/libgit2/checkout.h +0 -2
  200. data/vendor/libgit2/src/libgit2/cherrypick.c +4 -5
  201. data/vendor/libgit2/src/libgit2/clone.c +186 -164
  202. data/vendor/libgit2/src/libgit2/clone.h +4 -1
  203. data/vendor/libgit2/src/libgit2/commit.c +123 -9
  204. data/vendor/libgit2/src/libgit2/commit_graph.c +166 -88
  205. data/vendor/libgit2/src/libgit2/commit_graph.h +21 -6
  206. data/vendor/libgit2/src/libgit2/commit_list.c +12 -5
  207. data/vendor/libgit2/src/libgit2/commit_list.h +1 -0
  208. data/vendor/libgit2/src/libgit2/config.c +394 -300
  209. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  210. data/vendor/libgit2/src/libgit2/config.h +9 -4
  211. data/vendor/libgit2/src/libgit2/config_backend.h +8 -10
  212. data/vendor/libgit2/src/libgit2/config_cache.c +4 -5
  213. data/vendor/libgit2/src/libgit2/config_file.c +113 -96
  214. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  215. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  216. data/vendor/libgit2/src/libgit2/config_mem.c +194 -40
  217. data/vendor/libgit2/src/libgit2/config_parse.c +10 -9
  218. data/vendor/libgit2/src/libgit2/config_snapshot.c +24 -31
  219. data/vendor/libgit2/src/libgit2/describe.c +34 -31
  220. data/vendor/libgit2/src/libgit2/diff.c +17 -8
  221. data/vendor/libgit2/src/libgit2/diff.h +6 -6
  222. data/vendor/libgit2/src/libgit2/diff_driver.c +12 -19
  223. data/vendor/libgit2/src/libgit2/diff_driver.h +2 -2
  224. data/vendor/libgit2/src/libgit2/diff_file.c +7 -7
  225. data/vendor/libgit2/src/libgit2/diff_generate.c +39 -18
  226. data/vendor/libgit2/src/libgit2/diff_parse.c +22 -6
  227. data/vendor/libgit2/src/libgit2/diff_print.c +88 -13
  228. data/vendor/libgit2/src/libgit2/diff_tform.c +40 -12
  229. data/vendor/libgit2/src/libgit2/diff_xdiff.h +1 -1
  230. data/vendor/libgit2/src/libgit2/email.c +5 -3
  231. data/vendor/libgit2/src/libgit2/fetch.c +39 -9
  232. data/vendor/libgit2/src/libgit2/fetch.h +0 -2
  233. data/vendor/libgit2/src/libgit2/fetchhead.c +11 -9
  234. data/vendor/libgit2/src/libgit2/filter.c +5 -5
  235. data/vendor/libgit2/src/libgit2/git2.rc +3 -3
  236. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  237. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  238. data/vendor/libgit2/src/libgit2/graph.c +1 -1
  239. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  240. data/vendor/libgit2/src/libgit2/ident.c +3 -3
  241. data/vendor/libgit2/src/libgit2/ignore.c +9 -5
  242. data/vendor/libgit2/src/libgit2/index.c +392 -208
  243. data/vendor/libgit2/src/libgit2/index.h +16 -3
  244. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  245. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  246. data/vendor/libgit2/src/libgit2/indexer.c +44 -41
  247. data/vendor/libgit2/src/libgit2/iterator.c +34 -13
  248. data/vendor/libgit2/src/libgit2/iterator.h +3 -0
  249. data/vendor/libgit2/src/libgit2/libgit2.c +155 -331
  250. data/vendor/libgit2/src/libgit2/mailmap.c +1 -1
  251. data/vendor/libgit2/src/libgit2/merge.c +56 -46
  252. data/vendor/libgit2/src/libgit2/merge_driver.c +2 -2
  253. data/vendor/libgit2/src/libgit2/merge_file.c +0 -2
  254. data/vendor/libgit2/src/libgit2/midx.c +86 -44
  255. data/vendor/libgit2/src/libgit2/midx.h +13 -3
  256. data/vendor/libgit2/src/libgit2/mwindow.c +38 -45
  257. data/vendor/libgit2/src/libgit2/mwindow.h +4 -0
  258. data/vendor/libgit2/src/libgit2/notes.c +9 -8
  259. data/vendor/libgit2/src/libgit2/object.c +42 -16
  260. data/vendor/libgit2/src/libgit2/object.h +6 -0
  261. data/vendor/libgit2/src/libgit2/odb.c +16 -9
  262. data/vendor/libgit2/src/libgit2/odb_mempack.c +49 -17
  263. data/vendor/libgit2/src/libgit2/odb_pack.c +28 -7
  264. data/vendor/libgit2/src/libgit2/oid.c +35 -2
  265. data/vendor/libgit2/src/libgit2/oid.h +11 -0
  266. data/vendor/libgit2/src/libgit2/oidarray.c +49 -3
  267. data/vendor/libgit2/src/libgit2/oidarray.h +5 -1
  268. data/vendor/libgit2/src/libgit2/pack-objects.c +77 -43
  269. data/vendor/libgit2/src/libgit2/pack-objects.h +17 -6
  270. data/vendor/libgit2/src/libgit2/pack.c +33 -27
  271. data/vendor/libgit2/src/libgit2/pack.h +15 -10
  272. data/vendor/libgit2/src/libgit2/parse.c +7 -4
  273. data/vendor/libgit2/src/libgit2/parse.h +1 -1
  274. data/vendor/libgit2/src/libgit2/patch.h +7 -1
  275. data/vendor/libgit2/src/libgit2/patch_generate.c +24 -5
  276. data/vendor/libgit2/src/libgit2/patch_parse.c +18 -10
  277. data/vendor/libgit2/src/libgit2/path.c +1 -1
  278. data/vendor/libgit2/src/libgit2/pathspec.c +1 -1
  279. data/vendor/libgit2/src/libgit2/push.c +81 -30
  280. data/vendor/libgit2/src/libgit2/push.h +1 -0
  281. data/vendor/libgit2/src/libgit2/reader.c +1 -1
  282. data/vendor/libgit2/src/libgit2/rebase.c +72 -84
  283. data/vendor/libgit2/src/libgit2/refdb_fs.c +146 -70
  284. data/vendor/libgit2/src/libgit2/reflog.c +1 -2
  285. data/vendor/libgit2/src/libgit2/reflog.h +2 -0
  286. data/vendor/libgit2/src/libgit2/refs.c +34 -8
  287. data/vendor/libgit2/src/libgit2/refs.h +6 -1
  288. data/vendor/libgit2/src/libgit2/refspec.c +28 -1
  289. data/vendor/libgit2/src/libgit2/refspec.h +8 -0
  290. data/vendor/libgit2/src/libgit2/remote.c +136 -67
  291. data/vendor/libgit2/src/libgit2/remote.h +1 -0
  292. data/vendor/libgit2/src/libgit2/repository.c +789 -330
  293. data/vendor/libgit2/src/libgit2/repository.h +22 -3
  294. data/vendor/libgit2/src/libgit2/reset.c +2 -2
  295. data/vendor/libgit2/src/libgit2/revert.c +9 -13
  296. data/vendor/libgit2/src/libgit2/revparse.c +6 -3
  297. data/vendor/libgit2/src/libgit2/revwalk.c +36 -11
  298. data/vendor/libgit2/src/libgit2/revwalk.h +3 -3
  299. data/vendor/libgit2/src/libgit2/settings.c +468 -0
  300. data/vendor/libgit2/src/libgit2/settings.h +6 -2
  301. data/vendor/libgit2/src/libgit2/signature.c +132 -15
  302. data/vendor/libgit2/src/libgit2/signature.h +0 -1
  303. data/vendor/libgit2/src/libgit2/stash.c +9 -8
  304. data/vendor/libgit2/src/libgit2/status.c +1 -1
  305. data/vendor/libgit2/src/libgit2/streams/mbedtls.c +54 -61
  306. data/vendor/libgit2/src/libgit2/streams/openssl.c +40 -23
  307. data/vendor/libgit2/src/libgit2/streams/openssl.h +2 -0
  308. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.c +4 -0
  309. data/vendor/libgit2/src/libgit2/streams/openssl_dynamic.h +3 -0
  310. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  311. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  312. data/vendor/libgit2/src/libgit2/streams/socket.c +237 -51
  313. data/vendor/libgit2/src/libgit2/streams/socket.h +3 -1
  314. data/vendor/libgit2/src/libgit2/streams/stransport.c +79 -19
  315. data/vendor/libgit2/src/libgit2/streams/tls.c +5 -0
  316. data/vendor/libgit2/src/libgit2/submodule.c +106 -63
  317. data/vendor/libgit2/src/libgit2/submodule.h +9 -10
  318. data/vendor/libgit2/src/libgit2/tag.c +1 -1
  319. data/vendor/libgit2/src/libgit2/trailer.c +6 -6
  320. data/vendor/libgit2/src/libgit2/transaction.c +26 -20
  321. data/vendor/libgit2/src/libgit2/transaction.h +4 -1
  322. data/vendor/libgit2/src/libgit2/transport.c +4 -1
  323. data/vendor/libgit2/src/libgit2/transports/auth.h +1 -2
  324. data/vendor/libgit2/src/libgit2/transports/{auth_negotiate.c → auth_gssapi.c} +32 -32
  325. data/vendor/libgit2/src/libgit2/transports/auth_negotiate.h +1 -1
  326. data/vendor/libgit2/src/libgit2/transports/auth_ntlm.h +1 -1
  327. data/vendor/libgit2/src/libgit2/transports/{auth_ntlm.c → auth_ntlmclient.c} +12 -12
  328. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  329. data/vendor/libgit2/src/libgit2/transports/credential.c +1 -1
  330. data/vendor/libgit2/src/libgit2/transports/git.c +7 -8
  331. data/vendor/libgit2/src/libgit2/transports/http.c +8 -4
  332. data/vendor/libgit2/src/libgit2/transports/http.h +0 -10
  333. data/vendor/libgit2/src/libgit2/transports/httpclient.c +117 -72
  334. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  335. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  336. data/vendor/libgit2/src/libgit2/transports/local.c +21 -11
  337. data/vendor/libgit2/src/libgit2/transports/smart.c +50 -32
  338. data/vendor/libgit2/src/libgit2/transports/smart.h +26 -9
  339. data/vendor/libgit2/src/libgit2/transports/smart_pkt.c +139 -18
  340. data/vendor/libgit2/src/libgit2/transports/smart_protocol.c +209 -57
  341. data/vendor/libgit2/src/libgit2/transports/ssh.c +41 -1103
  342. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  343. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  344. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.c +1126 -0
  345. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  346. data/vendor/libgit2/src/libgit2/transports/winhttp.c +48 -21
  347. data/vendor/libgit2/src/libgit2/tree-cache.c +26 -16
  348. data/vendor/libgit2/src/libgit2/tree-cache.h +5 -3
  349. data/vendor/libgit2/src/libgit2/tree.c +35 -27
  350. data/vendor/libgit2/src/libgit2/tree.h +3 -2
  351. data/vendor/libgit2/src/libgit2/worktree.c +39 -27
  352. data/vendor/libgit2/src/util/CMakeLists.txt +4 -6
  353. data/vendor/libgit2/src/util/alloc.c +69 -7
  354. data/vendor/libgit2/src/util/alloc.h +34 -9
  355. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  356. data/vendor/libgit2/src/{cli/cli.h → util/allocators/debugalloc.h} +6 -9
  357. data/vendor/libgit2/src/util/allocators/failalloc.c +0 -60
  358. data/vendor/libgit2/src/util/allocators/failalloc.h +0 -6
  359. data/vendor/libgit2/src/util/allocators/stdalloc.c +2 -115
  360. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +0 -68
  361. data/vendor/libgit2/src/util/array.h +24 -18
  362. data/vendor/libgit2/src/util/cc-compat.h +4 -0
  363. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  364. data/vendor/libgit2/src/util/date.c +22 -14
  365. data/vendor/libgit2/src/util/date.h +12 -0
  366. data/vendor/libgit2/src/util/errors.c +401 -0
  367. data/vendor/libgit2/src/{libgit2 → util}/errors.h +21 -17
  368. data/vendor/libgit2/src/util/filebuf.c +6 -1
  369. data/vendor/libgit2/src/util/filebuf.h +19 -6
  370. data/vendor/libgit2/src/util/fs_path.c +16 -5
  371. data/vendor/libgit2/src/util/fs_path.h +23 -0
  372. data/vendor/libgit2/src/util/futils.c +14 -10
  373. data/vendor/libgit2/src/util/futils.h +13 -4
  374. data/vendor/libgit2/src/util/git2_features.h.in +21 -4
  375. data/vendor/libgit2/src/util/git2_util.h +6 -0
  376. data/vendor/libgit2/src/util/hash/openssl.c +152 -0
  377. data/vendor/libgit2/src/util/hash/openssl.h +17 -1
  378. data/vendor/libgit2/src/util/hash/sha.h +4 -1
  379. data/vendor/libgit2/src/util/hashmap.h +424 -0
  380. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  381. data/vendor/libgit2/src/util/integer.h +3 -1
  382. data/vendor/libgit2/src/util/net.c +318 -161
  383. data/vendor/libgit2/src/util/net.h +27 -0
  384. data/vendor/libgit2/src/util/pool.c +1 -1
  385. data/vendor/libgit2/src/util/pool.h +5 -0
  386. data/vendor/libgit2/src/util/posix.c +54 -0
  387. data/vendor/libgit2/src/util/posix.h +22 -0
  388. data/vendor/libgit2/src/util/pqueue.h +1 -1
  389. data/vendor/libgit2/src/util/process.h +222 -0
  390. data/vendor/libgit2/src/util/rand.c +6 -10
  391. data/vendor/libgit2/src/util/regexp.c +1 -1
  392. data/vendor/libgit2/src/util/sortedcache.c +14 -13
  393. data/vendor/libgit2/src/util/sortedcache.h +3 -3
  394. data/vendor/libgit2/src/util/staticstr.h +66 -0
  395. data/vendor/libgit2/src/util/str.c +2 -2
  396. data/vendor/libgit2/src/util/strlist.c +108 -0
  397. data/vendor/libgit2/src/util/strlist.h +36 -0
  398. data/vendor/libgit2/src/util/unix/posix.h +0 -2
  399. data/vendor/libgit2/src/util/unix/process.c +629 -0
  400. data/vendor/libgit2/src/util/unix/realpath.c +23 -5
  401. data/vendor/libgit2/src/util/util.c +17 -12
  402. data/vendor/libgit2/src/util/util.h +28 -54
  403. data/vendor/libgit2/src/util/vector.c +3 -3
  404. data/vendor/libgit2/src/util/vector.h +2 -2
  405. data/vendor/libgit2/src/util/win32/error.c +1 -1
  406. data/vendor/libgit2/src/util/win32/path_w32.c +8 -8
  407. data/vendor/libgit2/src/util/win32/posix_w32.c +30 -7
  408. data/vendor/libgit2/src/util/win32/process.c +506 -0
  409. data/vendor/libgit2/src/util/win32/utf-conv.c +73 -75
  410. data/vendor/libgit2/src/util/win32/utf-conv.h +81 -14
  411. data/vendor/libgit2/src/util/win32/w32_util.c +1 -1
  412. metadata +72 -49
  413. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +0 -17
  414. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  415. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  416. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  417. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  418. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  419. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  420. data/vendor/libgit2/src/libgit2/config_entries.c +0 -237
  421. data/vendor/libgit2/src/libgit2/config_entries.h +0 -24
  422. data/vendor/libgit2/src/libgit2/errors.c +0 -238
  423. data/vendor/libgit2/src/libgit2/idxmap.c +0 -157
  424. data/vendor/libgit2/src/libgit2/idxmap.h +0 -177
  425. data/vendor/libgit2/src/libgit2/libgit2.h +0 -15
  426. data/vendor/libgit2/src/libgit2/netops.c +0 -124
  427. data/vendor/libgit2/src/libgit2/netops.h +0 -68
  428. data/vendor/libgit2/src/libgit2/offmap.c +0 -101
  429. data/vendor/libgit2/src/libgit2/offmap.h +0 -133
  430. data/vendor/libgit2/src/libgit2/oidmap.c +0 -107
  431. data/vendor/libgit2/src/libgit2/oidmap.h +0 -128
  432. data/vendor/libgit2/src/libgit2/threadstate.c +0 -84
  433. data/vendor/libgit2/src/libgit2/threadstate.h +0 -24
  434. data/vendor/libgit2/src/libgit2/transports/ssh.h +0 -14
  435. data/vendor/libgit2/src/util/khash.h +0 -615
  436. data/vendor/libgit2/src/util/strmap.c +0 -100
  437. data/vendor/libgit2/src/util/strmap.h +0 -131
  438. /data/vendor/libgit2/cmake/{FindHTTPParser.cmake → FindHTTP_Parser.cmake} +0 -0
  439. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xdiff.h +0 -0
  440. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xemit.h +0 -0
  441. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xinclude.h +0 -0
  442. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xprepare.h +0 -0
  443. /data/vendor/libgit2/{src/libgit2 → deps}/xdiff/xtypes.h +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9cc31109e6df7461749b4e823c07b7f7bcba5b25a9eee0de18d9e66811f02f2d
4
- data.tar.gz: 5c6ee9dcc92ba1d9e528f709bcb6075b47d2bdabeb5f96a0fe13157f68ab8824
3
+ metadata.gz: 35b9bacf8b8490fe35d015f3a47ba27bfa63105f4e6657c2fdb77f99181e378b
4
+ data.tar.gz: 5d229542f5c4f156bd0b4c5add9730314e7a003c923d712d415731efe85d9a49
5
5
  SHA512:
6
- metadata.gz: 64cc9797783d455152a320da1019c732e3b2a4036f03410a89d0c6c3cd9f76f1b865df132006b0d9b5a631a0244736c105c3cbe5b778960f03ecec4b589646b5
7
- data.tar.gz: 68326e81b3b370bd6929648fada07d81b9dcbb1029995977b9528058f68e7f8691fd57d0a06fc5aeda394cfd734e2d39841cfb4a857f744ca6a931223bf71ed3
6
+ metadata.gz: 3af4216e9c917c87757c9c387a01a10d2173e00a3f9b834eb8a429c252fafc32a0a211f905ea74168bb8c46e6c95434b1eaa50c41feba3388ddfd7446ac9e162
7
+ data.tar.gz: 61c7da1b73112564d53e78a61de842de5d12a93515317d52e0b22c95f5e9312ca2aef3443eeb0e482dcf4208a86b60f9f831cf525948b49031ac7af28f6b2557
@@ -13,58 +13,11 @@ static void *rugged_gmalloc(size_t n, const char *file, int line)
13
13
  return xmalloc(n);
14
14
  }
15
15
 
16
- static void *rugged_gcalloc(size_t nelem, size_t elsize, const char *file, int line)
17
- {
18
- return xcalloc(nelem, elsize);
19
- }
20
-
21
- static char *rugged_gstrdup(const char *str, const char *file, int line)
22
- {
23
- return ruby_strdup(str);
24
- }
25
-
26
- static char *rugged_gstrndup(const char *str, size_t n, const char *file, int line)
27
- {
28
- size_t len;
29
- char *newstr;
30
-
31
- len = strnlen(str, n);
32
- if (len < n)
33
- n = len;
34
-
35
- newstr = xmalloc(n+1);
36
- memcpy(newstr, str, n);
37
- newstr[n] = '\0';
38
-
39
- return newstr;
40
- }
41
-
42
- static char *rugged_gsubstrdup(const char *str, size_t n, const char *file, int line)
43
- {
44
- char *newstr;
45
-
46
- newstr = xmalloc(n+1);
47
- memcpy(newstr, str, n);
48
- newstr[n] = '\0';
49
-
50
- return newstr;
51
- }
52
-
53
16
  static void *rugged_grealloc(void *ptr, size_t size, const char *file, int line)
54
17
  {
55
18
  return xrealloc(ptr, size);
56
19
  }
57
20
 
58
- static void *rugged_greallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
59
- {
60
- return xrealloc2(ptr, nelem, elsize);
61
- }
62
-
63
- static void *rugged_gmallocarray(size_t nelem, size_t elsize, const char *file, int line)
64
- {
65
- return xmalloc2(nelem, elsize);
66
- }
67
-
68
21
  static void rugged_gfree(void *ptr)
69
22
  {
70
23
  xfree(ptr);
@@ -75,14 +28,7 @@ void rugged_set_allocator(void)
75
28
  git_allocator allocator;
76
29
 
77
30
  allocator.gmalloc = rugged_gmalloc;
78
- allocator.gcalloc = rugged_gcalloc;
79
- allocator.gstrdup = rugged_gstrdup;
80
- allocator.gstrndup = rugged_gstrndup;
81
- allocator.gstrndup = rugged_gstrndup;
82
- allocator.gsubstrdup = rugged_gsubstrdup;
83
31
  allocator.grealloc = rugged_grealloc;
84
- allocator.greallocarray = rugged_greallocarray;
85
- allocator.gmallocarray = rugged_gmallocarray;
86
32
  allocator.gfree = rugged_gfree;
87
33
 
88
34
  git_libgit2_opts(GIT_OPT_SET_ALLOCATOR, &allocator);
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '1.6.3'
7
+ Version = VERSION = '1.9.0'
8
8
  end
@@ -75,4 +75,5 @@ Tim Clem
75
75
  Tim Harder
76
76
  Torsten Bögershausen
77
77
  Trent Mick
78
+ Venus Xeon-Blonde
78
79
  Vicent Marti
@@ -6,7 +6,7 @@
6
6
 
7
7
  cmake_minimum_required(VERSION 3.5.1)
8
8
 
9
- project(libgit2 VERSION "1.6.3" LANGUAGES C)
9
+ project(libgit2 VERSION "1.9.0" LANGUAGES C)
10
10
 
11
11
  # Add find modules to the path
12
12
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
@@ -30,13 +30,14 @@ option(USE_THREADS "Use threads for parallel processing when possibl
30
30
  option(USE_NSEC "Support nanosecond precision file mtimes and ctimes" ON)
31
31
 
32
32
  # Backend selection
33
- option(USE_SSH "Link with libssh2 to enable SSH support" OFF)
34
- option(USE_HTTPS "Enable HTTPS support. Can be set to a specific backend" ON)
35
- option(USE_SHA1 "Enable SHA1. Can be set to CollisionDetection(ON)/HTTPS" ON)
36
- option(USE_SHA256 "Enable SHA256. Can be set to HTTPS/Builtin" ON)
37
- option(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
38
- set(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
39
- set(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
33
+ set(USE_SSH "" CACHE STRING "Enables SSH support and optionally selects provider. One of ON, OFF, or a specific provider: libssh2 or exec. (Defaults to OFF.)")
34
+ set(USE_HTTPS "" CACHE STRING "Enable HTTPS support and optionally selects the provider. One of ON, OFF, or a specific provider: OpenSSL, OpenSSL-FIPS, OpenSSL-Dynamic, mbedTLS, SecureTransport, Schannel, or WinHTTP. (Defaults to ON.)")
35
+ set(USE_SHA1 "" CACHE STRING "Selects SHA1 provider. One of CollisionDetection, HTTPS, or a specific provider. (Defaults to CollisionDetection.)")
36
+ set(USE_SHA256 "" CACHE STRING "Selects SHA256 provider. One of Builtin, HTTPS, or a specific provider. (Defaults to HTTPS.)")
37
+ option(USE_GSSAPI "Enable SPNEGO authentication using GSSAPI" OFF)
38
+ set(USE_HTTP_PARSER "" CACHE STRING "Selects HTTP Parser support: http-parser, llhttp, or builtin. (Defaults to builtin.)")
39
+ # set(USE_XDIFF "" CACHE STRING "Specifies the xdiff implementation; either system or builtin.")
40
+ set(REGEX_BACKEND "" CACHE STRING "Selects regex provider. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
40
41
  option(USE_BUNDLED_ZLIB "Use the bundled version of zlib. Can be set to one of Bundled(ON)/Chromium. The Chromium option requires a x86_64 processor with SSE4.2 and CLMUL" OFF)
41
42
 
42
43
  # Debugging options
@@ -52,11 +53,18 @@ option(SONAME "Set the (SO)VERSION of the target"
52
53
  option(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
53
54
 
54
55
  # Compilation options
56
+ # Default to c99 on Android Studio for compatibility; c90 everywhere else
57
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
58
+ set(CMAKE_C_STANDARD "99" CACHE STRING "The C standard to compile against")
59
+ else()
60
+ set(CMAKE_C_STANDARD "90" CACHE STRING "The C standard to compile against")
61
+ endif()
62
+ option(CMAKE_C_EXTENSIONS "Whether compiler extensions are supported" OFF)
55
63
  option(ENABLE_WERROR "Enable compilation with -Werror" OFF)
56
64
 
57
65
  if(UNIX)
58
66
  # NTLM client requires crypto libraries from the system HTTPS stack
59
- if(NOT USE_HTTPS)
67
+ if(USE_HTTPS STREQUAL "OFF")
60
68
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF)
61
69
  else()
62
70
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." ON)
@@ -82,12 +90,6 @@ if(MSVC)
82
90
  option(WIN32_LEAKCHECK "Enable leak reporting via crtdbg" OFF)
83
91
  endif()
84
92
 
85
- if(WIN32)
86
- # By default, libgit2 is built with WinHTTP. To use the built-in
87
- # HTTP transport, invoke CMake with the "-DUSE_WINHTTP=OFF" argument.
88
- option(USE_WINHTTP "Use Win32 WinHTTP routines" ON)
89
- endif()
90
-
91
93
  if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
92
94
  set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE)
93
95
  endif()
@@ -95,11 +97,12 @@ endif()
95
97
 
96
98
  # Modules
97
99
 
100
+ include(FeatureSummary)
98
101
  include(CheckLibraryExists)
99
102
  include(CheckFunctionExists)
100
103
  include(CheckSymbolExists)
101
104
  include(CheckStructHasMember)
102
- include(CheckPrototypeDefinition)
105
+ include(CheckPrototypeDefinitionSafe)
103
106
  include(AddCFlagIfSupported)
104
107
  include(FindPkgLibraries)
105
108
  include(FindThreads)
@@ -107,7 +110,6 @@ include(FindStatNsec)
107
110
  include(Findfutimens)
108
111
  include(GNUInstallDirs)
109
112
  include(IdeSplitSources)
110
- include(FeatureSummary)
111
113
  include(EnableWarnings)
112
114
  include(DefaultCFlags)
113
115
  include(ExperimentalFeatures)
@@ -148,3 +150,9 @@ endif()
148
150
 
149
151
  feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
150
152
  feature_summary(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
153
+
154
+ # warn for not using sha1dc
155
+
156
+ foreach(WARNING ${WARNINGS})
157
+ message(WARNING ${WARNING})
158
+ endforeach()
@@ -365,7 +365,7 @@ Public License instead of this License.
365
365
 
366
366
  The bundled ZLib code is licensed under the ZLib license:
367
367
 
368
- Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
368
+ (C) 1995-2022 Jean-loup Gailly and Mark Adler
369
369
 
370
370
  This software is provided 'as-is', without any express or implied
371
371
  warranty. In no event will the authors be held liable for any damages
@@ -1214,3 +1214,197 @@ AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1214
1214
  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
1215
1215
  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1216
1216
  SUCH DAMAGE.
1217
+
1218
+ ----------------------------------------------------------------------
1219
+
1220
+ The bundled ntlmclient code is licensed under the MIT license:
1221
+
1222
+ Copyright (c) Edward Thomson. All rights reserved.
1223
+
1224
+ Permission is hereby granted, free of charge, to any person obtaining a
1225
+ copy of this software and associated documentation files (the "Software"),
1226
+ to deal in the Software without restriction, including without limitation
1227
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1228
+ and/or sell copies of the Software, and to permit persons to whom the
1229
+ Software is furnished to do so, subject to the following conditions:
1230
+
1231
+ The above copyright notice and this permission notice shall be included
1232
+ in all copies or substantial portions of the Software.
1233
+
1234
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1235
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1236
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1237
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1238
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1239
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1240
+ DEALINGS IN THE SOFTWARE.
1241
+
1242
+ ----------------------------------------------------------------------
1243
+
1244
+ Portions of this software derived from Team Explorer Everywhere:
1245
+
1246
+ Copyright (c) Microsoft Corporation
1247
+
1248
+ All rights reserved.
1249
+
1250
+ Permission is hereby granted, free of charge, to any person obtaining a
1251
+ copy of this software and associated documentation files (the "Software"),
1252
+ to deal in the Software without restriction, including without limitation
1253
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1254
+ and/or sell copies of the Software, and to permit persons to whom the
1255
+ Software is furnished to do so, subject to the following conditions:
1256
+
1257
+ The above copyright notice and this permission notice shall be included
1258
+ in all copies or substantial portions of the Software.
1259
+
1260
+ THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS
1261
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1262
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1263
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1264
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1265
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1266
+ OTHER DEALINGS IN THE SOFTWARE.
1267
+
1268
+ ---------------------------------------------------------------------------
1269
+
1270
+ Portions of this software derived from the LLVM Compiler Infrastructure:
1271
+
1272
+ Copyright (c) 2003-2016 University of Illinois at Urbana-Champaign.
1273
+ All rights reserved.
1274
+
1275
+ Developed by:
1276
+
1277
+ LLVM Team
1278
+
1279
+ University of Illinois at Urbana-Champaign
1280
+
1281
+ http://llvm.org
1282
+
1283
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
1284
+ this software and associated documentation files (the "Software"), to deal with
1285
+ the Software without restriction, including without limitation the rights to
1286
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1287
+ of the Software, and to permit persons to whom the Software is furnished to do
1288
+ so, subject to the following conditions:
1289
+
1290
+ * Redistributions of source code must retain the above copyright notice,
1291
+ this list of conditions and the following disclaimers.
1292
+
1293
+ * Redistributions in binary form must reproduce the above copyright notice,
1294
+ this list of conditions and the following disclaimers in the
1295
+ documentation and/or other materials provided with the distribution.
1296
+
1297
+ * Neither the names of the LLVM Team, University of Illinois at
1298
+ Urbana-Champaign, nor the names of its contributors may be used to
1299
+ endorse or promote products derived from this Software without specific
1300
+ prior written permission.
1301
+
1302
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1303
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1304
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1305
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1306
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1307
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
1308
+ SOFTWARE.
1309
+
1310
+ ---------------------------------------------------------------------------
1311
+
1312
+ Portions of this software derived from Unicode, Inc:
1313
+
1314
+ Copyright 2001-2004 Unicode, Inc.
1315
+
1316
+ Disclaimer
1317
+
1318
+ This source code is provided as is by Unicode, Inc. No claims are
1319
+ made as to fitness for any particular purpose. No warranties of any
1320
+ kind are expressed or implied. The recipient agrees to determine
1321
+ applicability of information provided. If this file has been
1322
+ purchased on magnetic or optical media from Unicode, Inc., the
1323
+ sole remedy for any claim will be exchange of defective media
1324
+ within 90 days of receipt.
1325
+
1326
+ Limitations on Rights to Redistribute This Code
1327
+
1328
+ Unicode, Inc. hereby grants the right to freely use the information
1329
+ supplied in this file in the creation of products supporting the
1330
+ Unicode Standard, and to make copies of this file in any form
1331
+ for internal or external distribution as long as this notice
1332
+ remains attached.
1333
+
1334
+ ---------------------------------------------------------------------------
1335
+
1336
+ Portions of this software derived from sheredom/utf8.h:
1337
+
1338
+ This is free and unencumbered software released into the public domain.
1339
+
1340
+ Anyone is free to copy, modify, publish, use, compile, sell, or
1341
+ distribute this software, either in source code form or as a compiled
1342
+ binary, for any purpose, commercial or non-commercial, and by any
1343
+ means.
1344
+
1345
+ In jurisdictions that recognize copyright laws, the author or authors
1346
+ of this software dedicate any and all copyright interest in the
1347
+ software to the public domain. We make this dedication for the benefit
1348
+ of the public at large and to the detriment of our heirs and
1349
+ successors. We intend this dedication to be an overt act of
1350
+ relinquishment in perpetuity of all present and future rights to this
1351
+ software under copyright law.
1352
+
1353
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1354
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1355
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1356
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
1357
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1358
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1359
+ OTHER DEALINGS IN THE SOFTWARE.
1360
+
1361
+ For more information, please refer to <http://unlicense.org/>
1362
+
1363
+ ---------------------------------------------------------------------------
1364
+
1365
+ Portions of this software derived from RFC 1320:
1366
+
1367
+ Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
1368
+
1369
+ License to copy and use this software is granted provided that it
1370
+ is identified as the "RSA Data Security, Inc. MD4 Message-Digest
1371
+ Algorithm" in all material mentioning or referencing this software
1372
+ or this function.
1373
+
1374
+ License is also granted to make and use derivative works provided
1375
+ that such works are identified as "derived from the RSA Data
1376
+ Security, Inc. MD4 Message-Digest Algorithm" in all material
1377
+ mentioning or referencing the derived work.
1378
+
1379
+ RSA Data Security, Inc. makes no representations concerning either
1380
+ the merchantability of this software or the suitability of this
1381
+ software for any particular purpose. It is provided "as is"
1382
+ without express or implied warranty of any kind.
1383
+
1384
+ These notices must be retained in any copies of any part of this
1385
+ documentation and/or software.
1386
+
1387
+ ----------------------------------------------------------------------
1388
+
1389
+ The bundled llhttp dependency is licensed under the MIT license:
1390
+
1391
+ Copyright Fedor Indutny, 2018.
1392
+
1393
+ Permission is hereby granted, free of charge, to any person obtaining a
1394
+ copy of this software and associated documentation files (the
1395
+ "Software"), to deal in the Software without restriction, including
1396
+ without limitation the rights to use, copy, modify, merge, publish,
1397
+ distribute, sublicense, and/or sell copies of the Software, and to permit
1398
+ persons to whom the Software is furnished to do so, subject to the
1399
+ following conditions:
1400
+
1401
+ The above copyright notice and this permission notice shall be included
1402
+ in all copies or substantial portions of the Software.
1403
+
1404
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1405
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1406
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
1407
+ NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
1408
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
1409
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
1410
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,16 @@
1
+ include(CheckPrototypeDefinition)
2
+
3
+ function(check_prototype_definition_safe function prototype return header variable)
4
+ # temporarily save CMAKE_C_FLAGS and disable warnings about unused
5
+ # unused functions and parameters, otherwise they will always fail
6
+ # if ENABLE_WERROR is on
7
+ set(SAVED_CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
8
+
9
+ disable_warnings(unused-function)
10
+ disable_warnings(unused-parameter)
11
+
12
+ check_prototype_definition("${function}" "${prototype}" "${return}" "${header}" "${variable}")
13
+
14
+ # restore CMAKE_C_FLAGS
15
+ set(CMAKE_C_FLAGS "${SAVED_CMAKE_C_FLAGS}")
16
+ endfunction()
@@ -15,6 +15,12 @@ find_path(ICONV_INCLUDE_DIR iconv.h)
15
15
  check_function_exists(iconv_open libc_has_iconv)
16
16
  find_library(iconv_lib NAMES iconv libiconv libiconv-2 c)
17
17
 
18
+ # workaround the iOS issue where iconv is provided by libc
19
+ # We set it to false to force it add -liconv to the linker flags
20
+ if(CMAKE_SYSTEM_NAME MATCHES "iOS")
21
+ set(libc_has_iconv FALSE)
22
+ endif()
23
+
18
24
  if(ICONV_INCLUDE_DIR AND libc_has_iconv)
19
25
  set(ICONV_FOUND TRUE)
20
26
  set(ICONV_LIBRARIES "")
@@ -0,0 +1,39 @@
1
+ # - Try to find llhttp
2
+ #
3
+ # Defines the following variables:
4
+ #
5
+ # LLHTTP_FOUND - system has llhttp
6
+ # LLHTTP_INCLUDE_DIR - the llhttp include directory
7
+ # LLHTTP_LIBRARIES - Link these to use llhttp
8
+ # LLHTTP_VERSION_MAJOR - major version
9
+ # LLHTTP_VERSION_MINOR - minor version
10
+ # LLHTTP_VERSION_STRING - the version of llhttp found
11
+
12
+ # Find the header and library
13
+ find_path(LLHTTP_INCLUDE_DIR NAMES llhttp.h)
14
+ find_library(LLHTTP_LIBRARY NAMES llhttp libllhttp)
15
+
16
+ # Found the header, read version
17
+ if(LLHTTP_INCLUDE_DIR AND EXISTS "${LLHTTP_INCLUDE_DIR}/llhttp.h")
18
+ file(READ "${LLHTTP_INCLUDE_DIR}/llhttp.h" LLHTTP_H)
19
+ if(LLHTTP_H)
20
+ string(REGEX REPLACE ".*#define[\t ]+LLHTTP_VERSION_MAJOR[\t ]+([0-9]+).*" "\\1" LLHTTP_VERSION_MAJOR "${LLHTTP_H}")
21
+ string(REGEX REPLACE ".*#define[\t ]+LLHTTP_VERSION_MINOR[\t ]+([0-9]+).*" "\\1" LLHTTP_VERSION_MINOR "${LLHTTP_H}")
22
+ set(LLHTTP_VERSION_STRING "${LLHTTP_VERSION_MAJOR}.${LLHTTP_VERSION_MINOR}")
23
+ endif()
24
+ unset(LLHTTP_H)
25
+ endif()
26
+
27
+ # Handle the QUIETLY and REQUIRED arguments and set LLHTTP_FOUND
28
+ # to TRUE if all listed variables are TRUE
29
+ include(FindPackageHandleStandardArgs)
30
+ find_package_handle_standard_args(LLHTTP REQUIRED_VARS LLHTTP_INCLUDE_DIR LLHTTP_LIBRARY)
31
+
32
+ # Hide advanced variables
33
+ mark_as_advanced(LLHTTP_INCLUDE_DIR LLHTTP_LIBRARY)
34
+
35
+ # Set standard variables
36
+ if(LLHTTP_FOUND)
37
+ set(LLHTTP_LIBRARIES ${LLHTTP_LIBRARY})
38
+ set(LLHTTP_INCLUDE_DIRS ${LLHTTP_INCLUDE_DIR})
39
+ endif()
@@ -2,7 +2,7 @@ include(SanitizeBool)
2
2
 
3
3
  # We try to find any packages our backends might use
4
4
  find_package(GSSAPI)
5
- if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
5
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
6
6
  include(FindGSSFramework)
7
7
  endif()
8
8
 
@@ -29,7 +29,7 @@ if(USE_GSSAPI)
29
29
  list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSFRAMEWORK_LIBRARIES})
30
30
 
31
31
  set(GIT_GSSFRAMEWORK 1)
32
- add_feature_info(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${USE_GSSAPI})")
32
+ add_feature_info(GSSAPI GIT_GSSFRAMEWORK "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
33
33
  elseif(USE_GSSAPI STREQUAL "gssapi")
34
34
  if(NOT GSSAPI_FOUND)
35
35
  message(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
@@ -38,11 +38,11 @@ if(USE_GSSAPI)
38
38
  list(APPEND LIBGIT2_SYSTEM_LIBS ${GSSAPI_LIBRARIES})
39
39
 
40
40
  set(GIT_GSSAPI 1)
41
- add_feature_info(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${USE_GSSAPI})")
41
+ add_feature_info(GSSAPI GIT_GSSAPI "GSSAPI support for SPNEGO authentication (${USE_GSSAPI})")
42
42
  else()
43
43
  message(FATAL_ERROR "Asked for backend ${USE_GSSAPI} but it wasn't found")
44
44
  endif()
45
45
  else()
46
46
  set(GIT_GSSAPI 0)
47
- add_feature_info(SPNEGO NO "SPNEGO authentication support")
47
+ add_feature_info(GSSAPI NO "GSSAPI support for SPNEGO authentication")
48
48
  endif()
@@ -1,19 +1,34 @@
1
1
  # Optional external dependency: http-parser
2
- if(USE_HTTP_PARSER STREQUAL "system")
3
- find_package(HTTPParser)
2
+ if(USE_HTTP_PARSER STREQUAL "http-parser" OR USE_HTTP_PARSER STREQUAL "system")
3
+ find_package(HTTP_Parser)
4
4
 
5
5
  if(HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
6
6
  list(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
7
7
  list(APPEND LIBGIT2_SYSTEM_LIBS ${HTTP_PARSER_LIBRARIES})
8
8
  list(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
9
- add_feature_info(http-parser ON "http-parser support (system)")
9
+ set(GIT_HTTPPARSER_HTTPPARSER 1)
10
+ add_feature_info(http-parser ON "using http-parser (system)")
10
11
  else()
11
12
  message(FATAL_ERROR "http-parser support was requested but not found")
12
13
  endif()
14
+ elseif(USE_HTTP_PARSER STREQUAL "llhttp")
15
+ find_package(LLHTTP)
16
+
17
+ if(LLHTTP_FOUND AND LLHTTP_VERSION_MAJOR EQUAL 9)
18
+ list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LLHTTP_INCLUDE_DIRS})
19
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${LLHTTP_LIBRARIES})
20
+ list(APPEND LIBGIT2_PC_LIBS "-lllhttp")
21
+ set(GIT_HTTPPARSER_LLHTTP 1)
22
+ add_feature_info(http-parser ON "using llhttp (system)")
23
+ else()
24
+ message(FATAL_ERROR "llhttp support was requested but not found")
25
+ endif()
26
+ elseif(USE_HTTP_PARSER STREQUAL "" OR USE_HTTP_PARSER STREQUAL "builtin")
27
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/llhttp" "${PROJECT_BINARY_DIR}/deps/llhttp")
28
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/llhttp")
29
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:llhttp>")
30
+ set(GIT_HTTPPARSER_BUILTIN 1)
31
+ add_feature_info(http-parser ON "using bundled parser")
13
32
  else()
14
- message(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
15
- add_subdirectory("${PROJECT_SOURCE_DIR}/deps/http-parser" "${PROJECT_BINARY_DIR}/deps/http-parser")
16
- list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/http-parser")
17
- list(APPEND LIBGIT2_DEPENDENCY_OBJECTS "$<TARGET_OBJECTS:http-parser>")
18
- add_feature_info(http-parser ON "http-parser support (bundled)")
33
+ message(FATAL_ERROR "unknown http-parser: ${USE_HTTP_PARSER}")
19
34
  endif()
@@ -3,14 +3,19 @@ include(SanitizeBool)
3
3
  # We try to find any packages our backends might use
4
4
  find_package(OpenSSL)
5
5
  find_package(mbedTLS)
6
- if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
6
+ if(CMAKE_SYSTEM_NAME MATCHES "Darwin" OR CMAKE_SYSTEM_NAME MATCHES "iOS")
7
7
  find_package(Security)
8
8
  find_package(CoreFoundation)
9
9
  endif()
10
10
 
11
+ if(USE_HTTPS STREQUAL "")
12
+ set(USE_HTTPS ON)
13
+ endif()
14
+
15
+ sanitizebool(USE_HTTPS)
16
+
11
17
  if(USE_HTTPS)
12
18
  # Auto-select TLS backend
13
- sanitizebool(USE_HTTPS)
14
19
  if(USE_HTTPS STREQUAL ON)
15
20
  if(SECURITY_FOUND)
16
21
  if(SECURITY_HAS_SSLCREATECONTEXT)
@@ -19,7 +24,7 @@ if(USE_HTTPS)
19
24
  message(STATUS "Security framework is too old, falling back to OpenSSL")
20
25
  set(USE_HTTPS "OpenSSL")
21
26
  endif()
22
- elseif(USE_WINHTTP)
27
+ elseif(WIN32)
23
28
  set(USE_HTTPS "WinHTTP")
24
29
  elseif(OPENSSL_FOUND)
25
30
  set(USE_HTTPS "OpenSSL")
@@ -55,6 +60,10 @@ if(USE_HTTPS)
55
60
  set(GIT_OPENSSL 1)
56
61
  list(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
57
62
  list(APPEND LIBGIT2_SYSTEM_LIBS ${OPENSSL_LIBRARIES})
63
+ # Static OpenSSL (lib crypto.a) requires libdl, include it explicitly
64
+ if(LINK_WITH_STATIC_LIBRARIES STREQUAL ON)
65
+ list(APPEND LIBGIT2_SYSTEM_LIBS ${CMAKE_DL_LIBS})
66
+ endif()
58
67
  list(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
59
68
  list(APPEND LIBGIT2_PC_REQUIRES "openssl")
60
69
  elseif(USE_HTTPS STREQUAL "mbedTLS")
@@ -106,19 +115,38 @@ if(USE_HTTPS)
106
115
  # https://github.com/ARMmbed/mbedtls/issues/228
107
116
  # For now, pass its link flags as our own
108
117
  list(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
118
+ elseif(USE_HTTPS STREQUAL "Schannel")
119
+ set(GIT_SCHANNEL 1)
120
+
121
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
122
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
109
123
  elseif(USE_HTTPS STREQUAL "WinHTTP")
110
- # WinHTTP setup was handled in the WinHTTP-specific block above
124
+ set(GIT_WINHTTP 1)
125
+
126
+ # Since MinGW does not come with headers or an import library for winhttp,
127
+ # we have to include a private header and generate our own import library
128
+ if(MINGW)
129
+ add_subdirectory("${PROJECT_SOURCE_DIR}/deps/winhttp" "${PROJECT_BINARY_DIR}/deps/winhttp")
130
+ list(APPEND LIBGIT2_SYSTEM_LIBS winhttp)
131
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${PROJECT_SOURCE_DIR}/deps/winhttp")
132
+ else()
133
+ list(APPEND LIBGIT2_SYSTEM_LIBS "winhttp")
134
+ list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
135
+ endif()
136
+
137
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
138
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
111
139
  elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
112
140
  set(GIT_OPENSSL 1)
113
141
  set(GIT_OPENSSL_DYNAMIC 1)
114
142
  list(APPEND LIBGIT2_SYSTEM_LIBS dl)
115
143
  else()
116
- message(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
144
+ message(FATAL_ERROR "unknown HTTPS backend: ${USE_HTTPS}")
117
145
  endif()
118
146
 
119
147
  set(GIT_HTTPS 1)
120
148
  add_feature_info(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
121
149
  else()
122
150
  set(GIT_HTTPS 0)
123
- add_feature_info(HTTPS NO "")
151
+ add_feature_info(HTTPS NO "HTTPS support is disabled")
124
152
  endif()