This commit is contained in:
Tatsuhiro Tsujikawa 2019-10-02 23:57:47 +09:00
parent 655510ce28
commit 610add1f59
1 changed files with 15 additions and 13 deletions

View File

@ -512,27 +512,29 @@ int Client::make_socket(addrinfo *addr) {
std::cerr << "quic_init failed" << std::endl; std::cerr << "quic_init failed" << std::endl;
return -1; return -1;
} }
} else {
return 0; fd = util::create_nonblock_socket(addr->ai_family);
} if (fd == -1) {
return -1;
fd = util::create_nonblock_socket(addr->ai_family);
if (fd == -1) {
return -1;
}
if (config.scheme == "https") {
if (!ssl) {
ssl = SSL_new(worker->ssl_ctx);
} }
if (config.scheme == "https") {
if (!ssl) {
ssl = SSL_new(worker->ssl_ctx);
}
SSL_set_fd(ssl, fd); SSL_set_fd(ssl, fd);
SSL_set_connect_state(ssl); SSL_set_connect_state(ssl);
}
} }
if (ssl && !util::numeric_host(config.host.c_str())) { if (ssl && !util::numeric_host(config.host.c_str())) {
SSL_set_tlsext_host_name(ssl, config.host.c_str()); SSL_set_tlsext_host_name(ssl, config.host.c_str());
} }
if (config.is_quic()) {
return 0;
}
rv = ::connect(fd, addr->ai_addr, addr->ai_addrlen); rv = ::connect(fd, addr->ai_addr, addr->ai_addrlen);
if (rv != 0 && errno != EINPROGRESS) { if (rv != 0 && errno != EINPROGRESS) {
if (ssl) { if (ssl) {