rugged 0.27.7 → 0.27.10
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/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/AUTHORS +1 -0
- data/vendor/libgit2/CMakeLists.txt +99 -51
- data/vendor/libgit2/COPYING +28 -0
- data/vendor/libgit2/cmake/Modules/AddCFlagIfSupported.cmake +15 -1
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.c.in +29 -0
- data/vendor/libgit2/cmake/Modules/CheckPrototypeDefinition.cmake +96 -0
- data/vendor/libgit2/cmake/Modules/EnableWarnings.cmake +9 -8
- data/vendor/libgit2/cmake/Modules/FindCoreFoundation.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindGSSAPI.cmake +1 -1
- data/vendor/libgit2/cmake/Modules/FindGSSFramework.cmake +28 -0
- data/vendor/libgit2/cmake/Modules/FindIconv.cmake +11 -6
- data/vendor/libgit2/cmake/Modules/FindPCRE.cmake +38 -0
- data/vendor/libgit2/cmake/Modules/FindPCRE2.cmake +37 -0
- data/vendor/libgit2/cmake/Modules/FindSecurity.cmake +2 -2
- data/vendor/libgit2/cmake/Modules/FindStatNsec.cmake +6 -0
- data/vendor/libgit2/cmake/Modules/PkgBuildConfig.cmake +110 -0
- data/vendor/libgit2/cmake/Modules/SelectGSSAPI.cmake +53 -0
- data/vendor/libgit2/cmake/Modules/SelectHTTPSBackend.cmake +124 -0
- data/vendor/libgit2/cmake/Modules/SelectHashes.cmake +66 -0
- data/vendor/libgit2/deps/http-parser/http_parser.c +11 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +21 -0
- data/vendor/libgit2/deps/ntlmclient/compat.h +33 -0
- data/vendor/libgit2/deps/ntlmclient/crypt.h +64 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.c +120 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_commoncrypto.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.c +145 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_mbedtls.h +18 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +130 -0
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.h +21 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +1420 -0
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +174 -0
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +320 -0
- data/vendor/libgit2/deps/ntlmclient/unicode.h +36 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_builtin.c +445 -0
- data/vendor/libgit2/deps/ntlmclient/unicode_iconv.c +201 -0
- data/vendor/libgit2/deps/ntlmclient/utf8.h +1257 -0
- data/vendor/libgit2/deps/ntlmclient/util.c +21 -0
- data/vendor/libgit2/deps/ntlmclient/util.h +14 -0
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +140 -0
- data/vendor/libgit2/deps/pcre/COPYING +5 -0
- data/vendor/libgit2/deps/pcre/cmake/COPYING-CMAKE-SCRIPTS +22 -0
- data/vendor/libgit2/deps/pcre/cmake/FindEditline.cmake +17 -0
- data/vendor/libgit2/deps/pcre/cmake/FindPackageHandleStandardArgs.cmake +58 -0
- data/vendor/libgit2/deps/pcre/cmake/FindReadline.cmake +29 -0
- data/vendor/libgit2/deps/pcre/config.h.in +57 -0
- data/vendor/libgit2/deps/pcre/pcre.h +641 -0
- data/vendor/libgit2/deps/pcre/pcre_byte_order.c +319 -0
- data/vendor/libgit2/deps/pcre/pcre_chartables.c +198 -0
- data/vendor/libgit2/deps/pcre/pcre_compile.c +9800 -0
- data/vendor/libgit2/deps/pcre/pcre_config.c +190 -0
- data/vendor/libgit2/deps/pcre/pcre_dfa_exec.c +3676 -0
- data/vendor/libgit2/deps/pcre/pcre_exec.c +7173 -0
- data/vendor/libgit2/deps/pcre/pcre_fullinfo.c +245 -0
- data/vendor/libgit2/deps/pcre/pcre_get.c +669 -0
- data/vendor/libgit2/deps/pcre/pcre_globals.c +86 -0
- data/vendor/libgit2/deps/pcre/pcre_internal.h +2787 -0
- data/vendor/libgit2/deps/pcre/pcre_jit_compile.c +11913 -0
- data/vendor/libgit2/deps/pcre/pcre_maketables.c +156 -0
- data/vendor/libgit2/deps/pcre/pcre_newline.c +210 -0
- data/vendor/libgit2/deps/pcre/pcre_ord2utf8.c +94 -0
- data/vendor/libgit2/deps/pcre/pcre_printint.c +834 -0
- data/vendor/libgit2/deps/pcre/pcre_refcount.c +92 -0
- data/vendor/libgit2/deps/pcre/pcre_string_utils.c +211 -0
- data/vendor/libgit2/deps/pcre/pcre_study.c +1686 -0
- data/vendor/libgit2/deps/pcre/pcre_tables.c +727 -0
- data/vendor/libgit2/deps/pcre/pcre_ucd.c +3644 -0
- data/vendor/libgit2/deps/pcre/pcre_valid_utf8.c +301 -0
- data/vendor/libgit2/deps/pcre/pcre_version.c +98 -0
- data/vendor/libgit2/deps/pcre/pcre_xclass.c +268 -0
- data/vendor/libgit2/deps/pcre/pcreposix.c +421 -0
- data/vendor/libgit2/deps/pcre/pcreposix.h +117 -0
- data/vendor/libgit2/deps/pcre/ucp.h +224 -0
- data/vendor/libgit2/deps/winhttp/COPYING.GPL +993 -0
- data/vendor/libgit2/deps/winhttp/COPYING.LGPL +502 -0
- data/vendor/libgit2/deps/zlib/CMakeLists.txt +1 -0
- data/vendor/libgit2/deps/zlib/COPYING +27 -0
- data/vendor/libgit2/deps/zlib/adler32.c +0 -7
- data/vendor/libgit2/deps/zlib/crc32.c +0 -7
- data/vendor/libgit2/include/git2/annotated_commit.h +9 -0
- data/vendor/libgit2/include/git2/apply.h +149 -0
- data/vendor/libgit2/include/git2/attr.h +20 -13
- data/vendor/libgit2/include/git2/blame.h +4 -4
- data/vendor/libgit2/include/git2/blob.h +44 -12
- data/vendor/libgit2/include/git2/buffer.h +20 -26
- data/vendor/libgit2/include/git2/cert.h +135 -0
- data/vendor/libgit2/include/git2/checkout.h +53 -21
- data/vendor/libgit2/include/git2/cherrypick.h +3 -3
- data/vendor/libgit2/include/git2/clone.h +5 -5
- data/vendor/libgit2/include/git2/commit.h +25 -3
- data/vendor/libgit2/include/git2/common.h +35 -10
- data/vendor/libgit2/include/git2/config.h +29 -19
- data/vendor/libgit2/include/git2/cred.h +308 -0
- data/vendor/libgit2/include/git2/deprecated.h +493 -0
- data/vendor/libgit2/include/git2/describe.h +4 -4
- data/vendor/libgit2/include/git2/diff.h +177 -135
- data/vendor/libgit2/include/git2/errors.h +53 -46
- data/vendor/libgit2/include/git2/filter.h +8 -0
- data/vendor/libgit2/include/git2/index.h +74 -52
- data/vendor/libgit2/include/git2/indexer.h +76 -6
- data/vendor/libgit2/include/git2/merge.h +25 -10
- data/vendor/libgit2/include/git2/net.h +0 -5
- data/vendor/libgit2/include/git2/notes.h +1 -1
- data/vendor/libgit2/include/git2/object.h +17 -29
- data/vendor/libgit2/include/git2/odb.h +12 -11
- data/vendor/libgit2/include/git2/odb_backend.h +10 -9
- data/vendor/libgit2/include/git2/oid.h +2 -2
- data/vendor/libgit2/include/git2/pack.h +14 -3
- data/vendor/libgit2/include/git2/proxy.h +5 -3
- data/vendor/libgit2/include/git2/rebase.h +46 -2
- data/vendor/libgit2/include/git2/refs.h +34 -16
- data/vendor/libgit2/include/git2/remote.h +111 -14
- data/vendor/libgit2/include/git2/repository.h +69 -34
- data/vendor/libgit2/include/git2/revert.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +7 -7
- data/vendor/libgit2/include/git2/signature.h +2 -2
- data/vendor/libgit2/include/git2/stash.h +5 -5
- data/vendor/libgit2/include/git2/status.h +26 -17
- data/vendor/libgit2/include/git2/submodule.h +23 -6
- data/vendor/libgit2/include/git2/sys/alloc.h +18 -18
- data/vendor/libgit2/include/git2/sys/commit.h +1 -1
- data/vendor/libgit2/include/git2/sys/config.h +13 -13
- data/vendor/libgit2/include/git2/sys/cred.h +90 -0
- data/vendor/libgit2/include/git2/sys/filter.h +6 -6
- data/vendor/libgit2/include/git2/sys/merge.h +3 -3
- data/vendor/libgit2/include/git2/sys/odb_backend.h +66 -22
- data/vendor/libgit2/include/git2/sys/path.h +14 -5
- data/vendor/libgit2/include/git2/sys/refdb_backend.h +76 -40
- data/vendor/libgit2/include/git2/sys/repository.h +5 -1
- data/vendor/libgit2/include/git2/sys/stream.h +92 -12
- data/vendor/libgit2/include/git2/sys/transport.h +129 -83
- data/vendor/libgit2/include/git2/tag.h +13 -4
- data/vendor/libgit2/include/git2/trace.h +2 -2
- data/vendor/libgit2/include/git2/transport.h +11 -311
- data/vendor/libgit2/include/git2/tree.h +4 -4
- data/vendor/libgit2/include/git2/types.h +25 -106
- data/vendor/libgit2/include/git2/version.h +3 -3
- data/vendor/libgit2/include/git2/worktree.h +5 -5
- data/vendor/libgit2/include/git2.h +4 -0
- data/vendor/libgit2/src/CMakeLists.txt +104 -235
- data/vendor/libgit2/src/alloc.c +14 -18
- data/vendor/libgit2/src/{stdalloc.c → allocators/stdalloc.c} +7 -8
- data/vendor/libgit2/src/{stdalloc.h → allocators/stdalloc.h} +4 -4
- data/vendor/libgit2/src/allocators/win32_crtdbg.c +118 -0
- data/vendor/libgit2/src/{transports/cred.h → allocators/win32_crtdbg.h} +5 -4
- data/vendor/libgit2/src/annotated_commit.c +18 -11
- data/vendor/libgit2/src/apply.c +535 -28
- data/vendor/libgit2/src/apply.h +3 -1
- data/vendor/libgit2/src/array.h +2 -2
- data/vendor/libgit2/src/attr.c +77 -71
- data/vendor/libgit2/src/attr_file.c +203 -117
- data/vendor/libgit2/src/attr_file.h +9 -9
- data/vendor/libgit2/src/attrcache.c +49 -51
- data/vendor/libgit2/src/attrcache.h +2 -1
- data/vendor/libgit2/src/blame.c +38 -18
- data/vendor/libgit2/src/blame.h +1 -1
- data/vendor/libgit2/src/blame_git.c +29 -15
- data/vendor/libgit2/src/blob.c +123 -37
- data/vendor/libgit2/src/blob.h +19 -2
- data/vendor/libgit2/src/branch.c +47 -23
- data/vendor/libgit2/src/buf_text.c +7 -6
- data/vendor/libgit2/src/buffer.c +60 -53
- data/vendor/libgit2/src/cache.c +38 -45
- data/vendor/libgit2/src/cache.h +3 -3
- data/vendor/libgit2/src/cc-compat.h +20 -3
- data/vendor/libgit2/src/checkout.c +77 -67
- data/vendor/libgit2/src/cherrypick.c +12 -6
- data/vendor/libgit2/src/clone.c +36 -14
- data/vendor/libgit2/src/clone.h +4 -0
- data/vendor/libgit2/src/commit.c +103 -48
- data/vendor/libgit2/src/commit.h +7 -0
- data/vendor/libgit2/src/commit_list.c +36 -78
- data/vendor/libgit2/src/commit_list.h +2 -2
- data/vendor/libgit2/src/common.h +24 -90
- data/vendor/libgit2/src/config.c +203 -176
- data/vendor/libgit2/src/config.h +8 -20
- data/vendor/libgit2/src/config_backend.h +96 -0
- data/vendor/libgit2/src/config_cache.c +41 -35
- data/vendor/libgit2/src/config_entries.c +229 -0
- data/vendor/libgit2/src/config_entries.h +24 -0
- data/vendor/libgit2/src/config_file.c +422 -680
- data/vendor/libgit2/src/config_mem.c +220 -0
- data/vendor/libgit2/src/config_parse.c +96 -68
- data/vendor/libgit2/src/config_parse.h +15 -14
- data/vendor/libgit2/src/config_snapshot.c +206 -0
- data/vendor/libgit2/src/crlf.c +219 -196
- data/vendor/libgit2/src/delta.c +25 -18
- data/vendor/libgit2/src/describe.c +42 -41
- data/vendor/libgit2/src/diff.c +52 -67
- data/vendor/libgit2/src/diff.h +2 -1
- data/vendor/libgit2/src/diff_driver.c +44 -46
- data/vendor/libgit2/src/diff_file.c +16 -14
- data/vendor/libgit2/src/diff_file.h +1 -1
- data/vendor/libgit2/src/diff_generate.c +158 -103
- data/vendor/libgit2/src/diff_generate.h +3 -3
- data/vendor/libgit2/src/diff_parse.c +4 -4
- data/vendor/libgit2/src/diff_print.c +34 -22
- data/vendor/libgit2/src/diff_stats.c +22 -7
- data/vendor/libgit2/src/diff_tform.c +18 -16
- data/vendor/libgit2/src/diff_xdiff.c +3 -3
- data/vendor/libgit2/src/errors.c +51 -39
- data/vendor/libgit2/src/errors.h +81 -0
- data/vendor/libgit2/src/features.h.in +9 -3
- data/vendor/libgit2/src/fetch.c +8 -3
- data/vendor/libgit2/src/fetchhead.c +12 -12
- data/vendor/libgit2/src/filebuf.c +28 -32
- data/vendor/libgit2/src/filebuf.h +2 -2
- data/vendor/libgit2/src/filter.c +47 -33
- data/vendor/libgit2/src/filter.h +0 -10
- data/vendor/libgit2/src/{fileops.c → futils.c} +70 -63
- data/vendor/libgit2/src/{fileops.h → futils.h} +6 -6
- data/vendor/libgit2/src/global.c +35 -55
- data/vendor/libgit2/src/global.h +0 -2
- data/vendor/libgit2/src/hash/sha1/collisiondetect.c +48 -0
- data/vendor/libgit2/src/hash/sha1/collisiondetect.h +19 -0
- data/vendor/libgit2/src/hash/{hash_common_crypto.h → sha1/common_crypto.c} +17 -17
- data/vendor/libgit2/src/hash/sha1/common_crypto.h +19 -0
- data/vendor/libgit2/src/hash/{hash_generic.c → sha1/generic.c} +22 -10
- data/vendor/libgit2/src/hash/{hash_generic.h → sha1/generic.h} +4 -10
- data/vendor/libgit2/src/hash/{hash_mbedtls.c → sha1/mbedtls.c} +15 -7
- data/vendor/libgit2/src/hash/{hash_mbedtls.h → sha1/mbedtls.h} +6 -7
- data/vendor/libgit2/src/hash/sha1/openssl.c +59 -0
- data/vendor/libgit2/src/hash/sha1/openssl.h +19 -0
- data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.c +14 -3
- data/vendor/libgit2/src/hash/{hash_win32.c → sha1/win32.c} +47 -37
- data/vendor/libgit2/src/hash/{hash_win32.h → sha1/win32.h} +6 -19
- data/vendor/libgit2/src/hash/sha1.h +38 -0
- data/vendor/libgit2/src/hash.c +61 -0
- data/vendor/libgit2/src/hash.h +20 -21
- data/vendor/libgit2/src/hashsig.c +5 -5
- data/vendor/libgit2/src/idxmap.c +107 -61
- data/vendor/libgit2/src/idxmap.h +153 -31
- data/vendor/libgit2/src/ignore.c +38 -42
- data/vendor/libgit2/src/index.c +264 -199
- data/vendor/libgit2/src/index.h +7 -1
- data/vendor/libgit2/src/indexer.c +338 -167
- data/vendor/libgit2/src/integer.h +71 -26
- data/vendor/libgit2/src/iterator.c +134 -62
- data/vendor/libgit2/src/iterator.h +15 -0
- data/vendor/libgit2/src/mailmap.c +8 -8
- data/vendor/libgit2/src/map.h +1 -1
- data/vendor/libgit2/src/merge.c +137 -93
- data/vendor/libgit2/src/merge_driver.c +11 -11
- data/vendor/libgit2/src/merge_file.c +2 -2
- data/vendor/libgit2/src/mwindow.c +24 -29
- data/vendor/libgit2/src/mwindow.h +4 -4
- data/vendor/libgit2/src/net.c +184 -0
- data/vendor/libgit2/src/net.h +36 -0
- data/vendor/libgit2/src/netops.c +55 -156
- data/vendor/libgit2/src/netops.h +3 -23
- data/vendor/libgit2/src/notes.c +14 -9
- data/vendor/libgit2/src/object.c +120 -69
- data/vendor/libgit2/src/object.h +22 -9
- data/vendor/libgit2/src/object_api.c +8 -8
- data/vendor/libgit2/src/odb.c +111 -88
- data/vendor/libgit2/src/odb.h +8 -7
- data/vendor/libgit2/src/odb_loose.c +58 -47
- data/vendor/libgit2/src/odb_mempack.c +21 -34
- data/vendor/libgit2/src/odb_pack.c +17 -13
- data/vendor/libgit2/src/offmap.c +53 -35
- data/vendor/libgit2/src/offmap.h +108 -21
- data/vendor/libgit2/src/oid.c +12 -7
- data/vendor/libgit2/src/oidmap.c +49 -47
- data/vendor/libgit2/src/oidmap.h +101 -24
- data/vendor/libgit2/src/pack-objects.c +87 -86
- data/vendor/libgit2/src/pack-objects.h +2 -8
- data/vendor/libgit2/src/pack.c +94 -96
- data/vendor/libgit2/src/pack.h +16 -18
- data/vendor/libgit2/src/parse.c +17 -4
- data/vendor/libgit2/src/parse.h +3 -3
- data/vendor/libgit2/src/patch.c +3 -3
- data/vendor/libgit2/src/patch_generate.c +18 -18
- data/vendor/libgit2/src/patch_parse.c +147 -79
- data/vendor/libgit2/src/path.c +207 -62
- data/vendor/libgit2/src/path.h +14 -0
- data/vendor/libgit2/src/pathspec.c +18 -18
- data/vendor/libgit2/src/pool.c +26 -22
- data/vendor/libgit2/src/pool.h +7 -7
- data/vendor/libgit2/src/posix.c +10 -10
- data/vendor/libgit2/src/posix.h +12 -1
- data/vendor/libgit2/src/proxy.c +8 -3
- data/vendor/libgit2/src/push.c +35 -29
- data/vendor/libgit2/src/push.h +2 -1
- data/vendor/libgit2/src/reader.c +265 -0
- data/vendor/libgit2/src/reader.h +107 -0
- data/vendor/libgit2/src/rebase.c +97 -38
- data/vendor/libgit2/src/refdb.c +15 -3
- data/vendor/libgit2/src/refdb_fs.c +318 -222
- data/vendor/libgit2/src/reflog.c +13 -15
- data/vendor/libgit2/src/refs.c +122 -89
- data/vendor/libgit2/src/refs.h +5 -3
- data/vendor/libgit2/src/refspec.c +27 -33
- data/vendor/libgit2/src/regexp.c +221 -0
- data/vendor/libgit2/src/regexp.h +97 -0
- data/vendor/libgit2/src/remote.c +229 -178
- data/vendor/libgit2/src/remote.h +11 -2
- data/vendor/libgit2/src/repository.c +227 -172
- data/vendor/libgit2/src/repository.h +52 -40
- data/vendor/libgit2/src/reset.c +7 -7
- data/vendor/libgit2/src/revert.c +11 -6
- data/vendor/libgit2/src/revparse.c +46 -46
- data/vendor/libgit2/src/revwalk.c +89 -54
- data/vendor/libgit2/src/revwalk.h +20 -0
- data/vendor/libgit2/src/settings.c +22 -9
- data/vendor/libgit2/src/signature.c +15 -13
- data/vendor/libgit2/src/sortedcache.c +22 -36
- data/vendor/libgit2/src/sortedcache.h +1 -1
- data/vendor/libgit2/src/stash.c +56 -76
- data/vendor/libgit2/src/status.c +27 -21
- data/vendor/libgit2/src/stream.h +17 -2
- data/vendor/libgit2/src/streams/mbedtls.c +100 -80
- data/vendor/libgit2/src/streams/mbedtls.h +5 -2
- data/vendor/libgit2/src/streams/openssl.c +93 -81
- data/vendor/libgit2/src/streams/openssl.h +5 -2
- data/vendor/libgit2/src/streams/registry.c +118 -0
- data/vendor/libgit2/src/streams/registry.h +19 -0
- data/vendor/libgit2/src/streams/socket.c +55 -30
- data/vendor/libgit2/src/streams/stransport.c +57 -32
- data/vendor/libgit2/src/streams/stransport.h +5 -0
- data/vendor/libgit2/src/streams/tls.c +48 -20
- data/vendor/libgit2/src/streams/tls.h +12 -4
- data/vendor/libgit2/src/strmap.c +47 -74
- data/vendor/libgit2/src/strmap.h +108 -33
- data/vendor/libgit2/src/submodule.c +190 -169
- data/vendor/libgit2/src/submodule.h +1 -1
- data/vendor/libgit2/src/sysdir.c +25 -15
- data/vendor/libgit2/src/tag.c +39 -26
- data/vendor/libgit2/src/tag.h +2 -1
- data/vendor/libgit2/src/trace.c +2 -2
- data/vendor/libgit2/src/trace.h +2 -2
- data/vendor/libgit2/src/trailer.c +46 -32
- data/vendor/libgit2/src/transaction.c +30 -29
- data/vendor/libgit2/src/transport.c +3 -3
- data/vendor/libgit2/src/transports/auth.c +14 -10
- data/vendor/libgit2/src/transports/auth.h +10 -3
- data/vendor/libgit2/src/transports/auth_negotiate.c +31 -16
- data/vendor/libgit2/src/transports/auth_negotiate.h +2 -2
- data/vendor/libgit2/src/transports/auth_ntlm.c +223 -0
- data/vendor/libgit2/src/transports/auth_ntlm.h +35 -0
- data/vendor/libgit2/src/transports/cred.c +24 -24
- data/vendor/libgit2/src/transports/git.c +25 -30
- data/vendor/libgit2/src/transports/http.c +871 -335
- data/vendor/libgit2/src/transports/http.h +2 -0
- data/vendor/libgit2/src/transports/local.c +28 -28
- data/vendor/libgit2/src/transports/smart.c +64 -46
- data/vendor/libgit2/src/transports/smart.h +5 -6
- data/vendor/libgit2/src/transports/smart_pkt.c +162 -151
- data/vendor/libgit2/src/transports/smart_protocol.c +64 -94
- data/vendor/libgit2/src/transports/ssh.c +76 -65
- data/vendor/libgit2/src/transports/winhttp.c +328 -319
- data/vendor/libgit2/src/tree-cache.c +21 -14
- data/vendor/libgit2/src/tree.c +119 -112
- data/vendor/libgit2/src/tree.h +1 -0
- data/vendor/libgit2/src/unix/map.c +3 -3
- data/vendor/libgit2/src/unix/posix.h +1 -11
- data/vendor/libgit2/src/userdiff.h +3 -1
- data/vendor/libgit2/src/util.c +154 -93
- data/vendor/libgit2/src/util.h +19 -23
- data/vendor/libgit2/src/vector.c +15 -10
- data/vendor/libgit2/src/wildmatch.c +320 -0
- data/vendor/libgit2/src/wildmatch.h +23 -0
- data/vendor/libgit2/src/win32/dir.c +3 -3
- data/vendor/libgit2/src/win32/findfile.c +1 -1
- data/vendor/libgit2/src/win32/map.c +9 -11
- data/vendor/libgit2/src/win32/msvc-compat.h +6 -0
- data/vendor/libgit2/src/win32/path_w32.c +113 -9
- data/vendor/libgit2/src/win32/path_w32.h +18 -29
- data/vendor/libgit2/src/win32/posix.h +1 -4
- data/vendor/libgit2/src/win32/posix_w32.c +69 -44
- data/vendor/libgit2/src/win32/precompiled.h +0 -2
- data/vendor/libgit2/src/win32/thread.c +5 -10
- data/vendor/libgit2/src/win32/w32_buffer.c +9 -5
- data/vendor/libgit2/src/win32/w32_common.h +39 -0
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.c +2 -95
- data/vendor/libgit2/src/win32/w32_crtdbg_stacktrace.h +0 -2
- data/vendor/libgit2/src/win32/w32_stack.c +6 -11
- data/vendor/libgit2/src/win32/w32_stack.h +3 -3
- data/vendor/libgit2/src/win32/w32_util.c +27 -64
- data/vendor/libgit2/src/win32/w32_util.h +5 -49
- data/vendor/libgit2/src/worktree.c +44 -30
- data/vendor/libgit2/src/xdiff/xdiffi.c +5 -5
- data/vendor/libgit2/src/xdiff/xhistogram.c +1 -1
- data/vendor/libgit2/src/xdiff/xmerge.c +27 -15
- data/vendor/libgit2/src/xdiff/xpatience.c +3 -0
- data/vendor/libgit2/src/zstream.c +4 -4
- metadata +115 -38
- data/vendor/libgit2/deps/regex/CMakeLists.txt +0 -2
- data/vendor/libgit2/deps/regex/config.h +0 -7
- data/vendor/libgit2/deps/regex/regcomp.c +0 -3857
- data/vendor/libgit2/deps/regex/regex.c +0 -92
- data/vendor/libgit2/deps/regex/regex.h +0 -582
- data/vendor/libgit2/deps/regex/regex_internal.c +0 -1744
- data/vendor/libgit2/deps/regex/regex_internal.h +0 -819
- data/vendor/libgit2/deps/regex/regexec.c +0 -4369
- data/vendor/libgit2/include/git2/inttypes.h +0 -309
- data/vendor/libgit2/include/git2/sys/time.h +0 -31
- data/vendor/libgit2/libgit2.pc.in +0 -13
- data/vendor/libgit2/src/config_file.h +0 -73
- data/vendor/libgit2/src/fnmatch.c +0 -248
- data/vendor/libgit2/src/fnmatch.h +0 -48
- data/vendor/libgit2/src/hash/hash_collisiondetect.h +0 -47
- data/vendor/libgit2/src/hash/hash_openssl.h +0 -59
- data/vendor/libgit2/src/streams/curl.c +0 -385
- data/vendor/libgit2/src/streams/curl.h +0 -17
- /data/vendor/libgit2/deps/http-parser/{LICENSE-MIT → COPYING} +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/sha1.h +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.c +0 -0
- /data/vendor/libgit2/src/hash/{sha1dc → sha1/sha1dc}/ubc_check.h +0 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
INCLUDE(FeatureSummary)
|
|
2
|
+
|
|
1
3
|
CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtim "sys/types.h;sys/stat.h"
|
|
2
4
|
HAVE_STRUCT_STAT_ST_MTIM LANGUAGE C)
|
|
3
5
|
CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtimespec "sys/types.h;sys/stat.h"
|
|
@@ -17,4 +19,8 @@ ENDIF()
|
|
|
17
19
|
|
|
18
20
|
IF (HAVE_STRUCT_STAT_NSEC OR WIN32)
|
|
19
21
|
OPTION( USE_NSEC "Care about sub-second file mtimes and ctimes" ON )
|
|
22
|
+
ELSE()
|
|
23
|
+
SET(USE_NSEC OFF)
|
|
20
24
|
ENDIF()
|
|
25
|
+
|
|
26
|
+
ADD_FEATURE_INFO(nanoseconds USE_NSEC "whether to use sub-second file mtimes and ctimes")
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# pkg-config file generation
|
|
2
|
+
#
|
|
3
|
+
# Uses the following globals:
|
|
4
|
+
# - PKG_BUILD_PREFIX: the build location (aka prefix). Defaults to CMAKE_INSTALL_PREFIX
|
|
5
|
+
# - PKG_BUILD_LIBDIR: the libdir location. Defaults to ${prefix}/lib.
|
|
6
|
+
# - PKG_BUILD_INCLUDEDIR: the includedir location. Defaults to ${prefix}/include.
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
function(pkg_build_config)
|
|
10
|
+
set(options)
|
|
11
|
+
set(oneValueArgs NAME DESCRIPTION VERSION FILENAME LIBS_SELF)
|
|
12
|
+
set(multiValueArgs LIBS PRIVATE_LIBS REQUIRES CFLAGS)
|
|
13
|
+
|
|
14
|
+
cmake_parse_arguments(PKGCONFIG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
15
|
+
|
|
16
|
+
if (NOT DEFINED PKGCONFIG_FILENAME AND DEFINED PKGCONFIG_NAME)
|
|
17
|
+
set(PKGCONFIG_FILENAME ${PKGCONFIG_NAME})
|
|
18
|
+
endif()
|
|
19
|
+
if (NOT DEFINED PKGCONFIG_FILENAME)
|
|
20
|
+
message(FATAL_ERROR "Missing FILENAME argument")
|
|
21
|
+
endif()
|
|
22
|
+
set(PKGCONFIG_FILE "${PROJECT_BINARY_DIR}/${PKGCONFIG_FILENAME}.pc")
|
|
23
|
+
|
|
24
|
+
if (NOT DEFINED PKGCONFIG_DESCRIPTION)
|
|
25
|
+
message(FATAL_ERROR "Missing DESCRIPTION argument")
|
|
26
|
+
endif()
|
|
27
|
+
|
|
28
|
+
if (NOT DEFINED PKGCONFIG_VERSION)
|
|
29
|
+
message(FATAL_ERROR "Missing VERSION argument")
|
|
30
|
+
endif()
|
|
31
|
+
|
|
32
|
+
if (DEFINED PKG_BUILD_PREFIX)
|
|
33
|
+
set(PKGCONFIG_PREFIX "${PKG_BUILD_PREFIX}")
|
|
34
|
+
else()
|
|
35
|
+
set(PKGCONFIG_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
|
36
|
+
endif()
|
|
37
|
+
|
|
38
|
+
if(DEFINED PKG_BUILD_LIBDIR)
|
|
39
|
+
if (IS_ABSOLUTE ${PKG_BUILD_LIBDIR})
|
|
40
|
+
set(PKGCONFIG_LIBDIR ${PKG_BUILD_LIBDIR})
|
|
41
|
+
else()
|
|
42
|
+
set(PKGCONFIG_LIBDIR "\${prefix}/${PKG_BUILD_LIBDIR}")
|
|
43
|
+
endif()
|
|
44
|
+
else()
|
|
45
|
+
set(PKGCONFIG_LIBDIR "\${prefix}/lib")
|
|
46
|
+
endif()
|
|
47
|
+
|
|
48
|
+
if(DEFINED PKG_BUILD_INCLUDEDIR)
|
|
49
|
+
if (IS_ABSOLUTE ${PKG_BUILD_INCLUDEDIR})
|
|
50
|
+
set(PKGCONFIG_INCLUDEDIR ${PKG_BUILD_INCLUDEDIR})
|
|
51
|
+
else()
|
|
52
|
+
set(PKGCONFIG_INCLUDEDIR "\${prefix}/${PKG_BUILD_INCLUDEDIR}")
|
|
53
|
+
endif()
|
|
54
|
+
else()
|
|
55
|
+
set(PKGCONFIG_INCLUDEDIR "\${prefix}/include")
|
|
56
|
+
endif()
|
|
57
|
+
|
|
58
|
+
# Write .pc "header"
|
|
59
|
+
file(WRITE "${PKGCONFIG_FILE}"
|
|
60
|
+
"prefix=\"${PKGCONFIG_PREFIX}\"\n"
|
|
61
|
+
"libdir=\"${PKGCONFIG_LIBDIR}\"\n"
|
|
62
|
+
"includedir=\"${PKGCONFIG_INCLUDEDIR}\"\n"
|
|
63
|
+
"\n"
|
|
64
|
+
"Name: ${PKGCONFIG_NAME}\n"
|
|
65
|
+
"Description: ${PKGCONFIG_DESCRIPTION}\n"
|
|
66
|
+
"Version: ${PKGCONFIG_VERSION}\n"
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
# Prepare Libs
|
|
70
|
+
if(NOT DEFINED PKGCONFIG_LIBS_SELF)
|
|
71
|
+
set(PKGCONFIG_LIBS_SELF "${PKGCONFIG_FILE}")
|
|
72
|
+
endif()
|
|
73
|
+
|
|
74
|
+
if(NOT DEFINED PKGCONFIG_LIBS)
|
|
75
|
+
set(PKGCONFIG_LIBS "-l${PKGCONFIG_LIBS_SELF}")
|
|
76
|
+
else()
|
|
77
|
+
list(INSERT PKGCONFIG_LIBS 0 "-l${PKGCONFIG_LIBS_SELF}")
|
|
78
|
+
endif()
|
|
79
|
+
|
|
80
|
+
list(REMOVE_DUPLICATES PKGCONFIG_LIBS)
|
|
81
|
+
string(REPLACE ";" " " PKGCONFIG_LIBS "${PKGCONFIG_LIBS}")
|
|
82
|
+
file(APPEND "${PKGCONFIG_FILE}" "Libs: -L\${libdir} ${PKGCONFIG_LIBS}\n")
|
|
83
|
+
|
|
84
|
+
# Prepare Libs.private
|
|
85
|
+
if(DEFINED PKGCONFIG_PRIVATE_LIBS)
|
|
86
|
+
list(REMOVE_DUPLICATES PKGCONFIG_PRIVATE_LIBS)
|
|
87
|
+
string(REPLACE ";" " " PKGCONFIG_PRIVATE_LIBS "${PKGCONFIG_PRIVATE_LIBS}")
|
|
88
|
+
file(APPEND "${PKGCONFIG_FILE}" "Libs.private: ${PKGCONFIG_PRIVATE_LIBS}\n")
|
|
89
|
+
endif()
|
|
90
|
+
|
|
91
|
+
# Prepare Requires.private
|
|
92
|
+
if(DEFINED PKGCONFIG_REQUIRES)
|
|
93
|
+
list(REMOVE_DUPLICATES PKGCONFIG_REQUIRES)
|
|
94
|
+
string(REPLACE ";" " " PKGCONFIG_REQUIRES "${PKGCONFIG_REQUIRES}")
|
|
95
|
+
file(APPEND "${PKGCONFIG_FILE}" "Requires.private: ${PKGCONFIG_REQUIRES}\n")
|
|
96
|
+
endif()
|
|
97
|
+
|
|
98
|
+
# Prepare Cflags
|
|
99
|
+
if(DEFINED PKGCONFIG_CFLAGS)
|
|
100
|
+
string(REPLACE ";" " " PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS}")
|
|
101
|
+
else()
|
|
102
|
+
set(PKGCONFIG_CFLAGS "")
|
|
103
|
+
endif()
|
|
104
|
+
file(APPEND "${PKGCONFIG_FILE}" "Cflags: -I\${includedir} ${PKGCONFIG_CFLAGS}\n")
|
|
105
|
+
|
|
106
|
+
# Install .pc file
|
|
107
|
+
install(FILES "${PKGCONFIG_FILE}"
|
|
108
|
+
DESTINATION "${PKGCONFIG_PREFIX}/${PKGCONFIG_LIBDIR}/pkgconfig"
|
|
109
|
+
)
|
|
110
|
+
endfunction()
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Select the backend to use
|
|
2
|
+
|
|
3
|
+
# We try to find any packages our backends might use
|
|
4
|
+
|
|
5
|
+
FIND_PACKAGE(GSSAPI)
|
|
6
|
+
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
7
|
+
INCLUDE(FindGSSFramework)
|
|
8
|
+
ENDIF()
|
|
9
|
+
|
|
10
|
+
# Auto-select GSS backend
|
|
11
|
+
IF (USE_GSSAPI STREQUAL ON)
|
|
12
|
+
IF (GSSFRAMEWORK_FOUND)
|
|
13
|
+
SET(GSS_BACKEND "GSS.framework")
|
|
14
|
+
ELSEIF(GSSAPI_FOUND)
|
|
15
|
+
SET(GSS_BACKEND "gssapi")
|
|
16
|
+
ELSE()
|
|
17
|
+
MESSAGE(FATAL_ERROR "Unable to autodetect a usable GSS backend."
|
|
18
|
+
"Please pass the backend name explicitly (-DUSE_GSS=backend)")
|
|
19
|
+
ENDIF()
|
|
20
|
+
ELSEIF(USE_GSSAPI)
|
|
21
|
+
# Backend was explicitly set
|
|
22
|
+
SET(GSS_BACKEND ${USE_GSSAPI})
|
|
23
|
+
ELSE()
|
|
24
|
+
SET(GSS_BACKEND NO)
|
|
25
|
+
ENDIF()
|
|
26
|
+
|
|
27
|
+
IF(GSS_BACKEND)
|
|
28
|
+
# Check that we can find what's required for the selected backend
|
|
29
|
+
IF (GSS_BACKEND STREQUAL "GSS.framework")
|
|
30
|
+
IF (NOT GSSFRAMEWORK_FOUND)
|
|
31
|
+
MESSAGE(FATAL_ERROR "Asked for GSS.framework backend, but it wasn't found")
|
|
32
|
+
ENDIF()
|
|
33
|
+
|
|
34
|
+
LIST(APPEND LIBGIT2_LIBS ${GSSFRAMEWORK_LIBRARIES})
|
|
35
|
+
|
|
36
|
+
SET(GIT_GSSFRAMEWORK 1)
|
|
37
|
+
ADD_FEATURE_INFO(SPNEGO GIT_GSSFRAMEWORK "SPNEGO authentication support (${GSS_BACKEND})")
|
|
38
|
+
ELSEIF (GSS_BACKEND STREQUAL "gssapi")
|
|
39
|
+
IF (NOT GSSAPI_FOUND)
|
|
40
|
+
MESSAGE(FATAL_ERROR "Asked for gssapi GSS backend, but it wasn't found")
|
|
41
|
+
ENDIF()
|
|
42
|
+
|
|
43
|
+
LIST(APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES})
|
|
44
|
+
|
|
45
|
+
SET(GIT_GSSAPI 1)
|
|
46
|
+
ADD_FEATURE_INFO(SPNEGO GIT_GSSAPI "SPNEGO authentication support (${GSS_BACKEND})")
|
|
47
|
+
ELSE()
|
|
48
|
+
MESSAGE(FATAL_ERROR "Asked for backend ${GSS_BACKEND} but it wasn't found")
|
|
49
|
+
ENDIF()
|
|
50
|
+
ELSE()
|
|
51
|
+
SET(GIT_GSSAPI 0)
|
|
52
|
+
ADD_FEATURE_INFO(SPNEGO NO "")
|
|
53
|
+
ENDIF()
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Select the backend to use
|
|
2
|
+
|
|
3
|
+
# We try to find any packages our backends might use
|
|
4
|
+
FIND_PACKAGE(OpenSSL)
|
|
5
|
+
FIND_PACKAGE(mbedTLS)
|
|
6
|
+
IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
7
|
+
FIND_PACKAGE(Security)
|
|
8
|
+
FIND_PACKAGE(CoreFoundation)
|
|
9
|
+
ENDIF()
|
|
10
|
+
|
|
11
|
+
# Auto-select TLS backend
|
|
12
|
+
IF (USE_HTTPS STREQUAL ON)
|
|
13
|
+
IF (SECURITY_FOUND)
|
|
14
|
+
IF (SECURITY_HAS_SSLCREATECONTEXT)
|
|
15
|
+
SET(HTTPS_BACKEND "SecureTransport")
|
|
16
|
+
ELSE()
|
|
17
|
+
MESSAGE(STATUS "Security framework is too old, falling back to OpenSSL")
|
|
18
|
+
SET(HTTPS_BACKEND "OpenSSL")
|
|
19
|
+
ENDIF()
|
|
20
|
+
ELSEIF (WINHTTP)
|
|
21
|
+
SET(HTTPS_BACKEND "WinHTTP")
|
|
22
|
+
ELSEIF(OPENSSL_FOUND)
|
|
23
|
+
SET(HTTPS_BACKEND "OpenSSL")
|
|
24
|
+
ELSEIF(MBEDTLS_FOUND)
|
|
25
|
+
SET(HTTPS_BACKEND "mbedTLS")
|
|
26
|
+
ELSE()
|
|
27
|
+
MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
|
|
28
|
+
"Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
|
|
29
|
+
ENDIF()
|
|
30
|
+
ELSEIF(USE_HTTPS)
|
|
31
|
+
# HTTPS backend was explicitly set
|
|
32
|
+
SET(HTTPS_BACKEND ${USE_HTTPS})
|
|
33
|
+
ELSE()
|
|
34
|
+
SET(HTTPS_BACKEND NO)
|
|
35
|
+
ENDIF()
|
|
36
|
+
|
|
37
|
+
IF(HTTPS_BACKEND)
|
|
38
|
+
# Check that we can find what's required for the selected backend
|
|
39
|
+
IF (HTTPS_BACKEND STREQUAL "SecureTransport")
|
|
40
|
+
IF (NOT COREFOUNDATION_FOUND)
|
|
41
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, CoreFoundation.framework not found")
|
|
42
|
+
ENDIF()
|
|
43
|
+
IF (NOT SECURITY_FOUND)
|
|
44
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, Security.framework not found")
|
|
45
|
+
ENDIF()
|
|
46
|
+
IF (NOT SECURITY_HAS_SSLCREATECONTEXT)
|
|
47
|
+
MESSAGE(FATAL_ERROR "Cannot use SecureTransport backend, SSLCreateContext not supported")
|
|
48
|
+
ENDIF()
|
|
49
|
+
|
|
50
|
+
SET(GIT_SECURE_TRANSPORT 1)
|
|
51
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
|
|
52
|
+
LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
|
53
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
|
|
54
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL")
|
|
55
|
+
IF (NOT OPENSSL_FOUND)
|
|
56
|
+
MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
|
|
57
|
+
ENDIF()
|
|
58
|
+
|
|
59
|
+
SET(GIT_OPENSSL 1)
|
|
60
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
|
61
|
+
LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
|
|
62
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
|
|
63
|
+
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
64
|
+
ELSEIF(HTTPS_BACKEND STREQUAL "mbedTLS")
|
|
65
|
+
IF (NOT MBEDTLS_FOUND)
|
|
66
|
+
MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
|
|
67
|
+
ENDIF()
|
|
68
|
+
|
|
69
|
+
IF(NOT CERT_LOCATION)
|
|
70
|
+
MESSAGE(STATUS "Auto-detecting default certificates location")
|
|
71
|
+
IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
|
|
72
|
+
# Check for an Homebrew installation
|
|
73
|
+
SET(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
|
|
74
|
+
ELSE()
|
|
75
|
+
SET(OPENSSL_CMD "openssl")
|
|
76
|
+
ENDIF()
|
|
77
|
+
EXECUTE_PROCESS(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
78
|
+
IF(OPENSSL_DIR)
|
|
79
|
+
STRING(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
|
|
80
|
+
|
|
81
|
+
SET(OPENSSL_CA_LOCATIONS
|
|
82
|
+
"ca-bundle.pem" # OpenSUSE Leap 42.1
|
|
83
|
+
"cert.pem" # Ubuntu 14.04, FreeBSD
|
|
84
|
+
"certs/ca-certificates.crt" # Ubuntu 16.04
|
|
85
|
+
"certs/ca.pem" # Debian 7
|
|
86
|
+
)
|
|
87
|
+
FOREACH(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
|
|
88
|
+
SET(LOC "${OPENSSL_DIR}${SUFFIX}")
|
|
89
|
+
IF(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
|
|
90
|
+
SET(CERT_LOCATION ${LOC})
|
|
91
|
+
ENDIF()
|
|
92
|
+
ENDFOREACH()
|
|
93
|
+
ELSE()
|
|
94
|
+
MESSAGE(FATAL_ERROR "Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
|
|
95
|
+
ENDIF()
|
|
96
|
+
ENDIF()
|
|
97
|
+
|
|
98
|
+
IF(CERT_LOCATION)
|
|
99
|
+
IF(NOT EXISTS ${CERT_LOCATION})
|
|
100
|
+
MESSAGE(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
|
|
101
|
+
ENDIF()
|
|
102
|
+
ADD_FEATURE_INFO(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
|
|
103
|
+
ADD_DEFINITIONS(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
|
|
104
|
+
ENDIF()
|
|
105
|
+
|
|
106
|
+
SET(GIT_MBEDTLS 1)
|
|
107
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
108
|
+
LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
|
|
109
|
+
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
110
|
+
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
111
|
+
# For now, pass its link flags as our own
|
|
112
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
113
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "WinHTTP")
|
|
114
|
+
# WinHTTP setup was handled in the WinHTTP-specific block above
|
|
115
|
+
ELSE()
|
|
116
|
+
MESSAGE(FATAL_ERROR "Asked for backend ${HTTPS_BACKEND} but it wasn't found")
|
|
117
|
+
ENDIF()
|
|
118
|
+
|
|
119
|
+
SET(GIT_HTTPS 1)
|
|
120
|
+
ADD_FEATURE_INFO(HTTPS GIT_HTTPS "using ${HTTPS_BACKEND}")
|
|
121
|
+
ELSE()
|
|
122
|
+
SET(GIT_HTTPS 0)
|
|
123
|
+
ADD_FEATURE_INFO(HTTPS NO "")
|
|
124
|
+
ENDIF()
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Select a hash backend
|
|
2
|
+
|
|
3
|
+
# USE_SHA1=CollisionDetection(ON)/HTTPS/Generic/OFF
|
|
4
|
+
|
|
5
|
+
IF(USE_SHA1 STREQUAL ON OR USE_SHA1 STREQUAL "CollisionDetection")
|
|
6
|
+
SET(SHA1_BACKEND "CollisionDetection")
|
|
7
|
+
ELSEIF(USE_SHA1 STREQUAL "HTTPS")
|
|
8
|
+
message(STATUS "Checking HTTPS backend… ${HTTPS_BACKEND}")
|
|
9
|
+
IF(HTTPS_BACKEND STREQUAL "SecureTransport")
|
|
10
|
+
SET(SHA1_BACKEND "CommonCrypto")
|
|
11
|
+
ELSEIF(HTTPS_BACKEND STREQUAL "WinHTTP")
|
|
12
|
+
SET(SHA1_BACKEND "Win32")
|
|
13
|
+
ELSEIF(HTTPS_BACKEND)
|
|
14
|
+
SET(SHA1_BACKEND ${HTTPS_BACKEND})
|
|
15
|
+
ELSE()
|
|
16
|
+
ENDIF()
|
|
17
|
+
IF(NOT HTTPS_BACKEND)
|
|
18
|
+
SET(SHA1_BACKEND "CollisionDetection")
|
|
19
|
+
ENDIF()
|
|
20
|
+
message(STATUS "Using SHA1 backend ${SHA1_BACKEND}")
|
|
21
|
+
ELSEIF(USE_SHA1 STREQUAL "Generic")
|
|
22
|
+
SET(SHA1_BACKEND "Generic")
|
|
23
|
+
# ELSEIF(NOT USE_SHA1)
|
|
24
|
+
ELSE()
|
|
25
|
+
MESSAGE(FATAL_ERROR "Invalid value for USE_SHA1: ${USE_SHA1}")
|
|
26
|
+
ENDIF()
|
|
27
|
+
|
|
28
|
+
IF(SHA1_BACKEND STREQUAL "CollisionDetection")
|
|
29
|
+
SET(GIT_SHA1_COLLISIONDETECT 1)
|
|
30
|
+
ADD_DEFINITIONS(-DSHA1DC_NO_STANDARD_INCLUDES=1)
|
|
31
|
+
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\")
|
|
32
|
+
ADD_DEFINITIONS(-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\")
|
|
33
|
+
FILE(GLOB SRC_SHA1 hash/sha1/collisiondetect.* hash/sha1/sha1dc/*)
|
|
34
|
+
ELSEIF(SHA1_BACKEND STREQUAL "OpenSSL")
|
|
35
|
+
# OPENSSL_FOUND should already be set, we're checking HTTPS_BACKEND
|
|
36
|
+
|
|
37
|
+
SET(GIT_SHA1_OPENSSL 1)
|
|
38
|
+
IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
|
39
|
+
LIST(APPEND LIBGIT2_PC_LIBS "-lssl")
|
|
40
|
+
ELSE()
|
|
41
|
+
LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
|
|
42
|
+
ENDIF()
|
|
43
|
+
FILE(GLOB SRC_SHA1 hash/sha1/openssl.*)
|
|
44
|
+
ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
|
|
45
|
+
SET(GIT_SHA1_COMMON_CRYPTO 1)
|
|
46
|
+
FILE(GLOB SRC_SHA1 hash/sha1/common_crypto.*)
|
|
47
|
+
ELSEIF(SHA1_BACKEND STREQUAL "mbedTLS")
|
|
48
|
+
SET(GIT_SHA1_MBEDTLS 1)
|
|
49
|
+
FILE(GLOB SRC_SHA1 hash/sha1/mbedtls.*)
|
|
50
|
+
LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
|
|
51
|
+
LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
|
|
52
|
+
# mbedTLS has no pkgconfig file, hence we can't require it
|
|
53
|
+
# https://github.com/ARMmbed/mbedtls/issues/228
|
|
54
|
+
# For now, pass its link flags as our own
|
|
55
|
+
LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
|
|
56
|
+
ELSEIF(SHA1_BACKEND STREQUAL "Win32")
|
|
57
|
+
SET(GIT_SHA1_WIN32 1)
|
|
58
|
+
FILE(GLOB SRC_SHA1 hash/sha1/win32.*)
|
|
59
|
+
ELSEIF(SHA1_BACKEND STREQUAL "Generic")
|
|
60
|
+
FILE(GLOB SRC_SHA1 hash/sha1/generic.*)
|
|
61
|
+
# ELSEIF(NOT USE_SHA1)
|
|
62
|
+
ELSE()
|
|
63
|
+
MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend: ${SHA1_BACKEND}")
|
|
64
|
+
ENDIF()
|
|
65
|
+
|
|
66
|
+
ADD_FEATURE_INFO(SHA ON "using ${SHA1_BACKEND}")
|
|
@@ -1992,6 +1992,9 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
|
|
|
1992
1992
|
const char *p;
|
|
1993
1993
|
size_t buflen = u->field_data[UF_HOST].off + u->field_data[UF_HOST].len;
|
|
1994
1994
|
|
|
1995
|
+
if (buflen > UINT16_MAX)
|
|
1996
|
+
return 1;
|
|
1997
|
+
|
|
1995
1998
|
u->field_data[UF_HOST].len = 0;
|
|
1996
1999
|
|
|
1997
2000
|
s = found_at ? s_http_userinfo_start : s_http_host_start;
|
|
@@ -2006,21 +2009,21 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
|
|
|
2006
2009
|
switch(new_s) {
|
|
2007
2010
|
case s_http_host:
|
|
2008
2011
|
if (s != s_http_host) {
|
|
2009
|
-
u->field_data[UF_HOST].off = p - buf;
|
|
2012
|
+
u->field_data[UF_HOST].off = (uint16_t)(p - buf);
|
|
2010
2013
|
}
|
|
2011
2014
|
u->field_data[UF_HOST].len++;
|
|
2012
2015
|
break;
|
|
2013
2016
|
|
|
2014
2017
|
case s_http_host_v6:
|
|
2015
2018
|
if (s != s_http_host_v6) {
|
|
2016
|
-
u->field_data[UF_HOST].off = p - buf;
|
|
2019
|
+
u->field_data[UF_HOST].off = (uint16_t)(p - buf);
|
|
2017
2020
|
}
|
|
2018
2021
|
u->field_data[UF_HOST].len++;
|
|
2019
2022
|
break;
|
|
2020
2023
|
|
|
2021
2024
|
case s_http_host_port:
|
|
2022
2025
|
if (s != s_http_host_port) {
|
|
2023
|
-
u->field_data[UF_PORT].off = p - buf;
|
|
2026
|
+
u->field_data[UF_PORT].off = (uint16_t)(p - buf);
|
|
2024
2027
|
u->field_data[UF_PORT].len = 0;
|
|
2025
2028
|
u->field_set |= (1 << UF_PORT);
|
|
2026
2029
|
}
|
|
@@ -2029,7 +2032,7 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
|
|
|
2029
2032
|
|
|
2030
2033
|
case s_http_userinfo:
|
|
2031
2034
|
if (s != s_http_userinfo) {
|
|
2032
|
-
u->field_data[UF_USERINFO].off = p - buf
|
|
2035
|
+
u->field_data[UF_USERINFO].off = (uint16_t)(p - buf);
|
|
2033
2036
|
u->field_data[UF_USERINFO].len = 0;
|
|
2034
2037
|
u->field_set |= (1 << UF_USERINFO);
|
|
2035
2038
|
}
|
|
@@ -2047,7 +2050,6 @@ http_parse_host(const char * buf, struct http_parser_url *u, int found_at) {
|
|
|
2047
2050
|
case s_http_host_start:
|
|
2048
2051
|
case s_http_host_v6_start:
|
|
2049
2052
|
case s_http_host_v6:
|
|
2050
|
-
case s_http_host_port_start:
|
|
2051
2053
|
case s_http_userinfo:
|
|
2052
2054
|
case s_http_userinfo_start:
|
|
2053
2055
|
return 1;
|
|
@@ -2067,6 +2069,9 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
|
|
|
2067
2069
|
enum http_parser_url_fields uf, old_uf;
|
|
2068
2070
|
int found_at = 0;
|
|
2069
2071
|
|
|
2072
|
+
if (buflen > UINT16_MAX)
|
|
2073
|
+
return 1;
|
|
2074
|
+
|
|
2070
2075
|
u->port = u->field_set = 0;
|
|
2071
2076
|
s = is_connect ? s_req_server_start : s_req_spaces_before_url;
|
|
2072
2077
|
uf = old_uf = UF_MAX;
|
|
@@ -2122,7 +2127,7 @@ http_parser_parse_url(const char *buf, size_t buflen, int is_connect,
|
|
|
2122
2127
|
continue;
|
|
2123
2128
|
}
|
|
2124
2129
|
|
|
2125
|
-
u->field_data[uf].off = p - buf;
|
|
2130
|
+
u->field_data[uf].off = (uint16_t)(p - buf);
|
|
2126
2131
|
u->field_data[uf].len = 1;
|
|
2127
2132
|
|
|
2128
2133
|
u->field_set |= (1 << uf);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
FILE(GLOB SRC_NTLMCLIENT "ntlm.c" "unicode_builtin.c" "util.c")
|
|
2
|
+
|
|
3
|
+
ADD_DEFINITIONS(-DNTLM_STATIC=1)
|
|
4
|
+
|
|
5
|
+
DISABLE_WARNINGS(implicit-fallthrough)
|
|
6
|
+
|
|
7
|
+
IF (HTTPS_BACKEND STREQUAL "SecureTransport")
|
|
8
|
+
ADD_DEFINITIONS(-DCRYPT_COMMONCRYPTO)
|
|
9
|
+
SET(SRC_NTLMCLIENT_CRYPTO "crypt_commoncrypto.c")
|
|
10
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL")
|
|
11
|
+
ADD_DEFINITIONS(-DCRYPT_OPENSSL)
|
|
12
|
+
INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
|
|
13
|
+
SET(SRC_NTLMCLIENT_CRYPTO "crypt_openssl.c")
|
|
14
|
+
ELSEIF (HTTPS_BACKEND STREQUAL "mbedTLS")
|
|
15
|
+
ADD_DEFINITIONS(-DCRYPT_MBEDTLS)
|
|
16
|
+
SET(SRC_NTLMCLIENT_CRYPTO "crypt_mbedtls.c")
|
|
17
|
+
ELSE ()
|
|
18
|
+
MESSAGE(FATAL_ERROR "Unable to use libgit2's HTTPS backend (${HTTPS_BACKEND}) for NTLM crypto")
|
|
19
|
+
ENDIF()
|
|
20
|
+
|
|
21
|
+
ADD_LIBRARY(ntlmclient OBJECT ${SRC_NTLMCLIENT} ${SRC_NTLMCLIENT_CRYPTO})
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
#ifndef PRIVATE_COMPAT_H__
|
|
10
|
+
#define PRIVATE_COMPAT_H__
|
|
11
|
+
|
|
12
|
+
#if defined (_MSC_VER)
|
|
13
|
+
typedef unsigned char bool;
|
|
14
|
+
# ifndef true
|
|
15
|
+
# define true 1
|
|
16
|
+
# endif
|
|
17
|
+
# ifndef false
|
|
18
|
+
# define false 0
|
|
19
|
+
# endif
|
|
20
|
+
#else
|
|
21
|
+
# include <stdbool.h>
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
#ifdef __linux__
|
|
25
|
+
# include <endian.h>
|
|
26
|
+
# define htonll htobe64
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
#ifndef MIN
|
|
30
|
+
# define MIN(x, y) (((x) < (y)) ? (x) : (y))
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#endif /* PRIVATE_COMPAT_H__ */
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
#ifndef PRIVATE_CRYPT_COMMON_H__
|
|
10
|
+
#define PRIVATE_CRYPT_COMMON_H__
|
|
11
|
+
|
|
12
|
+
#if defined(CRYPT_OPENSSL)
|
|
13
|
+
# include "crypt_openssl.h"
|
|
14
|
+
#elif defined(CRYPT_MBEDTLS)
|
|
15
|
+
# include "crypt_mbedtls.h"
|
|
16
|
+
#elif defined(CRYPT_COMMONCRYPTO)
|
|
17
|
+
# include "crypt_commoncrypto.h"
|
|
18
|
+
#else
|
|
19
|
+
# error "no crypto support"
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
#define CRYPT_DES_BLOCKSIZE 8
|
|
23
|
+
#define CRYPT_MD4_DIGESTSIZE 16
|
|
24
|
+
#define CRYPT_MD5_DIGESTSIZE 16
|
|
25
|
+
|
|
26
|
+
typedef unsigned char ntlm_des_block[CRYPT_DES_BLOCKSIZE];
|
|
27
|
+
|
|
28
|
+
extern bool ntlm_random_bytes(
|
|
29
|
+
ntlm_client *ntlm,
|
|
30
|
+
unsigned char *out,
|
|
31
|
+
size_t len);
|
|
32
|
+
|
|
33
|
+
extern bool ntlm_des_encrypt(
|
|
34
|
+
ntlm_des_block *out,
|
|
35
|
+
ntlm_des_block *plaintext,
|
|
36
|
+
ntlm_des_block *key);
|
|
37
|
+
|
|
38
|
+
extern bool ntlm_md4_digest(
|
|
39
|
+
unsigned char out[CRYPT_MD4_DIGESTSIZE],
|
|
40
|
+
const unsigned char *in,
|
|
41
|
+
size_t in_len);
|
|
42
|
+
|
|
43
|
+
extern ntlm_hmac_ctx *ntlm_hmac_ctx_init(void);
|
|
44
|
+
|
|
45
|
+
extern bool ntlm_hmac_ctx_reset(ntlm_hmac_ctx *ctx);
|
|
46
|
+
|
|
47
|
+
extern bool ntlm_hmac_md5_init(
|
|
48
|
+
ntlm_hmac_ctx *ctx,
|
|
49
|
+
const unsigned char *key,
|
|
50
|
+
size_t key_len);
|
|
51
|
+
|
|
52
|
+
extern bool ntlm_hmac_md5_update(
|
|
53
|
+
ntlm_hmac_ctx *ctx,
|
|
54
|
+
const unsigned char *data,
|
|
55
|
+
size_t data_len);
|
|
56
|
+
|
|
57
|
+
extern bool ntlm_hmac_md5_final(
|
|
58
|
+
unsigned char *out,
|
|
59
|
+
size_t *out_len,
|
|
60
|
+
ntlm_hmac_ctx *ctx);
|
|
61
|
+
|
|
62
|
+
extern void ntlm_hmac_ctx_free(ntlm_hmac_ctx *ctx);
|
|
63
|
+
|
|
64
|
+
#endif /* PRIVATE_CRYPT_COMMON_H__ */
|
|
@@ -0,0 +1,120 @@
|
|
|
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 <stdint.h>
|
|
11
|
+
#include <string.h>
|
|
12
|
+
#include <fcntl.h>
|
|
13
|
+
#include <unistd.h>
|
|
14
|
+
#include <errno.h>
|
|
15
|
+
|
|
16
|
+
#include <CommonCrypto/CommonCrypto.h>
|
|
17
|
+
|
|
18
|
+
#include "ntlm.h"
|
|
19
|
+
#include "crypt.h"
|
|
20
|
+
|
|
21
|
+
bool ntlm_random_bytes(
|
|
22
|
+
ntlm_client *ntlm,
|
|
23
|
+
unsigned char *out,
|
|
24
|
+
size_t len)
|
|
25
|
+
{
|
|
26
|
+
int fd, ret;
|
|
27
|
+
size_t total = 0;
|
|
28
|
+
|
|
29
|
+
if ((fd = open("/dev/urandom", O_RDONLY)) < 0) {
|
|
30
|
+
ntlm_client_set_errmsg(ntlm, strerror(errno));
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
while (total < len) {
|
|
35
|
+
if ((ret = read(fd, out, (len - total))) < 0) {
|
|
36
|
+
ntlm_client_set_errmsg(ntlm, strerror(errno));
|
|
37
|
+
return false;
|
|
38
|
+
} else if (ret == 0) {
|
|
39
|
+
ntlm_client_set_errmsg(ntlm, "unexpected eof on random device");
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
total += ret;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
close(fd);
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
bool ntlm_des_encrypt(
|
|
51
|
+
ntlm_des_block *out,
|
|
52
|
+
ntlm_des_block *plaintext,
|
|
53
|
+
ntlm_des_block *key)
|
|
54
|
+
{
|
|
55
|
+
size_t written;
|
|
56
|
+
|
|
57
|
+
CCCryptorStatus result = CCCrypt(kCCEncrypt,
|
|
58
|
+
kCCAlgorithmDES, kCCOptionECBMode,
|
|
59
|
+
key, sizeof(ntlm_des_block), NULL,
|
|
60
|
+
plaintext, sizeof(ntlm_des_block),
|
|
61
|
+
out, sizeof(ntlm_des_block), &written);
|
|
62
|
+
|
|
63
|
+
return (result == kCCSuccess) ? true : false;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
bool ntlm_md4_digest(
|
|
67
|
+
unsigned char out[CRYPT_MD4_DIGESTSIZE],
|
|
68
|
+
const unsigned char *in,
|
|
69
|
+
size_t in_len)
|
|
70
|
+
{
|
|
71
|
+
return !!CC_MD4(in, in_len, out);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
ntlm_hmac_ctx *ntlm_hmac_ctx_init(void)
|
|
75
|
+
{
|
|
76
|
+
return calloc(1, sizeof(ntlm_hmac_ctx));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
bool ntlm_hmac_ctx_reset(ntlm_hmac_ctx *ctx)
|
|
80
|
+
{
|
|
81
|
+
memset(ctx, 0, sizeof(ntlm_hmac_ctx));
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
bool ntlm_hmac_md5_init(
|
|
86
|
+
ntlm_hmac_ctx *ctx,
|
|
87
|
+
const unsigned char *key,
|
|
88
|
+
size_t key_len)
|
|
89
|
+
{
|
|
90
|
+
CCHmacInit(&ctx->native, kCCHmacAlgMD5, key, key_len);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
bool ntlm_hmac_md5_update(
|
|
95
|
+
ntlm_hmac_ctx *ctx,
|
|
96
|
+
const unsigned char *data,
|
|
97
|
+
size_t data_len)
|
|
98
|
+
{
|
|
99
|
+
CCHmacUpdate(&ctx->native, data, data_len);
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
bool ntlm_hmac_md5_final(
|
|
104
|
+
unsigned char *out,
|
|
105
|
+
size_t *out_len,
|
|
106
|
+
ntlm_hmac_ctx *ctx)
|
|
107
|
+
{
|
|
108
|
+
if (*out_len < CRYPT_MD5_DIGESTSIZE)
|
|
109
|
+
return false;
|
|
110
|
+
|
|
111
|
+
CCHmacFinal(&ctx->native, out);
|
|
112
|
+
|
|
113
|
+
*out_len = CRYPT_MD5_DIGESTSIZE;
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
void ntlm_hmac_ctx_free(ntlm_hmac_ctx *ctx)
|
|
118
|
+
{
|
|
119
|
+
free(ctx);
|
|
120
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
#ifndef PRIVATE_CRYPT_COMMONCRYPTO_H__
|
|
10
|
+
#define PRIVATE_CRYPT_COMMONCRYPTO_H__
|
|
11
|
+
|
|
12
|
+
#include <CommonCrypto/CommonCrypto.h>
|
|
13
|
+
|
|
14
|
+
typedef struct {
|
|
15
|
+
CCHmacContext native;
|
|
16
|
+
} ntlm_hmac_ctx;
|
|
17
|
+
|
|
18
|
+
#endif /* PRIVATE_CRYPT_COMMONCRYPTO_H__ */
|