Commit Graph

21714 Commits

Author SHA1 Message Date
Walter Doekes
546e7517c5 Minor cleanup in chan_sip get_msg_text() function.
In r116240, get_msg_text() got an extra parameter to fix the unwanted
addition of trailing newlines to SIP MESSAGE bodies. This caused all
linefeeds to be trimmed, which isn't right either. This is a stop-gap;
the right fix is to return the original SIP request body.

Review: https://reviewboard.asterisk.org/r/1586
Reviewed by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@346147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 20:15:00 +00:00
Walter Doekes
38e0ec57ee Fix ast_str_truncate signedness warning and documentation.
Review: https://reviewboard.asterisk.org/r/1594


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@346144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 19:53:58 +00:00
Kinsey Moore
c4b7983866 Fix res_jabber resource leaks
This should fix almost all resource leaks in res_jabber that involve
ASTOBJ_CONTAINER_FIND and resolves an ambiguous situation where
ast_aji_get_client would sometimes bump an object's refcount and sometimes not.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@346086 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 17:12:46 +00:00
Terry Wilson
ac656bc6fe Resume playing existing hold music for cached realtime MOH
As a result of the fix for ASTERISK-18039, realtime caching MOH no longer
properly resumes playing back a file between different holds in the same call.
This is because scanning for new files causes the existing file array to be
emptied and we were just comparing that the saved pointer to the filename
matched the pointer to the filename in a particular position in the array. An
easy fix is to save the filename instead of a pointer to it and then do a
strcmp instead of comparing the addresses.

(closes issue ASTERISK-18912)
Review: https://reviewboard.asterisk.org/r/1596/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@346030 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 16:09:09 +00:00
Richard Mudgett
0cb3847615 Fix dnsmgr entries to ask for the same address family each time.
The dnsmgr refresh would always get the first address found regardless of
the original address family requested.  So if you asked for only IPv4
addresses originally, you might get an IPv6 address on refresh.

* Saved the original address family requested by ast_dnsmgr_lookup() to be
used when the address is refreshed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-22 22:55:28 +00:00
Walter Doekes
833c19464f Clarify why the AST_LOG_* macros exist next to the LOG_* macros.
(issue ASTERISK-17973)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-22 20:29:36 +00:00
Terry Wilson
74d9dbb2cb Change nat=yes to nat=force_rport in CHANGES
Fix a small documentation merge issue
ASTERISK-18862


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-21 21:03:32 +00:00
Terry Wilson
da4f0afd6f Default to nat=yes; warn when nat in general and peer differ
It is possible to enumerate SIP usernames when the general and user/peer
nat settings differ in whether to respond to the port a request is sent
from or the port listed for responses in the Via header. In 1.4 and 1.6.2,
this would mean if one setting was nat=yes or nat=route and the other was
either nat=no or nat=never. In 1.8 and 10, this would mean when one was
nat=force_rport and the other was nat=no.

In order to address this problem, it was decided to switch the default
behavior to nat=yes/force_rport as it is the most commonly used option
and to strongly discourage setting nat per-peer/user when at all possible.

For more discussion of the issue, please see:
  http://lists.digium.com/pipermail/asterisk-dev/2011-November/052191.html

(closes issue ASTERISK-18862)
Review: https://reviewboard.asterisk.org/r/1591/
........

Merged revisions 345776 from http://svn.asterisk.org/svn/asterisk/branches/1.4
........

Merged revisions 345800 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-21 20:53:47 +00:00
Tilghman Lesher
cfbd53182f Update the documentation to better clarify how the existing commands work.
Review: https://reviewboard.asterisk.org/r/1593/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-19 15:08:03 +00:00
Richard Mudgett
1dedc40b51 Remove dead code since pri_grab() can never fail.
Dead code makes programmers sick.  I am sick of looking at it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-17 17:06:14 +00:00
Jason Parker
f2a1032d6e Fix documentation of 's' option.
The menu key is #, not *.

Reported by p3nguin on #asterisk.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-17 17:04:05 +00:00
Jonathan Rose
503d5f8912 Guarantee messages go into the right folders with multiple recipients
Before, using the U flag in Voicemail with multiple recipients would put urgent messages
in the INBOX folder for all users past the first thanks to a bug with the message
copying function. This would also cause messages to fail to be sent if the INBOX
directory hadn't been created for that mailbox yet.

(closes issue ASTERISK-18245)
Reported by: Matt Jordan

(closes issue ASTERISK-18246)
Reported by: Matt Jordan

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-16 14:42:18 +00:00
Richard Mudgett
37611b4ecc Make FastAGI HANGUP show up in AGI debug output.
* Change from using send() to ast_agi_send() so the HANGUP shows up in the
AGI debug output.

(closes issue ASTERISK-18723)
Reported by: James Van Vleet
Patches:
      jira_asterisk_18723_v1.8.patch (license #5621) patch uploaded by rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-15 20:09:02 +00:00
Richard Mudgett
d46a92b5b2 Fix typo in sig_pri using wrong structure name.
It is fortunate that the typo does not alter generated code since the
e->restart.channel and e->ring.channel members are in the same position.

(closes issue ASTERISK-18868)
Reported by: zvision
Patches:
      sig_pri.c.diff (License #5755) patch uploaded by zvision


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-15 18:15:23 +00:00
Richard Mudgett
382f4ac06f Make queue log indicate if ADDMEMBER is paused for AMI and realtime.
* Add parameter to queue log ADDMEMBER to indicate if the member is
paused.

(closes issue ASTERISK-18645)
Reported by: garlew
Patches:
      paused.diff (License #5337) patch uploaded by garlew
Tested by: rmudgett, garlew

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345285 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 22:19:18 +00:00
Richard Mudgett
f435f45c50 Restore SIP DTMF overlap dialing method.
The recent fix for ASTERISK-17288 to get RFC3578 SIP overlap support
working correctly removed a long standing ability to do overlap dialing
using DTMF in the early media phase of a call.

See ASTERISK-18702 it has a very good description of the issue.

I started with Pavel Troller's chan_sip.diff patch on issue
ASTERISK-18702.

* Added 'dtmf' enum value to sip.conf allowoverlap config option.  The new
option value causes the Incomplte application to not send anything with
chan_sip so the caller can supply more digits via DTMF.

* Renames SIP_GET_DEST_PICKUP_EXTEN_FOUND to SIP_GET_DEST_EXTEN_MATCHMORE
since that is what it really means.

* Fixed get_destination() inconsistency with the pickup extension
matching.

* Fixed initialization of PAGE3 of global_flags in reload_config().

(closes issue ASTERISK-18702)
Reported by: Pavel Troller

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 21:43:39 +00:00
Richard Mudgett
c2f946d5b8 Fix Progress spelling error in main/pbx.c.
(closes issue ASTERISK-18857)
Reported by: David M
Patches:
      mainpbx-trivial.patch (License #6326) patch uploaded by David M


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 20:45:49 +00:00
Terry Wilson
d12db0c76b Don't read past end of input when calling write()
int blah = 1;
...
write(chan->alertpipe[1], &blah, new_frames * sizeof(blah)) !=
(new_frames * sizeof(blah)))

is only valid when new_frames == 1. Otherwise we start reading into adjacent
variables declared on the stack. The read end discards what is read, so the
values don't matter but it's not a good idea to read past where we want even
though new_frames is almost always 1 and should never be large. This patch is
basically taken out of kpfleming's eventfd branch, as he mentioned that he
remembered fixing it there when I talked to him about this issue.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 19:05:09 +00:00
Walter Doekes
f1762a4633 Update reqresp_parser parse_uri doxygen comments.
The issue mentioned in the bug report had been fixed recently by
twilson. The reporter included this documentation fix.

(closes issue ASTERISK-18572)
Reported by: Richard Miller
Patch by: Richard Miller (modified)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345160 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 19:00:28 +00:00
Kinsey Moore
4fcd52bc88 Ensure that a null vmexten does not cause a segfault
When sip_send_mwi_to_peer was modified recently to avoid deadlocks, vmexten
was not expected to be null.  This change handles that situation to avoid
a segfault.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 15:08:12 +00:00
Jonathan Rose
2fce36ad6b Moves voicemail setup password entry to the end of the setup process.
This change was made because forcegreeting and forcename settings in voicemail could be
circumvented by hanging up after entering a password, because the only way voicemail
currently observes whether a mailbox is new or not is by checking to see if the password
is the same as the mailbox number or not.

(closes issue ASTERISK-18282)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/1581/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@345062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-14 15:00:05 +00:00
Gregory Nietsky
443bb154f8 mISDN Round Robin break when no channel is available
Prevent channels been parsed repetitively.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344965 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-12 16:05:45 +00:00
Terry Wilson
6c27911d5b Don't forget to rescan MOH files for cached realtime classes
Realtime MOH class caching was implemented because without it, you would build
a completely new MOH class and would start the music over at the beginning each
time hold was pressed in a conversation. Unfortunately, this broke re-scanning
for file changes for realtime MOH classes. This patch corrects that issue.

(closes issue ASTERISK-18039)
Review: https://reviewboard.asterisk.org/r/1579/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-12 00:24:43 +00:00
Walter Doekes
8300072569 Use __alignof__ instead of sizeof for stringfield length storage.
Kevin P Fleming suggested that r343157 should use __alignof__ instead
of sizeof. For most systems this won't be an issue, but better fix it
now while it's still fresh.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 21:54:47 +00:00
Walter Doekes
0b3270601a Remove unneeded if(params) checks in reqresp_parser.
Nick Lewis added them in https://reviewboard.asterisk.org/r/549/diff/1-2/
for no apparent reason. There is no way that params could become NULL in
that piece of code, so I removed these excess checks again.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 21:33:13 +00:00
Walter Doekes
5a32aae339 Fix bad quoting of multiline mxml opaque_data that caused invalid xml.
The opaque_data was added and enclosed in single quotes, assuming it
would be only a single line. The rest of the lines were appended after
the closing quote.

(closes issue ASTERISK-18852)
Reported by: peep_ on IRC

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 21:21:58 +00:00
Matthew Jordan
b3bf126033 Video format was treated as audio when removed from the file playback scheduler
This patch fixes the format type check in ast_closestream and 
filestream_destructor.  Previously a comparison operator was used, but since
audio formats are no longer contiguous (and AST_FORMAT_AUDIO_MASK includes
formats that have a value greater than the video formats), a bitwise AND
operation is used instead.  Duplicated code was also moved to filestream_close.

(closes issue ASTERISK-18682)
Reported by: Aldo Bedrij
Tested by: Matt Jordan

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 20:42:56 +00:00
Kinsey Moore
5d102d9ee9 Fix regression introduced by SDP fixups
If capability is adjusted when switching to UDPTL during fax transmission, fax
teardown fails.  Make sure capability is only touched if RTP is active.  This
regression was introduced in R344385.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 20:10:58 +00:00
Richard Mudgett
85970b9b3b Check sip.conf maxforwards parameter for range 1 <= x <= 255.
JIRA AST-710


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344715 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 18:35:09 +00:00
Richard Mudgett
5ff41e6582 Make CLI "core show channel" not hold the channel lock during console output.
Holding the channel lock while the CLI "core show channel" command is
executing can slow down the system.  It could block the system if the
console output is halted or paused.

* Made capture the CLI "core show channel" output into a buffer to be
output after the channel is unlocked.

* Removed use of C++ keyword as a variable name.  out renamed to obuf.

* Checked allocation of obuf for failure so will not crash.

(closes issue ASTERISK-18571)
Reported by: Pavel Troller
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 17:56:51 +00:00
Jonathan Rose
55e8d5b380 Fix a segmentation fault when using an extension with CID matching and no CID.
Attempting to call an extension which used Caller ID matching with a channel that
has an empty caller id string would result in a segmentation fault.

(closes issue ASTERISK-18392
Reported By: Ales Zelenik


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-11 15:21:50 +00:00
Richard Mudgett
0eda1315b5 Fix potential deadlock calling ast_call() with channel locks held.
Fixed app_queue.c:ring_entry() calling ast_call() with the channel locks
held.  Chan_local attempts to do deadlock avoidance in its ast_call()
callback and could deadlock if a channel lock is already held.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 22:59:22 +00:00
Richard Mudgett
54f41f2141 Make AMI event AgentCalled get CallerID/ConnectedLine info from the incoming channel.
It was strange that the AgentCalled AMI event would get most of its
information from the incoming channel but then get the CallerID
information from the outgoing channel.  Before connected line support was
added, this information was always the same at this point.

(closes issue ASTERISK-18152)
Reported by: Thomas Farnham
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 22:34:11 +00:00
Kinsey Moore
b17a694234 Fix another incorrect case with meetme's PIN logic and add documentation
This fixes an issue where a user of a dynamic conference was asked for a PIN
twice.  This also adds documentation to assist in future modifications to the
piece of code responsible for PIN checking.

(closes issue AST-670)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 21:14:11 +00:00
Kinsey Moore
47cff21b6d Fix several bugs with SDP parsing and well-formedness of responses
Fix bug ASTERISK-16558 which dealt with the order of responses to incoming
streams defined by SDP.

Fix unreported bug where offering multiple same-type streams would cause
Asterisk to reply with an incorrect SDP response missing one or more streams
without a proper declination.

Fix bugs related to a single non-audio stream being offered with responses
requesting codecs that were not offered in the initial invite along with an
additional audio stream that was not in the initial invite.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 18:12:43 +00:00
Matthew Nicholson
b4ad988a5a only attempt to do stun handling on ipv4 or ipv4 mapped to ipv6 addresses
Patch by: jkonieczny (modified)
ASTERISK-18490


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 16:18:04 +00:00
Richard Mudgett
ae5c675720 Fix deadlock during dialplan reload.
Another deadlock between the conlock/hints and channels/channel locking
orders.

* Don't hold the channel and private lock in sip_new() when calling
ast_exists_extension().

(closes issue ASTERISK-18740)
Reported by: Byron Clark
Patches:
      sip_exists_exten_dlock_3.diff (license #5041) patch uploaded by Gregory Hinton Nietsky
      ASTERISK-18740.patch (license #6157) patch uploaded by Byron Clark
Tested by: Byron Clark


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 20:37:53 +00:00
Terry Wilson
a2a11ee737 Don't treat a host:port string as a domain
The domain matching code prior to 1.8 used to manually remove the port
from the host:port string when determining if an incoming request
matched the list of domains. When switching to the new parsing
functions, the documentation implied that the "domain" was being
returned by these functions, when instead it was returning the
"hostport" as defined by RFC 3261. This led to confusion and resulted
in 1.8+ rejecting an incoming request from x.x.x.x:xxxxx when
domain=x.x.x.x was set in sip.conf.

This patch renames the "domain" variables in the parsing functions to
"hostport" to more accurately describe what it is that they are
returning and also properly truncates the resulting hostport strings
when dealing with domain matching.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344215 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 19:57:04 +00:00
Alexandr Anikin
1aa6f26827 (closes issue ASTERISK-18748)
Reported by: Fabrizio Lazzaretti
Patches:
      ASTERISK-18748-5.patch (License #5415) patch uploaded by may213
Tested by: Fabrizio Lazzaretti



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 18:42:17 +00:00
Terry Wilson
10b738b7a3 Add a unit test for ast_sockaddr_split_hostport
Review: https://reviewboard.asterisk.org/r/1575/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 18:38:17 +00:00
Kinsey Moore
8e2a8d16df Fix pin parameter behavior regression in MeetMe
The last time this code was touched (by me), a subtlety was missed based on the
difference between needing to check a pin's validity and the need to prompt
for a pin.

(closes issue ASTERISK-18488)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 17:13:53 +00:00
Matthew Nicholson
8fafc72733 don't call ltohl() twice on the same value
ASTERISK-18739
Patch by: pawel (modified)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 15:25:33 +00:00
Walter Doekes
833185c958 Fix crash when dialplan remove include is called with too few arguments.
"dialplan remove include x from y" crashed when the amount of arguments
was less than 6.

(closes issue ASTERISK-18762)
Reported by: Andrey Solovyev
Tested by: Andrey Solovyev


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 19:25:05 +00:00
Richard Mudgett
d63e58203a Fixed reference to incorrect variable if unknown host configured crash.
* Fixed a LOG_ERROR message referencing the config variable list v that
had previously been processed and became NULL.

* Added error return value set that was missing in an ast_append_ha()
error return path.

(closes issue ASTERISK-18743)
Reported by: Michele
Patches:
      issueA18743-fix_dynamic_exclude_static_bad_host_log.patch (license #5674) patch uploaded by Walter Doekes
Tested by: Michele


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 17:58:21 +00:00
Leif Madsen
c17dc2fe78 Fix boo-boo in prep_tarball script.
A hardcoded a branch number was in the prep_tarball which could not work. Changed
it to the  variable.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-08 13:26:03 +00:00
Matthew Nicholson
59f002fd67 respect case changes in peer names on sip reload
ASTERISK-18669


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:40:51 +00:00
Richard Mudgett
71769a3245 Fix __sip_subscribe_mwi_do() incorectly changing dialogs hash key callid.
Changing an object value used as a container key requires removing the
object from the container and reinserting it.

* Created change_callid_pvt() to call instead of build_callid_pvt().  The
change_callid_pvt() will correctly change the dialog callid so the ao2
conainter can explicitly unlink it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 21:13:21 +00:00
Kinsey Moore
dc3ca68670 Prevent BLF subscriptions from causing deadlocks
Fix a locking inversion in sip_send_mwi_to_peer that was causing deadlocks.
This function now requires that both the peer and associated pvt be unlocked
before it is called for cases where peer and peer->mwipvt form a circular
reference.

(closes issue ASTERISK-18663)
Review: https://reviewboard.asterisk.org/r/1563/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 20:27:38 +00:00
Richard Mudgett
3864c4083c Fix deadlock if peer is destroyed while sending MWI notice.
A dialog cannot be destroyed by the ao2_callback dialog_needdestroy
because of a deadlock between the dialogs container lock and the RWLOCK of
the events subscription list.

* Create dialogs_to_destroy container to hold dialogs that will be
destroyed.

* Ensure that the event subscription callback will never happen with an
invalid peer pointer by making the event callback removal the first thing
in the peer destructor callback.

(closes issue ASTERISK-18747)
Reported by: Gregory Hinton Nietsky

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-07 19:36:56 +00:00
Walter Doekes
d5238279e7 Fix sqlite config driver segfault and broken queries
The sqlite realtime handler assumed you had a static config configured
as well. The realtime multientry handler assumed that you weren't using
dynamic realtime.

(closes issue ASTERISK-18354)
(closes issue ASTERISK-18355)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 20:26:19 +00:00