summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Roche <roche@httrack.com>2016-07-29 20:16:08 +0200
committerGitHub <noreply@github.com>2016-07-29 20:16:08 +0200
commit60c387215516e3b5a804cb1d7887358b841df3b9 (patch)
treeaefeb80efbfc32b64c6e300e91a3dea323ace8e5
parent1282bdc1616b28039787141adac8e2aa76f765fc (diff)
parent297953b3ffce2ec06fa73e28f0219740aa2cb665 (diff)
Merge pull request #102 from Mike7R/tlsext_SNI
Support servers with SNI extension
-rw-r--r--src/htsback.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/htsback.c b/src/htsback.c
index 671d8b5..e1c900d 100644
--- a/src/htsback.c
+++ b/src/htsback.c
@@ -2536,6 +2536,9 @@ void back_wait(struct_back * sback, httrackp * opt, cache_back * cache,
// new session
back[i].r.ssl_con = SSL_new(openssl_ctx);
if (back[i].r.ssl_con) {
+ const char* hostname = jump_protocol_const(back[i].url_adr);
+ // some servers expect the hostname on the clienthello (SNI TLS extension)
+ SSL_set_tlsext_host_name(back[i].r.ssl_con, hostname);
SSL_clear(back[i].r.ssl_con);
if (SSL_set_fd(back[i].r.ssl_con, (int) back[i].r.soc) == 1) {
SSL_set_connect_state(back[i].r.ssl_con);