mirror of https://github.com/asterisk/asterisk
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: Ib8af6c6a9d31f7238ce65b336134c2efdc855063changes/27/3327/2
parent
ba449e0242
commit
4cf02b5584
@ -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
|
||||
|
@ -1,2 +1,2 @@
|
||||
|
||||
PJPROJECT_VERSION = 2.5
|
||||
PJPROJECT_VERSION = 2.5.5
|
||||
|
Loading…
Reference in new issue