rugged 1.1.1 → 1.2.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 (277) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -0
  3. data/README.md +1 -1
  4. data/ext/rugged/rugged.c +7 -4
  5. data/ext/rugged/rugged_object.c +1 -1
  6. data/ext/rugged/rugged_repo.c +3 -3
  7. data/lib/rugged/repository.rb +2 -2
  8. data/lib/rugged/version.rb +1 -1
  9. data/vendor/libgit2/CMakeLists.txt +11 -6
  10. data/vendor/libgit2/COPYING +109 -1
  11. data/vendor/libgit2/cmake/Findfutimens.cmake +14 -0
  12. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +4 -0
  13. data/vendor/libgit2/cmake/SelectHashes.cmake +1 -0
  14. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +101 -0
  15. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +17 -5
  16. data/vendor/libgit2/deps/ntlmclient/crypt.h +14 -9
  17. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +20 -20
  18. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +3 -3
  19. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +37 -36
  20. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +4 -3
  21. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +178 -51
  22. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +74 -5
  23. data/vendor/libgit2/deps/ntlmclient/ntlm.c +150 -118
  24. data/vendor/libgit2/deps/ntlmclient/ntlm.h +13 -9
  25. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +16 -3
  26. data/vendor/libgit2/deps/ntlmclient/unicode.h +10 -4
  27. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +16 -27
  28. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.h +20 -0
  29. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +28 -52
  30. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.h +22 -0
  31. data/vendor/libgit2/include/git2/attr.h +89 -0
  32. data/vendor/libgit2/include/git2/blame.h +93 -42
  33. data/vendor/libgit2/include/git2/blob.h +14 -2
  34. data/vendor/libgit2/include/git2/branch.h +25 -0
  35. data/vendor/libgit2/include/git2/cert.h +42 -5
  36. data/vendor/libgit2/include/git2/checkout.h +28 -12
  37. data/vendor/libgit2/include/git2/commit.h +35 -19
  38. data/vendor/libgit2/include/git2/common.h +14 -4
  39. data/vendor/libgit2/include/git2/deprecated.h +206 -6
  40. data/vendor/libgit2/include/git2/diff.h +34 -19
  41. data/vendor/libgit2/include/git2/errors.h +6 -6
  42. data/vendor/libgit2/include/git2/filter.h +57 -17
  43. data/vendor/libgit2/include/git2/graph.h +20 -2
  44. data/vendor/libgit2/include/git2/index.h +2 -2
  45. data/vendor/libgit2/include/git2/odb.h +29 -0
  46. data/vendor/libgit2/include/git2/patch.h +8 -0
  47. data/vendor/libgit2/include/git2/rebase.h +25 -1
  48. data/vendor/libgit2/include/git2/refs.h +6 -2
  49. data/vendor/libgit2/include/git2/remote.h +59 -6
  50. data/vendor/libgit2/include/git2/revparse.h +5 -5
  51. data/vendor/libgit2/include/git2/status.h +115 -59
  52. data/vendor/libgit2/include/git2/submodule.h +9 -0
  53. data/vendor/libgit2/include/git2/sys/commit_graph.h +174 -0
  54. data/vendor/libgit2/include/git2/sys/filter.h +49 -28
  55. data/vendor/libgit2/include/git2/sys/midx.h +74 -0
  56. data/vendor/libgit2/include/git2/sys/odb_backend.h +7 -0
  57. data/vendor/libgit2/include/git2/sys/transport.h +1 -0
  58. data/vendor/libgit2/include/git2/tag.h +12 -0
  59. data/vendor/libgit2/include/git2/tree.h +0 -14
  60. data/vendor/libgit2/include/git2/types.h +9 -0
  61. data/vendor/libgit2/include/git2/version.h +4 -4
  62. data/vendor/libgit2/include/git2/worktree.h +1 -0
  63. data/vendor/libgit2/src/CMakeLists.txt +25 -4
  64. data/vendor/libgit2/src/alloc.c +21 -8
  65. data/vendor/libgit2/src/allocators/failalloc.c +92 -0
  66. data/vendor/libgit2/src/allocators/failalloc.h +23 -0
  67. data/vendor/libgit2/src/allocators/stdalloc.c +41 -10
  68. data/vendor/libgit2/src/allocators/win32_leakcheck.c +118 -0
  69. data/vendor/libgit2/src/allocators/{win32_crtdbg.h → win32_leakcheck.h} +3 -3
  70. data/vendor/libgit2/src/annotated_commit.c +21 -9
  71. data/vendor/libgit2/src/apply.c +16 -7
  72. data/vendor/libgit2/src/array.h +11 -11
  73. data/vendor/libgit2/src/attr.c +181 -74
  74. data/vendor/libgit2/src/attr_file.c +84 -39
  75. data/vendor/libgit2/src/attr_file.h +32 -11
  76. data/vendor/libgit2/src/attrcache.c +42 -37
  77. data/vendor/libgit2/src/attrcache.h +4 -5
  78. data/vendor/libgit2/src/blame.c +11 -5
  79. data/vendor/libgit2/src/blob.c +35 -24
  80. data/vendor/libgit2/src/branch.c +69 -17
  81. data/vendor/libgit2/src/buffer.c +334 -25
  82. data/vendor/libgit2/src/buffer.h +153 -2
  83. data/vendor/libgit2/src/cache.c +2 -2
  84. data/vendor/libgit2/src/cache.h +7 -7
  85. data/vendor/libgit2/src/cc-compat.h +10 -2
  86. data/vendor/libgit2/src/checkout.c +48 -26
  87. data/vendor/libgit2/src/cherrypick.c +6 -2
  88. data/vendor/libgit2/src/clone.c +41 -47
  89. data/vendor/libgit2/src/commit.c +41 -28
  90. data/vendor/libgit2/src/commit_graph.c +1209 -0
  91. data/vendor/libgit2/src/commit_graph.h +162 -0
  92. data/vendor/libgit2/src/commit_list.c +46 -0
  93. data/vendor/libgit2/src/commit_list.h +2 -0
  94. data/vendor/libgit2/src/common.h +25 -2
  95. data/vendor/libgit2/src/config.c +37 -15
  96. data/vendor/libgit2/src/config_cache.c +5 -3
  97. data/vendor/libgit2/src/config_file.c +16 -8
  98. data/vendor/libgit2/src/config_parse.c +4 -6
  99. data/vendor/libgit2/src/crlf.c +16 -6
  100. data/vendor/libgit2/src/date.c +4 -3
  101. data/vendor/libgit2/src/delta.c +1 -1
  102. data/vendor/libgit2/src/describe.c +6 -3
  103. data/vendor/libgit2/src/diff.c +11 -8
  104. data/vendor/libgit2/src/diff_driver.c +21 -17
  105. data/vendor/libgit2/src/diff_file.c +2 -6
  106. data/vendor/libgit2/src/diff_generate.c +46 -17
  107. data/vendor/libgit2/src/diff_print.c +19 -6
  108. data/vendor/libgit2/src/diff_stats.c +7 -5
  109. data/vendor/libgit2/src/diff_tform.c +9 -8
  110. data/vendor/libgit2/src/diff_xdiff.c +4 -2
  111. data/vendor/libgit2/src/diff_xdiff.h +1 -1
  112. data/vendor/libgit2/src/errors.c +24 -19
  113. data/vendor/libgit2/src/features.h.in +5 -1
  114. data/vendor/libgit2/src/fetch.c +5 -2
  115. data/vendor/libgit2/src/fetchhead.c +8 -4
  116. data/vendor/libgit2/src/filebuf.c +9 -7
  117. data/vendor/libgit2/src/filter.c +206 -110
  118. data/vendor/libgit2/src/filter.h +24 -5
  119. data/vendor/libgit2/src/futils.c +5 -5
  120. data/vendor/libgit2/src/futils.h +1 -1
  121. data/vendor/libgit2/src/graph.c +64 -9
  122. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +3 -3
  123. data/vendor/libgit2/src/hash/sha1/common_crypto.c +3 -3
  124. data/vendor/libgit2/src/hash/sha1/generic.h +1 -1
  125. data/vendor/libgit2/src/hash/sha1/mbedtls.c +12 -12
  126. data/vendor/libgit2/src/hash/sha1/openssl.c +3 -3
  127. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +0 -2
  128. data/vendor/libgit2/src/hash/sha1/win32.c +15 -11
  129. data/vendor/libgit2/src/hash.c +16 -13
  130. data/vendor/libgit2/src/hash.h +1 -1
  131. data/vendor/libgit2/src/hashsig.c +23 -10
  132. data/vendor/libgit2/src/ident.c +13 -3
  133. data/vendor/libgit2/src/ignore.c +35 -19
  134. data/vendor/libgit2/src/index.c +106 -70
  135. data/vendor/libgit2/src/index.h +1 -1
  136. data/vendor/libgit2/src/indexer.c +31 -29
  137. data/vendor/libgit2/src/integer.h +64 -2
  138. data/vendor/libgit2/src/iterator.c +36 -24
  139. data/vendor/libgit2/src/iterator.h +1 -1
  140. data/vendor/libgit2/src/khash.h +2 -11
  141. data/vendor/libgit2/src/{settings.c → libgit2.c} +117 -50
  142. data/vendor/libgit2/src/libgit2.h +15 -0
  143. data/vendor/libgit2/src/mailmap.c +23 -10
  144. data/vendor/libgit2/src/map.h +3 -3
  145. data/vendor/libgit2/src/merge.c +70 -30
  146. data/vendor/libgit2/src/merge.h +2 -1
  147. data/vendor/libgit2/src/merge_driver.c +19 -13
  148. data/vendor/libgit2/src/merge_file.c +11 -3
  149. data/vendor/libgit2/src/message.c +3 -1
  150. data/vendor/libgit2/src/midx.c +471 -10
  151. data/vendor/libgit2/src/midx.h +28 -1
  152. data/vendor/libgit2/src/mwindow.c +103 -59
  153. data/vendor/libgit2/src/mwindow.h +3 -3
  154. data/vendor/libgit2/src/net.c +127 -3
  155. data/vendor/libgit2/src/net.h +16 -2
  156. data/vendor/libgit2/src/netops.c +6 -4
  157. data/vendor/libgit2/src/netops.h +2 -2
  158. data/vendor/libgit2/src/notes.c +10 -10
  159. data/vendor/libgit2/src/object.c +22 -14
  160. data/vendor/libgit2/src/odb.c +285 -48
  161. data/vendor/libgit2/src/odb.h +16 -2
  162. data/vendor/libgit2/src/odb_loose.c +28 -18
  163. data/vendor/libgit2/src/odb_mempack.c +1 -1
  164. data/vendor/libgit2/src/odb_pack.c +391 -114
  165. data/vendor/libgit2/src/oid.c +5 -4
  166. data/vendor/libgit2/src/pack-objects.c +54 -48
  167. data/vendor/libgit2/src/pack.c +329 -119
  168. data/vendor/libgit2/src/pack.h +25 -7
  169. data/vendor/libgit2/src/patch.c +14 -7
  170. data/vendor/libgit2/src/patch_generate.c +2 -2
  171. data/vendor/libgit2/src/patch_parse.c +2 -1
  172. data/vendor/libgit2/src/path.c +98 -53
  173. data/vendor/libgit2/src/path.h +79 -6
  174. data/vendor/libgit2/src/pathspec.c +8 -8
  175. data/vendor/libgit2/src/pool.c +13 -7
  176. data/vendor/libgit2/src/posix.c +11 -3
  177. data/vendor/libgit2/src/reader.c +10 -6
  178. data/vendor/libgit2/src/rebase.c +93 -49
  179. data/vendor/libgit2/src/refdb.c +30 -13
  180. data/vendor/libgit2/src/refdb_fs.c +121 -69
  181. data/vendor/libgit2/src/reflog.c +19 -14
  182. data/vendor/libgit2/src/refs.c +76 -41
  183. data/vendor/libgit2/src/refspec.c +32 -12
  184. data/vendor/libgit2/src/remote.c +272 -102
  185. data/vendor/libgit2/src/remote.h +2 -1
  186. data/vendor/libgit2/src/repository.c +176 -103
  187. data/vendor/libgit2/src/repository.h +12 -1
  188. data/vendor/libgit2/src/reset.c +7 -6
  189. data/vendor/libgit2/src/revert.c +6 -2
  190. data/vendor/libgit2/src/revparse.c +14 -9
  191. data/vendor/libgit2/src/revwalk.c +32 -15
  192. data/vendor/libgit2/src/runtime.c +162 -0
  193. data/vendor/libgit2/src/runtime.h +62 -0
  194. data/vendor/libgit2/src/settings.h +11 -0
  195. data/vendor/libgit2/src/signature.c +6 -5
  196. data/vendor/libgit2/src/sortedcache.h +10 -8
  197. data/vendor/libgit2/src/stash.c +3 -1
  198. data/vendor/libgit2/src/status.c +7 -4
  199. data/vendor/libgit2/src/strarray.c +2 -1
  200. data/vendor/libgit2/src/streams/mbedtls.c +14 -17
  201. data/vendor/libgit2/src/streams/mbedtls.h +1 -1
  202. data/vendor/libgit2/src/streams/openssl.c +101 -201
  203. data/vendor/libgit2/src/streams/openssl.h +9 -1
  204. data/vendor/libgit2/src/streams/openssl_dynamic.c +309 -0
  205. data/vendor/libgit2/src/streams/openssl_dynamic.h +348 -0
  206. data/vendor/libgit2/src/streams/openssl_legacy.c +203 -0
  207. data/vendor/libgit2/src/streams/openssl_legacy.h +63 -0
  208. data/vendor/libgit2/src/streams/registry.c +5 -6
  209. data/vendor/libgit2/src/streams/socket.c +6 -2
  210. data/vendor/libgit2/src/streams/stransport.c +6 -3
  211. data/vendor/libgit2/src/streams/tls.c +5 -3
  212. data/vendor/libgit2/src/submodule.c +128 -62
  213. data/vendor/libgit2/src/submodule.h +9 -9
  214. data/vendor/libgit2/src/sysdir.c +4 -6
  215. data/vendor/libgit2/src/tag.c +47 -11
  216. data/vendor/libgit2/src/thread.c +140 -0
  217. data/vendor/libgit2/src/thread.h +479 -0
  218. data/vendor/libgit2/src/threadstate.c +83 -0
  219. data/vendor/libgit2/src/threadstate.h +24 -0
  220. data/vendor/libgit2/src/trace.c +2 -2
  221. data/vendor/libgit2/src/trace.h +17 -13
  222. data/vendor/libgit2/src/transaction.c +19 -8
  223. data/vendor/libgit2/src/transport.c +3 -3
  224. data/vendor/libgit2/src/transports/auth.c +1 -1
  225. data/vendor/libgit2/src/transports/auth_negotiate.c +11 -4
  226. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -6
  227. data/vendor/libgit2/src/transports/credential.c +15 -7
  228. data/vendor/libgit2/src/transports/git.c +1 -3
  229. data/vendor/libgit2/src/transports/http.c +19 -17
  230. data/vendor/libgit2/src/transports/http.h +1 -0
  231. data/vendor/libgit2/src/transports/httpclient.c +53 -26
  232. data/vendor/libgit2/src/transports/httpclient.h +1 -1
  233. data/vendor/libgit2/src/transports/local.c +3 -3
  234. data/vendor/libgit2/src/transports/smart.c +12 -7
  235. data/vendor/libgit2/src/transports/smart.h +1 -1
  236. data/vendor/libgit2/src/transports/smart_protocol.c +11 -5
  237. data/vendor/libgit2/src/transports/ssh.c +51 -17
  238. data/vendor/libgit2/src/transports/winhttp.c +41 -31
  239. data/vendor/libgit2/src/tree.c +100 -77
  240. data/vendor/libgit2/src/tree.h +1 -0
  241. data/vendor/libgit2/src/tsort.c +0 -2
  242. data/vendor/libgit2/src/unix/map.c +3 -1
  243. data/vendor/libgit2/src/unix/pthread.h +2 -1
  244. data/vendor/libgit2/src/utf8.c +150 -0
  245. data/vendor/libgit2/src/utf8.h +52 -0
  246. data/vendor/libgit2/src/util.c +53 -129
  247. data/vendor/libgit2/src/util.h +33 -39
  248. data/vendor/libgit2/src/vector.c +23 -19
  249. data/vendor/libgit2/src/vector.h +4 -2
  250. data/vendor/libgit2/src/win32/findfile.c +4 -2
  251. data/vendor/libgit2/src/win32/map.c +1 -1
  252. data/vendor/libgit2/src/win32/msvc-compat.h +9 -1
  253. data/vendor/libgit2/src/win32/path_w32.c +22 -24
  254. data/vendor/libgit2/src/win32/path_w32.h +0 -1
  255. data/vendor/libgit2/src/win32/posix_w32.c +7 -1
  256. data/vendor/libgit2/src/win32/precompiled.h +0 -1
  257. data/vendor/libgit2/src/win32/reparse.h +4 -4
  258. data/vendor/libgit2/src/win32/thread.c +24 -15
  259. data/vendor/libgit2/src/win32/thread.h +1 -1
  260. data/vendor/libgit2/src/win32/w32_buffer.c +3 -3
  261. data/vendor/libgit2/src/win32/w32_common.h +18 -9
  262. data/vendor/libgit2/src/win32/{w32_crtdbg_stacktrace.c → w32_leakcheck.c} +269 -33
  263. data/vendor/libgit2/src/win32/w32_leakcheck.h +222 -0
  264. data/vendor/libgit2/src/win32/w32_util.h +6 -6
  265. data/vendor/libgit2/src/worktree.c +27 -16
  266. data/vendor/libgit2/src/zstream.c +1 -1
  267. metadata +32 -16
  268. data/vendor/libgit2/src/allocators/win32_crtdbg.c +0 -118
  269. data/vendor/libgit2/src/buf_text.c +0 -316
  270. data/vendor/libgit2/src/buf_text.h +0 -122
  271. data/vendor/libgit2/src/global.c +0 -363
  272. data/vendor/libgit2/src/global.h +0 -41
  273. data/vendor/libgit2/src/thread-utils.c +0 -58
  274. data/vendor/libgit2/src/thread-utils.h +0 -369
  275. data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -127
  276. data/vendor/libgit2/src/win32/w32_stack.c +0 -188
  277. data/vendor/libgit2/src/win32/w32_stack.h +0 -140
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3a1ceba88401d9f47e851b97baaa27f2604baa0bb47ee81a4616e238c0706867
4
- data.tar.gz: 514e432c6e411dfe4e185e5cfcd831c5110cf7a1da819390de46045b01446ea3
3
+ metadata.gz: 19936f56e898dca579bf9fcf65f00269b370f258cacf7ca8bd5078a87adc4671
4
+ data.tar.gz: 401815655a41971104e0a4f798c9558caf435810b30f26057b3685f597e1252a
5
5
  SHA512:
6
- metadata.gz: cb345a0ed8a223c30f86e0878b098d9e88b9d2b096bdb67b3b3fb9c82be6c8b9dd5677224f50b1d765032386eaa3926b331864af5b754bc175cd9a268fd939da
7
- data.tar.gz: 959b9bb61ab95c6f250a605984846577f74a1b33a9165ca1daa7641f8f1b507f239d5b17bfb4de01180c81eb1e7d3ff3ba5aa6aa40740cb0788753040e5d887d
6
+ metadata.gz: 1f2c4a448530f16527106b68698d8515680c6bd5bb2e2cccd06ce3abffdae089f8b9a230adc89ce25866c13279ede19a4bb7ba0319f5afc05062e8bcb6046bce
7
+ data.tar.gz: faad75d0f246a51902dec3f8805fd91dce80add042e737b1bf6df437e41988987e1f88cd9296e798fbba3f94d246e2592895b28d484a63b5b507417a0605d147
data/LICENSE CHANGED
@@ -1,6 +1,7 @@
1
1
  The MIT License
2
2
 
3
3
  Copyright (c) 2016 GitHub, Inc
4
+ Copyright (c) Rugged Contributors
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -577,7 +577,7 @@ You can store bare repositories in alternative backends instead of storing on di
577
577
  `redbadger/rugged-redis` for an example of how a rugged backend works).
578
578
 
579
579
  ```ruby
580
- a_backend = Rugged::InMemory::Backend.new(opt1: 'setting', opt2: 'setting')
580
+ a_backend = MyProject::CustomObjectDB(opt1: 'setting', opt2: 'setting')
581
581
 
582
582
  repo = Rugged::Repository.init_at('repo_name', :bare, backend: a_backend)
583
583
 
data/ext/rugged/rugged.c CHANGED
@@ -220,15 +220,18 @@ static VALUE rb_git_prettify_message(int argc, VALUE *argv, VALUE self)
220
220
  return result;
221
221
  }
222
222
 
223
- static VALUE minimize_cb(VALUE rb_oid, git_oid_shorten *shortener)
223
+ static VALUE minimize_cb(RB_BLOCK_CALL_FUNC_ARGLIST(rb_oid, shorten))
224
224
  {
225
+ git_oid_shorten *shortener = (git_oid_shorten*) shorten;
226
+
225
227
  Check_Type(rb_oid, T_STRING);
226
228
  git_oid_shorten_add(shortener, RSTRING_PTR(rb_oid));
227
229
  return Qnil;
228
230
  }
229
231
 
230
- static VALUE minimize_yield(VALUE rb_oid, VALUE *data)
232
+ static VALUE minimize_yield(RB_BLOCK_CALL_FUNC_ARGLIST(rb_oid, args))
231
233
  {
234
+ VALUE *data = (VALUE*) args;
232
235
  rb_funcall(data[0], rb_intern("call"), 1,
233
236
  rb_str_substr(rb_oid, 0, FIX2INT(data[1])));
234
237
  return Qnil;
@@ -293,7 +296,7 @@ static VALUE rb_git_minimize_oid(int argc, VALUE *argv, VALUE self)
293
296
 
294
297
  shrt = git_oid_shorten_new(minlen);
295
298
 
296
- rb_iterate(rb_each, rb_enum, &minimize_cb, (VALUE)shrt);
299
+ rb_block_call(rb_enum, rb_intern("each"), 0, NULL, minimize_cb, (VALUE)shrt);
297
300
  length = git_oid_shorten_add(shrt, NULL);
298
301
 
299
302
  git_oid_shorten_free(shrt);
@@ -305,7 +308,7 @@ static VALUE rb_git_minimize_oid(int argc, VALUE *argv, VALUE self)
305
308
  yield_data[0] = rb_block;
306
309
  yield_data[1] = INT2FIX(length);
307
310
 
308
- rb_iterate(rb_each, rb_enum, &minimize_yield, (VALUE)yield_data);
311
+ rb_block_call(rb_enum, rb_intern("each"), 0, NULL, minimize_yield, (VALUE)yield_data);
309
312
  return Qnil;
310
313
  }
311
314
 
@@ -400,7 +400,7 @@ static VALUE rb_git_object_read_raw(VALUE self)
400
400
 
401
401
  void Init_rugged_object(void)
402
402
  {
403
- rb_cRuggedObject = rb_define_class_under(rb_mRugged, "Object", rb_cData);
403
+ rb_cRuggedObject = rb_define_class_under(rb_mRugged, "Object", rb_cObject);
404
404
  rb_define_singleton_method(rb_cRuggedObject, "lookup", rb_git_object_lookup, 2);
405
405
  rb_define_singleton_method(rb_cRuggedObject, "rev_parse", rb_git_object_rev_parse, 2);
406
406
  rb_define_singleton_method(rb_cRuggedObject, "rev_parse_oid", rb_git_object_rev_parse_oid, 2);
@@ -1460,8 +1460,8 @@ static VALUE rb_git_repo_is_shallow(VALUE self)
1460
1460
  * call-seq:
1461
1461
  * repo.empty? -> true or false
1462
1462
  *
1463
- * Return whether a repository is empty or not. An empty repository has just
1464
- * been initialized and has no commits yet.
1463
+ * Return whether a repository is empty or not. An empty repository has HEAD
1464
+ * pointing to the default value and there are no other references.
1465
1465
  */
1466
1466
  static VALUE rb_git_repo_is_empty(VALUE self)
1467
1467
  {
@@ -2845,7 +2845,7 @@ void Init_rugged_repo(void)
2845
2845
  rb_define_method(rb_cRuggedRepo, "cherrypick_commit", rb_git_repo_cherrypick_commit, -1);
2846
2846
  rb_define_method(rb_cRuggedRepo, "fetch_attributes", rb_git_repo_attributes, -1);
2847
2847
 
2848
- rb_cRuggedOdbObject = rb_define_class_under(rb_mRugged, "OdbObject", rb_cData);
2848
+ rb_cRuggedOdbObject = rb_define_class_under(rb_mRugged, "OdbObject", rb_cObject);
2849
2849
  rb_define_method(rb_cRuggedOdbObject, "data", rb_git_odbobj_data, 0);
2850
2850
  rb_define_method(rb_cRuggedOdbObject, "len", rb_git_odbobj_size, 0);
2851
2851
  rb_define_method(rb_cRuggedOdbObject, "type", rb_git_odbobj_type, 0);
@@ -263,12 +263,12 @@ module Rugged
263
263
  #
264
264
  # Returns a hash containing the pushed refspecs as keys and
265
265
  # any error messages or +nil+ as values.
266
- def push(remote_or_url, *args)
266
+ def push(remote_or_url, *args, **kwargs)
267
267
  unless remote_or_url.kind_of? Remote
268
268
  remote_or_url = remotes[remote_or_url] || remotes.create_anonymous(remote_or_url)
269
269
  end
270
270
 
271
- remote_or_url.push(*args)
271
+ remote_or_url.push(*args, **kwargs)
272
272
  end
273
273
  end
274
274
  end
@@ -4,5 +4,5 @@
4
4
  # For full terms see the included LICENSE file.
5
5
 
6
6
  module Rugged
7
- Version = VERSION = '1.1.1'
7
+ Version = VERSION = '1.2.0'
8
8
  end
@@ -13,7 +13,7 @@
13
13
 
14
14
  CMAKE_MINIMUM_REQUIRED(VERSION 3.5.1)
15
15
 
16
- project(libgit2 VERSION "1.1.1" LANGUAGES C)
16
+ project(libgit2 VERSION "1.2.0" LANGUAGES C)
17
17
 
18
18
  # Add find modules to the path
19
19
  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${libgit2_SOURCE_DIR}/cmake/")
@@ -27,6 +27,7 @@ INCLUDE(AddCFlagIfSupported)
27
27
  INCLUDE(FindPkgLibraries)
28
28
  INCLUDE(FindThreads)
29
29
  INCLUDE(FindStatNsec)
30
+ INCLUDE(Findfutimens)
30
31
  INCLUDE(GNUInstallDirs)
31
32
  INCLUDE(IdeSplitSources)
32
33
  INCLUDE(FeatureSummary)
@@ -49,8 +50,10 @@ OPTION(USE_GSSAPI "Link with libgssapi for SPNEGO auth" OFF)
49
50
  OPTION(USE_STANDALONE_FUZZERS "Enable standalone fuzzers (compatible with gcc)" OFF)
50
51
  OPTION(USE_LEAK_CHECKER "Run tests with leak checker" OFF)
51
52
  OPTION(DEBUG_POOL "Enable debug pool allocator" OFF)
53
+ OPTION(DEBUG_STRICT_ALLOC "Enable strict allocator behavior" OFF)
54
+ OPTION(DEBUG_STRICT_OPEN "Enable path validation in open" OFF)
52
55
  OPTION(ENABLE_WERROR "Enable compilation with -Werror" OFF)
53
- OPTION(USE_BUNDLED_ZLIB "Use the bundled version of zlib" OFF)
56
+ 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)
54
57
  SET(USE_HTTP_PARSER "" CACHE STRING "Specifies the HTTP Parser implementation; either system or builtin.")
55
58
  OPTION(DEPRECATE_HARD "Do not include deprecated functions in the library" OFF)
56
59
  SET(REGEX_BACKEND "" CACHE STRING "Regular expression implementation. One of regcomp_l, pcre2, pcre, regcomp, or builtin.")
@@ -89,8 +92,8 @@ IF(WIN32)
89
92
  ENDIF()
90
93
 
91
94
  IF(MSVC)
92
- # Enable MSVC CRTDBG memory leak reporting when in debug mode.
93
- OPTION(MSVC_CRTDBG "Enable CRTDBG memory leak reporting" OFF)
95
+ # Enable leak checking using the debugging C runtime.
96
+ OPTION(WIN32_LEAKCHECK "Enable leak reporting via crtdbg" OFF)
94
97
  ENDIF()
95
98
 
96
99
  IF (DEPRECATE_HARD)
@@ -129,8 +132,8 @@ IF (MSVC)
129
132
  SET(CRT_FLAG_RELEASE "/MD")
130
133
  ENDIF()
131
134
 
132
- IF (MSVC_CRTDBG)
133
- SET(GIT_MSVC_CRTDBG 1)
135
+ IF (WIN32_LEAKCHECK)
136
+ SET(GIT_WIN32_LEAKCHECK 1)
134
137
  SET(CRT_FLAG_DEBUG "${CRT_FLAG_DEBUG}")
135
138
  SET(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} Dbghelp.lib")
136
139
  ENDIF()
@@ -231,6 +234,8 @@ ELSE ()
231
234
  enable_warnings(unused-const-variable)
232
235
  enable_warnings(unused-function)
233
236
  enable_warnings(int-conversion)
237
+ enable_warnings(c11-extensions)
238
+ enable_warnings(c99-c11-compat)
234
239
 
235
240
  # MinGW uses gcc, which expects POSIX formatting for printf, but
236
241
  # uses the Windows C library, which uses its own format specifiers.
@@ -420,7 +420,7 @@ The GNU C Library is free software; you can redistribute it and/or
420
420
  modify it under the terms of the GNU Lesser General Public
421
421
  License as published by the Free Software Foundation; either
422
422
  version 2.1 of the License, or (at your option) any later version.
423
-
423
+
424
424
  The GNU C Library is distributed in the hope that it will be useful,
425
425
  but WITHOUT ANY WARRANTY; without even the implied warranty of
426
426
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -1019,3 +1019,111 @@ following restrictions are are met:
1019
1019
  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
1020
1020
  WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
1021
1021
  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
1022
+
1023
+ ----------------------------------------------------------------------
1024
+
1025
+ Portions of the OpenSSL headers are included under the OpenSSL license:
1026
+
1027
+ Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
1028
+ All rights reserved.
1029
+
1030
+ This package is an SSL implementation written
1031
+ by Eric Young (eay@cryptsoft.com).
1032
+ The implementation was written so as to conform with Netscapes SSL.
1033
+
1034
+ This library is free for commercial and non-commercial use as long as
1035
+ the following conditions are aheared to. The following conditions
1036
+ apply to all code found in this distribution, be it the RC4, RSA,
1037
+ lhash, DES, etc., code; not just the SSL code. The SSL documentation
1038
+ included with this distribution is covered by the same copyright terms
1039
+ except that the holder is Tim Hudson (tjh@cryptsoft.com).
1040
+
1041
+ Copyright remains Eric Young's, and as such any Copyright notices in
1042
+ the code are not to be removed.
1043
+ If this package is used in a product, Eric Young should be given attribution
1044
+ as the author of the parts of the library used.
1045
+ This can be in the form of a textual message at program startup or
1046
+ in documentation (online or textual) provided with the package.
1047
+
1048
+ Redistribution and use in source and binary forms, with or without
1049
+ modification, are permitted provided that the following conditions
1050
+ are met:
1051
+ 1. Redistributions of source code must retain the copyright
1052
+ notice, this list of conditions and the following disclaimer.
1053
+ 2. Redistributions in binary form must reproduce the above copyright
1054
+ notice, this list of conditions and the following disclaimer in the
1055
+ documentation and/or other materials provided with the distribution.
1056
+ 3. All advertising materials mentioning features or use of this software
1057
+ must display the following acknowledgement:
1058
+ "This product includes cryptographic software written by
1059
+ Eric Young (eay@cryptsoft.com)"
1060
+ The word 'cryptographic' can be left out if the rouines from the library
1061
+ being used are not cryptographic related :-).
1062
+ 4. If you include any Windows specific code (or a derivative thereof) from
1063
+ the apps directory (application code) you must include an acknowledgement:
1064
+ "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
1065
+
1066
+ THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
1067
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1068
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1069
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1070
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1071
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1072
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1073
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1074
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1075
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1076
+ SUCH DAMAGE.
1077
+
1078
+ The licence and distribution terms for any publically available version or
1079
+ derivative of this code cannot be changed. i.e. this code cannot simply be
1080
+ copied and put under another distribution licence
1081
+ [including the GNU Public Licence.]
1082
+
1083
+ ====================================================================
1084
+ Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
1085
+
1086
+ Redistribution and use in source and binary forms, with or without
1087
+ modification, are permitted provided that the following conditions
1088
+ are met:
1089
+
1090
+ 1. Redistributions of source code must retain the above copyright
1091
+ notice, this list of conditions and the following disclaimer.
1092
+
1093
+ 2. Redistributions in binary form must reproduce the above copyright
1094
+ notice, this list of conditions and the following disclaimer in
1095
+ the documentation and/or other materials provided with the
1096
+ distribution.
1097
+
1098
+ 3. All advertising materials mentioning features or use of this
1099
+ software must display the following acknowledgment:
1100
+ "This product includes software developed by the OpenSSL Project
1101
+ for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
1102
+
1103
+ 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
1104
+ endorse or promote products derived from this software without
1105
+ prior written permission. For written permission, please contact
1106
+ openssl-core@openssl.org.
1107
+
1108
+ 5. Products derived from this software may not be called "OpenSSL"
1109
+ nor may "OpenSSL" appear in their names without prior written
1110
+ permission of the OpenSSL Project.
1111
+
1112
+ 6. Redistributions of any form whatsoever must retain the following
1113
+ acknowledgment:
1114
+ "This product includes software developed by the OpenSSL Project
1115
+ for use in the OpenSSL Toolkit (http://www.openssl.org/)"
1116
+
1117
+ THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
1118
+ EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1119
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
1120
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
1121
+ ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1122
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
1123
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
1124
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1125
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1126
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1127
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
1128
+ OF THE POSSIBILITY OF SUCH DAMAGE.
1129
+
@@ -0,0 +1,14 @@
1
+ INCLUDE(EnableWarnings)
2
+
3
+ IF (APPLE)
4
+ # We cannot simply CHECK_FUNCTION_EXISTS on macOS because
5
+ # MACOSX_DEPLOYMENT_TARGET may be set to a version in the past
6
+ # that doesn't have futimens. Instead we need to enable warnings
7
+ # as errors, then check for the symbol existing in `sys/stat.h`,
8
+ # then reset warnings as errors.
9
+ ENABLE_WARNINGS(error)
10
+ CHECK_SYMBOL_EXISTS(futimens sys/stat.h HAVE_FUTIMENS)
11
+ DISABLE_WARNINGS(error)
12
+ ELSE ()
13
+ CHECK_FUNCTION_EXISTS(futimens HAVE_FUTIMENS)
14
+ ENDIF ()
@@ -108,6 +108,10 @@ IF(USE_HTTPS)
108
108
  LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
109
109
  ELSEIF (USE_HTTPS STREQUAL "WinHTTP")
110
110
  # WinHTTP setup was handled in the WinHTTP-specific block above
111
+ ELSEIF (USE_HTTPS STREQUAL "OpenSSL-Dynamic")
112
+ SET(GIT_OPENSSL 1)
113
+ SET(GIT_OPENSSL_DYNAMIC 1)
114
+ LIST(APPEND LIBGIT2_LIBS dl)
111
115
  ELSE()
112
116
  MESSAGE(FATAL_ERROR "Asked for backend ${USE_HTTPS} but it wasn't found")
113
117
  ENDIF()
@@ -56,6 +56,7 @@ ELSE()
56
56
  MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${USE_SHA1}")
57
57
  ENDIF()
58
58
 
59
+ list(APPEND SRC_SHA1 "hash/sha1.h")
59
60
  list(SORT SRC_SHA1)
60
61
 
61
62
  ADD_FEATURE_INFO(SHA ON "using ${USE_SHA1}")
@@ -0,0 +1,101 @@
1
+ # CMake build script for the bundled Chromium zlib implementation. So far, it
2
+ # is only supported for x86_64 processors with CLMUL, SSE3, SSE4.2.
3
+ #
4
+ # TODO: The Chromium build file (in deps/chromium-zlib/zlib/BUILD.gn) supports
5
+ # more platforms (like ARM with NEON), more can be enabled as needed.
6
+
7
+ CMAKE_MINIMUM_REQUIRED(VERSION 3.11)
8
+
9
+ include(FetchContent)
10
+ include(FindGit)
11
+
12
+ # Ensure that the git binary is present to download the sources.
13
+ find_package(Git)
14
+ IF(NOT Git_FOUND)
15
+ message(FATAL_ERROR "git is required to download the Chromium zlib sources")
16
+ ENDIF()
17
+
18
+ FetchContent_Populate(chromium_zlib_src
19
+ GIT_REPOSITORY https://chromium.googlesource.com/chromium/src/third_party/zlib.git
20
+ GIT_TAG 2c183c9f93a328bfb3121284da13cf89a0f7e64a
21
+ QUIET
22
+ )
23
+
24
+ # The Chromium build globally disables some warnings.
25
+ disable_warnings(implicit-fallthrough)
26
+ disable_warnings(unused-function)
27
+ disable_warnings(unused-parameter)
28
+ disable_warnings(sign-compare)
29
+ disable_warnings(declaration-after-statement)
30
+ disable_warnings(missing-declarations)
31
+
32
+ # -O3 is also set by the Chromium configuration and has been deemed safe enough
33
+ # for them.
34
+ SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g -DNDEBUG")
35
+ SET(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
36
+
37
+ # Common definitions.
38
+ add_definitions(
39
+ -DSTDC
40
+ -DNO_GZIP
41
+ -DZLIB_IMPLEMENTATION
42
+ )
43
+ list(APPEND SRC_ZLIB
44
+ "${chromium_zlib_src_SOURCE_DIR}/adler32.c"
45
+ "${chromium_zlib_src_SOURCE_DIR}/chromeconf.h"
46
+ "${chromium_zlib_src_SOURCE_DIR}/compress.c"
47
+ "${chromium_zlib_src_SOURCE_DIR}/contrib/optimizations/insert_string.h"
48
+ "${chromium_zlib_src_SOURCE_DIR}/cpu_features.c"
49
+ "${chromium_zlib_src_SOURCE_DIR}/cpu_features.h"
50
+ "${chromium_zlib_src_SOURCE_DIR}/crc32.c"
51
+ "${chromium_zlib_src_SOURCE_DIR}/crc32.h"
52
+ "${chromium_zlib_src_SOURCE_DIR}/deflate.c"
53
+ "${chromium_zlib_src_SOURCE_DIR}/deflate.h"
54
+ "${chromium_zlib_src_SOURCE_DIR}/gzclose.c"
55
+ "${chromium_zlib_src_SOURCE_DIR}/gzguts.h"
56
+ "${chromium_zlib_src_SOURCE_DIR}/gzlib.c"
57
+ "${chromium_zlib_src_SOURCE_DIR}/gzread.c"
58
+ "${chromium_zlib_src_SOURCE_DIR}/gzwrite.c"
59
+ "${chromium_zlib_src_SOURCE_DIR}/infback.c"
60
+ "${chromium_zlib_src_SOURCE_DIR}/inffast.c"
61
+ "${chromium_zlib_src_SOURCE_DIR}/inffast.h"
62
+ "${chromium_zlib_src_SOURCE_DIR}/inffixed.h"
63
+ "${chromium_zlib_src_SOURCE_DIR}/inflate.h"
64
+ "${chromium_zlib_src_SOURCE_DIR}/inftrees.c"
65
+ "${chromium_zlib_src_SOURCE_DIR}/inftrees.h"
66
+ "${chromium_zlib_src_SOURCE_DIR}/trees.c"
67
+ "${chromium_zlib_src_SOURCE_DIR}/trees.h"
68
+ "${chromium_zlib_src_SOURCE_DIR}/uncompr.c"
69
+ "${chromium_zlib_src_SOURCE_DIR}/zconf.h"
70
+ "${chromium_zlib_src_SOURCE_DIR}/zlib.h"
71
+ "${chromium_zlib_src_SOURCE_DIR}/zutil.c"
72
+ "${chromium_zlib_src_SOURCE_DIR}/zutil.h"
73
+ )
74
+
75
+ # x86_64-specific optimizations
76
+ string(APPEND CMAKE_C_FLAGS " -mssse3 -msse4.2 -mpclmul")
77
+ add_definitions(
78
+ -DCHROMIUM_ZLIB_NO_CHROMECONF
79
+ -DX86_NOT_WINDOWS
80
+ -DADLER32_SIMD_SSSE3
81
+ -DCRC32_SIMD_SSE42_PCLMUL
82
+ -DDEFLATE_FILL_WINDOW_SSE2
83
+ -DINFLATE_CHUNK_READ_64LE
84
+ -DINFLATE_CHUNK_SIMD_SSE2
85
+ )
86
+ list(APPEND SRC_ZLIB
87
+ "${chromium_zlib_src_SOURCE_DIR}/adler32_simd.c"
88
+ "${chromium_zlib_src_SOURCE_DIR}/adler32_simd.h"
89
+ "${chromium_zlib_src_SOURCE_DIR}/contrib/optimizations/chunkcopy.h"
90
+ "${chromium_zlib_src_SOURCE_DIR}/contrib/optimizations/inffast_chunk.c"
91
+ "${chromium_zlib_src_SOURCE_DIR}/contrib/optimizations/inffast_chunk.h"
92
+ "${chromium_zlib_src_SOURCE_DIR}/contrib/optimizations/inflate.c"
93
+ "${chromium_zlib_src_SOURCE_DIR}/crc32_simd.c"
94
+ "${chromium_zlib_src_SOURCE_DIR}/crc32_simd.h"
95
+ "${chromium_zlib_src_SOURCE_DIR}/crc_folding.c"
96
+ "${chromium_zlib_src_SOURCE_DIR}/fill_window_sse.c"
97
+ )
98
+
99
+ list(SORT SRC_ZLIB)
100
+ include_directories("${chromium_zlib_src_SOURCE_DIR}")
101
+ add_library(chromium_zlib OBJECT ${SRC_ZLIB})
@@ -1,25 +1,37 @@
1
- FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "unicode_builtin.c" "util.c")
1
+ FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "ntlm.h" "util.c" "util.h")
2
2
  LIST(SORT SRC_NTLMCLIENT)
3
3
 
4
4
  ADD_DEFINITIONS(-DNTLM_STATIC=1)
5
5
 
6
6
  DISABLE_WARNINGS(implicit-fallthrough)
7
7
 
8
+ IF(USE_ICONV)
9
+ ADD_DEFINITIONS(-DUNICODE_ICONV=1)
10
+ FILE(GLOB SRC_NTLMCLIENT_UNICODE "unicode_iconv.c" "unicode_iconv.h")
11
+ ELSE()
12
+ ADD_DEFINITIONS(-DUNICODE_BUILTIN=1)
13
+ FILE(GLOB SRC_NTLMCLIENT_UNICODE "unicode_builtin.c" "unicode_builtin.h")
14
+ ENDIF()
15
+
8
16
  IF(USE_HTTPS STREQUAL "SecureTransport")
9
17
  ADD_DEFINITIONS(-DCRYPT_COMMONCRYPTO)
10
- SET(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c")
18
+ SET(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c" "crypt_commoncrypto.h")
11
19
  # CC_MD4 has been deprecated in macOS 10.15.
12
20
  SET_SOURCE_FILES_PROPERTIES("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
13
21
  ELSEIF(USE_HTTPS STREQUAL "OpenSSL")
14
22
  ADD_DEFINITIONS(-DCRYPT_OPENSSL)
15
23
  INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
16
- SET(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c")
24
+ SET(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
25
+ ELSEIF(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
26
+ ADD_DEFINITIONS(-DCRYPT_OPENSSL)
27
+ ADD_DEFINITIONS(-DCRYPT_OPENSSL_DYNAMIC)
28
+ SET(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
17
29
  ELSEIF(USE_HTTPS STREQUAL "mbedTLS")
18
30
  ADD_DEFINITIONS(-DCRYPT_MBEDTLS)
19
31
  INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR})
20
- SET(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c")
32
+ SET(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c" "crypt_mbedtls.h")
21
33
  ELSE()
22
34
  MESSAGE(FATAL_ERROR "Unable to use libgit2's HTTPS backend (${USE_HTTPS}) for NTLM crypto")
23
35
  ENDIF()
24
36
 
25
- ADD_LIBRARY(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_CRYPTO})
37
+ ADD_LIBRARY(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_UNICODE} ${SRC_NTLMCLIENT_CRYPTO})