summaryrefslogtreecommitdiff
path: root/third-party
diff options
context:
space:
mode:
authorGeorge Joseph <gjoseph@digium.com>2016-07-17 17:28:36 -0600
committerGeorge Joseph <gjoseph@digium.com>2016-07-28 07:04:12 -0600
commit972cee2e4c402df3ddce237951e9d54281093be4 (patch)
tree6a7c309287f6465868890059a4308b9be11fbe9c /third-party
parent17e0e058ca0fee2ee29348af6e1243d19fc4941a (diff)
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
Diffstat (limited to 'third-party')
-rw-r--r--third-party/pjproject/Makefile.rules31
-rw-r--r--third-party/pjproject/patches/0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch73
-rw-r--r--third-party/pjproject/patches/0001-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch48
-rw-r--r--third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch56
-rw-r--r--third-party/pjproject/patches/config_site.h2
-rw-r--r--third-party/versions.mak2
6 files changed, 86 insertions, 126 deletions
diff --git a/third-party/pjproject/Makefile.rules b/third-party/pjproject/Makefile.rules
index d2e7d25a4..739193aca 100644
--- a/third-party/pjproject/Makefile.rules
+++ b/third-party/pjproject/Makefile.rules
@@ -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
diff --git a/third-party/pjproject/patches/0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch b/third-party/pjproject/patches/0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch
deleted file mode 100644
index d2a47c6c5..000000000
--- a/third-party/pjproject/patches/0001-evsub-Add-APIs-to-add-decrement-an-event-subscriptio.patch
+++ /dev/null
@@ -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
-
diff --git a/third-party/pjproject/patches/0001-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch b/third-party/pjproject/patches/0001-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch
deleted file mode 100644
index d8a9adbde..000000000
--- a/third-party/pjproject/patches/0001-sip_transport_tcp-tls-Set-factory-on-transports-crea.patch
+++ /dev/null
@@ -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
-
diff --git a/third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch b/third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch
new file mode 100644
index 000000000..c4288a389
--- /dev/null
+++ b/third-party/pjproject/patches/0002-Fix-1946-Avoid-deinitialization-of-uninitialized-cli.patch
@@ -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
+
diff --git a/third-party/pjproject/patches/config_site.h b/third-party/pjproject/patches/config_site.h
index eb9f8b15c..07e4d97a9 100644
--- a/third-party/pjproject/patches/config_site.h
+++ b/third-party/pjproject/patches/config_site.h
@@ -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)
diff --git a/third-party/versions.mak b/third-party/versions.mak
index ca40531df..a4d7874d5 100644
--- a/third-party/versions.mak
+++ b/third-party/versions.mak
@@ -1,2 +1,2 @@
-PJPROJECT_VERSION = 2.5
+PJPROJECT_VERSION = 2.5.5