aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAman Gupta <aman@tmm1.net>2017-10-25 11:03:14 -0700
committerAman Gupta <aman@tmm1.net>2017-11-12 14:37:12 -0800
commitfd18d310ec200fa7ace29cbfc725d451663bf49c (patch)
treeb1f2af6179ecb2f6992fcc75e16d960734bebd7f
parentf38d0d0c22c1871ef0728a718c5e00a6ba93bfa1 (diff)
downloadffmpeg-fd18d310ec200fa7ace29cbfc725d451663bf49c.tar.gz
lavf/tls_securetransport: build on iOS
This works as expected on iOS, except for the ca_file feature which is disabled because SecItemImport is not available. Signed-off-by: Aman Gupta <aman@tmm1.net>
-rwxr-xr-xconfigure6
-rw-r--r--libavformat/tls_securetransport.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/configure b/configure
index 2f026c45bc..c6fb344929 100755
--- a/configure
+++ b/configure
@@ -2035,6 +2035,7 @@ SYSTEM_FUNCS="
posix_memalign
pthread_cancel
sched_getaffinity
+ SecItemImport
SetConsoleTextAttribute
SetConsoleCtrlHandler
setmode
@@ -6032,9 +6033,12 @@ fi
enabled securetransport &&
check_func SecIdentityCreate "-Wl,-framework,CoreFoundation -Wl,-framework,Security" &&
- check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext SecItemImport" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
+ check_lib securetransport "Security/SecureTransport.h Security/Security.h" "SSLCreateContext" "-Wl,-framework,CoreFoundation -Wl,-framework,Security" ||
disable securetransport
+enabled securetransport &&
+ check_func SecItemImport "-Wl,-framework,CoreFoundation -Wl,-framework,Security"
+
enabled schannel &&
check_func_headers "windows.h security.h" InitializeSecurityContext -DSECURITY_WIN32 -lsecur32 &&
check_cpp_condition winerror.h "defined(SEC_I_CONTEXT_EXPIRED)" &&
diff --git a/libavformat/tls_securetransport.c b/libavformat/tls_securetransport.c
index 9958931b0c..b862e0003a 100644
--- a/libavformat/tls_securetransport.c
+++ b/libavformat/tls_securetransport.c
@@ -69,6 +69,9 @@ static int print_tls_error(URLContext *h, int ret)
static int import_pem(URLContext *h, char *path, CFArrayRef *array)
{
+#if !HAVE_SECITEMIMPORT
+ return AVERROR_PATCHWELCOME;
+#else
AVIOContext *s = NULL;
CFDataRef data = NULL;
int64_t ret = 0;
@@ -124,6 +127,7 @@ end:
if (s)
avio_close(s);
return ret;
+#endif
}
static int load_ca(URLContext *h)