From 05babb1f2be7c96d7accbb60c7ca1d5f450c4ed3 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Tue, 16 Jan 2018 19:37:48 +0100 Subject: [PATCH] pjproject: bump to 2.7.1 - Version bump because current version has open CVEs for which backported patches do not exist (CVE-2017-16875 and CVE-2017-16872). - Adds dependency on openssl as otherwise Asterisk will complain. Some Asterisk modules cannot load without it. Signed-off-by: Sebastian Kemper --- libs/pjproject/Makefile | 67 ++++++++++--------- .../patches/120-non-gnu-pthreads.patch | 54 ++------------- 2 files changed, 38 insertions(+), 83 deletions(-) diff --git a/libs/pjproject/Makefile b/libs/pjproject/Makefile index 31cdb82..3199469 100644 --- a/libs/pjproject/Makefile +++ b/libs/pjproject/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pjproject -PKG_VERSION:=2.4.5 +PKG_VERSION:=2.7.1 PKG_RELEASE:=1 PKG_SOURCE:=pjproject-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://www.pjsip.org/release/$(PKG_VERSION)/ -PKG_MD5SUM:=f58b3485977b3a700256203a554b3869 +PKG_MD5SUM:=99a64110fa5c2debff40e0e8d4676380 PKG_INSTALL:=1 PKG_FIXUP:=autoreconf @@ -31,7 +31,7 @@ define Package/pjproject/Default CATEGORY:=Libraries SUBMENU:=Telephony URL:=http://www.pjsip.org/ - DEPENDS:=+libuuid +libstdcpp +libpthread + DEPENDS:=+libopenssl +libuuid +libstdcpp +libpthread endef define Package/pjproject/install/lib @@ -54,34 +54,37 @@ $(call Package/pjproject/install/lib,$$(1),$2) endef CONFIGURE_ARGS += \ - --enable-shared \ - --disable-floating-point \ - --enable-g711-codec \ - --disable-l16-codec \ + $(if $(CONFIG_SOFT_FLOAT),--disable-floating-point) \ + --disable-bcg729 \ + --disable-ext-sound \ + --disable-ffmpeg \ + --disable-g711-codec \ --disable-g722-codec \ --disable-g7221-codec \ --disable-gsm-codec \ - --disable-ilbc-coder \ + --disable-ilbc-codec \ --disable-ipp \ - --disable-ssl \ + --disable-l16-codec \ + --disable-libwebrtc \ + --disable-libyuv \ + --disable-opencore-amr \ + --disable-openh264 \ + --disable-opus \ --disable-oss \ + --disable-resample \ + --disable-sdl \ + --disable-silk \ --disable-sound \ - --with-external-srtp="$(STAGING_DIR)/usr" \ - --without-external-gsm \ - --disable-small-filter \ - --disable-large-filter \ --disable-speex-aec \ - --disable-g711-codec \ - --disable-l16-codec \ - --disable-gsm-codec \ - --disable-g722-codec \ - --disable-g7221-codec \ --disable-speex-codec \ - --disable-ilbc-codec \ - --disable-resample-dll \ - --disable-sdl \ - --disable-ffmpeg \ - --disable-v4l2 + --disable-v4l2 \ + --disable-video \ + --enable-shared \ + --with-external-srtp="$(STAGING_DIR)/usr" \ + --with-ssl="$(STAGING_DIR)/usr" \ + --without-external-gsm \ + --without-external-pa \ + --without-external-webrtc TARGET_LDFLAGS+=-lc $(LIBGCC) -lm TARGET_CFLAGS+=$(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS) @@ -91,9 +94,8 @@ define Build/Compile endef PJPROJECT_LIBS = \ - libpj libpjlib-util libpjmedia-audiodev libpjmedia-codec \ - libpjmedia-videodev libpjmedia libpjnath libpjsip-simple \ - libpjsip-ua libpjsip libpjsua libpjsua2 libresample + libpj libpjlib-util libpjmedia libpjnath libpjsip-simple \ + libpjsip-ua libpjsip libpjsua libpjsua2 define Build/InstallDev $(INSTALL_DIR) $(1)/usr/{include,lib} @@ -107,11 +109,10 @@ endef $(eval $(call PJSIPpackage,libpj,libpj,+librt)) $(eval $(call PJSIPpackage,libpjlib-util,libpjlib-util,+libpj +librt)) -$(eval $(call PJSIPpackage,libpjmedia,libpjmedia*,+libpj +libpjlib-util +libpjnath +libresample +librt +libspeex +libsrtp)) +$(eval $(call PJSIPpackage,libpjmedia,libpjmedia*,+libpj +libpjlib-util +libpjnath +librt +libsrtp)) $(eval $(call PJSIPpackage,libpjnath,libpjnath,+libpj +libpjlib-util +librt)) -$(eval $(call PJSIPpackage,libpjsip-simple,libpjsip-simple,+libpj +libpjlib-util +libpjsip +libresample +librt +libspeex +libsrtp)) -$(eval $(call PJSIPpackage,libpjsip-ua,libpjsip-ua,+libpj +libpjlib-util +libpjmedia +libpjsip-simple +libpjsip +libresample +librt +libspeex +libsrtp)) -$(eval $(call PJSIPpackage,libpjsip,libpjsip,+libpj +libpjlib-util +libresample +librt +libspeex +libsrtp)) -$(eval $(call PJSIPpackage,libpjsua,libpjsua,+libpj +libpjlib-util +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libresample +librt +libspeex +libsrtp)) -$(eval $(call PJSIPpackage,libpjsua2,libpjsua2,+libpj +libpjlib-util +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libresample +librt +libspeex +libsrtp +libpjsua)) -$(eval $(call PJSIPpackage,libresample,libresample,)) +$(eval $(call PJSIPpackage,libpjsip-simple,libpjsip-simple,+libpj +libpjlib-util +libpjsip +librt)) +$(eval $(call PJSIPpackage,libpjsip-ua,libpjsip-ua,+libpj +libpjlib-util +libpjmedia +libpjsip-simple +libpjsip +librt)) +$(eval $(call PJSIPpackage,libpjsip,libpjsip,+libpj +libpjlib-util +librt +libsrtp)) +$(eval $(call PJSIPpackage,libpjsua,libpjsua,+libpj +libpjlib-util +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +librt)) +$(eval $(call PJSIPpackage,libpjsua2,libpjsua2,+libpj +libpjlib-util +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +librt +libpjsua)) diff --git a/libs/pjproject/patches/120-non-gnu-pthreads.patch b/libs/pjproject/patches/120-non-gnu-pthreads.patch index e01b542..23a9b3f 100644 --- a/libs/pjproject/patches/120-non-gnu-pthreads.patch +++ b/libs/pjproject/patches/120-non-gnu-pthreads.patch @@ -1,7 +1,5 @@ -Index: pjproject-2.4/pjlib/src/pj/os_core_unix.c -=================================================================== ---- pjproject-2.4.orig/pjlib/src/pj/os_core_unix.c -+++ pjproject-2.4/pjlib/src/pj/os_core_unix.c +--- pjproject-2.6/pjlib/src/pj/os_core_unix.c 2016-04-13 08:24:48.000000000 +0200 ++++ pjproject-new/pjlib/src/pj/os_core_unix.c 2017-05-08 09:51:49.980905420 +0200 @@ -1123,7 +1123,7 @@ static pj_status_t init_mutex(pj_mutex_t return PJ_RETURN_OS_ERROR(rc); @@ -9,7 +7,7 @@ Index: pjproject-2.4/pjlib/src/pj/os_core_unix.c -#if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ +#if (defined(PJ_LINUX) && PJ_LINUX!=0 && defined(__GLIBC__)) || \ defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) - rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_FAST_NP); + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); #elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ @@ -1133,7 +1133,7 @@ static pj_status_t init_mutex(pj_mutex_t rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); @@ -18,49 +16,5 @@ Index: pjproject-2.4/pjlib/src/pj/os_core_unix.c -#if (defined(PJ_LINUX) && PJ_LINUX!=0) || \ +#if (defined(PJ_LINUX) && PJ_LINUX!=0 && defined(__GLIBC__)) || \ defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE) - rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP); + rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); #elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \ -Index: pjproject-2.4/pjsip-apps/src/samples/siprtp.c -=================================================================== ---- pjproject-2.4.orig/pjsip-apps/src/samples/siprtp.c -+++ pjproject-2.4/pjsip-apps/src/samples/siprtp.c -@@ -1134,7 +1134,7 @@ static void boost_priority(void) - PJ_RETURN_OS_ERROR(rc)); - return; - } -- tp.__sched_priority = max_prio; -+ tp.sched_priority = max_prio; - - rc = sched_setscheduler(0, POLICY, &tp); - if (rc != 0) { -@@ -1143,7 +1143,7 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "New process policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - - /* - * Adjust thread scheduling algorithm and priority -@@ -1156,10 +1156,10 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "Old thread policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - - policy = POLICY; -- tp.__sched_priority = max_prio; -+ tp.sched_priority = max_prio; - - rc = pthread_setschedparam(pthread_self(), policy, &tp); - if (rc != 0) { -@@ -1169,7 +1169,7 @@ static void boost_priority(void) - } - - PJ_LOG(4, (THIS_FILE, "New thread policy=%d, priority=%d", -- policy, tp.__sched_priority)); -+ policy, tp.sched_priority)); - } - - #else -- 2.30.2