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
remotes/origin/15.6
George Joseph 8 years ago
parent 49461f37b7
commit b4f1c6380e

@ -1,9 +1,34 @@
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
PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject --disable-speex-codec --disable-speex-aec \
--disable-gsm-codec --disable-video --disable-v4l2 --disable-sound --disable-opencore-amr \
--disable-ilbc-codec --without-libyuv --disable-g7221-codec --disable-resample
PJPROJECT_CONFIG_OPTS = --prefix=/opt/pjproject \
--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)
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

@ -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

@ -19,7 +19,7 @@
#define PJ_SCANNER_USE_BITWISE 0
#define PJ_OS_HAS_CHECK_STACK 0
#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_DIALOG_COUNT ((64*1024)-1)
#define PJSIP_UDP_SO_SNDBUF_SIZE (512*1024)

@ -1,2 +1,2 @@
PJPROJECT_VERSION = 2.5
PJPROJECT_VERSION = 2.5.5

Loading…
Cancel
Save