Commit Graph

129 Commits

Author SHA1 Message Date
Jonathan Rose
240f7e9e73 test_linkedlists: Fix memory leak
(issue ASTERISK-22467)
Reported by: Corey Farrell
Patches:
    test_linkedlists-1.8.patch uploaded by coreyfarrell (license 5909)
    test_linkedlists-11up.patch uploaded by coreyfarrell (license 5909)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@401790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-24 19:54:14 +00:00
Jonathan Rose
9ec4719027 memory leaks: Memory leak cleanup patch by Corey Farrell (first set)
(issue ASTERSIK-22467)
Reported by: Corey Farrell
Patches:
    chan_sip-parse_contact_header_test-free-contacts.patch uploaded by coreyfarrell (license 5909)
    cli-filename-completion-leak.patch uploaded by coreyfarrell (license 5909)
    func_math.patch uploaded by corefarrell (license 5909)
    main-test-cleanup.patch uploaded by coreyfarrell (license 5909)
    test_dlinklists.patch uploaded by coreyfarrell (license 5909)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@401660 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-10-23 19:35:59 +00:00
Richard Mudgett
287689849c test_substituition: Fix failed test reporting to actually report failure.
You cannot put the "Testing <blah> pass/fail" on a single line before
actually performing the test.  Now any additional failure information is
logged before the test pass/fail announcement.

* Added an additional CDR(answer,u) test.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@398018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-30 16:46:52 +00:00
Joshua Colp
0ea78acf7e Tweak comment for why usleep is used.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@396656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-14 19:05:41 +00:00
Joshua Colp
4f11241f70 Tweak test_hashtab_thrash test to allow the critical threads to execute.
Depending on certain conditions it was possible for the hashtab counting thread
to starve other threads, preventing them from executing in the expected fashion.
This change adds a sleep to allow the others to do what they need to do. While
this doesn't thrash the hashtab as much as previously, it at least works.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@396619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-14 18:07:37 +00:00
David M. Lee
c5aee60db5 Fix XML encoding of 'identity display' in NOTIFY messages.
XML encoding in chan_sip is accomplished by naively building the XML
directly from strings. While this usually works, it fails to take into
account escaping the reserved characters in XML.

This patch adds an 'ast_xml_escape' function, which works similarly to
'ast_uri_encode'. This is used to properly escape the local_display
attribute in XML formatted NOTIFY messages.

Several things to note:
 * The Right Thing(TM) to do would probably be to replace the
   ast_build_string stuff with building an ast_xml_doc. That's a much
   bigger change, and out of scope for the original ticket, so I
   refrained myself.
 * It is with great sadness that I wrote my own ast_xml_escape
   function. There's one in libxml2, but it's knee-deep in
   libxml2-ness, and not easily used to one-off escape a
   string.
 * I only escaped the string we know is causing problems
   (local_display). At least some of the other strings are
   URI-encoded, which should be XML safe. Rather than figuring out
   what's safe and escaping what's not, it would be much cleaner to
   simply build an ast_xml_doc for the messages and let the XML
   library do the XML escaping. Like I said, that's out of scope.

(closes issue ABE-2902)
Reported by: Guenther Kelleter
Tested by: Guenther Kelleter
Review: http://reviewboard.digium.internal/r/365/

........

Merged revision 378919 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@378933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-12 06:26:34 +00:00
David M. Lee
fe1ea0d38e Migrate hashtest/hashtest2 to be unit tests.
Both hashtest and hashtest2 are manual testing apps that thrash hash
tables (hashtab and ao2 containers, respectively), by spinning up
several threads that randomly insert, delete, lookup and iterate over
the hash table. If the app doesn't crash, the hash table probably passes
the test. Those utils are not a part of the typical Asterisk build, so
they do not usually get compiled. This all makes them less that useful.

This patch removes those manual test programs and replaces them with
Asterisk unit test modules (test_{hashtab,astobj2}_thrash.so). It also
attempts to make the tests more deterministic.

* Rather than spinning up some number of threads that operate on the
  hash table randomly, spin up four threads that concurrenly add,
  remove, lookup and iterate over the hash table.
* Each thread checks the state of the hash table both during and after
  execution, and indicates a test failure if things are not as expected.
* Each thread times out after 60 seconds to prevent deadlocking the unit
  test run.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@376306 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-15 22:27:37 +00:00
Sean Bright
509c3ebaf7 app_queue: Support persisting and loading of long member lists.
Greenlight in #asterisk brought up that he was receiving an error message "Could
not create persistent member string, out of space" when running app_queue in
Asterisk 10.  dump_queue_members() made an assumption that 8K would be enough to
store the generated string, but with queues that have large member lists this is
not always the case.  This patch removes the limitation and uses ast_str instead
of a fixed sized buffer.

The complicating factor comes from the fact that ast_db_get requires a buffer
and buffer size argument, which doesn't let us pull back more than what we pass
in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d
copy of the value from astdb.

As an aside, I did some testing on the maximum size of data that we can store in
the BDB library we distribute and was able to store a 10MB string and retrieve
it with no problems, so I feel this is a safe patch.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@374108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-01 16:45:53 +00:00
Kinsey Moore
377caa7fb1 Clean up and ensure proper usage of alloca()
This replaces all calls to alloca() with ast_alloca() which calls gcc's
__builtin_alloca() to avoid BSD semantics and removes all NULL checks
on memory allocated via ast_alloca() and ast_strdupa().

(closes issue ASTERISK-20125)
Review: https://reviewboard.asterisk.org/r/2032/
Patch-by: Walter Doekes (wdoekes)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@370642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-31 19:31:42 +00:00
Richard Mudgett
4547358e75 Fix type punned compiler warning in test_config.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@365476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-07 18:40:35 +00:00
Terry Wilson
f0eb58d0d5 Fix ast_parse_arg numeric type range checking and add tests
ast_parse_arg wasn't checking for strto* parse errors or limiting
the results by the actual range of the numeric types. This patch fixes
that and adds unit tests as well.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@364340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-27 21:45:15 +00:00
Michael L. Young
e49fcbcb04 Add leading and trailing backslashes
A couple of unit tests did not have have leading or trailing backslashes when
setting their test category resulting in a warning message being displayed.
Added the backslash where needed.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@362680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-19 21:05:54 +00:00
Terry Wilson
7622a34c89 Make hints for invalid SIP devices return Unavail, not idle
This patch drastically simplifies the device state aggegation code.
The old method was not only overly complex, but also made it impossible
to return AST_DEVICE_INVALID from the aggregation code. The unit test
update is as a result of fixing that bug.

The SIP change stems from a bug introduced by removing a DNS lookup
for hostname-based SIP channels.

(closes issue ASTERISK-16702)
Review: https://reviewboard.asterisk.org/r/1808/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@358943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-13 19:51:23 +00:00
Tilghman Lesher
2477215dd4 Enable macros in 1.8 to find the next highest "h" extension in a context, like in 1.4.
This change restores functionality that was present in 1.4, when AEL macros
were implemented with the Macro dialplan application.  Macros are fraught with
functionality issues, because they consume a large portion of the underlying
application stack.  This limits the ability of AEL users to call many layers
of subroutines, an issue which Gosub does not have (originally tested to
100,000 levels deep).  Therefore, starting in 1.6.0, AEL macros were
implemented with Gosub.

However, there were some implicit behaviors of Macro, which were not replicated
at the same time as with the transition to Gosub, one of which is documented in
the related issue.  In particular, the "h" extension is designed to execute not
in the Macro context, but in the topmost calling context.  Due to legacy issues
with a misapplied bugfix many years ago, when a macro exited in 1.4, it looks
in all calling contexts, bubbling up from the deepest level until it finds an
"h" extension.

Since AEL hides the complexity of the underlying dialplan logic from the AEL
programmer, it's reasonable to assume that this behavior should not change in
the transition from Asterisk 1.4 LTS to Asterisk 1.8 LTS, lest we break
working AEL configurations in the transition to Asterisk 1.8 LTS.  This fix
is the result, which implements a search for the "h" extension in all calling
Gosub contexts.

Fixes ASTERISK-19336

Patch: 20120308__ael_bugfix_for_trunk__2.diff (License #5003) by Tilghman Lesher
	(with slight modifications for 1.8)

Tested by: Johan Wilfer

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@358810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-13 07:44:23 +00:00
Kinsey Moore
f1277cc0e0 Fix case-sensitivity for device-specific event subscriptions and CCSS
This change fixes case-sensitivity for device-specific subscriptions such that
the technology identifier is case-insensitive while the remainder of the device
string is still case-sensitive.  This should also preserve the original case of
the device string as passed in to the event system.  CCSS is the only feature
affected as it is the only consumer of device-specific event subscriptions.

The second part of this patch addresses similar case-sensitivity issues within
CCSS itself that prevented it from functioning correctly after the fix to the
events system.

This adds a unit test to verify that the event system works as expected.

(closes issue ASTERISK-19422)
Review: https://reviewboard.asterisk.org/r/1780/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@357940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-02 21:02:21 +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
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
Paul Belanger
85e96b0b7a Test modules should depend on the TEST_FRAMEWORK flag
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 21:12:21 +00:00
Jason Parker
23acd67877 Test modules have a support level of core.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-29 20:54:13 +00:00
Jason Parker
529ab3ad50 Add support levels to non-module sections of menuselect (cflags, utils, etc).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@338227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-28 20:52:47 +00:00
Richard Mudgett
f2e1640435 Fix deadlock when using dummy channels.
Dummy channels created by ast_dummy_channel_alloc() should be destoyed by
ast_channel_unref().  Using ast_channel_release() needlessly grabs the
channel container lock and can cause a deadlock as a result.

* Analyzed use of ast_dummy_channel_alloc() and made use
ast_channel_unref() when done with the dummy channel.  (Primary reason for
the reported deadlock.)

* Made app_dial.c:dial_exec_full() not call ast_call() holding any channel
locks.  Chan_local could not perform deadlock avoidance correctly.
(Potential deadlock exposed by this issue.  Secondary reason for the
reported deadlock since the held lock was part of the deadlock chain.)

* Fixed some uses of ast_dummy_channel_alloc() not checking the returned
channel pointer for failure.

* Fixed some potential chan=NULL pointer usage in func_odbc.c.  Protected
by testing the bogus_chan value.

* Fixed needlessly clearing a 1024 char auto array when setting the first
char to zero is enough in manager.c:action_getvar().

(closes issue ASTERISK-18613)
Reported by: Thomas Arimont
Patches:
      jira_asterisk_18613_v1.8.patch (license #5621) patch uploaded by rmudgett
Tested by: Thomas Arimont


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-26 19:30:39 +00:00
Kinsey Moore
8a0b9d39e5 Make CANMATCH with the new pattern match engine behave more like the old one
When checking an extension for E_CANMATCH using the new extension matching
algorithm, an exact match was not returned as a possible match resulting in the
queue failing to allow a caller to exit on DTMF.  This removes the requirement
that an extension be longer than acquired digits for an E_CANMATCH operation
to succeed.

(closes issue ASTERISK-18044)
Review: https://reviewboard.asterisk.org/r/1367/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 21:04:11 +00:00
Paul Belanger
1fc32a652e Flag test modules as 'core'
Review: https://reviewboard.asterisk.org/r/1369/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@332176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16 20:10:13 +00:00
Terry Wilson
be2099a976 Fix netsock2 multiple zero-expansion test
Remove erroneous single bracket.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 16:30:26 +00:00
Terry Wilson
fa35b4560f We can't guarantee an eth0 is present
FreeBSD test fails on this case presumably because there is no eth0 on the test
machine. Better to just remove this test for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-20 20:16:58 +00:00
Terry Wilson
d72bfe9db3 Make AST_LIST_REMOVE safer
AST_LIST_REMOVE shouldn't modify the element passed in if it isn't found. This
commit also adds linked list unit tests.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-19 01:35:53 +00:00
Leif Madsen
d4938a111e Introduce <support_level> tags in MODULEINFO.
This change introduces MODULEINFO into many modules in Asterisk in order to show
the community support level for those modules. This is used by changes committed
to menuselect by Russell Bryant recently (r917 in menuselect). More information about
the support level types and what they mean is available on the wiki at
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:13:06 +00:00
Tilghman Lesher
1344d03e6b Use 'printf' (POSIX issue 4) instead of 'echo -n', for portability.
The problem with using 'echo -n' is that it is not portable.  While BSD systems
required that the '-n' option be removed and interpreted, System V required
that all strings should be echoed with no interpretation of options.  This
fundamental difference of behavior means that it is never possible to use the
'-n' flag to echo in tests which are meant to be portable.

In this case, on Mac OS X 10.6, the /bin/sh shell builtin 'echo' uses the
System V semantics of the command, and thus the SHELL test failed on that
platform.

http://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html#tag_04_41_16


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-12 15:35:46 +00:00
Matthew Nicholson
0bc1f651c7 reset our buffer each iteration when doing variable substitution
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11 13:53:59 +00:00
Matthew Nicholson
1fcdb0f58b Reset our ast_str before passing it on to dialplan function backends.
It is possible for a dialplan backend to not modify the given buffer or ast_str
and still return success. This causes any previous value stored in the buffer
to be used as if the new function call provided it. Some functions also append
to the given buffer assuming it is empty.

The test_substitution unit test has also been modified to detect this problem.

(closes issue ASTERISK-17878)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-08 19:52:51 +00:00
Russell Bryant
635a81d58b Fix an error and add more log message info to help see why this fails on FreeBSD.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@327046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-08 16:00:05 +00:00
Terry Wilson
58ff18fbd6 Remove tests for parsing address with invalid port
getaddrinfo on OS X returns with EAI_NONAME error when passed a port
greater than 65535. Linux throws no error, so remove the tests for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-23 03:10:38 +00:00
Terry Wilson
0ada0bfea3 Stop sending IPv6 link-local scope-ids in SIP messages
The idea behind the patch listed below was used, but in a more targeted manner.
There are now address stringification functions for addresses that are meant to
be sent to a remote party. Link-local scope-ids only make sense on the machine
from which they originate and so are stripped in the new functions.

There is also a host sanitization function added to chan_sip which is used
for when peer and dialog tohost fields or sip_registry hostnames are used to
craft a SIP message.

Also added are some basic unit tests for netsock2 address parsing.

(closes issue ASTERISK-17711)
Reported by: ch_djalel
Patches:
      asterisk-1.8.3.2-ipv6_ll_scope.patch uploaded by ch_djalel (license 1251)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-22 18:52:04 +00:00
Richard Mudgett
cf2d1b01be The test_event unit test is occasionally failing.
Wait for the special posted event to process before adding a new
subscription.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 18:12:32 +00:00
Terry Wilson
78705b5922 Remove now-useless cast of ARRAY_LEN
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 20:03:58 +00:00
Terry Wilson
ae4997f3f6 Fix more ARRAY_LEN format string issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 19:45:20 +00:00
Terry Wilson
fcf2c4c6a2 Cast ARRAY_LEN to size_t for ast_logging
32-bit and 64-bit machines return different types for ARRAY_LEN(), so cast
it before using in a format string.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 17:09:51 +00:00
Richard Mudgett
372eec7fcb Add a test to the event unit tests to catch ASTERISK-18002.
The new tests check to see if there are ANY subscribers to the event type
when ast_event_check_subscriber() is not passed any specific ie values.

(issue ASTERISK-18002)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 16:43:31 +00:00
Terry Wilson
7ba8589b33 Add some astdb unit tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 02:33:23 +00:00
Jonathan Rose
5f46b994f4 Adds ast_escape_encoded utility to properly handle escaping of quoted field before uri.
This commit backports a feature in trunk affecting initreqprep so that display name won't
be encoded improperly. Also includes unit tests for the ast_escape_quoted function.
This patch gives 1.8 a much improved outlook in countries which don't use standard
ASCII characters.

(closes issue ASTERISK-16949)
Reported by: Örn Arnarson
Review: https://reviewboard.asterisk.org/r/1235/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 14:06:42 +00:00
Richard Mudgett
779a74b358 Event subscription fixes.
Must commit the subscription fixes together with the integration
subscription tests.  The subscription fixes cause an erroneously passing
test to fail.  The new subscription tests detect errors without the
subscription fixes.

* Added missing event_names[] table entry.

* Reworked ast_event_check_subscriber()/match_sub_ie_val_to_event() to
correctly detect if a subscriber exists for the proposed event.

* Made match_ie_val() and match_sub_ie_val_to_event() check the buffer
length for RAW payload types.

* Fixed error handling memory leak in ast_event_sub_activate(),
ast_event_unsubscribe(), and ast_event_queue().

* Made ast_event_new() and ast_event_check_subscriber() better protect
themselves from an invalid payload type.

* Added container lock protection between removing old cache events and
adding the new cached event in
ast_event_queue_and_cache()/event_update_cache().

* Added new event subscription tests.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 20:58:13 +00:00
Russell Bryant
f3562862e9 Backport an astobj2 unit test so that it runs on 1.8 as well.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 18:32:45 +00:00
Tilghman Lesher
583ca101ad Merged revisions 295062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295062 | tilghman | 2010-11-15 12:24:02 -0600 (Mon, 15 Nov 2010) | 9 lines
  
  Merged revisions 295026 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295026 | tilghman | 2010-11-15 11:58:37 -0600 (Mon, 15 Nov 2010) | 2 lines
    
    Create test verifying results of expression parser
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-15 18:30:13 +00:00
Mark Michelson
fff80bbe00 Prevent multiple runs of event_sub_test from producing false failure results.
The array of test subscriptions was declared "static," meaning that the
data.count field would retain its value between runs of the test. After the
first test run, this would result in false reports of test failures.

I chose to just remove the "static" keyword from the structure since it's not
a huge deal to construct this structure during each run of the test. Another
alternative would have been to zero out the data.count fields of each test
subscription instead.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@292741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-22 17:09:52 +00:00
Tilghman Lesher
f48a6f6cfe More Solaris compatibility fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@289543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-30 17:50:52 +00:00
Tilghman Lesher
e00c4dcc6d Solaris compatibility fixes
Review: https://reviewboard.asterisk.org/r/942/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@289104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-28 18:18:43 +00:00
Tilghman Lesher
f7c710feed Merged revisions 285930 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r285930 | tilghman | 2010-09-09 20:16:32 -0500 (Thu, 09 Sep 2010) | 14 lines
  
  Merged revisions 285889 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r285889 | tilghman | 2010-09-09 19:13:45 -0500 (Thu, 09 Sep 2010) | 7 lines
    
    Fix Mac OS X build.
    
    This also fixes a rather grievous calculation error for the offset of
    ast_fdset, which was masked on Linux and FreeBSD, because these platforms
    check the first 256 FDs regardless of the bitmask setting (due to backwards
    compatibility).
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@285931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-10 01:25:50 +00:00
Tilghman Lesher
6c61e312c6 Merged revisions 284593,284595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines
  
  Merged revisions 284478 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
    
    Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
    
    This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
    a potential crash bug in all supported releases.
    
    (closes issue #17678)
     Reported by: russell
    Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select 
    
    Review: https://reviewboard.asterisk.org/r/824/
  ........
................
  r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines
  
  Failed to rerun bootstrap.sh after last commit
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:00:34 +00:00
Paul Belanger
ece489688e Remove res_crypto dependency.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 18:37:32 +00:00
Paul Belanger
44ebb6b667 crypto_loaded_test depends on res_crypto, else test will fail.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 16:44:22 +00:00