rugged 1.3.2.3 → 1.4.2

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 (329) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rugged/extconf.rb +1 -1
  3. data/ext/rugged/rugged_config.c +7 -2
  4. data/ext/rugged/rugged_remote.c +17 -0
  5. data/lib/rugged/version.rb +1 -1
  6. data/vendor/libgit2/CMakeLists.txt +103 -276
  7. data/vendor/libgit2/COPYING +36 -19
  8. data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
  9. data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
  10. data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
  11. data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
  12. data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
  13. data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
  14. data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
  15. data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
  16. data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
  17. data/vendor/libgit2/cmake/FindPCRE.cmake +13 -13
  18. data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
  19. data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
  20. data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
  21. data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
  22. data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
  23. data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
  24. data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
  25. data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
  26. data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
  27. data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
  28. data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
  29. data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
  30. data/vendor/libgit2/cmake/SelectHashes.cmake +39 -49
  31. data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
  32. data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
  33. data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
  34. data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
  35. data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
  36. data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +31 -31
  37. data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +1 -1
  38. data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
  39. data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
  40. data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
  41. data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
  42. data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
  43. data/vendor/libgit2/deps/zlib/adler32.c +0 -7
  44. data/vendor/libgit2/deps/zlib/crc32.c +288 -975
  45. data/vendor/libgit2/deps/zlib/crc32.h +436 -9441
  46. data/vendor/libgit2/deps/zlib/deflate.c +31 -83
  47. data/vendor/libgit2/deps/zlib/deflate.h +15 -12
  48. data/vendor/libgit2/deps/zlib/gzguts.h +2 -3
  49. data/vendor/libgit2/deps/zlib/infback.c +1 -2
  50. data/vendor/libgit2/deps/zlib/inffast.c +14 -14
  51. data/vendor/libgit2/deps/zlib/inflate.c +8 -39
  52. data/vendor/libgit2/deps/zlib/inflate.h +2 -3
  53. data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
  54. data/vendor/libgit2/deps/zlib/trees.c +48 -27
  55. data/vendor/libgit2/deps/zlib/zlib.h +100 -126
  56. data/vendor/libgit2/deps/zlib/zutil.c +2 -2
  57. data/vendor/libgit2/deps/zlib/zutil.h +9 -12
  58. data/vendor/libgit2/include/git2/apply.h +16 -2
  59. data/vendor/libgit2/include/git2/attr.h +11 -2
  60. data/vendor/libgit2/include/git2/blame.h +4 -1
  61. data/vendor/libgit2/include/git2/blob.h +14 -1
  62. data/vendor/libgit2/include/git2/branch.h +2 -0
  63. data/vendor/libgit2/include/git2/buffer.h +18 -78
  64. data/vendor/libgit2/include/git2/cert.h +2 -2
  65. data/vendor/libgit2/include/git2/checkout.h +5 -2
  66. data/vendor/libgit2/include/git2/clone.h +3 -3
  67. data/vendor/libgit2/include/git2/commit.h +2 -0
  68. data/vendor/libgit2/include/git2/common.h +5 -12
  69. data/vendor/libgit2/include/git2/config.h +19 -3
  70. data/vendor/libgit2/include/git2/credential.h +2 -1
  71. data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
  72. data/vendor/libgit2/include/git2/deprecated.h +1 -1
  73. data/vendor/libgit2/include/git2/describe.h +7 -2
  74. data/vendor/libgit2/include/git2/diff.h +17 -9
  75. data/vendor/libgit2/include/git2/email.h +1 -1
  76. data/vendor/libgit2/include/git2/errors.h +1 -2
  77. data/vendor/libgit2/include/git2/filter.h +7 -2
  78. data/vendor/libgit2/include/git2/graph.h +1 -0
  79. data/vendor/libgit2/include/git2/ignore.h +1 -1
  80. data/vendor/libgit2/include/git2/index.h +11 -5
  81. data/vendor/libgit2/include/git2/indexer.h +19 -0
  82. data/vendor/libgit2/include/git2/merge.h +23 -3
  83. data/vendor/libgit2/include/git2/message.h +2 -0
  84. data/vendor/libgit2/include/git2/object.h +23 -0
  85. data/vendor/libgit2/include/git2/odb.h +37 -7
  86. data/vendor/libgit2/include/git2/odb_backend.h +1 -1
  87. data/vendor/libgit2/include/git2/pack.h +24 -8
  88. data/vendor/libgit2/include/git2/patch.h +8 -0
  89. data/vendor/libgit2/include/git2/pathspec.h +1 -1
  90. data/vendor/libgit2/include/git2/proxy.h +1 -1
  91. data/vendor/libgit2/include/git2/rebase.h +9 -1
  92. data/vendor/libgit2/include/git2/refdb.h +3 -0
  93. data/vendor/libgit2/include/git2/reflog.h +1 -1
  94. data/vendor/libgit2/include/git2/refs.h +2 -2
  95. data/vendor/libgit2/include/git2/remote.h +184 -37
  96. data/vendor/libgit2/include/git2/repository.h +14 -9
  97. data/vendor/libgit2/include/git2/reset.h +2 -2
  98. data/vendor/libgit2/include/git2/revparse.h +1 -1
  99. data/vendor/libgit2/include/git2/revwalk.h +4 -1
  100. data/vendor/libgit2/include/git2/signature.h +1 -1
  101. data/vendor/libgit2/include/git2/stash.h +3 -3
  102. data/vendor/libgit2/include/git2/status.h +9 -3
  103. data/vendor/libgit2/include/git2/submodule.h +7 -2
  104. data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
  105. data/vendor/libgit2/include/git2/sys/odb_backend.h +2 -5
  106. data/vendor/libgit2/include/git2/sys/remote.h +31 -0
  107. data/vendor/libgit2/include/git2/sys/stream.h +1 -1
  108. data/vendor/libgit2/include/git2/sys/transport.h +25 -34
  109. data/vendor/libgit2/include/git2/tag.h +1 -0
  110. data/vendor/libgit2/include/git2/tree.h +4 -3
  111. data/vendor/libgit2/include/git2/types.h +7 -7
  112. data/vendor/libgit2/include/git2/version.h +3 -3
  113. data/vendor/libgit2/include/git2/worktree.h +12 -2
  114. data/vendor/libgit2/src/CMakeLists.txt +189 -315
  115. data/vendor/libgit2/src/annotated_commit.h +1 -1
  116. data/vendor/libgit2/src/apply.c +18 -18
  117. data/vendor/libgit2/src/apply.h +2 -2
  118. data/vendor/libgit2/src/attr.c +18 -18
  119. data/vendor/libgit2/src/attr_file.c +17 -17
  120. data/vendor/libgit2/src/attr_file.h +4 -4
  121. data/vendor/libgit2/src/attrcache.c +17 -12
  122. data/vendor/libgit2/src/blame_git.c +1 -1
  123. data/vendor/libgit2/src/blob.c +33 -26
  124. data/vendor/libgit2/src/blob.h +1 -1
  125. data/vendor/libgit2/src/branch.c +150 -109
  126. data/vendor/libgit2/src/branch.h +15 -3
  127. data/vendor/libgit2/src/buf.c +126 -0
  128. data/vendor/libgit2/src/buf.h +50 -0
  129. data/vendor/libgit2/src/cc-compat.h +1 -1
  130. data/vendor/libgit2/src/checkout.c +74 -68
  131. data/vendor/libgit2/src/cherrypick.c +10 -10
  132. data/vendor/libgit2/src/clone.c +66 -66
  133. data/vendor/libgit2/src/commit.c +128 -58
  134. data/vendor/libgit2/src/commit.h +24 -1
  135. data/vendor/libgit2/src/commit_graph.c +68 -53
  136. data/vendor/libgit2/src/commit_graph.h +10 -3
  137. data/vendor/libgit2/src/commit_list.c +2 -3
  138. data/vendor/libgit2/src/common.h +10 -3
  139. data/vendor/libgit2/src/config.c +99 -77
  140. data/vendor/libgit2/src/config.h +15 -2
  141. data/vendor/libgit2/src/config_file.c +103 -91
  142. data/vendor/libgit2/src/config_mem.c +9 -9
  143. data/vendor/libgit2/src/config_parse.c +27 -23
  144. data/vendor/libgit2/src/crlf.c +24 -21
  145. data/vendor/libgit2/src/date.c +10 -17
  146. data/vendor/libgit2/src/date.h +33 -0
  147. data/vendor/libgit2/src/describe.c +27 -19
  148. data/vendor/libgit2/src/diff.c +25 -8
  149. data/vendor/libgit2/src/diff.h +2 -4
  150. data/vendor/libgit2/src/diff_driver.c +34 -36
  151. data/vendor/libgit2/src/diff_driver.h +3 -3
  152. data/vendor/libgit2/src/diff_file.c +29 -20
  153. data/vendor/libgit2/src/diff_generate.c +30 -6
  154. data/vendor/libgit2/src/diff_generate.h +5 -3
  155. data/vendor/libgit2/src/diff_print.c +102 -95
  156. data/vendor/libgit2/src/diff_stats.c +40 -29
  157. data/vendor/libgit2/src/{message.h → diff_stats.h} +7 -6
  158. data/vendor/libgit2/src/diff_tform.c +9 -8
  159. data/vendor/libgit2/src/diff_xdiff.c +3 -8
  160. data/vendor/libgit2/src/email.c +54 -38
  161. data/vendor/libgit2/src/email.h +1 -1
  162. data/vendor/libgit2/src/errors.c +18 -18
  163. data/vendor/libgit2/src/features.h.in +6 -1
  164. data/vendor/libgit2/src/fetch.c +69 -24
  165. data/vendor/libgit2/src/fetch.h +1 -1
  166. data/vendor/libgit2/src/fetchhead.c +19 -19
  167. data/vendor/libgit2/src/filebuf.c +28 -28
  168. data/vendor/libgit2/src/filebuf.h +1 -1
  169. data/vendor/libgit2/src/filter.c +96 -52
  170. data/vendor/libgit2/src/filter.h +26 -5
  171. data/vendor/libgit2/src/fs_path.c +1912 -0
  172. data/vendor/libgit2/src/fs_path.h +752 -0
  173. data/vendor/libgit2/src/futils.c +91 -85
  174. data/vendor/libgit2/src/futils.h +26 -14
  175. data/vendor/libgit2/src/hash/sha1/collisiondetect.c +2 -2
  176. data/vendor/libgit2/src/hash/sha1/common_crypto.c +2 -2
  177. data/vendor/libgit2/src/hash/sha1/generic.c +2 -2
  178. data/vendor/libgit2/src/hash/sha1/mbedtls.c +2 -2
  179. data/vendor/libgit2/src/hash/sha1/openssl.c +2 -2
  180. data/vendor/libgit2/src/hash/sha1/sha1dc/sha1.c +1 -1
  181. data/vendor/libgit2/src/hash/sha1/win32.c +6 -6
  182. data/vendor/libgit2/src/hash/sha1.h +3 -1
  183. data/vendor/libgit2/src/hash.c +67 -35
  184. data/vendor/libgit2/src/hash.h +12 -12
  185. data/vendor/libgit2/src/ident.c +18 -18
  186. data/vendor/libgit2/src/ignore.c +35 -34
  187. data/vendor/libgit2/src/ignore.h +2 -2
  188. data/vendor/libgit2/src/index.c +79 -80
  189. data/vendor/libgit2/src/index.h +6 -3
  190. data/vendor/libgit2/src/indexer.c +75 -57
  191. data/vendor/libgit2/src/iterator.c +64 -56
  192. data/vendor/libgit2/src/iterator.h +5 -5
  193. data/vendor/libgit2/src/khash.h +1 -1
  194. data/vendor/libgit2/src/libgit2.c +22 -19
  195. data/vendor/libgit2/src/mailmap.c +38 -36
  196. data/vendor/libgit2/src/merge.c +27 -27
  197. data/vendor/libgit2/src/merge.h +1 -14
  198. data/vendor/libgit2/src/merge_driver.c +2 -2
  199. data/vendor/libgit2/src/merge_file.c +13 -3
  200. data/vendor/libgit2/src/message.c +21 -10
  201. data/vendor/libgit2/src/midx.c +83 -66
  202. data/vendor/libgit2/src/midx.h +3 -3
  203. data/vendor/libgit2/src/mwindow.c +1 -1
  204. data/vendor/libgit2/src/net.c +278 -68
  205. data/vendor/libgit2/src/net.h +10 -3
  206. data/vendor/libgit2/src/netops.c +1 -1
  207. data/vendor/libgit2/src/netops.h +1 -1
  208. data/vendor/libgit2/src/notes.c +20 -29
  209. data/vendor/libgit2/src/object.c +49 -9
  210. data/vendor/libgit2/src/object.h +1 -1
  211. data/vendor/libgit2/src/odb.c +35 -32
  212. data/vendor/libgit2/src/odb.h +1 -1
  213. data/vendor/libgit2/src/odb_loose.c +68 -68
  214. data/vendor/libgit2/src/odb_mempack.c +18 -5
  215. data/vendor/libgit2/src/odb_pack.c +43 -43
  216. data/vendor/libgit2/src/oid.c +11 -4
  217. data/vendor/libgit2/src/oid.h +15 -0
  218. data/vendor/libgit2/src/pack-objects.c +41 -26
  219. data/vendor/libgit2/src/pack-objects.h +11 -6
  220. data/vendor/libgit2/src/pack.c +10 -10
  221. data/vendor/libgit2/src/patch.c +3 -3
  222. data/vendor/libgit2/src/patch.h +1 -0
  223. data/vendor/libgit2/src/patch_generate.c +27 -11
  224. data/vendor/libgit2/src/patch_generate.h +5 -5
  225. data/vendor/libgit2/src/patch_parse.c +24 -24
  226. data/vendor/libgit2/src/path.c +76 -1951
  227. data/vendor/libgit2/src/path.h +34 -741
  228. data/vendor/libgit2/src/pathspec.c +6 -6
  229. data/vendor/libgit2/src/pathspec.h +2 -2
  230. data/vendor/libgit2/src/posix.c +3 -3
  231. data/vendor/libgit2/src/posix.h +1 -0
  232. data/vendor/libgit2/src/pqueue.h +1 -1
  233. data/vendor/libgit2/src/proxy.c +4 -1
  234. data/vendor/libgit2/src/proxy.h +1 -1
  235. data/vendor/libgit2/src/push.c +30 -35
  236. data/vendor/libgit2/src/push.h +4 -16
  237. data/vendor/libgit2/src/rand.c +226 -0
  238. data/vendor/libgit2/src/rand.h +37 -0
  239. data/vendor/libgit2/src/reader.c +8 -8
  240. data/vendor/libgit2/src/reader.h +2 -2
  241. data/vendor/libgit2/src/rebase.c +89 -88
  242. data/vendor/libgit2/src/refdb_fs.c +447 -173
  243. data/vendor/libgit2/src/refs.c +32 -32
  244. data/vendor/libgit2/src/refs.h +2 -2
  245. data/vendor/libgit2/src/refspec.c +32 -37
  246. data/vendor/libgit2/src/refspec.h +5 -2
  247. data/vendor/libgit2/src/regexp.c +1 -1
  248. data/vendor/libgit2/src/remote.c +713 -419
  249. data/vendor/libgit2/src/remote.h +15 -10
  250. data/vendor/libgit2/src/repository.c +350 -467
  251. data/vendor/libgit2/src/repository.h +11 -10
  252. data/vendor/libgit2/src/reset.c +8 -5
  253. data/vendor/libgit2/src/revert.c +10 -10
  254. data/vendor/libgit2/src/revparse.c +48 -35
  255. data/vendor/libgit2/src/revwalk.c +7 -7
  256. data/vendor/libgit2/src/signature.c +12 -6
  257. data/vendor/libgit2/src/signature.h +1 -1
  258. data/vendor/libgit2/src/sortedcache.c +1 -1
  259. data/vendor/libgit2/src/sortedcache.h +1 -1
  260. data/vendor/libgit2/src/stash.c +36 -37
  261. data/vendor/libgit2/src/status.c +4 -1
  262. data/vendor/libgit2/src/{buffer.c → str.c} +157 -151
  263. data/vendor/libgit2/src/str.h +357 -0
  264. data/vendor/libgit2/src/streams/mbedtls.c +8 -6
  265. data/vendor/libgit2/src/streams/openssl_dynamic.h +3 -3
  266. data/vendor/libgit2/src/submodule.c +171 -159
  267. data/vendor/libgit2/src/submodule.h +1 -1
  268. data/vendor/libgit2/src/sysdir.c +68 -52
  269. data/vendor/libgit2/src/sysdir.h +15 -10
  270. data/vendor/libgit2/src/tag.c +29 -27
  271. data/vendor/libgit2/src/thread.h +3 -3
  272. data/vendor/libgit2/src/threadstate.c +3 -3
  273. data/vendor/libgit2/src/threadstate.h +1 -1
  274. data/vendor/libgit2/src/trace.c +1 -14
  275. data/vendor/libgit2/src/trace.h +5 -22
  276. data/vendor/libgit2/src/trailer.c +1 -1
  277. data/vendor/libgit2/src/transaction.c +1 -1
  278. data/vendor/libgit2/src/transport.c +10 -10
  279. data/vendor/libgit2/src/transports/auth.c +7 -9
  280. data/vendor/libgit2/src/transports/auth.h +2 -3
  281. data/vendor/libgit2/src/transports/auth_negotiate.c +12 -13
  282. data/vendor/libgit2/src/transports/auth_ntlm.c +10 -10
  283. data/vendor/libgit2/src/transports/auth_ntlm.h +0 -1
  284. data/vendor/libgit2/src/transports/git.c +9 -11
  285. data/vendor/libgit2/src/transports/http.c +37 -17
  286. data/vendor/libgit2/src/transports/http.h +2 -3
  287. data/vendor/libgit2/src/transports/httpclient.c +65 -65
  288. data/vendor/libgit2/src/transports/local.c +124 -116
  289. data/vendor/libgit2/src/transports/smart.c +51 -139
  290. data/vendor/libgit2/src/transports/smart.h +25 -31
  291. data/vendor/libgit2/src/transports/smart_pkt.c +33 -33
  292. data/vendor/libgit2/src/transports/smart_protocol.c +57 -39
  293. data/vendor/libgit2/src/transports/ssh.c +47 -112
  294. data/vendor/libgit2/src/transports/winhttp.c +50 -56
  295. data/vendor/libgit2/src/tree-cache.c +5 -5
  296. data/vendor/libgit2/src/tree-cache.h +2 -2
  297. data/vendor/libgit2/src/tree.c +59 -48
  298. data/vendor/libgit2/src/tree.h +1 -1
  299. data/vendor/libgit2/src/unix/map.c +0 -2
  300. data/vendor/libgit2/src/unix/posix.h +1 -4
  301. data/vendor/libgit2/src/unix/realpath.c +0 -2
  302. data/vendor/libgit2/src/util.c +14 -14
  303. data/vendor/libgit2/src/util.h +2 -28
  304. data/vendor/libgit2/src/vector.h +1 -1
  305. data/vendor/libgit2/src/win32/findfile.c +172 -116
  306. data/vendor/libgit2/src/win32/findfile.h +7 -4
  307. data/vendor/libgit2/src/win32/path_w32.c +140 -9
  308. data/vendor/libgit2/src/win32/path_w32.h +2 -0
  309. data/vendor/libgit2/src/win32/posix.h +0 -1
  310. data/vendor/libgit2/src/win32/posix_w32.c +11 -27
  311. data/vendor/libgit2/src/win32/w32_buffer.c +2 -3
  312. data/vendor/libgit2/src/win32/w32_buffer.h +2 -3
  313. data/vendor/libgit2/src/win32/w32_leakcheck.c +1 -1
  314. data/vendor/libgit2/src/worktree.c +116 -94
  315. data/vendor/libgit2/src/worktree.h +1 -1
  316. data/vendor/libgit2/src/xdiff/git-xdiff.h +53 -0
  317. data/vendor/libgit2/src/xdiff/xdiff.h +15 -15
  318. data/vendor/libgit2/src/xdiff/xdiffi.c +134 -108
  319. data/vendor/libgit2/src/xdiff/xemit.c +23 -7
  320. data/vendor/libgit2/src/xdiff/xhistogram.c +87 -78
  321. data/vendor/libgit2/src/xdiff/xinclude.h +1 -12
  322. data/vendor/libgit2/src/xdiff/xmerge.c +104 -117
  323. data/vendor/libgit2/src/xdiff/xpatience.c +6 -17
  324. data/vendor/libgit2/src/xdiff/xprepare.c +15 -20
  325. data/vendor/libgit2/src/xdiff/xutils.c +18 -7
  326. data/vendor/libgit2/src/zstream.c +5 -5
  327. data/vendor/libgit2/src/zstream.h +4 -4
  328. metadata +25 -10
  329. data/vendor/libgit2/src/buffer.h +0 -374
@@ -7,19 +7,14 @@
7
7
 
8
8
  #include "trace.h"
9
9
 
10
- #include "buffer.h"
10
+ #include "str.h"
11
11
  #include "runtime.h"
12
12
  #include "git2/trace.h"
13
13
 
14
- #ifdef GIT_TRACE
15
-
16
14
  struct git_trace_data git_trace__data = {0};
17
15
 
18
- #endif
19
-
20
16
  int git_trace_set(git_trace_level_t level, git_trace_cb callback)
21
17
  {
22
- #ifdef GIT_TRACE
23
18
  GIT_ASSERT_ARG(level == 0 || callback != NULL);
24
19
 
25
20
  git_trace__data.level = level;
@@ -27,12 +22,4 @@ int git_trace_set(git_trace_level_t level, git_trace_cb callback)
27
22
  GIT_MEMORY_BARRIER;
28
23
 
29
24
  return 0;
30
- #else
31
- GIT_UNUSED(level);
32
- GIT_UNUSED(callback);
33
-
34
- git_error_set(GIT_ERROR_INVALID,
35
- "this version of libgit2 was not built with tracing.");
36
- return -1;
37
- #endif
38
25
  }
@@ -10,9 +10,7 @@
10
10
  #include "common.h"
11
11
 
12
12
  #include <git2/trace.h>
13
- #include "buffer.h"
14
-
15
- #ifdef GIT_TRACE
13
+ #include "str.h"
16
14
 
17
15
  struct git_trace_data {
18
16
  git_trace_level_t level;
@@ -27,13 +25,13 @@ GIT_INLINE(void) git_trace__write_fmt(
27
25
  va_list ap)
28
26
  {
29
27
  git_trace_cb callback = git_trace__data.callback;
30
- git_buf message = GIT_BUF_INIT;
28
+ git_str message = GIT_STR_INIT;
31
29
 
32
- git_buf_vprintf(&message, fmt, ap);
30
+ git_str_vprintf(&message, fmt, ap);
33
31
 
34
- callback(level, git_buf_cstr(&message));
32
+ callback(level, git_str_cstr(&message));
35
33
 
36
- git_buf_dispose(&message);
34
+ git_str_dispose(&message);
37
35
  }
38
36
 
39
37
  #define git_trace_level() (git_trace__data.level)
@@ -50,19 +48,4 @@ GIT_INLINE(void) git_trace(git_trace_level_t level, const char *fmt, ...)
50
48
  }
51
49
  }
52
50
 
53
- #else
54
-
55
- GIT_INLINE(void) git_trace__null(
56
- git_trace_level_t level,
57
- const char *fmt, ...)
58
- {
59
- GIT_UNUSED(level);
60
- GIT_UNUSED(fmt);
61
- }
62
-
63
- #define git_trace_level() ((git_trace_level_t)0)
64
- #define git_trace git_trace__null
65
-
66
- #endif
67
-
68
51
  #endif
@@ -286,7 +286,7 @@ enum trailer_state {
286
286
  S_VALUE = 4,
287
287
  S_VALUE_NL = 5,
288
288
  S_VALUE_END = 6,
289
- S_IGNORE = 7,
289
+ S_IGNORE = 7
290
290
  };
291
291
 
292
292
  #define NEXT(st) { state = (st); ptr++; continue; }
@@ -23,7 +23,7 @@
23
23
  typedef enum {
24
24
  TRANSACTION_NONE,
25
25
  TRANSACTION_REFS,
26
- TRANSACTION_CONFIG,
26
+ TRANSACTION_CONFIG
27
27
  } transaction_t;
28
28
 
29
29
  typedef struct {
@@ -12,7 +12,7 @@
12
12
  #include "git2/net.h"
13
13
  #include "git2/transport.h"
14
14
  #include "git2/sys/transport.h"
15
- #include "path.h"
15
+ #include "fs_path.h"
16
16
 
17
17
  typedef struct transport_definition {
18
18
  char *prefix;
@@ -82,7 +82,7 @@ static int transport_find_fn(
82
82
  * to a directory and if so assume local path, else assume SSH */
83
83
 
84
84
  /* Check to see if the path points to a file on the local file system */
85
- if (!definition && git_path_exists(url) && git_path_isdir(url))
85
+ if (!definition && git_fs_path_exists(url) && git_fs_path_isdir(url))
86
86
  definition = &local_transport_definition;
87
87
  #endif
88
88
 
@@ -98,7 +98,7 @@ static int transport_find_fn(
98
98
 
99
99
  #ifndef GIT_WIN32
100
100
  /* Check to see if the path points to a file on the local file system */
101
- if (!definition && git_path_exists(url) && git_path_isdir(url))
101
+ if (!definition && git_fs_path_exists(url) && git_fs_path_isdir(url))
102
102
  definition = &local_transport_definition;
103
103
  #endif
104
104
 
@@ -143,7 +143,7 @@ int git_transport_register(
143
143
  git_transport_cb cb,
144
144
  void *param)
145
145
  {
146
- git_buf prefix = GIT_BUF_INIT;
146
+ git_str prefix = GIT_STR_INIT;
147
147
  transport_definition *d, *definition = NULL;
148
148
  size_t i;
149
149
  int error = 0;
@@ -151,7 +151,7 @@ int git_transport_register(
151
151
  GIT_ASSERT_ARG(scheme);
152
152
  GIT_ASSERT_ARG(cb);
153
153
 
154
- if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
154
+ if ((error = git_str_printf(&prefix, "%s://", scheme)) < 0)
155
155
  goto on_error;
156
156
 
157
157
  git_vector_foreach(&custom_transports, i, d) {
@@ -164,7 +164,7 @@ int git_transport_register(
164
164
  definition = git__calloc(1, sizeof(transport_definition));
165
165
  GIT_ERROR_CHECK_ALLOC(definition);
166
166
 
167
- definition->prefix = git_buf_detach(&prefix);
167
+ definition->prefix = git_str_detach(&prefix);
168
168
  definition->fn = cb;
169
169
  definition->param = param;
170
170
 
@@ -174,21 +174,21 @@ int git_transport_register(
174
174
  return 0;
175
175
 
176
176
  on_error:
177
- git_buf_dispose(&prefix);
177
+ git_str_dispose(&prefix);
178
178
  git__free(definition);
179
179
  return error;
180
180
  }
181
181
 
182
182
  int git_transport_unregister(const char *scheme)
183
183
  {
184
- git_buf prefix = GIT_BUF_INIT;
184
+ git_str prefix = GIT_STR_INIT;
185
185
  transport_definition *d;
186
186
  size_t i;
187
187
  int error = 0;
188
188
 
189
189
  GIT_ASSERT_ARG(scheme);
190
190
 
191
- if ((error = git_buf_printf(&prefix, "%s://", scheme)) < 0)
191
+ if ((error = git_str_printf(&prefix, "%s://", scheme)) < 0)
192
192
  goto done;
193
193
 
194
194
  git_vector_foreach(&custom_transports, i, d) {
@@ -210,7 +210,7 @@ int git_transport_unregister(const char *scheme)
210
210
  error = GIT_ENOTFOUND;
211
211
 
212
212
  done:
213
- git_buf_dispose(&prefix);
213
+ git_str_dispose(&prefix);
214
214
  return error;
215
215
  }
216
216
 
@@ -7,17 +7,15 @@
7
7
 
8
8
  #include "auth.h"
9
9
 
10
- #include "git2.h"
11
- #include "buffer.h"
12
10
  #include "git2/sys/credential.h"
13
11
 
14
12
  static int basic_next_token(
15
- git_buf *out,
13
+ git_str *out,
16
14
  git_http_auth_context *ctx,
17
15
  git_credential *c)
18
16
  {
19
17
  git_credential_userpass_plaintext *cred;
20
- git_buf raw = GIT_BUF_INIT;
18
+ git_str raw = GIT_STR_INIT;
21
19
  int error = GIT_EAUTH;
22
20
 
23
21
  GIT_UNUSED(ctx);
@@ -29,11 +27,11 @@ static int basic_next_token(
29
27
 
30
28
  cred = (git_credential_userpass_plaintext *)c;
31
29
 
32
- git_buf_printf(&raw, "%s:%s", cred->username, cred->password);
30
+ git_str_printf(&raw, "%s:%s", cred->username, cred->password);
33
31
 
34
- if (git_buf_oom(&raw) ||
35
- git_buf_puts(out, "Basic ") < 0 ||
36
- git_buf_encode_base64(out, git_buf_cstr(&raw), raw.size) < 0)
32
+ if (git_str_oom(&raw) ||
33
+ git_str_puts(out, "Basic ") < 0 ||
34
+ git_str_encode_base64(out, git_str_cstr(&raw), raw.size) < 0)
37
35
  goto on_error;
38
36
 
39
37
  error = 0;
@@ -42,7 +40,7 @@ on_error:
42
40
  if (raw.size)
43
41
  git__memzero(raw.ptr, raw.size);
44
42
 
45
- git_buf_dispose(&raw);
43
+ git_str_dispose(&raw);
46
44
  return error;
47
45
  }
48
46
 
@@ -10,13 +10,12 @@
10
10
 
11
11
  #include "common.h"
12
12
 
13
- #include "git2.h"
14
13
  #include "netops.h"
15
14
 
16
15
  typedef enum {
17
16
  GIT_HTTP_AUTH_BASIC = 1,
18
17
  GIT_HTTP_AUTH_NEGOTIATE = 2,
19
- GIT_HTTP_AUTH_NTLM = 4,
18
+ GIT_HTTP_AUTH_NTLM = 4
20
19
  } git_http_auth_t;
21
20
 
22
21
  typedef struct git_http_auth_context git_http_auth_context;
@@ -35,7 +34,7 @@ struct git_http_auth_context {
35
34
  int (*set_challenge)(git_http_auth_context *ctx, const char *challenge);
36
35
 
37
36
  /** Gets the next authentication token from the context */
38
- int (*next_token)(git_buf *out, git_http_auth_context *ctx, git_credential *cred);
37
+ int (*next_token)(git_str *out, git_http_auth_context *ctx, git_credential *cred);
39
38
 
40
39
  /** Examines if all tokens have been presented. */
41
40
  int (*is_complete)(git_http_auth_context *ctx);
@@ -10,7 +10,6 @@
10
10
  #if defined(GIT_GSSAPI) || defined(GIT_GSSFRAMEWORK)
11
11
 
12
12
  #include "git2.h"
13
- #include "buffer.h"
14
13
  #include "auth.h"
15
14
  #include "git2/sys/credential.h"
16
15
 
@@ -33,7 +32,7 @@ typedef struct {
33
32
  git_http_auth_context parent;
34
33
  unsigned configured : 1,
35
34
  complete : 1;
36
- git_buf target;
35
+ git_str target;
37
36
  char *challenge;
38
37
  gss_ctx_id_t gss_context;
39
38
  gss_OID oid;
@@ -87,14 +86,14 @@ static void negotiate_context_dispose(http_auth_negotiate_context *ctx)
87
86
  ctx->gss_context = GSS_C_NO_CONTEXT;
88
87
  }
89
88
 
90
- git_buf_dispose(&ctx->target);
89
+ git_str_dispose(&ctx->target);
91
90
 
92
91
  git__free(ctx->challenge);
93
92
  ctx->challenge = NULL;
94
93
  }
95
94
 
96
95
  static int negotiate_next_token(
97
- git_buf *buf,
96
+ git_str *buf,
98
97
  git_http_auth_context *c,
99
98
  git_credential *cred)
100
99
  {
@@ -104,7 +103,7 @@ static int negotiate_next_token(
104
103
  input_token = GSS_C_EMPTY_BUFFER,
105
104
  output_token = GSS_C_EMPTY_BUFFER;
106
105
  gss_buffer_t input_token_ptr = GSS_C_NO_BUFFER;
107
- git_buf input_buf = GIT_BUF_INIT;
106
+ git_str input_buf = GIT_STR_INIT;
108
107
  gss_name_t server = NULL;
109
108
  gss_OID mech;
110
109
  size_t challenge_len;
@@ -142,7 +141,7 @@ static int negotiate_next_token(
142
141
  }
143
142
 
144
143
  if (challenge_len > 9) {
145
- if (git_buf_decode_base64(&input_buf,
144
+ if (git_str_decode_base64(&input_buf,
146
145
  ctx->challenge + 10, challenge_len - 10) < 0) {
147
146
  git_error_set(GIT_ERROR_NET, "invalid negotiate challenge from server");
148
147
  error = -1;
@@ -192,16 +191,16 @@ static int negotiate_next_token(
192
191
  goto done;
193
192
  }
194
193
 
195
- git_buf_puts(buf, "Negotiate ");
196
- git_buf_encode_base64(buf, output_token.value, output_token.length);
194
+ git_str_puts(buf, "Negotiate ");
195
+ git_str_encode_base64(buf, output_token.value, output_token.length);
197
196
 
198
- if (git_buf_oom(buf))
197
+ if (git_str_oom(buf))
199
198
  error = -1;
200
199
 
201
200
  done:
202
201
  gss_release_name(&status_minor, &server);
203
202
  gss_release_buffer(&status_minor, (gss_buffer_t) &output_token);
204
- git_buf_dispose(&input_buf);
203
+ git_str_dispose(&input_buf);
205
204
  return error;
206
205
  }
207
206
 
@@ -270,10 +269,10 @@ static int negotiate_init_context(
270
269
  return GIT_EAUTH;
271
270
  }
272
271
 
273
- git_buf_puts(&ctx->target, "HTTP@");
274
- git_buf_puts(&ctx->target, url->host);
272
+ git_str_puts(&ctx->target, "HTTP@");
273
+ git_str_puts(&ctx->target, url->host);
275
274
 
276
- if (git_buf_oom(&ctx->target))
275
+ if (git_str_oom(&ctx->target))
277
276
  return -1;
278
277
 
279
278
  ctx->gss_context = GSS_C_NO_CONTEXT;
@@ -5,11 +5,11 @@
5
5
  * a Linking Exception. For full terms see the included COPYING file.
6
6
  */
7
7
 
8
- #include "git2.h"
8
+ #include "auth_ntlm.h"
9
+
9
10
  #include "common.h"
10
- #include "buffer.h"
11
+ #include "str.h"
11
12
  #include "auth.h"
12
- #include "auth_ntlm.h"
13
13
  #include "git2/sys/credential.h"
14
14
 
15
15
  #ifdef GIT_NTLM
@@ -77,12 +77,12 @@ done:
77
77
  }
78
78
 
79
79
  static int ntlm_next_token(
80
- git_buf *buf,
80
+ git_str *buf,
81
81
  git_http_auth_context *c,
82
82
  git_credential *cred)
83
83
  {
84
84
  http_auth_ntlm_context *ctx = (http_auth_ntlm_context *)c;
85
- git_buf input_buf = GIT_BUF_INIT;
85
+ git_str input_buf = GIT_STR_INIT;
86
86
  const unsigned char *msg;
87
87
  size_t challenge_len, msg_len;
88
88
  int error = GIT_EAUTH;
@@ -129,7 +129,7 @@ static int ntlm_next_token(
129
129
  goto done;
130
130
  }
131
131
 
132
- if (git_buf_decode_base64(&input_buf,
132
+ if (git_str_decode_base64(&input_buf,
133
133
  ctx->challenge + 5, challenge_len - 5) < 0) {
134
134
  git_error_set(GIT_ERROR_NET, "invalid NTLM challenge from server");
135
135
  goto done;
@@ -149,16 +149,16 @@ static int ntlm_next_token(
149
149
  }
150
150
  }
151
151
 
152
- git_buf_puts(buf, "NTLM ");
153
- git_buf_encode_base64(buf, (const char *)msg, msg_len);
152
+ git_str_puts(buf, "NTLM ");
153
+ git_str_encode_base64(buf, (const char *)msg, msg_len);
154
154
 
155
- if (git_buf_oom(buf))
155
+ if (git_str_oom(buf))
156
156
  goto done;
157
157
 
158
158
  error = 0;
159
159
 
160
160
  done:
161
- git_buf_dispose(&input_buf);
161
+ git_str_dispose(&input_buf);
162
162
  return error;
163
163
  }
164
164
 
@@ -8,7 +8,6 @@
8
8
  #ifndef INCLUDE_transports_auth_ntlm_h__
9
9
  #define INCLUDE_transports_auth_ntlm_h__
10
10
 
11
- #include "git2.h"
12
11
  #include "auth.h"
13
12
 
14
13
  /* NTLM requires a full request/challenge/response */
@@ -7,12 +7,10 @@
7
7
 
8
8
  #include "common.h"
9
9
 
10
- #include "git2.h"
11
- #include "buffer.h"
12
10
  #include "netops.h"
13
- #include "git2/sys/transport.h"
14
11
  #include "stream.h"
15
12
  #include "streams/socket.h"
13
+ #include "git2/sys/transport.h"
16
14
 
17
15
  #define OWNING_SUBTRANSPORT(s) ((git_subtransport *)(s)->parent.subtransport)
18
16
 
@@ -39,7 +37,7 @@ typedef struct {
39
37
  *
40
38
  * For example: 0035git-upload-pack /libgit2/libgit2\0host=github.com\0
41
39
  */
42
- static int gen_proto(git_buf *request, const char *cmd, const char *url)
40
+ static int gen_proto(git_str *request, const char *cmd, const char *url)
43
41
  {
44
42
  char *delim, *repo;
45
43
  char host[] = "host=";
@@ -61,13 +59,13 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
61
59
 
62
60
  len = 4 + strlen(cmd) + 1 + strlen(repo) + 1 + strlen(host) + (delim - url) + 1;
63
61
 
64
- git_buf_grow(request, len);
65
- git_buf_printf(request, "%04x%s %s%c%s",
62
+ git_str_grow(request, len);
63
+ git_str_printf(request, "%04x%s %s%c%s",
66
64
  (unsigned int)(len & 0x0FFFF), cmd, repo, 0, host);
67
- git_buf_put(request, url, delim - url);
68
- git_buf_putc(request, '\0');
65
+ git_str_put(request, url, delim - url);
66
+ git_str_putc(request, '\0');
69
67
 
70
- if (git_buf_oom(request))
68
+ if (git_str_oom(request))
71
69
  return -1;
72
70
 
73
71
  return 0;
@@ -75,7 +73,7 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
75
73
 
76
74
  static int send_command(git_proto_stream *s)
77
75
  {
78
- git_buf request = GIT_BUF_INIT;
76
+ git_str request = GIT_STR_INIT;
79
77
  int error;
80
78
 
81
79
  if ((error = gen_proto(&request, s->cmd, s->url)) < 0)
@@ -87,7 +85,7 @@ static int send_command(git_proto_stream *s)
87
85
  s->sent_command = 1;
88
86
 
89
87
  cleanup:
90
- git_buf_dispose(&request);
88
+ git_str_dispose(&request);
91
89
  return error;
92
90
  }
93
91
 
@@ -9,13 +9,10 @@
9
9
 
10
10
  #ifndef GIT_WINHTTP
11
11
 
12
- #include "git2.h"
13
12
  #include "http_parser.h"
14
- #include "buffer.h"
15
13
  #include "net.h"
16
14
  #include "netops.h"
17
15
  #include "remote.h"
18
- #include "git2/sys/credential.h"
19
16
  #include "smart.h"
20
17
  #include "auth.h"
21
18
  #include "http.h"
@@ -25,6 +22,7 @@
25
22
  #include "streams/tls.h"
26
23
  #include "streams/socket.h"
27
24
  #include "httpclient.h"
25
+ #include "git2/sys/credential.h"
28
26
 
29
27
  bool git_http__expect_continue = false;
30
28
 
@@ -40,7 +38,8 @@ typedef struct {
40
38
  const char *url;
41
39
  const char *request_type;
42
40
  const char *response_type;
43
- unsigned chunked : 1;
41
+ unsigned int initial : 1,
42
+ chunked : 1;
44
43
  } http_service;
45
44
 
46
45
  typedef struct {
@@ -72,24 +71,28 @@ static const http_service upload_pack_ls_service = {
72
71
  GIT_HTTP_METHOD_GET, "/info/refs?service=git-upload-pack",
73
72
  NULL,
74
73
  "application/x-git-upload-pack-advertisement",
74
+ 1,
75
75
  0
76
76
  };
77
77
  static const http_service upload_pack_service = {
78
78
  GIT_HTTP_METHOD_POST, "/git-upload-pack",
79
79
  "application/x-git-upload-pack-request",
80
80
  "application/x-git-upload-pack-result",
81
+ 0,
81
82
  0
82
83
  };
83
84
  static const http_service receive_pack_ls_service = {
84
85
  GIT_HTTP_METHOD_GET, "/info/refs?service=git-receive-pack",
85
86
  NULL,
86
87
  "application/x-git-receive-pack-advertisement",
88
+ 1,
87
89
  0
88
90
  };
89
91
  static const http_service receive_pack_service = {
90
92
  GIT_HTTP_METHOD_POST, "/git-receive-pack",
91
93
  "application/x-git-receive-pack-request",
92
94
  "application/x-git-receive-pack-result",
95
+ 0,
93
96
  1
94
97
  };
95
98
 
@@ -176,6 +179,7 @@ GIT_INLINE(int) handle_remote_auth(
176
179
  git_http_response *response)
177
180
  {
178
181
  http_subtransport *transport = OWNING_SUBTRANSPORT(stream);
182
+ git_remote_connect_options *connect_opts = &transport->owner->connect_opts;
179
183
 
180
184
  if (response->server_auth_credtypes == 0) {
181
185
  git_error_set(GIT_ERROR_HTTP, "server requires authentication that we do not support");
@@ -189,8 +193,8 @@ GIT_INLINE(int) handle_remote_auth(
189
193
  transport->owner->url,
190
194
  response->server_auth_schemetypes,
191
195
  response->server_auth_credtypes,
192
- transport->owner->cred_acquire_cb,
193
- transport->owner->cred_acquire_payload);
196
+ connect_opts->callbacks.credentials,
197
+ connect_opts->callbacks.payload);
194
198
  }
195
199
 
196
200
  GIT_INLINE(int) handle_proxy_auth(
@@ -198,6 +202,7 @@ GIT_INLINE(int) handle_proxy_auth(
198
202
  git_http_response *response)
199
203
  {
200
204
  http_subtransport *transport = OWNING_SUBTRANSPORT(stream);
205
+ git_remote_connect_options *connect_opts = &transport->owner->connect_opts;
201
206
 
202
207
  if (response->proxy_auth_credtypes == 0) {
203
208
  git_error_set(GIT_ERROR_HTTP, "proxy requires authentication that we do not support");
@@ -208,13 +213,26 @@ GIT_INLINE(int) handle_proxy_auth(
208
213
  return handle_auth(
209
214
  &transport->proxy,
210
215
  SERVER_TYPE_PROXY,
211
- transport->owner->proxy.url,
216
+ connect_opts->proxy_opts.url,
212
217
  response->server_auth_schemetypes,
213
218
  response->proxy_auth_credtypes,
214
- transport->owner->proxy.credentials,
215
- transport->owner->proxy.payload);
219
+ connect_opts->proxy_opts.credentials,
220
+ connect_opts->proxy_opts.payload);
216
221
  }
217
222
 
223
+ static bool allow_redirect(http_stream *stream)
224
+ {
225
+ http_subtransport *transport = OWNING_SUBTRANSPORT(stream);
226
+
227
+ switch (transport->owner->connect_opts.follow_redirects) {
228
+ case GIT_REMOTE_REDIRECT_INITIAL:
229
+ return (stream->service->initial == 1);
230
+ case GIT_REMOTE_REDIRECT_ALL:
231
+ return true;
232
+ default:
233
+ return false;
234
+ }
235
+ }
218
236
 
219
237
  static int handle_response(
220
238
  bool *complete,
@@ -233,7 +251,7 @@ static int handle_response(
233
251
  return -1;
234
252
  }
235
253
 
236
- if (git_net_url_apply_redirect(&transport->server.url, response->location, stream->service->url) < 0) {
254
+ if (git_net_url_apply_redirect(&transport->server.url, response->location, allow_redirect(stream), stream->service->url) < 0) {
237
255
  return -1;
238
256
  }
239
257
 
@@ -288,6 +306,7 @@ static int lookup_proxy(
288
306
  bool *out_use,
289
307
  http_subtransport *transport)
290
308
  {
309
+ git_remote_connect_options *connect_opts = &transport->owner->connect_opts;
291
310
  const char *proxy;
292
311
  git_remote *remote;
293
312
  char *config = NULL;
@@ -296,9 +315,9 @@ static int lookup_proxy(
296
315
  *out_use = false;
297
316
  git_net_url_dispose(&transport->proxy.url);
298
317
 
299
- switch (transport->owner->proxy.type) {
318
+ switch (connect_opts->proxy_opts.type) {
300
319
  case GIT_PROXY_SPECIFIED:
301
- proxy = transport->owner->proxy.url;
320
+ proxy = connect_opts->proxy_opts.url;
302
321
  break;
303
322
 
304
323
  case GIT_PROXY_AUTO:
@@ -347,7 +366,7 @@ static int generate_request(
347
366
  request->credentials = transport->server.cred;
348
367
  request->proxy = use_proxy ? &transport->proxy.url : NULL;
349
368
  request->proxy_credentials = transport->proxy.cred;
350
- request->custom_headers = &transport->owner->custom_headers;
369
+ request->custom_headers = &transport->owner->connect_opts.custom_headers;
351
370
 
352
371
  if (stream->service->method == GIT_HTTP_METHOD_POST) {
353
372
  request->chunked = stream->service->chunked;
@@ -635,6 +654,7 @@ static int http_action(
635
654
  git_smart_service_t action)
636
655
  {
637
656
  http_subtransport *transport = GIT_CONTAINER_OF(t, http_subtransport, parent);
657
+ git_remote_connect_options *connect_opts = &transport->owner->connect_opts;
638
658
  http_stream *stream;
639
659
  const http_service *service;
640
660
  int error;
@@ -666,10 +686,10 @@ static int http_action(
666
686
  if (!transport->http_client) {
667
687
  git_http_client_options opts = {0};
668
688
 
669
- opts.server_certificate_check_cb = transport->owner->certificate_check_cb;
670
- opts.server_certificate_check_payload = transport->owner->message_cb_payload;
671
- opts.proxy_certificate_check_cb = transport->owner->proxy.certificate_check;
672
- opts.proxy_certificate_check_payload = transport->owner->proxy.payload;
689
+ opts.server_certificate_check_cb = connect_opts->callbacks.certificate_check;
690
+ opts.server_certificate_check_payload = connect_opts->callbacks.payload;
691
+ opts.proxy_certificate_check_cb = connect_opts->proxy_opts.certificate_check;
692
+ opts.proxy_certificate_check_payload = connect_opts->proxy_opts.payload;
673
693
 
674
694
  if (git_http_client_new(&transport->http_client, &opts) < 0)
675
695
  return -1;
@@ -8,7 +8,6 @@
8
8
  #ifndef INCLUDE_transports_http_h__
9
9
  #define INCLUDE_transports_http_h__
10
10
 
11
- #include "buffer.h"
12
11
  #include "settings.h"
13
12
  #include "httpclient.h"
14
13
 
@@ -16,14 +15,14 @@
16
15
 
17
16
  extern bool git_http__expect_continue;
18
17
 
19
- GIT_INLINE(int) git_http__user_agent(git_buf *buf)
18
+ GIT_INLINE(int) git_http__user_agent(git_str *buf)
20
19
  {
21
20
  const char *ua = git_libgit2__user_agent();
22
21
 
23
22
  if (!ua)
24
23
  ua = "libgit2 " LIBGIT2_VERSION;
25
24
 
26
- return git_buf_printf(buf, "git/2.0 (%s)", ua);
25
+ return git_str_printf(buf, "git/2.0 (%s)", ua);
27
26
  }
28
27
 
29
28
  #endif