From 7b3b808aea5bd65365f7943e3efbdca78079ba09 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Tue, 14 Nov 2017 22:54:26 +0100 Subject: [PATCH 1/4] libsrtp2: install library symlink Install the symlink from libsrtp2.so to libsrtp2.so.1 as well. Signed-off-by: Sebastian Kemper --- libs/libsrtp2/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/libsrtp2/Makefile b/libs/libsrtp2/Makefile index baf715d..890912b 100644 --- a/libs/libsrtp2/Makefile +++ b/libs/libsrtp2/Makefile @@ -55,8 +55,8 @@ endef define Package/libsrtp2/install $(INSTALL_DIR) $(1)/usr/lib - $(INSTALL_BIN) \ - $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.so.* \ + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/libsrtp2.so* \ $(1)/usr/lib/ endef From 622de3d93fb5978b54f9b5a9284f0f26cb5e606b Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Tue, 14 Nov 2017 22:59:19 +0100 Subject: [PATCH 2/4] pjproject: bump to 2.7.1 - Update from 2.6 to 2.7.1. - Update sed script because the TARGET_CFLAGS now occur twice in the .pc file. - Upgrade dependency from libsrtp to libsrtp2. - Drop patches that were included upstream. Signed-off-by: Sebastian Kemper --- libs/pjproject/Makefile | 13 +++---- ...ength-multipart-body-parts-correctly.patch | 36 ------------------- ...ansaction-key-buffer-is-large-enough.patch | 24 ------------- 3 files changed, 7 insertions(+), 66 deletions(-) delete mode 100644 libs/pjproject/patches/130-Parse-zero-length-multipart-body-parts-correctly.patch delete mode 100644 libs/pjproject/patches/140-Ensure-2543-transaction-key-buffer-is-large-enough.patch diff --git a/libs/pjproject/Makefile b/libs/pjproject/Makefile index 2c4d2ec..d3305d4 100644 --- a/libs/pjproject/Makefile +++ b/libs/pjproject/Makefile @@ -10,12 +10,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pjproject -PKG_VERSION:=2.6 -PKG_RELEASE:=3 +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_HASH:=2f5a1da1c174d845871c758bd80fbb580fca7799d3cfaa0d3c4e082b5161c7b4 +PKG_HASH:=59fabc62a02b2b80857297cfb10e2c68c473f4a0acc6e848cfefe8421f2c3126 PKG_INSTALL:=1 PKG_FIXUP:=autoreconf @@ -56,6 +56,7 @@ endef CONFIGURE_ARGS+= \ $(if $(CONFIG_SOFT_FLOAT),--disable-floating-point) \ + --disable-bcg729 \ --disable-ext-sound \ --disable-ffmpeg \ --disable-g711-codec \ @@ -104,16 +105,16 @@ define Build/InstallDev $(foreach m,$(PJPROJECT_LIBS),$(CP) $(PKG_INSTALL_DIR)/usr/lib/$(m)* $(1)/usr/lib;) $(INSTALL_DIR) $(1)/usr/lib/pkgconfig - $(SED) 's|$(TARGET_CFLAGS)||' $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpjproject.pc + $(SED) 's|$(TARGET_CFLAGS)||g' $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpjproject.pc $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libpjproject.pc $(1)/usr/lib/pkgconfig 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 +librt +libsrtp)) +$(eval $(call PJSIPpackage,libpjmedia,libpjmedia*,+libpj +libpjlib-util +libpjnath +librt +libsrtp2)) $(eval $(call PJSIPpackage,libpjnath,libpjnath,+libpj +libpjlib-util +librt)) $(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,libpjsip,libpjsip,+libpj +libpjlib-util +librt +libsrtp2)) $(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/130-Parse-zero-length-multipart-body-parts-correctly.patch b/libs/pjproject/patches/130-Parse-zero-length-multipart-body-parts-correctly.patch deleted file mode 100644 index 3fd2593..0000000 --- a/libs/pjproject/patches/130-Parse-zero-length-multipart-body-parts-correctly.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f0c717463d569f87a16f9b014033c8ca8939a7b4 Mon Sep 17 00:00:00 2001 -From: Mark Michelson -Date: Thu, 13 Apr 2017 16:59:40 -0500 -Subject: [PATCH] Parse zero-length multipart body parts correctly. - -The calculation of end_body could result in a negative length being -passed to multipart_body_parse_part(). ---- - pjsip/src/pjsip/sip_multipart.c | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - ---- a/pjsip/src/pjsip/sip_multipart.c -+++ b/pjsip/src/pjsip/sip_multipart.c -@@ -646,13 +646,15 @@ PJ_DEF(pjsip_msg_body*) pjsip_multipart_ - - end_body = curptr; - -- /* The newline preceeding the delimiter is conceptually part of -- * the delimiter, so trim it from the body. -- */ -- if (*(end_body-1) == '\n') -- --end_body; -- if (*(end_body-1) == '\r') -- --end_body; -+ if (end_body > start_body) { -+ /* The newline preceeding the delimiter is conceptually part of -+ * the delimiter, so trim it from the body. -+ */ -+ if (*(end_body-1) == '\n') -+ --end_body; -+ if (*(end_body-1) == '\r') -+ --end_body; -+ } - - /* Now that we have determined the part's boundary, parse it - * to get the header and body part of the part. diff --git a/libs/pjproject/patches/140-Ensure-2543-transaction-key-buffer-is-large-enough.patch b/libs/pjproject/patches/140-Ensure-2543-transaction-key-buffer-is-large-enough.patch deleted file mode 100644 index 35e8223..0000000 --- a/libs/pjproject/patches/140-Ensure-2543-transaction-key-buffer-is-large-enough.patch +++ /dev/null @@ -1,24 +0,0 @@ -From b5f0f8868363c482a2c4ce343e3ee6ad256b0708 Mon Sep 17 00:00:00 2001 -From: Mark Michelson -Date: Thu, 13 Apr 2017 16:20:07 -0500 -Subject: [PATCH] Ensure 2543 transaction key buffer is large enough. - -The CSeq method length needs to be factored into the allocated buffer -length. Otherwise, the buffer may not be large enough to accommodate the -entire key. ---- - pjsip/src/pjsip/sip_transaction.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/pjsip/src/pjsip/sip_transaction.c -+++ b/pjsip/src/pjsip/sip_transaction.c -@@ -288,7 +288,8 @@ static pj_status_t create_tsx_key_2543( - host = &rdata->msg_info.via->sent_by.host; - - /* Calculate length required. */ -- len_required = 9 + /* CSeq number */ -+ len_required = method->name.slen + /* Method */ -+ 9 + /* CSeq number */ - rdata->msg_info.from->tag.slen + /* From tag. */ - rdata->msg_info.cid->id.slen + /* Call-ID */ - host->slen + /* Via host. */ From 630f45a86639059a03d63fe8a14b551767b2db1f Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Tue, 14 Nov 2017 23:04:05 +0100 Subject: [PATCH 3/4] asterisk-13.x: upgrade dependency from libsrtp to libsrtp2 With the recently updated libsrtp2 asterisk 13 compiles fine, so it doesn't need to be forcefully prevented anymore from linking against it. Signed-off-by: Sebastian Kemper --- net/asterisk-13.x/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/asterisk-13.x/Makefile b/net/asterisk-13.x/Makefile index bccb642..88e7055 100644 --- a/net/asterisk-13.x/Makefile +++ b/net/asterisk-13.x/Makefile @@ -228,7 +228,6 @@ CONFIGURE_ARGS+= \ --enable-xmldoc CONFIGURE_VARS += \ - ac_cv_lib_srtp2_srtp_init=no \ ac_cv_path_ac_pt_CONFIG_LIBXML2=$(STAGING_DIR)/host/bin/xml2-config MAKE_FLAGS+= \ @@ -415,14 +414,14 @@ $(eval $(call BuildAsterisk13Module,res-musiconhold,MOH,Music On Hold support,,m $(eval $(call BuildAsterisk13Module,res-parking,Phone Parking,Phone Parking application,,res_parking.conf,res_parking,,)) $(eval $(call BuildAsterisk13Module,res-phoneprov,Phone Provisioning,Phone provisioning application for the asterisk internal http server,,phoneprov.conf,res_phoneprov,,)) $(eval $(call BuildAsterisk13Module,res-pjsip-phoneprov,PJSIP Phone Provisioning,PJSIP Phone Provisioning,+asterisk13-pjsip +asterisk13-res-phoneprov,,res_pjsip_phoneprov_provider,,)) -$(eval $(call BuildAsterisk13Module,res-pjproject,Bridge PJPROJECT to Asterisk logging,,+libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp,pjproject.conf,res_pjproject,,)) +$(eval $(call BuildAsterisk13Module,res-pjproject,Bridge PJPROJECT to Asterisk logging,,+libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp2,pjproject.conf,res_pjproject,,)) $(eval $(call BuildAsterisk13Module,res-realtime,RealTime CLI,RealTime CLI,,,res_realtime,,)) $(eval $(call BuildAsterisk13Module,res-rtp-asterisk,RTP stack,Supports RTP and RTCP with Symmetric RTP support for NAT traversal,+libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,rtp.conf,res_rtp_asterisk,,)) $(eval $(call BuildAsterisk13Module,res-rtp-multicast,RTP multicast engine,Multicast RTP Engine,,,res_rtp_multicast,,)) $(eval $(call BuildAsterisk13Module,res-smdi,Provide SMDI,Simple Message Desk Interface capability,,smdi.conf,res_smdi,,)) $(eval $(call BuildAsterisk13Module,res-sorcery,Sorcery data layer,Sorcery backend modules for data access intended for using realtime as backend ,,,res_sorcery_astdb res_sorcery_config res_sorcery_memory res_sorcery_realtime,,)) $(eval $(call BuildAsterisk13Module,res-speech,Speech Recognition API,Support for the Asterisk Generic Speech Recognition API,,,res_speech,,)) -$(eval $(call BuildAsterisk13Module,res-srtp,SRTP Support,Secure RTP connection,+libsrtp,,res_srtp,,)) +$(eval $(call BuildAsterisk13Module,res-srtp,SRTP Support,Secure RTP connection,+libsrtp2,,res_srtp,,)) $(eval $(call BuildAsterisk13Module,res-stun-monitor,STUN monitoring,resource STUN Monitor,,res_stun_monitor.conf,res_stun_monitor,,)) $(eval $(call BuildAsterisk13Module,res-timing-dahdi,DAHDI Timing Interface,DAHDI timing interface,+asterisk13-chan-dahdi,,res_timing_dahdi,,)) $(eval $(call BuildAsterisk13Module,res-timing-pthread,pthread Timing Interface,POSIX pthreads Timing Interface,,,res_timing_pthread,,)) From f87b810b7def16fea423d5755637415f6e098b43 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Tue, 14 Nov 2017 23:08:04 +0100 Subject: [PATCH 4/4] asterisk-15.x: upgrade dependency from libsrtp to libsrtp2 With the recently updated libsrtp2 asterisk 15 compiles fine, so it doesn't need to be forcefully prevented anymore from linking against it. Signed-off-by: Sebastian Kemper --- net/asterisk-15.x/Makefile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/asterisk-15.x/Makefile b/net/asterisk-15.x/Makefile index 0b9f6e4..2af6ed3 100644 --- a/net/asterisk-15.x/Makefile +++ b/net/asterisk-15.x/Makefile @@ -228,7 +228,6 @@ CONFIGURE_ARGS+= \ --enable-xmldoc CONFIGURE_VARS += \ - ac_cv_lib_srtp2_srtp_init=no \ ac_cv_path_ac_pt_CONFIG_LIBXML2=$(STAGING_DIR)/host/bin/xml2-config MAKE_FLAGS+= \ @@ -415,14 +414,14 @@ $(eval $(call BuildAsterisk15Module,res-musiconhold,MOH,Music On Hold support,,m $(eval $(call BuildAsterisk15Module,res-parking,Phone Parking,Phone Parking application,,res_parking.conf,res_parking,,)) $(eval $(call BuildAsterisk15Module,res-phoneprov,Phone Provisioning,Phone provisioning application for the asterisk internal http server,,phoneprov.conf,res_phoneprov,,)) $(eval $(call BuildAsterisk15Module,res-pjsip-phoneprov,PJSIP Phone Provisioning,PJSIP Phone Provisioning,+asterisk15-pjsip +asterisk15-res-phoneprov,,res_pjsip_phoneprov_provider,,)) -$(eval $(call BuildAsterisk15Module,res-pjproject,Bridge PJPROJECT to Asterisk logging,,+libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp,pjproject.conf,res_pjproject,,)) +$(eval $(call BuildAsterisk15Module,res-pjproject,Bridge PJPROJECT to Asterisk logging,,+libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp2,pjproject.conf,res_pjproject,,)) $(eval $(call BuildAsterisk15Module,res-realtime,RealTime CLI,RealTime CLI,,,res_realtime,,)) $(eval $(call BuildAsterisk15Module,res-rtp-asterisk,RTP stack,Supports RTP and RTCP with Symmetric RTP support for NAT traversal,+libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,rtp.conf,res_rtp_asterisk,,)) $(eval $(call BuildAsterisk15Module,res-rtp-multicast,RTP multicast engine,Multicast RTP Engine,,,res_rtp_multicast,,)) $(eval $(call BuildAsterisk15Module,res-smdi,Provide SMDI,Simple Message Desk Interface capability,,smdi.conf,res_smdi,,)) $(eval $(call BuildAsterisk15Module,res-sorcery,Sorcery data layer,Sorcery backend modules for data access intended for using realtime as backend ,,,res_sorcery_astdb res_sorcery_config res_sorcery_memory res_sorcery_realtime,,)) $(eval $(call BuildAsterisk15Module,res-speech,Speech Recognition API,Support for the Asterisk Generic Speech Recognition API,,,res_speech,,)) -$(eval $(call BuildAsterisk15Module,res-srtp,SRTP Support,Secure RTP connection,+libsrtp,,res_srtp,,)) +$(eval $(call BuildAsterisk15Module,res-srtp,SRTP Support,Secure RTP connection,+libsrtp2,,res_srtp,,)) $(eval $(call BuildAsterisk15Module,res-stun-monitor,STUN monitoring,resource STUN Monitor,,res_stun_monitor.conf,res_stun_monitor,,)) $(eval $(call BuildAsterisk15Module,res-timing-dahdi,DAHDI Timing Interface,DAHDI timing interface,+asterisk15-chan-dahdi,,res_timing_dahdi,,)) $(eval $(call BuildAsterisk15Module,res-timing-pthread,pthread Timing Interface,POSIX pthreads Timing Interface,,,res_timing_pthread,,))