rugged 1.7.2 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e52f4ad4181dc205f02222873f94b720bf504850d199a0266b5e2309c2fcc02e
4
- data.tar.gz: bc6cd28bf7dccb27fbad7131c18db7b0bd6dc79086142b8e6a7f57e531b6f95b
3
+ metadata.gz: 35b9bacf8b8490fe35d015f3a47ba27bfa63105f4e6657c2fdb77f99181e378b
4
+ data.tar.gz: 5d229542f5c4f156bd0b4c5add9730314e7a003c923d712d415731efe85d9a49
5
5
  SHA512:
6
- metadata.gz: 32f007d7b11acca4cd14b91006bbdb1370dc9731721652187177cb88076dcc9aed1bcde971bbea194a5d11e5ecb3443571441a7ed6fea9b23e36dde285da2143
7
- data.tar.gz: 5801750e777d898f87299aef557c92710b73cd929aca77aec5fcacb822147f8faa59a223f65cf8f7e71adc17a328b513d83294980f83c77b80fa34e30499e9e5
6
+ metadata.gz: 3af4216e9c917c87757c9c387a01a10d2173e00a3f9b834eb8a429c252fafc32a0a211f905ea74168bb8c46e6c95434b1eaa50c41feba3388ddfd7446ac9e162
7
+ data.tar.gz: 61c7da1b73112564d53e78a61de842de5d12a93515317d52e0b22c95f5e9312ca2aef3443eeb0e482dcf4208a86b60f9f831cf525948b49031ac7af28f6b2557
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '1.7.2'
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.7.2" 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,14 +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.")
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
39
  # set(USE_XDIFF "" CACHE STRING "Specifies the xdiff implementation; either system or builtin.")
40
- set(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
40
+ set(REGEX_BACKEND "" CACHE STRING "Selects regex provider. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
41
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)
42
42
 
43
43
  # Debugging options
@@ -53,11 +53,18 @@ option(SONAME "Set the (SO)VERSION of the target"
53
53
  option(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
54
54
 
55
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)
56
63
  option(ENABLE_WERROR "Enable compilation with -Werror" OFF)
57
64
 
58
65
  if(UNIX)
59
66
  # NTLM client requires crypto libraries from the system HTTPS stack
60
- if(NOT USE_HTTPS)
67
+ if(USE_HTTPS STREQUAL "OFF")
61
68
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." OFF)
62
69
  else()
63
70
  option(USE_NTLMCLIENT "Enable NTLM support on Unix." ON)
@@ -90,6 +97,7 @@ endif()
90
97
 
91
98
  # Modules
92
99
 
100
+ include(FeatureSummary)
93
101
  include(CheckLibraryExists)
94
102
  include(CheckFunctionExists)
95
103
  include(CheckSymbolExists)
@@ -102,7 +110,6 @@ include(FindStatNsec)
102
110
  include(Findfutimens)
103
111
  include(GNUInstallDirs)
104
112
  include(IdeSplitSources)
105
- include(FeatureSummary)
106
113
  include(EnableWarnings)
107
114
  include(DefaultCFlags)
108
115
  include(ExperimentalFeatures)
@@ -143,3 +150,9 @@ endif()
143
150
 
144
151
  feature_summary(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
145
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.
@@ -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
 
@@ -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)
@@ -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")
@@ -109,8 +118,8 @@ if(USE_HTTPS)
109
118
  elseif(USE_HTTPS STREQUAL "Schannel")
110
119
  set(GIT_SCHANNEL 1)
111
120
 
112
- list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
113
- list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
121
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
122
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
114
123
  elseif(USE_HTTPS STREQUAL "WinHTTP")
115
124
  set(GIT_WINHTTP 1)
116
125
 
@@ -125,19 +134,19 @@ if(USE_HTTPS)
125
134
  list(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
126
135
  endif()
127
136
 
128
- list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32" "secur32")
129
- list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32" "-lsecur32")
137
+ list(APPEND LIBGIT2_SYSTEM_LIBS "rpcrt4" "crypt32" "ole32")
138
+ list(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
130
139
  elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
131
140
  set(GIT_OPENSSL 1)
132
141
  set(GIT_OPENSSL_DYNAMIC 1)
133
142
  list(APPEND LIBGIT2_SYSTEM_LIBS dl)
134
143
  else()
135
- message(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
144
+ message(FATAL_ERROR "unknown HTTPS backend: ${USE_HTTPS}")
136
145
  endif()
137
146
 
138
147
  set(GIT_HTTPS 1)
139
148
  add_feature_info(HTTPS GIT_HTTPS "using ${USE_HTTPS}")
140
149
  else()
141
150
  set(GIT_HTTPS 0)
142
- add_feature_info(HTTPS NO "")
151
+ add_feature_info(HTTPS NO "HTTPS support is disabled")
143
152
  endif()
@@ -2,13 +2,12 @@
2
2
 
3
3
  include(SanitizeBool)
4
4
 
5
- # USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF
6
5
  sanitizebool(USE_SHA1)
7
6
  sanitizebool(USE_SHA256)
8
7
 
9
8
  # sha1
10
9
 
11
- if(USE_SHA1 STREQUAL ON)
10
+ if(USE_SHA1 STREQUAL "" OR USE_SHA1 STREQUAL ON)
12
11
  SET(USE_SHA1 "CollisionDetection")
13
12
  elseif(USE_SHA1 STREQUAL "HTTPS")
14
13
  if(USE_HTTPS STREQUAL "SecureTransport")
@@ -20,7 +19,7 @@ elseif(USE_SHA1 STREQUAL "HTTPS")
20
19
  elseif(USE_HTTPS)
21
20
  set(USE_SHA1 ${USE_HTTPS})
22
21
  else()
23
- set(USE_SHA1 "CollisionDetection")
22
+ message(FATAL_ERROR "asked for HTTPS SHA1 backend but HTTPS is not enabled")
24
23
  endif()
25
24
  endif()
26
25
 
@@ -28,6 +27,8 @@ if(USE_SHA1 STREQUAL "CollisionDetection")
28
27
  set(GIT_SHA1_COLLISIONDETECT 1)
29
28
  elseif(USE_SHA1 STREQUAL "OpenSSL")
30
29
  set(GIT_SHA1_OPENSSL 1)
30
+ elseif(USE_SHA1 STREQUAL "OpenSSL-FIPS")
31
+ set(GIT_SHA1_OPENSSL_FIPS 1)
31
32
  elseif(USE_SHA1 STREQUAL "OpenSSL-Dynamic")
32
33
  set(GIT_SHA1_OPENSSL 1)
33
34
  set(GIT_SHA1_OPENSSL_DYNAMIC 1)
@@ -39,15 +40,21 @@ elseif(USE_SHA1 STREQUAL "mbedTLS")
39
40
  elseif(USE_SHA1 STREQUAL "Win32")
40
41
  set(GIT_SHA1_WIN32 1)
41
42
  else()
42
- message(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
43
+ message(FATAL_ERROR "asked for unknown SHA1 backend: ${USE_SHA1}")
43
44
  endif()
44
45
 
45
46
  # sha256
46
47
 
47
- if(USE_SHA256 STREQUAL ON AND USE_HTTPS)
48
- SET(USE_SHA256 "HTTPS")
49
- elseif(USE_SHA256 STREQUAL ON)
50
- SET(USE_SHA256 "Builtin")
48
+ if(USE_SHA256 STREQUAL "" OR USE_SHA256 STREQUAL ON)
49
+ if(USE_HTTPS)
50
+ SET(USE_SHA256 "HTTPS")
51
+ else()
52
+ SET(USE_SHA256 "builtin")
53
+ endif()
54
+ endif()
55
+
56
+ if(USE_SHA256 STREQUAL "Builtin")
57
+ set(USE_SHA256 "builtin")
51
58
  endif()
52
59
 
53
60
  if(USE_SHA256 STREQUAL "HTTPS")
@@ -62,10 +69,12 @@ if(USE_SHA256 STREQUAL "HTTPS")
62
69
  endif()
63
70
  endif()
64
71
 
65
- if(USE_SHA256 STREQUAL "Builtin")
72
+ if(USE_SHA256 STREQUAL "builtin")
66
73
  set(GIT_SHA256_BUILTIN 1)
67
74
  elseif(USE_SHA256 STREQUAL "OpenSSL")
68
75
  set(GIT_SHA256_OPENSSL 1)
76
+ elseif(USE_SHA256 STREQUAL "OpenSSL-FIPS")
77
+ set(GIT_SHA256_OPENSSL_FIPS 1)
69
78
  elseif(USE_SHA256 STREQUAL "OpenSSL-Dynamic")
70
79
  set(GIT_SHA256_OPENSSL 1)
71
80
  set(GIT_SHA256_OPENSSL_DYNAMIC 1)
@@ -77,11 +86,12 @@ elseif(USE_SHA256 STREQUAL "mbedTLS")
77
86
  elseif(USE_SHA256 STREQUAL "Win32")
78
87
  set(GIT_SHA256_WIN32 1)
79
88
  else()
80
- message(FATAL_ERROR "Asked for unknown SHA256 backend: ${USE_SHA256}")
89
+ message(FATAL_ERROR "asked for unknown SHA256 backend: ${USE_SHA256}")
81
90
  endif()
82
91
 
83
92
  # add library requirements
84
- if(USE_SHA1 STREQUAL "OpenSSL" OR USE_SHA256 STREQUAL "OpenSSL")
93
+ if(USE_SHA1 STREQUAL "OpenSSL" OR USE_SHA256 STREQUAL "OpenSSL" OR
94
+ USE_SHA1 STREQUAL "OpenSSL-FIPS" OR USE_SHA256 STREQUAL "OpenSSL-FIPS")
85
95
  if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
86
96
  list(APPEND LIBGIT2_PC_LIBS "-lssl")
87
97
  else()
@@ -102,3 +112,10 @@ endif()
102
112
 
103
113
  add_feature_info(SHA1 ON "using ${USE_SHA1}")
104
114
  add_feature_info(SHA256 ON "using ${USE_SHA256}")
115
+
116
+ # warn for users who do not use sha1dc
117
+
118
+ if(NOT "${USE_SHA1}" STREQUAL "CollisionDetection")
119
+ list(APPEND WARNINGS "SHA1 support is set to ${USE_SHA1} which is not recommended - git's hash algorithm is sha1dc, it is *not* SHA1. Using SHA1 may leave you and your users susceptible to SHAttered-style attacks.")
120
+ set(WARNINGS ${WARNINGS} PARENT_SCOPE)
121
+ endif()
@@ -5,7 +5,12 @@ if(REGEX_BACKEND STREQUAL "")
5
5
  check_symbol_exists(regcomp_l "regex.h;xlocale.h" HAVE_REGCOMP_L)
6
6
 
7
7
  if(HAVE_REGCOMP_L)
8
- set(REGEX_BACKEND "regcomp_l")
8
+ # 'regcomp_l' has been explicitly marked unavailable on iOS_SDK
9
+ if(CMAKE_SYSTEM_NAME MATCHES "iOS")
10
+ set(REGEX_BACKEND "regcomp")
11
+ else()
12
+ set(REGEX_BACKEND "regcomp_l")
13
+ endif()
9
14
  elseif(PCRE_FOUND)
10
15
  set(REGEX_BACKEND "pcre")
11
16
  else()
@@ -1,6 +1,11 @@
1
- # Optional external dependency: libssh2
2
- if(USE_SSH)
1
+ if(USE_SSH STREQUAL "exec")
2
+ set(GIT_SSH 1)
3
+ set(GIT_SSH_EXEC 1)
4
+
5
+ add_feature_info(SSH ON "using OpenSSH exec support")
6
+ elseif(USE_SSH STREQUAL ON OR USE_SSH STREQUAL "libssh2")
3
7
  find_pkglibraries(LIBSSH2 libssh2)
8
+
4
9
  if(NOT LIBSSH2_FOUND)
5
10
  find_package(LibSSH2)
6
11
  set(LIBSSH2_INCLUDE_DIRS ${LIBSSH2_INCLUDE_DIR})
@@ -12,30 +17,30 @@ if(USE_SSH)
12
17
  if(NOT LIBSSH2_FOUND)
13
18
  message(FATAL_ERROR "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
14
19
  endif()
15
- endif()
16
20
 
17
- if(LIBSSH2_FOUND)
18
- set(GIT_SSH 1)
19
21
  list(APPEND LIBGIT2_SYSTEM_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
20
22
  list(APPEND LIBGIT2_SYSTEM_LIBS ${LIBSSH2_LIBRARIES})
21
23
  list(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS})
22
24
 
23
25
  check_library_exists("${LIBSSH2_LIBRARIES}" libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS}" HAVE_LIBSSH2_MEMORY_CREDENTIALS)
24
26
  if(HAVE_LIBSSH2_MEMORY_CREDENTIALS)
25
- set(GIT_SSH_MEMORY_CREDENTIALS 1)
27
+ set(GIT_SSH_LIBSSH2_MEMORY_CREDENTIALS 1)
26
28
  endif()
27
- else()
28
- message(STATUS "LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.")
29
- endif()
30
29
 
31
- if(WIN32 AND EMBED_SSH_PATH)
32
- file(GLOB SSH_SRC "${EMBED_SSH_PATH}/src/*.c")
33
- list(SORT SSH_SRC)
34
- list(APPEND LIBGIT2_DEPENDENCY_OBJECTS ${SSH_SRC})
30
+ if(WIN32 AND EMBED_SSH_PATH)
31
+ file(GLOB SSH_SRC "${EMBED_SSH_PATH}/src/*.c")
32
+ list(SORT SSH_SRC)
33
+ list(APPEND LIBGIT2_DEPENDENCY_OBJECTS ${SSH_SRC})
34
+
35
+ list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${EMBED_SSH_PATH}/include")
36
+ file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
37
+ endif()
35
38
 
36
- list(APPEND LIBGIT2_DEPENDENCY_INCLUDES "${EMBED_SSH_PATH}/include")
37
- file(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
38
39
  set(GIT_SSH 1)
40
+ set(GIT_SSH_LIBSSH2 1)
41
+ add_feature_info(SSH ON "using libssh2")
42
+ elseif(USE_SSH STREQUAL OFF OR USE_SSH STREQUAL "")
43
+ add_feature_info(SSH OFF "SSH transport support")
44
+ else()
45
+ message(FATAL_ERROR "unknown SSH option: ${USE_HTTP_PARSER}")
39
46
  endif()
40
-
41
- add_feature_info(SSH GIT_SSH "SSH transport support")