[asterisk-commits] murf: branch murf/datastructs r80466 - in /team/murf/datastructs: ./ apps/ bu...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Aug 23 09:52:14 CDT 2007


Author: murf
Date: Thu Aug 23 09:52:12 2007
New Revision: 80466

URL: http://svn.digium.com/view/asterisk?view=rev&rev=80466
Log:
Merged revisions 79595,79611,79623,79634,79638,79660,79666,79687-79688,79691,79714,79719,79724-79725,79736,79747,79749,79755,79764,79788,79794,79813,79824,79841,79858-79862,79885,79888,79894,79901,79903,79905,79907,79913,79915,79940,79949,79972,79980,79988-79990,79999,80023,80033,80037,80045-80046,80048,80050,80075,80087,80089,80113,80131,80133,80157,80184,80217,80226,80241-80242,80256,80258,80262,80303,80305,80331,80361,80387-80388,80391,80408,80425,80427-80429,80453 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r79595 | murf | 2007-08-15 13:21:27 -0600 (Wed, 15 Aug 2007) | 1 line

This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
................
r79611 | file | 2007-08-15 13:34:42 -0600 (Wed, 15 Aug 2007) | 2 lines

Remove properties that appeared from Steve's last branch merge. Automerge has already run so everyone's branches based off of trunk are probably toast by now.

................
r79623 | tilghman | 2007-08-15 15:25:13 -0600 (Wed, 15 Aug 2007) | 2 lines

Missing from murf's last trunk commit, which was why trunk won't compile

................
r79634 | qwell | 2007-08-15 16:53:45 -0600 (Wed, 15 Aug 2007) | 4 lines

Modify the names of functions/variables in res_musiconhold to be useful.

Closes issue #10464, patch by caio1982

................
r79638 | oej | 2007-08-16 00:52:17 -0600 (Thu, 16 Aug 2007) | 2 lines

Doc change

................
r79660 | crichter | 2007-08-16 03:22:23 -0600 (Thu, 16 Aug 2007) | 9 lines

Merged revisions 79642 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79642 | crichter | 2007-08-16 10:21:21 +0200 (Do, 16 Aug 2007) | 1 line

0x80 + protocol is wrong for USERUSER when we want to send IA5 Chars.
........

................
r79666 | phsultan | 2007-08-16 03:45:22 -0600 (Thu, 16 Aug 2007) | 29 lines

Merged revisions 79665 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79665 | phsultan | 2007-08-16 11:37:10 +0200 (Thu, 16 Aug 2007) | 21 lines

A fix for two critical problems detected while working with Daniel
McKeehan in issue #10184. 

Upon priority change, the resource list is not NULL terminated when
moving an item to the end of the list. This makes Asterisk endlessy
loop whenever it needs to read the list. Jids with different resource and
priority values, like in Gmail's and GoogleTalk's jabber clients put
that problem in evidence.

Upon reception of a 'from' attribute with an empty resource string,
Asterisk crashes when trying to access the found->cap pointer if the
resource list for the given buddy is not empty. This situation is
perfectly valid and must be handled. The Gizmoproject's jabber client
put that problem in evidence.

Also added a few comments in the code as well as a handle for the
capabilities from Gmail's jabber client, which are stored in a caps:c tag
rather than the usual c tag.

Closes issue #10184.

........

................
r79687 | file | 2007-08-16 09:27:33 -0600 (Thu, 16 Aug 2007) | 2 lines

Make conf2ael build on 64-bit systems.

................
r79688 | file | 2007-08-16 09:29:44 -0600 (Thu, 16 Aug 2007) | 6 lines

(closes issue #10467)
Reported by: lunn
Patches:
      pbx_dundi.diff uploaded by lunn (license 179)
Don't print a warning saying an ethernet interface was found when it indeed was.

................
r79691 | mmichelson | 2007-08-16 09:59:15 -0600 (Thu, 16 Aug 2007) | 13 lines

Merged revisions 79690 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79690 | mmichelson | 2007-08-16 10:58:34 -0500 (Thu, 16 Aug 2007) | 5 lines

base_encode is not trying to open a log file, so we should not call it a log file in the warning.

(related to issue #10452, reported by bcnit)


........

................
r79714 | murf | 2007-08-16 10:50:58 -0600 (Thu, 16 Aug 2007) | 1 line

svn did me dirty for some reason. Left 5 files out of the commit; Tilghman copied them in from the branch, but I had made changes to these. Here they are.
................
r79719 | murf | 2007-08-16 11:34:50 -0600 (Thu, 16 Aug 2007) | 1 line

mvanbaak asks: why did you include that twice? Answer: dunno. removed redundant include
................
r79724 | dhubbard | 2007-08-16 11:44:25 -0600 (Thu, 16 Aug 2007) | 1 line

added counter for voicemail show users, issue 10462, thanks junky
................
r79725 | dhubbard | 2007-08-16 12:23:39 -0600 (Thu, 16 Aug 2007) | 1 line

added counter for iax2 show registry CLI output, closes issue 10461, thanks junky
................
r79736 | murf | 2007-08-16 13:40:28 -0600 (Thu, 16 Aug 2007) | 1 line

Many thanks to mvanbaak for his update to translate hints; I added the -d option for local testing purposes. This is from bug 10472
................
r79747 | tilghman | 2007-08-16 15:09:46 -0600 (Thu, 16 Aug 2007) | 2 lines

Don't reload a configuration file if nothing has changed.

................
r79749 | mmichelson | 2007-08-16 15:21:35 -0600 (Thu, 16 Aug 2007) | 16 lines

Merged revisions 79748 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79748 | mmichelson | 2007-08-16 16:16:40 -0500 (Thu, 16 Aug 2007) | 8 lines

Fixes a problem where agents would get stuck busy due to their wrapuptime being longer than the queue's wrapuptime and
ringinuse=no for the queue.

(closes issue #10215, reported by Doug, repaired by me)

Special thanks to fkasumovic for pointing out the source of the problem and to bweschke for helping to come up with a solution!


........

................
r79755 | file | 2007-08-16 15:28:50 -0600 (Thu, 16 Aug 2007) | 2 lines

Fix properties on trunk again.

................
r79764 | russell | 2007-08-16 15:33:38 -0600 (Thu, 16 Aug 2007) | 19 lines

Merged revisions 79756 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79756 | russell | 2007-08-16 16:29:24 -0500 (Thu, 16 Aug 2007) | 11 lines

Fix more deadlocks in chan_iax2 that were introduced by making frame handling
and scheduling multi-threaded.  Unfortunately, we have to do some expensive
deadlock avoidance when queueing frames on to the ast_channel owner of the IAX2
pvt struct.  This was already handled for regular frames, but ast_queue_hangup
and ast_queue_control were still used directly.  Making these changes introduced
even more places where the IAX2 pvt struct can disappear in the context of a
function holding its lock due to calling a function that has to unlock/lock it
to avoid deadlocks.  I went through and fixed all of these places to account for
this possibility.
(issue #10362, patch by me)

........

................
r79788 | russell | 2007-08-16 16:30:39 -0600 (Thu, 16 Aug 2007) | 22 lines

Merged revisions 79778 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79778 | russell | 2007-08-16 17:24:25 -0500 (Thu, 16 Aug 2007) | 14 lines

This patch fixes a bug where reloading the module with "module reload" did not
delete classes from memory that were no longer in the config.  This patch fixes
that problem as well as another one.  Previously, if you reloaded MOH using the
"moh reload" CLI command, which behaved differently than "module reload ...",
MOH had to be stopped on every channel and started again immediately.  However,
there was no way to tell what class was being used, so they would all fall back
to the default class.

(closes issue #10139)
Reported by: blitzrage
Patches: 
      asterisk-10139-advanced.diff.txt uploaded by jamesgolovich (license 176)
Tested by: jamesgolovich

........

................
r79794 | russell | 2007-08-16 16:33:02 -0600 (Thu, 16 Aug 2007) | 12 lines

Merged revisions 79792 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79792 | russell | 2007-08-16 17:32:33 -0500 (Thu, 16 Aug 2007) | 4 lines

Fix a little race condition that could cause a crash if two channels had MOH
stopped at the same time that were using a class that had been marked for
deletion when its use count hits zero.

........

................
r79813 | tilghman | 2007-08-16 17:31:14 -0600 (Thu, 16 Aug 2007) | 2 lines

Revise dialplan locks to permit multiple locks per channel, but with deadlock avoidance

................
r79824 | file | 2007-08-16 19:19:04 -0600 (Thu, 16 Aug 2007) | 2 lines

Fix building of chan_zap under development mode without libpri and libss7 installed.

................
r79841 | crichter | 2007-08-17 02:29:56 -0600 (Fri, 17 Aug 2007) | 9 lines

Merged revisions 79833 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79833 | crichter | 2007-08-17 10:22:36 +0200 (Fr, 17 Aug 2007) | 1 line

sometimes we don't need to signal dtmf tones to asterisk, we just want them to go through as inband. Otherwise they might be generated by the other channel partner and then there is a double tone.
........

................
r79858 | russell | 2007-08-17 07:39:17 -0600 (Fri, 17 Aug 2007) | 13 lines

Merged revisions 79857 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79857 | russell | 2007-08-17 08:37:08 -0500 (Fri, 17 Aug 2007) | 5 lines

Fix some crashes in chan_sip.  This patch changes various places that add items
to the scheduler to ensure that they don't overwrite the ID of a previously
scheduled item.  If there is one, it should be removed.
(closes issue #10391, closes issue #10256, probably others, patch by me)

........

................
r79859 | tilghman | 2007-08-17 07:40:11 -0600 (Fri, 17 Aug 2007) | 2 lines

store and destroy implementations for realtime pgsql (closes issue #10372)

................
r79860 | tilghman | 2007-08-17 07:45:44 -0600 (Fri, 17 Aug 2007) | 2 lines

store and destroy implementations for sqlite (closes issue #10446) and odbc (closes issue #10447)

................
r79861 | russell | 2007-08-17 08:07:44 -0600 (Fri, 17 Aug 2007) | 12 lines

This commit adds a scheduler API call, ast_sched_replace that can be used
in place of a very common construct.  I also used it in a number of places
in chan_sip.

  if (id > -1)
     ast_sched_del(sched, id);
  id = ast_sched_add(sched, ...);

changes to:

  ast_sched_replace(id, sched, ...);

................
r79862 | russell | 2007-08-17 08:14:59 -0600 (Fri, 17 Aug 2007) | 2 lines

Make use of ast_sched_replace() in some places in chan_iax2

................
r79885 | tilghman | 2007-08-17 08:41:33 -0600 (Fri, 17 Aug 2007) | 2 lines

Change this flag... might not otherwise unlock in an OOM situation

................
r79888 | qwell | 2007-08-17 09:27:19 -0600 (Fri, 17 Aug 2007) | 4 lines

Correct the argument separator for a Dial statement in pbx_dundi.

Closes issue #10483, patch by lunn

................
r79894 | qwell | 2007-08-17 10:04:20 -0600 (Fri, 17 Aug 2007) | 4 lines

Fix Dial arguments in res_features.

Closes issue #10484, patch by lunn.

................
r79901 | tilghman | 2007-08-17 10:39:41 -0600 (Fri, 17 Aug 2007) | 2 lines

Documentation for %q in logger.conf, as suggested by jtodd (closes issue #10475)

................
r79903 | qwell | 2007-08-17 11:45:01 -0600 (Fri, 17 Aug 2007) | 13 lines

Merged revisions 79902 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10485)
........
r79902 | qwell | 2007-08-17 12:44:22 -0500 (Fri, 17 Aug 2007) | 4 lines

Re-add the setting of callerid name and number.

Issue 10485, reported by and fix explained by paradise.

........

................
r79905 | qwell | 2007-08-17 13:13:25 -0600 (Fri, 17 Aug 2007) | 20 lines

Merged revisions 79904 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10430)
........
r79904 | qwell | 2007-08-17 14:12:19 -0500 (Fri, 17 Aug 2007) | 11 lines

Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938.

I basically took the code that existed before 9938 was fixed, and
 copied it into a new function - ast_unescape_semicolon

There should be very few places this will be needed (pbx_config
 does NOT need this (see issue 9938 for details))

Issue 10430, patch by me, with help/ideas from murf (thanks murf).

........

................
r79907 | mmichelson | 2007-08-17 13:16:51 -0600 (Fri, 17 Aug 2007) | 14 lines

Merged revisions 79906 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79906 | mmichelson | 2007-08-17 14:14:05 -0500 (Fri, 17 Aug 2007) | 6 lines

Patch allows for more seamless transition from file storage voicemail to ODBC storage voicemail.
If a retrieval of a greeting from the database fails, but the file is found on the file system, then
we go ahead an insert the greeting into the database. The result of this is that people who
switch from file storage to ODBC storage do not need to rerecord their voicemail greetings.


........

................
r79913 | russell | 2007-08-17 15:04:33 -0600 (Fri, 17 Aug 2007) | 12 lines

Merged revisions 79912 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79912 | russell | 2007-08-17 16:01:43 -0500 (Fri, 17 Aug 2007) | 4 lines

Avoid a crash in the handling of DTMF based Caller ID.  It is valid for
ast_read to return NULL in the case that the channel has been hung up.
(crash reported by anonymouz666 on IRC in #asterisk-dev)

........

................
r79915 | mmichelson | 2007-08-17 15:19:18 -0600 (Fri, 17 Aug 2007) | 3 lines

I broke the build. Now I'm fixing it.


................
r79940 | tilghman | 2007-08-18 07:52:44 -0600 (Sat, 18 Aug 2007) | 2 lines

We weren't properly encapsulating the mtime ignores of config files (closes issue #10488)

................
r79949 | tilghman | 2007-08-18 08:34:47 -0600 (Sat, 18 Aug 2007) | 11 lines

Merged revisions 79947 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79947 | tilghman | 2007-08-18 09:30:44 -0500 (Sat, 18 Aug 2007) | 3 lines

Don't allocate vmu for messagecount when we could just use the stack instead (closes issue #10490)
Also, remove a useless (and leaky) SQLAllocHandle (closes issue #10480)

........

................
r79972 | file | 2007-08-18 17:58:51 -0600 (Sat, 18 Aug 2007) | 2 lines

Actually check the return value of epoll_create to make sure it works.

................
r79980 | tilghman | 2007-08-19 08:17:30 -0600 (Sun, 19 Aug 2007) | 2 lines

Add strcompat dependency for check_expr (needed for platforms that don't have strndup)

................
r79988 | file | 2007-08-19 18:37:12 -0600 (Sun, 19 Aug 2007) | 2 lines

Fix building of trunk. I'm doing work on a Sunday night just to avoid watching Snakes on a Plane which my roommate is watching.

................
r79989 | file | 2007-08-19 18:38:20 -0600 (Sun, 19 Aug 2007) | 4 lines

(closes issue #10496)
Reported by: caio1982
Fix building on OSX.

................
r79990 | file | 2007-08-19 18:54:19 -0600 (Sun, 19 Aug 2007) | 4 lines

(closes issue #10495)
Reported by: stevedavies
Make sure context pointer is valid or else chan_iax2 will go kaboom.

................
r79999 | tilghman | 2007-08-19 20:46:02 -0600 (Sun, 19 Aug 2007) | 10 lines

Merged revisions 79998 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79998 | tilghman | 2007-08-19 21:42:49 -0500 (Sun, 19 Aug 2007) | 2 lines

Missing curly braces.  Oops.  (Reported by snuffy via IRC)

........

................
r80023 | file | 2007-08-20 08:15:30 -0600 (Mon, 20 Aug 2007) | 2 lines

Fix random segfault issue when loading chan_zap. Trying to access a configuration structure that has already been destroyed is bad, mmmk?

................
r80033 | file | 2007-08-20 09:10:55 -0600 (Mon, 20 Aug 2007) | 2 lines

Bring pval.c in utils up to date with pval.c in res/ael.

................
r80037 | murf | 2007-08-20 09:27:35 -0600 (Mon, 20 Aug 2007) | 1 line

pval.c should not be in svn, in the utils dir
................
r80045 | mmichelson | 2007-08-20 09:37:13 -0600 (Mon, 20 Aug 2007) | 13 lines

Merged revisions 80044 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80044 | mmichelson | 2007-08-20 10:34:43 -0500 (Mon, 20 Aug 2007) | 5 lines

Ukrainian language voicemail support.

(closes issue #10458, reported and patched by Oleh)


........

................
r80046 | file | 2007-08-20 09:53:20 -0600 (Mon, 20 Aug 2007) | 2 lines

Remove remnants of last commit so trunk builds again.

................
r80048 | qwell | 2007-08-20 10:12:29 -0600 (Mon, 20 Aug 2007) | 15 lines

Merged revisions 80047 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80047 | qwell | 2007-08-20 11:08:49 -0500 (Mon, 20 Aug 2007) | 7 lines

(closes issue #10499)
Reported by: casper
Patches:
      extensions.conf.sample.diff uploaded by casper (license 55)

Update CLI examples in extensions.conf.sample to reflect command changes.

........

................
r80050 | mmichelson | 2007-08-20 10:18:55 -0600 (Mon, 20 Aug 2007) | 12 lines

Merged revisions 80049 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80049 | mmichelson | 2007-08-20 11:17:43 -0500 (Mon, 20 Aug 2007) | 4 lines

Found a pointless ternary if. member->dynamic was set to 1 and has no opportunity to change
between then and this line, so "dynamic" will ALWAYS be output.


........

................
r80075 | murf | 2007-08-20 11:37:36 -0600 (Mon, 20 Aug 2007) | 1 line

Stephn Davies reports that this will help make things work on 64-bit machines
................
r80087 | mmichelson | 2007-08-20 15:42:11 -0600 (Mon, 20 Aug 2007) | 12 lines

Blocked revisions 80086 via svnmerge

........
r80086 | mmichelson | 2007-08-20 16:39:17 -0500 (Mon, 20 Aug 2007) | 5 lines

After a discussion on #asterisk-dev, it was decided that this should be in 1.4 as well.

(issue #10424, reported and patched by irroot)


........

................
r80089 | russell | 2007-08-20 16:00:01 -0600 (Mon, 20 Aug 2007) | 9 lines

Blocked revisions 80088 via svnmerge

........
r80088 | russell | 2007-08-20 16:57:08 -0500 (Mon, 20 Aug 2007) | 2 lines

Fix the build of app_queue

........

................
r80113 | murf | 2007-08-20 16:53:48 -0600 (Mon, 20 Aug 2007) | 1 line

This change set fixes bug 8126 in trunk. It is implemented via compile time options, activated via the menuselect stuff, which defaults to the old way. non-zero sample data added. Translate tables expressed in microseconds instead of milliseconds, with 5-digit data now instead of 3, giving 2 more digits of precision.
................
r80131 | qwell | 2007-08-21 09:04:37 -0600 (Tue, 21 Aug 2007) | 15 lines

Merged revisions 80130 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80130 | qwell | 2007-08-21 10:03:45 -0500 (Tue, 21 Aug 2007) | 7 lines

(closes issue #10510)
Reported by: casper
Patches:
      cdr.conf.diff uploaded by casper (license 55)

Fix a few errors in sample cdr config file.

........

................
r80133 | russell | 2007-08-21 09:23:12 -0600 (Tue, 21 Aug 2007) | 11 lines

Merged revisions 80132 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80132 | russell | 2007-08-21 10:22:22 -0500 (Tue, 21 Aug 2007) | 3 lines

Don't try to dereference the owner channel when it may not exist
(issue #10507, maxper)

........

................
r80157 | file | 2007-08-21 09:51:49 -0600 (Tue, 21 Aug 2007) | 2 lines

Minor tweak. Don't manipulate volume of the audio in the buffer if no audio is actually there.

................
r80184 | russell | 2007-08-21 12:49:23 -0600 (Tue, 21 Aug 2007) | 15 lines

Merged revisions 80183 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80183 | russell | 2007-08-21 13:42:15 -0500 (Tue, 21 Aug 2007) | 7 lines

Don't record SIP dialog history if it's not turned on.  Also, put an upper
limit on how many history entires will be stored for each SIP dialog.  It is
currently set to 50, but can be increased if deemed necessary.
(closes issue #10421, closes issue #10418, patches suggested by jmoldenhauer,
 patches updated by me)
(Security implications documented in AST-2007-020)

........

................
r80217 | murf | 2007-08-21 14:55:44 -0600 (Tue, 21 Aug 2007) | 1 line

As per 10472, mvanbaak thought the generated code would look better this way.
................
r80226 | russell | 2007-08-21 15:58:29 -0600 (Tue, 21 Aug 2007) | 1 line

use ast_atomic_fetchadd_int for incrementing resultcount
................
r80241 | murf | 2007-08-22 08:12:24 -0600 (Wed, 22 Aug 2007) | 9 lines

Merged revisions 80166 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80166 | murf | 2007-08-21 10:36:34 -0600 (Tue, 21 Aug 2007) | 1 line

This patch solves problem 1 in 8126; it should not slow down the alaw codec, but should prevent signal degradation via multiple trips thru the codec. Fossil estimates the twice thru this codec will prevent fax from working. 4-6 times thru would result hearable, noticeable, voice degradation.
........

................
r80242 | murf | 2007-08-22 08:17:42 -0600 (Wed, 22 Aug 2007) | 1 line

blocking 80167
................
r80256 | file | 2007-08-22 10:16:01 -0600 (Wed, 22 Aug 2007) | 12 lines

Merged revisions 80255 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80255 | file | 2007-08-22 13:14:38 -0300 (Wed, 22 Aug 2007) | 4 lines

(closes issue #10526)
Reported by: sinistermidget
Revert commit from issue #10355 and return timestamp skew to 640. 

........

................
r80258 | russell | 2007-08-22 10:22:27 -0600 (Wed, 22 Aug 2007) | 12 lines

Merged revisions 80257 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80257 | russell | 2007-08-22 11:21:58 -0500 (Wed, 22 Aug 2007) | 4 lines

Honor the contents of the COPTS variable as custom target CFLAGS.  Apparently
this is what openwrt does.  
(reported by Brian Capouch on the asterisk-dev list, patch by me)

........

................
r80262 | russell | 2007-08-22 10:27:39 -0600 (Wed, 22 Aug 2007) | 4 lines

Ensure that the object code for ast_atomic_fetchadd_int() gets included in the
check_expr binary when building with LOW_MEMORY defined.
(reported by Brian Capouch on the asterisk-dev list, patch by me)

................
r80303 | qwell | 2007-08-22 12:06:28 -0600 (Wed, 22 Aug 2007) | 11 lines

Merged revisions 80302 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80302 | qwell | 2007-08-22 13:06:00 -0500 (Wed, 22 Aug 2007) | 3 lines

Fix a bashism (we explicitly request /bin/sh).
Remove some oddly placed quotes I found in passing.

........

................
r80305 | qwell | 2007-08-22 12:25:58 -0600 (Wed, 22 Aug 2007) | 10 lines

Merged revisions 80304 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80304 | qwell | 2007-08-22 13:25:34 -0500 (Wed, 22 Aug 2007) | 2 lines

Change a syntax that the GNU make in Solaris dislikes.

........

................
r80331 | qwell | 2007-08-22 12:54:30 -0600 (Wed, 22 Aug 2007) | 15 lines

Merged revisions 80330 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80330 | qwell | 2007-08-22 13:53:18 -0500 (Wed, 22 Aug 2007) | 7 lines

Fix a few build issues in Solaris (and likely others).

Use GREP and ID variables from autoconf.

Reported to me in #asterisk-dev
I forgot who reported this - sorry. :(

........

................
r80361 | russell | 2007-08-22 13:54:52 -0600 (Wed, 22 Aug 2007) | 13 lines

Merged revisions 80360 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80360 | russell | 2007-08-22 14:53:30 -0500 (Wed, 22 Aug 2007) | 5 lines

Juggie in #asterisk-dev was reporting problems where fgets would return
without reading  the whole line when using fastagi.  When this happens,
errno was set to EINTR or EAGAIN.  This patch accounts for the possibility
and lets fgets continue in that case.

........

................
r80387 | russell | 2007-08-22 14:44:23 -0600 (Wed, 22 Aug 2007) | 42 lines

Merged revisions 80362 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80362 | russell | 2007-08-22 15:21:36 -0500 (Wed, 22 Aug 2007) | 34 lines

Merge changes from team/russell/iax_refcount.

This set of changes fixes problems with the handling of iax2_user and iax2_peer
objects.  It was very possible for a thread to still hold a reference to one of
these objects while a reload operation tries to delete them.  The fix here is to
ensure that all references to these objects are tracked so that they can't go away
while still in use.

To accomplish this, I used the astobj2 reference counted object model.  This
code has been in one of Luigi Rizzo's branches for a long time and was primarily
developed by one of his students, Marta Carbone.  I wanted to go ahead and bring
this in to 1.4 because there are other problems similar to the ones fixed by these
changes, so we might as well go ahead and use the new astobj if we're going to go
through all of the work necessary to fix the problems.

As a nice side benefit of these changes, peer and user handling got more efficient.
Using astobj2 lets us not hold the container lock for peers or users nearly as long
while iterating.  Also, by changing a define at the top of chan_iax2.c, the objects
will be distributed in a hash table, drastically increasing lookup speed in these
containers, which will have a very big impact on systems that have a large number of
users or peers.

The use of the hash table will be made the default in trunk.  It is not the default
in 1.4 because it changes the behavior slightly.  Previously, since peers and users
were stored in memory in the same order they were specified in the configuration file,
you could influence peer and user matching order based on the order they are specified
in the configuration.  The hash table does not guarantee any order in the container,
so this behavior will be going away.  It just means that you have to be a little
more careful ensuring that peers and users are matched explicitly and not forcing
chan_iax2 to have to guess which user is the right one based on secret, host, and
access list settings, instead of simply using the username.

If you have any questions, feel free to ask on the asterisk-dev list.

........

................
r80388 | russell | 2007-08-22 14:46:16 -0600 (Wed, 22 Aug 2007) | 2 lines

Unsubscribe from MWI events in the peer destructor

................
r80391 | russell | 2007-08-22 15:03:27 -0600 (Wed, 22 Aug 2007) | 11 lines

Merged revisions 80390 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80390 | russell | 2007-08-22 16:00:44 -0500 (Wed, 22 Aug 2007) | 3 lines

Don't crash when using realtime in chan_sip without an insecure setting in the database.
(closes issue #10348, reported by link55, fixed by me)

........

................
r80408 | russell | 2007-08-22 15:35:08 -0600 (Wed, 22 Aug 2007) | 1 line

allow peers and users to go into a hash table
................
r80425 | russell | 2007-08-22 16:43:12 -0600 (Wed, 22 Aug 2007) | 18 lines

Merged revisions 80424 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80424 | russell | 2007-08-22 17:40:27 -0500 (Wed, 22 Aug 2007) | 10 lines

When converting this code to use the list macros, I changed it so objects are
added to the head of a bucket instead of the tail.  However, while looking over
code with mmichelson, we noticed that the algorithm used in ao2_iterator_next
requires that items are added to the tail.  This wouldn't have caused any huge
problem, but it wasn't correct.  It meant that if an object was added to a
container while you were iterating it, and it was added to the same bucket that
the current element is in, then the new object would be returned by 
ao2_iterator_next, and any other objects in the bucket would be bypassed in
the traversal.

........

................
r80427 | russell | 2007-08-22 16:54:26 -0600 (Wed, 22 Aug 2007) | 14 lines

Merged revisions 80426 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80426 | russell | 2007-08-22 17:54:03 -0500 (Wed, 22 Aug 2007) | 6 lines

Add some more documentation on iterating ao2 containers.  The documentation
implies that is possible to miss an object or see an object twice while
iterating.  After looking through the code and talking with mmichelson, I have
documented the exact conditions under which this can happen (which are rare and
harmless in most cases).

........

................
r80428 | qwell | 2007-08-22 17:17:04 -0600 (Wed, 22 Aug 2007) | 1 line

Cast calls to getpid.  This was done in 1.4 already, this one was just new
................
r80429 | qwell | 2007-08-22 17:26:02 -0600 (Wed, 22 Aug 2007) | 2 lines

Convert minimime to use the proper uint*_t types, rather than u_int*_t

................
r80453 | file | 2007-08-23 07:37:20 -0600 (Thu, 23 Aug 2007) | 2 lines

Return trunk to a working state by including compat.h in minimime.

................

Added:
    team/murf/datastructs/include/asterisk/astobj2.h
      - copied unchanged from r80453, trunk/include/asterisk/astobj2.h
    team/murf/datastructs/include/asterisk/extconf.h
      - copied unchanged from r80453, trunk/include/asterisk/extconf.h
    team/murf/datastructs/include/asterisk/pval.h
      - copied unchanged from r80453, trunk/include/asterisk/pval.h
    team/murf/datastructs/main/astobj2.c
      - copied unchanged from r80453, trunk/main/astobj2.c
    team/murf/datastructs/res/ael/
      - copied from r80453, trunk/res/ael/
    team/murf/datastructs/res/ael/ael.flex
      - copied unchanged from r80453, trunk/res/ael/ael.flex
    team/murf/datastructs/res/ael/ael.tab.c
      - copied unchanged from r80453, trunk/res/ael/ael.tab.c
    team/murf/datastructs/res/ael/ael.tab.h
      - copied unchanged from r80453, trunk/res/ael/ael.tab.h
    team/murf/datastructs/res/ael/ael.y
      - copied unchanged from r80453, trunk/res/ael/ael.y
    team/murf/datastructs/res/ael/ael_lex.c
      - copied unchanged from r80453, trunk/res/ael/ael_lex.c
    team/murf/datastructs/res/ael/pval.c
      - copied unchanged from r80453, trunk/res/ael/pval.c
    team/murf/datastructs/res/res_ael_share.c
      - copied unchanged from r80453, trunk/res/res_ael_share.c
    team/murf/datastructs/utils/conf2ael.c
      - copied unchanged from r80453, trunk/utils/conf2ael.c
    team/murf/datastructs/utils/extconf.c
      - copied unchanged from r80453, trunk/utils/extconf.c
Removed:
    team/murf/datastructs/pbx/ael/ael.flex
    team/murf/datastructs/pbx/ael/ael.tab.c
    team/murf/datastructs/pbx/ael/ael.tab.h
    team/murf/datastructs/pbx/ael/ael.y
    team/murf/datastructs/pbx/ael/ael_lex.c
Modified:
    team/murf/datastructs/   (props changed)
    team/murf/datastructs/CHANGES
    team/murf/datastructs/Makefile
    team/murf/datastructs/UPGRADE.txt
    team/murf/datastructs/apps/app_alarmreceiver.c
    team/murf/datastructs/apps/app_amd.c
    team/murf/datastructs/apps/app_directory.c
    team/murf/datastructs/apps/app_festival.c
    team/murf/datastructs/apps/app_followme.c
    team/murf/datastructs/apps/app_meetme.c
    team/murf/datastructs/apps/app_minivm.c
    team/murf/datastructs/apps/app_osplookup.c
    team/murf/datastructs/apps/app_playback.c
    team/murf/datastructs/apps/app_privacy.c
    team/murf/datastructs/apps/app_queue.c
    team/murf/datastructs/apps/app_rpt.c
    team/murf/datastructs/apps/app_voicemail.c
    team/murf/datastructs/build_tools/cflags.xml
    team/murf/datastructs/build_tools/make_build_h
    team/murf/datastructs/build_tools/make_buildopts_h
    team/murf/datastructs/build_tools/make_version
    team/murf/datastructs/build_tools/mkpkgconfig
    team/murf/datastructs/build_tools/prep_moduledeps
    team/murf/datastructs/build_tools/strip_nonapi
    team/murf/datastructs/cdr/cdr_adaptive_odbc.c
    team/murf/datastructs/cdr/cdr_csv.c
    team/murf/datastructs/cdr/cdr_custom.c
    team/murf/datastructs/cdr/cdr_manager.c
    team/murf/datastructs/cdr/cdr_odbc.c
    team/murf/datastructs/cdr/cdr_pgsql.c
    team/murf/datastructs/cdr/cdr_radius.c
    team/murf/datastructs/cdr/cdr_sqlite3_custom.c
    team/murf/datastructs/cdr/cdr_tds.c
    team/murf/datastructs/channels/chan_agent.c
    team/murf/datastructs/channels/chan_alsa.c
    team/murf/datastructs/channels/chan_gtalk.c
    team/murf/datastructs/channels/chan_h323.c
    team/murf/datastructs/channels/chan_iax2.c
    team/murf/datastructs/channels/chan_jingle.c
    team/murf/datastructs/channels/chan_local.c
    team/murf/datastructs/channels/chan_mgcp.c
    team/murf/datastructs/channels/chan_misdn.c
    team/murf/datastructs/channels/chan_oss.c
    team/murf/datastructs/channels/chan_phone.c
    team/murf/datastructs/channels/chan_sip.c
    team/murf/datastructs/channels/chan_skinny.c
    team/murf/datastructs/channels/chan_vpb.cc
    team/murf/datastructs/channels/chan_zap.c
    team/murf/datastructs/channels/iax2-provision.c
    team/murf/datastructs/channels/iax2-provision.h
    team/murf/datastructs/channels/misdn/chan_misdn_config.h
    team/murf/datastructs/channels/misdn/ie.c
    team/murf/datastructs/channels/misdn_config.c
    team/murf/datastructs/codecs/codec_adpcm.c
    team/murf/datastructs/codecs/codec_alaw.c
    team/murf/datastructs/codecs/codec_g722.c
    team/murf/datastructs/codecs/codec_g726.c
    team/murf/datastructs/codecs/codec_gsm.c
    team/murf/datastructs/codecs/codec_lpc10.c
    team/murf/datastructs/codecs/codec_speex.c
    team/murf/datastructs/codecs/codec_ulaw.c
    team/murf/datastructs/codecs/codec_zap.c
    team/murf/datastructs/codecs/slin_ulaw_ex.h
    team/murf/datastructs/codecs/ulaw_slin_ex.h
    team/murf/datastructs/configs/cdr.conf.sample
    team/murf/datastructs/configs/extensions.conf.sample
    team/murf/datastructs/configs/logger.conf.sample
    team/murf/datastructs/configure
    team/murf/datastructs/configure.ac
    team/murf/datastructs/funcs/func_lock.c
    team/murf/datastructs/funcs/func_odbc.c
    team/murf/datastructs/include/asterisk/ael_structs.h
    team/murf/datastructs/include/asterisk/alaw.h
    team/murf/datastructs/include/asterisk/ast_expr.h
    team/murf/datastructs/include/asterisk/config.h
    team/murf/datastructs/include/asterisk/lock.h
    team/murf/datastructs/include/asterisk/pbx.h
    team/murf/datastructs/include/asterisk/sched.h
    team/murf/datastructs/include/asterisk/strings.h
    team/murf/datastructs/include/asterisk/ulaw.h
    team/murf/datastructs/main/Makefile
    team/murf/datastructs/main/alaw.c
    team/murf/datastructs/main/asterisk.c
    team/murf/datastructs/main/audiohook.c
    team/murf/datastructs/main/cdr.c
    team/murf/datastructs/main/config.c
    team/murf/datastructs/main/dnsmgr.c
    team/murf/datastructs/main/enum.c
    team/murf/datastructs/main/http.c
    team/murf/datastructs/main/loader.c
    team/murf/datastructs/main/logger.c
    team/murf/datastructs/main/manager.c
    team/murf/datastructs/main/minimime/mm.h
    team/murf/datastructs/main/minimime/mm_base64.c
    team/murf/datastructs/main/minimime/mm_codecs.c
    team/murf/datastructs/main/minimime/mm_mem.h
    team/murf/datastructs/main/minimime/mm_util.c
    team/murf/datastructs/main/pbx.c
    team/murf/datastructs/main/rtp.c
    team/murf/datastructs/main/sched.c
    team/murf/datastructs/main/translate.c
    team/murf/datastructs/main/udptl.c
    team/murf/datastructs/main/ulaw.c
    team/murf/datastructs/main/utils.c
    team/murf/datastructs/pbx/Makefile
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-ntest10
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test1
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test11
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test14
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test15
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test16
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test19
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test2
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test3
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test4
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test5
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test6
    team/murf/datastructs/pbx/ael/ael-test/ref.ael-test7
    team/murf/datastructs/pbx/pbx_ael.c
    team/murf/datastructs/pbx/pbx_config.c
    team/murf/datastructs/pbx/pbx_dundi.c
    team/murf/datastructs/res/Makefile
    team/murf/datastructs/res/res_adsi.c
    team/murf/datastructs/res/res_agi.c
    team/murf/datastructs/res/res_config_odbc.c
    team/murf/datastructs/res/res_config_pgsql.c
    team/murf/datastructs/res/res_config_sqlite.c
    team/murf/datastructs/res/res_features.c
    team/murf/datastructs/res/res_indications.c
    team/murf/datastructs/res/res_jabber.c
    team/murf/datastructs/res/res_musiconhold.c
    team/murf/datastructs/res/res_odbc.c
    team/murf/datastructs/res/res_smdi.c
    team/murf/datastructs/res/res_snmp.c
    team/murf/datastructs/utils/Makefile
    team/murf/datastructs/utils/ael_main.c
    team/murf/datastructs/utils/check_expr.c

Propchange: team/murf/datastructs/
------------------------------------------------------------------------------
    automerge = yes

Propchange: team/murf/datastructs/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/murf/datastructs/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/murf/datastructs/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Aug 23 09:52:12 2007
@@ -1,1 +1,1 @@
-/trunk:1-79570
+/trunk:1-80453

Modified: team/murf/datastructs/CHANGES
URL: http://svn.digium.com/view/asterisk/team/murf/datastructs/CHANGES?view=diff&rev=80466&r1=80465&r2=80466
==============================================================================
--- team/murf/datastructs/CHANGES (original)
+++ team/murf/datastructs/CHANGES Thu Aug 23 09:52:12 2007
@@ -21,6 +21,7 @@
      are currently active on the system.
   * Added a "ListAllVoicemailUsers" action that allows you to get a list of all
      the voicemail users setup.
+  * Added 'DBDel' and 'DBDelTree' manager commands.
 
 Dialplan functions
 ------------------
@@ -186,6 +187,12 @@
      by saying "local myvar=someval;"  or using Set() in this
      fashion:  Set(LOCAL(myvar)=someval);  ("local" is now
      an AEL keyword).
+  * utils/conf2ael introduced. Will convert an extensions.conf
+    file into extensions.ael. Very crude and unfinished, but 
+    will be improved as time goes by. Should be useful for a
+    first pass at conversion.
+  * aelparse will now read extensions.conf to see if a referenced
+    macro or context is there before issueing a warning.
 
 Zaptel channel driver (chan_zap) Changes
 ----------------------------------------
@@ -246,7 +253,6 @@
   * Added G729 passthrough support to chan_phone for Sigma Designs boards.
   * Added 's' option to Page application.
   * Added 'E' and 'V' commands to ExternalIVR.
-  * Added 'DBDel' and 'DBDelTree' manager commands.
   * Added 'o' and 'X' options to Chanspy.
   * Added a new CDR module, cdr_sqlite3_custom.
   * The cdr_manager module has a [mappings] feature, like cdr_custom,


[... 14218 lines stripped ...]



More information about the asterisk-commits mailing list