tls: Use TLSv1_client_method for OpenSSL
authorMartin Storsjö <martin@martin.st>
Thu, 17 Nov 2011 09:15:27 +0000 (11:15 +0200)
committerMartin Storsjö <martin@martin.st>
Thu, 17 Nov 2011 13:11:38 +0000 (15:11 +0200)
TLSv1 is compatible with SSLv3, so this doesn't change much
in terms of compatibility. By explicitly using TLSv1, OpenSSL
sends the server name indication (SNI) header, which we
already set using SSL_set_tlsext_host_name (earlier, this
didn't have any effect).

SNI allows servers to serve SSL content for different host
names with separate certificates on one single port (vhosts).

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/tls.c

index 33ee782fa89729b29193c85ab5f9bcbae2f1b02e..72c2b850166b4b4b065dd491e2d7152a4cceaf99 100644 (file)
@@ -147,7 +147,7 @@ static int tls_open(URLContext *h, const char *uri, int flags)
             goto fail;
     }
 #elif CONFIG_OPENSSL
-    c->ctx = SSL_CTX_new(SSLv3_client_method());
+    c->ctx = SSL_CTX_new(TLSv1_client_method());
     if (!c->ctx) {
         av_log(h, AV_LOG_ERROR, "%s\n", ERR_error_string(ERR_get_error(), NULL));
         ret = AVERROR(EIO);