OSDN Git Service

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 33ee782..72c2b85 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);