| line |
true |
false |
branch |
|
53
|
0 |
0 |
if (git_stream_bio_method) { |
|
58
|
0 |
0 |
if (git__ssl_ctx) { |
|
141
|
0 |
0 |
if (!(git__ssl_ctx = SSL_CTX_new(SSLv23_method()))) |
|
147
|
0 |
0 |
if (!SSL_CTX_set_default_verify_paths(git__ssl_ctx)) |
|
150
|
0 |
0 |
if (!ciphers) |
|
153
|
0 |
0 |
if(!SSL_CTX_set_cipher_list(git__ssl_ctx, ciphers)) |
|
156
|
0 |
0 |
if (init_bio_method() < 0) |
|
182
|
0 |
87 |
if (git_mutex_init(&openssl_mutex) != 0) |
|
194
|
0 |
0 |
if (git_mutex_lock(&openssl_mutex) != 0) |
|
197
|
0 |
0 |
if (!openssl_initialized) { |
|
198
|
0 |
0 |
if ((error = git_openssl_stream_dynamic_init()) == 0) |
|
235
|
0 |
0 |
if (!b) |
|
262
|
0 |
0 |
if (cmd == BIO_CTRL_FLUSH) |
|
285
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(git_stream_bio_method); |
|
305
|
0 |
0 |
GIT_ASSERT(err != SSL_ERROR_WANT_READ); |
|
306
|
0 |
0 |
GIT_ASSERT(err != SSL_ERROR_WANT_WRITE); |
|
318
|
0 |
0 |
if (e > 0) { |
|
323
|
0 |
0 |
} else if (error < 0) { |
|
352
|
0 |
0 |
if (ret < 0) |
|
362
|
0 |
0 |
if (!strcasecmp(name, host)) |
|
365
|
0 |
0 |
if (gitno__match_host(name, host) < 0) |
|
384
|
0 |
0 |
if (SSL_get_verify_result(ssl) != X509_V_OK) { |
|
390
|
0 |
0 |
if (p_inet_pton(AF_INET, host, &addr4)) { |
|
394
|
0 |
0 |
if (p_inet_pton(AF_INET6, host, &addr6)) { |
|
402
|
0 |
0 |
if (!cert) { |
|
410
|
0 |
0 |
if (alts) { |
|
414
|
0 |
0 |
for (i = 0; i < num && matched != 1; i++) { |
|
|
0 |
0 |
for (i = 0; i < num && matched != 1; i++) { |
|
420
|
0 |
0 |
if (gn->type != type) |
|
423
|
0 |
0 |
if (type == GEN_DNS) { |
|
425
|
0 |
0 |
if (memchr(name, '\0', namelen)) |
|
428
|
0 |
0 |
if (check_host_name(name, host) < 0) |
|
432
|
0 |
0 |
} else if (type == GEN_IPADD) { |
|
434
|
0 |
0 |
matched = addr && !!memcmp(name, addr, namelen); |
|
|
0 |
0 |
matched = addr && !!memcmp(name, addr, namelen); |
|
440
|
0 |
0 |
if (matched == 0) |
|
443
|
0 |
0 |
if (matched == 1) { |
|
449
|
0 |
0 |
if (peer_name == NULL) |
|
452
|
0 |
0 |
if (peer_name) { |
|
454
|
0 |
0 |
while ((j = X509_NAME_get_index_by_NID(peer_name, NID_commonName, i)) >= 0) |
|
458
|
0 |
0 |
if (i < 0) |
|
462
|
0 |
0 |
if (str == NULL) |
|
466
|
0 |
0 |
if (ASN1_STRING_type(str) == V_ASN1_UTF8STRING) { |
|
469
|
0 |
0 |
if (size > 0) { |
|
471
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(peer_cn); |
|
479
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(peer_cn); |
|
480
|
0 |
0 |
if (memchr(peer_cn, '\0', size)) |
|
484
|
0 |
0 |
if (check_host_name((char *)peer_cn, host) < 0) |
|
520
|
0 |
0 |
if (st->owned && (ret = git_stream_connect(st->io)) < 0) |
|
|
0 |
0 |
if (st->owned && (ret = git_stream_connect(st->io)) < 0) |
|
524
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(bio); |
|
534
|
0 |
0 |
if ((ret = SSL_connect(st->ssl)) <= 0) |
|
551
|
0 |
0 |
if (len < 0) { |
|
558
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(encoded_cert); |
|
563
|
0 |
0 |
if (len < 0) { |
|
597
|
0 |
0 |
if ((ret = SSL_write(st->ssl, data, len)) <= 0) |
|
608
|
0 |
0 |
if ((ret = SSL_read(st->ssl, data, len)) <= 0) |
|
619
|
0 |
0 |
if (st->connected && (ret = ssl_teardown(st->ssl)) < 0) |
|
|
0 |
0 |
if (st->connected && (ret = ssl_teardown(st->ssl)) < 0) |
|
624
|
0 |
0 |
return st->owned ? git_stream_close(st->io) : 0; |
|
631
|
0 |
0 |
if (st->owned) |
|
648
|
0 |
0 |
GIT_ASSERT_ARG(out); |
|
649
|
0 |
0 |
GIT_ASSERT_ARG(in); |
|
650
|
0 |
0 |
GIT_ASSERT_ARG(host); |
|
653
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(st); |
|
659
|
0 |
0 |
if (st->ssl == NULL) { |
|
666
|
0 |
0 |
GIT_ERROR_CHECK_ALLOC(st->host); |
|
685
|
0 |
0 |
if (openssl_ensure_initialized() < 0) |
|
696
|
0 |
0 |
GIT_ASSERT_ARG(out); |
|
697
|
0 |
0 |
GIT_ASSERT_ARG(host); |
|
698
|
0 |
0 |
GIT_ASSERT_ARG(port); |
|
700
|
0 |
0 |
if (openssl_ensure_initialized() < 0) |
|
703
|
0 |
0 |
if ((error = git_socket_stream_new(&stream, host, port)) < 0) |
|
706
|
0 |
0 |
if ((error = openssl_stream_wrap(out, stream, host, 1)) < 0) { |
|
716
|
0 |
0 |
if (openssl_ensure_initialized() < 0) |
|
719
|
0 |
0 |
if (SSL_CTX_load_verify_locations(git__ssl_ctx, file, path) == 0) { |