Date: Monday, April 23, 2018 @ 17:47:54 Author: arojas Revision: 317400
archrelease: copy trunk to community-staging-x86_64 Added: mediastreamer/repos/community-staging-x86_64/ mediastreamer/repos/community-staging-x86_64/PKGBUILD (from rev 317399, mediastreamer/trunk/PKGBUILD) mediastreamer/repos/community-staging-x86_64/libsrtp2.diff (from rev 317399, mediastreamer/trunk/libsrtp2.diff) ---------------+ PKGBUILD | 41 +++++++++ libsrtp2.diff | 241 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 282 insertions(+) Copied: mediastreamer/repos/community-staging-x86_64/PKGBUILD (from rev 317399, mediastreamer/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2018-04-23 17:47:54 UTC (rev 317400) @@ -0,0 +1,41 @@ +# $Id$ +# Maintainer: +# Contributor: Andrea Scarpino <and...@archlinux.org> +# Contributor: Sergej Pupykin <pupykin.s+a...@gmail.com> +# Contributor: AdriĆ Arrufat <swiftscy...@gmail.com> +# Contributor: Mark Lee <m...@markelee.com> + +pkgname=mediastreamer +pkgver=2.16.1 +pkgrel=5 +pkgdesc="A library written in C that allows you to create and run audio and video streams" +arch=(x86_64) +url="https://github.com/BelledonneCommunications/mediastreamer2" +license=(GPL) +depends=(ortp ffmpeg libxv libupnp bzrtp glew libsrtp) +# xxd from Vim is needed to build +makedepends=(intltool vim bcunit) +source=("$pkgname-$pkgver.tar.gz::https://github.com/BelledonneCommunications/mediastreamer2/archive/$pkgver.tar.gz" + libsrtp2.diff) +sha256sums=('25e0557d5b992d256a6df07466ba3c10587bdf899850b46a31e79b91147e5910' + 'faec3586e3ff8315d79fb5ef5bcc4d630ee66e63a9c6a25f28d113765fa28e58') +validpgpkeys=('9774BC1725758EB16D639F8B3ECD52DEE2F56985') + +prepare() { + cd ${pkgname}2-$pkgver + patch -Np1 -i ../libsrtp2.diff + ./autogen.sh +} + +build() { + cd ${pkgname}2-$pkgver + export CFLAGS="$CFLAGS -DMS2_GIT_VERSION=\"\\\"unknown\\\"\"" + ./configure --prefix=/usr \ + --enable-glx --enable-xv --enable-zrtp --enable-external-ortp --disable-strict + make +} + +package() { + cd ${pkgname}2-$pkgver + make DESTDIR="$pkgdir" install +} Copied: mediastreamer/repos/community-staging-x86_64/libsrtp2.diff (from rev 317399, mediastreamer/trunk/libsrtp2.diff) =================================================================== --- community-staging-x86_64/libsrtp2.diff (rev 0) +++ community-staging-x86_64/libsrtp2.diff 2018-04-23 17:47:54 UTC (rev 317400) @@ -0,0 +1,241 @@ +diff -u -r mediastreamer2-2.16.1/configure.ac mediastreamer2-2.16.1-libsrtp2/configure.ac +--- mediastreamer2-2.16.1/configure.ac 2017-07-21 15:00:47.000000000 +0200 ++++ mediastreamer2-2.16.1-libsrtp2/configure.ac 2018-01-13 00:06:22.194089121 +0100 +@@ -1041,7 +1041,7 @@ + + dnl check for libsrtp support (secure rtp) + AC_ARG_WITH(srtp, +- AC_HELP_STRING([--with-srtp], [Set prefix where libsrtp can be found or "none" to disable (ex:/usr or /usr/local) [[default=/usr]]]), ++ AC_HELP_STRING([--with-srtp], [Set prefix where libsrtp2 can be found or "none" to disable (ex:/usr or /usr/local) [[default=/usr]]]), + [srtp_prefix=$withval], + [if test "$prefix" != "NONE"; then + srtp_prefix=$prefix +@@ -1051,22 +1051,22 @@ + + if test "${srtp_prefix}" != "none" ; then + if test "${srtp_prefix}" != "/usr" ; then +- SRTP_CFLAGS="-I${srtp_prefix}/include -I${srtp_prefix}/include/srtp" ++ SRTP_CFLAGS="-I${srtp_prefix}/include -I${srtp_prefix}/include/srtp2" + SRTP_LIBS="-L${srtp_prefix}/lib" + fi +- SRTP_LIBS="$SRTP_LIBS -lsrtp" ++ SRTP_LIBS="$SRTP_LIBS -lsrtp2" + + dnl check srtp headers + CPPFLAGS_save=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $SRTP_CFLAGS" +- AC_CHECK_HEADER([srtp/srtp.h],have_srtp_headers=yes) ++ AC_CHECK_HEADER([srtp2/srtp.h],have_srtp_headers=yes) + CPPFLAGS=$CPPFLAGS_save + + dnl check for srtp lib + LDFLAGS_save=$LDFLAGS + LDFLAGS="$LDFLAGS $SRTP_LIBS" + LIBS_save=$LIBS +- AC_CHECK_LIB(srtp,[srtp_init, crypto_policy_set_aes_cm_256_hmac_sha1_80, crypto_policy_set_aes_cm_256_hmac_sha1_32], have_srtp_lib=yes) ++ AC_CHECK_LIB(srtp2,[srtp_init, srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80, srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32], have_srtp_lib=yes) + LDFLAGS=$LDFLAGS_save + LIBS=$LIBS_save + +@@ -1075,9 +1075,9 @@ + LIBS_save=$LIBS + LDFLAGS="$LDFLAGS $SRTP_LIBS" + AC_CHECK_LIB( +- srtp, ++ srtp2, + sha1_update,[ +- AC_MSG_WARN([This libsrtp version exports symbols conflicting with polarssl, resulting in a bad execution path. libsrtp will be statically linked]) ++ AC_MSG_WARN([This libsrtp2 version exports symbols conflicting with polarssl, resulting in a bad execution path. libsrtp2 will be statically linked]) + srtp_polarssl_conflict=yes + ], + srtp_polarssl_conflict=no +@@ -1086,13 +1086,13 @@ + LIBS=$LIBS_save + + if test "$srtp_polarssl_conflict" = "yes"; then +- srtp_static_lib="${srtp_prefix}/lib/libsrtp.a" ++ srtp_static_lib="${srtp_prefix}/lib/libsrtp2.a" + if test -f $srtp_static_lib -a -r $srtp_static_lib; then +- SRTP_LIBS="${srtp_prefix}/lib/libsrtp.a -Bsymbolic -Wl,--version-script=\$(top_srcdir)/src/libsrtp.map" ++ SRTP_LIBS="${srtp_prefix}/lib/libsrtp2.a -Bsymbolic -Wl,--version-script=\$(top_srcdir)/src/libsrtp2.map" + AC_DEFINE(HAVE_SRTP, 1, [Defined when srtp support is compiled]) + have_srtp=true + else +- AC_MSG_WARN([Could not access to $srtp_static_lib. Please use --with-srtp=PREFIX to specify the prefix where libsrtp.a has been installed]) ++ AC_MSG_WARN([Could not access to $srtp_static_lib. Please use --with-srtp=PREFIX to specify the prefix where libsrtp2.a has been installed]) + SRTP_CFLAGS= + SRTP_LIBS= + have_srtp=true +diff -u -r mediastreamer2-2.16.1/src/crypto/ms_srtp.c mediastreamer2-2.16.1-libsrtp2/src/crypto/ms_srtp.c +--- mediastreamer2-2.16.1/src/crypto/ms_srtp.c 2017-07-21 15:00:47.000000000 +0200 ++++ mediastreamer2-2.16.1-libsrtp2/src/crypto/ms_srtp.c 2018-01-13 00:14:48.575306030 +0100 +@@ -38,7 +38,7 @@ + // Windows phone doesn't use make install + #include <srtp.h> + #else +-#include <srtp/srtp.h> ++#include <srtp2/srtp.h> + #endif + + +@@ -99,7 +99,7 @@ + /**** Sender functions ****/ + static int _process_on_send(RtpSession* session,MSSrtpStreamContext *ctx, mblk_t *m){ + int slen; +- err_status_t err; ++ srtp_err_status_t err; + bool_t is_rtp=ctx->is_rtp; + rtp_header_t *rtp_header=is_rtp?(rtp_header_t*)m->b_rptr:NULL; + rtcp_common_header_t *rtcp_header=!is_rtp?(rtcp_common_header_t*)m->b_rptr:NULL; +@@ -109,7 +109,7 @@ + ms_mutex_lock(&ctx->mutex); + if (!ctx->secured) { + /*does not make sense to protect, because we don't have any key*/ +- err=err_status_ok; ++ err=srtp_err_status_ok; + slen = 0; /*droping packets*/ + } else { + /* defragment incoming message and enlarge the buffer for srtp to write its data */ +@@ -120,7 +120,7 @@ + } else if (rtcp_header && (slen>RTP_FIXED_HEADER_SIZE && rtcp_header->version==2)) { + ms_mutex_lock(&ctx->mutex); + if (!ctx->secured) { +- err=err_status_ok; ++ err=srtp_err_status_ok; + /*does not make sense to protect, because we don't have any key*/ + slen = 0; /*droping packets*/ + } else { +@@ -135,7 +135,7 @@ + } + + /* check return code from srtp_protect */ +- if (err==err_status_ok){ ++ if (err==srtp_err_status_ok){ + return slen; + } + ortp_error("srtp_protect%s() failed (%d) for stream ctx [%p]", is_rtp?"":"_rtcp", err,ctx); +@@ -151,7 +151,7 @@ + } + static int _process_on_receive(RtpSession* session,MSSrtpStreamContext *ctx, mblk_t *m, int err){ + int slen; +- err_status_t srtp_err; ++ srtp_err_status_t srtp_err; + bool_t is_rtp=ctx->is_rtp; + + /* keep NON-RTP data unencrypted */ +@@ -167,7 +167,7 @@ + + slen=err; + srtp_err = is_rtp?srtp_unprotect(ctx->srtp,m->b_rptr,&slen):srtp_unprotect_rtcp(ctx->srtp,m->b_rptr,&slen); +- if (srtp_err==err_status_ok) { ++ if (srtp_err==srtp_err_status_ok) { + return slen; + } else { + ms_error("srtp_unprotect%s() failed (%d) on stream ctx [%p]", is_rtp?"":"_rtcp", srtp_err,ctx); +@@ -201,7 +201,7 @@ + + + static int ms_media_stream_session_fill_srtp_context(MSMediaStreamSessions *sessions, bool_t is_send, bool_t is_rtp) { +- err_status_t err=0; ++ srtp_err_status_t err=0; + RtpTransport *transport=NULL; + MSSrtpStreamContext* stream_ctx = get_stream_context(sessions,is_send,is_rtp); + +@@ -258,28 +258,28 @@ + } + + +-static int ms_set_srtp_crypto_policy(MSCryptoSuite suite, crypto_policy_t *policy) { ++static int ms_set_srtp_srtp_crypto_policy(MSCryptoSuite suite, srtp_crypto_policy_t *policy) { + switch(suite){ + case MS_AES_128_SHA1_32: + // srtp doc says: not adapted to rtcp... +- crypto_policy_set_aes_cm_128_hmac_sha1_32(policy); ++ srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32(policy); + break; + case MS_AES_128_NO_AUTH: + // srtp doc says: not adapted to rtcp... +- crypto_policy_set_aes_cm_128_null_auth(policy); ++ srtp_crypto_policy_set_aes_cm_128_null_auth(policy); + break; + case MS_NO_CIPHER_SHA1_80: +- crypto_policy_set_null_cipher_hmac_sha1_80(policy); ++ srtp_crypto_policy_set_null_cipher_hmac_sha1_80(policy); + break; + case MS_AES_128_SHA1_80: /*default mode*/ +- crypto_policy_set_aes_cm_128_hmac_sha1_80(policy); ++ srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(policy); + break; + case MS_AES_256_SHA1_80: // For backward compatibility + case MS_AES_CM_256_SHA1_80: +- crypto_policy_set_aes_cm_256_hmac_sha1_80(policy); +- break; ++ srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80(policy); ++ break; + case MS_AES_256_SHA1_32: +- crypto_policy_set_aes_cm_256_hmac_sha1_32(policy); ++ srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32(policy); + break; + case MS_CRYPTO_SUITE_INVALID: + return -1; +@@ -291,13 +291,13 @@ + static int ms_add_srtp_stream(srtp_t srtp, MSCryptoSuite suite, uint32_t ssrc, const char* key, size_t key_length, bool_t is_send, bool_t is_rtp) + { + srtp_policy_t policy; +- err_status_t err; +- ssrc_t ssrc_conf; ++ srtp_err_status_t err; ++ srtp_ssrc_t ssrc_conf; + + memset(&policy,0,sizeof(policy)); + + if (is_rtp) { +- if (ms_set_srtp_crypto_policy(suite, &policy.rtp) != 0) { ++ if (ms_set_srtp_srtp_crypto_policy(suite, &policy.rtp) != 0) { + return -1; + } + /* check if key length match given policy */ +@@ -306,7 +306,7 @@ + return -1; + } + }else { +- if (ms_set_srtp_crypto_policy(suite, &policy.rtcp) != 0) { ++ if (ms_set_srtp_srtp_crypto_policy(suite, &policy.rtcp) != 0) { + return -1; + } + if ((int)key_length != policy.rtcp.cipher_key_len) { +@@ -326,7 +326,7 @@ + policy.next = NULL; + + err = srtp_add_stream(srtp, &policy); +- if (err != err_status_ok) { ++ if (err != srtp_err_status_ok) { + ms_error("Failed to add stream to srtp session (%d)", err); + return -1; + } +@@ -344,7 +344,7 @@ + int ms_srtp_init(void) + { + +- err_status_t st=0; ++ srtp_err_status_t st=0; + ms_message("srtp init"); + if (!srtp_init_done) { + st=srtp_init(); +@@ -352,7 +352,6 @@ + srtp_init_done++; + }else{ + ms_fatal("Couldn't initialize SRTP library: %d.", st); +- err_reporting_init("mediastreamer2"); + } + }else srtp_init_done++; + return (int)st; +@@ -508,7 +507,7 @@ + #else /* HAVE_SRTP */ + + typedef void* srtp_t; +-typedef int err_status_t; ++typedef int srtp_err_status_t; + + bool_t ms_srtp_supported(void){ + return FALSE;