Changeset View
Changeset View
Standalone View
Standalone View
lib/libfetch/common.c
| Show First 20 Lines • Show All 1,176 Lines • ▼ Show 20 Lines | |||||
| int | int | ||||
| fetch_ssl(conn_t *conn, const struct url *URL, int verbose) | fetch_ssl(conn_t *conn, const struct url *URL, int verbose) | ||||
| { | { | ||||
| #ifdef WITH_SSL | #ifdef WITH_SSL | ||||
| int ret, ssl_err; | int ret, ssl_err; | ||||
| X509_NAME *name; | X509_NAME *name; | ||||
| char *str; | char *str; | ||||
| conn->ssl_meth = SSLv23_client_method(); | if ((conn->ssl_ctx = SSL_CTX_new(TLS_client_method())) == NULL) { | ||||
| conn->ssl_ctx = SSL_CTX_new(conn->ssl_meth); | fprintf(stderr, "SSL context creation failed\n"); | ||||
| ERR_print_errors_fp(stderr); | |||||
| return (-1); | |||||
| } | |||||
| SSL_CTX_set_mode(conn->ssl_ctx, SSL_MODE_AUTO_RETRY); | SSL_CTX_set_mode(conn->ssl_ctx, SSL_MODE_AUTO_RETRY); | ||||
| fetch_ssl_setup_transport_layer(conn->ssl_ctx, verbose); | fetch_ssl_setup_transport_layer(conn->ssl_ctx, verbose); | ||||
| if (!fetch_ssl_setup_peer_verification(conn->ssl_ctx, verbose)) | if (!fetch_ssl_setup_peer_verification(conn->ssl_ctx, verbose)) | ||||
| return (-1); | return (-1); | ||||
| if (!fetch_ssl_setup_client_certificate(conn->ssl_ctx, verbose)) | if (!fetch_ssl_setup_client_certificate(conn->ssl_ctx, verbose)) | ||||
| return (-1); | return (-1); | ||||
| conn->ssl = SSL_new(conn->ssl_ctx); | conn->ssl = SSL_new(conn->ssl_ctx); | ||||
| if (conn->ssl == NULL) { | if (conn->ssl == NULL) { | ||||
| fprintf(stderr, "SSL context creation failed\n"); | fprintf(stderr, "SSL connection creation failed\n"); | ||||
| ERR_print_errors_fp(stderr); | |||||
| return (-1); | return (-1); | ||||
| } | } | ||||
| SSL_set_fd(conn->ssl, conn->sd); | SSL_set_fd(conn->ssl, conn->sd); | ||||
| #if !defined(OPENSSL_NO_TLSEXT) | #if !defined(OPENSSL_NO_TLSEXT) | ||||
| if (!SSL_set_tlsext_host_name(conn->ssl, | if (!SSL_set_tlsext_host_name(conn->ssl, | ||||
| __DECONST(struct url *, URL)->host)) { | __DECONST(struct url *, URL)->host)) { | ||||
| fprintf(stderr, | fprintf(stderr, | ||||
| ▲ Show 20 Lines • Show All 579 Lines • Show Last 20 Lines | |||||