gnu: mediastreamer2: Enable SRTP2.
* gnu/packages/patches/mediastreamer-srtp2.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/linphone.scm (mediastreamer2)[source]: Use it.
This commit is contained in:
parent
b892016955
commit
2c56aeaea9
@ -1196,6 +1196,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
|
||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/mediastreamer-srtp2.patch \
|
||||
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
|
||||
%D%/packages/patches/mescc-tools-boot.patch \
|
||||
%D%/packages/patches/meson-for-build-rpath.patch \
|
||||
|
@ -323,7 +323,9 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
|
||||
(string-append "https://www.linphone.org/releases/sources/"
|
||||
"mediastreamer/mediastreamer-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))))
|
||||
(base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
|
||||
(patches
|
||||
(list (search-patch "mediastreamer-srtp2.patch")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test target
|
||||
|
155
gnu/packages/patches/mediastreamer-srtp2.patch
Normal file
155
gnu/packages/patches/mediastreamer-srtp2.patch
Normal file
@ -0,0 +1,155 @@
|
||||
From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
|
||||
From: Danmei Chen <danmei.chen@belledonne-communications.com>
|
||||
Date: Fri, 19 Jan 2018 10:04:07 +0100
|
||||
Subject: [PATCH] add compability with srtp2
|
||||
|
||||
---
|
||||
cmake/FindSRTP.cmake | 24 ++++++++++++++++++++----
|
||||
src/CMakeLists.txt | 1 +
|
||||
src/crypto/ms_srtp.c | 10 ++--------
|
||||
src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 64 insertions(+), 12 deletions(-)
|
||||
create mode 100644 src/utils/srtp_prefix.h
|
||||
|
||||
diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
|
||||
index 988b846a..f720ce7e 100644
|
||||
--- a/cmake/FindSRTP.cmake
|
||||
+++ b/cmake/FindSRTP.cmake
|
||||
@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
|
||||
)
|
||||
|
||||
find_path(SRTP_INCLUDE_DIRS
|
||||
- NAMES srtp/srtp.h
|
||||
+ NAMES srtp2/srtp.h
|
||||
HINTS _SRTP_ROOT_PATHS
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
if(SRTP_INCLUDE_DIRS)
|
||||
set(HAVE_SRTP_SRTP_H 1)
|
||||
-endif()
|
||||
-
|
||||
-find_library(SRTP_LIBRARIES
|
||||
+ set(SRTP_VERSION 2)
|
||||
+ find_library(SRTP_LIBRARIES
|
||||
+ NAMES srtp2
|
||||
+ HINTS ${_SRTP_ROOT_PATHS}
|
||||
+ PATH_SUFFIXES bin lib
|
||||
+ )
|
||||
+else()
|
||||
+ find_path(SRTP_INCLUDE_DIRS
|
||||
+ NAMES srtp/srtp.h
|
||||
+ HINTS _SRTP_ROOT_PATHS
|
||||
+ PATH_SUFFIXES include
|
||||
+ )
|
||||
+ if(SRTP_INCLUDE_DIRS)
|
||||
+ set(HAVE_SRTP_SRTP_H 1)
|
||||
+ set(SRTP_VERSION 1)
|
||||
+ endif()
|
||||
+ find_library(SRTP_LIBRARIES
|
||||
NAMES srtp
|
||||
HINTS ${_SRTP_ROOT_PATHS}
|
||||
PATH_SUFFIXES bin lib
|
||||
)
|
||||
+endif()
|
||||
+
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(SRTP
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index da429764..c46faa62 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
|
||||
utils/pcap_sender.c
|
||||
utils/pcap_sender.h
|
||||
utils/stream_regulator.c
|
||||
+ utils/srtp_prefix.h
|
||||
voip/audioconference.c
|
||||
voip/audiostream.c
|
||||
voip/bandwidthcontroller.c
|
||||
diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
|
||||
index 5a510c99..67810316 100644
|
||||
--- a/src/crypto/ms_srtp.c
|
||||
+++ b/src/crypto/ms_srtp.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "mediastreamer2/ms_srtp.h"
|
||||
#include "mediastreamer2/mediastream.h"
|
||||
|
||||
+
|
||||
#ifdef HAVE_SRTP
|
||||
|
||||
/*srtp defines all this stuff*/
|
||||
@@ -34,13 +35,7 @@
|
||||
#undef PACKAGE_TARNAME
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
-#if defined(MS2_WINDOWS_PHONE)
|
||||
-// Windows phone doesn't use make install
|
||||
-#include <srtp.h>
|
||||
-#else
|
||||
-#include <srtp/srtp.h>
|
||||
-#endif
|
||||
-
|
||||
+#include "srtp_prefix.h"
|
||||
|
||||
#include "ortp/b64.h"
|
||||
|
||||
@@ -352,7 +347,6 @@ int ms_srtp_init(void)
|
||||
srtp_init_done++;
|
||||
}else{
|
||||
ms_fatal("Couldn't initialize SRTP library: %d.", st);
|
||||
- err_reporting_init("mediastreamer2");
|
||||
}
|
||||
}else srtp_init_done++;
|
||||
return (int)st;
|
||||
diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
|
||||
new file mode 100644
|
||||
index 00000000..68bde496
|
||||
--- /dev/null
|
||||
+++ b/src/utils/srtp_prefix.h
|
||||
@@ -0,0 +1,41 @@
|
||||
+/*
|
||||
+ mediastreamer2 library - modular sound and video processing and streaming
|
||||
+ Copyright (C) 2006-2014 Belledonne Communications, Grenoble
|
||||
+
|
||||
+ This library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ This library is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with this library; if not, write to the Free Software
|
||||
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
+*/
|
||||
+#ifndef __SRTP2_H__
|
||||
+#define __SRTP2_H__
|
||||
+
|
||||
+#if defined(MS2_WINDOWS_PHONE)
|
||||
+// Windows phone doesn't use make install
|
||||
+#include <srtp.h>
|
||||
+#elif SRTP_VERSION==1
|
||||
+#include <srtp/srtp.h>
|
||||
+#else
|
||||
+#include <srtp2/srtp.h>
|
||||
+#define err_status_t srtp_err_status_t
|
||||
+#define err_status_ok srtp_err_status_ok
|
||||
+#define crypto_policy_t srtp_crypto_policy_t
|
||||
+#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
|
||||
+#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
|
||||
+#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
|
||||
+#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
|
||||
+#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
|
||||
+#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
|
||||
+#define ssrc_t srtp_ssrc_t
|
||||
+#endif
|
||||
+
|
||||
+#endif
|
||||
--
|
||||
2.21.0
|
||||
|
Loading…
Reference in New Issue
Block a user