Commit Graph

9892 Commits

Author SHA1 Message Date
Carlos Martín Nieto
9b51cc82ff Merge pull request #4050 from ethomson/ethomson/winhttp_errmsgs
WinHTTP: set proper error messages when SSL fails
2017-01-24 21:10:46 +00:00
Edward Thomson
1196807380 Merge pull request #4087 from tiennou/warnings
Fix a few recent warnings
2017-01-23 13:29:14 +00:00
Etienne Samson
e2b3dc16b9 variable 'i' is used uninitialized whenever 'if' condition is true 2017-01-23 13:32:34 +01:00
Etienne Samson
7414acf5f9 parameter 'id' not found in the function declaration 2017-01-23 13:32:34 +01:00
Edward Thomson
185fe9c1c1 Merge pull request #4051 from tiennou/clang-analyzer-1
Clang analyzer run
2017-01-21 23:58:41 +00:00
Edward Thomson
048c5ea7c0 Merge pull request #4053 from chescock/extend-packfile-by-pages
Extend packfile in increments of page_size.
2017-01-21 23:55:21 +00:00
Edward Thomson
8d3b39a6ad Merge branch 'pr/3912' 2017-01-21 23:50:38 +00:00
Edward Thomson
28d0ba0ba5 symbolic ref target validation: fixups
Fixups requested in #3912.
2017-01-21 23:45:23 +00:00
Edward Thomson
1910a04adb winhttp: set proper cert failure error messages
Set up a WinHTTP status callback; inspect the WinHTTP status for
WINHTTP_CALLBACK_STATUS_SECURE_FAILURE, and convert the status code
to a useful message for callers.
2017-01-21 23:15:54 +00:00
Edward Thomson
0418d3b7a8 Merge pull request #4078 from pks-t/pks/example-cleanup
Fix general example memory leaks
2017-01-21 23:11:13 +00:00
Edward Thomson
44e8af8f29 Merge pull request #3892 from mitesch/shared_buffer
Use a shared buffer in calls of git_treebuilder_write to avoid heap contention
2017-01-21 22:51:50 +00:00
Edward Thomson
3b4eb107c2 CHANGELOG: move git_submodule_update_option changes
The changes to `git_submodule_update_option` are now landing in v.Next.
2017-01-21 22:40:37 +00:00
Edward Thomson
9e78b7279d Merge branch 'master' into pr/3938 2017-01-21 22:39:59 +00:00
Edward Thomson
176f55527d Merge pull request #4085 from libgit2/ethomson/packfile_close
indexer: introduce `git_packfile_close`
2017-01-21 22:16:28 +00:00
Edward Thomson
87b7a7051b indexer: avoid warning about idx->pack
It must be non-NULL to have a valid `git_indexer`.
2017-01-21 15:44:57 -05:00
Edward Thomson
bf339ab0ef indexer: introduce git_packfile_close
Encapsulation!
2017-01-21 15:21:29 -05:00
Edward Thomson
98f5387233 Merge pull request #4016 from novalis/submodule-optimization
Submodule optimization
2017-01-21 18:57:28 +00:00
Edward Thomson
52949c806b Merge branch 'pr/4060' 2017-01-21 18:30:12 +00:00
Edward Thomson
d030bba9fa indexer: only delete temp file if it was unused
Only try to `unlink` our temp file when we know that we didn't copy it
into its permanent location.
2017-01-21 17:15:33 +00:00
Brock Peabody
673dff88a2 Skip submodule head/index update when caching.
`git_submodule_status` is very slow, bottlenecked on
`git_repository_head_tree`, which it uses through `submodule_update_head`.  If
the user has requested submodule caching, assume that they want this status
cached too and skip it.

Signed-off-by: David Turner <dturner@twosigma.com>
2017-01-20 17:33:56 -05:00
Brock Peabody
4d99c4cfc6 Allow for caching of submodules.
Added `git_repository_submodule_cache_all` to initialze a cache of
submodules on the repository so that operations looking up N
submodules are O(N) and not O(N^2).  Added a
`git_repository_submodule_cache_clear` function to remove the cache.

Also optimized the function that loads all submodules as it was itself
O(N^2) w.r.t the number of submodules, having to loop through the
`.gitmodules` file once per submodule.  I changed it to process the
`.gitmodules` file once, into a map.

Signed-off-by: David Turner <dturner@twosigma.com>
2017-01-20 17:33:56 -05:00
David Turner
ca05857e71 Fix formatting
Signed-off-by: David Turner <dturner@twosigma.com>
2017-01-20 17:33:56 -05:00
Carlos Martín Nieto
df4dfaadcf Merge pull request #4055 from ethomson/ethomson/ntlm
WinHTTP: support best auth mechanism
2017-01-16 12:29:52 +00:00
Edward Thomson
4e4a1460eb WinHTTP: support best auth mechanism
For username/password credentials, support NTLM or Basic (in that order
of priority).  Use the WinHTTP built-in authentication support for both,
and maintain a bitfield of the supported mechanisms from the response.
2017-01-16 11:21:26 +00:00
Edward Thomson
cb76eed5ce Merge pull request #4054 from jfultz/jfultz/fix_GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH
Fix handling of GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH flag.
2017-01-14 17:41:49 +00:00
Carlos Martín Nieto
2854e61956 Merge pull request #4061 from libgit2/ethomson/merge_opts
merge: set default rename threshold
2017-01-14 17:12:23 +00:00
lhchavez
f5586f5c73 Addressed review feedback 2017-01-14 16:37:00 +00:00
Edward Thomson
07bb8078cb CHANGELOG: update GIT_MERGE_OPTIONS_INIT changes 2017-01-14 16:01:53 +00:00
Etienne Samson
49be45a189 pack: report revwalk error 2017-01-13 21:48:20 +01:00
Etienne Samson
b0014063b2 patch: memory leak of patch.base.diff_opts.new|old_prefix 2017-01-13 21:48:20 +01:00
Etienne Samson
8a349bf2a1 ignore: there must be a repository
Otherwise we'll NULL-dereference in git_attr_cache__init
2017-01-13 21:48:20 +01:00
Carlos Martín Nieto
a6d833a29e Merge pull request #4049 from libgit2/ethomson/error_msgs
giterr_set: consistent error messages
2017-01-13 17:05:58 +01:00
Patrick Steinhardt
f9ea8c6a14 examples: general: fix memory leaks 2017-01-12 22:04:36 +01:00
Patrick Steinhardt
ed2b1c7e75 examples: general: display config only if it was found 2017-01-12 22:01:45 +01:00
Patrick Steinhardt
5aa101078e examples: general: narrow down scope of loop variables 2017-01-12 22:01:23 +01:00
Patrick Steinhardt
8572e2252b examples: general: clean up committer/author variables 2017-01-12 22:00:53 +01:00
Edward Thomson
ffe259d9e5 Merge pull request #4074 from fcharlie/master
fix examples/network/clone.c: heap-buffer-overflow
2017-01-11 11:52:06 +00:00
Carlos Martín Nieto
ee89941fa2 Merge remote-tracking branch 'upstream/maint/v0.25' 2017-01-09 21:00:07 +00:00
Carlos Martín Nieto
2fcb8705e5 Merge pull request #4076 from libgit2/cmn/sec-update-25
security updates for v0.25
2017-01-09 20:26:45 +00:00
Carlos Martín Nieto
2ac57aa89b https: don't test that RC4 is invalid
None of our crypto backends actually reject RC4 as a cipher so don't
test for it and instead keep it as something we'd like to do.
2017-01-09 18:32:11 +00:00
Carlos Martín Nieto
3829ba2e71 http: correct the expected error for RC4
We must make sure that we're getting a certificate error from the
library so we know that we're testing the right thing.
2017-01-09 17:58:58 +00:00
Force.Charlie-I
3fdba15c2f fix examples/network/clone.c: heap-buffer-overflow
Format of a length of string to the correct format is:%.*s
2017-01-09 14:09:57 +08:00
Edward Thomson
a5cf255b47 Bump version to 0.25.1 2017-01-06 17:15:53 +00:00
Edward Thomson
6850b516b9 Merge branch '25_smartpktparse' into maint/v0.25 2017-01-06 17:12:16 +00:00
Patrick Steinhardt
2fdef641fd smart_pkt: treat empty packet lines as error
The Git protocol does not specify what should happen in the case
of an empty packet line (that is a packet line "0004"). We
currently indicate success, but do not return a packet in the
case where we hit an empty line. The smart protocol was not
prepared to handle such packets in all cases, though, resulting
in a `NULL` pointer dereference.

Fix the issue by returning an error instead. As such kind of
packets is not even specified by upstream, this is the right
thing to do.
2017-01-06 17:11:58 +00:00
Patrick Steinhardt
66e3774d27 smart_pkt: verify packet length exceeds PKT_LEN_SIZE
Each packet line in the Git protocol is prefixed by a four-byte
length of how much data will follow, which we parse in
`git_pkt_parse_line`. The transmitted length can either be equal
to zero in case of a flush packet or has to be at least of length
four, as it also includes the encoded length itself. Not
checking this may result in a buffer overflow as we directly pass
the length to functions which accept a `size_t` length as
parameter.

Fix the issue by verifying that non-flush packets have at least a
length of `PKT_LEN_SIZE`.
2017-01-06 17:11:44 +00:00
Edward Thomson
ab8a0fdb31 Merge branch '25_certcheckcb' into maint/v0.25 2017-01-06 17:10:49 +00:00
Carlos Martín Nieto
98d66240ec http: perform 'badssl' check also via certificate callback
Make sure that the callbacks do also get a 'valid' value of zero when
the certificate we're looking at is in valid and assert that within the
test.
2017-01-06 17:09:52 +00:00
Etienne Samson
9a64e62f0f http: check certificate validity before clobbering the error variable 2017-01-06 17:09:39 +00:00
Edward Thomson
5afd0f9b7b Merge pull request #4065 from simonbyrne/sb/changelog
Mention field addition in breaking API changes
2017-01-06 12:33:17 +00:00