mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-06 21:44:58 +00:00
Merge pull request #2982 from libgit2/cmn/stream-check-ec
Don't ask for a stream's certificate unless it's encrypted
This commit is contained in:
commit
828e595969
@ -15,6 +15,11 @@ GIT_INLINE(int) git_stream_connect(git_stream *st)
|
||||
return st->connect(st);
|
||||
}
|
||||
|
||||
GIT_INLINE(int) git_stream_is_encrypted(git_stream *st)
|
||||
{
|
||||
return st->encrypted;
|
||||
}
|
||||
|
||||
GIT_INLINE(int) git_stream_certificate(git_cert **out, git_stream *st)
|
||||
{
|
||||
if (!st->encrypted) {
|
||||
|
@ -558,7 +558,8 @@ static int http_connect(http_subtransport *t)
|
||||
error = git_stream_connect(t->io);
|
||||
|
||||
#ifdef GIT_SSL
|
||||
if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL) {
|
||||
if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL &&
|
||||
git_stream_is_encrypted(t->io)) {
|
||||
git_cert *cert;
|
||||
int is_valid;
|
||||
|
||||
|
@ -565,3 +565,10 @@ void test_online_clone__certificate_valid(void)
|
||||
|
||||
cl_git_pass(git_clone(&g_repo, "https://github.com/libgit2/TestGitRepository", "./foo", &g_options));
|
||||
}
|
||||
|
||||
void test_online_clone__start_with_http(void)
|
||||
{
|
||||
g_options.remote_callbacks.certificate_check = succeed_certificate_check;
|
||||
|
||||
cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user