Date: Friday, October 12, 2018 @ 11:24:16 Author: arojas Revision: 336427
archrelease: copy trunk to extra-x86_64 Added: kopete/repos/extra-x86_64/PKGBUILD (from rev 336426, kopete/trunk/PKGBUILD) kopete/repos/extra-x86_64/kopete-glibc-2.28.patch (from rev 336426, kopete/trunk/kopete-glibc-2.28.patch) kopete/repos/extra-x86_64/kopete-mediastreamer2.14.patch (from rev 336426, kopete/trunk/kopete-mediastreamer2.14.patch) kopete/repos/extra-x86_64/kopete-openssl-1.1.patch (from rev 336426, kopete/trunk/kopete-openssl-1.1.patch) kopete/repos/extra-x86_64/kopete-srtp2.patch (from rev 336426, kopete/trunk/kopete-srtp2.patch) Deleted: kopete/repos/extra-x86_64/PKGBUILD kopete/repos/extra-x86_64/kopete-glibc-2.28.patch kopete/repos/extra-x86_64/kopete-mediastreamer2.14.patch kopete/repos/extra-x86_64/kopete-openssl-1.1.patch kopete/repos/extra-x86_64/kopete-pthread-link.patch kopete/repos/extra-x86_64/kopete-srtp2.patch --------------------------------+ PKGBUILD | 115 +++---- kopete-glibc-2.28.patch | 24 - kopete-mediastreamer2.14.patch | 364 +++++++++++++++++------ kopete-openssl-1.1.patch | 614 +++++++++++++++++++-------------------- kopete-pthread-link.patch | 12 kopete-srtp2.patch | 308 +++++++++---------- 6 files changed, 810 insertions(+), 627 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-10-12 11:23:33 UTC (rev 336426) +++ PKGBUILD 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,59 +0,0 @@ -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Maintainer: Antonio Rojas <aro...@archlinux.org> -# Contributor: Andrea Scarpino <and...@archlinux.org> - -pkgname=kopete -pkgver=18.08.2 -pkgrel=1 -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 - libidn 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=('ec2479eb7be28cf335e2539ffcd0c1bccf47a225242f87f3acfc5077f5cc9b57' - 'SKIP' - 'c34a268aaa058e563174581dbe37c15fed91e82326ec704d2a872463139865e0' - 'ceed663f7007654d186d918cf7a0742972ed5bd319879021e9ba80e395177700' - 'a12ea422e5162ef11274a98fd53658d6e780cafbe2e0fac70c8bc7d3291fef8b' - 'a7ebdd8dd4336b7ec085ef254bf18040f473b73379a8cd84569b28441a6c71df' - 'ba1b830bbd74c3dde8de99d887bd20205b4bbb1e466a41aa2b230404f1959c83') -validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aa...@kde.org> - F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87) # Christoph Feck <cf...@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/extra-x86_64/PKGBUILD (from rev 336426, kopete/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-10-12 11:24:16 UTC (rev 336427) @@ -0,0 +1,56 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Maintainer: Antonio Rojas <aro...@archlinux.org> +# Contributor: Andrea Scarpino <and...@archlinux.org> + +pkgname=kopete +pkgver=18.08.2 +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 + libidn 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-glibc-2.28.patch) +sha256sums=('ec2479eb7be28cf335e2539ffcd0c1bccf47a225242f87f3acfc5077f5cc9b57' + 'SKIP' + '8b8e7a5d9f17fafdddb402fab22b0b8d9963039ea8ea9fa749cad67aeeb879ac' + 'ceed663f7007654d186d918cf7a0742972ed5bd319879021e9ba80e395177700' + 'a12ea422e5162ef11274a98fd53658d6e780cafbe2e0fac70c8bc7d3291fef8b' + 'ba1b830bbd74c3dde8de99d887bd20205b4bbb1e466a41aa2b230404f1959c83') +validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7 # Albert Astals Cid <aa...@kde.org> + F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87) # Christoph Feck <cf...@kde.org> + +prepare() { + mkdir -p build + + cd $pkgname-$pkgver +# fix build with mediastreamer 2.14 https://phabricator.kde.org/D15956 + patch -p1 -i ../kopete-mediastreamer2.14.patch +# fix build with OpenSSL 1.1 (Fedora patch) + patch -p1 -i ../kopete-openssl-1.1.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 +} Deleted: kopete-glibc-2.28.patch =================================================================== --- kopete-glibc-2.28.patch 2018-10-12 11:23:33 UTC (rev 336426) +++ kopete-glibc-2.28.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,12 +0,0 @@ -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/extra-x86_64/kopete-glibc-2.28.patch (from rev 336426, kopete/trunk/kopete-glibc-2.28.patch) =================================================================== --- kopete-glibc-2.28.patch (rev 0) +++ kopete-glibc-2.28.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -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> Deleted: kopete-mediastreamer2.14.patch =================================================================== --- kopete-mediastreamer2.14.patch 2018-10-12 11:23:33 UTC (rev 336426) +++ kopete-mediastreamer2.14.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,83 +0,0 @@ -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/extra-x86_64/kopete-mediastreamer2.14.patch (from rev 336426, kopete/trunk/kopete-mediastreamer2.14.patch) =================================================================== --- kopete-mediastreamer2.14.patch (rev 0) +++ kopete-mediastreamer2.14.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -0,0 +1,281 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,6 +34,7 @@ + + find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED) + find_package(KF5IdentityManagement ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED) ++find_package(Threads) + + include(KDEInstallDirs) + include(KDECompilerSettings NO_POLICY_SCOPE) +diff --git a/cmake/modules/FindLiboRTP.cmake b/cmake/modules/FindLiboRTP.cmake +--- a/cmake/modules/FindLiboRTP.cmake ++++ b/cmake/modules/FindLiboRTP.cmake +@@ -11,7 +11,7 @@ + + SET( LIBORTP_FOUND FALSE ) + +-pkg_check_modules(ortp ortp) ++pkg_check_modules(ORTP ortp) + + FIND_PATH( LIBORTP_INCLUDE_DIR + ortp/ortp.h +@@ -40,7 +40,13 @@ + if ( run_result EQUAL 0 ) + # Version OK + SET( LIBORTP_FOUND TRUE ) +- MESSAGE( STATUS "Found libortp: ${LIBORTP_LIBRARY}" ) ++ MESSAGE( STATUS "Found libortp: ${LIBORTP_LIBRARY} ${ORTP_VERSION}" ) ++ IF (ORTP_VERSION VERSION_LESS 1.0.1) ++ SET(ORTP_LESS_1_0_1 TRUE) ++ ELSE (ORTP_VERSION VERSION_LESS 1.0.1) ++ SET(ORTP_LESS_1_0_1 FALSE) ++ ENDIF (ORTP_VERSION VERSION_LESS 1.0.1) ++ + endif ( run_result EQUAL 0 ) + endif( compile_result ) + ENDIF( LIBORTP_INCLUDE_DIR AND LIBORTP_LIBRARY ) +diff --git a/cmake/modules/FindMediastreamer.cmake b/cmake/modules/FindMediastreamer.cmake +--- a/cmake/modules/FindMediastreamer.cmake ++++ b/cmake/modules/FindMediastreamer.cmake +@@ -20,17 +20,25 @@ + + IF (MEDIASTREAMER_FOUND) + IF (NOT MEDIASTREAMER_FIND_QUIETLY) ++ + MESSAGE(STATUS "Found Mediastreamer: ${MEDIASTREAMER_LIBRARIES} (version: ${MEDIASTREAMER_VERSION})") ++ ++ SET(MEDIASTREAMER_LESS_2_9 FALSE) ++ SET(MEDIASTREAMER_LESS_2_11 FALSE) ++ SET(MEDIASTREAMER_LESS_2_14 FALSE) ++ + IF (MEDIASTREAMER_VERSION VERSION_LESS 2.9) + SET(MEDIASTREAMER_LESS_2_9 TRUE) +- SET(MEDIASTREAMER_LESS_2_11 TRUE) +- ELSEIF (MEDIASTREAMER_VERSION VERSION_LESS 2.11) +- SET(MEDIASTREAMER_LESS_2_9 FALSE) +- SET(MEDIASTREAMER_LESS_2_11 TRUE) +- ELSE (MEDIASTREAMER_VERSION VERSION_LESS 2.9) +- SET(MEDIASTREAMER_LESS_2_9 FALSE) +- SET(MEDIASTREAMER_LESS_2_11 FALSE) + ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.9) ++ ++ IF (MEDIASTREAMER_VERSION VERSION_LESS 2.11) ++ SET(MEDIASTREAMER_LESS_2_11 TRUE) ++ ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.11) ++ ++ IF (MEDIASTREAMER_VERSION VERSION_LESS 2.14) ++ SET(MEDIASTREAMER_LESS_2_14 TRUE) ++ ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.14) ++ + ENDIF (NOT MEDIASTREAMER_FIND_QUIETLY) + ELSE (MEDIASTREAMER_FOUND) + IF (MEDIASTREAMER_FIND_REQUIRED) +diff --git a/protocols/jabber/libjingle/CMakeLists.txt b/protocols/jabber/libjingle/CMakeLists.txt +--- a/protocols/jabber/libjingle/CMakeLists.txt ++++ b/protocols/jabber/libjingle/CMakeLists.txt +@@ -51,6 +51,10 @@ + add_definitions ( -DMEDIASTREAMER_LESS_2_11 ) + endif ( MEDIASTREAMER_LESS_2_11 ) + ++if ( MEDIASTREAMER_LESS_2_14 ) ++ add_definitions ( -DMEDIASTREAMER_LESS_2_14 ) ++endif ( MEDIASTREAMER_LESS_2_14 ) ++ + if ( CMAKE_BUILD_TYPE STREQUAL "Debug" ) + add_definitions ( -D_DEBUG ) + endif ( CMAKE_BUILD_TYPE STREQUAL "Debug" ) +@@ -284,6 +288,7 @@ + ${EXPAT_LIBRARY} + ${MEDIASTREAMER_LIBRARIES} + ${LIBORTP_LIBRARY} ++ ${CMAKE_THREAD_LIBS_INIT} + ${CMAKE_DL_LIBS} + ) + +diff --git a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h +--- a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h ++++ b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h +@@ -53,7 +53,11 @@ + class LinphoneMediaEngine : public MediaEngineInterface { + public: + LinphoneMediaEngine(const std::string& ringWav, const std::string& callWav); ++#ifdef MEDIASTREAMER_LESS_2_14 + virtual ~LinphoneMediaEngine() {} ++#else ++ ~LinphoneMediaEngine(); ++#endif + + // Implement pure virtual methods of MediaEngine. + virtual bool Init() { return true; } +@@ -97,6 +101,10 @@ + bool have_speex; + bool have_gsm; + ++#ifndef MEDIASTREAMER_LESS_2_14 ++ MSFactory *factory; ++#endif ++ + private: + std::vector<AudioCodec> voice_codecs_; + std::vector<VideoCodec> video_codecs_; +@@ -110,7 +118,11 @@ + class LinphoneVoiceChannel : public VoiceMediaChannel { + public: + LinphoneVoiceChannel(LinphoneMediaEngine *eng); ++#ifdef MEDIASTREAMER_LESS_2_14 + virtual ~LinphoneVoiceChannel(); ++#else ++ ~LinphoneVoiceChannel(); ++#endif + + // Implement pure virtual methods of VoiceMediaChannel. + virtual bool SetRecvCodecs(const std::vector<AudioCodec>& codecs); +diff --git a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc +--- a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc ++++ b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc +@@ -60,18 +60,34 @@ + /////////////////////////////////////////////////////////////////////////// + LinphoneMediaEngine::LinphoneMediaEngine(const std::string& ringWav, const std::string& callWav) : ring_wav_(ringWav), call_wav_(callWav) { + ortp_init(); ++#ifdef MEDIASTREAMER_LESS_2_14 + ms_init(); ++#else ++ factory = ms_factory_new(); ++ ms_factory_init_voip(factory); ++ ms_factory_init_plugins(factory); ++#endif + + #ifndef WIN32 + char * path = strdup(MSILBC_LIBRARY); + char * dirc = dirname(path); ++#ifdef MEDIASTREAMER_LESS_2_14 + ms_load_plugins(dirc); ++#else ++ ms_factory_load_plugins(factory, dirc); ++#endif + free(path); + #endif + ++#ifdef MEDIASTREAMER_LESS_2_14 + have_ilbc = ms_filter_codec_supported("iLBC"); + have_speex = ms_filter_codec_supported("speex"); + have_gsm = ms_filter_codec_supported("gsm"); ++#else ++ have_ilbc = ms_factory_codec_supported(factory, "iLBC"); ++ have_speex = ms_factory_codec_supported(factory, "speex"); ++ have_gsm = ms_factory_codec_supported(factory, "gsm"); ++#endif + + if (have_speex) { + voice_codecs_.push_back(AudioCodec(110, payload_type_speex_wb.mime_type, payload_type_speex_wb.clock_rate, 0, 1, 8)); +@@ -88,6 +104,14 @@ + voice_codecs_.push_back(AudioCodec(101, payload_type_telephone_event.mime_type, payload_type_telephone_event.clock_rate, 0, 1, 1)); + } + ++#ifndef MEDIASTREAMER_LESS_2_14 ++LinphoneMediaEngine::~LinphoneMediaEngine() { ++ ms_factory_uninit_plugins(factory); ++ ms_factory_uninit_voip(factory); ++ ms_factory_destroy(factory); ++} ++#endif ++ + void LinphoneMediaEngine::Terminate() { + fflush(stdout); + } +@@ -149,15 +173,25 @@ + 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(ORTP_LOG_DOMAIN, 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(ORTP_LOG_DOMAIN, 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 ++#elif 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(engine_->factory, -1, -1, 0); /* -1 means that function will choose some free port */ + #endif + + } +@@ -272,11 +306,22 @@ + { + StopRing(); + ++#ifdef MEDIASTREAMER_LESS_2_14 ++ MSSndCardManager *snd_manager = ms_snd_card_manager_get(); + MSSndCard *playcard = ms_snd_card_manager_get_default_playback_card(ms_snd_card_manager_get()); ++#else ++ MSSndCardManager *snd_manager = ms_factory_get_snd_card_manager(engine_->factory); ++ MSSndCard *playcard = ms_snd_card_manager_get_default_playback_card(snd_manager); ++#endif ++ + if (!playcard) + return false; + ++#ifdef MEDIASTREAMER_LESS_2_14 + MSSndCard *captcard = ms_snd_card_manager_get_default_capture_card(ms_snd_card_manager_get()); ++#else ++ MSSndCard *captcard = ms_snd_card_manager_get_default_capture_card(snd_manager); ++#endif + if (!captcard) + return false; + +@@ -333,8 +378,18 @@ + + void LinphoneVoiceChannel::StartRing(bool bIncomingCall) + { ++#ifdef MEDIASTREAMER_LESS_2_14 ++ MSSndCardManager *snd_manager = ms_snd_card_manager_get(); ++#else ++ MSSndCardManager *snd_manager = ms_factory_get_snd_card_manager(engine_->factory); ++#endif ++ + MSSndCard *sndcard = NULL; ++#ifdef MEDIASTREAMER_LESS_2_14 + sndcard=ms_snd_card_manager_get_default_card(ms_snd_card_manager_get()); ++#else ++ sndcard=ms_snd_card_manager_get_default_card(snd_manager); ++#endif + if (sndcard) + { + if (bIncomingCall) +@@ -342,7 +397,11 @@ + 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 (engine_->factory, engine_->GetRingWav().c_str(), 1, sndcard); ++#endif + } + } + else +@@ -350,7 +409,11 @@ + 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 (engine_->factory, engine_->GetCallWav().c_str(), 1, sndcard); ++#endif + } + } + } + Deleted: kopete-openssl-1.1.patch =================================================================== --- kopete-openssl-1.1.patch 2018-10-12 11:23:33 UTC (rev 336426) +++ kopete-openssl-1.1.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,307 +0,0 @@ -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/extra-x86_64/kopete-openssl-1.1.patch (from rev 336426, kopete/trunk/kopete-openssl-1.1.patch) =================================================================== --- kopete-openssl-1.1.patch (rev 0) +++ kopete-openssl-1.1.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -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; Deleted: kopete-pthread-link.patch =================================================================== --- kopete-pthread-link.patch 2018-10-12 11:23:33 UTC (rev 336426) +++ kopete-pthread-link.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,12 +0,0 @@ -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 ) Deleted: kopete-srtp2.patch =================================================================== --- kopete-srtp2.patch 2018-10-12 11:23:33 UTC (rev 336426) +++ kopete-srtp2.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -1,154 +0,0 @@ -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 { - Copied: kopete/repos/extra-x86_64/kopete-srtp2.patch (from rev 336426, kopete/trunk/kopete-srtp2.patch) =================================================================== --- kopete-srtp2.patch (rev 0) +++ kopete-srtp2.patch 2018-10-12 11:24:16 UTC (rev 336427) @@ -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 { +