Commit Graph

22797 Commits

Author SHA1 Message Date
Walter Doekes
a3032baf86 safe_asterisk: Don't automatically exceed MAXFILES value of 2^20.
On systems with lots of RAM (e.g. 24GB) /proc/sys/fs/file-max divided
by two can exceed the per-process file limit of 2^20. This patch
ensures the value is capped.

(Patch cleaned up by me.)

ASTERISK-24011 #close
Reported by: Michael Myles
Patches:
  safe_asterisk-ulimit.diff uploaded by Michael Myles (License #6626)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@424875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-10-09 07:59:11 +00:00
Corey Farrell
468381b17a astobj2: Correct REF_DEBUG false leak report
When ao2_callback is run with OBJ_MULTIPLE and not OBJ_NODATA
it allocates a temporary container in a way that does not
record REF_DEBUG log entries.  This changes that container
to correctly record unref's when the container is freed. 

ASTERISK-24390 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/4047/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@424786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-10-07 21:28:33 +00:00
Walter Doekes
4102ce8dbd chan_sip: Simplify some unref code by removing unlink_peer_from_tables.
ASTERISK-22945 #related
Reported by: ibercom
Patches:
  asterisk11-chan_sip-simplifies.patch uploaded by ibercom (License #6599)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@424181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-10-01 10:06:33 +00:00
Walter Doekes
adf46e91c5 chan_sip: Remove excess ref of realtime peer before sip_poke_peer.
The peer is referenced at the end of sip_poke_peer, it should not get
an extra ref before the call to sip_poke_peer. This fixes a memory
leak.

ASTERISK-22945 #close
Reported by: ibercom
Tested by: Yuriy Gorlichenko
Patches:
  asterisk11.patch uploaded by ibercom (License #6599)

Review: https://reviewboard.asterisk.org/r/4031/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@424176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-10-01 09:50:32 +00:00
Richard Mudgett
70e5a1c1d1 res_fax: Fix out of bounds error in update_modem_bits().
ASTERISK-24357 #close
Reported by: Jeremy Laine
Patches:
      res_fax_bounds.patch (license #6561) patch uploaded by Jeremy Laine
	  Modified patch to not use magic numbers.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423979 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-26 15:16:11 +00:00
Walter Doekes
72183d96ee docs: Escape unescaped minus sign in asterisk.8 manpage.
ASTERISK-23768 #close
Reported by: Jeremy Lainé
Patches:
  escape_manpage_hyphen.patch uploaded by Jeremy Lainé (License #6561)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-26 08:22:50 +00:00
Walter Doekes
50369441cf chan_sip: Unref outbound proxy structure on dialog/pvt destruction.
Make sure outbound proxy refs are always unreffed on dialog destruction.

Review: https://reviewboard.asterisk.org/r/4016/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-24 08:48:17 +00:00
Walter Doekes
0fef06f8ab chan_sip: On INVITE retransmission, don't add an extra 503 response.
INVITE arrives to asterisk, asterisk responds Busy(). If the INVITE is
retransmitted, asterisk would generate a 503 in addition to the 486.

Thanks Torrey Searle for providing a working regression test.

ASTERISK-24335 #close

Review: https://reviewboard.asterisk.org/r/4003/
Patches:
  retrans_486_invite.patch uploaded by Torrey Searle (License #5334)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-22 19:45:50 +00:00
Walter Doekes
4863b465af cli.c: Fix tab completion "module load" when MALLOC_DEBUG is enabled.
r421600 conflicted with r155763.

ASTERISK-24348 #close


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-22 17:39:07 +00:00
Richard Mudgett
b8c9c9a6e6 astobj2.c/refcounter.py: Fix to deal with invalid object refs.
* Make astob2 REF_DEBUG output an invalid object line when an invalid ao2
object ref/unref is attempted.  This is similar to the
constructor/destructor lines.

* Fixed refcounter.py to handle skewed objects that have
constructor/destructor states.

* Made refcounter.py highlight the invalid ao2 object refs by putting them
in their own section of the processed output file.

* Made refcounter.py highlight unreffing an object by more than one that
results in a negative ref count and the object being destroyed.  The
abnormally destroyed object is reported in the invalid and finalized
object sections of the output.

Review: https://reviewboard.asterisk.org/r/3971/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-18 16:08:51 +00:00
George Joseph
b95d0c471b config: bug: Fix SEGV in ast_category_insert when matching category isn't found
If you call ast_category_insert with a match category that doesn't exist, the
list traverse runs out of 'next' categories and you get a SEGV.  This patch
adds check for the end-of-list condition and changes the signature to return
an int for success/failure indication instead of a void.

The only consumer of this function is manager and it was also changed to use
the return value.

Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3993/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-18 14:37:08 +00:00
Walter Doekes
2305602863 chan_sip: Clarify that sipdebug=yes cannot be undone by the CLI.
Document it in sip.conf.

ASTERISK-24249 #close
Reported by: Avinash Mohod

Review: https://reviewboard.asterisk.org/r/3926/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-14 15:48:31 +00:00
Kinsey Moore
7aa79c7881 Bridging: Fix bouncing native bridge
This fixes a situation in Asterisk 1.8 and 11 where ast_channel_bridge
could cause a bouncing native bridge. In the case of the
dial_LS_options test, this was a remote RTP bridge which caused the
audio path to continually cycle between Asterisk and the remote
endpoints generating a large number of SIP messages and delaying the
test long enough to cause it to fail (checking timing was part of the
test). The root cause was that the code to decide whether to use native
bridging was expecting a time-remaining value of 0 to be the default
instead of the actual default value of -1. A value of 0 or negative
numbers could also be generated by preceding code in some
circumstances. Both issues are addressed in this patch.

ASTERISK-24211 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3987/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@423006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-12 18:17:44 +00:00
George Joseph
74f3df57de config: bug: fix truncation of included config files on permissions error
ast_config_text_file_save() currently truncates include files as they
are processed.  If a subsequent include file or the main config file has
a permissions error that prevents writing, earlier include files are left
truncated resulting in a frantic search for backups.

This patch causes ast_config_text_file_save to check for write access
on all files before it truncates any of them.

Will be applied 1.8 > trunk.

Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3986/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-10 15:58:45 +00:00
Rusty Newton
a42ac11c12 Sounds/BuildSystem: Modifications to include new releases and Japanese language.
Modifying Makefile and sounds.xml to include new core 1.4.26 and extra 1.4.15
sound prompt releases, plus the new Japanese core sound prompts contributed
by QLOOG.

ASTERISK-23324
Reported by: Kevin McCoy
Tested by: Rusty Newton


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-07 00:07:39 +00:00
Jonathan Rose
98fd17b0ac Manager: Require read permission for SYSTEM in order to send FullyBooted
Review: https://reviewboard.asterisk.org/r/3969/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-09-04 19:51:36 +00:00
George Joseph
e5d3e47fe3 manager: Make WaitEvent action respect eventfilters
A WaitEvent issued via an http session isn't respecting eventfilters defined
for the user. I just added a match_filter to the predicate that controls
astman_append.

Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3958/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-30 17:19:07 +00:00
Matthew Jordan
50cf9570e3 doc: Add a manpage for the smsq utility
This patch adds a manpage for the smsq utility. Note that this is one of
the patches the Debian distro applies for the Asterisk project, as per
ASTERISK-24191.

Review: https://reviewboard.asterisk.org/r/3895/

ASTERISK-24171 #close
Reported by: Jeremy Laine
patches:
  smsq.8 uploaded by Jeremy Laine (License 6561)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-29 19:38:51 +00:00
Matthew Jordan
849a6efac1 doc: Add a manpage for the aelparse utility
This patch adds a manpage for the aelparse utility. Note that this is one of
the patches the Debian distro applies for the Asterisk project, as per
ASTERISK-24191.

Review: https://reviewboard.asterisk.org/r/3896/

ASTERISK-24171 #close
Reported by: Jeremy Laine
patches:
  aelparse.8 uploaded by Jeremy Laine (License 6561)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-29 19:31:42 +00:00
Matthew Jordan
b79b2ae886 LICENSE: Clarify language in Asterisk's LICENSE to allow for linking to UniMRCP
The UniMRCP project distributes Asterisk modules that integrate Asterisk with
UniMRCP, and other Asterisk users use the UniMRCP library as well.
Unfortunately, the UniMRCP license is Apache 2.0, which per the Free Software
Foundation, is not a compatible license with the GPLv2.

"Please note that this license is not compatible with GPL version 2, because it
has some requirements that are not in that GPL version. These include certain
patent termination and indemnification provisions. The patent termination
provision is a good thing, which is why we recommend the Apache 2.0 license for
substantial programs over other lax permissive licenses."

On the other hand, UniMRCP is a great project and we'd like to let people use
it with Asterisk.

This patch updates the LICENSE text to allow users to link Asterisk with
UniMRCP and distribute the resulting binaries.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-28 21:52:50 +00:00
Kinsey Moore
54bf60c118 CallerID: Fix parsing of malformed callerid
This allows the callerid parsing function to handle malformed input
strings and strings containing escaped and unescaped double quotes.
This also adds a unittest to cover many of the cases where the parsing
algorithm previously failed.

Review: https://reviewboard.asterisk.org/r/3923/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@422112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-27 14:25:34 +00:00
Richard Mudgett
6eff978ff7 res_musiconhold: Fix MOH restarting where it left off from the last hold.
Restore code removed by https://reviewboard.asterisk.org/r/3536/ that
introduced a regression that prevents MOH from restarting were it left off
the last time.

ASTERISK-24019 #close
Reported by: Jason Richards
Patches:
      jira_asterisk_24019_v1.8.patch (license #5621) patch uploaded by rmudgett

Review: https://reviewboard.asterisk.org/r/3928/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-25 16:00:12 +00:00
Richard Mudgett
f565f9a708 res_musiconhold.c: Remove obsolete REF_DEBUG code.
Remove unneeded code that writes to the wrong file location in an obsolete
format.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21 22:01:38 +00:00
Matthew Jordan
416bd82bda chan_sip: Don't use port derived from fromdomain if it isn't set
If a user does not provide a port in the fromdomain setting, chan_sip will set
the fromdomainport to STANDARD_SIP_PORT (5060). The fromdomainport value will
then get used unilaterally in certain places. This causes issues with TLS,
where the default port is expected to be 5061.

This patch modifies chan_sip such that fromdomainport is only used if it is
not the standard SIP port; otherwise, the port from the SIP pvt's recorded
self IP address is used.

Review: https://reviewboard.asterisk.org/r/3893/

ASTERISK-24178 #close
Reported by: Elazar Broad
patches:
  fromdomainport_fix.diff uploaded by Elazar Broad (License 5835)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-21 17:32:12 +00:00
Richard Mudgett
f92b7fe87d cli.c: Fix tab completion of "module load" when MALLOC_DEBUG is enabled.
filename_completion_function() returns memory that was not allocated by
the MALLOC_DEBUG allocation tracker so the memory must be freed by
ast_std_free().


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-20 22:13:44 +00:00
Kinsey Moore
0b36c21dfd AMI Docs: Fix Status channel parameter optionality
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-19 19:38:59 +00:00
George Joseph
1c10309a66 func_config: Change 'Not Found' message from ERROR to DEBUG
When you call the CONFIG dialplan function with the name of a variable that
doesn't exist in the target context you get an ERROR.  This does nothing but
clutter up the logs with messages that may be perfectly acceptable.  Just
because a variable wasn't in the context doesn't mean it's an error.  Maybei
t's optional or just needs to be defaulted or ignored.

This patch changes the log level from ERROR to DEBUG.  If a dialplan developer
wants to debug their dialplan they still canby setting the console debug level 
as needed.

Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3919/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-18 20:14:32 +00:00
Matthew Jordan
b48faf9716 apps/app_dial: Fix Dial 'z' option
The 'z' option is supposed to disable the dial timeout in the case of a call
forward. Unfortunately, the wrong timeout timer was passed to the do_forward
function, resulting in the option not working.

ASTERISK-24225 #close
Reported by: dimitripietro
Tested by: dimitripietro
patches:
  jira_asterisk_24225_v1.8.patch uploaded by rmudgett (License 5621)
  jira_asterisk_24225_v11.patch uploaded by rmudgett (License 5621)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-17 23:06:29 +00:00
Matthew Jordan
9b92042c17 configure: Undefine FORTIFY_SOURCE prior to defining it for patched gcc
Some distributions of Linux patch gcc to define FORTIFY_SOURCE when gcc is
executed with optimization. This "help" unfortunately results in re-definition
warnings when FORTIFY_SOURCE is later defined in Asterisk's build system. This
patch undefines FORTIFY_SOURCE prior to defining it to prevent this warning.

Review: https://reviewboard.asterisk.org/r/3912/

ASTERISK-24032 #close
Reported by: Kilburn
Tested by: Kilburn, wdoekes
patches:
  1.8.diff uploaded by cloos (License 5956)
  10.diff uploaded by cloos (License 5956)
  11.diff uploaded by cloos (License 5956)
  12.diff uploaded by cloos (License 5956)
  13.diff uploaded by cloos (License 5956)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-17 22:31:23 +00:00
Matthew Jordan
5ee6da4cf2 app_voicemail/app: Remove test events that were duplicated by r421059
Moving the test event raised when a file is played back (which occurred in
r421059) broke the ever loving snot out of the voicemail tests. This caused
duplicate test events to get raised, as app_voicemail and main/app were raising
events prior to call ast_streamfile. The voicemail tests did not enjoy getting
multiple events.

Since raising the playback event in ast_streamfile is far more useful to the
vast majority of tests, this patch keeps the call there and simply removes the
extraneous calls that duplicated the event.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-15 14:43:44 +00:00
Matthew Jordan
9c477681f1 main/file: Move test event to emit PLAYBACK event more consistently
This is being done in advance of the test for ASTERISK-23953


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@421059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-14 20:46:29 +00:00
Walter Doekes
6d6c119777 general: Fix memory Corruption in __ast_string_field_ptr_build_va.
If the space left in a stringfield is between 0 and
(alignof(ast_string_field_allocation)-1) adding new data would cause
memory corruption, because we would assume enough space (unsigned
underrun).

Thanks Arnd Schmitter for reporting and finding out the cause!

ASTERISK-23508 #close
Reported by: Arnd Schmitter
Tested by: Arnd Schmitter, JoshE

Review: https://reviewboard.asterisk.org/r/3898/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@420680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-11 10:24:06 +00:00
Walter Doekes
edca0bd412 tcptls: Avoid compiler warning on non-dev-mode.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@420654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-11 09:51:32 +00:00
Richard Mudgett
7153c2c2c5 chan_sip: Replace sip_tls_read() and resolve the large SDP poll issue.
Replace sip_tls_read() and sip_tcp_read() with a single function and
resolve the poll/wait issue with large SDP payloads.

ASTERISK-18345 #close
Reported by: Stephane Chazelas
Patches:
      tcptls_pollv4.diff (license #5835) patch uploaded by Elazar Broad

Review: https://reviewboard.asterisk.org/r/3882/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@420434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-07 21:25:05 +00:00
George Joseph
76d1ae97d4 pbx_lua: fix regression with global sym export and context clash by pbx_config.
ASTERISK-23818 (lua contexts being overwritten by contexts of the same name in
pbx_config) surfaced because pbx_lua, having the AST_MODFLAG_GLOBAL_SYMBOLS
set, was always force loaded before pbx_config.  Since I couldn't find any
reason for pbx_lua to export it's symbols to the rest of Asterisk, I simply
changed the flag to AST_MODFLAG_DEFAULT.  Problem solved.  What I didn't
realize was that the symbols need to be exported not because Asterisk needs
them but because any external Lua modules like luasql.mysql need the base
Lua language APIs exported (ASTERISK-17279).

Back to ASTERISK-23818...  It looks like there's an issue in pbx.c where
context_merge was only merging includes, switches and ignore patterns if
the context was already existing AND has extensions, or if the context was
brand new.  If pbx_lua is loaded before pbx_config, the context will exist
BUT pbx_lua, being implemented as a switch, will never place extensions in
it, just the switch statement.  The result is that when pbx_config loads,
it never merges the switch statement created by pbx_lua into the final
context.

This patch sets pbx_lua's modflag back to AST_MODFLAG_GLOBAL_SYMBOLS and adds
an "else if" in context_merge that catches the case where an existing context
has includes, switchs or ingore patterns but no actual extensions.

ASTERISK-23818 #close
Reported by: Dennis Guse
Reported by: Timo Teräs
Tested by: George Joseph
Review: https://reviewboard.asterisk.org/r/3891/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@420146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-06 16:05:39 +00:00
Rusty Newton
e3ad222bb0 Manager - Improve documentation for manager commands Getvar and Setvar.
The documentation for these commands did not make it clear that they could
accept expressions and functions. Modified to make this clear, but tried
not to be overly explicit.

ASTERISK-21178 #close
Reported by: Rusty Newton
Tested by: Rusty Newton

Review: https://reviewboard.asterisk.org/r/3854


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-04 19:42:24 +00:00
Richard Mudgett
dae78b0892 datastores: Audit ast_channel_datastore_remove usage.
Audit of v1.8 usage of ast_channel_datastore_remove() for datastore memory
leaks.

* Fixed leaks in app_speech_utils and func_frame_trace.

* Fixed app_speech_utils not locking the channel when accessing the
channel datastore list.

Review: https://reviewboard.asterisk.org/r/3859/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-28 18:27:56 +00:00
Richard Mudgett
9e3411a762 features.c: Allow appliationmap to use Gosub.
Using DYNAMIC_FEATURES with a Gosub application as the mapped application
does not work.  It does not work because Gosub just pushes the current
dialplan context, exten, and priority onto a stack and sets the specified
Gosub location.  Gosub does not have a dialplan execution loop to run
dialplan like Macro.

* Made the DYNAMIC_FEATURES application mapping feature call
ast_app_exec_macro() and ast_app_exec_sub() for the Macro and Gosub
applications respectively.

* Backported ast_app_exec_macro() and ast_app_exec_sub() from v11 to
execute dialplan routines from the DYNAMIC_FEATURES application mapping
feature.

NOTE: This issue does not affect v12+ because it already does what this
patch implements.

AST-1391 #close
Reported by: Guenther Kelleter

Review: https://reviewboard.asterisk.org/r/3844/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-25 23:04:09 +00:00
Corey Farrell
0789fefda6 chan_sip: sip_subscribe_mwi_destroy should not call sip_destroy
sip_subscribe_mwi_destroy calls sip_destroy on the reference counted
mwi->call.  This results in the fields of mwi->call being freed, but
mwi->call itself it leaked.  If other code is still using mwi->call
it can cause problems.  This change uses dialog_unref instead, to
balance the ref provided by sip_alloc().

ASTERISK-24087 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3834/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-24 17:55:48 +00:00
Jason Parker
94afd8c438 Don't cause Asterisk to exit if ooh323.conf not found.
(closes issue ASTERISK-23814)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-24 16:47:57 +00:00
Kinsey Moore
912f2287e9 Fix more dev-mode build issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@419129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-22 13:17:45 +00:00
Jonathan Rose
3ee4ecb045 func_uri: URIENCODE/URIDECODE - allow empty strings as argument
Previously these two dialplan functions would issue warnings and
return failure when an empty string is used as the argument. Now
they will not issue a warning and will successfully return an
empty string.

ASTERISK-23911 #close
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/3745/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@418641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-15 17:19:52 +00:00
Corey Farrell
01492e96d9 astobj2: work around REF_DEBUG race which causes out of order log entries
* Update refcounter.py to use delta's to track the current reference count.
* Use result from internal_ao2_ref to write old_refcount to refs_log.

Review: https://reviewboard.asterisk.org/r/3756/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@418504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-13 21:47:06 +00:00
Richard Mudgett
4542181b8a chan_dahdi/sig_pri: Fix type mismatch in the idledial feature's channel creation.
Square pegs in round holes don't work very well.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@418261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-10 01:23:37 +00:00
Richard Mudgett
863e7e528c chan_dahdi: Add inband_on_setup_ack compatibility option.
The new inband_on_setup_ack option causes Asterisk to assume inband audio
may be present when a SETUP_ACKNOWLEDGE message is received.

Q.931 Section 5.1.3 says that in scenarios with overlap dialing, when a
dialtone is sent from the network side, progress indicator 8 "Inband info
now available" MAY be sent to the CPE if no digits were received with the
SETUP.  It is thus implied that the ie is mandatory if digits came with
the SETUP and dialtone is needed.  This option should be enabled, when the
network sends dialtone and you want to hear it, but the network doesn't
send the progress indicator when needed.

NOTE: For Q.SIG setups this option should be enabled when outgoing overlap
dialing is also enabled because Q.SIG does not send the progress indicator
with the SETUP ACK.

The commit -r413714 (AST-1338) which causes this issue was dealing with a
SIP-to-ISDN interoperability issue.

This commit is a merge of the two patches indicated below.

ASTERISK-23897 #close
Reported by: Pavel Troller
Patches:
      pri-4.diff (license #6302) patch uploaded by Pavel Troller
      jira_asterisk_23897_v11.patch (license #5621) patch uploaded by rmudgett

Review: https://reviewboard.asterisk.org/r/3633/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-03 21:38:30 +00:00
Matthew Jordan
904a6b3910 main/untils: Prevent potential infinite loop in ast_careful_fwrite
A loop in ast_careful_fwrite exists that will continually attempt to write to
a file stream, even in the presence of EAGAIN/EINTR errors. However, if a
connection that uses ast_careful_fwrite closes suddenly, ast_careful_fwrite's
call to fflush may return EAGAIN/EINTER along with EOF. A subsequent call to
fflush will return EOF but not clear errno, resulting in an infinite loop.

This patch clears errno after it is detected and handled the loop, such that
any subsequent call to fflush will not get erroneously stuck.

Review: https://reviewboard.asterisk.org/r/3704

ASTERISK-23984 #close
Reported by: Steve Davies
patches:
  fflush_loop_fix uploaded by one47 (License 5012)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417797 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-07-03 11:19:40 +00:00
Matthew Jordan
67a11896e7 chan_sip: be more tolerant of whitespace between attributes in SDP fmtp line
This patch is essentially a backport of a small portion of r397526 from
ASTERISK-21981. In that patch, pass through support and format attribute
negotiation was added for Opus. Part of that included being more tolerant to
whitespace in the fmtp line of an SDP; that part of the patch is being
applied here.

As the author of the backport pointed out, in SDP, the fmtp line is allowed to
include whitespace between attributes. RFC 3267 chapter 8.3 (from 2001)
includes an example for this. This was not removed in the updated RFC 4867 in
2007.

Note that this patch only applies to audio in Asterisk 1.8, which is a bit more
limited in its support for format attributes. It does have limited support for
some codecs, so this patch is still useful in this version.

Review: https://reviewboard.asterisk.org/r/3658

ASTERISK-23916
Reported by: Alexander Traud
patches:
  sdpFMTPspace_Asterisk11.patch uploaded by Alexander Traud (License 6520)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-30 03:20:12 +00:00
Corey Farrell
5386eeda30 Ensure REF_DEBUG records entrys for attempts to ao2_ref an invalid object
This change ensures that __ao2_ref_debug writes to ref_log when given a
non-NULL pointer to an invalid ao2 object.  This is to ensure that we
record any attempt manipulate references of already freed objects.

ASTERISK-23948 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3677/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-27 19:24:20 +00:00
Corey Farrell
d8a04cd816 refcounter.py: prevent use of excessive RAM with large refs logs
When processing a 212MB refs file, refcounter.py used over 3GB of RAM.
This change greatly reduces memory usage in two ways:

* Saving object history in whole lines instead of separated values.
* Not saving normal/skewed/leaked object lists unless they are requested.

ASTERISK-23921 #close
Reported by: Corey Farrell
Review: https://reviewboard.asterisk.org/r/3668/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-27 19:14:42 +00:00
Matthew Jordan
db3d055e38 udptl: Correct FEC to not consider negative sequence numbers as missing
When using FEC, with span=3 and entries=4 Asterisk will attempt to repair
the packet with sequence number 5, as it will see that packet -4 is
missing. The result is Asterisk sending garbage packets that can kill a
fax.

This patch adds a check to see if the sequence number is valid before
checking if the packet is missing.

Review: https://reviewboard.asterisk.org/r/3657/

ASTERISK-23908 #close
Reported by: Torrey Searle
patches:
  udptl_fec.patch uploaded by Torrey Searle (License 5334)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@417318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-06-26 12:21:27 +00:00