Commit f24d92ba authored by Rodger Combs's avatar Rodger Combs Committed by Michael Niedermayer

lavf/tls: Support Secure Transport

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent bedb5d58
...@@ -23,6 +23,7 @@ version <next>: ...@@ -23,6 +23,7 @@ version <next>:
- VP9 high bit-depth and extended colorspaces decoding support - VP9 high bit-depth and extended colorspaces decoding support
- WebPAnimEncoder API when available for encoding and muxing WebP - WebPAnimEncoder API when available for encoding and muxing WebP
- Direct3D11-accelerated decoding - Direct3D11-accelerated decoding
- Support Secure Transport
version 2.6: version 2.6:
......
...@@ -276,6 +276,8 @@ External library support: ...@@ -276,6 +276,8 @@ External library support:
--enable-openssl enable openssl, needed for https support --enable-openssl enable openssl, needed for https support
if gnutls is not used [no] if gnutls is not used [no]
--disable-sdl disable sdl [autodetect] --disable-sdl disable sdl [autodetect]
--disable-securetransport disable Secure Transport, needed for TLS support
on OSX if openssl and gnutls are not used [autodetect]
--enable-x11grab enable X11 grabbing (legacy) [no] --enable-x11grab enable X11 grabbing (legacy) [no]
--disable-xlib disable xlib [autodetect] --disable-xlib disable xlib [autodetect]
--disable-zlib disable zlib [autodetect] --disable-zlib disable zlib [autodetect]
...@@ -1424,6 +1426,7 @@ EXTERNAL_LIBRARY_LIST=" ...@@ -1424,6 +1426,7 @@ EXTERNAL_LIBRARY_LIST="
opengl opengl
openssl openssl
sdl sdl
securetransport
x11grab x11grab
xlib xlib
zlib zlib
...@@ -2636,9 +2639,10 @@ sctp_protocol_deps="struct_sctp_event_subscribe" ...@@ -2636,9 +2639,10 @@ sctp_protocol_deps="struct_sctp_event_subscribe"
sctp_protocol_select="network" sctp_protocol_select="network"
srtp_protocol_select="rtp_protocol" srtp_protocol_select="rtp_protocol"
tcp_protocol_select="network" tcp_protocol_select="network"
tls_gnutls_protocol_deps="gnutls" tls_securetransport_protocol_deps="securetransport"
tls_openssl_protocol_deps="openssl !tls_gnutls_protocol" tls_gnutls_protocol_deps="gnutls !tls_securetransport_protocol"
tls_protocol_deps_any="tls_gnutls_protocol tls_openssl_protocol" tls_openssl_protocol_deps="openssl !tls_securetransport_protocol !tls_gnutls_protocol"
tls_protocol_deps_any="tls_securetransport_protocol tls_gnutls_protocol tls_openssl_protocol"
tls_protocol_select="tcp_protocol" tls_protocol_select="tcp_protocol"
udp_protocol_select="network" udp_protocol_select="network"
udplite_protocol_select="network" udplite_protocol_select="network"
...@@ -5213,6 +5217,10 @@ if ! disabled sdl; then ...@@ -5213,6 +5217,10 @@ if ! disabled sdl; then
fi fi
enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs enabled sdl && add_cflags $sdl_cflags && add_extralibs $sdl_libs
disabled securetransport || { check_func SecIdentityCreate "-Wl,-framework,CoreFoundation -Wl,-framework,Security" &&
check_lib2 Security/SecureTransport.h SSLCreateContext "-Wl,-framework,CoreFoundation -Wl,-framework,Security" &&
enable securetransport; }
makeinfo --version > /dev/null 2>&1 && enable makeinfo || disable makeinfo makeinfo --version > /dev/null 2>&1 && enable makeinfo || disable makeinfo
enabled makeinfo && (makeinfo --version | \ enabled makeinfo && (makeinfo --version | \
grep -q 'makeinfo (GNU texinfo) 5' > /dev/null 2>&1) \ grep -q 'makeinfo (GNU texinfo) 5' > /dev/null 2>&1) \
......
...@@ -523,6 +523,7 @@ OBJS-$(CONFIG_SUBFILE_PROTOCOL) += subfile.o ...@@ -523,6 +523,7 @@ OBJS-$(CONFIG_SUBFILE_PROTOCOL) += subfile.o
OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o OBJS-$(CONFIG_TCP_PROTOCOL) += tcp.o
OBJS-$(CONFIG_TLS_GNUTLS_PROTOCOL) += tls_gnutls.o tls.o OBJS-$(CONFIG_TLS_GNUTLS_PROTOCOL) += tls_gnutls.o tls.o
OBJS-$(CONFIG_TLS_OPENSSL_PROTOCOL) += tls_openssl.o tls.o OBJS-$(CONFIG_TLS_OPENSSL_PROTOCOL) += tls_openssl.o tls.o
OBJS-$(CONFIG_TLS_SECURETRANSPORT_PROTOCOL) += tls_securetransport.o tls.o
OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o OBJS-$(CONFIG_UDP_PROTOCOL) += udp.o
OBJS-$(CONFIG_UDPLITE_PROTOCOL) += udp.o OBJS-$(CONFIG_UDPLITE_PROTOCOL) += udp.o
OBJS-$(CONFIG_UNIX_PROTOCOL) += unix.o OBJS-$(CONFIG_UNIX_PROTOCOL) += unix.o
......
...@@ -377,6 +377,7 @@ void av_register_all(void) ...@@ -377,6 +377,7 @@ void av_register_all(void)
REGISTER_PROTOCOL(SRTP, srtp); REGISTER_PROTOCOL(SRTP, srtp);
REGISTER_PROTOCOL(SUBFILE, subfile); REGISTER_PROTOCOL(SUBFILE, subfile);
REGISTER_PROTOCOL(TCP, tcp); REGISTER_PROTOCOL(TCP, tcp);
REGISTER_PROTOCOL(TLS_SECURETRANSPORT, tls_securetransport);
REGISTER_PROTOCOL(TLS_GNUTLS, tls_gnutls); REGISTER_PROTOCOL(TLS_GNUTLS, tls_gnutls);
REGISTER_PROTOCOL(TLS_OPENSSL, tls_openssl); REGISTER_PROTOCOL(TLS_OPENSSL, tls_openssl);
REGISTER_PROTOCOL(UDP, udp); REGISTER_PROTOCOL(UDP, udp);
......
...@@ -263,7 +263,9 @@ int ffurl_alloc(URLContext **puc, const char *filename, int flags, ...@@ -263,7 +263,9 @@ int ffurl_alloc(URLContext **puc, const char *filename, int flags,
*puc = NULL; *puc = NULL;
if (av_strstart(filename, "https:", NULL)) if (av_strstart(filename, "https:", NULL))
av_log(NULL, AV_LOG_WARNING, "https protocol not found, recompile with openssl or gnutls enabled.\n"); av_log(NULL, AV_LOG_WARNING, "https protocol not found, recompile with "
"openssl, gnutls,\n"
"or securetransport enabled.\n");
return AVERROR_PROTOCOL_NOT_FOUND; return AVERROR_PROTOCOL_NOT_FOUND;
} }
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include "url.h" #include "url.h"
#include "libavutil/opt.h" #include "libavutil/opt.h"
#define CONFIG_TLS_PROTOCOL (CONFIG_TLS_GNUTLS_PROTOCOL | CONFIG_TLS_OPENSSL_PROTOCOL) #define CONFIG_TLS_PROTOCOL (CONFIG_TLS_GNUTLS_PROTOCOL | CONFIG_TLS_OPENSSL_PROTOCOL | CONFIG_TLS_SECURETRANSPORT_PROTOCOL)
typedef struct TLSShared { typedef struct TLSShared {
char *ca_file; char *ca_file;
......
This diff is collapsed.
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
#include "libavutil/version.h" #include "libavutil/version.h"
#define LIBAVFORMAT_VERSION_MAJOR 56 #define LIBAVFORMAT_VERSION_MAJOR 56
#define LIBAVFORMAT_VERSION_MINOR 33 #define LIBAVFORMAT_VERSION_MINOR 34
#define LIBAVFORMAT_VERSION_MICRO 101 #define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \ LIBAVFORMAT_VERSION_MINOR, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment