Commit Graph

29936 Commits

Author SHA1 Message Date
Jenkins2
59f732b675 Merge "sorcery: Use ao2_weakproxy to hold list of instances." into 15 2017-10-12 10:44:11 -05:00
Jenkins2
ae5ecbd739 Merge "named_locks: Use ao2_weakproxy_find." into 15 2017-10-12 10:19:44 -05:00
Joshua Colp
13c4c50252 Merge "astobj2: Add ao2_weakproxy_find function." into 15 2017-10-12 09:37:40 -05:00
Jenkins2
8e50cc9034 Merge "astobj2: Run weakproxy callbacks outside of lock." into 15 2017-10-12 09:04:39 -05:00
Jenkins2
5d899db84d Merge "cdr.c: Defer misc checks." into 15 2017-10-12 08:02:29 -05:00
Jenkins2
929bdbfa19 Merge "res_pjsip: Prevent "user=phone" being added multiple times to header" into 15 2017-10-12 07:04:00 -05:00
Jenkins2
be4090d496 Merge "cdr_mysql: avoid releasing a config string" into 15 2017-10-11 19:45:43 -05:00
Joshua Colp
6c67c25bf4 Merge "chan_vpb: Fix a gcc 7 out-of-bounds complaint" into 15 2017-10-11 16:38:51 -05:00
Jenkins2
6022fe5821 Merge "app_originate: Set ORIGINATE_STATUS correctly on failure" into 15 2017-10-11 15:42:16 -05:00
Daniel Tryba
3a692949b7 res_pjsip: Prevent "user=phone" being added multiple times to header
ast_sip_add_usereqphone adds "user=phone" to the header every time is is
called without checking whether the param already exists. Preventing
this by searching to string representation of header for "user=phone".

ASTERISK-26988 #close

Change-Id: Ib84383b07254de357dc6a98d91fc1d2c2c3719e6
2017-10-11 15:36:20 -05:00
Tzafrir Cohen
21e981982f cdr_mysql: avoid releasing a config string
Fixes a memory corruption issue after a reload of cdr_mysql.

Issue was accidentally included in 747beb1ed1 .

ASTERISK-27270 #close

Change-Id: I90b6a9d18710c0f9009466370bd5f4bac5d5d12e
2017-10-11 15:14:50 -05:00
Jenkins2
2bbb871b10 Merge "app_queue.c: clear moh field in init_queue" into 15 2017-10-11 14:43:55 -05:00
Richard Mudgett
f8da683a16 cdr.c: Defer misc checks.
Try to defer some checks until needed in case there is an early exit.

Change-Id: Ibc6b34c38a4f60ad4f9b67984b7d070a07257064
2017-10-11 13:28:40 -05:00
Jenkins2
8f0ce6483e Merge "cdr.c: Eliminated simple RAII_VAR usages." into 15 2017-10-11 12:09:59 -05:00
George Joseph
4d518dd748 chan_vpb: Fix a gcc 7 out-of-bounds complaint
chan_vpb was trying to use sizeof(*p->play_dtmf), where
p->play_dtmf is defined as char[16], to get the length of the array
but since p->play_dtmf is an actual array, sizeof(*p->play_dtmf)
returns the size of the first array element, which is 1.  gcc7
validly complains because the context in which it's used could
cause an out-of-bounds condition.

Change-Id: If9c4bfdb6b02fa72d39e0c09bf88900663c000ba
2017-10-11 07:10:29 -05:00
Corey Farrell
cd521f166f sorcery: Use ao2_weakproxy to hold list of instances.
Store weak proxy objects in instances container.

Change-Id: I5a150a4e13cee319d46b5a4654f95a4623a978f8
2017-10-11 07:53:20 -04:00
Jenkins2
defa7084c7 Merge "res_pjsip_registrar.c: Update remove_existing AOR contact handling." into 15 2017-10-11 06:42:29 -05:00
Corey Farrell
d0a49d84ac named_locks: Use ao2_weakproxy_find.
Change-Id: I0ce8a1b7101b6caac6a19f83a89f00eaba1e9d9c
2017-10-10 20:17:13 -04:00
Corey Farrell
e54238388d astobj2: Add ao2_weakproxy_find function.
This function finds a weak proxy in an ao2_container and returns the
real object associated with it.

Change-Id: I9da822049747275f5961b5c0a7f14e87157d65d8
2017-10-10 20:17:09 -04:00
Corey Farrell
0727a8e524 astobj2: Run weakproxy callbacks outside of lock.
Copy the list of weakproxy callbacks to temporary memory so they can be
run without holding the weakproxy lock.

Change-Id: Ib167622a8a0f873fd73938f7611b2a5914308047
2017-10-10 20:16:59 -04:00
Sean Bright
9acfcefbd3 app_originate: Set ORIGINATE_STATUS correctly on failure
We were ignoring the return value from ast_pbx_outgoing_exten() and
ast_pbx_outgoing_app() which could fail before setting the reason code.
This resulted in failures being reported as success.

ASTERISK-25266 #close
Reported by: Allen Ford

Change-Id: Idf16237b7e41b527d2c69c865829128686beeb3b
2017-10-10 13:25:21 -04:00
Torrey Searle
7155055b9f contrib/thirdparty/sip_to_pjsip: add additional flag mappings
add mappings for udptl redundancy, rtptimeout, and debug flags

Change-Id: Ie73cf5c83c05dee01eb9624ede76c1a30225d73a
2017-10-10 10:50:10 -05:00
Richard Mudgett
a22ac5eee1 cdr.c: Eliminated simple RAII_VAR usages.
Change-Id: I150505db307249a962987e7b941bdd369bb91f35
2017-10-10 09:59:20 -05:00
Jenkins2
bc76eb294f Merge "res_pjproject: Fix cleanup of buildopts vector." into 15 2017-10-10 08:30:37 -05:00
Jenkins2
caad08d4ec Merge "tcptls: Do not re-bind to wildcard on client creation." into 15 2017-10-10 07:50:28 -05:00
Corey Farrell
d106e63258 res_pjproject: Fix cleanup of buildopts vector.
ASTERISK-27306

Change-Id: I3bed0edf3f55b1d4adcbabb25ec14f11dc766c72
2017-10-09 23:17:19 -05:00
Jenkins2
75525ab378 Merge "res_pjsip: Fix issues that prevented shutdown of modules." into 15 2017-10-09 20:19:20 -05:00
Jenkins2
9304e90657 Merge "cdr.c: Replace redundant check with an ast_assert()" into 15 2017-10-09 19:48:32 -05:00
Joshua Colp
ab43a7cc94 Merge "cdr.h: Fix doxygen comments." into 15 2017-10-09 19:08:09 -05:00
Jenkins2
a861cb9fe8 Merge "cdr.c: Use current ao2 flag names" into 15 2017-10-09 18:15:28 -05:00
Jenkins2
69f5b3da7c Merge "cdr.c: Replace inlined code with ao2_t_replace()" into 15 2017-10-09 16:59:59 -05:00
Joshua Colp
c3d6f3d656 Merge "res_config_sqlite: Don't enable SQLite CDRs when running 'make samples'" into 15 2017-10-09 16:43:40 -05:00
Jenkins2
e25bf840a5 Merge "res_pjsip_session: Fix format_cap leak." into 15 2017-10-09 16:33:38 -05:00
Jenkins2
2ca39642b7 Merge "res_pjsip: Fix leak of persistent endpoint references." into 15 2017-10-09 15:24:53 -05:00
Richard Mudgett
038759c320 cdr.c: Replace redundant check with an ast_assert()
The only caller of cdr_object_fn_table.process_party_b() explicitly does
the check before calling.

Change-Id: Ib0c53cdf5048227842846e0df9d2c19117c45618
2017-10-09 13:34:20 -05:00
Richard Mudgett
b48eeff44c cdr.c: Replace inlined code with ao2_t_replace()
Change-Id: I9f424f5282ca7d833592f958d95f1b2bafb549b0
2017-10-09 13:30:06 -05:00
Richard Mudgett
58c898aa3f cdr.c: Use current ao2 flag names
Change-Id: Ib59d7d2f2a4a822754628f2c48a308d6791a6e6e
2017-10-09 13:27:50 -05:00
Richard Mudgett
4ad4c5679b cdr.h: Fix doxygen comments.
* Also some misc formatting in cdr.c.

Change-Id: Ied89a28802a662c37c43326a1aafdce596e0df4a
2017-10-09 13:25:29 -05:00
Richard Mudgett
6014a8743d res_pjsip_registrar.c: Update remove_existing AOR contact handling.
When "rewrite_contact" is enabled, the "max_contacts" count option can
block re-registrations because the source port from the endpoint can be
random.  When the re-registration is blocked, the endpoint may give up
re-registering and require manual intervention.

* The "remove_existing" option now allows a registration to succeed by
displacing any existing contacts that now exceed the "max_contacts" count.
Any removed contacts are the next to expire.  The behaviour change is
beneficial when "rewrite_contact" is enabled and "max_contacts" is greater
than one.  The removed contact is likely the old contact created by
"rewrite_contact" that the device is refreshing.

ASTERISK-27192

Change-Id: I64c107a10b70db1697d17136051ae6bf22b5314b
2017-10-09 12:52:47 -05:00
Joshua Colp
5a7ca93119 Merge "res_sdp_translator_pjmedia: Fix test unregistration." into 15 2017-10-09 12:01:59 -05:00
Sean Bright
737624316d res_config_sqlite: Don't enable SQLite CDRs when running 'make samples'
Change-Id: I65a5190b2732b2246d67472db70dd37db64ddad4
2017-10-09 08:16:36 -05:00
hajekd
335c46185a res/res_ari.c Fix: Memory leaks in ARI when using Content-Type: application/json
ASTERISK-27305
Reported by: David Hajek
Tested by: David Hajek

Change-Id: Ife3e289062e6cf7d0e7d342dbf79ed96feff441e
2017-10-09 08:05:23 -05:00
Alexander Traud
3240ba9336 tcptls: Do not re-bind to wildcard on client creation.
Since ASTERISK-26922, this issue affected only those chan_sip which were
* enabled for dual-stack (bindaddr=::), and
* enabled for TCP (tcpenable=yes) and/or TLS (tlsenable=yes), and
* tried to register and/or invite a IPv4-only service,
* via TCP and/or TLS.
Now, ast_tcptls_client_create does not re-bind to [::] anymore.

ASTERISK-27324 #close

Change-Id: I4b242837bdeb1ec7130dc82505c6180a946fd9b5
2017-10-08 09:23:26 -05:00
Corey Farrell
10d0ffb0e0 res_pjsip_session: Fix format_cap leak.
ASTERISK-27306

Change-Id: I2c8d3fc148f9f53715c958314e1146f9611741f3
2017-10-07 16:29:19 -05:00
Corey Farrell
0c0f6da482 res_pjsip: Fix leak of persistent endpoint references.
Do not manually call sip_endpoint_apply_handler from load_all_endpoints.
This is not necessary and causes memory leaks.

Additionally reinitialize persistent->aors when we reuse a persistent
object with a new endpoint.

ASTERISK-27306

Change-Id: I59bbfc8da8a14d5f4af8c5bb1e71f8592ae823eb
2017-10-06 15:53:57 -05:00
Jenkins2
b8d3f39a85 Merge "vector: multiple evaluation of elem in AST_VECTOR_ADD_SORTED." into 15 2017-10-06 15:22:42 -05:00
George Joseph
b465aa053f Merge "main/strings: Fix uninitialized value." into 15 2017-10-06 15:09:48 -05:00
Jenkins2
6e14b6dc3a Merge "res_pjsip: Fix leak of fake_auth references." into 15 2017-10-06 14:12:27 -05:00
Corey Farrell
baf331f4bc vector: multiple evaluation of elem in AST_VECTOR_ADD_SORTED.
Use temporary variable to prevent multiple evaluations of elem argument.
This resolves a memory leak in res_pjproject startup.

ASTERISK-27317 #close

Change-Id: Ib960d7f5576f9e1a3c478ecb48995582a574e06d
2017-10-06 13:38:51 -05:00
Corey Farrell
70efaf8f3e res_sdp_translator_pjmedia: Fix test unregistration.
ASTERISK-27306

Change-Id: Ib3ed47167cb697ab7bd0a56cab589893f491651b
2017-10-06 09:45:21 -05:00