Browse Source
gnu: mediastreamer2: Enable SRTP2.
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.version-1.1.0

committed by
Danny Milosavljevic

No known key found for this signature in database
GPG Key ID: E71A35542C30BAA5
3 changed files with 159 additions and 1 deletions
@ -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 |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue