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 = {
Var('chromium_git') + '/external/usrsctplib.git' + '@' + '36444a999739e9e408f8f587cb4c3ffeef2e50ac', # from svn revision 9215
'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':
Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git' + '@' + '4671120cd8558ce62ee8672ebf3eb6f5216f909b',
......
......@@ -4,12 +4,15 @@
declare_args() {
use_system_libsrtp = false
use_srtp_boringssl = true
}
config("libsrtp_config") {
defines = [
"HAVE_CONFIG_H",
"HAVE_STDLIB_H",
"HAVE_STRING_H",
"TESTAPP_SOURCE",
]
include_dirs = [
......@@ -18,6 +21,10 @@ config("libsrtp_config") {
"srtp/crypto/include",
]
if (use_srtp_boringssl) {
defines += [ "OPENSSL" ]
}
if (is_posix) {
defines += [
"HAVE_INT16_T",
......@@ -30,13 +37,14 @@ config("libsrtp_config") {
"HAVE_STDINT_H",
"HAVE_INTTYPES_H",
"HAVE_NETINET_IN_H",
"INLINE=inline",
"HAVE_ARPA_INET_H",
"HAVE_UNISTD_H",
]
cflags = [ "-Wno-unused-variable" ]
}
if (is_win) {
defines += [
"INLINE=__inline",
"HAVE_BYTESWAP_METHODS_H",
# All Windows architectures are this way.
......@@ -149,6 +157,30 @@ if (use_system_libsrtp) {
if (is_clang) {
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
......@@ -238,6 +270,8 @@ if (use_system_libsrtp) {
]
sources = [
"srtp/crypto/test/cipher_driver.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
]
}
......@@ -282,6 +316,8 @@ if (use_system_libsrtp) {
]
sources = [
"srtp/crypto/test/kernel_driver.c",
"srtp/include/getopt_s.h",
"srtp/test/getopt_s.c",
]
}
......@@ -304,6 +340,21 @@ if (use_system_libsrtp) {
]
sources = [
"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) {
":srtp_test_kernel_driver",
":srtp_test_aes_calc",
":srtp_test_rand_gen",
":srtp_test_rand_gen_soak",
":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