diff options
author | Aman Gupta <aman@tmm1.net> | 2017-10-25 11:03:14 -0700 |
---|---|---|
committer | Aman Gupta <aman@tmm1.net> | 2017-11-12 14:37:12 -0800 |
commit | fd18d310ec200fa7ace29cbfc725d451663bf49c (patch) | |
tree | b1f2af6179ecb2f6992fcc75e16d960734bebd7f | |
parent | f38d0d0c22c1871ef0728a718c5e00a6ba93bfa1 (diff) | |
download | ffmpeg-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-x | configure | 6 | ||||
-rw-r--r-- | libavformat/tls_securetransport.c | 4 |
2 files changed, 9 insertions, 1 deletions
@@ -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) |