Commit Graph

21743 Commits

Author SHA1 Message Date
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
Richard Mudgett
6766269558 Remove invalid flag given to iterator in func_dialgroup.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 19:56:37 +00:00
Alexandr Anikin
fc52d0af86 Final fix memleaks in GkClient codes, same for Timer codes.
(these memleaks stop development of gk codes, now i can continue)
Fix printHandler 'Unbalanced Structure' issues with locking printHandler
data for single thread.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 16:15:58 +00:00
Terry Wilson
702726c917 Make room for the fax detect flags
The original REGISTERTRYING flag, in addition to being impossible to
check, also encroached on the space for the flag above it. This
patch moves the flags that were below REGISTERTRYING back to where
they were as though we had just removed the REGISTERTRYING option.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-03 15:33:37 +00:00
Terry Wilson
5844133aba Remove registertrying option in chan_sip
This option is not only useless, but has been broken since inception since
the flag was never copied from the peer where it is set to the pvt where
it was checked. RFC 3261 specificially states that you should not send a
provisional response to a non-INVITE request, and if we did fix the code
so that it worked, it would cause the same kind of user enumeration
vulnerability that we've discussed with the nat= setting. This patch
removes registertrying option and any code that would have sent a 100
response to a register.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 22:59:36 +00:00
Walter Doekes
fb50c1db4b Fix improper warning introduced by r342927 and more tweaks
Changeset r342927 introduced a warning which was only supposed to be
emitted when a found realtime peer had an empty (or no) name. It turned
out that there were some inconsistencies left. Now found peers with an
empty name are explicitly ignored like before r342927 but better.

Reviewed by: Stefan Schmidts, Terry Wilson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 22:21:40 +00:00
Walter Doekes
8ce51a7b75 Ensure that string field lengths are properly aligned
Integers should always be aligned. For some platforms (ARM, SPARC) this
is more important than for others. This changeset ensures that the
string field string lengths are aligned on *all* platforms, not just on
the SPARC for which there was a workaround. It also fixes that the
length integer can be resized to 32 bits without problems if needed.

(closes issue ASTERISK-17310)
Reported by: radael, S Adrian
Reviewed by: Tzafrir Cohen, Terry Wilson
Tested by: S Adrian

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 21:32:46 +00:00
Leif Madsen
53c1ecd8ea Add note about how Authenticate() application with option 'd' works.
(closes issue ASTERISK-17422)
Reported by: Leif Madsen

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 19:32:39 +00:00
Leif Madsen
85f4b075f5 Update documentation for leastrecent strategy.
In queues.conf.sample the leastrecent strategy was incorrectly described. Now updated
to reflect how the strategy actually checks peers.

(closes issue ASTERISK-17854)
Reported by: Sebastian Denz
Patches:
     queues.conf-doc_issue.patch (License #6139)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@343047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 18:09:23 +00:00
Kevin P. Fleming
8daf83a53b Modify comments in MeetMe application documentation about DAHDI.
The MeetMe application documentation has some comments about usage of DAHDI,
and they were a bit outdated relative to modern DAHDI releases. This patch
changes the comment to just tell the user that a functional DAHDI timing
source is required, and no longer mention 'dahdi_dummy', since that module
does not exist in current DAHDI releases.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 13:44:17 +00:00
Walter Doekes
ab2dacb555 Several fixes to the chan_sip dynamic realtime peer/user lookup
There were several problems with the dynamic realtime peer/user lookup
code. The lookup logic had become rather hard to read due to lots of
incremental changes to the realtime_peer function. And, during the
addition of the sipregs functionality, several possibilities for memory
leaks had been introduced. The insecure=port matching has always been
broken for anyone using the sipregs family. And, related, the broken
implementation forced those using sipregs to *still* have an ipaddr
column on their sippeers table.

Thanks Terry Wilson for comprehensive testing and finding and fixing
unexpected behaviour from the multientry realtime call which caused
the realtime_peer to have a completely unused code path.

This changeset fixes the leaks, the lookup inconsistenties and that
you won't need an ipaddr column on your sippeers table anymore (when
you're using sipregs). Beware that when you're using sipregs, peers
with insecure=port will now start matching!

(closes issue ASTERISK-17792)
(closes issue ASTERISK-18356)
Reported by: marcelloceschia, Walter Doekes
Reviewed by: Terry Wilson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342927 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-01 20:53:37 +00:00
Walter Doekes
68b523463d Cleanup references to sipusers and sipfriends dynamic realtime families
Somewhere between 1.4 and 1.8 the sipusers family has become completely
unused. Before that, the sipfriends family had been obsoleted in favor
of separate sipusers and sippeers families. Apparently, they have been
merged back again into a single family which is now called "sippeers".

Reviewed by: irroot, oej, pabelanger

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-01 19:37:47 +00:00
Matthew Jordan
8765a80355 Fixed invalid memory access when adding extension to pattern match tree
When an extension is removed from a context, its entry in the pattern match
tree is not deleted.  Instead, the extension is marked as deleted.  When an
extension is removed and re-added, if that extension is also a prefix of
another extension, several log messages would report an error and did not
check whether or not the extension was deleted before accessing the memory.
Additionally, if the extension was already in the tree but previously
deleted, and the pattern was at the end of a match, the findonly flag was
not honored and the extension would be erroneously undeleted.  

Additionaly, it was discovered that an IAX2 peer could be unregistered
via the CLI, while at the same time it could be scheduled for unregistration
by Asterisk.  The unregistration method now checks to see if the peer
was already unregistered before continuing with an unregistration.

(closes issue ASTERISK-18135)
Reported by: Jaco Kroon, Henry Fernandes, Kristijan Vrban
Tested by: Matt Jordan

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




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-31 15:58:06 +00:00
Richard Mudgett
2ae86be1f2 Fix AST_LIST_INSERT_BEFORE_CURRENT() updating the wrong variable.
AST_LIST_INSERT_BEFORE_CURRENT() could not be used twice in an iteration
or before AST_LIST_REMOVE_CURRENT() without corrupting the list.
AST_LIST_INSERT_BEFORE_CURRENT() could also corrupt the list if
AST_LIST_INSERT_BEFORE_CURRENT() or AST_LIST_REMOVE_CURRENT() is used on
the next iteration.

* Fixed cut and paste error using the wrong variable in
AST_LIST_INSERT_BEFORE_CURRENT().

* Added linked list unit tests for AST_LIST_INSERT_BEFORE_CURRENT(),
AST_LIST_APPEND_LIST(), and AST_LIST_INSERT_LIST_AFTER().


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-29 04:19:42 +00:00
Jonathan Rose
16c9d2231b Fix sequence number overflow over 16 bits causing codec change in RTP packets.
Sequence number was handled as an unsigned integer (usually 32 bits I think, more
depending on the architecture) and was put into the rtp packet which is basically
just a bunch of bits using an or operation. Sequence number only has 16 bits
allocated to it in an RTP packet anyway, so it would add to the next field which
just happened to be the codec. This makes sure the sequence number is set to be
a 16 bit integer regardless of architecture (hopefully) and also makes it so the
incrementing of the sequence number does bitwise or at the peak of a 16 bit number
so that the value will be set back to 0 when going beyond 65535 anyway.

(closes issue ASTERISK-18291)
Reported by: Will Schick
Review: https://reviewboard.asterisk.org/r/1542/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-27 19:34:29 +00:00
Jonathan Rose
dffe914c06 Cleanup reference leaks in res_jabber
res_jabber.c had a number of places where astobjs would be referenced and have their
reference counts bumped without having a dereference made before the object lost scope.
This patch adds a number of ASTOBJ_UNREFs to resolve that.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-27 13:58:21 +00:00
Richard Mudgett
d109a3973b Check fopen return value for ao2 reference debug output.
Reported by: wdoekes
Patched by: wdoekes

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 22:04:59 +00:00
Richard Mudgett
bcdf507f3c Change D-channel warning to be less confusing on non-NFAS setups.
The "No D-channels available!  Using Primary channel as D-channel anyway!"
WARNING message has been confusing on non-NFAS setups.  The message refers
to things that are NFAS specific.

* Changed the warning to several different warnings to be more accurate
for the situation and less confusing as a result:
"No D-channels up!  Switching selected D-channel from X to Y.",
"No D-channels up!", and
"D-channel is down!".


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 21:45:54 +00:00
Terry Wilson
e9dc0ae56d Use int for storing ao2_container_count instad of size_t
AST-676


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 21:08:23 +00:00
Terry Wilson
33f73e2ae2 Simplify queue membercount code
Despite an ominous sounding comment stating that membercount was for "logged
in" members only and thus we couldn't use ao2_container_count(), I could not
find a single place in the code where that seemed to be accurate. The only time
we decremented membercount was when we were marking something dead or actually
removing it. The only places we incremented it were either after ao2_link(), or
trying to correct for having set it to 0 during a reload. In every case where
we were correcting the value, it seemed that we were trying to make the count
actually match what ao2_container_count() would return. The only place I could
find where we made a determination about something being "logged in" or not, we
didn't trust the membercount, but instead looked at devicestate, paused, etc.

This patch removes membercount, replaces its use with ao2_container_count, and
manually adds the results of ao2_container_count to a "membercount" field for
ast_data queue query results. This patch also would fix AST-676, but as it is
slightly riskier than the previously committed fix, the two commits have been
made separately.

Reivew: https://reviewboard.asterisk.org/r/1541/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 20:02:55 +00:00
Terry Wilson
f927ef5571 Properly update membercount for reloaded members
Since q->membercount is set to 0 before reloading, it is important
to increment it again for reloaded members as well as added.

(closes issue AST-676)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 19:52:16 +00:00
Kinsey Moore
5ee32dfa2c Fix compilation on Snow Leopard/FreeBSD for pbx_spool.c
One of the changes in the recent spool handling of hardlinks patch was just
outside a HAVE_INOTIFY block and caused compilation to fail in some build
environments.  This has been corrected.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-25 19:08:04 +00:00