pristineio / webrtc-build-scripts

A set of build scripts useful for building WebRTC libraries for Android and iOS.
BSD 3-Clause "New" or "Revised" License
1.12k stars 448 forks source link

Build iOS with BoringSSL to support Firefox 38+ #76

Closed bruun closed 9 years ago

bruun commented 9 years ago

Firefox 38 will require Perfect Forward Secrecy for DTLS. The current iOS library is built using the standard SSL library (NSS) which doesn't support PFS. The guys at &yet have verified that building with the OpenSSL fork BoringSSL (which Chromium has moved to, iirc) solves the problem with Firefox 38 interopability.

This should be a small matter of adding use_openssl=1 to the GYP_DEFINES in build.sh.

ArikYa commented 9 years ago

see here: https://code.google.com/p/webrtc/issues/detail?id=3605, it is still a work in progress

bruun commented 9 years ago

How about going from NSS to OpenSSL for now? It should solve the Firefox 38 problem according to those who have tried it (I have not built it myself, so I haven't verified it).

bruun commented 9 years ago

The discussion on the WebRTC issue above seems to go in the direction "switch to BoringSSL by default". Firefox 38 release is closing in quickly (1 month), and we soon need to start building WebRTC ourselves if the Pod doesn't switch to BoringSSL. The Pod is extremely convenient for us, so we'd love it if we could avoid switching away from it.

Edit: According to a comment, BoringSSL was enabled using the use_openssl=1 flag in r8964.

thebehera commented 9 years ago

Started a jenkins build now to build the latest ios build that includes boringssl

https://github.com/pristineio/webrtc-mirror/commit/7d89f80fd49c734c34374cdb2b618c48befcc3f1

thebehera commented 9 years ago

should be finished in an hour or 2

thebehera commented 9 years ago

9013 is available on cocoapods https://github.com/CocoaPods/Specs/commit/eebfe7871e5374fd3e784dd756911a3af8bd216c

bruun commented 9 years ago

Thanks, I've verified that it works on device! It seems the simulator binary doesn't build properly anymore, I get missing symbols in 9014. Maybe related?