mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 15:36:13 +00:00 
			
		
		
		
	pjproject_bundled: Update for pjproject 2.5.5
Add more --disable-* switches to Makefile.rules including --disable-opus which was causing bundled pjproject to fail with "undefined reference" errors in libasteriskpj. Changed PJ_ENABLE_EXTRA_CHECK to 1. Removed 2 obsolete patches and added a new one. The new one was merged by Teluu on 6/27/2016. ASTERISK-26148 #close Change-Id: Ib8af6c6a9d31f7238ce65b336134c2efdc855063
This commit is contained in:
		
							
								
								
									
										31
									
								
								third-party/pjproject/Makefile.rules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										31
									
								
								third-party/pjproject/Makefile.rules
									
									
									
									
										vendored
									
									
								
							| @@ -1,9 +1,34 @@ | |||||||
| PJPROJECT_URL = http://www.pjsip.org/release/$(PJPROJECT_VERSION) | PJPROJECT_URL = http://www.pjsip.org/release/$(PJPROJECT_VERSION) | ||||||
|  |  | ||||||
| # Even though we're not installing pjproject, we're setting prefix to /opt/pjproject to be safe | # Even though we're not installing pjproject, we're setting prefix to /opt/pjproject to be safe | ||||||
| PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject --disable-speex-codec --disable-speex-aec \ |  | ||||||
| 	--disable-gsm-codec --disable-video --disable-v4l2 --disable-sound --disable-opencore-amr \ | PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \ | ||||||
| 	--disable-ilbc-codec --without-libyuv --disable-g7221-codec --disable-resample | 	--disable-speex-codec \ | ||||||
|  | 	--disable-speex-aec \ | ||||||
|  | 	--disable-speex-aec \ | ||||||
|  | 	--disable-gsm-codec \ | ||||||
|  | 	--disable-ilbc-codec \ | ||||||
|  | 	--disable-l16-codec \ | ||||||
|  | 	--disable-g711-codec \ | ||||||
|  | 	--disable-g722-codec \ | ||||||
|  | 	--disable-g7221-codec \ | ||||||
|  | 	--disable-opencore-amr \ | ||||||
|  | 	--disable-webrtc \ | ||||||
|  | 	--disable-silk \ | ||||||
|  | 	--disable-opus \ | ||||||
|  | 	--disable-video \ | ||||||
|  | 	--disable-v4l2 \ | ||||||
|  | 	--disable-sound \ | ||||||
|  | 	--disable-ext-sound \ | ||||||
|  | 	--disable-oss \ | ||||||
|  | 	--disable-sdl \ | ||||||
|  | 	--disable-libyuv \ | ||||||
|  | 	--disable-resample \ | ||||||
|  | 	--disable-ffmpeg \ | ||||||
|  | 	--disable-openh264 \ | ||||||
|  | 	--disable-ipp \ | ||||||
|  | 	--without-external-pa \ | ||||||
|  | 	--with-external-srtp | ||||||
|  |  | ||||||
| ifeq ($(shell uname -s),Linux) | ifeq ($(shell uname -s),Linux) | ||||||
|    PJPROJECT_CONFIG_OPTS +=  --enable-epoll |    PJPROJECT_CONFIG_OPTS +=  --enable-epoll | ||||||
|   | |||||||
| @@ -1,73 +0,0 @@ | |||||||
| From a5030c9b33b2c936879fbacb1d2ea5edc2979181 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: George Joseph <gjoseph@digium.com> |  | ||||||
| Date: Sat, 18 Jun 2016 10:14:34 -0600 |  | ||||||
| Subject: [PATCH] evsub:  Add APIs to add/decrement an event  subscription's |  | ||||||
|  group lock |  | ||||||
|  |  | ||||||
| These APIs can be used to ensure that the evsub isn't destroyed before |  | ||||||
| an application is finished using it. |  | ||||||
| --- |  | ||||||
|  pjsip/include/pjsip-simple/evsub.h | 20 ++++++++++++++++++++ |  | ||||||
|  pjsip/src/pjsip-simple/evsub.c     | 14 ++++++++++++++ |  | ||||||
|  2 files changed, 34 insertions(+) |  | ||||||
|  |  | ||||||
| diff --git a/pjsip/include/pjsip-simple/evsub.h b/pjsip/include/pjsip-simple/evsub.h |  | ||||||
| index 2dc4d69..31f85f8 100644 |  | ||||||
| --- a/pjsip/include/pjsip-simple/evsub.h |  | ||||||
| +++ b/pjsip/include/pjsip-simple/evsub.h |  | ||||||
| @@ -490,6 +490,26 @@ PJ_DECL(void) pjsip_evsub_set_mod_data( pjsip_evsub *sub, unsigned mod_id, |  | ||||||
|  PJ_DECL(void*) pjsip_evsub_get_mod_data( pjsip_evsub *sub, unsigned mod_id ); |  | ||||||
|   |  | ||||||
|   |  | ||||||
| +/** |  | ||||||
| + * Increment the event subscription's group lock. |  | ||||||
| + * |  | ||||||
| + * @param sub		The server subscription instance. |  | ||||||
| + * |  | ||||||
| + * @return		PJ_SUCCESS on success. |  | ||||||
| + */ |  | ||||||
| +PJ_DEF(pj_status_t) pjsip_evsub_add_ref(pjsip_evsub *sub); |  | ||||||
| + |  | ||||||
| + |  | ||||||
| +/** |  | ||||||
| + * Decrement the event subscription's group lock. |  | ||||||
| + * |  | ||||||
| + * @param sub		The server subscription instance. |  | ||||||
| + * |  | ||||||
| + * @return		PJ_SUCCESS on success. |  | ||||||
| + */ |  | ||||||
| +PJ_DEF(pj_status_t) pjsip_evsub_dec_ref(pjsip_evsub *sub); |  | ||||||
| + |  | ||||||
| + |  | ||||||
|   |  | ||||||
|  PJ_END_DECL |  | ||||||
|   |  | ||||||
| diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c |  | ||||||
| index 7cd8859..68a9564 100644 |  | ||||||
| --- a/pjsip/src/pjsip-simple/evsub.c |  | ||||||
| +++ b/pjsip/src/pjsip-simple/evsub.c |  | ||||||
| @@ -831,7 +831,21 @@ static pj_status_t evsub_create( pjsip_dialog *dlg, |  | ||||||
|      return PJ_SUCCESS; |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| +/* |  | ||||||
| + * Increment the event subscription's group lock. |  | ||||||
| + */ |  | ||||||
| +PJ_DEF(pj_status_t) pjsip_evsub_add_ref(pjsip_evsub *sub) |  | ||||||
| +{ |  | ||||||
| +    return pj_grp_lock_add_ref(sub->grp_lock); |  | ||||||
| +} |  | ||||||
|   |  | ||||||
| +/* |  | ||||||
| + * Decrement the event subscription's group lock. |  | ||||||
| + */ |  | ||||||
| +PJ_DEF(pj_status_t) pjsip_evsub_dec_ref(pjsip_evsub *sub) |  | ||||||
| +{ |  | ||||||
| +    return pj_grp_lock_dec_ref(sub->grp_lock); |  | ||||||
| +} |  | ||||||
|   |  | ||||||
|  /* |  | ||||||
|   * Create client subscription session. |  | ||||||
| --  |  | ||||||
| 2.5.5 |  | ||||||
|  |  | ||||||
| @@ -1,48 +0,0 @@ | |||||||
| From b7cb93b0e1729589a71e8b30d9a9893f0918e2a2 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: George Joseph <george.joseph@fairview5.com> |  | ||||||
| Date: Mon, 30 May 2016 11:58:22 -0600 |  | ||||||
| Subject: [PATCH] sip_transport_tcp/tls:  Set factory on transports created |  | ||||||
|  from accept |  | ||||||
|  |  | ||||||
| The ability to re-use tcp and tls transports when a factory is |  | ||||||
| specified now depends on transport->factory being set which is a new field |  | ||||||
| in 2.5.  This was being set only on new outgoing sockets not on |  | ||||||
| incoming sockets.  The result was that a client REGISTER created a new |  | ||||||
| socket but without the factory set, the next outgoing request to the |  | ||||||
| client, OPTIONS, INVITE, etc, would attempt to create another socket |  | ||||||
| which the client would refuse. |  | ||||||
|  |  | ||||||
| This patch sets the factory on transports created as a result of an |  | ||||||
| accept. |  | ||||||
| --- |  | ||||||
|  pjsip/src/pjsip/sip_transport_tcp.c | 1 + |  | ||||||
|  pjsip/src/pjsip/sip_transport_tls.c | 1 + |  | ||||||
|  2 files changed, 2 insertions(+) |  | ||||||
|  |  | ||||||
| diff --git a/pjsip/src/pjsip/sip_transport_tcp.c b/pjsip/src/pjsip/sip_transport_tcp.c |  | ||||||
| index 1bbb324..00eb8fc 100644 |  | ||||||
| --- a/pjsip/src/pjsip/sip_transport_tcp.c |  | ||||||
| +++ b/pjsip/src/pjsip/sip_transport_tcp.c |  | ||||||
| @@ -713,6 +713,7 @@ static pj_status_t tcp_create( struct tcp_listener *listener, |  | ||||||
|      tcp->base.send_msg = &tcp_send_msg; |  | ||||||
|      tcp->base.do_shutdown = &tcp_shutdown; |  | ||||||
|      tcp->base.destroy = &tcp_destroy_transport; |  | ||||||
| +    tcp->base.factory = &listener->factory; |  | ||||||
|   |  | ||||||
|      /* Create group lock */ |  | ||||||
|      status = pj_grp_lock_create(pool, NULL, &tcp->grp_lock); |  | ||||||
| diff --git a/pjsip/src/pjsip/sip_transport_tls.c b/pjsip/src/pjsip/sip_transport_tls.c |  | ||||||
| index a83ac32..36ee70d 100644 |  | ||||||
| --- a/pjsip/src/pjsip/sip_transport_tls.c |  | ||||||
| +++ b/pjsip/src/pjsip/sip_transport_tls.c |  | ||||||
| @@ -742,6 +742,7 @@ static pj_status_t tls_create( struct tls_listener *listener, |  | ||||||
|      tls->base.send_msg = &tls_send_msg; |  | ||||||
|      tls->base.do_shutdown = &tls_shutdown; |  | ||||||
|      tls->base.destroy = &tls_destroy_transport; |  | ||||||
| +    tls->base.factory = &listener->factory; |  | ||||||
|   |  | ||||||
|      tls->ssock = ssock; |  | ||||||
|   |  | ||||||
| --  |  | ||||||
| 2.5.5 |  | ||||||
|  |  | ||||||
							
								
								
									
										56
									
								
								third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | |||||||
|  | From 33fd755e819dc85a96718abc0ae26a9b46f14800 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: nanang <nanang@localhost> | ||||||
|  | Date: Thu, 28 Jul 2016 08:21:45 +0000 | ||||||
|  | Subject: [PATCH 2/3] Fix #1946: Avoid deinitialization of uninitialized client | ||||||
|  |  auth session. | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  pjsip/src/pjsip/sip_dialog.c | 18 ++++++------------ | ||||||
|  |  1 file changed, 6 insertions(+), 12 deletions(-) | ||||||
|  |  | ||||||
|  | diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c | ||||||
|  | index f03885d..421ddc4 100644 | ||||||
|  | --- a/pjsip/src/pjsip/sip_dialog.c | ||||||
|  | +++ b/pjsip/src/pjsip/sip_dialog.c | ||||||
|  | @@ -92,6 +92,12 @@ static pj_status_t create_dialog( pjsip_user_agent *ua, | ||||||
|  |      pj_list_init(&dlg->inv_hdr); | ||||||
|  |      pj_list_init(&dlg->rem_cap_hdr); | ||||||
|  |   | ||||||
|  | +    /* Init client authentication session. */ | ||||||
|  | +    status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, | ||||||
|  | +				 dlg->pool, 0); | ||||||
|  | +    if (status != PJ_SUCCESS) | ||||||
|  | +	goto on_error; | ||||||
|  | + | ||||||
|  |      status = pj_mutex_create_recursive(pool, dlg->obj_name, &dlg->mutex_); | ||||||
|  |      if (status != PJ_SUCCESS) | ||||||
|  |  	goto on_error; | ||||||
|  | @@ -283,12 +289,6 @@ PJ_DEF(pj_status_t) pjsip_dlg_create_uac( pjsip_user_agent *ua, | ||||||
|  |      /* Initial route set is empty. */ | ||||||
|  |      pj_list_init(&dlg->route_set); | ||||||
|  |   | ||||||
|  | -    /* Init client authentication session. */ | ||||||
|  | -    status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, | ||||||
|  | -				 dlg->pool, 0); | ||||||
|  | -    if (status != PJ_SUCCESS) | ||||||
|  | -	goto on_error; | ||||||
|  | - | ||||||
|  |      /* Register this dialog to user agent. */ | ||||||
|  |      status = pjsip_ua_register_dlg( ua, dlg ); | ||||||
|  |      if (status != PJ_SUCCESS) | ||||||
|  | @@ -506,12 +506,6 @@ pj_status_t create_uas_dialog( pjsip_user_agent *ua, | ||||||
|  |      } | ||||||
|  |      dlg->route_set_frozen = PJ_TRUE; | ||||||
|  |   | ||||||
|  | -    /* Init client authentication session. */ | ||||||
|  | -    status = pjsip_auth_clt_init(&dlg->auth_sess, dlg->endpt, | ||||||
|  | -				 dlg->pool, 0); | ||||||
|  | -    if (status != PJ_SUCCESS) | ||||||
|  | -	goto on_error; | ||||||
|  | - | ||||||
|  |      /* Increment the dialog's lock since tsx may cause the dialog to be | ||||||
|  |       * destroyed prematurely (such as in case of transport error). | ||||||
|  |       */ | ||||||
|  | --  | ||||||
|  | 2.7.4 | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								third-party/pjproject/patches/config_site.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								third-party/pjproject/patches/config_site.h
									
									
									
									
										vendored
									
									
								
							| @@ -19,7 +19,7 @@ | |||||||
| #define PJ_SCANNER_USE_BITWISE	0 | #define PJ_SCANNER_USE_BITWISE	0 | ||||||
| #define PJ_OS_HAS_CHECK_STACK	0 | #define PJ_OS_HAS_CHECK_STACK	0 | ||||||
| #define PJ_LOG_MAX_LEVEL		3 | #define PJ_LOG_MAX_LEVEL		3 | ||||||
| #define PJ_ENABLE_EXTRA_CHECK	0 | #define PJ_ENABLE_EXTRA_CHECK	1 | ||||||
| #define PJSIP_MAX_TSX_COUNT		((64*1024)-1) | #define PJSIP_MAX_TSX_COUNT		((64*1024)-1) | ||||||
| #define PJSIP_MAX_DIALOG_COUNT	((64*1024)-1) | #define PJSIP_MAX_DIALOG_COUNT	((64*1024)-1) | ||||||
| #define PJSIP_UDP_SO_SNDBUF_SIZE	(512*1024) | #define PJSIP_UDP_SO_SNDBUF_SIZE	(512*1024) | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								third-party/versions.mak
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								third-party/versions.mak
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,2 @@ | |||||||
|  |  | ||||||
| PJPROJECT_VERSION = 2.5 | PJPROJECT_VERSION = 2.5.5 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user