Browse Source

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>
tags/n4.0
Aman Gupta 7 years ago
parent
commit
fd18d310ec
2 changed files with 9 additions and 1 deletions
  1. +5
    -1
      configure
  2. +4
    -0
      libavformat/tls_securetransport.c

+ 5
- 1
configure View File

@@ -2035,6 +2035,7 @@ SYSTEM_FUNCS="
posix_memalign posix_memalign
pthread_cancel pthread_cancel
sched_getaffinity sched_getaffinity
SecItemImport
SetConsoleTextAttribute SetConsoleTextAttribute
SetConsoleCtrlHandler SetConsoleCtrlHandler
setmode setmode
@@ -6032,9 +6033,12 @@ fi


enabled securetransport && enabled securetransport &&
check_func SecIdentityCreate "-Wl,-framework,CoreFoundation -Wl,-framework,Security" && 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 disable securetransport


enabled securetransport &&
check_func SecItemImport "-Wl,-framework,CoreFoundation -Wl,-framework,Security"

enabled schannel && enabled schannel &&
check_func_headers "windows.h security.h" InitializeSecurityContext -DSECURITY_WIN32 -lsecur32 && check_func_headers "windows.h security.h" InitializeSecurityContext -DSECURITY_WIN32 -lsecur32 &&
check_cpp_condition winerror.h "defined(SEC_I_CONTEXT_EXPIRED)" && check_cpp_condition winerror.h "defined(SEC_I_CONTEXT_EXPIRED)" &&


+ 4
- 0
libavformat/tls_securetransport.c View File

@@ -69,6 +69,9 @@ static int print_tls_error(URLContext *h, int ret)


static int import_pem(URLContext *h, char *path, CFArrayRef *array) static int import_pem(URLContext *h, char *path, CFArrayRef *array)
{ {
#if !HAVE_SECITEMIMPORT
return AVERROR_PATCHWELCOME;
#else
AVIOContext *s = NULL; AVIOContext *s = NULL;
CFDataRef data = NULL; CFDataRef data = NULL;
int64_t ret = 0; int64_t ret = 0;
@@ -124,6 +127,7 @@ end:
if (s) if (s)
avio_close(s); avio_close(s);
return ret; return ret;
#endif
} }


static int load_ca(URLContext *h) static int load_ca(URLContext *h)


Loading…
Cancel
Save