guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: mediastreamer2: Enable SRTP2.


From: guix-commits
Subject: branch master updated: gnu: mediastreamer2: Enable SRTP2.
Date: Sun, 05 Apr 2020 20:13:54 -0400

This is an automated email from the git hooks/post-receive script.

dannym pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 2c56aea  gnu: mediastreamer2: Enable SRTP2.
2c56aea is described below

commit 2c56aeaea94d3914acf79f9bbabeef1b3ec8aa07
Author: Raghav Gururajan <address@hidden>
AuthorDate: Mon Apr 6 02:11:41 2020 +0200

    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.
---
 gnu/local.mk                                   |   1 +
 gnu/packages/linphone.scm                      |   4 +-
 gnu/packages/patches/mediastreamer-srtp2.patch | 155 +++++++++++++++++++++++++
 3 files changed, 159 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 42dbf61..debf1f6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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             \
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 5023c5f..ab22370 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -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
diff --git a/gnu/packages/patches/mediastreamer-srtp2.patch 
b/gnu/packages/patches/mediastreamer-srtp2.patch
new file mode 100644
index 0000000..f6d494f
--- /dev/null
+++ b/gnu/packages/patches/mediastreamer-srtp2.patch
@@ -0,0 +1,155 @@
+From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
+From: Danmei Chen <address@hidden>
+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
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]