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.
- checksums.yaml +4 -4
- data/README.md +34 -2
- data/ext/rugged/extconf.rb +6 -3
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- data/ext/rugged/rugged_allocator.c +0 -54
- data/ext/rugged/rugged_blame.c +2 -0
- data/ext/rugged/rugged_blob.c +3 -0
- data/ext/rugged/rugged_commit.c +1 -0
- data/ext/rugged/rugged_config.c +9 -2
- data/ext/rugged/rugged_diff.c +1 -0
- data/ext/rugged/rugged_index.c +2 -0
- data/ext/rugged/rugged_patch.c +1 -0
- data/ext/rugged/rugged_rebase.c +1 -0
- data/ext/rugged/rugged_reference.c +1 -0
- data/ext/rugged/rugged_remote.c +28 -10
- data/ext/rugged/rugged_repo.c +7 -9
- data/ext/rugged/rugged_revwalk.c +5 -1
- data/ext/rugged/rugged_settings.c +5 -0
- data/ext/rugged/rugged_submodule.c +1 -0
- data/ext/rugged/rugged_tag.c +1 -0
- data/ext/rugged/rugged_tree.c +4 -0
- data/lib/rugged/index.rb +1 -1
- data/lib/rugged/tree.rb +5 -1
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +141 -289
- data/vendor/libgit2/COPYING +301 -20
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
- data/vendor/libgit2/cmake/CheckPrototypeDefinitionSafe.cmake +16 -0
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
- data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
- data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
- data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
- data/vendor/libgit2/cmake/FindHTTP_Parser.cmake +17 -17
- data/vendor/libgit2/cmake/FindIntlIconv.cmake +51 -0
- data/vendor/libgit2/cmake/FindLLHTTP.cmake +39 -0
- data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
- data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
- data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
- data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
- data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
- data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
- data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
- data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
- data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
- data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
- data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +34 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +129 -101
- data/vendor/libgit2/cmake/SelectHashes.cmake +113 -54
- data/vendor/libgit2/cmake/SelectRegex.cmake +56 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +46 -0
- data/vendor/libgit2/cmake/SelectXdiff.cmake +9 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +38 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/llhttp/CMakeLists.txt +8 -0
- data/vendor/libgit2/deps/llhttp/LICENSE-MIT +22 -0
- data/vendor/libgit2/deps/llhttp/api.c +510 -0
- data/vendor/libgit2/deps/llhttp/http.c +170 -0
- data/vendor/libgit2/deps/llhttp/llhttp.c +10168 -0
- data/vendor/libgit2/deps/llhttp/llhttp.h +897 -0
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_builtin_md4.c +311 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +0 -20
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +7 -5
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +25 -25
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +5 -4
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +2 -1
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1176 -721
- data/vendor/libgit2/deps/ntlmclient/util.h +11 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +89 -88
- data/vendor/libgit2/deps/pcre/LICENCE +5 -5
- data/vendor/libgit2/deps/pcre/pcre.h +2 -2
- data/vendor/libgit2/deps/pcre/pcre_compile.c +6 -3
- data/vendor/libgit2/deps/pcre/pcre_exec.c +2 -2
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/xdiff/CMakeLists.txt +28 -0
- data/vendor/libgit2/deps/xdiff/git-xdiff.h +56 -0
- data/vendor/libgit2/{src → deps}/xdiff/xdiff.h +15 -15
- data/vendor/libgit2/{src → deps}/xdiff/xdiffi.c +152 -125
- data/vendor/libgit2/{src → deps}/xdiff/xdiffi.h +2 -4
- data/vendor/libgit2/{src → deps}/xdiff/xemit.c +26 -10
- data/vendor/libgit2/{src → deps}/xdiff/xhistogram.c +92 -94
- data/vendor/libgit2/{src → deps}/xdiff/xinclude.h +1 -12
- data/vendor/libgit2/{src → deps}/xdiff/xmacros.h +18 -1
- data/vendor/libgit2/{src → deps}/xdiff/xmerge.c +126 -137
- data/vendor/libgit2/{src → deps}/xdiff/xpatience.c +26 -46
- data/vendor/libgit2/{src → deps}/xdiff/xprepare.c +24 -46
- data/vendor/libgit2/{src → deps}/xdiff/xutils.c +36 -8
- data/vendor/libgit2/{src → deps}/xdiff/xutils.h +2 -1
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +6 -1
- data/vendor/libgit2/deps/zlib/LICENSE +22 -0
- data/vendor/libgit2/deps/zlib/adler32.c +7 -22
- data/vendor/libgit2/deps/zlib/crc32.c +931 -317
- data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
- data/vendor/libgit2/deps/zlib/deflate.c +428 -453
- data/vendor/libgit2/deps/zlib/deflate.h +51 -23
- data/vendor/libgit2/deps/zlib/gzguts.h +15 -19
- data/vendor/libgit2/deps/zlib/infback.c +19 -31
- data/vendor/libgit2/deps/zlib/inffast.c +15 -18
- data/vendor/libgit2/deps/zlib/inffast.h +1 -1
- data/vendor/libgit2/deps/zlib/inflate.c +75 -110
- data/vendor/libgit2/deps/zlib/inflate.h +3 -2
- data/vendor/libgit2/deps/zlib/inftrees.c +6 -11
- data/vendor/libgit2/deps/zlib/inftrees.h +6 -6
- data/vendor/libgit2/deps/zlib/trees.c +294 -380
- data/vendor/libgit2/deps/zlib/zconf.h +23 -14
- data/vendor/libgit2/deps/zlib/zlib.h +310 -284
- data/vendor/libgit2/deps/zlib/zutil.c +20 -46
- data/vendor/libgit2/deps/zlib/zutil.h +24 -41
- data/vendor/libgit2/include/git2/annotated_commit.h +12 -5
- data/vendor/libgit2/include/git2/apply.h +43 -8
- data/vendor/libgit2/include/git2/attr.h +28 -6
- data/vendor/libgit2/include/git2/blame.h +137 -29
- data/vendor/libgit2/include/git2/blob.h +85 -29
- data/vendor/libgit2/include/git2/branch.h +25 -16
- data/vendor/libgit2/include/git2/buffer.h +24 -82
- data/vendor/libgit2/include/git2/cert.h +4 -3
- data/vendor/libgit2/include/git2/checkout.h +88 -34
- data/vendor/libgit2/include/git2/cherrypick.h +10 -3
- data/vendor/libgit2/include/git2/clone.h +28 -12
- data/vendor/libgit2/include/git2/commit.h +134 -3
- data/vendor/libgit2/include/git2/common.h +172 -59
- data/vendor/libgit2/include/git2/config.h +118 -32
- data/vendor/libgit2/include/git2/credential.h +32 -3
- data/vendor/libgit2/include/git2/credential_helpers.h +2 -0
- data/vendor/libgit2/include/git2/deprecated.h +141 -3
- data/vendor/libgit2/include/git2/describe.h +20 -3
- data/vendor/libgit2/include/git2/diff.h +95 -19
- data/vendor/libgit2/include/git2/email.h +10 -30
- data/vendor/libgit2/include/git2/errors.h +51 -61
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- data/vendor/libgit2/include/git2/filter.h +21 -9
- data/vendor/libgit2/include/git2/global.h +8 -1
- data/vendor/libgit2/include/git2/graph.h +4 -2
- data/vendor/libgit2/include/git2/ignore.h +11 -1
- data/vendor/libgit2/include/git2/index.h +111 -11
- data/vendor/libgit2/include/git2/indexer.h +67 -2
- data/vendor/libgit2/include/git2/mailmap.h +7 -1
- data/vendor/libgit2/include/git2/merge.h +70 -5
- data/vendor/libgit2/include/git2/message.h +4 -2
- data/vendor/libgit2/include/git2/net.h +3 -1
- data/vendor/libgit2/include/git2/notes.h +9 -6
- data/vendor/libgit2/include/git2/object.h +57 -7
- data/vendor/libgit2/include/git2/odb.h +156 -33
- data/vendor/libgit2/include/git2/odb_backend.h +132 -16
- data/vendor/libgit2/include/git2/oid.h +116 -17
- data/vendor/libgit2/include/git2/oidarray.h +7 -1
- data/vendor/libgit2/include/git2/pack.h +37 -9
- data/vendor/libgit2/include/git2/patch.h +10 -3
- data/vendor/libgit2/include/git2/pathspec.h +10 -1
- data/vendor/libgit2/include/git2/proxy.h +11 -1
- data/vendor/libgit2/include/git2/rebase.h +18 -7
- data/vendor/libgit2/include/git2/refdb.h +5 -2
- data/vendor/libgit2/include/git2/reflog.h +4 -3
- data/vendor/libgit2/include/git2/refs.h +11 -8
- data/vendor/libgit2/include/git2/refspec.h +14 -4
- data/vendor/libgit2/include/git2/remote.h +295 -54
- data/vendor/libgit2/include/git2/repository.h +95 -25
- data/vendor/libgit2/include/git2/reset.h +18 -5
- data/vendor/libgit2/include/git2/revert.h +9 -4
- data/vendor/libgit2/include/git2/revparse.h +4 -4
- data/vendor/libgit2/include/git2/revwalk.h +7 -3
- data/vendor/libgit2/include/git2/signature.h +47 -2
- data/vendor/libgit2/include/git2/stash.h +78 -10
- data/vendor/libgit2/include/git2/status.h +24 -11
- data/vendor/libgit2/include/git2/stdint.h +87 -85
- data/vendor/libgit2/include/git2/strarray.h +2 -16
- data/vendor/libgit2/include/git2/submodule.h +27 -11
- data/vendor/libgit2/include/git2/sys/alloc.h +12 -34
- data/vendor/libgit2/include/git2/sys/commit.h +77 -3
- data/vendor/libgit2/include/git2/sys/commit_graph.h +110 -59
- data/vendor/libgit2/include/git2/sys/config.h +80 -4
- data/vendor/libgit2/include/git2/sys/credential.h +4 -3
- data/vendor/libgit2/include/git2/sys/diff.h +21 -1
- data/vendor/libgit2/include/git2/sys/email.h +7 -0
- data/vendor/libgit2/include/git2/sys/errors.h +76 -0
- data/vendor/libgit2/include/git2/sys/filter.h +66 -3
- data/vendor/libgit2/include/git2/sys/hashsig.h +11 -0
- data/vendor/libgit2/include/git2/sys/index.h +3 -2
- data/vendor/libgit2/include/git2/sys/mempack.h +32 -2
- data/vendor/libgit2/include/git2/sys/merge.h +55 -7
- data/vendor/libgit2/include/git2/sys/midx.h +47 -4
- data/vendor/libgit2/include/git2/sys/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/sys/openssl.h +8 -1
- data/vendor/libgit2/include/git2/sys/path.h +12 -1
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +40 -36
- data/vendor/libgit2/include/git2/sys/refs.h +3 -2
- data/vendor/libgit2/include/git2/sys/remote.h +53 -0
- data/vendor/libgit2/include/git2/sys/repository.h +63 -3
- data/vendor/libgit2/include/git2/sys/stream.h +26 -3
- data/vendor/libgit2/include/git2/sys/transport.h +87 -41
- data/vendor/libgit2/include/git2/tag.h +4 -1
- data/vendor/libgit2/include/git2/trace.h +9 -3
- data/vendor/libgit2/include/git2/transaction.h +3 -2
- data/vendor/libgit2/include/git2/transport.h +11 -3
- data/vendor/libgit2/include/git2/tree.h +20 -8
- data/vendor/libgit2/include/git2/types.h +26 -10
- data/vendor/libgit2/include/git2/version.h +63 -6
- data/vendor/libgit2/include/git2/worktree.h +30 -8
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +203 -420
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +56 -0
- data/vendor/libgit2/src/cli/README.md +26 -0
- data/vendor/libgit2/src/{branch.h → cli/cmd.c} +10 -8
- data/vendor/libgit2/src/cli/cmd.h +37 -0
- data/vendor/libgit2/src/cli/cmd_blame.c +287 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +202 -0
- data/vendor/libgit2/src/cli/cmd_clone.c +190 -0
- data/vendor/libgit2/src/cli/cmd_config.c +241 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +152 -0
- data/vendor/libgit2/src/cli/cmd_help.c +85 -0
- data/vendor/libgit2/src/cli/cmd_index_pack.c +114 -0
- data/vendor/libgit2/src/cli/cmd_init.c +102 -0
- data/vendor/libgit2/src/cli/common.c +168 -0
- data/vendor/libgit2/src/cli/common.h +63 -0
- data/vendor/libgit2/src/cli/error.h +51 -0
- data/vendor/libgit2/src/cli/main.c +134 -0
- data/vendor/libgit2/src/cli/opt.c +695 -0
- data/vendor/libgit2/src/cli/opt.h +367 -0
- data/vendor/libgit2/src/cli/opt_usage.c +263 -0
- data/vendor/libgit2/src/cli/opt_usage.h +40 -0
- data/vendor/libgit2/src/cli/progress.c +395 -0
- data/vendor/libgit2/src/cli/progress.h +129 -0
- data/vendor/libgit2/src/cli/sighandler.h +20 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +37 -0
- data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
- data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +140 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +2 -2
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +32 -34
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +48 -31
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +25 -20
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +6 -4
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +87 -46
- data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +5 -9
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +152 -57
- data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +1 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -2
- data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
- data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
- data/vendor/libgit2/src/libgit2/branch.h +31 -0
- data/vendor/libgit2/src/libgit2/buf.c +126 -0
- data/vendor/libgit2/src/libgit2/buf.h +50 -0
- data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +22 -17
- data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +7 -9
- data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +107 -91
- data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -2
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +14 -15
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +254 -203
- data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +4 -1
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +296 -77
- data/vendor/libgit2/src/libgit2/commit.h +87 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +246 -135
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +33 -8
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +17 -7
- data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +1 -0
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +490 -360
- data/vendor/libgit2/src/libgit2/config.cmake.in +3 -0
- data/vendor/libgit2/src/{config.h → libgit2/config.h} +24 -6
- data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +8 -10
- data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +4 -5
- data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +212 -183
- data/vendor/libgit2/src/libgit2/config_list.c +285 -0
- data/vendor/libgit2/src/libgit2/config_list.h +32 -0
- data/vendor/libgit2/src/libgit2/config_mem.c +374 -0
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +37 -32
- data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +24 -31
- data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +62 -51
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +44 -14
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +8 -10
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +46 -55
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +5 -5
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +45 -27
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +70 -20
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
- data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +22 -6
- data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +192 -105
- data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
- data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
- data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +49 -16
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
- data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +1 -1
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +58 -40
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
- data/vendor/libgit2/src/{transports/ssh.h → libgit2/experimental.h.in} +3 -4
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +105 -30
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -3
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +30 -28
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +132 -58
- data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
- data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +3 -3
- data/vendor/libgit2/src/libgit2/grafts.c +270 -0
- data/vendor/libgit2/src/libgit2/grafts.h +35 -0
- data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +1 -1
- data/vendor/libgit2/src/libgit2/hashmap_oid.h +30 -0
- data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
- data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +44 -39
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +460 -276
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +21 -5
- data/vendor/libgit2/src/libgit2/index_map.c +95 -0
- data/vendor/libgit2/src/libgit2/index_map.h +28 -0
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +208 -124
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +102 -71
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +8 -5
- data/vendor/libgit2/src/libgit2/libgit2.c +268 -0
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +39 -37
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +83 -73
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +4 -4
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -5
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +174 -112
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +17 -6
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +53 -57
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +9 -2
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +29 -37
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +166 -35
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +17 -2
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +261 -88
- data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
- data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
- data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +67 -22
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +162 -89
- data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +171 -92
- data/vendor/libgit2/src/libgit2/oid.h +284 -0
- data/vendor/libgit2/src/libgit2/oidarray.c +89 -0
- data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +5 -1
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +126 -66
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +28 -12
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +146 -111
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +45 -25
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +8 -4
- data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +1 -1
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +8 -1
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +51 -16
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +42 -34
- data/vendor/libgit2/src/libgit2/path.c +375 -0
- data/vendor/libgit2/src/libgit2/path.h +68 -0
- data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +7 -7
- data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
- data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
- data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
- data/vendor/libgit2/src/{push.c → libgit2/push.c} +116 -60
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +5 -16
- data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
- data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +147 -147
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +639 -254
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +8 -7
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +3 -2
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +67 -39
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +8 -3
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +60 -38
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +13 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +821 -454
- data/vendor/libgit2/src/libgit2/remote.h +101 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +1377 -594
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +43 -12
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +18 -22
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +76 -44
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +48 -19
- data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +3 -3
- data/vendor/libgit2/src/{libgit2.c → libgit2/settings.c} +162 -95
- data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +6 -2
- data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +144 -21
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -2
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +243 -68
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +5 -2
- data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
- data/vendor/libgit2/src/libgit2/strarray.h +25 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +62 -67
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +41 -24
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +2 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +11 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +6 -3
- data/vendor/libgit2/src/libgit2/streams/schannel.c +715 -0
- data/vendor/libgit2/src/libgit2/streams/schannel.h +28 -0
- data/vendor/libgit2/src/libgit2/streams/socket.c +428 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +3 -1
- data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +79 -19
- data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +5 -0
- data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +279 -220
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +10 -11
- data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +55 -18
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +74 -43
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
- data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
- data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
- data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +7 -7
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +27 -21
- data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +4 -1
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +14 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +3 -5
- data/vendor/libgit2/src/{transports/auth_negotiate.c → libgit2/transports/auth_gssapi.c} +44 -45
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +1 -2
- data/vendor/libgit2/src/{transports/auth_ntlm.c → libgit2/transports/auth_ntlmclient.c} +22 -22
- data/vendor/libgit2/src/libgit2/transports/auth_sspi.c +341 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +1 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +16 -19
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +49 -24
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +0 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +188 -134
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.c +128 -0
- data/vendor/libgit2/src/libgit2/transports/httpparser.h +99 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +159 -127
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +142 -165
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +56 -36
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +307 -74
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +297 -97
- data/vendor/libgit2/src/libgit2/transports/ssh.c +85 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.c +347 -0
- data/vendor/libgit2/src/libgit2/transports/ssh_exec.h +26 -0
- data/vendor/libgit2/src/{transports/ssh.c → libgit2/transports/ssh_libssh2.c} +414 -268
- data/vendor/libgit2/src/libgit2/transports/ssh_libssh2.h +28 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +101 -75
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +30 -20
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +7 -5
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +128 -110
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +7 -6
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +160 -121
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
- data/vendor/libgit2/src/util/CMakeLists.txt +77 -0
- data/vendor/libgit2/src/{alloc.c → util/alloc.c} +69 -7
- data/vendor/libgit2/src/util/alloc.h +65 -0
- data/vendor/libgit2/src/util/allocators/debugalloc.c +73 -0
- data/vendor/libgit2/src/util/allocators/debugalloc.h +17 -0
- data/vendor/libgit2/src/util/allocators/failalloc.c +32 -0
- data/vendor/libgit2/src/util/allocators/failalloc.h +17 -0
- data/vendor/libgit2/src/util/allocators/stdalloc.c +37 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/util/allocators/win32_leakcheck.c +50 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{array.h → util/array.h} +25 -19
- data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +5 -1
- data/vendor/libgit2/src/util/ctype_compat.h +70 -0
- data/vendor/libgit2/src/{date.c → util/date.c} +35 -33
- data/vendor/libgit2/src/util/date.h +45 -0
- data/vendor/libgit2/src/util/errors.c +401 -0
- data/vendor/libgit2/src/{errors.h → util/errors.h} +22 -19
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +35 -30
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +21 -8
- data/vendor/libgit2/src/{path.c → util/fs_path.c} +591 -615
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +257 -181
- data/vendor/libgit2/src/{futils.c → util/futils.c} +144 -95
- data/vendor/libgit2/src/{futils.h → util/futils.h} +40 -18
- data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +33 -2
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +26 -59
- data/vendor/libgit2/src/util/hash/builtin.c +53 -0
- data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
- data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
- data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +347 -0
- data/vendor/libgit2/src/util/hash/openssl.h +61 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
- data/vendor/libgit2/src/util/hash/sha.h +73 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/util/hash/win32.c +549 -0
- data/vendor/libgit2/src/util/hash/win32.h +60 -0
- data/vendor/libgit2/src/util/hash.c +158 -0
- data/vendor/libgit2/src/util/hash.h +61 -0
- data/vendor/libgit2/src/util/hashmap.h +424 -0
- data/vendor/libgit2/src/util/hashmap_str.h +43 -0
- data/vendor/libgit2/src/{integer.h → util/integer.h} +3 -1
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/util/net.c +1160 -0
- data/vendor/libgit2/src/{net.h → util/net.h} +45 -4
- data/vendor/libgit2/src/{pool.c → util/pool.c} +1 -1
- data/vendor/libgit2/src/{pool.h → util/pool.h} +6 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +57 -3
- data/vendor/libgit2/src/{posix.h → util/posix.h} +26 -1
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +3 -3
- data/vendor/libgit2/src/util/process.h +222 -0
- data/vendor/libgit2/src/util/rand.c +230 -0
- data/vendor/libgit2/src/util/rand.h +37 -0
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +5 -5
- data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
- data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
- data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
- data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +15 -14
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +5 -5
- data/vendor/libgit2/src/util/staticstr.h +66 -0
- data/vendor/libgit2/src/{buffer.c → util/str.c} +159 -153
- data/vendor/libgit2/src/util/str.h +357 -0
- data/vendor/libgit2/src/util/strlist.c +108 -0
- data/vendor/libgit2/src/util/strlist.h +36 -0
- data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
- data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
- data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
- data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -6
- data/vendor/libgit2/src/util/unix/process.c +629 -0
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +24 -8
- data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
- data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
- data/vendor/libgit2/src/{util.c → util/util.c} +24 -19
- data/vendor/libgit2/src/{util.h → util/util.h} +30 -81
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.c → util/vector.c} +3 -3
- data/vendor/libgit2/src/{vector.h → util/vector.h} +4 -4
- data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +148 -17
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
- data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +42 -35
- data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
- data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
- data/vendor/libgit2/src/util/win32/process.c +506 -0
- data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/util/win32/utf-conv.c +144 -0
- data/vendor/libgit2/src/util/win32/utf-conv.h +127 -0
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
- data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
- data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
- metadata +431 -362
- data/vendor/libgit2/cmake/FindIconv.cmake +0 -45
- data/vendor/libgit2/deps/http-parser/CMakeLists.txt +0 -6
- data/vendor/libgit2/deps/http-parser/COPYING +0 -23
- data/vendor/libgit2/deps/http-parser/http_parser.c +0 -2182
- data/vendor/libgit2/deps/http-parser/http_parser.h +0 -305
- data/vendor/libgit2/deps/zlib/COPYING +0 -27
- data/vendor/libgit2/include/git2/sys/reflog.h +0 -21
- data/vendor/libgit2/src/alloc.h +0 -40
- data/vendor/libgit2/src/allocators/failalloc.c +0 -92
- data/vendor/libgit2/src/allocators/failalloc.h +0 -23
- data/vendor/libgit2/src/allocators/stdalloc.c +0 -150
- data/vendor/libgit2/src/allocators/win32_leakcheck.c +0 -118
- data/vendor/libgit2/src/buffer.h +0 -374
- data/vendor/libgit2/src/commit.h +0 -46
- data/vendor/libgit2/src/config_entries.c +0 -237
- data/vendor/libgit2/src/config_entries.h +0 -24
- data/vendor/libgit2/src/config_mem.c +0 -220
- data/vendor/libgit2/src/errors.c +0 -238
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
- data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
- data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
- data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
- data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
- data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash.c +0 -110
- data/vendor/libgit2/src/hash.h +0 -46
- data/vendor/libgit2/src/idxmap.c +0 -157
- data/vendor/libgit2/src/idxmap.h +0 -177
- data/vendor/libgit2/src/khash.h +0 -615
- data/vendor/libgit2/src/libgit2.h +0 -15
- data/vendor/libgit2/src/message.h +0 -17
- data/vendor/libgit2/src/net.c +0 -540
- data/vendor/libgit2/src/netops.c +0 -125
- data/vendor/libgit2/src/netops.h +0 -68
- data/vendor/libgit2/src/offmap.c +0 -101
- data/vendor/libgit2/src/offmap.h +0 -133
- data/vendor/libgit2/src/oid.h +0 -51
- data/vendor/libgit2/src/oidarray.c +0 -43
- data/vendor/libgit2/src/oidmap.c +0 -107
- data/vendor/libgit2/src/oidmap.h +0 -128
- data/vendor/libgit2/src/remote.h +0 -55
- data/vendor/libgit2/src/streams/socket.c +0 -239
- data/vendor/libgit2/src/strmap.c +0 -100
- data/vendor/libgit2/src/strmap.h +0 -131
- data/vendor/libgit2/src/sysdir.c +0 -347
- data/vendor/libgit2/src/threadstate.c +0 -84
- data/vendor/libgit2/src/threadstate.h +0 -24
- data/vendor/libgit2/src/win32/findfile.c +0 -230
- data/vendor/libgit2/src/win32/findfile.h +0 -19
- data/vendor/libgit2/src/win32/utf-conv.c +0 -146
- data/vendor/libgit2/src/win32/utf-conv.h +0 -60
- /data/vendor/libgit2/{src → deps}/xdiff/xemit.h +0 -0
- /data/vendor/libgit2/{src → deps}/xdiff/xprepare.h +0 -0
- /data/vendor/libgit2/{src → deps}/xdiff/xtypes.h +0 -0
- /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
- /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
- /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
- /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
- /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
- /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
- /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
- /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
- /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
- /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
- /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
- /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
- /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
- /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
- /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
- /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
- /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
- /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
- /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
- /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
- /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
@@ -7,24 +7,28 @@
|
|
7
7
|
#ifndef INCLUDE_futils_h__
|
8
8
|
#define INCLUDE_futils_h__
|
9
9
|
|
10
|
-
#include "
|
10
|
+
#include "git2_util.h"
|
11
11
|
|
12
12
|
#include "map.h"
|
13
13
|
#include "posix.h"
|
14
|
-
#include "
|
14
|
+
#include "fs_path.h"
|
15
15
|
#include "pool.h"
|
16
|
-
#include "
|
17
|
-
#include "
|
16
|
+
#include "hash.h"
|
17
|
+
#include "hashmap_str.h"
|
18
18
|
|
19
19
|
/**
|
20
20
|
* Filebuffer methods
|
21
21
|
*
|
22
22
|
* Read whole files into an in-memory buffer for processing
|
23
23
|
*/
|
24
|
-
extern int git_futils_readbuffer(
|
24
|
+
extern int git_futils_readbuffer(git_str *obj, const char *path);
|
25
25
|
extern int git_futils_readbuffer_updated(
|
26
|
-
|
27
|
-
|
26
|
+
git_str *obj,
|
27
|
+
const char *path,
|
28
|
+
unsigned char checksum[GIT_HASH_SHA256_SIZE],
|
29
|
+
int *updated);
|
30
|
+
extern int git_futils_readbuffer_fd_full(git_str *obj, git_file fd);
|
31
|
+
extern int git_futils_readbuffer_fd(git_str *obj, git_file fd, size_t len);
|
28
32
|
|
29
33
|
/* Additional constants for `git_futils_writebuffer`'s `open_flags`. We
|
30
34
|
* support these internally and they will be removed before the `open` call.
|
@@ -34,7 +38,7 @@ extern int git_futils_readbuffer_fd(git_buf *obj, git_file fd, size_t len);
|
|
34
38
|
#endif
|
35
39
|
|
36
40
|
extern int git_futils_writebuffer(
|
37
|
-
const
|
41
|
+
const git_str *buf, const char *path, int open_flags, mode_t mode);
|
38
42
|
|
39
43
|
/**
|
40
44
|
* File utils
|
@@ -93,7 +97,7 @@ typedef enum {
|
|
93
97
|
GIT_MKDIR_SKIP_LAST2 = 32,
|
94
98
|
GIT_MKDIR_VERIFY_DIR = 64,
|
95
99
|
GIT_MKDIR_REMOVE_FILES = 128,
|
96
|
-
GIT_MKDIR_REMOVE_SYMLINKS = 256
|
100
|
+
GIT_MKDIR_REMOVE_SYMLINKS = 256
|
97
101
|
} git_futils_mkdir_flags;
|
98
102
|
|
99
103
|
struct git_futils_mkdir_perfdata
|
@@ -105,8 +109,17 @@ struct git_futils_mkdir_perfdata
|
|
105
109
|
|
106
110
|
struct git_futils_mkdir_options
|
107
111
|
{
|
108
|
-
|
109
|
-
|
112
|
+
/*
|
113
|
+
* Callers can optionally pass an allocation pool and a
|
114
|
+
* hashset of strings; mkdir will populate these with the
|
115
|
+
* path(s) it creates; this can be useful for repeated calls
|
116
|
+
* to mkdir. This will reduce I/O by avoiding testing for the
|
117
|
+
* existence of intermediate directories that it knows already
|
118
|
+
* exist (because it created them).
|
119
|
+
*/
|
120
|
+
git_pool *cache_pool;
|
121
|
+
git_hashset_str *cache_pathset;
|
122
|
+
|
110
123
|
struct git_futils_mkdir_perfdata perfdata;
|
111
124
|
};
|
112
125
|
|
@@ -156,7 +169,7 @@ typedef enum {
|
|
156
169
|
GIT_RMDIR_SKIP_NONEMPTY = (1 << 1),
|
157
170
|
GIT_RMDIR_EMPTY_PARENTS = (1 << 2),
|
158
171
|
GIT_RMDIR_REMOVE_BLOCKERS = (1 << 3),
|
159
|
-
GIT_RMDIR_SKIP_ROOT = (1 << 4)
|
172
|
+
GIT_RMDIR_SKIP_ROOT = (1 << 4)
|
160
173
|
} git_futils_rmdir_flags;
|
161
174
|
|
162
175
|
/**
|
@@ -170,11 +183,20 @@ typedef enum {
|
|
170
183
|
extern int git_futils_rmdir_r(const char *path, const char *base, uint32_t flags);
|
171
184
|
|
172
185
|
/**
|
173
|
-
* Create and open a temporary file with a `_git2_` suffix
|
174
|
-
*
|
186
|
+
* Create and open a temporary file with a `_git2_` suffix in a
|
187
|
+
* protected directory; the file created will created will honor
|
188
|
+
* the current `umask`. Writes the filename into path_out.
|
189
|
+
*
|
190
|
+
* This function uses a high-quality PRNG seeded by the system's
|
191
|
+
* entropy pool _where available_ and falls back to a simple seed
|
192
|
+
* (time plus system information) when not. This is suitable for
|
193
|
+
* writing within a protected directory, but the system's safe
|
194
|
+
* temporary file creation functions should be preferred where
|
195
|
+
* available when writing into world-writable (temp) directories.
|
196
|
+
*
|
175
197
|
* @return On success, an open file descriptor, else an error code < 0.
|
176
198
|
*/
|
177
|
-
extern int git_futils_mktmp(
|
199
|
+
extern int git_futils_mktmp(git_str *path_out, const char *filename, mode_t mode);
|
178
200
|
|
179
201
|
/**
|
180
202
|
* Move a file on the filesystem, create the
|
@@ -221,17 +243,17 @@ typedef enum {
|
|
221
243
|
GIT_CPDIR_OVERWRITE = (1u << 3),
|
222
244
|
GIT_CPDIR_CHMOD_DIRS = (1u << 4),
|
223
245
|
GIT_CPDIR_SIMPLE_TO_MODE = (1u << 5),
|
224
|
-
GIT_CPDIR_LINK_FILES = (1u << 6)
|
246
|
+
GIT_CPDIR_LINK_FILES = (1u << 6)
|
225
247
|
} git_futils_cpdir_flags;
|
226
248
|
|
227
249
|
/**
|
228
250
|
* Copy a directory tree.
|
229
251
|
*
|
230
252
|
* This copies directories and files from one root to another. You can
|
231
|
-
* pass a
|
253
|
+
* pass a combination of GIT_CPDIR flags as defined above.
|
232
254
|
*
|
233
255
|
* If you pass the CHMOD flag, then the dirmode will be applied to all
|
234
|
-
* directories that are created during the copy,
|
256
|
+
* directories that are created during the copy, overriding the natural
|
235
257
|
* permissions. If you do not pass the CHMOD flag, then the dirmode
|
236
258
|
* will actually be copied from the source files and the `dirmode` arg
|
237
259
|
* will be ignored.
|
@@ -5,7 +5,6 @@
|
|
5
5
|
#cmakedefine GIT_DEBUG_STRICT_ALLOC 1
|
6
6
|
#cmakedefine GIT_DEBUG_STRICT_OPEN 1
|
7
7
|
|
8
|
-
#cmakedefine GIT_TRACE 1
|
9
8
|
#cmakedefine GIT_THREADS 1
|
10
9
|
#cmakedefine GIT_WIN32_LEAKCHECK 1
|
11
10
|
|
@@ -25,8 +24,15 @@
|
|
25
24
|
#cmakedefine GIT_REGEX_PCRE2
|
26
25
|
#cmakedefine GIT_REGEX_BUILTIN 1
|
27
26
|
|
27
|
+
#cmakedefine GIT_QSORT_BSD
|
28
|
+
#cmakedefine GIT_QSORT_GNU
|
29
|
+
#cmakedefine GIT_QSORT_C11
|
30
|
+
#cmakedefine GIT_QSORT_MSC
|
31
|
+
|
28
32
|
#cmakedefine GIT_SSH 1
|
29
|
-
#cmakedefine
|
33
|
+
#cmakedefine GIT_SSH_EXEC 1
|
34
|
+
#cmakedefine GIT_SSH_LIBSSH2 1
|
35
|
+
#cmakedefine GIT_SSH_LIBSSH2_MEMORY_CREDENTIALS 1
|
30
36
|
|
31
37
|
#cmakedefine GIT_NTLM 1
|
32
38
|
#cmakedefine GIT_GSSAPI 1
|
@@ -38,11 +44,36 @@
|
|
38
44
|
#cmakedefine GIT_OPENSSL_DYNAMIC 1
|
39
45
|
#cmakedefine GIT_SECURE_TRANSPORT 1
|
40
46
|
#cmakedefine GIT_MBEDTLS 1
|
47
|
+
#cmakedefine GIT_SCHANNEL 1
|
48
|
+
|
49
|
+
#cmakedefine GIT_HTTPPARSER_HTTPPARSER 1
|
50
|
+
#cmakedefine GIT_HTTPPARSER_LLHTTP 1
|
51
|
+
#cmakedefine GIT_HTTPPARSER_BUILTIN 1
|
41
52
|
|
42
53
|
#cmakedefine GIT_SHA1_COLLISIONDETECT 1
|
43
54
|
#cmakedefine GIT_SHA1_WIN32 1
|
44
55
|
#cmakedefine GIT_SHA1_COMMON_CRYPTO 1
|
45
56
|
#cmakedefine GIT_SHA1_OPENSSL 1
|
57
|
+
#cmakedefine GIT_SHA1_OPENSSL_FIPS 1
|
58
|
+
#cmakedefine GIT_SHA1_OPENSSL_DYNAMIC 1
|
46
59
|
#cmakedefine GIT_SHA1_MBEDTLS 1
|
47
60
|
|
61
|
+
#cmakedefine GIT_SHA256_BUILTIN 1
|
62
|
+
#cmakedefine GIT_SHA256_WIN32 1
|
63
|
+
#cmakedefine GIT_SHA256_COMMON_CRYPTO 1
|
64
|
+
#cmakedefine GIT_SHA256_OPENSSL 1
|
65
|
+
#cmakedefine GIT_SHA256_OPENSSL_FIPS 1
|
66
|
+
#cmakedefine GIT_SHA256_OPENSSL_DYNAMIC 1
|
67
|
+
#cmakedefine GIT_SHA256_MBEDTLS 1
|
68
|
+
|
69
|
+
#cmakedefine GIT_COMPRESSION_BUILTIN 1
|
70
|
+
#cmakedefine GIT_COMPRESSION_ZLIB 1
|
71
|
+
|
72
|
+
#cmakedefine GIT_RAND_GETENTROPY 1
|
73
|
+
#cmakedefine GIT_RAND_GETLOADAVG 1
|
74
|
+
|
75
|
+
#cmakedefine GIT_IO_POLL 1
|
76
|
+
#cmakedefine GIT_IO_WSAPOLL 1
|
77
|
+
#cmakedefine GIT_IO_SELECT 1
|
78
|
+
|
48
79
|
#endif
|
@@ -4,23 +4,24 @@
|
|
4
4
|
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
|
-
#ifndef
|
8
|
-
#define
|
7
|
+
#ifndef INCLUDE_git2_util_h__
|
8
|
+
#define INCLUDE_git2_util_h__
|
9
9
|
|
10
|
-
#
|
11
|
-
# include "
|
10
|
+
#if !defined(LIBGIT2_NO_FEATURES_H)
|
11
|
+
# include "git2_features.h"
|
12
12
|
#endif
|
13
13
|
|
14
14
|
#include "git2/common.h"
|
15
|
+
#include "git2/sys/errors.h"
|
15
16
|
#include "cc-compat.h"
|
16
17
|
|
18
|
+
typedef struct git_str git_str;
|
19
|
+
|
17
20
|
/** Declare a function as always inlined. */
|
18
21
|
#if defined(_MSC_VER)
|
19
22
|
# define GIT_INLINE(type) static __inline type
|
20
23
|
#elif defined(__GNUC__)
|
21
24
|
# define GIT_INLINE(type) static __inline__ type
|
22
|
-
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
|
23
|
-
# define GIT_INLINE(type) static inline type
|
24
25
|
#else
|
25
26
|
# define GIT_INLINE(type) static type
|
26
27
|
#endif
|
@@ -48,6 +49,10 @@
|
|
48
49
|
# define GIT_WARN_UNUSED_RESULT
|
49
50
|
#endif
|
50
51
|
|
52
|
+
#if (defined(_WIN32)) && !defined(__CYGWIN__)
|
53
|
+
# define GIT_WIN32 1
|
54
|
+
#endif
|
55
|
+
|
51
56
|
#include <assert.h>
|
52
57
|
#include <errno.h>
|
53
58
|
#include <limits.h>
|
@@ -67,12 +72,12 @@
|
|
67
72
|
# include <ws2tcpip.h>
|
68
73
|
# include "win32/msvc-compat.h"
|
69
74
|
# include "win32/mingw-compat.h"
|
70
|
-
# include "win32/w32_common.h"
|
71
75
|
# include "win32/win32-compat.h"
|
72
|
-
# include "win32/
|
76
|
+
# include "win32/w32_common.h"
|
73
77
|
# include "win32/version.h"
|
78
|
+
# include "win32/error.h"
|
74
79
|
# ifdef GIT_THREADS
|
75
|
-
#
|
80
|
+
# include "win32/thread.h"
|
76
81
|
# endif
|
77
82
|
|
78
83
|
#else
|
@@ -99,34 +104,31 @@
|
|
99
104
|
|
100
105
|
#include "git2/types.h"
|
101
106
|
#include "git2/errors.h"
|
102
|
-
#include "errors.h"
|
103
107
|
#include "thread.h"
|
104
108
|
#include "integer.h"
|
105
109
|
#include "assert_safe.h"
|
106
|
-
#include "utf8.h"
|
107
|
-
|
108
|
-
/*
|
109
|
-
* Include the declarations for deprecated functions; this ensures
|
110
|
-
* that they're decorated with the proper extern/visibility attributes.
|
111
|
-
*/
|
112
|
-
#include "git2/deprecated.h"
|
113
110
|
|
114
111
|
#include "posix.h"
|
115
112
|
|
116
|
-
#define
|
117
|
-
#define
|
118
|
-
#define
|
119
|
-
#define
|
113
|
+
#define GIT_BUFSIZE_DEFAULT 65536
|
114
|
+
#define GIT_BUFSIZE_FILEIO GIT_BUFSIZE_DEFAULT
|
115
|
+
#define GIT_BUFSIZE_FILTERIO GIT_BUFSIZE_DEFAULT
|
116
|
+
#define GIT_BUFSIZE_NETIO GIT_BUFSIZE_DEFAULT
|
117
|
+
|
120
118
|
|
121
119
|
/**
|
122
120
|
* Check a pointer allocation result, returning -1 if it failed.
|
123
121
|
*/
|
124
|
-
#define GIT_ERROR_CHECK_ALLOC(ptr)
|
122
|
+
#define GIT_ERROR_CHECK_ALLOC(ptr) do { \
|
123
|
+
if ((ptr) == NULL) { return -1; } \
|
124
|
+
} while(0)
|
125
125
|
|
126
126
|
/**
|
127
127
|
* Check a buffer allocation result, returning -1 if it failed.
|
128
128
|
*/
|
129
|
-
#define
|
129
|
+
#define GIT_ERROR_CHECK_ALLOC_STR(buf) do { \
|
130
|
+
if ((void *)(buf) == NULL || git_str_oom(buf)) { return -1; } \
|
131
|
+
} while(0)
|
130
132
|
|
131
133
|
/**
|
132
134
|
* Check a return value and propagate result if non-zero.
|
@@ -134,40 +136,6 @@
|
|
134
136
|
#define GIT_ERROR_CHECK_ERROR(code) \
|
135
137
|
do { int _err = (code); if (_err) return _err; } while (0)
|
136
138
|
|
137
|
-
/**
|
138
|
-
* Check a versioned structure for validity
|
139
|
-
*/
|
140
|
-
GIT_INLINE(int) git_error__check_version(const void *structure, unsigned int expected_max, const char *name)
|
141
|
-
{
|
142
|
-
unsigned int actual;
|
143
|
-
|
144
|
-
if (!structure)
|
145
|
-
return 0;
|
146
|
-
|
147
|
-
actual = *(const unsigned int*)structure;
|
148
|
-
if (actual > 0 && actual <= expected_max)
|
149
|
-
return 0;
|
150
|
-
|
151
|
-
git_error_set(GIT_ERROR_INVALID, "invalid version %d on %s", actual, name);
|
152
|
-
return -1;
|
153
|
-
}
|
154
|
-
#define GIT_ERROR_CHECK_VERSION(S,V,N) if (git_error__check_version(S,V,N) < 0) return -1
|
155
|
-
|
156
|
-
/**
|
157
|
-
* Initialize a structure with a version.
|
158
|
-
*/
|
159
|
-
GIT_INLINE(void) git__init_structure(void *structure, size_t len, unsigned int version)
|
160
|
-
{
|
161
|
-
memset(structure, 0, len);
|
162
|
-
*((int*)structure) = version;
|
163
|
-
}
|
164
|
-
#define GIT_INIT_STRUCTURE(S,V) git__init_structure(S, sizeof(*S), V)
|
165
|
-
|
166
|
-
#define GIT_INIT_STRUCTURE_FROM_TEMPLATE(PTR,VERSION,TYPE,TPL) do { \
|
167
|
-
TYPE _tmpl = TPL; \
|
168
|
-
GIT_ERROR_CHECK_VERSION(&(VERSION), _tmpl.version, #TYPE); \
|
169
|
-
memcpy((PTR), &_tmpl, sizeof(_tmpl)); } while (0)
|
170
|
-
|
171
139
|
|
172
140
|
/** Check for additive overflow, setting an error if would occur. */
|
173
141
|
#define GIT_ADD_SIZET_OVERFLOW(out, one, two) \
|
@@ -200,8 +168,7 @@ GIT_INLINE(void) git__init_structure(void *structure, size_t len, unsigned int v
|
|
200
168
|
#define GIT_ERROR_CHECK_ALLOC_MULTIPLY(out, nelem, elsize) \
|
201
169
|
if (GIT_MULTIPLY_SIZET_OVERFLOW(out, nelem, elsize)) { return -1; }
|
202
170
|
|
203
|
-
/* NOTE: other git_error functions are in the public errors.h header file */
|
204
|
-
|
205
171
|
#include "util.h"
|
172
|
+
#include "ctype_compat.h"
|
206
173
|
|
207
174
|
#endif
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
|
8
|
+
#include "builtin.h"
|
9
|
+
|
10
|
+
int git_hash_sha256_global_init(void)
|
11
|
+
{
|
12
|
+
return 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
int git_hash_sha256_ctx_init(git_hash_sha256_ctx *ctx)
|
16
|
+
{
|
17
|
+
return git_hash_sha256_init(ctx);
|
18
|
+
}
|
19
|
+
|
20
|
+
void git_hash_sha256_ctx_cleanup(git_hash_sha256_ctx *ctx)
|
21
|
+
{
|
22
|
+
GIT_UNUSED(ctx);
|
23
|
+
}
|
24
|
+
|
25
|
+
int git_hash_sha256_init(git_hash_sha256_ctx *ctx)
|
26
|
+
{
|
27
|
+
GIT_ASSERT_ARG(ctx);
|
28
|
+
if (SHA256Reset(&ctx->c)) {
|
29
|
+
git_error_set(GIT_ERROR_SHA, "SHA256 error");
|
30
|
+
return -1;
|
31
|
+
}
|
32
|
+
return 0;
|
33
|
+
}
|
34
|
+
|
35
|
+
int git_hash_sha256_update(git_hash_sha256_ctx *ctx, const void *data, size_t len)
|
36
|
+
{
|
37
|
+
GIT_ASSERT_ARG(ctx);
|
38
|
+
if (SHA256Input(&ctx->c, data, len)) {
|
39
|
+
git_error_set(GIT_ERROR_SHA, "SHA256 error");
|
40
|
+
return -1;
|
41
|
+
}
|
42
|
+
return 0;
|
43
|
+
}
|
44
|
+
|
45
|
+
int git_hash_sha256_final(unsigned char *out, git_hash_sha256_ctx *ctx)
|
46
|
+
{
|
47
|
+
GIT_ASSERT_ARG(ctx);
|
48
|
+
if (SHA256Result(&ctx->c, out)) {
|
49
|
+
git_error_set(GIT_ERROR_SHA, "SHA256 error");
|
50
|
+
return -1;
|
51
|
+
}
|
52
|
+
return 0;
|
53
|
+
}
|
@@ -5,15 +5,15 @@
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
7
|
|
8
|
-
#ifndef
|
9
|
-
#define
|
8
|
+
#ifndef INCLUDE_hash_builtin_h__
|
9
|
+
#define INCLUDE_hash_builtin_h__
|
10
10
|
|
11
|
-
#include "hash/
|
11
|
+
#include "hash/sha.h"
|
12
12
|
|
13
|
-
#include
|
13
|
+
#include "rfc6234/sha.h"
|
14
14
|
|
15
|
-
struct
|
16
|
-
|
15
|
+
struct git_hash_sha256_ctx {
|
16
|
+
SHA256Context c;
|
17
17
|
};
|
18
18
|
|
19
19
|
#endif
|
@@ -36,11 +36,11 @@ int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
|
36
36
|
return 0;
|
37
37
|
}
|
38
38
|
|
39
|
-
int git_hash_sha1_final(
|
39
|
+
int git_hash_sha1_final(unsigned char *out, git_hash_sha1_ctx *ctx)
|
40
40
|
{
|
41
41
|
GIT_ASSERT_ARG(ctx);
|
42
|
-
if (SHA1DCFinal(out
|
43
|
-
git_error_set(
|
42
|
+
if (SHA1DCFinal(out, &ctx->c)) {
|
43
|
+
git_error_set(GIT_ERROR_SHA, "SHA1 collision attack detected");
|
44
44
|
return -1;
|
45
45
|
}
|
46
46
|
|
@@ -5,10 +5,10 @@
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
7
|
|
8
|
-
#ifndef
|
9
|
-
#define
|
8
|
+
#ifndef INCLUDE_hash_collisiondetect_h__
|
9
|
+
#define INCLUDE_hash_collisiondetect_h__
|
10
10
|
|
11
|
-
#include "hash/
|
11
|
+
#include "hash/sha.h"
|
12
12
|
|
13
13
|
#include "sha1dc/sha1.h"
|
14
14
|
|
@@ -0,0 +1,112 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
|
8
|
+
#include "common_crypto.h"
|
9
|
+
|
10
|
+
#define CC_LONG_MAX ((CC_LONG)-1)
|
11
|
+
|
12
|
+
#ifdef GIT_SHA1_COMMON_CRYPTO
|
13
|
+
|
14
|
+
int git_hash_sha1_global_init(void)
|
15
|
+
{
|
16
|
+
return 0;
|
17
|
+
}
|
18
|
+
|
19
|
+
int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
|
20
|
+
{
|
21
|
+
return git_hash_sha1_init(ctx);
|
22
|
+
}
|
23
|
+
|
24
|
+
void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
25
|
+
{
|
26
|
+
GIT_UNUSED(ctx);
|
27
|
+
}
|
28
|
+
|
29
|
+
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
30
|
+
{
|
31
|
+
GIT_ASSERT_ARG(ctx);
|
32
|
+
CC_SHA1_Init(&ctx->c);
|
33
|
+
return 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *_data, size_t len)
|
37
|
+
{
|
38
|
+
const unsigned char *data = _data;
|
39
|
+
|
40
|
+
GIT_ASSERT_ARG(ctx);
|
41
|
+
|
42
|
+
while (len > 0) {
|
43
|
+
CC_LONG chunk = (len > CC_LONG_MAX) ? CC_LONG_MAX : (CC_LONG)len;
|
44
|
+
|
45
|
+
CC_SHA1_Update(&ctx->c, data, chunk);
|
46
|
+
|
47
|
+
data += chunk;
|
48
|
+
len -= chunk;
|
49
|
+
}
|
50
|
+
|
51
|
+
return 0;
|
52
|
+
}
|
53
|
+
|
54
|
+
int git_hash_sha1_final(unsigned char *out, git_hash_sha1_ctx *ctx)
|
55
|
+
{
|
56
|
+
GIT_ASSERT_ARG(ctx);
|
57
|
+
CC_SHA1_Final(out, &ctx->c);
|
58
|
+
return 0;
|
59
|
+
}
|
60
|
+
|
61
|
+
#endif
|
62
|
+
|
63
|
+
#ifdef GIT_SHA256_COMMON_CRYPTO
|
64
|
+
|
65
|
+
int git_hash_sha256_global_init(void)
|
66
|
+
{
|
67
|
+
return 0;
|
68
|
+
}
|
69
|
+
|
70
|
+
int git_hash_sha256_ctx_init(git_hash_sha256_ctx *ctx)
|
71
|
+
{
|
72
|
+
return git_hash_sha256_init(ctx);
|
73
|
+
}
|
74
|
+
|
75
|
+
void git_hash_sha256_ctx_cleanup(git_hash_sha256_ctx *ctx)
|
76
|
+
{
|
77
|
+
GIT_UNUSED(ctx);
|
78
|
+
}
|
79
|
+
|
80
|
+
int git_hash_sha256_init(git_hash_sha256_ctx *ctx)
|
81
|
+
{
|
82
|
+
GIT_ASSERT_ARG(ctx);
|
83
|
+
CC_SHA256_Init(&ctx->c);
|
84
|
+
return 0;
|
85
|
+
}
|
86
|
+
|
87
|
+
int git_hash_sha256_update(git_hash_sha256_ctx *ctx, const void *_data, size_t len)
|
88
|
+
{
|
89
|
+
const unsigned char *data = _data;
|
90
|
+
|
91
|
+
GIT_ASSERT_ARG(ctx);
|
92
|
+
|
93
|
+
while (len > 0) {
|
94
|
+
CC_LONG chunk = (len > CC_LONG_MAX) ? CC_LONG_MAX : (CC_LONG)len;
|
95
|
+
|
96
|
+
CC_SHA256_Update(&ctx->c, data, chunk);
|
97
|
+
|
98
|
+
data += chunk;
|
99
|
+
len -= chunk;
|
100
|
+
}
|
101
|
+
|
102
|
+
return 0;
|
103
|
+
}
|
104
|
+
|
105
|
+
int git_hash_sha256_final(unsigned char *out, git_hash_sha256_ctx *ctx)
|
106
|
+
{
|
107
|
+
GIT_ASSERT_ARG(ctx);
|
108
|
+
CC_SHA256_Final(out, &ctx->c);
|
109
|
+
return 0;
|
110
|
+
}
|
111
|
+
|
112
|
+
#endif
|
@@ -5,15 +5,23 @@
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
7
|
|
8
|
-
#ifndef
|
9
|
-
#define
|
8
|
+
#ifndef INCLUDE_hash_common_crypto_h__
|
9
|
+
#define INCLUDE_hash_common_crypto_h__
|
10
10
|
|
11
|
-
#include "hash/
|
11
|
+
#include "hash/sha.h"
|
12
12
|
|
13
13
|
#include <CommonCrypto/CommonDigest.h>
|
14
14
|
|
15
|
+
#ifdef GIT_SHA1_COMMON_CRYPTO
|
15
16
|
struct git_hash_sha1_ctx {
|
16
17
|
CC_SHA1_CTX c;
|
17
18
|
};
|
19
|
+
#endif
|
20
|
+
|
21
|
+
#ifdef GIT_SHA256_COMMON_CRYPTO
|
22
|
+
struct git_hash_sha256_ctx {
|
23
|
+
CC_SHA256_CTX c;
|
24
|
+
};
|
25
|
+
#endif
|
18
26
|
|
19
27
|
#endif
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) the libgit2 contributors. All rights reserved.
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
|
8
|
+
#include "mbedtls.h"
|
9
|
+
|
10
|
+
#ifdef GIT_SHA1_MBEDTLS
|
11
|
+
|
12
|
+
int git_hash_sha1_global_init(void)
|
13
|
+
{
|
14
|
+
return 0;
|
15
|
+
}
|
16
|
+
|
17
|
+
int git_hash_sha1_ctx_init(git_hash_sha1_ctx *ctx)
|
18
|
+
{
|
19
|
+
return git_hash_sha1_init(ctx);
|
20
|
+
}
|
21
|
+
|
22
|
+
void git_hash_sha1_ctx_cleanup(git_hash_sha1_ctx *ctx)
|
23
|
+
{
|
24
|
+
if (ctx)
|
25
|
+
mbedtls_sha1_free(&ctx->c);
|
26
|
+
}
|
27
|
+
|
28
|
+
int git_hash_sha1_init(git_hash_sha1_ctx *ctx)
|
29
|
+
{
|
30
|
+
GIT_ASSERT_ARG(ctx);
|
31
|
+
mbedtls_sha1_init(&ctx->c);
|
32
|
+
mbedtls_sha1_starts(&ctx->c);
|
33
|
+
return 0;
|
34
|
+
}
|
35
|
+
|
36
|
+
int git_hash_sha1_update(git_hash_sha1_ctx *ctx, const void *data, size_t len)
|
37
|
+
{
|
38
|
+
GIT_ASSERT_ARG(ctx);
|
39
|
+
mbedtls_sha1_update(&ctx->c, data, len);
|
40
|
+
return 0;
|
41
|
+
}
|
42
|
+
|
43
|
+
int git_hash_sha1_final(unsigned char *out, git_hash_sha1_ctx *ctx)
|
44
|
+
{
|
45
|
+
GIT_ASSERT_ARG(ctx);
|
46
|
+
mbedtls_sha1_finish(&ctx->c, out);
|
47
|
+
return 0;
|
48
|
+
}
|
49
|
+
|
50
|
+
#endif
|
51
|
+
|
52
|
+
#ifdef GIT_SHA256_MBEDTLS
|
53
|
+
|
54
|
+
int git_hash_sha256_global_init(void)
|
55
|
+
{
|
56
|
+
return 0;
|
57
|
+
}
|
58
|
+
|
59
|
+
int git_hash_sha256_ctx_init(git_hash_sha256_ctx *ctx)
|
60
|
+
{
|
61
|
+
return git_hash_sha256_init(ctx);
|
62
|
+
}
|
63
|
+
|
64
|
+
void git_hash_sha256_ctx_cleanup(git_hash_sha256_ctx *ctx)
|
65
|
+
{
|
66
|
+
if (ctx)
|
67
|
+
mbedtls_sha256_free(&ctx->c);
|
68
|
+
}
|
69
|
+
|
70
|
+
int git_hash_sha256_init(git_hash_sha256_ctx *ctx)
|
71
|
+
{
|
72
|
+
GIT_ASSERT_ARG(ctx);
|
73
|
+
mbedtls_sha256_init(&ctx->c);
|
74
|
+
mbedtls_sha256_starts(&ctx->c, 0);
|
75
|
+
return 0;
|
76
|
+
}
|
77
|
+
|
78
|
+
int git_hash_sha256_update(git_hash_sha256_ctx *ctx, const void *data, size_t len)
|
79
|
+
{
|
80
|
+
GIT_ASSERT_ARG(ctx);
|
81
|
+
mbedtls_sha256_update(&ctx->c, data, len);
|
82
|
+
return 0;
|
83
|
+
}
|
84
|
+
|
85
|
+
int git_hash_sha256_final(unsigned char *out, git_hash_sha256_ctx *ctx)
|
86
|
+
{
|
87
|
+
GIT_ASSERT_ARG(ctx);
|
88
|
+
mbedtls_sha256_finish(&ctx->c, out);
|
89
|
+
return 0;
|
90
|
+
}
|
91
|
+
|
92
|
+
#endif
|