[arch-commits] Commit in kopete/repos (7 files)

Evangelos Foutras foutrelis at archlinux.org
Mon Sep 10 22:54:46 UTC 2018


    Date: Monday, September 10, 2018 @ 22:54:45
  Author: foutrelis
Revision: 334351

archrelease: copy trunk to staging-x86_64

Added:
  kopete/repos/staging-x86_64/
  kopete/repos/staging-x86_64/PKGBUILD
    (from rev 334350, kopete/trunk/PKGBUILD)
  kopete/repos/staging-x86_64/kopete-glibc-2.28.patch
    (from rev 334350, kopete/trunk/kopete-glibc-2.28.patch)
  kopete/repos/staging-x86_64/kopete-mediastreamer2.14.patch
    (from rev 334350, kopete/trunk/kopete-mediastreamer2.14.patch)
  kopete/repos/staging-x86_64/kopete-openssl-1.1.patch
    (from rev 334350, kopete/trunk/kopete-openssl-1.1.patch)
  kopete/repos/staging-x86_64/kopete-pthread-link.patch
    (from rev 334350, kopete/trunk/kopete-pthread-link.patch)
  kopete/repos/staging-x86_64/kopete-srtp2.patch
    (from rev 334350, kopete/trunk/kopete-srtp2.patch)

--------------------------------+
 PKGBUILD                       |   59 +++++++
 kopete-glibc-2.28.patch        |   12 +
 kopete-mediastreamer2.14.patch |   83 ++++++++++
 kopete-openssl-1.1.patch       |  307 +++++++++++++++++++++++++++++++++++++++
 kopete-pthread-link.patch      |   12 +
 kopete-srtp2.patch             |  154 +++++++++++++++++++
 6 files changed, 627 insertions(+)

Copied: kopete/repos/staging-x86_64/PKGBUILD (from rev 334350, kopete/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 310007 2017-11-15 14:11:34Z foutrelis $
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Maintainer: Antonio Rojas <arojas at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=kopete
+pkgver=18.08.1
+pkgrel=2
+pkgdesc='Instant Messenger'
+url='https://kde.org/applications/internet/kopete/'
+arch=(x86_64)
+license=(GPL LGPL FDL)
+groups=(kde-applications kdenetwork)
+depends=(knotifyconfig kcmutils ktexteditor kcontacts kidentitymanagement libkleo qca kdelibs4support khtml libotr)
+makedepends=(extra-cmake-modules mediastreamer libgadu jsoncpp kdoctools kdesignerplugin kdnssd libkleo ktexteditor)
+optdepends=('mediastreamer: jingle support' 'libgadu: Gadu-Gadu protocol' 'kdnssd: bonjour protocol')
+conflicts=(kdenetwork-kopete)
+replaces=(kdenetwork-kopete)
+source=("https://download.kde.org/stable/applications/$pkgver/src/$pkgname-$pkgver.tar.xz"{,.sig} 
+        kopete-mediastreamer2.14.patch kopete-srtp2.patch kopete-openssl-1.1.patch kopete-pthread-link.patch kopete-glibc-2.28.patch)
+sha256sums=('93fc1c360cce2471eae7286b1fb72b112e6192fee78ef68cda3ce270ed866844'
+            'SKIP'
+            'c34a268aaa058e563174581dbe37c15fed91e82326ec704d2a872463139865e0'
+            'ceed663f7007654d186d918cf7a0742972ed5bd319879021e9ba80e395177700'
+            'a12ea422e5162ef11274a98fd53658d6e780cafbe2e0fac70c8bc7d3291fef8b'
+            'a7ebdd8dd4336b7ec085ef254bf18040f473b73379a8cd84569b28441a6c71df'
+            'ba1b830bbd74c3dde8de99d887bd20205b4bbb1e466a41aa2b230404f1959c83')
+validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7  # Albert Astals Cid <aacid at kde.org>
+              F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87) # Christoph Feck <cfeck at kde.org>
+
+prepare() {
+  mkdir -p build
+
+# fix build with mediastreamer 2.14
+  cd kopete-$pkgver
+  patch -p1 -i ../kopete-mediastreamer2.14.patch
+# fix build with OpenSSL 1.1 (Fedora patch)
+  patch -p1 -i ../kopete-openssl-1.1.patch
+# fix link to pthread
+  patch -p1 -i ../kopete-pthread-link.patch
+# support SRTP2
+  patch -p1 -i ../kopete-srtp2.patch
+# fix build with glibc 2.28
+  patch -p1 -i ../kopete-glibc-2.28.patch
+}
+
+build() {
+  cd build
+  cmake ../$pkgname-$pkgver \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DCMAKE_INSTALL_LIBDIR=lib \
+    -DBUILD_TESTING=OFF
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="$pkgdir" install
+}

Copied: kopete/repos/staging-x86_64/kopete-glibc-2.28.patch (from rev 334350, kopete/trunk/kopete-glibc-2.28.patch)
===================================================================
--- staging-x86_64/kopete-glibc-2.28.patch	                        (rev 0)
+++ staging-x86_64/kopete-glibc-2.28.patch	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,12 @@
+diff --git a/protocols/jabber/libjingle/talk/session/phone/v4llookup.cc b/protocols/jabber/libjingle/talk/session/phone/v4llookup.cc
+index 0057946cc..d5559fa63 100644
+--- a/protocols/jabber/libjingle/talk/session/phone/v4llookup.cc
++++ b/protocols/jabber/libjingle/talk/session/phone/v4llookup.cc
+@@ -15,6 +15,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <unistd.h>
+ 
+ #include <cstring>

Copied: kopete/repos/staging-x86_64/kopete-mediastreamer2.14.patch (from rev 334350, kopete/trunk/kopete-mediastreamer2.14.patch)
===================================================================
--- staging-x86_64/kopete-mediastreamer2.14.patch	                        (rev 0)
+++ staging-x86_64/kopete-mediastreamer2.14.patch	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,83 @@
+diff --git a/cmake/modules/FindMediastreamer.cmake b/cmake/modules/FindMediastreamer.cmake
+index 47fe5c3..31802f0 100644
+--- a/cmake/modules/FindMediastreamer.cmake
++++ b/cmake/modules/FindMediastreamer.cmake
+@@ -24,12 +24,19 @@ IF (MEDIASTREAMER_FOUND)
+       IF (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
+           SET(MEDIASTREAMER_LESS_2_9 TRUE)
+           SET(MEDIASTREAMER_LESS_2_11 TRUE)
++          SET(MEDIASTREAMER_LESS_2_14 TRUE)
+       ELSEIF (MEDIASTREAMER_VERSION VERSION_LESS 2.11)
+           SET(MEDIASTREAMER_LESS_2_9 FALSE)
+           SET(MEDIASTREAMER_LESS_2_11 TRUE)
++          SET(MEDIASTREAMER_LESS_2_14 TRUE)
++      ELSEIF (MEDIASTREAMER_VERSION VERSION_LESS 2.14)
++          SET(MEDIASTREAMER_LESS_2_9 FALSE)
++          SET(MEDIASTREAMER_LESS_2_11 FALSE)
++          SET(MEDIASTREAMER_LESS_2_14 TRUE)
+       ELSE (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
+           SET(MEDIASTREAMER_LESS_2_9 FALSE)
+           SET(MEDIASTREAMER_LESS_2_11 FALSE)
++          SET(MEDIASTREAMER_LESS_2_14 FALSE)
+       ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
+   ENDIF (NOT MEDIASTREAMER_FIND_QUIETLY)
+ ELSE (MEDIASTREAMER_FOUND)
+diff --git a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
+index bd3de2b..9379226 100644
+--- a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
++++ b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
+@@ -151,15 +151,25 @@ LinphoneVoiceChannel::LinphoneVoiceChannel(LinphoneMediaEngine*eng)
+   playport2 = PORT_UNUSED;
+ 
+ #ifdef _DEBUG
++#ifdef MEDIASTREAMER_LESS_2_14
+   ortp_set_log_level_mask(ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
+ #else
++  ortp_set_log_level_mask(NULL, ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
++#endif
++#else
++#ifdef MEDIASTREAMER_LESS_2_14
+   ortp_set_log_level_mask(ORTP_FATAL);
++#else
++  ortp_set_log_level_mask(NULL, ORTP_FATAL);
+ #endif
+-
++#endif
++  
+ #ifdef MEDIASTREAMER_LESS_2_9
+   audio_stream_ = audio_stream_new(-1, 0); /* -1 means that function will choose some free port */
+-#else
++#elseif MEDIASTREAMER_LESS_2_14
+   audio_stream_ = audio_stream_new(-1, -1, 0); /* -1 means that function will choose some free port */
++#else
++  audio_stream_ = audio_stream_new(NULL, -1, -1, 0); /* -1 means that function will choose some free port */
+ #endif
+ 
+ }
+@@ -344,16 +354,24 @@ void LinphoneVoiceChannel::StartRing(bool bIncomingCall)
+       if (engine_->GetRingWav().size() > 0)
+       {
+         LOG(LS_VERBOSE) << "incoming ring. sound file: " << engine_->GetRingWav().c_str() << "\n";
++#ifdef MEDIASTREAMER_LESS_2_14
+         ring_stream_ = ring_start (engine_->GetRingWav().c_str(), 1, sndcard);
+-      }
++#else
++        ring_stream_ = ring_start (NULL, engine_->GetRingWav().c_str(), 1, sndcard);
++#endif
++          }
+     }
+     else
+     {
+       if (engine_->GetCallWav().size() > 0)
+       {
+         LOG(LS_VERBOSE) << "outgoing ring. sound file: " << engine_->GetCallWav().c_str() << "\n";
++#ifdef MEDIASTREAMER_LESS_2_14
+         ring_stream_ = ring_start (engine_->GetCallWav().c_str(), 1, sndcard);
+-      }
++#else
++        ring_stream_ = ring_start (NULL, engine_->GetCallWav().c_str(), 1, sndcard);
++#endif
++          }
+     }
+   }
+ }

Copied: kopete/repos/staging-x86_64/kopete-openssl-1.1.patch (from rev 334350, kopete/trunk/kopete-openssl-1.1.patch)
===================================================================
--- staging-x86_64/kopete-openssl-1.1.patch	                        (rev 0)
+++ staging-x86_64/kopete-openssl-1.1.patch	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,307 @@
+diff -ur kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssladapter.cc kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssladapter.cc
+--- kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssladapter.cc	2017-09-30 12:08:16.000000000 +0200
++++ kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssladapter.cc	2018-01-05 22:49:27.805070408 +0100
+@@ -84,6 +84,7 @@
+ static int socket_new(BIO* h);
+ static int socket_free(BIO* data);
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ static BIO_METHOD methods_socket = {
+   BIO_TYPE_BIO,
+   "socket",
+@@ -98,16 +99,40 @@
+ };
+ 
+ BIO_METHOD* BIO_s_socket2() { return(&methods_socket); }
++#else
++static BIO_METHOD *methods_socket = NULL;
++
++static const BIO_METHOD * BIO_s_socket2(void) {
++  if (methods_socket == NULL) {
++      methods_socket = BIO_meth_new (BIO_TYPE_BIO | BIO_get_new_index (), "socket");
++      if (methods_socket == NULL ||
++          BIO_meth_set_write (methods_socket, socket_write) ||
++          BIO_meth_set_read (methods_socket, socket_read) ||
++          BIO_meth_set_puts (methods_socket, socket_puts) ||
++          BIO_meth_set_gets (methods_socket, 0) ||
++          BIO_meth_set_ctrl (methods_socket, socket_ctrl) ||
++          BIO_meth_set_create (methods_socket, socket_new) ||
++          BIO_meth_set_destroy (methods_socket, socket_free))
++      return NULL;
++    }
++  return methods_socket;
++}
++#endif
+ 
+ BIO* BIO_new_socket(talk_base::AsyncSocket* socket) {
++  const BIO_METHOD *socket2 = BIO_s_socket2();
++  if (socket2 == NULL) {
++          return NULL;
++  }
+-  BIO* ret = BIO_new(BIO_s_socket2());
++  BIO* ret = BIO_new(socket2);
+   if (ret == NULL) {
+           return NULL;
+   }
+-  ret->ptr = socket;
++  BIO_set_data(ret, socket);
+   return ret;
+ }
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ static int socket_new(BIO* b) {
+   b->shutdown = 0;
+   b->init = 1;
+@@ -115,6 +136,14 @@
+   b->ptr = 0;
+   return 1;
+ }
++#else
++static int socket_new(BIO* b) {
++  BIO_set_shutdown(b, 0);
++  BIO_set_init(b, 1);
++  BIO_set_data(b, 0);
++  return 1;
++}
++#endif
+ 
+ static int socket_free(BIO* b) {
+   if (b == NULL)
+@@ -125,13 +154,11 @@
+ static int socket_read(BIO* b, char* out, int outl) {
+   if (!out)
+     return -1;
+-  talk_base::AsyncSocket* socket = static_cast<talk_base::AsyncSocket*>(b->ptr);
++  talk_base::AsyncSocket* socket = static_cast<talk_base::AsyncSocket*>(BIO_get_data(b));
+   BIO_clear_retry_flags(b);
+   int result = socket->Recv(out, outl);
+   if (result > 0) {
+     return result;
+-  } else if (result == 0) {
+-    b->num = 1;
+   } else if (socket->IsBlocking()) {
+     BIO_set_retry_read(b);
+   }
+@@ -141,7 +168,7 @@
+ static int socket_write(BIO* b, const char* in, int inl) {
+   if (!in)
+     return -1;
+-  talk_base::AsyncSocket* socket = static_cast<talk_base::AsyncSocket*>(b->ptr);
++  talk_base::AsyncSocket* socket = static_cast<talk_base::AsyncSocket*>(BIO_get_data(b));
+   BIO_clear_retry_flags(b);
+   int result = socket->Send(in, inl);
+   if (result > 0) {
+@@ -164,7 +191,6 @@
+   case BIO_CTRL_RESET:
+     return 0;
+   case BIO_CTRL_EOF:
+-    return b->num;
+   case BIO_CTRL_WPENDING:
+   case BIO_CTRL_PENDING:
+     return 0;
+@@ -696,7 +722,9 @@
+       // We assign this to a local variable, instead of passing the address
+       // directly to ASN1_item_d2i.
+       // See http://readlist.com/lists/openssl.org/openssl-users/0/4761.html.
+-      unsigned char* ext_value_data = extension->value->data;
++      ASN1_OCTET_STRING *extension_data = X509_EXTENSION_get_data(extension);
++      unsigned char* ext_value_data = extension_data->data;
++      long length = extension_data->length;
+ 
+ #if OPENSSL_VERSION_NUMBER >= 0x0090800fL
+       const unsigned char **ext_value_data_ptr =
+@@ -707,10 +735,10 @@
+ 
+       if (meth->it) {
+         ext_str = ASN1_item_d2i(NULL, ext_value_data_ptr,
+-                                extension->value->length,
++                                length,
+                                 ASN1_ITEM_ptr(meth->it));
+       } else {
+-        ext_str = meth->d2i(NULL, ext_value_data_ptr, extension->value->length);
++        ext_str = meth->d2i(NULL, ext_value_data_ptr, length);
+       }
+ 
+       STACK_OF(CONF_VALUE)* value = meth->i2v(meth, ext_str, NULL);
+diff -ur kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssldigest.cc kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssldigest.cc
+--- kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssldigest.cc	2017-09-30 12:08:16.000000000 +0200
++++ kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssldigest.cc	2018-01-05 22:49:27.869069361 +0100
+@@ -32,16 +32,16 @@
+ namespace talk_base {
+ 
+ OpenSSLDigest::OpenSSLDigest(const std::string& algorithm) {
+-  EVP_MD_CTX_init(&ctx_);
++  EVP_MD_CTX_init(ctx_);
+   if (GetDigestEVP(algorithm, &md_)) {
+-    EVP_DigestInit_ex(&ctx_, md_, NULL);
++    EVP_DigestInit_ex(ctx_, md_, NULL);
+   } else {
+     md_ = NULL;
+   }
+ }
+ 
+ OpenSSLDigest::~OpenSSLDigest() {
+-  EVP_MD_CTX_cleanup(&ctx_);
++  EVP_MD_CTX_destroy(ctx_);
+ }
+ 
+ size_t OpenSSLDigest::Size() const {
+@@ -55,7 +55,7 @@
+   if (!md_) {
+     return;
+   }
+-  EVP_DigestUpdate(&ctx_, buf, len);
++  EVP_DigestUpdate(ctx_, buf, len);
+ }
+ 
+ size_t OpenSSLDigest::Finish(void* buf, size_t len) {
+@@ -63,8 +63,8 @@
+     return 0;
+   }
+   unsigned int md_len;
+-  EVP_DigestFinal_ex(&ctx_, static_cast<unsigned char*>(buf), &md_len);
+-  EVP_DigestInit_ex(&ctx_, md_, NULL);  // prepare for future Update()s
++  EVP_DigestFinal_ex(ctx_, static_cast<unsigned char*>(buf), &md_len);
++  EVP_DigestInit_ex(ctx_, md_, NULL);  // prepare for future Update()s
+   ASSERT(md_len == Size());
+   return md_len;
+ }
+diff -ur kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssldigest.h kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssldigest.h
+--- kopete-17.08.3/protocols/jabber/libjingle/talk/base/openssldigest.h	2017-09-30 12:08:16.000000000 +0200
++++ kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/openssldigest.h	2018-01-05 22:49:27.869069361 +0100
+@@ -55,7 +55,7 @@
+                             size_t* len);
+ 
+  private:
+-  EVP_MD_CTX ctx_;
++  EVP_MD_CTX* ctx_ = EVP_MD_CTX_create();
+   const EVP_MD* md_;
+ };
+ 
+diff -ur kopete-17.08.3/protocols/jabber/libjingle/talk/base/opensslidentity.cc kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/opensslidentity.cc
+--- kopete-17.08.3/protocols/jabber/libjingle/talk/base/opensslidentity.cc	2017-09-30 12:08:16.000000000 +0200
++++ kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/opensslidentity.cc	2018-01-05 22:49:27.867069394 +0100
+@@ -169,7 +169,12 @@
+ }
+ 
+ void OpenSSLKeyPair::AddReference() {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   CRYPTO_add(&pkey_->references, 1, CRYPTO_LOCK_EVP_PKEY);
++#else
++  EVP_PKEY_up_ref(pkey_);
++#endif
++
+ }
+ 
+ #ifdef _DEBUG
+@@ -275,7 +280,11 @@
+ }
+ 
+ void OpenSSLCertificate::AddReference() {
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+   CRYPTO_add(&x509_->references, 1, CRYPTO_LOCK_X509);
++#else
++  X509_up_ref(x509_);
++#endif
+ }
+ 
+ OpenSSLIdentity* OpenSSLIdentity::Generate(const std::string& common_name) {
+diff -ur kopete-17.08.3/protocols/jabber/libjingle/talk/base/opensslstreamadapter.cc kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/opensslstreamadapter.cc
+--- kopete-17.08.3/protocols/jabber/libjingle/talk/base/opensslstreamadapter.cc	2017-09-30 12:08:16.000000000 +0200
++++ kopete-17.08.3-openssl-1.1/protocols/jabber/libjingle/talk/base/opensslstreamadapter.cc	2018-01-05 22:49:27.868069378 +0100
+@@ -87,6 +87,7 @@
+ static int stream_new(BIO* h);
+ static int stream_free(BIO* data);
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ static BIO_METHOD methods_stream = {
+   BIO_TYPE_BIO,
+   "stream",
+@@ -101,17 +102,37 @@
+ };
+ 
+ static BIO_METHOD* BIO_s_stream() { return(&methods_stream); }
++#else
++static BIO_METHOD *methods_stream = NULL;
++
++static const BIO_METHOD * BIO_s_stream(void) {
++  if (methods_stream == NULL) {
++      methods_stream = BIO_meth_new (BIO_TYPE_BIO | BIO_get_new_index (), "stream");
++      if (methods_stream == NULL ||
++          BIO_meth_set_write (methods_stream, stream_write) ||
++          BIO_meth_set_read (methods_stream, stream_read) ||
++          BIO_meth_set_puts (methods_stream, stream_puts) ||
++          BIO_meth_set_gets (methods_stream, 0) ||
++          BIO_meth_set_ctrl (methods_stream, stream_ctrl) ||
++          BIO_meth_set_create (methods_stream, stream_new) ||
++          BIO_meth_set_destroy (methods_stream, stream_free))
++      return NULL;
++    }
++  return methods_stream;
++}
++#endif
+ 
+ static BIO* BIO_new_stream(StreamInterface* stream) {
+   BIO* ret = BIO_new(BIO_s_stream());
+   if (ret == NULL)
+     return NULL;
+-  ret->ptr = stream;
++  BIO_set_data(ret, stream);
+   return ret;
+ }
+ 
+ // bio methods return 1 (or at least non-zero) on success and 0 on failure.
+ 
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ static int stream_new(BIO* b) {
+   b->shutdown = 0;
+   b->init = 1;
+@@ -119,6 +140,14 @@
+   b->ptr = 0;
+   return 1;
+ }
++#else
++static int stream_new(BIO* b) {
++  BIO_set_shutdown(b, 0);
++  BIO_set_init(b, 1);
++  BIO_set_data(b, 0);
++  return 1;
++}
++#endif
+ 
+ static int stream_free(BIO* b) {
+   if (b == NULL)
+@@ -129,15 +158,13 @@
+ static int stream_read(BIO* b, char* out, int outl) {
+   if (!out)
+     return -1;
+-  StreamInterface* stream = static_cast<StreamInterface*>(b->ptr);
++  StreamInterface* stream = static_cast<StreamInterface*>(BIO_get_data(b));
+   BIO_clear_retry_flags(b);
+   size_t read;
+   int error;
+   StreamResult result = stream->Read(out, outl, &read, &error);
+   if (result == SR_SUCCESS) {
+     return read;
+-  } else if (result == SR_EOS) {
+-    b->num = 1;
+   } else if (result == SR_BLOCK) {
+     BIO_set_retry_read(b);
+   }
+@@ -147,7 +174,7 @@
+ static int stream_write(BIO* b, const char* in, int inl) {
+   if (!in)
+     return -1;
+-  StreamInterface* stream = static_cast<StreamInterface*>(b->ptr);
++  StreamInterface* stream = static_cast<StreamInterface*>(BIO_get_data(b));
+   BIO_clear_retry_flags(b);
+   size_t written;
+   int error;
+@@ -172,7 +199,6 @@
+     case BIO_CTRL_RESET:
+       return 0;
+     case BIO_CTRL_EOF:
+-      return b->num;
+     case BIO_CTRL_WPENDING:
+     case BIO_CTRL_PENDING:
+       return 0;

Copied: kopete/repos/staging-x86_64/kopete-pthread-link.patch (from rev 334350, kopete/trunk/kopete-pthread-link.patch)
===================================================================
--- staging-x86_64/kopete-pthread-link.patch	                        (rev 0)
+++ staging-x86_64/kopete-pthread-link.patch	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,12 @@
+diff --git a/protocols/jabber/libjingle/CMakeLists.txt b/protocols/jabber/libjingle/CMakeLists.txt
+index 7ea8c3eb6..4b73085b8 100644
+--- a/protocols/jabber/libjingle/CMakeLists.txt
++++ b/protocols/jabber/libjingle/CMakeLists.txt
+@@ -288,6 +288,7 @@ set ( call_LIBS
+ 	${MEDIASTREAMER_LIBRARIES}
+ 	${LIBORTP_LIBRARY}
+ 	${CMAKE_DL_LIBS}
++        pthread
+ )
+ 
+ if ( NOT WIN32 )

Copied: kopete/repos/staging-x86_64/kopete-srtp2.patch (from rev 334350, kopete/trunk/kopete-srtp2.patch)
===================================================================
--- staging-x86_64/kopete-srtp2.patch	                        (rev 0)
+++ staging-x86_64/kopete-srtp2.patch	2018-09-10 22:54:45 UTC (rev 334351)
@@ -0,0 +1,154 @@
+diff --git a/cmake/modules/FindSRTP.cmake b/cmake/modules/FindSRTP.cmake
+index 4e8baa827..ce9033497 100644
+--- a/cmake/modules/FindSRTP.cmake
++++ b/cmake/modules/FindSRTP.cmake
+@@ -11,8 +11,8 @@ include ( FindPackageHandleStandardArgs )
+ if ( SRTP_INCLUDE_DIR AND SRTP_LIBRARY )
+ 	set ( SRTP_FOUND true )
+ else ( SRTP_INCLUDE_DIR AND SRTP_LIBRARY )
+-	find_path ( SRTP_INCLUDE_DIR srtp.h PATH_SUFFIXES srtp )
+-	find_library ( SRTP_LIBRARY NAMES srtp )
++	find_path ( SRTP_INCLUDE_DIR srtp.h PATH_SUFFIXES srtp srtp2 )
++	find_library ( SRTP_LIBRARY NAMES srtp srtp2 )
+ 
+ 	if ( SRTP_INCLUDE_DIR AND SRTP_LIBRARY )
+ 		set ( SRTP_FOUND true )
+diff --git a/protocols/jabber/libjingle/talk/session/phone/srtpfilter.cc b/protocols/jabber/libjingle/talk/session/phone/srtpfilter.cc
+index 7a1cb7866..f5363a36a 100644
+--- a/protocols/jabber/libjingle/talk/session/phone/srtpfilter.cc
++++ b/protocols/jabber/libjingle/talk/session/phone/srtpfilter.cc
+@@ -416,7 +416,7 @@ bool SrtpSession::ProtectRtp(void* p, int in_len, int max_len, int* out_len) {
+   }
+   int seq_num;
+   GetRtpSeqNum(p, in_len, &seq_num);
+-  if (err != err_status_ok) {
++  if (err != srtp_err_status_ok) {
+     LOG(LS_WARNING) << "Failed to protect SRTP packet, seqnum="
+                     << seq_num << ", err=" << err << ", last seqnum="
+                     << last_send_seq_num_;
+@@ -442,7 +442,7 @@ bool SrtpSession::ProtectRtcp(void* p, int in_len, int max_len, int* out_len) {
+   *out_len = in_len;
+   int err = srtp_protect_rtcp(session_, p, out_len);
+   srtp_stat_->AddProtectRtcpResult(err);
+-  if (err != err_status_ok) {
++  if (err != srtp_err_status_ok) {
+     LOG(LS_WARNING) << "Failed to protect SRTCP packet, err=" << err;
+     return false;
+   }
+@@ -461,7 +461,7 @@ bool SrtpSession::UnprotectRtp(void* p, int in_len, int* out_len) {
+   if (GetRtpSsrc(p, in_len, &ssrc)) {
+     srtp_stat_->AddUnprotectRtpResult(ssrc, err);
+   }
+-  if (err != err_status_ok) {
++  if (err != srtp_err_status_ok) {
+     LOG(LS_WARNING) << "Failed to unprotect SRTP packet, err=" << err;
+     return false;
+   }
+@@ -477,7 +477,7 @@ bool SrtpSession::UnprotectRtcp(void* p, int in_len, int* out_len) {
+   *out_len = in_len;
+   int err = srtp_unprotect_rtcp(session_, p, out_len);
+   srtp_stat_->AddUnprotectRtcpResult(err);
+-  if (err != err_status_ok) {
++  if (err != srtp_err_status_ok) {
+     LOG(LS_WARNING) << "Failed to unprotect SRTCP packet, err=" << err;
+     return false;
+   }
+@@ -504,11 +504,11 @@ bool SrtpSession::SetKey(int type, const std::string& cs,
+   memset(&policy, 0, sizeof(policy));
+ 
+   if (cs == CS_AES_CM_128_HMAC_SHA1_80) {
+-    crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtp);
+-    crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);
++    srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtp);
++    srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);
+   } else if (cs == CS_AES_CM_128_HMAC_SHA1_32) {
+-    crypto_policy_set_aes_cm_128_hmac_sha1_32(&policy.rtp);   // rtp is 32,
+-    crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);  // rtcp still 80
++    srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32(&policy.rtp);   // rtp is 32,
++    srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80(&policy.rtcp);  // rtcp still 80
+   } else {
+     LOG(LS_WARNING) << "Failed to create SRTP session: unsupported"
+                     << " cipher_suite " << cs.c_str();
+@@ -520,7 +520,7 @@ bool SrtpSession::SetKey(int type, const std::string& cs,
+     return false;
+   }
+ 
+-  policy.ssrc.type = static_cast<ssrc_type_t>(type);
++  policy.ssrc.type = static_cast<srtp_ssrc_type_t>(type);
+   policy.ssrc.value = 0;
+   policy.key = const_cast<uint8*>(key);
+   // TODO parse window size from WSH session-param
+@@ -529,7 +529,7 @@ bool SrtpSession::SetKey(int type, const std::string& cs,
+   policy.next = NULL;
+ 
+   int err = srtp_create(&session_, &policy);
+-  if (err != err_status_ok) {
++  if (err != srtp_err_status_ok) {
+     LOG(LS_ERROR) << "Failed to create SRTP session, err=" << err;
+     return false;
+   }
+@@ -543,13 +543,13 @@ bool SrtpSession::Init() {
+   if (!inited_) {
+     int err;
+     err = srtp_init();
+-    if (err != err_status_ok) {
++    if (err != srtp_err_status_ok) {
+       LOG(LS_ERROR) << "Failed to init SRTP, err=" << err;
+       return false;
+     }
+ 
+     err = srtp_install_event_handler(&SrtpSession::HandleEventThunk);
+-    if (err != err_status_ok) {
++    if (err != srtp_err_status_ok) {
+       LOG(LS_ERROR) << "Failed to install SRTP event handler, err=" << err;
+       return false;
+     }
+@@ -652,10 +652,10 @@ void SrtpStat::AddProtectRtpResult(uint32 ssrc, int result) {
+   key.ssrc = ssrc;
+   key.mode = SrtpFilter::PROTECT;
+   switch (result) {
+-    case err_status_ok:
++    case srtp_err_status_ok:
+       key.error = SrtpFilter::ERROR_NONE;
+       break;
+-    case err_status_auth_fail:
++    case srtp_err_status_auth_fail:
+       key.error = SrtpFilter::ERROR_AUTH;
+       break;
+     default:
+@@ -669,14 +669,14 @@ void SrtpStat::AddUnprotectRtpResult(uint32 ssrc, int result) {
+   key.ssrc = ssrc;
+   key.mode = SrtpFilter::UNPROTECT;
+   switch (result) {
+-    case err_status_ok:
++    case srtp_err_status_ok:
+       key.error = SrtpFilter::ERROR_NONE;
+       break;
+-    case err_status_auth_fail:
++    case srtp_err_status_auth_fail:
+       key.error = SrtpFilter::ERROR_AUTH;
+       break;
+-    case err_status_replay_fail:
+-    case err_status_replay_old:
++    case srtp_err_status_replay_fail:
++    case srtp_err_status_replay_old:
+       key.error = SrtpFilter::ERROR_REPLAY;
+       break;
+     default:
+diff --git a/protocols/jabber/libjingle/talk/session/phone/srtpfilter.h b/protocols/jabber/libjingle/talk/session/phone/srtpfilter.h
+index 991d4bf42..ff4e5070f 100644
+--- a/protocols/jabber/libjingle/talk/session/phone/srtpfilter.h
++++ b/protocols/jabber/libjingle/talk/session/phone/srtpfilter.h
+@@ -39,11 +39,7 @@
+ #include "talk/session/phone/cryptoparams.h"
+ #include "talk/p2p/base/sessiondescription.h"
+ 
+-// Forward declaration to avoid pulling in libsrtp headers here
+-struct srtp_event_data_t;
+-struct srtp_ctx_t;
+-typedef srtp_ctx_t* srtp_t;
+-struct srtp_policy_t;
++#include "srtp2/srtp.h"
+ 
+ namespace cricket {
+ 



More information about the arch-commits mailing list