Commit 7c97ef22 authored by mail's avatar mail Committed by Commit bot

Reland: Roll src/third_party/libsrtp 6446144:9c53f85 (svn 292694:295151)

This updates libsrtp to 1.5.2 and uses the OpenSSL/BoringSSL crypto code.
See https://codereview.chromium.org/889083003/ and https://codereview.chromium.org/1098043003/

Summary of changes available at:
https://chromium.googlesource.com/chromium/deps/libsrtp/+log/6446144..9c53f85

This previously landed in CL 981593002 but got reverted in CL 1131323002
as it broke the Windows GN bots. The GN script now adds BoringSSL to the
"public_deps" if necessary, so the include path is correct then.

BUG=328475

Review URL: https://codereview.chromium.org/1130413005

Cr-Commit-Position: refs/heads/master@{#330066}
parent a43eb717
...@@ -210,7 +210,7 @@ deps = { ...@@ -210,7 +210,7 @@ deps = {
Var('chromium_git') + '/external/usrsctplib.git' + '@' + '36444a999739e9e408f8f587cb4c3ffeef2e50ac', # from svn revision 9215 Var('chromium_git') + '/external/usrsctplib.git' + '@' + '36444a999739e9e408f8f587cb4c3ffeef2e50ac', # from svn revision 9215
'src/third_party/libsrtp': 'src/third_party/libsrtp':
Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '6446144c7f083552f21cc4e6768e891bcb767574', Var('chromium_git') + '/chromium/deps/libsrtp.git' + '@' + '9c53f858cddd4d890e405e91ff3af0b48dfd90e6', # from svn revision 295151
'src/third_party/yasm/source/patched-yasm': 'src/third_party/yasm/source/patched-yasm':
Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + '4671120cd8558ce62ee8672ebf3eb6f5216f909b', Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + '4671120cd8558ce62ee8672ebf3eb6f5216f909b',
......
...@@ -4,12 +4,15 @@ ...@@ -4,12 +4,15 @@
declare_args() { declare_args() {
use_system_libsrtp = false use_system_libsrtp = false
use_srtp_boringssl = true
} }
config("libsrtp_config") { config("libsrtp_config") {
defines = [ defines = [
"HAVE_CONFIG_H",
"HAVE_STDLIB_H", "HAVE_STDLIB_H",
"HAVE_STRING_H", "HAVE_STRING_H",
"TESTAPP_SOURCE",
] ]
include_dirs = [ include_dirs = [
...@@ -18,6 +21,10 @@ config("libsrtp_config") { ...@@ -18,6 +21,10 @@ config("libsrtp_config") {
"srtp/crypto/include", "srtp/crypto/include",
] ]
if (use_srtp_boringssl) {
defines += [ "OPENSSL" ]
}
if (is_posix) { if (is_posix) {
defines += [ defines += [
"HAVE_INT16_T", "HAVE_INT16_T",
...@@ -30,13 +37,14 @@ config("libsrtp_config") { ...@@ -30,13 +37,14 @@ config("libsrtp_config") {
"HAVE_STDINT_H", "HAVE_STDINT_H",
"HAVE_INTTYPES_H", "HAVE_INTTYPES_H",
"HAVE_NETINET_IN_H", "HAVE_NETINET_IN_H",
"INLINE=inline", "HAVE_ARPA_INET_H",
"HAVE_UNISTD_H",
] ]
cflags = [ "-Wno-unused-variable" ]
} }
if (is_win) { if (is_win) {
defines += [ defines += [
"INLINE=__inline",
"HAVE_BYTESWAP_METHODS_H", "HAVE_BYTESWAP_METHODS_H",
# All Windows architectures are this way. # All Windows architectures are this way.
...@@ -149,6 +157,30 @@ if (use_system_libsrtp) { ...@@ -149,6 +157,30 @@ if (use_system_libsrtp) {
if (is_clang) { if (is_clang) {
cflags = [ "-Wno-implicit-function-declaration" ] cflags = [ "-Wno-implicit-function-declaration" ]
} }
if (use_srtp_boringssl) {
deps = [
"//third_party/boringssl:boringssl",
]
public_deps = [
"//third_party/boringssl:boringssl",
]
sources -= [
"srtp/crypto/cipher/aes_cbc.c",
"srtp/crypto/cipher/aes_icm.c",
"srtp/crypto/hash/hmac.c",
"srtp/crypto/hash/sha1.c",
"srtp/crypto/rng/ctr_prng.c",
"srtp/crypto/rng/prng.c",
]
sources += [
"srtp/crypto/cipher/aes_gcm_ossl.c",
"srtp/crypto/cipher/aes_icm_ossl.c",
"srtp/crypto/hash/hmac_ossl.c",
"srtp/crypto/include/aes_gcm_ossl.h",
"srtp/crypto/include/aes_icm_ossl.h",
]
}
} }
# TODO(GYP): A bunch of these tests don't compile (in gyp either). They're # TODO(GYP): A bunch of these tests don't compile (in gyp either). They're
...@@ -238,6 +270,8 @@ if (use_system_libsrtp) { ...@@ -238,6 +270,8 @@ if (use_system_libsrtp) {
] ]
sources = [ sources = [
"srtp/crypto/test/cipher_driver.c", "srtp/crypto/test/cipher_driver.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
] ]
} }
...@@ -282,6 +316,8 @@ if (use_system_libsrtp) { ...@@ -282,6 +316,8 @@ if (use_system_libsrtp) {
] ]
sources = [ sources = [
"srtp/crypto/test/kernel_driver.c", "srtp/crypto/test/kernel_driver.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
] ]
} }
...@@ -304,6 +340,21 @@ if (use_system_libsrtp) { ...@@ -304,6 +340,21 @@ if (use_system_libsrtp) {
] ]
sources = [ sources = [
"srtp/crypto/test/rand_gen.c", "srtp/crypto/test/rand_gen.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
]
}
executable("srtp_test_rand_gen_soak") {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
deps = [
":libsrtp",
]
sources = [
"srtp/crypto/test/rand_gen_soak.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
] ]
} }
...@@ -332,6 +383,7 @@ if (use_system_libsrtp) { ...@@ -332,6 +383,7 @@ if (use_system_libsrtp) {
":srtp_test_kernel_driver", ":srtp_test_kernel_driver",
":srtp_test_aes_calc", ":srtp_test_aes_calc",
":srtp_test_rand_gen", ":srtp_test_rand_gen",
":srtp_test_rand_gen_soak",
":srtp_test_env", ":srtp_test_env",
] ]
} }
......
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