Index: external/bsd/fetch/dist/libfetch/common.c =================================================================== RCS file: /cvsroot/src/external/bsd/fetch/dist/libfetch/common.c,v retrieving revision 1.2 diff -p -u -r1.2 common.c --- external/bsd/fetch/dist/libfetch/common.c 25 Jun 2011 20:27:01 -0000 1.2 +++ external/bsd/fetch/dist/libfetch/common.c 15 Dec 2022 18:57:06 -0000 @@ -448,11 +448,18 @@ fetch_ssl(conn_t *conn, int verbose) conn->ssl = SSL_new(conn->ssl_ctx); if (conn->ssl == NULL){ + SSL_CTX_free(conn->ssl_ctx); fprintf(stderr, "SSL context creation failed\n"); return (-1); } SSL_set_fd(conn->ssl, conn->sd); + if (!SSL_set_tlsext_host_name(conn->ssl, conn->cache_url->host)) { + fprintf(stderr, "SSL hostname setting failed\n"); + SSL_CTX_free(conn->ssl_ctx); + return (-1); + } if (SSL_connect(conn->ssl) == -1){ + SSL_CTX_free(conn->ssl_ctx); ERR_print_errors_fp(stderr); return (-1); }