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
@@ -1,37 +1,39 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
file(GLOB SRC_NTLMCLIENT "ntlm.c" "ntlm.h" "util.c" "util.h")
|
2
|
+
list(SORT SRC_NTLMCLIENT)
|
3
3
|
|
4
|
-
|
4
|
+
add_definitions(-DNTLM_STATIC=1)
|
5
5
|
|
6
|
-
|
6
|
+
disable_warnings(implicit-fallthrough)
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
8
|
+
if(USE_ICONV)
|
9
|
+
add_definitions(-DUNICODE_ICONV=1)
|
10
|
+
file(GLOB SRC_NTLMCLIENT_UNICODE "unicode_iconv.c" "unicode_iconv.h")
|
11
|
+
else()
|
12
|
+
add_definitions(-DUNICODE_BUILTIN=1)
|
13
|
+
file(GLOB SRC_NTLMCLIENT_UNICODE "unicode_builtin.c" "unicode_builtin.h")
|
14
|
+
endif()
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
if(USE_HTTPS STREQUAL "SecureTransport")
|
17
|
+
add_definitions(-DCRYPT_COMMONCRYPTO)
|
18
|
+
set(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c" "crypt_commoncrypto.h")
|
19
19
|
# CC_MD4 has been deprecated in macOS 10.15.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
20
|
+
set_source_files_properties("crypt_commoncrypto.c" COMPILE_FLAGS "-Wno-deprecated")
|
21
|
+
elseif(USE_HTTPS STREQUAL "OpenSSL")
|
22
|
+
add_definitions(-DCRYPT_OPENSSL)
|
23
|
+
add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
|
24
|
+
include_directories(${OPENSSL_INCLUDE_DIR})
|
25
|
+
set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
|
26
|
+
elseif(USE_HTTPS STREQUAL "OpenSSL-Dynamic")
|
27
|
+
add_definitions(-DCRYPT_OPENSSL)
|
28
|
+
add_definitions(-DCRYPT_OPENSSL_DYNAMIC)
|
29
|
+
add_definitions(-DOPENSSL_API_COMPAT=0x10100000L)
|
30
|
+
set(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c" "crypt_openssl.h")
|
31
|
+
elseif(USE_HTTPS STREQUAL "mbedTLS")
|
32
|
+
add_definitions(-DCRYPT_MBEDTLS)
|
33
|
+
include_directories(${MBEDTLS_INCLUDE_DIR})
|
34
|
+
set(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c" "crypt_mbedtls.h" "crypt_builtin_md4.c")
|
35
|
+
else()
|
36
|
+
message(FATAL_ERROR "Unable to use libgit2's HTTPS backend (${USE_HTTPS}) for NTLM crypto")
|
37
|
+
endif()
|
36
38
|
|
37
|
-
|
39
|
+
add_library(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_UNICODE} ${SRC_NTLMCLIENT_CRYPTO})
|
@@ -0,0 +1,311 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (c) Edward Thomson. All rights reserved.
|
3
|
+
*
|
4
|
+
* This file is part of ntlmclient, distributed under the MIT license.
|
5
|
+
* For full terms and copyright information, and for third-party
|
6
|
+
* copyright information, see the included LICENSE.txt file.
|
7
|
+
*/
|
8
|
+
|
9
|
+
#include <stdlib.h>
|
10
|
+
#include <string.h>
|
11
|
+
|
12
|
+
#include "ntlm.h"
|
13
|
+
#include "crypt.h"
|
14
|
+
|
15
|
+
/*
|
16
|
+
* Below is the MD4 code from RFC 1320, with minor modifications
|
17
|
+
* to make it compile on a modern compiler. It is included since
|
18
|
+
* many system crypto libraries lack MD4, sensibly.
|
19
|
+
*/
|
20
|
+
|
21
|
+
/* MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm
|
22
|
+
*/
|
23
|
+
|
24
|
+
/* Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
|
25
|
+
|
26
|
+
License to copy and use this software is granted provided that it
|
27
|
+
is identified as the "RSA Data Security, Inc. MD4 Message-Digest
|
28
|
+
Algorithm" in all material mentioning or referencing this software
|
29
|
+
or this function.
|
30
|
+
|
31
|
+
License is also granted to make and use derivative works provided
|
32
|
+
that such works are identified as "derived from the RSA Data
|
33
|
+
Security, Inc. MD4 Message-Digest Algorithm" in all material
|
34
|
+
mentioning or referencing the derived work.
|
35
|
+
|
36
|
+
RSA Data Security, Inc. makes no representations concerning either
|
37
|
+
the merchantability of this software or the suitability of this
|
38
|
+
software for any particular purpose. It is provided "as is"
|
39
|
+
without express or implied warranty of any kind.
|
40
|
+
|
41
|
+
These notices must be retained in any copies of any part of this
|
42
|
+
documentation and/or software.
|
43
|
+
*/
|
44
|
+
|
45
|
+
/* POINTER defines a generic pointer type */
|
46
|
+
typedef unsigned char *POINTER;
|
47
|
+
|
48
|
+
/* UINT2 defines a two byte word */
|
49
|
+
typedef uint16_t UINT2;
|
50
|
+
|
51
|
+
/* UINT4 defines a four byte word */
|
52
|
+
typedef uint32_t UINT4;
|
53
|
+
|
54
|
+
#define MD4_memcpy memcpy
|
55
|
+
#define MD4_memset memset
|
56
|
+
|
57
|
+
/* MD4 context. */
|
58
|
+
typedef struct {
|
59
|
+
UINT4 state[4]; /* state (ABCD) */
|
60
|
+
UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
|
61
|
+
unsigned char buffer[64]; /* input buffer */
|
62
|
+
} MD4_CTX;
|
63
|
+
|
64
|
+
/* Constants for MD4Transform routine.
|
65
|
+
*/
|
66
|
+
#define S11 3
|
67
|
+
#define S12 7
|
68
|
+
#define S13 11
|
69
|
+
#define S14 19
|
70
|
+
#define S21 3
|
71
|
+
#define S22 5
|
72
|
+
#define S23 9
|
73
|
+
#define S24 13
|
74
|
+
#define S31 3
|
75
|
+
#define S32 9
|
76
|
+
#define S33 11
|
77
|
+
#define S34 15
|
78
|
+
|
79
|
+
static void MD4Transform(UINT4 [4], const unsigned char [64]);
|
80
|
+
static void Encode (unsigned char *, UINT4 *, unsigned int);
|
81
|
+
static void Decode (UINT4 *, const unsigned char *, unsigned int);
|
82
|
+
|
83
|
+
static unsigned char PADDING[64] = {
|
84
|
+
0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
85
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
86
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
87
|
+
};
|
88
|
+
|
89
|
+
/* F, G and H are basic MD4 functions.
|
90
|
+
*/
|
91
|
+
#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
|
92
|
+
#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z)))
|
93
|
+
#define H(x, y, z) ((x) ^ (y) ^ (z))
|
94
|
+
|
95
|
+
/* ROTATE_LEFT rotates x left n bits.
|
96
|
+
*/
|
97
|
+
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
|
98
|
+
|
99
|
+
/* FF, GG and HH are transformations for rounds 1, 2 and 3 */
|
100
|
+
/* Rotation is separate from addition to prevent recomputation */
|
101
|
+
#define FF(a, b, c, d, x, s) { \
|
102
|
+
(a) += F ((b), (c), (d)) + (x); \
|
103
|
+
(a) = ROTATE_LEFT ((a), (s)); \
|
104
|
+
}
|
105
|
+
#define GG(a, b, c, d, x, s) { \
|
106
|
+
(a) += G ((b), (c), (d)) + (x) + (UINT4)0x5a827999; \
|
107
|
+
(a) = ROTATE_LEFT ((a), (s)); \
|
108
|
+
}
|
109
|
+
#define HH(a, b, c, d, x, s) { \
|
110
|
+
(a) += H ((b), (c), (d)) + (x) + (UINT4)0x6ed9eba1; \
|
111
|
+
(a) = ROTATE_LEFT ((a), (s)); \
|
112
|
+
}
|
113
|
+
|
114
|
+
/* MD4 initialization. Begins an MD4 operation, writing a new context.
|
115
|
+
*/
|
116
|
+
static void MD4Init (MD4_CTX *context)
|
117
|
+
{
|
118
|
+
context->count[0] = context->count[1] = 0;
|
119
|
+
|
120
|
+
/* Load magic initialization constants.
|
121
|
+
*/
|
122
|
+
context->state[0] = 0x67452301;
|
123
|
+
context->state[1] = 0xefcdab89;
|
124
|
+
context->state[2] = 0x98badcfe;
|
125
|
+
context->state[3] = 0x10325476;
|
126
|
+
}
|
127
|
+
|
128
|
+
/* MD4 block update operation. Continues an MD4 message-digest
|
129
|
+
operation, processing another message block, and updating the
|
130
|
+
context.
|
131
|
+
*/
|
132
|
+
static void MD4Update (MD4_CTX *context, const unsigned char *input, unsigned int inputLen)
|
133
|
+
{
|
134
|
+
unsigned int i, index, partLen;
|
135
|
+
|
136
|
+
/* Compute number of bytes mod 64 */
|
137
|
+
index = (unsigned int)((context->count[0] >> 3) & 0x3F);
|
138
|
+
/* Update number of bits */
|
139
|
+
if ((context->count[0] += ((UINT4)inputLen << 3))
|
140
|
+
< ((UINT4)inputLen << 3))
|
141
|
+
context->count[1]++;
|
142
|
+
context->count[1] += ((UINT4)inputLen >> 29);
|
143
|
+
|
144
|
+
partLen = 64 - index;
|
145
|
+
|
146
|
+
/* Transform as many times as possible.
|
147
|
+
*/
|
148
|
+
if (inputLen >= partLen) {
|
149
|
+
MD4_memcpy
|
150
|
+
((POINTER)&context->buffer[index], (POINTER)input, partLen);
|
151
|
+
MD4Transform (context->state, context->buffer);
|
152
|
+
|
153
|
+
for (i = partLen; i + 63 < inputLen; i += 64)
|
154
|
+
MD4Transform (context->state, &input[i]);
|
155
|
+
|
156
|
+
index = 0;
|
157
|
+
}
|
158
|
+
else
|
159
|
+
i = 0;
|
160
|
+
|
161
|
+
/* Buffer remaining input */
|
162
|
+
MD4_memcpy
|
163
|
+
((POINTER)&context->buffer[index], (POINTER)&input[i],
|
164
|
+
inputLen-i);
|
165
|
+
}
|
166
|
+
|
167
|
+
/* MD4 finalization. Ends an MD4 message-digest operation, writing the
|
168
|
+
the message digest and zeroizing the context.
|
169
|
+
*/
|
170
|
+
static void MD4Final (unsigned char digest[16], MD4_CTX *context)
|
171
|
+
{
|
172
|
+
unsigned char bits[8];
|
173
|
+
unsigned int index, padLen;
|
174
|
+
|
175
|
+
/* Save number of bits */
|
176
|
+
Encode (bits, context->count, 8);
|
177
|
+
|
178
|
+
/* Pad out to 56 mod 64.
|
179
|
+
*/
|
180
|
+
index = (unsigned int)((context->count[0] >> 3) & 0x3f);
|
181
|
+
padLen = (index < 56) ? (56 - index) : (120 - index);
|
182
|
+
MD4Update (context, PADDING, padLen);
|
183
|
+
|
184
|
+
/* Append length (before padding) */
|
185
|
+
MD4Update (context, bits, 8);
|
186
|
+
/* Store state in digest */
|
187
|
+
Encode (digest, context->state, 16);
|
188
|
+
|
189
|
+
/* Zeroize sensitive information.
|
190
|
+
*/
|
191
|
+
MD4_memset ((POINTER)context, 0, sizeof (*context));
|
192
|
+
}
|
193
|
+
|
194
|
+
/* MD4 basic transformation. Transforms state based on block.
|
195
|
+
*/
|
196
|
+
static void MD4Transform (UINT4 state[4], const unsigned char block[64])
|
197
|
+
{
|
198
|
+
UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
|
199
|
+
|
200
|
+
Decode (x, block, 64);
|
201
|
+
|
202
|
+
/* Round 1 */
|
203
|
+
FF (a, b, c, d, x[ 0], S11); /* 1 */
|
204
|
+
FF (d, a, b, c, x[ 1], S12); /* 2 */
|
205
|
+
FF (c, d, a, b, x[ 2], S13); /* 3 */
|
206
|
+
FF (b, c, d, a, x[ 3], S14); /* 4 */
|
207
|
+
FF (a, b, c, d, x[ 4], S11); /* 5 */
|
208
|
+
FF (d, a, b, c, x[ 5], S12); /* 6 */
|
209
|
+
FF (c, d, a, b, x[ 6], S13); /* 7 */
|
210
|
+
FF (b, c, d, a, x[ 7], S14); /* 8 */
|
211
|
+
FF (a, b, c, d, x[ 8], S11); /* 9 */
|
212
|
+
FF (d, a, b, c, x[ 9], S12); /* 10 */
|
213
|
+
FF (c, d, a, b, x[10], S13); /* 11 */
|
214
|
+
FF (b, c, d, a, x[11], S14); /* 12 */
|
215
|
+
FF (a, b, c, d, x[12], S11); /* 13 */
|
216
|
+
FF (d, a, b, c, x[13], S12); /* 14 */
|
217
|
+
FF (c, d, a, b, x[14], S13); /* 15 */
|
218
|
+
FF (b, c, d, a, x[15], S14); /* 16 */
|
219
|
+
|
220
|
+
/* Round 2 */
|
221
|
+
GG (a, b, c, d, x[ 0], S21); /* 17 */
|
222
|
+
GG (d, a, b, c, x[ 4], S22); /* 18 */
|
223
|
+
GG (c, d, a, b, x[ 8], S23); /* 19 */
|
224
|
+
GG (b, c, d, a, x[12], S24); /* 20 */
|
225
|
+
GG (a, b, c, d, x[ 1], S21); /* 21 */
|
226
|
+
GG (d, a, b, c, x[ 5], S22); /* 22 */
|
227
|
+
GG (c, d, a, b, x[ 9], S23); /* 23 */
|
228
|
+
GG (b, c, d, a, x[13], S24); /* 24 */
|
229
|
+
GG (a, b, c, d, x[ 2], S21); /* 25 */
|
230
|
+
GG (d, a, b, c, x[ 6], S22); /* 26 */
|
231
|
+
GG (c, d, a, b, x[10], S23); /* 27 */
|
232
|
+
GG (b, c, d, a, x[14], S24); /* 28 */
|
233
|
+
GG (a, b, c, d, x[ 3], S21); /* 29 */
|
234
|
+
GG (d, a, b, c, x[ 7], S22); /* 30 */
|
235
|
+
GG (c, d, a, b, x[11], S23); /* 31 */
|
236
|
+
GG (b, c, d, a, x[15], S24); /* 32 */
|
237
|
+
|
238
|
+
/* Round 3 */
|
239
|
+
HH (a, b, c, d, x[ 0], S31); /* 33 */
|
240
|
+
HH (d, a, b, c, x[ 8], S32); /* 34 */
|
241
|
+
HH (c, d, a, b, x[ 4], S33); /* 35 */
|
242
|
+
HH (b, c, d, a, x[12], S34); /* 36 */
|
243
|
+
HH (a, b, c, d, x[ 2], S31); /* 37 */
|
244
|
+
HH (d, a, b, c, x[10], S32); /* 38 */
|
245
|
+
HH (c, d, a, b, x[ 6], S33); /* 39 */
|
246
|
+
HH (b, c, d, a, x[14], S34); /* 40 */
|
247
|
+
HH (a, b, c, d, x[ 1], S31); /* 41 */
|
248
|
+
HH (d, a, b, c, x[ 9], S32); /* 42 */
|
249
|
+
HH (c, d, a, b, x[ 5], S33); /* 43 */
|
250
|
+
HH (b, c, d, a, x[13], S34); /* 44 */
|
251
|
+
HH (a, b, c, d, x[ 3], S31); /* 45 */
|
252
|
+
HH (d, a, b, c, x[11], S32); /* 46 */
|
253
|
+
HH (c, d, a, b, x[ 7], S33); /* 47 */
|
254
|
+
HH (b, c, d, a, x[15], S34); /* 48 */
|
255
|
+
|
256
|
+
state[0] += a;
|
257
|
+
state[1] += b;
|
258
|
+
state[2] += c;
|
259
|
+
state[3] += d;
|
260
|
+
|
261
|
+
/* Zeroize sensitive information.
|
262
|
+
*/
|
263
|
+
MD4_memset ((POINTER)x, 0, sizeof (x));
|
264
|
+
}
|
265
|
+
|
266
|
+
/* Encodes input (UINT4) into output (unsigned char). Assumes len is
|
267
|
+
a multiple of 4.
|
268
|
+
*/
|
269
|
+
static void Encode (unsigned char *output, UINT4 *input, unsigned int len)
|
270
|
+
{
|
271
|
+
unsigned int i, j;
|
272
|
+
|
273
|
+
for (i = 0, j = 0; j < len; i++, j += 4) {
|
274
|
+
output[j] = (unsigned char)(input[i] & 0xff);
|
275
|
+
output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
|
276
|
+
output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
|
277
|
+
output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
|
278
|
+
}
|
279
|
+
}
|
280
|
+
|
281
|
+
/* Decodes input (unsigned char) into output (UINT4). Assumes len is
|
282
|
+
a multiple of 4.
|
283
|
+
*/
|
284
|
+
static void Decode (UINT4 *output, const unsigned char *input, unsigned int len)
|
285
|
+
{
|
286
|
+
unsigned int i, j;
|
287
|
+
|
288
|
+
for (i = 0, j = 0; j < len; i++, j += 4)
|
289
|
+
output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
|
290
|
+
(((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
|
291
|
+
}
|
292
|
+
|
293
|
+
bool ntlm_md4_digest(
|
294
|
+
unsigned char out[CRYPT_MD4_DIGESTSIZE],
|
295
|
+
ntlm_client *ntlm,
|
296
|
+
const unsigned char *in,
|
297
|
+
size_t in_len)
|
298
|
+
{
|
299
|
+
MD4_CTX ctx;
|
300
|
+
|
301
|
+
NTLM_UNUSED(ntlm);
|
302
|
+
|
303
|
+
if (in_len > UINT_MAX)
|
304
|
+
return false;
|
305
|
+
|
306
|
+
MD4Init(&ctx);
|
307
|
+
MD4Update(&ctx, in, (unsigned int)in_len);
|
308
|
+
MD4Final (out, &ctx);
|
309
|
+
|
310
|
+
return true;
|
311
|
+
}
|
@@ -59,11 +59,12 @@ bool ntlm_des_encrypt(
|
|
59
59
|
ntlm_des_block *plaintext,
|
60
60
|
ntlm_des_block *key)
|
61
61
|
{
|
62
|
+
CCCryptorStatus result;
|
62
63
|
size_t written;
|
63
64
|
|
64
65
|
NTLM_UNUSED(ntlm);
|
65
66
|
|
66
|
-
|
67
|
+
result = CCCrypt(kCCEncrypt,
|
67
68
|
kCCAlgorithmDES, kCCOptionECBMode,
|
68
69
|
key, sizeof(ntlm_des_block), NULL,
|
69
70
|
plaintext, sizeof(ntlm_des_block),
|
@@ -12,7 +12,6 @@
|
|
12
12
|
#include "mbedtls/ctr_drbg.h"
|
13
13
|
#include "mbedtls/des.h"
|
14
14
|
#include "mbedtls/entropy.h"
|
15
|
-
#include "mbedtls/md4.h"
|
16
15
|
|
17
16
|
#include "ntlm.h"
|
18
17
|
#include "crypt.h"
|
@@ -88,25 +87,6 @@ done:
|
|
88
87
|
return success;
|
89
88
|
}
|
90
89
|
|
91
|
-
bool ntlm_md4_digest(
|
92
|
-
unsigned char out[CRYPT_MD4_DIGESTSIZE],
|
93
|
-
ntlm_client *ntlm,
|
94
|
-
const unsigned char *in,
|
95
|
-
size_t in_len)
|
96
|
-
{
|
97
|
-
mbedtls_md4_context ctx;
|
98
|
-
|
99
|
-
NTLM_UNUSED(ntlm);
|
100
|
-
|
101
|
-
mbedtls_md4_init(&ctx);
|
102
|
-
mbedtls_md4_starts(&ctx);
|
103
|
-
mbedtls_md4_update(&ctx, in, in_len);
|
104
|
-
mbedtls_md4_finish(&ctx, out);
|
105
|
-
mbedtls_md4_free(&ctx);
|
106
|
-
|
107
|
-
return true;
|
108
|
-
}
|
109
|
-
|
110
90
|
bool ntlm_hmac_md5_init(
|
111
91
|
ntlm_client *ntlm,
|
112
92
|
const unsigned char *key,
|
@@ -26,27 +26,29 @@
|
|
26
26
|
|
27
27
|
#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(CRYPT_OPENSSL_DYNAMIC)
|
28
28
|
|
29
|
-
|
29
|
+
NTLM_INLINE(HMAC_CTX *) HMAC_CTX_new(void)
|
30
30
|
{
|
31
31
|
return calloc(1, sizeof(HMAC_CTX));
|
32
32
|
}
|
33
33
|
|
34
|
-
|
34
|
+
NTLM_INLINE(int) HMAC_CTX_reset(HMAC_CTX *ctx)
|
35
35
|
{
|
36
36
|
ntlm_memzero(ctx, sizeof(HMAC_CTX));
|
37
37
|
return 1;
|
38
38
|
}
|
39
39
|
|
40
|
-
|
40
|
+
NTLM_INLINE(void) HMAC_CTX_free(HMAC_CTX *ctx)
|
41
41
|
{
|
42
42
|
free(ctx);
|
43
43
|
}
|
44
44
|
|
45
45
|
#endif
|
46
46
|
|
47
|
-
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
47
|
+
#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)) || \
|
48
|
+
(defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x03050000fL) || \
|
49
|
+
defined(CRYPT_OPENSSL_DYNAMIC)
|
48
50
|
|
49
|
-
|
51
|
+
NTLM_INLINE(void) HMAC_CTX_cleanup(HMAC_CTX *ctx)
|
50
52
|
{
|
51
53
|
NTLM_UNUSED(ctx);
|
52
54
|
}
|
@@ -43,7 +43,7 @@ static bool supports_unicode(ntlm_client *ntlm)
|
|
43
43
|
false : true;
|
44
44
|
}
|
45
45
|
|
46
|
-
|
46
|
+
NTLM_INLINE(bool) increment_size(size_t *out, size_t incr)
|
47
47
|
{
|
48
48
|
if (SIZE_MAX - *out < incr) {
|
49
49
|
*out = (size_t)-1;
|
@@ -272,7 +272,7 @@ int ntlm_client_set_timestamp(ntlm_client *ntlm, uint64_t timestamp)
|
|
272
272
|
return 0;
|
273
273
|
}
|
274
274
|
|
275
|
-
|
275
|
+
NTLM_INLINE(bool) write_buf(
|
276
276
|
ntlm_client *ntlm,
|
277
277
|
ntlm_buf *out,
|
278
278
|
const unsigned char *buf,
|
@@ -291,7 +291,7 @@ static inline bool write_buf(
|
|
291
291
|
return true;
|
292
292
|
}
|
293
293
|
|
294
|
-
|
294
|
+
NTLM_INLINE(bool) write_byte(
|
295
295
|
ntlm_client *ntlm,
|
296
296
|
ntlm_buf *out,
|
297
297
|
uint8_t value)
|
@@ -305,7 +305,7 @@ static inline bool write_byte(
|
|
305
305
|
return true;
|
306
306
|
}
|
307
307
|
|
308
|
-
|
308
|
+
NTLM_INLINE(bool) write_int16(
|
309
309
|
ntlm_client *ntlm,
|
310
310
|
ntlm_buf *out,
|
311
311
|
uint16_t value)
|
@@ -320,7 +320,7 @@ static inline bool write_int16(
|
|
320
320
|
return true;
|
321
321
|
}
|
322
322
|
|
323
|
-
|
323
|
+
NTLM_INLINE(bool) write_int32(
|
324
324
|
ntlm_client *ntlm,
|
325
325
|
ntlm_buf *out,
|
326
326
|
uint32_t value)
|
@@ -337,7 +337,7 @@ static inline bool write_int32(
|
|
337
337
|
return true;
|
338
338
|
}
|
339
339
|
|
340
|
-
|
340
|
+
NTLM_INLINE(bool) write_version(
|
341
341
|
ntlm_client *ntlm,
|
342
342
|
ntlm_buf *out,
|
343
343
|
ntlm_version *version)
|
@@ -348,7 +348,7 @@ static inline bool write_version(
|
|
348
348
|
write_int32(ntlm, out, version->reserved);
|
349
349
|
}
|
350
350
|
|
351
|
-
|
351
|
+
NTLM_INLINE(bool) write_bufinfo(
|
352
352
|
ntlm_client *ntlm,
|
353
353
|
ntlm_buf *out,
|
354
354
|
size_t len,
|
@@ -369,7 +369,7 @@ static inline bool write_bufinfo(
|
|
369
369
|
write_int32(ntlm, out, (uint32_t)offset);
|
370
370
|
}
|
371
371
|
|
372
|
-
|
372
|
+
NTLM_INLINE(bool) read_buf(
|
373
373
|
unsigned char *out,
|
374
374
|
ntlm_client *ntlm,
|
375
375
|
ntlm_buf *message,
|
@@ -386,7 +386,7 @@ static inline bool read_buf(
|
|
386
386
|
return true;
|
387
387
|
}
|
388
388
|
|
389
|
-
|
389
|
+
NTLM_INLINE(bool) read_byte(
|
390
390
|
uint8_t *out,
|
391
391
|
ntlm_client *ntlm,
|
392
392
|
ntlm_buf *message)
|
@@ -400,7 +400,7 @@ static inline bool read_byte(
|
|
400
400
|
return true;
|
401
401
|
}
|
402
402
|
|
403
|
-
|
403
|
+
NTLM_INLINE(bool) read_int16(
|
404
404
|
uint16_t *out,
|
405
405
|
ntlm_client *ntlm,
|
406
406
|
ntlm_buf *message)
|
@@ -418,7 +418,7 @@ static inline bool read_int16(
|
|
418
418
|
return true;
|
419
419
|
}
|
420
420
|
|
421
|
-
|
421
|
+
NTLM_INLINE(bool) read_int32(
|
422
422
|
uint32_t *out,
|
423
423
|
ntlm_client *ntlm,
|
424
424
|
ntlm_buf *message)
|
@@ -438,7 +438,7 @@ static inline bool read_int32(
|
|
438
438
|
return true;
|
439
439
|
}
|
440
440
|
|
441
|
-
|
441
|
+
NTLM_INLINE(bool) read_int64(
|
442
442
|
uint64_t *out,
|
443
443
|
ntlm_client *ntlm,
|
444
444
|
ntlm_buf *message)
|
@@ -462,7 +462,7 @@ static inline bool read_int64(
|
|
462
462
|
return true;
|
463
463
|
}
|
464
464
|
|
465
|
-
|
465
|
+
NTLM_INLINE(bool) read_version(
|
466
466
|
ntlm_version *out,
|
467
467
|
ntlm_client *ntlm,
|
468
468
|
ntlm_buf *message)
|
@@ -473,7 +473,7 @@ static inline bool read_version(
|
|
473
473
|
read_int32(&out->reserved, ntlm, message);
|
474
474
|
}
|
475
475
|
|
476
|
-
|
476
|
+
NTLM_INLINE(bool) read_bufinfo(
|
477
477
|
uint16_t *out_len,
|
478
478
|
uint32_t *out_offset,
|
479
479
|
ntlm_client *ntlm,
|
@@ -486,7 +486,7 @@ static inline bool read_bufinfo(
|
|
486
486
|
read_int32(out_offset, ntlm, message);
|
487
487
|
}
|
488
488
|
|
489
|
-
|
489
|
+
NTLM_INLINE(bool) read_string_unicode(
|
490
490
|
char **out,
|
491
491
|
ntlm_client *ntlm,
|
492
492
|
ntlm_buf *message,
|
@@ -504,7 +504,7 @@ static inline bool read_string_unicode(
|
|
504
504
|
return ret;
|
505
505
|
}
|
506
506
|
|
507
|
-
|
507
|
+
NTLM_INLINE(bool) read_string_ascii(
|
508
508
|
char **out,
|
509
509
|
ntlm_client *ntlm,
|
510
510
|
ntlm_buf *message,
|
@@ -526,7 +526,7 @@ static inline bool read_string_ascii(
|
|
526
526
|
return true;
|
527
527
|
}
|
528
528
|
|
529
|
-
|
529
|
+
NTLM_INLINE(bool) read_string(
|
530
530
|
char **out,
|
531
531
|
ntlm_client *ntlm,
|
532
532
|
ntlm_buf *message,
|
@@ -539,7 +539,7 @@ static inline bool read_string(
|
|
539
539
|
return read_string_ascii(out, ntlm, message, string_len);
|
540
540
|
}
|
541
541
|
|
542
|
-
|
542
|
+
NTLM_INLINE(bool) read_target_info(
|
543
543
|
char **server_out,
|
544
544
|
char **domain_out,
|
545
545
|
char **server_dns_out,
|
@@ -930,10 +930,10 @@ const char *ntlm_client_target_domain_dns(ntlm_client *ntlm)
|
|
930
930
|
}
|
931
931
|
|
932
932
|
#define EVEN_PARITY(a) \
|
933
|
-
(!!((a) &
|
934
|
-
!!((a) &
|
935
|
-
!!((a) &
|
936
|
-
!!((a) &
|
933
|
+
(!!((a) & INT64_C(0x01)) ^ !!((a) & INT64_C(0x02)) ^ \
|
934
|
+
!!((a) & INT64_C(0x04)) ^ !!((a) & INT64_C(0x08)) ^ \
|
935
|
+
!!((a) & INT64_C(0x10)) ^ !!((a) & INT64_C(0x20)) ^ \
|
936
|
+
!!((a) & INT64_C(0x40)) ^ !!((a) & INT64_C(0x80)))
|
937
937
|
|
938
938
|
static void generate_odd_parity(ntlm_des_block *block)
|
939
939
|
{
|
@@ -965,7 +965,7 @@ static void des_key_from_password(
|
|
965
965
|
generate_odd_parity(out);
|
966
966
|
}
|
967
967
|
|
968
|
-
|
968
|
+
NTLM_INLINE(bool) generate_lm_hash(
|
969
969
|
ntlm_des_block out[2],
|
970
970
|
ntlm_client *ntlm,
|
971
971
|
const char *password)
|
@@ -988,9 +988,9 @@ static inline bool generate_lm_hash(
|
|
988
988
|
keystr2_len = (password_len > 7) ? MIN(14, password_len) - 7 : 0;
|
989
989
|
|
990
990
|
for (i = 0; i < keystr1_len; i++)
|
991
|
-
keystr1[i] = (unsigned char)toupper(password[i]);
|
991
|
+
keystr1[i] = (unsigned char)toupper((unsigned char)password[i]);
|
992
992
|
for (i = 0; i < keystr2_len; i++)
|
993
|
-
keystr2[i] = (unsigned char)toupper(password[i+7]);
|
993
|
+
keystr2[i] = (unsigned char)toupper((unsigned char)password[i+7]);
|
994
994
|
|
995
995
|
/* DES encrypt the LM constant using the password as the key */
|
996
996
|
des_key_from_password(&key1, keystr1, keystr1_len);
|
@@ -30,7 +30,7 @@ typedef enum {
|
|
30
30
|
NTLM_STATE_CHALLENGE = 1,
|
31
31
|
NTLM_STATE_RESPONSE = 2,
|
32
32
|
NTLM_STATE_ERROR = 3,
|
33
|
-
NTLM_STATE_COMPLETE = 4
|
33
|
+
NTLM_STATE_COMPLETE = 4
|
34
34
|
} ntlm_state;
|
35
35
|
|
36
36
|
typedef struct {
|
@@ -122,7 +122,7 @@ struct ntlm_client {
|
|
122
122
|
};
|
123
123
|
|
124
124
|
typedef enum {
|
125
|
-
NTLM_ENABLE_HOSTVERSION = (1 << 31)
|
125
|
+
NTLM_ENABLE_HOSTVERSION = (1 << 31)
|
126
126
|
} ntlm_client_internal_flags;
|
127
127
|
|
128
128
|
typedef enum {
|
@@ -130,7 +130,7 @@ typedef enum {
|
|
130
130
|
NTLM_TARGET_INFO_SERVER = 1,
|
131
131
|
NTLM_TARGET_INFO_DOMAIN = 2,
|
132
132
|
NTLM_TARGET_INFO_SERVER_DNS = 3,
|
133
|
-
NTLM_TARGET_INFO_DOMAIN_DNS = 4
|
133
|
+
NTLM_TARGET_INFO_DOMAIN_DNS = 4
|
134
134
|
} ntlm_target_info_type_t;
|
135
135
|
|
136
136
|
typedef enum {
|
@@ -168,7 +168,7 @@ typedef enum {
|
|
168
168
|
NTLM_NEGOTIATE_TARGET_INFO = 0x00800000,
|
169
169
|
|
170
170
|
/* Version information should be provided */
|
171
|
-
NTLM_NEGOTIATE_VERSION = 0x01000000
|
171
|
+
NTLM_NEGOTIATE_VERSION = 0x01000000
|
172
172
|
} ntlm_negotiate_t;
|
173
173
|
|
174
174
|
extern int ntlm_client_set_nonce(ntlm_client *ntlm, uint64_t nonce);
|