rugged 1.3.1 → 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 (656) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +34 -2
  3. data/ext/rugged/extconf.rb +6 -3
  4. data/ext/rugged/rugged.c +16 -0
  5. data/ext/rugged/rugged.h +4 -0
  6. data/ext/rugged/rugged_allocator.c +0 -54
  7. data/ext/rugged/rugged_blame.c +2 -0
  8. data/ext/rugged/rugged_blob.c +3 -0
  9. data/ext/rugged/rugged_commit.c +1 -0
  10. data/ext/rugged/rugged_config.c +9 -2
  11. data/ext/rugged/rugged_diff.c +1 -0
  12. data/ext/rugged/rugged_index.c +2 -0
  13. data/ext/rugged/rugged_patch.c +1 -0
  14. data/ext/rugged/rugged_rebase.c +1 -0
  15. data/ext/rugged/rugged_reference.c +1 -0
  16. data/ext/rugged/rugged_remote.c +28 -10
  17. data/ext/rugged/rugged_repo.c +7 -9
  18. data/ext/rugged/rugged_revwalk.c +5 -1
  19. data/ext/rugged/rugged_settings.c +5 -0
  20. data/ext/rugged/rugged_submodule.c +1 -0
  21. data/ext/rugged/rugged_tag.c +1 -0
  22. data/ext/rugged/rugged_tree.c +4 -0
  23. data/lib/rugged/index.rb +1 -1
  24. data/lib/rugged/tree.rb +5 -1
  25. data/lib/rugged/version.rb +1 -1
  26. data/vendor/libgit2/AUTHORS +1 -0
  27. data/vendor/libgit2/CMakeLists.txt +141 -289
  28. data/vendor/libgit2/COPYING +301 -20
  29. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  30. data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
  31. data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
  32. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  33. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  34. data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
  35. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  36. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  37. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  38. data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
  39. data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
  40. data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
  41. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  42. data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
  43. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  44. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  45. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  46. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  47. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  48. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  49. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  50. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  51. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  52. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  53. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
  54. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
  55. data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
  56. data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
  57. data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
  58. data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
  59. data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
  60. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  61. data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
  62. data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
  63. data/vendor/libgit2/deps/llhttp/api.c +510 -0
  64. data/vendor/libgit2/deps/llhttp/http.c +170 -0
  65. data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
  66. data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
  67. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
  68. data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
  69. data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
  70. data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
  71. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
  72. data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
  73. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  74. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  75. data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
  76. data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
  77. data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
  78. data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
  79. data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
  80. data/vendor/libgit2/deps/pcre/LICENCE +5 -5
  81. data/vendor/libgit2/deps/pcre/pcre.h +2 -2
  82. data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
  83. data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
  84. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  85. data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
  86. data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
  87. data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
  88. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
  89. data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
  90. data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
  91. data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
  92. data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
  93. data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
  94. data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
  95. data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
  96. data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
  97. data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
  98. data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
  99. data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
  100. data/vendor/libgit2/deps/zlib/LICENSE +22 -0
  101. data/vendor/libgit2/deps/zlib/adler32.c +7 -22
  102. data/vendor/libgit2/deps/zlib/crc32.c +931 -317
  103. data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
  104. data/vendor/libgit2/deps/zlib/deflate.c +428 -453
  105. data/vendor/libgit2/deps/zlib/deflate.h +51 -23
  106. data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
  107. data/vendor/libgit2/deps/zlib/infback.c +19 -31
  108. data/vendor/libgit2/deps/zlib/inffast.c +15 -18
  109. data/vendor/libgit2/deps/zlib/inffast.h +1 -1
  110. data/vendor/libgit2/deps/zlib/inflate.c +75 -110
  111. data/vendor/libgit2/deps/zlib/inflate.h +3 -2
  112. data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
  113. data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
  114. data/vendor/libgit2/deps/zlib/trees.c +294 -380
  115. data/vendor/libgit2/deps/zlib/zconf.h +23 -14
  116. data/vendor/libgit2/deps/zlib/zlib.h +310 -284
  117. data/vendor/libgit2/deps/zlib/zutil.c +20 -46
  118. data/vendor/libgit2/deps/zlib/zutil.h +24 -41
  119. data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
  120. data/vendor/libgit2/include/git2/apply.h +43 -8
  121. data/vendor/libgit2/include/git2/attr.h +28 -6
  122. data/vendor/libgit2/include/git2/blame.h +137 -29
  123. data/vendor/libgit2/include/git2/blob.h +85 -29
  124. data/vendor/libgit2/include/git2/branch.h +25 -16
  125. data/vendor/libgit2/include/git2/buffer.h +24 -82
  126. data/vendor/libgit2/include/git2/cert.h +4 -3
  127. data/vendor/libgit2/include/git2/checkout.h +88 -34
  128. data/vendor/libgit2/include/git2/cherrypick.h +10 -3
  129. data/vendor/libgit2/include/git2/clone.h +28 -12
  130. data/vendor/libgit2/include/git2/commit.h +134 -3
  131. data/vendor/libgit2/include/git2/common.h +172 -59
  132. data/vendor/libgit2/include/git2/config.h +118 -32
  133. data/vendor/libgit2/include/git2/credential.h +32 -3
  134. data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
  135. data/vendor/libgit2/include/git2/deprecated.h +141 -3
  136. data/vendor/libgit2/include/git2/describe.h +20 -3
  137. data/vendor/libgit2/include/git2/diff.h +95 -19
  138. data/vendor/libgit2/include/git2/email.h +10 -30
  139. data/vendor/libgit2/include/git2/errors.h +51 -61
  140. data/vendor/libgit2/include/git2/experimental.h +20 -0
  141. data/vendor/libgit2/include/git2/filter.h +21 -9
  142. data/vendor/libgit2/include/git2/global.h +8 -1
  143. data/vendor/libgit2/include/git2/graph.h +4 -2
  144. data/vendor/libgit2/include/git2/ignore.h +11 -1
  145. data/vendor/libgit2/include/git2/index.h +111 -11
  146. data/vendor/libgit2/include/git2/indexer.h +67 -2
  147. data/vendor/libgit2/include/git2/mailmap.h +7 -1
  148. data/vendor/libgit2/include/git2/merge.h +70 -5
  149. data/vendor/libgit2/include/git2/message.h +4 -2
  150. data/vendor/libgit2/include/git2/net.h +3 -1
  151. data/vendor/libgit2/include/git2/notes.h +9 -6
  152. data/vendor/libgit2/include/git2/object.h +57 -7
  153. data/vendor/libgit2/include/git2/odb.h +156 -33
  154. data/vendor/libgit2/include/git2/odb_backend.h +132 -16
  155. data/vendor/libgit2/include/git2/oid.h +116 -17
  156. data/vendor/libgit2/include/git2/oidarray.h +7 -1
  157. data/vendor/libgit2/include/git2/pack.h +37 -9
  158. data/vendor/libgit2/include/git2/patch.h +10 -3
  159. data/vendor/libgit2/include/git2/pathspec.h +10 -1
  160. data/vendor/libgit2/include/git2/proxy.h +11 -1
  161. data/vendor/libgit2/include/git2/rebase.h +18 -7
  162. data/vendor/libgit2/include/git2/refdb.h +5 -2
  163. data/vendor/libgit2/include/git2/reflog.h +4 -3
  164. data/vendor/libgit2/include/git2/refs.h +11 -8
  165. data/vendor/libgit2/include/git2/refspec.h +14 -4
  166. data/vendor/libgit2/include/git2/remote.h +295 -54
  167. data/vendor/libgit2/include/git2/repository.h +95 -25
  168. data/vendor/libgit2/include/git2/reset.h +18 -5
  169. data/vendor/libgit2/include/git2/revert.h +9 -4
  170. data/vendor/libgit2/include/git2/revparse.h +4 -4
  171. data/vendor/libgit2/include/git2/revwalk.h +7 -3
  172. data/vendor/libgit2/include/git2/signature.h +47 -2
  173. data/vendor/libgit2/include/git2/stash.h +78 -10
  174. data/vendor/libgit2/include/git2/status.h +24 -11
  175. data/vendor/libgit2/include/git2/stdint.h +87 -85
  176. data/vendor/libgit2/include/git2/strarray.h +2 -16
  177. data/vendor/libgit2/include/git2/submodule.h +27 -11
  178. data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
  179. data/vendor/libgit2/include/git2/sys/commit.h +77 -3
  180. data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
  181. data/vendor/libgit2/include/git2/sys/config.h +80 -4
  182. data/vendor/libgit2/include/git2/sys/credential.h +4 -3
  183. data/vendor/libgit2/include/git2/sys/diff.h +21 -1
  184. data/vendor/libgit2/include/git2/sys/email.h +7 -0
  185. data/vendor/libgit2/include/git2/sys/errors.h +76 -0
  186. data/vendor/libgit2/include/git2/sys/filter.h +66 -3
  187. data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
  188. data/vendor/libgit2/include/git2/sys/index.h +3 -2
  189. data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
  190. data/vendor/libgit2/include/git2/sys/merge.h +55 -7
  191. data/vendor/libgit2/include/git2/sys/midx.h +47 -4
  192. data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
  193. data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
  194. data/vendor/libgit2/include/git2/sys/path.h +12 -1
  195. data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
  196. data/vendor/libgit2/include/git2/sys/refs.h +3 -2
  197. data/vendor/libgit2/include/git2/sys/remote.h +53 -0
  198. data/vendor/libgit2/include/git2/sys/repository.h +63 -3
  199. data/vendor/libgit2/include/git2/sys/stream.h +26 -3
  200. data/vendor/libgit2/include/git2/sys/transport.h +87 -41
  201. data/vendor/libgit2/include/git2/tag.h +4 -1
  202. data/vendor/libgit2/include/git2/trace.h +9 -3
  203. data/vendor/libgit2/include/git2/transaction.h +3 -2
  204. data/vendor/libgit2/include/git2/transport.h +11 -3
  205. data/vendor/libgit2/include/git2/tree.h +20 -8
  206. data/vendor/libgit2/include/git2/types.h +26 -10
  207. data/vendor/libgit2/include/git2/version.h +63 -6
  208. data/vendor/libgit2/include/git2/worktree.h +30 -8
  209. data/vendor/libgit2/include/git2.h +1 -0
  210. data/vendor/libgit2/src/CMakeLists.txt +203 -420
  211. data/vendor/libgit2/src/README.md +12 -0
  212. data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
  213. data/vendor/libgit2/src/cli/README.md +26 -0
  214. data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
  215. data/vendor/libgit2/src/cli/cmd.h +37 -0
  216. data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
  217. data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
  218. data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
  219. data/vendor/libgit2/src/cli/cmd_config.c +241 -0
  220. data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
  221. data/vendor/libgit2/src/cli/cmd_help.c +85 -0
  222. data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
  223. data/vendor/libgit2/src/cli/cmd_init.c +102 -0
  224. data/vendor/libgit2/src/cli/common.c +168 -0
  225. data/vendor/libgit2/src/cli/common.h +63 -0
  226. data/vendor/libgit2/src/cli/error.h +51 -0
  227. data/vendor/libgit2/src/cli/main.c +134 -0
  228. data/vendor/libgit2/src/cli/opt.c +695 -0
  229. data/vendor/libgit2/src/cli/opt.h +367 -0
  230. data/vendor/libgit2/src/cli/opt_usage.c +263 -0
  231. data/vendor/libgit2/src/cli/opt_usage.h +40 -0
  232. data/vendor/libgit2/src/cli/progress.c +395 -0
  233. data/vendor/libgit2/src/cli/progress.h +129 -0
  234. data/vendor/libgit2/src/cli/sighandler.h +20 -0
  235. data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
  236. data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
  237. data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
  238. data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
  239. data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
  240. data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
  241. data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
  242. data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
  243. data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
  244. data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
  245. data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
  246. data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
  247. data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
  248. data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
  249. data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
  250. data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
  251. data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
  252. data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
  253. data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
  254. data/vendor/libgit2/src/libgit2/branch.h +31 -0
  255. data/vendor/libgit2/src/libgit2/buf.c +126 -0
  256. data/vendor/libgit2/src/libgit2/buf.h +50 -0
  257. data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
  258. data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
  259. data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
  260. data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
  261. data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
  262. data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
  263. data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
  264. data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
  265. data/vendor/libgit2/src/libgit2/commit.h +87 -0
  266. data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
  267. data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
  268. data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
  269. data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
  270. data/vendor/libgit2/src/libgit2/common.h +55 -0
  271. data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
  272. data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
  273. data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
  274. data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
  275. data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
  276. data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
  277. data/vendor/libgit2/src/libgit2/config_list.c +285 -0
  278. data/vendor/libgit2/src/libgit2/config_list.h +32 -0
  279. data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
  280. data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
  281. data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
  282. data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
  283. data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
  284. data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
  285. data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
  286. data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
  287. data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
  288. data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
  289. data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
  290. data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
  291. data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
  292. data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
  293. data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
  294. data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
  295. data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
  296. data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
  297. data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
  298. data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
  299. data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
  300. data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
  301. data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
  302. data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
  303. data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
  304. data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
  305. data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
  306. data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
  307. data/vendor/libgit2/src/libgit2/grafts.c +270 -0
  308. data/vendor/libgit2/src/libgit2/grafts.h +35 -0
  309. data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
  310. data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
  311. data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
  312. data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
  313. data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
  314. data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
  315. data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
  316. data/vendor/libgit2/src/libgit2/index_map.c +95 -0
  317. data/vendor/libgit2/src/libgit2/index_map.h +28 -0
  318. data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
  319. data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
  320. data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
  321. data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
  322. data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
  323. data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
  324. data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
  325. data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
  326. data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
  327. data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
  328. data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
  329. data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
  330. data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
  331. data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
  332. data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
  333. data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
  334. data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
  335. data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
  336. data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
  337. data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
  338. data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
  339. data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
  340. data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
  341. data/vendor/libgit2/src/libgit2/oid.h +284 -0
  342. data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
  343. data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
  344. data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
  345. data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
  346. data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
  347. data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
  348. data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
  349. data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
  350. data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
  351. data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
  352. data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
  353. data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
  354. data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
  355. data/vendor/libgit2/src/libgit2/path.c +375 -0
  356. data/vendor/libgit2/src/libgit2/path.h +68 -0
  357. data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
  358. data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
  359. data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
  360. data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
  361. data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
  362. data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
  363. data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
  364. data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
  365. data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
  366. data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
  367. data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
  368. data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
  369. data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
  370. data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
  371. data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
  372. data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
  373. data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
  374. data/vendor/libgit2/src/libgit2/remote.h +101 -0
  375. data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
  376. data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
  377. data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
  378. data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
  379. data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
  380. data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
  381. data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
  382. data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
  383. data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
  384. data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
  385. data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
  386. data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
  387. data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
  388. data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
  389. data/vendor/libgit2/src/libgit2/strarray.h +25 -0
  390. data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
  391. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
  392. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
  393. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
  394. data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
  395. data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
  396. data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
  397. data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
  398. data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
  399. data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
  400. data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
  401. data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
  402. data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
  403. data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
  404. data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
  405. data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
  406. data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
  407. data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
  408. data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
  409. data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
  410. data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
  411. data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
  412. data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
  413. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
  414. data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
  415. data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
  416. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
  417. data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
  418. data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
  419. data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
  420. data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
  421. data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
  422. data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
  423. data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
  424. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
  425. data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
  426. data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
  427. data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
  428. data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
  429. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
  430. data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
  431. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
  432. data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
  433. data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
  434. data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
  435. data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
  436. data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
  437. data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
  438. data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
  439. data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
  440. data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
  441. data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
  442. data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
  443. data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
  444. data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
  445. data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
  446. data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
  447. data/vendor/libgit2/src/util/alloc.h +65 -0
  448. data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
  449. data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
  450. data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
  451. data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
  452. data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
  453. data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
  454. data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
  455. data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
  456. data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
  457. data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
  458. data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
  459. data/vendor/libgit2/src/util/ctype_compat.h +70 -0
  460. data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
  461. data/vendor/libgit2/src/util/date.h +45 -0
  462. data/vendor/libgit2/src/util/errors.c +401 -0
  463. data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
  464. data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
  465. data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
  466. data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
  467. data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
  468. data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
  469. data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
  470. data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
  471. data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
  472. data/vendor/libgit2/src/util/hash/builtin.c +53 -0
  473. data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
  474. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
  475. data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
  476. data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
  477. data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
  478. data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
  479. data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
  480. data/vendor/libgit2/src/util/hash/openssl.c +347 -0
  481. data/vendor/libgit2/src/util/hash/openssl.h +61 -0
  482. data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
  483. data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
  484. data/vendor/libgit2/src/util/hash/sha.h +73 -0
  485. data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
  486. data/vendor/libgit2/src/util/hash/win32.c +549 -0
  487. data/vendor/libgit2/src/util/hash/win32.h +60 -0
  488. data/vendor/libgit2/src/util/hash.c +158 -0
  489. data/vendor/libgit2/src/util/hash.h +61 -0
  490. data/vendor/libgit2/src/util/hashmap.h +424 -0
  491. data/vendor/libgit2/src/util/hashmap_str.h +43 -0
  492. data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
  493. data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
  494. data/vendor/libgit2/src/util/net.c +1160 -0
  495. data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
  496. data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
  497. data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
  498. data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
  499. data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
  500. data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
  501. data/vendor/libgit2/src/util/process.h +222 -0
  502. data/vendor/libgit2/src/util/rand.c +230 -0
  503. data/vendor/libgit2/src/util/rand.h +37 -0
  504. data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
  505. data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
  506. data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
  507. data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
  508. data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
  509. data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
  510. data/vendor/libgit2/src/util/staticstr.h +66 -0
  511. data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
  512. data/vendor/libgit2/src/util/str.h +357 -0
  513. data/vendor/libgit2/src/util/strlist.c +108 -0
  514. data/vendor/libgit2/src/util/strlist.h +36 -0
  515. data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
  516. data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
  517. data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
  518. data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
  519. data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
  520. data/vendor/libgit2/src/util/unix/process.c +629 -0
  521. data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
  522. data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
  523. data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
  524. data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
  525. data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
  526. data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
  527. data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
  528. data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
  529. data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
  530. data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
  531. data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
  532. data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
  533. data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
  534. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
  535. data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
  536. data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
  537. data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
  538. data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
  539. data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
  540. data/vendor/libgit2/src/util/win32/process.c +506 -0
  541. data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
  542. data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
  543. data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
  544. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
  545. data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
  546. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
  547. data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
  548. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
  549. data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
  550. data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
  551. data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
  552. metadata +431 -362
  553. data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
  554. data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
  555. data/vendor/libgit2/deps/http-parser/COPYING +0 -23
  556. data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
  557. data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
  558. data/vendor/libgit2/deps/zlib/COPYING +0 -27
  559. data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
  560. data/vendor/libgit2/src/alloc.h +0 -40
  561. data/vendor/libgit2/src/allocators/failalloc.c +0 -92
  562. data/vendor/libgit2/src/allocators/failalloc.h +0 -23
  563. data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
  564. data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
  565. data/vendor/libgit2/src/buffer.h +0 -374
  566. data/vendor/libgit2/src/commit.h +0 -46
  567. data/vendor/libgit2/src/config_entries.c +0 -237
  568. data/vendor/libgit2/src/config_entries.h +0 -24
  569. data/vendor/libgit2/src/config_mem.c +0 -220
  570. data/vendor/libgit2/src/errors.c +0 -238
  571. data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
  572. data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
  573. data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
  574. data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
  575. data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
  576. data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
  577. data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
  578. data/vendor/libgit2/src/hash/sha1.h +0 -38
  579. data/vendor/libgit2/src/hash.c +0 -110
  580. data/vendor/libgit2/src/hash.h +0 -46
  581. data/vendor/libgit2/src/idxmap.c +0 -157
  582. data/vendor/libgit2/src/idxmap.h +0 -177
  583. data/vendor/libgit2/src/khash.h +0 -615
  584. data/vendor/libgit2/src/libgit2.h +0 -15
  585. data/vendor/libgit2/src/message.h +0 -17
  586. data/vendor/libgit2/src/net.c +0 -540
  587. data/vendor/libgit2/src/netops.c +0 -125
  588. data/vendor/libgit2/src/netops.h +0 -68
  589. data/vendor/libgit2/src/offmap.c +0 -101
  590. data/vendor/libgit2/src/offmap.h +0 -133
  591. data/vendor/libgit2/src/oid.h +0 -51
  592. data/vendor/libgit2/src/oidarray.c +0 -43
  593. data/vendor/libgit2/src/oidmap.c +0 -107
  594. data/vendor/libgit2/src/oidmap.h +0 -128
  595. data/vendor/libgit2/src/remote.h +0 -55
  596. data/vendor/libgit2/src/streams/socket.c +0 -239
  597. data/vendor/libgit2/src/strmap.c +0 -100
  598. data/vendor/libgit2/src/strmap.h +0 -131
  599. data/vendor/libgit2/src/sysdir.c +0 -347
  600. data/vendor/libgit2/src/threadstate.c +0 -84
  601. data/vendor/libgit2/src/threadstate.h +0 -24
  602. data/vendor/libgit2/src/win32/findfile.c +0 -230
  603. data/vendor/libgit2/src/win32/findfile.h +0 -19
  604. data/vendor/libgit2/src/win32/utf-conv.c +0 -146
  605. data/vendor/libgit2/src/win32/utf-conv.h +0 -60
  606. /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
  607. /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
  608. /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
  609. /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
  610. /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
  611. /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
  612. /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
  613. /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
  614. /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
  615. /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
  616. /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
  617. /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
  618. /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
  619. /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
  620. /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
  621. /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
  622. /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
  623. /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
  624. /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
  625. /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
  626. /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
  627. /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
  628. /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
  629. /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
  630. /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
  631. /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
  632. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
  633. /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
  634. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
  635. /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
  636. /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
  637. /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
  638. /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
  639. /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
  640. /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
  641. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
  642. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
  643. /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
  644. /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
  645. /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
  646. /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
  647. /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
  648. /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
  649. /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
  650. /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
  651. /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
  652. /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
  653. /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
  654. /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
  655. /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
  656. /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -1,37 +1,39 @@
1
- FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "ntlm.h" "util.c" "util.h")
2
- LIST(SORT SRC_NTLMCLIENT)
1
+ file(GLOB SRC_NTLMCLIENT "ntlm.c" "ntlm.h" "util.c" "util.h")
2
+ list(SORT SRC_NTLMCLIENT)
3
3
 
4
- ADD_DEFINITIONS(-DNTLM_STATIC=1)
4
+ add_definitions(-DNTLM_STATIC=1)
5
5
 
6
- DISABLE_WARNINGS(implicit-fallthrough)
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()
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
15
 
16
- IF(USE_HTTPS STREQUAL "SecureTransport")
17
- ADD_DEFINITIONS(-DCRYPT_COMMONCRYPTO)
18
- SET(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c" "crypt_commoncrypto.h")
16
+ if(USE_HTTPS STREQUAL "SecureTransport")
17
+ add_definitions(-DCRYPT_COMMONCRYPTO)
18
+ set(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c" "crypt_commoncrypto.h")
19
19
  # CC_MD4 has been deprecated in macOS 10.15.
20
- SET_SOURCE_FILES_PROPERTIES("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
21
- ELSEIF(USE_HTTPS STREQUAL "OpenSSL")
22
- ADD_DEFINITIONS(-DCRYPT_OPENSSL)
23
- INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
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")
29
- ELSEIF(USE_HTTPS STREQUAL "mbedTLS")
30
- ADD_DEFINITIONS(-DCRYPT_MBEDTLS)
31
- INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIR})
32
- SET(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c" "crypt_mbedtls.h")
33
- ELSE()
34
- MESSAGE(FATAL_ERROR "Unable to use libgit2's HTTPS backend (${USE_HTTPS}) for NTLM crypto")
35
- ENDIF()
20
+ set_source_files_properties("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
21
+ elseif(USE_HTTPS STREQUAL "OpenSSL")
22
+ add_definitions(-DCRYPT_OPENSSL)
23
+ add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
24
+ include_directories(${OPENSSL_INCLUDE_DIR})
25
+ set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
26
+ elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
27
+ add_definitions(-DCRYPT_OPENSSL)
28
+ add_definitions(-DCRYPT_OPENSSL_DYNAMIC)
29
+ add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
30
+ set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
31
+ elseif(USE_HTTPS STREQUAL "mbedTLS")
32
+ add_definitions(-DCRYPT_MBEDTLS)
33
+ include_directories(${MBEDTLS_INCLUDE_DIR})
34
+ set(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c" "crypt_mbedtls.h" "crypt_builtin_md4.c")
35
+ else()
36
+ message(FATAL_ERROR "Unable to use libgit2's HTTPS backend (${USE_HTTPS}) for NTLM crypto")
37
+ endif()
36
38
 
37
- ADD_LIBRARY(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_UNICODE} ${SRC_NTLMCLIENT_CRYPTO})
39
+ add_library(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_UNICODE} ${SRC_NTLMCLIENT_CRYPTO})
@@ -0,0 +1,311 @@
1
+ /*
2
+ * Copyright (c) Edward Thomson. All rights reserved.
3
+ *
4
+ * This file is part of ntlmclient, distributed under the MIT license.
5
+ * For full terms and copyright information, and for third-party
6
+ * copyright information, see the included LICENSE.txt file.
7
+ */
8
+
9
+ #include <stdlib.h>
10
+ #include <string.h>
11
+
12
+ #include "ntlm.h"
13
+ #include "crypt.h"
14
+
15
+ /*
16
+ * Below is the MD4 code from RFC 1320, with minor modifications
17
+ * to make it compile on a modern compiler. It is included since
18
+ * many system crypto libraries lack MD4, sensibly.
19
+ */
20
+
21
+ /* MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm
22
+ */
23
+
24
+ /* Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
25
+
26
+ License to copy and use this software is granted provided that it
27
+ is identified as the "RSA Data Security, Inc. MD4 Message-Digest
28
+ Algorithm" in all material mentioning or referencing this software
29
+ or this function.
30
+
31
+ License is also granted to make and use derivative works provided
32
+ that such works are identified as "derived from the RSA Data
33
+ Security, Inc. MD4 Message-Digest Algorithm" in all material
34
+ mentioning or referencing the derived work.
35
+
36
+ RSA Data Security, Inc. makes no representations concerning either
37
+ the merchantability of this software or the suitability of this
38
+ software for any particular purpose. It is provided "as is"
39
+ without express or implied warranty of any kind.
40
+
41
+ These notices must be retained in any copies of any part of this
42
+ documentation and/or software.
43
+ */
44
+
45
+ /* POINTER defines a generic pointer type */
46
+ typedef unsigned char *POINTER;
47
+
48
+ /* UINT2 defines a two byte word */
49
+ typedef uint16_t UINT2;
50
+
51
+ /* UINT4 defines a four byte word */
52
+ typedef uint32_t UINT4;
53
+
54
+ #define MD4_memcpy memcpy
55
+ #define MD4_memset memset
56
+
57
+ /* MD4 context. */
58
+ typedef struct {
59
+ UINT4 state[4]; /* state (ABCD) */
60
+ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
61
+ unsigned char buffer[64]; /* input buffer */
62
+ } MD4_CTX;
63
+
64
+ /* Constants for MD4Transform routine.
65
+ */
66
+ #define S11 3
67
+ #define S12 7
68
+ #define S13 11
69
+ #define S14 19
70
+ #define S21 3
71
+ #define S22 5
72
+ #define S23 9
73
+ #define S24 13
74
+ #define S31 3
75
+ #define S32 9
76
+ #define S33 11
77
+ #define S34 15
78
+
79
+ static void MD4Transform(UINT4 [4], const unsigned char [64]);
80
+ static void Encode (unsigned char *, UINT4 *, unsigned int);
81
+ static void Decode (UINT4 *, const unsigned char *, unsigned int);
82
+
83
+ static unsigned char PADDING[64] = {
84
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
85
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
87
+ };
88
+
89
+ /* F, G and H are basic MD4 functions.
90
+ */
91
+ #define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
92
+ #define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z)))
93
+ #define H(x, y, z) ((x) ^ (y) ^ (z))
94
+
95
+ /* ROTATE_LEFT rotates x left n bits.
96
+ */
97
+ #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
98
+
99
+ /* FF, GG and HH are transformations for rounds 1, 2 and 3 */
100
+ /* Rotation is separate from addition to prevent recomputation */
101
+ #define FF(a, b, c, d, x, s) { \
102
+ (a) += F ((b), (c), (d)) + (x); \
103
+ (a) = ROTATE_LEFT ((a), (s)); \
104
+ }
105
+ #define GG(a, b, c, d, x, s) { \
106
+ (a) += G ((b), (c), (d)) + (x) + (UINT4)0x5a827999; \
107
+ (a) = ROTATE_LEFT ((a), (s)); \
108
+ }
109
+ #define HH(a, b, c, d, x, s) { \
110
+ (a) += H ((b), (c), (d)) + (x) + (UINT4)0x6ed9eba1; \
111
+ (a) = ROTATE_LEFT ((a), (s)); \
112
+ }
113
+
114
+ /* MD4 initialization. Begins an MD4 operation, writing a new context.
115
+ */
116
+ static void MD4Init (MD4_CTX *context)
117
+ {
118
+ context->count[0] = context->count[1] = 0;
119
+
120
+ /* Load magic initialization constants.
121
+ */
122
+ context->state[0] = 0x67452301;
123
+ context->state[1] = 0xefcdab89;
124
+ context->state[2] = 0x98badcfe;
125
+ context->state[3] = 0x10325476;
126
+ }
127
+
128
+ /* MD4 block update operation. Continues an MD4 message-digest
129
+ operation, processing another message block, and updating the
130
+ context.
131
+ */
132
+ static void MD4Update (MD4_CTX *context, const unsigned char *input, unsigned int inputLen)
133
+ {
134
+ unsigned int i, index, partLen;
135
+
136
+ /* Compute number of bytes mod 64 */
137
+ index = (unsigned int)((context->count[0] >> 3) & 0x3F);
138
+ /* Update number of bits */
139
+ if ((context->count[0] += ((UINT4)inputLen << 3))
140
+ < ((UINT4)inputLen << 3))
141
+ context->count[1]++;
142
+ context->count[1] += ((UINT4)inputLen >> 29);
143
+
144
+ partLen = 64 - index;
145
+
146
+ /* Transform as many times as possible.
147
+ */
148
+ if (inputLen >= partLen) {
149
+ MD4_memcpy
150
+ ((POINTER)&context->buffer[index], (POINTER)input, partLen);
151
+ MD4Transform (context->state, context->buffer);
152
+
153
+ for (i = partLen; i + 63 < inputLen; i += 64)
154
+ MD4Transform (context->state, &input[i]);
155
+
156
+ index = 0;
157
+ }
158
+ else
159
+ i = 0;
160
+
161
+ /* Buffer remaining input */
162
+ MD4_memcpy
163
+ ((POINTER)&context->buffer[index], (POINTER)&input[i],
164
+ inputLen-i);
165
+ }
166
+
167
+ /* MD4 finalization. Ends an MD4 message-digest operation, writing the
168
+ the message digest and zeroizing the context.
169
+ */
170
+ static void MD4Final (unsigned char digest[16], MD4_CTX *context)
171
+ {
172
+ unsigned char bits[8];
173
+ unsigned int index, padLen;
174
+
175
+ /* Save number of bits */
176
+ Encode (bits, context->count, 8);
177
+
178
+ /* Pad out to 56 mod 64.
179
+ */
180
+ index = (unsigned int)((context->count[0] >> 3) & 0x3f);
181
+ padLen = (index < 56) ? (56 - index) : (120 - index);
182
+ MD4Update (context, PADDING, padLen);
183
+
184
+ /* Append length (before padding) */
185
+ MD4Update (context, bits, 8);
186
+ /* Store state in digest */
187
+ Encode (digest, context->state, 16);
188
+
189
+ /* Zeroize sensitive information.
190
+ */
191
+ MD4_memset ((POINTER)context, 0, sizeof (*context));
192
+ }
193
+
194
+ /* MD4 basic transformation. Transforms state based on block.
195
+ */
196
+ static void MD4Transform (UINT4 state[4], const unsigned char block[64])
197
+ {
198
+ UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
199
+
200
+ Decode (x, block, 64);
201
+
202
+ /* Round 1 */
203
+ FF (a, b, c, d, x[ 0], S11); /* 1 */
204
+ FF (d, a, b, c, x[ 1], S12); /* 2 */
205
+ FF (c, d, a, b, x[ 2], S13); /* 3 */
206
+ FF (b, c, d, a, x[ 3], S14); /* 4 */
207
+ FF (a, b, c, d, x[ 4], S11); /* 5 */
208
+ FF (d, a, b, c, x[ 5], S12); /* 6 */
209
+ FF (c, d, a, b, x[ 6], S13); /* 7 */
210
+ FF (b, c, d, a, x[ 7], S14); /* 8 */
211
+ FF (a, b, c, d, x[ 8], S11); /* 9 */
212
+ FF (d, a, b, c, x[ 9], S12); /* 10 */
213
+ FF (c, d, a, b, x[10], S13); /* 11 */
214
+ FF (b, c, d, a, x[11], S14); /* 12 */
215
+ FF (a, b, c, d, x[12], S11); /* 13 */
216
+ FF (d, a, b, c, x[13], S12); /* 14 */
217
+ FF (c, d, a, b, x[14], S13); /* 15 */
218
+ FF (b, c, d, a, x[15], S14); /* 16 */
219
+
220
+ /* Round 2 */
221
+ GG (a, b, c, d, x[ 0], S21); /* 17 */
222
+ GG (d, a, b, c, x[ 4], S22); /* 18 */
223
+ GG (c, d, a, b, x[ 8], S23); /* 19 */
224
+ GG (b, c, d, a, x[12], S24); /* 20 */
225
+ GG (a, b, c, d, x[ 1], S21); /* 21 */
226
+ GG (d, a, b, c, x[ 5], S22); /* 22 */
227
+ GG (c, d, a, b, x[ 9], S23); /* 23 */
228
+ GG (b, c, d, a, x[13], S24); /* 24 */
229
+ GG (a, b, c, d, x[ 2], S21); /* 25 */
230
+ GG (d, a, b, c, x[ 6], S22); /* 26 */
231
+ GG (c, d, a, b, x[10], S23); /* 27 */
232
+ GG (b, c, d, a, x[14], S24); /* 28 */
233
+ GG (a, b, c, d, x[ 3], S21); /* 29 */
234
+ GG (d, a, b, c, x[ 7], S22); /* 30 */
235
+ GG (c, d, a, b, x[11], S23); /* 31 */
236
+ GG (b, c, d, a, x[15], S24); /* 32 */
237
+
238
+ /* Round 3 */
239
+ HH (a, b, c, d, x[ 0], S31); /* 33 */
240
+ HH (d, a, b, c, x[ 8], S32); /* 34 */
241
+ HH (c, d, a, b, x[ 4], S33); /* 35 */
242
+ HH (b, c, d, a, x[12], S34); /* 36 */
243
+ HH (a, b, c, d, x[ 2], S31); /* 37 */
244
+ HH (d, a, b, c, x[10], S32); /* 38 */
245
+ HH (c, d, a, b, x[ 6], S33); /* 39 */
246
+ HH (b, c, d, a, x[14], S34); /* 40 */
247
+ HH (a, b, c, d, x[ 1], S31); /* 41 */
248
+ HH (d, a, b, c, x[ 9], S32); /* 42 */
249
+ HH (c, d, a, b, x[ 5], S33); /* 43 */
250
+ HH (b, c, d, a, x[13], S34); /* 44 */
251
+ HH (a, b, c, d, x[ 3], S31); /* 45 */
252
+ HH (d, a, b, c, x[11], S32); /* 46 */
253
+ HH (c, d, a, b, x[ 7], S33); /* 47 */
254
+ HH (b, c, d, a, x[15], S34); /* 48 */
255
+
256
+ state[0] += a;
257
+ state[1] += b;
258
+ state[2] += c;
259
+ state[3] += d;
260
+
261
+ /* Zeroize sensitive information.
262
+ */
263
+ MD4_memset ((POINTER)x, 0, sizeof (x));
264
+ }
265
+
266
+ /* Encodes input (UINT4) into output (unsigned char). Assumes len is
267
+ a multiple of 4.
268
+ */
269
+ static void Encode (unsigned char *output, UINT4 *input, unsigned int len)
270
+ {
271
+ unsigned int i, j;
272
+
273
+ for (i = 0, j = 0; j < len; i++, j += 4) {
274
+ output[j] = (unsigned char)(input[i] & 0xff);
275
+ output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
276
+ output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
277
+ output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
278
+ }
279
+ }
280
+
281
+ /* Decodes input (unsigned char) into output (UINT4). Assumes len is
282
+ a multiple of 4.
283
+ */
284
+ static void Decode (UINT4 *output, const unsigned char *input, unsigned int len)
285
+ {
286
+ unsigned int i, j;
287
+
288
+ for (i = 0, j = 0; j < len; i++, j += 4)
289
+ output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
290
+ (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
291
+ }
292
+
293
+ bool ntlm_md4_digest(
294
+ unsigned char out[CRYPT_MD4_DIGESTSIZE],
295
+ ntlm_client *ntlm,
296
+ const unsigned char *in,
297
+ size_t in_len)
298
+ {
299
+ MD4_CTX ctx;
300
+
301
+ NTLM_UNUSED(ntlm);
302
+
303
+ if (in_len > UINT_MAX)
304
+ return false;
305
+
306
+ MD4Init(&ctx);
307
+ MD4Update(&ctx, in, (unsigned int)in_len);
308
+ MD4Final (out, &ctx);
309
+
310
+ return true;
311
+ }
@@ -59,11 +59,12 @@ bool ntlm_des_encrypt(
59
59
  ntlm_des_block *plaintext,
60
60
  ntlm_des_block *key)
61
61
  {
62
+ CCCryptorStatus result;
62
63
  size_t written;
63
64
 
64
65
  NTLM_UNUSED(ntlm);
65
66
 
66
- CCCryptorStatus result = CCCrypt(kCCEncrypt,
67
+ result = CCCrypt(kCCEncrypt,
67
68
  kCCAlgorithmDES, kCCOptionECBMode,
68
69
  key, sizeof(ntlm_des_block), NULL,
69
70
  plaintext, sizeof(ntlm_des_block),
@@ -12,7 +12,6 @@
12
12
  #include "mbedtls/ctr_drbg.h"
13
13
  #include "mbedtls/des.h"
14
14
  #include "mbedtls/entropy.h"
15
- #include "mbedtls/md4.h"
16
15
 
17
16
  #include "ntlm.h"
18
17
  #include "crypt.h"
@@ -88,25 +87,6 @@ done:
88
87
  return success;
89
88
  }
90
89
 
91
- bool ntlm_md4_digest(
92
- unsigned char out[CRYPT_MD4_DIGESTSIZE],
93
- ntlm_client *ntlm,
94
- const unsigned char *in,
95
- size_t in_len)
96
- {
97
- mbedtls_md4_context ctx;
98
-
99
- NTLM_UNUSED(ntlm);
100
-
101
- mbedtls_md4_init(&ctx);
102
- mbedtls_md4_starts(&ctx);
103
- mbedtls_md4_update(&ctx, in, in_len);
104
- mbedtls_md4_finish(&ctx, out);
105
- mbedtls_md4_free(&ctx);
106
-
107
- return true;
108
- }
109
-
110
90
  bool ntlm_hmac_md5_init(
111
91
  ntlm_client *ntlm,
112
92
  const unsigned char *key,
@@ -26,27 +26,29 @@
26
26
 
27
27
  #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(CRYPT_OPENSSL_DYNAMIC)
28
28
 
29
- static inline HMAC_CTX *HMAC_CTX_new(void)
29
+ NTLM_INLINE(HMAC_CTX *) HMAC_CTX_new(void)
30
30
  {
31
31
  return calloc(1, sizeof(HMAC_CTX));
32
32
  }
33
33
 
34
- static inline int HMAC_CTX_reset(HMAC_CTX *ctx)
34
+ NTLM_INLINE(int) HMAC_CTX_reset(HMAC_CTX *ctx)
35
35
  {
36
36
  ntlm_memzero(ctx, sizeof(HMAC_CTX));
37
37
  return 1;
38
38
  }
39
39
 
40
- static inline void HMAC_CTX_free(HMAC_CTX *ctx)
40
+ NTLM_INLINE(void) HMAC_CTX_free(HMAC_CTX *ctx)
41
41
  {
42
42
  free(ctx);
43
43
  }
44
44
 
45
45
  #endif
46
46
 
47
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L || defined(CRYPT_OPENSSL_DYNAMIC)
47
+ #if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || \
48
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x03050000fL) || \
49
+ defined(CRYPT_OPENSSL_DYNAMIC)
48
50
 
49
- static inline void HMAC_CTX_cleanup(HMAC_CTX *ctx)
51
+ NTLM_INLINE(void) HMAC_CTX_cleanup(HMAC_CTX *ctx)
50
52
  {
51
53
  NTLM_UNUSED(ctx);
52
54
  }
@@ -43,7 +43,7 @@ static bool supports_unicode(ntlm_client *ntlm)
43
43
  false : true;
44
44
  }
45
45
 
46
- static inline bool increment_size(size_t *out, size_t incr)
46
+ NTLM_INLINE(bool) increment_size(size_t *out, size_t incr)
47
47
  {
48
48
  if (SIZE_MAX - *out < incr) {
49
49
  *out = (size_t)-1;
@@ -272,7 +272,7 @@ int ntlm_client_set_timestamp(ntlm_client *ntlm, uint64_t timestamp)
272
272
  return 0;
273
273
  }
274
274
 
275
- static inline bool write_buf(
275
+ NTLM_INLINE(bool) write_buf(
276
276
  ntlm_client *ntlm,
277
277
  ntlm_buf *out,
278
278
  const unsigned char *buf,
@@ -291,7 +291,7 @@ static inline bool write_buf(
291
291
  return true;
292
292
  }
293
293
 
294
- static inline bool write_byte(
294
+ NTLM_INLINE(bool) write_byte(
295
295
  ntlm_client *ntlm,
296
296
  ntlm_buf *out,
297
297
  uint8_t value)
@@ -305,7 +305,7 @@ static inline bool write_byte(
305
305
  return true;
306
306
  }
307
307
 
308
- static inline bool write_int16(
308
+ NTLM_INLINE(bool) write_int16(
309
309
  ntlm_client *ntlm,
310
310
  ntlm_buf *out,
311
311
  uint16_t value)
@@ -320,7 +320,7 @@ static inline bool write_int16(
320
320
  return true;
321
321
  }
322
322
 
323
- static inline bool write_int32(
323
+ NTLM_INLINE(bool) write_int32(
324
324
  ntlm_client *ntlm,
325
325
  ntlm_buf *out,
326
326
  uint32_t value)
@@ -337,7 +337,7 @@ static inline bool write_int32(
337
337
  return true;
338
338
  }
339
339
 
340
- static inline bool write_version(
340
+ NTLM_INLINE(bool) write_version(
341
341
  ntlm_client *ntlm,
342
342
  ntlm_buf *out,
343
343
  ntlm_version *version)
@@ -348,7 +348,7 @@ static inline bool write_version(
348
348
  write_int32(ntlm, out, version->reserved);
349
349
  }
350
350
 
351
- static inline bool write_bufinfo(
351
+ NTLM_INLINE(bool) write_bufinfo(
352
352
  ntlm_client *ntlm,
353
353
  ntlm_buf *out,
354
354
  size_t len,
@@ -369,7 +369,7 @@ static inline bool write_bufinfo(
369
369
  write_int32(ntlm, out, (uint32_t)offset);
370
370
  }
371
371
 
372
- static inline bool read_buf(
372
+ NTLM_INLINE(bool) read_buf(
373
373
  unsigned char *out,
374
374
  ntlm_client *ntlm,
375
375
  ntlm_buf *message,
@@ -386,7 +386,7 @@ static inline bool read_buf(
386
386
  return true;
387
387
  }
388
388
 
389
- static inline bool read_byte(
389
+ NTLM_INLINE(bool) read_byte(
390
390
  uint8_t *out,
391
391
  ntlm_client *ntlm,
392
392
  ntlm_buf *message)
@@ -400,7 +400,7 @@ static inline bool read_byte(
400
400
  return true;
401
401
  }
402
402
 
403
- static inline bool read_int16(
403
+ NTLM_INLINE(bool) read_int16(
404
404
  uint16_t *out,
405
405
  ntlm_client *ntlm,
406
406
  ntlm_buf *message)
@@ -418,7 +418,7 @@ static inline bool read_int16(
418
418
  return true;
419
419
  }
420
420
 
421
- static inline bool read_int32(
421
+ NTLM_INLINE(bool) read_int32(
422
422
  uint32_t *out,
423
423
  ntlm_client *ntlm,
424
424
  ntlm_buf *message)
@@ -438,7 +438,7 @@ static inline bool read_int32(
438
438
  return true;
439
439
  }
440
440
 
441
- static inline bool read_int64(
441
+ NTLM_INLINE(bool) read_int64(
442
442
  uint64_t *out,
443
443
  ntlm_client *ntlm,
444
444
  ntlm_buf *message)
@@ -462,7 +462,7 @@ static inline bool read_int64(
462
462
  return true;
463
463
  }
464
464
 
465
- static inline bool read_version(
465
+ NTLM_INLINE(bool) read_version(
466
466
  ntlm_version *out,
467
467
  ntlm_client *ntlm,
468
468
  ntlm_buf *message)
@@ -473,7 +473,7 @@ static inline bool read_version(
473
473
  read_int32(&out->reserved, ntlm, message);
474
474
  }
475
475
 
476
- static inline bool read_bufinfo(
476
+ NTLM_INLINE(bool) read_bufinfo(
477
477
  uint16_t *out_len,
478
478
  uint32_t *out_offset,
479
479
  ntlm_client *ntlm,
@@ -486,7 +486,7 @@ static inline bool read_bufinfo(
486
486
  read_int32(out_offset, ntlm, message);
487
487
  }
488
488
 
489
- static inline bool read_string_unicode(
489
+ NTLM_INLINE(bool) read_string_unicode(
490
490
  char **out,
491
491
  ntlm_client *ntlm,
492
492
  ntlm_buf *message,
@@ -504,7 +504,7 @@ static inline bool read_string_unicode(
504
504
  return ret;
505
505
  }
506
506
 
507
- static inline bool read_string_ascii(
507
+ NTLM_INLINE(bool) read_string_ascii(
508
508
  char **out,
509
509
  ntlm_client *ntlm,
510
510
  ntlm_buf *message,
@@ -526,7 +526,7 @@ static inline bool read_string_ascii(
526
526
  return true;
527
527
  }
528
528
 
529
- static inline bool read_string(
529
+ NTLM_INLINE(bool) read_string(
530
530
  char **out,
531
531
  ntlm_client *ntlm,
532
532
  ntlm_buf *message,
@@ -539,7 +539,7 @@ static inline bool read_string(
539
539
  return read_string_ascii(out, ntlm, message, string_len);
540
540
  }
541
541
 
542
- static inline bool read_target_info(
542
+ NTLM_INLINE(bool) read_target_info(
543
543
  char **server_out,
544
544
  char **domain_out,
545
545
  char **server_dns_out,
@@ -930,10 +930,10 @@ const char *ntlm_client_target_domain_dns(ntlm_client *ntlm)
930
930
  }
931
931
 
932
932
  #define EVEN_PARITY(a) \
933
- (!!((a) & 0x01ll) ^ !!((a) & 0x02ll) ^ \
934
- !!((a) & 0x04ll) ^ !!((a) & 0x08ll) ^ \
935
- !!((a) & 0x10ll) ^ !!((a) & 0x20ll) ^ \
936
- !!((a) & 0x40ll) ^ !!((a) & 0x80ll))
933
+ (!!((a) & INT64_C(0x01)) ^ !!((a) & INT64_C(0x02)) ^ \
934
+ !!((a) & INT64_C(0x04)) ^ !!((a) & INT64_C(0x08)) ^ \
935
+ !!((a) & INT64_C(0x10)) ^ !!((a) & INT64_C(0x20)) ^ \
936
+ !!((a) & INT64_C(0x40)) ^ !!((a) & INT64_C(0x80)))
937
937
 
938
938
  static void generate_odd_parity(ntlm_des_block *block)
939
939
  {
@@ -965,7 +965,7 @@ static void des_key_from_password(
965
965
  generate_odd_parity(out);
966
966
  }
967
967
 
968
- static inline bool generate_lm_hash(
968
+ NTLM_INLINE(bool) generate_lm_hash(
969
969
  ntlm_des_block out[2],
970
970
  ntlm_client *ntlm,
971
971
  const char *password)
@@ -988,9 +988,9 @@ static inline bool generate_lm_hash(
988
988
  keystr2_len = (password_len > 7) ? MIN(14, password_len) - 7 : 0;
989
989
 
990
990
  for (i = 0; i < keystr1_len; i++)
991
- keystr1[i] = (unsigned char)toupper(password[i]);
991
+ keystr1[i] = (unsigned char)toupper((unsigned char)password[i]);
992
992
  for (i = 0; i < keystr2_len; i++)
993
- keystr2[i] = (unsigned char)toupper(password[i+7]);
993
+ keystr2[i] = (unsigned char)toupper((unsigned char)password[i+7]);
994
994
 
995
995
  /* DES encrypt the LM constant using the password as the key */
996
996
  des_key_from_password(&key1, keystr1, keystr1_len);
@@ -30,7 +30,7 @@ typedef enum {
30
30
  NTLM_STATE_CHALLENGE = 1,
31
31
  NTLM_STATE_RESPONSE = 2,
32
32
  NTLM_STATE_ERROR = 3,
33
- NTLM_STATE_COMPLETE = 4,
33
+ NTLM_STATE_COMPLETE = 4
34
34
  } ntlm_state;
35
35
 
36
36
  typedef struct {
@@ -122,7 +122,7 @@ struct ntlm_client {
122
122
  };
123
123
 
124
124
  typedef enum {
125
- NTLM_ENABLE_HOSTVERSION = (1 << 31),
125
+ NTLM_ENABLE_HOSTVERSION = (1 << 31)
126
126
  } ntlm_client_internal_flags;
127
127
 
128
128
  typedef enum {
@@ -130,7 +130,7 @@ typedef enum {
130
130
  NTLM_TARGET_INFO_SERVER = 1,
131
131
  NTLM_TARGET_INFO_DOMAIN = 2,
132
132
  NTLM_TARGET_INFO_SERVER_DNS = 3,
133
- NTLM_TARGET_INFO_DOMAIN_DNS = 4,
133
+ NTLM_TARGET_INFO_DOMAIN_DNS = 4
134
134
  } ntlm_target_info_type_t;
135
135
 
136
136
  typedef enum {
@@ -168,7 +168,7 @@ typedef enum {
168
168
  NTLM_NEGOTIATE_TARGET_INFO = 0x00800000,
169
169
 
170
170
  /* Version information should be provided */
171
- NTLM_NEGOTIATE_VERSION = 0x01000000,
171
+ NTLM_NEGOTIATE_VERSION = 0x01000000
172
172
  } ntlm_negotiate_t;
173
173
 
174
174
  extern int ntlm_client_set_nonce(ntlm_client *ntlm, uint64_t nonce);