[asterisk-commits] russell: tag 1.4.19.1 r114564 - in /tags/1.4.19.1: .version ChangeLog
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Apr 22 17:26:57 CDT 2008
Author: russell
Date: Tue Apr 22 17:26:57 2008
New Revision: 114564
URL: http://svn.digium.com/view/asterisk?view=rev&rev=114564
Log:
Importing files for 1.4.19.1 release
Added:
tags/1.4.19.1/.version (with props)
tags/1.4.19.1/ChangeLog (with props)
Added: tags/1.4.19.1/.version
URL: http://svn.digium.com/view/asterisk/tags/1.4.19.1/.version?view=auto&rev=114564
==============================================================================
--- tags/1.4.19.1/.version (added)
+++ tags/1.4.19.1/.version Tue Apr 22 17:26:57 2008
@@ -1,0 +1,1 @@
+1.4.19.1
Propchange: tags/1.4.19.1/.version
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/1.4.19.1/.version
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/1.4.19.1/.version
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/1.4.19.1/ChangeLog
URL: http://svn.digium.com/view/asterisk/tags/1.4.19.1/ChangeLog?view=auto&rev=114564
==============================================================================
--- tags/1.4.19.1/ChangeLog (added)
+++ tags/1.4.19.1/ChangeLog Tue Apr 22 17:26:57 2008
@@ -1,0 +1,17023 @@
+2008-04-22 Russell Bryant <russell at digium.com>
+
+ * Asterisk 1.4.19.1 released.
+
+2008-04-22 21:14 +0000 [r114522-114550] Russell Bryant <russell at digium.com>
+
+ * channels/chan_iax2.c: When we receive a full frame that is
+ supposed to contain our call number, ensure that it has the
+ correct one. (closes issue #10078) (AST-2008-006)
+
+2008-04-01 Russell Bryant <russell at digium.com>
+
+ * Asterisk 1.4.19 released.
+
+2008-03-28 Russell Bryant <russell at digium.com>
+
+ * Asterisk 1.4.19-rc4 released.
+
+2008-03-28 16:19 +0000 [r111658] Jason Parker <jparker at digium.com>
+
+ * formats/format_wav_gsm.c: The file size of WAV49 does not need to
+ be an even number. (closes issue #12128) Reported by: mdu113
+ Patches: 12128-noevenlength.diff uploaded by qwell (license 4)
+ Tested by: qwell, mdu113
+
+2008-03-28 14:35 +0000 [r111442-111605] Tilghman Lesher <tlesher at digium.com>
+
+ * doc/valgrind.txt: Update debugging text, since Valgrind
+ eliminated the --log-file-exactly option. (Closes issue #12320)
+
+ * main/acl.c: For FreeBSD, at least, the ifa_addr element could be
+ NULL. (closes issue #12300) Reported by: festr Patches:
+ acl.c.patch uploaded by festr (license 443)
+
+2008-03-27 13:03 +0000 [r111341-111391] Steve Murphy <murf at digium.com>
+
+ * apps/app_playback.c, main/pbx.c: These small documentation
+ updates made in response to a query in asterisk-users, where a
+ user was using Playback, but needed the features of Background,
+ and had no idea that Background existed, or that it might provide
+ the features he needed. I thought the best way to avert these
+ kinds of queries was to provide "See Also" references in all
+ three of "Background", "Playback", "WaitExten". Perhaps a project
+ to do this with all related apps is in order.
+
+ * pbx/pbx_ael.c, include/asterisk/ael_structs.h: (closes issue
+ #12302) Reported by: pj Tested by: murf These changes will set a
+ channel variable ~~EXTEN~~ just before generating code for a
+ switch, with the value of ${EXTEN}. The exten is marked as having
+ a switch, and ever after that, till the end of the exten, we
+ substitute any ${EXTEN} with ${~~EXTEN~~} instead in application
+ arguments; (and the ${EXTEN: also). The reason for this, is that
+ because switches are coded using separate extensions to provide
+ pattern matching, and jumping to/from these switch extensions
+ messes up the ${EXTEN} value, which blows the minds of users.
+
+2008-03-27 00:25 +0000 [r111245-111280] Jason Parker <jparker at digium.com>
+
+ * main/frame.c: Put this flag back so we don't change the API.
+
+ * main/frame.c: Remove excessive smoother optimization that was
+ causing audio glitches (small "pops") after (about 200ms later)
+ an "incorrectly" sized frame was received. While it would be very
+ nice to keep this as optimized as possible, it makes no sense for
+ the smoother to be dropping random bits of audio like this. Isn't
+ that the whole point of a smoother? Closes issue #12093.
+
+2008-03-26 19:55 +0000 [r111129] Joshua Colp <jcolp at digium.com>
+
+ * contrib/scripts/autosupport: Update autosupport script. (closes
+ issue #12310) Reported by: angler Patches: autosupport.diff
+ uploaded by angler (license 106)
+
+2008-03-26 19:51 +0000 [r111126] Kevin P. Fleming <kpfleming at digium.com>
+
+ * /, UPGRADE.txt: Merged revisions 111125 via svnmerge from
+ https://origsvn.digium.com/svn/asterisk/branches/1.2 ........
+ r111125 | kpfleming | 2008-03-26 14:49:30 -0500 (Wed, 26 Mar
+ 2008) | 2 lines update UPGRADE notes to document usage of the
+ script ........
+
+2008-03-26 19:37 +0000 [r111049-111121] Mark Michelson <mmichelson at digium.com>
+
+ * apps/app_voicemail.c: This code change is made just for
+ clarification. It does exactly the same thing as before. It just
+ doesn't look as wrong.
+
+ * apps/app_voicemail.c: Add a lock to the vm_state structure and
+ use the lock around mail_open calls to prevent concurrent access
+ of the same mailstream. This, along with trunk's ability to
+ configure TCP timeouts for IMAP storage will help to prevent
+ crashes and hangs when using voicemail with IMAP storage. (closes
+ issue #10487) Reported by: ewilhelmsen
+
+2008-03-26 19:06 +0000 [r111024] Kevin P. Fleming <kpfleming at digium.com>
+
+ * codecs/ilbc, /, contrib/scripts/get_ilbc_source.sh (added):
+ Merged revisions 111019 via svnmerge from
+ https://origsvn.digium.com/svn/asterisk/branches/1.2 ........
+ r111019 | kpfleming | 2008-03-26 13:58:37 -0500 (Wed, 26 Mar
+ 2008) | 2 lines add a script to make getting the iLBC source code
+ simple for end users ........
+
+2008-03-26 19:04 +0000 [r111014-111020] Joshua Colp <jcolp at digium.com>
+
+ * channels/chan_sip.c: If we are requested to authenticate a
+ reinvite make sure that it contains T38 SDP if need be. (closes
+ issue #11995) Reported by: fall
+
+ * channels/chan_iax2.c: Make sure that full video frames are sent
+ whenever the 15 bit timestamp rolls over. (closes issue #11923)
+ Reported by: mihai Patches: asterisk-fullvideo.patch uploaded by
+ mihai (license 94)
+
+2008-03-26 17:43 +0000 [r110880-110962] Kevin P. Fleming <kpfleming at digium.com>
+
+ * UPGRADE.txt: add note that the user will need to enable
+ codec_ilbc to get it to build
+
+ * codecs/ilbc/StateConstructW.h (removed),
+ codecs/ilbc/libilbc.vcproj (removed), codecs/ilbc/packing.h
+ (removed), codecs/ilbc/getCBvec.c (removed),
+ codecs/ilbc/LPCdecode.c (removed), codecs/ilbc/enhancer.c
+ (removed), codecs/ilbc/lsf.c (removed), codecs/ilbc/iLBC_encode.c
+ (removed), codecs/ilbc/getCBvec.h (removed),
+ codecs/ilbc/LPCdecode.h (removed), codecs/ilbc/enhancer.h
+ (removed), codecs/ilbc/FrameClassify.c (removed),
+ codecs/ilbc/iLBC_define.h (removed), codecs/ilbc/lsf.h (removed),
+ codecs/ilbc/iLBC_encode.h (removed), codecs/ilbc/FrameClassify.h
+ (removed), codecs/ilbc/helpfun.c (removed), codecs/ilbc/doCPLC.c
+ (removed), codecs/ilbc/anaFilter.c (removed),
+ codecs/ilbc/helpfun.h (removed), codecs/ilbc/createCB.c
+ (removed), codecs/ilbc/doCPLC.h (removed),
+ codecs/ilbc/anaFilter.h (removed), UPGRADE.txt,
+ codecs/ilbc/iLBC_decode.c (removed), codecs/ilbc/constants.c
+ (removed), codecs/ilbc/createCB.h (removed), CHANGES,
+ codecs/ilbc/iLBC_decode.h (removed), codecs/ilbc/constants.h
+ (removed), codecs/Makefile, codecs/ilbc/iCBSearch.c (removed),
+ codecs/ilbc/filter.c (removed), codecs/ilbc/hpInput.c (removed),
+ codecs/ilbc/gainquant.c (removed), codecs/ilbc/hpOutput.c
+ (removed), codecs/ilbc/iCBSearch.h (removed),
+ codecs/ilbc/filter.h (removed), codecs/ilbc/hpInput.h (removed),
+ codecs/ilbc/gainquant.h (removed), codecs/ilbc/LPCencode.c
+ (removed), codecs/ilbc/hpOutput.h (removed),
+ codecs/ilbc/StateSearchW.c (removed), codecs/codec_ilbc.c,
+ codecs/ilbc/LPCencode.h (removed), codecs/ilbc/StateSearchW.h
+ (removed), codecs/ilbc/iCBConstruct.c (removed),
+ codecs/ilbc/syntFilter.c (removed), /, codecs/ilbc/iCBConstruct.h
+ (removed), codecs/ilbc/syntFilter.h (removed),
+ codecs/ilbc/StateConstructW.c (removed), codecs/ilbc/packing.c
+ (removed): Merged revisions 110869 via svnmerge from
+ https://origsvn.digium.com/svn/asterisk/branches/1.2 ........
+ r110869 | kpfleming | 2008-03-26 08:53:46 -0700 (Wed, 26 Mar
+ 2008) | 2 lines due to licensing restrictions, we cannot
+ distribute the source code for iLBC encoding and decoding... so
+ remove it, and add instructions on how the user can obtain it
+ themselves ........
+
+2008-03-25 22:51 +0000 [r110779] Jason Parker <jparker at digium.com>
+
+ * cdr/cdr_custom.c: Make file access in cdr_custom similar to
+ cdr_csv. Fixes issue #12268. Patch borrowed from r82344
+
+2008-03-25 20:03 +0000 [r110727] Jeff Peeler <jpeeler at digium.com>
+
+ * channels/chan_sip.c: This one line change makes an if inside a
+ for loop (in realtime_peer) check all the ast_variables the loop
+ was intending to test rather than just the first one.
+
+2008-03-25 15:40 +0000 [r110635] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_sip.c: When reverting a commit, I accidentally left
+ in this bit which was an experiment to see what would happen. It
+ passed the compile test, and I didn't notice I had left this
+ change in too. So this is a revert of a revert...sort of.
+
+2008-03-25 14:37 +0000 [r110628] Joshua Colp <jcolp at digium.com>
+
+ * include/asterisk/options.h, main/asterisk.c, Makefile,
+ main/app.c: Add an option (transmit_silence) which transmits
+ silence during both Record() and DTMF generation. The reason this
+ is an option is that in order to transmit silence we have to
+ setup a translation path. This may not be needed/wanted in all
+ cases. (closes issue #10058) Reported by: tracinet
+
+2008-03-24 19:17 +0000 [r110618] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_sip.c: This is a revert for revision 108288. The
+ reason is that that revision was not for an actual bug fix per
+ se, and so it really should not have been in 1.4 in the first
+ place. Plus, people who compile with DO_CRASH are more likely to
+ encounter a crash due to this change. While I think the usage of
+ DO_CRASH in ast_sched_del is a bit absurd, this sort of change is
+ beyond the scope of 1.4 and should be done instead in a developer
+ branch based on trunk so that all scheduler functions are fixed
+ at once. I also am reverting the change to trunk and 1.6 since
+ they also suffer from the DO_CRASH potential. (closes issue
+ #12272) Reported by: qq12345
+
+2008-03-24 17:34 +0000 [r110614] Russell Bryant <russell at digium.com>
+
+ * channels/chan_iax2.c: Turn a NOTICE into a DEBUG message.
+
+2008-03-21 14:32 +0000 [r110474] Jason Parker <jparker at digium.com>
+
+ * codecs/gsm/Makefile: Don't attempt to do optimizations of gsm on
+ mips platforms either. (closes issue #12270) Reported by:
+ zandbelt Patches: 026-gsm-mips.patch uploaded by zandbelt
+ (license 33)
+
+2008-03-20 23:13 +0000 [r110163-110395] Russell Bryant <russell at digium.com>
+
+ * main/autoservice.c: Shorten the ast_waitfor() timeout from 500 ms
+ to 50 ms in the autoservice thread. This really should not make a
+ difference except in very rare cases. That case would be that all
+ of the channels in autoservice are not generating any frames. In
+ that case, this change reduces the potential amount of time that
+ a thread waits in ast_autoservice_stop() for the autoservice
+ thread to wrap back around to the beginning of its loop. (closes
+ issue #12266, reported by dimas)
+
+ * /, channels/chan_sip.c, channels/chan_iax2.c: Merged revisions
+ 110335 via svnmerge from
+ https://origsvn.digium.com/svn/asterisk/branches/1.2 ........
+ r110335 | russell | 2008-03-20 16:53:27 -0500 (Thu, 20 Mar 2008)
+ | 6 lines Fix some very broken code that was introduced in 1.2.26
+ as a part of the security fix. The dnsmgr is not appropriate
+ here. The dnsmgr takes a pointer to an address structure that a
+ background thread continuously updates. However, in these cases,
+ a stack variable was passed. That means that the dnsmgr thread
+ would be continuously writing to bogus memory. ........
+
+ * apps/app_meetme.c: Fix a bug where when calls on the trunk side
+ hang up while on hold, the state is not properly reflected.
+ (closes issue #11990, reported by anakaoka, patched by me)
+
+2008-03-19 20:33 +0000 [r110083] Mark Michelson <mmichelson at digium.com>
+
+ * apps/app_chanspy.c: Add a missing unlock in the case that memory
+ allocation fails in app_chanspy. Thanks to Russell for confirming
+ that this was an issue.
+
+2008-03-19 19:11 +0000 [r110019-110035] Joshua Colp <jcolp at digium.com>
+
+ * res/res_musiconhold.c: Add sanity checking for position resuming.
+ We *have* to make sure that the position does not exceed the
+ total number of files present, and we have to make sure that the
+ position's filename is the same as previous. These values can
+ change if a music class is reloaded and give unpredictable
+ behavior. (closes issue #11663) Reported by: junky
+
+ * main/rtp.c: Make sure that the mark bit does not incorrectly
+ cause video frame timestamps to be calculated as if they are
+ audio frames. (closes issue #11429) Reported by: sperreault
+ Patches: 11429-frametype.diff uploaded by qwell (license 4)
+
+2008-03-19 17:12 +0000 [r109973] Jason Parker <jparker at digium.com>
+
+ * Makefile, build_tools/cflags.xml, build_tools/cflags-devmode.xml
+ (added): People report bugs about Asterisk crashing with DO_CRASH
+ enabled was getting a little silly... Now we only show certain
+ cflags when you run configure with --enable-dev-mode
+ (corresponding menuselect change to follow)
+
+2008-03-19 15:41 +0000 [r109908] Steve Murphy <murf at digium.com>
+
+ * main/config.c: (closes issue #11442) Reported by: tzafrir
+ Patches: 11442.patch uploaded by murf (license 17) Tested by:
+ murf I didn't give tzafrir very much time to test this, but if he
+ does still have remaining issues, he is welcome to re-open this
+ bug, and we'll do what is called for. I reproduced the problem,
+ and tested the fix, so I hope I am not jumping by just going
+ ahead and committing the fix. The problem was with what file_save
+ does with templates; firstly, it tended to print out multiple
+ options: [my_category](!)(templateref) instead of
+ [my_category](!,templateref) which is fixed by this patch.
+ Nextly, the code to suppress output of duplicate declarations
+ that would occur because the reader copies inherited declarations
+ down the hierarchy, was not working. Thus: [master-template](!)
+ mastervar = bar [template](!,master-template) tvar = value
+ [cat](template) catvar = val would be rewritten as: ;! ;!
+ Automatically generated configuration file ;! Filename:
+ experiment.conf (/etc/asterisk/experiment.conf) ;! Generator:
+ Manager ;! Creation Date: Tue Mar 18 23:17:46 2008 ;!
+ [master-template](!) mastervar = bar
+ [template](!,master-template) mastervar = bar tvar = value
+ [cat](template) mastervar = bar tvar = value catvar = val This
+ has been fixed. Since the config reader 'explodes' inherited vars
+ into the category, users may, in certain circumstances, see
+ output different from what they originally entered, but it should
+ be both correct and equivalent.
+
+2008-03-19 04:06 +0000 [r109763-109838] Russell Bryant <russell at digium.com>
+
+ * main/utils.c: Tweak spacing in a recent change because I'm very
+ picky.
+
+ * apps/app_chanspy.c: Fix one place where the chanspy datastore
+ isn't removed from a channel. (issue #12243, reported by atis,
+ patch by me)
+
+2008-03-18 20:52 +0000 [r109713] Mark Michelson <mmichelson at digium.com>
+
+ * apps/app_queue.c: This patch makes it so that all queue member
+ status changes are handled through device state code. This
+ removes several problems people were seeing where their queue
+ members would get into an "unknown" state. Huge props go to atis
+ on this one since he was the one who found the code section that
+ was causing the problem and proposed the solution. I just wrote
+ what he suggested :) (closes issue #12127) Reported by: atis
+ Patches: 12127v3.patch uploaded by putnopvut (license 60) Tested
+ by: atis, jvandal
+
+2008-03-18 19:23 +0000 [r109648] Jason Parker <jparker at digium.com>
+
+ * codecs/log2comp.h: Allow codecs that use log2comp (g726) to
+ compile correctly on x86 with gcc4 optimizations. (closes issue
+ #12253) Reported by: fossil Patches: log2comp.patch uploaded by
+ fossil (license 140)
+
+2008-03-18 17:58 +0000 [r109575] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_agent.c: Make sure an agent doesn't try to send
+ dtmf to a NULL channel closes issue #12242 Reported by Yourname
+
+2008-03-18 Russell Bryant <russell at digium.com>
+
+ * Asterisk 1.4.19-rc3 released.
+
+2008-03-18 16:25 +0000 [r109482] Terry Wilson <twilson at digium.com>
+
+ * include/asterisk/astobj.h: Fix character string being treated ad
+ format string
+
+2008-03-18 15:10 +0000 [r109393] Jason Parker <jparker at digium.com>
+
+ * /, channels/chan_sip.c: Merged revisions 109391 via svnmerge from
+ https://origsvn.digium.com/svn/asterisk/branches/1.2 ........
+ r109391 | qwell | 2008-03-18 10:08:41 -0500 (Tue, 18 Mar 2008) |
+ 3 lines Do not return with a successful authentication if the
+ From header ends up empty. (AST-2008-003) ........
+
+2008-03-18 14:58 +0000 [r109386] Joshua Colp <jcolp at digium.com>
+
+ * main/rtp.c, channels/chan_sip.c: Put a maximum limit on the
+ number of payloads accepted, and also make sure a given payload
+ does not exceed our maximum value. (AST-2008-002)
+
+2008-03-18 06:37 +0000 [r109309] Steve Murphy <murf at digium.com>
+
+ * pbx/ael/ael-test/ael-ntest23 (added),
+ pbx/ael/ael-test/ael-ntest23/t1/a.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t1/b.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t1/c.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t2/d.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t2/e.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t2/f.ael (added),
+ pbx/ael/ael-test/ref.ael-ntest23 (added), pbx/ael/ael_lex.c,
+ pbx/ael/ael-test/ael-ntest23/t3/g.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t3/h.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t3/i.ael (added), pbx/ael/ael.flex,
+ pbx/ael/ael-test/ael-ntest23/t3/j.ael (added),
+ pbx/ael/ael-test/ael-ntest23/qq.ael (added),
+ pbx/ael/ael-test/ael-ntest23/t1 (added),
+ pbx/ael/ael-test/ael-ntest23/t2 (added),
+ pbx/ael/ael-test/ael-ntest23/t3 (added),
+ pbx/ael/ael-test/ael-ntest23/extensions.ael (added): (closes
+ issue #11903) Reported by: atis Many thanks to atis for spotting
+ this problem and reporting it. The fix was to straighten out how
+ items are placed on and removed from the file stack. Regressions
+ as well as the provided test case helped to straighten out all
+ code paths. valgrind was used to make sure all memory allocated
+ was freed. Sorry for not solving this earlier. I got distracted.
+ Added the ntest23 regression test, which is mainly a copy of
+ ntest22, but with a few juicy errors thrown in, to replicate the
+ kind of error that atis spotted.
+
+2008-03-17 22:05 +0000 [r109226] Mark Michelson <mmichelson at digium.com>
+
+ * main/utils.c: Fix a logic flaw in the code that stores lock info
+ which is displayed via the "core show locks" command. The idea
+ behind this section of code was to remove the previous lock from
+ the list if it was a trylock that had failed. Unfortunately,
+ instead of checking the status of the previous lock, we were
+ referencing the index immediately following the previous lock in
+ the lock_info->locks array. The result of this problem, under the
+ right circumstances, was that the lock which we currently in the
+ process of attempting to acquire could "overwrite" the previous
+ lock which was acquired. While this does not in any way affect
+ typical operation, it *could* lead to misleading "core show
+ locks" output.
+
+2008-03-17 17:55 +0000 [r109171] Michiel van Baak <michiel at vanbaak.info>
+
+ * channels/chan_skinny.c: Update the directory of placed calls on
+ skinny phones when dialing a channel that does not provide
+ progress (analog ZAP lines) The phone does handle the double
+ update on calls to channels that do provide progress and wont
+ insert duplicate items (closes issue #12239) Reported by: DEA
+ Patches: chan_skinny-call-log.txt uploaded by DEA (license 3)
+
+2008-03-17 16:24 +0000 [r109107] Joshua Colp <jcolp at digium.com>
+
+ * channels/chan_sip.c: 200 OKs in response to a reinvite need to be
+ sent reliably. If the remote side does not receive one the dialog
+ will be torn down. (closes issue #12208) Reported by: atrash
+
+2008-03-17 15:15 +0000 [r109057] Jason Parker <jparker at digium.com>
+
+ * main/file.c: Backport revision 106439 from trunk. I didn't
+ realize this was broken in 1.4 as well. Closes issue #12222.
+
+2008-03-17 14:18 +0000 [r109012] Mark Michelson <mmichelson at digium.com>
+
+ * apps/app_chanspy.c: Make sure that we release the lock on the
+ spyee channel if the spyee or spy has hung up (closes issue
+ #12232) Reported by: atis
+
+2008-03-16 21:47 +0000 [r108961] Michiel van Baak <michiel at vanbaak.info>
+
+ * main/dial.c: add missing break to case AST_CONTROL_SRCUPDATE
+ (closes issue #12228) Reported by: andrew Patches: SRC.patch
+ uploaded by andrew (license 240)
+
+2008-03-14 20:09 +0000 [r108792-108796] Russell Bryant <russell at digium.com>
+
+ * channels/chan_oss.c: Fix a channel name issue. chan_oss registers
+ the "Console" channel type, but it created channels with an "OSS"
+ prefix. (closes issue #12194, reported by davidw, patched by me)
+
+ * contrib/init.d/rc.suse.asterisk: Update the SuSE init script to
+ start networking before asterisk, as well. (closes issue #12200,
+ reported by and change suggested by reinerotto)
+
+2008-03-14 16:44 +0000 [r108737] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_sip.c: Fix a race condition in the SIP packet
+ scheduler which could cause a crash. chan_sip uses the scheduler
+ API in order to schedule retransmission of reliable packets (such
+ as INVITES). If a retransmission of a packet is occurring, then
+ the packet is removed from the scheduler and retrans_pkt is
+ called. Meanwhile, if a response is received from the packet as
+ previously transmitted, then when we ACK the response, we will
+ remove the packet from the scheduler and free the packet. The
+ problem is that both the ACK function and retrans_pkt attempt to
+ acquire the same lock at the beginning of the function call. This
+ means that if the ACK function acquires the lock first, then it
+ will free the packet which retrans_pkt is about to read from and
+ write to. The result is a crash. The solution: 1. If the ACK
+ function fails to remove the packet from the scheduler and the
+ retransmit id of the packet is not -1 (meaning that we have not
+ reached the maximum number of retransmissions) then release the
+ lock and yield so that retrans_pkt may acquire the lock and
+ operate. 2. Make absolutely certain that the ACK function does
+ not recursively lock the lock in question. If it does, then
+ releasing the lock will do no good, since retrans_pkt will still
+ be unable to acquire the lock. (closes issue #12098) Reported by:
+ wegbert (closes issue #12089) Reported by: PTorres Patches:
+ 12098-putnopvutv3.patch uploaded by putnopvut (license 60) Tested
+ by: jvandal
+
+2008-03-14 14:29 +0000 [r108682] Jason Parker <jparker at digium.com>
+
+ * res/res_musiconhold.c: Fix a potential segfault if chan (or
+ chan->music_state) is NULL. Closes issue #12210, credit to
+ edantie for pointing this out.
+
+2008-03-13 21:38 +0000 [r108469-108583] Russell Bryant <russell at digium.com>
+
+ * apps/app_chanspy.c, main/channel.c, include/asterisk/channel.h:
+ Fix another issue that was causing crashes in chanspy. This
+ introduces a new datastore callback, called chan_fixup(). The
+ concept is exactly like the fixup callback that is used in the
+ channel technology interface. This callback gets called when the
+ owning channel changes due to a masquerade. Before this was
+ introduced, if a masquerade happened on a channel being spyed on,
+ the channel pointer in the datastore became invalid. (closes
+ issue #12187) (reported by, and lots of testing from atis) (props
+ to file for the help with ideas)
+
+ * channels/chan_sip.c: Make a tweak that gets the LEDs on polycom
+ phones to blink when an extension that has been subscribed to
+ goes on hold. Otherwise, they just stay on like it does when an
+ extension is in use. (closes issue #11263) Reported by: russell
+ Patches: notify_hold.rev1.txt uploaded by russell (license 2)
+ Tested by: russell
+
+ * apps/app_followme.c: Fix a couple uses of sprintf. The second one
+ could actually cause an overflow of a stack buffer. It's not a
+ security issue though, it only depends on your configuration.
+
+2008-03-12 21:53 +0000 [r108227-108288] Mark Michelson <mmichelson at digium.com>
+
+ * channels/chan_sip.c: Change AST_SCHED_DEL use to ast_sched_del
+ for autocongestion in chan_sip. The scheduler callback will
+ always return 0. This means that this id is never rescheduled, so
+ it makes no sense to loop trying to delete the id from the
+ scheduler queue. If we fail to remove the item from the queue
+ once, it will fail every single time. (Yes I realize that in this
+ case, the macro would exit early because the id is set to -1 in
+ the callback, but it still makes no sense to use that macro in
+ favor of calling ast_sched_del once and being done with it) This
+ is the first of potentially several such fixes.
+
+ * include/asterisk/sched.h: Added a large comment before the
+ AST_SCHED_DEL macro to explain its purpose as well as when it is
+ appropriate and when it is not appropriate to use it. I also
+ removed the part of the debug message that mentions that this is
+ probably a bug because there are some perfectly legitimate places
+ where ast_sched_del may fail to delete an entry (e.g. when the
+ scheduler callback manually reschedules with a new id instead of
+ returning non-zero to tell the scheduler to reschedule with the
+ same idea). I also raised the debug level of the debug message in
+ AST_SCHED_DEL since it seems like it could come up quite
+ frequently since the macro is probably being used in several
+ places where it shouldn't be. Also removed the redundant line,
+ file, and function information since that is provided by ast_log.
+
+2008-03-12 19:57 +0000 [r108135] Russell Bryant <russell at digium.com>
+
+ * apps/app_chanspy.c, main/channel.c: (closes issue #12187,
+ reported by atis, fixed by me after some brainstorming on the
+ issue with mmichelson) - Update copyright info on app_chanspy. -
+ Fix a race condition that caused app_chanspy to crash. The issue
+ was that the chanspy datastore magic that was used to ensure that
+ spyee channels did not disappear out from under the code did not
+ completely solve the problem. It was actually possible for
+ chanspy to acquire a channel reference out of its datastore to a
+ channel that was in the middle of being destroyed. That was
+ because datastore destruction in ast_channel_free() was done near
+ the end. So, this left the code in app_chanspy accessing a
+ channel that was partially, or completely invalid because it was
+ in the process of being free'd by another thread. The following
+ sort of shows the code path where the race occurred:
+ =============================================================================
+ Thread 1 (PBX thread for spyee chan) || Thread 2 (chanspy)
+ --------------------------------------||-------------------------------------
+ ast_channel_free() || - remove channel from channel list || -
+ lock/unlock the channel to ensure || that no references retrieved
+ from || the channel list exist. ||
+ --------------------------------------||-------------------------------------
+ || channel_spy() - destroy some channel data || - Lock chanspy
+ datastore || - Retrieve reference to channel || - lock channel ||
+ - Unlock chanspy datastore
+ --------------------------------------||-------------------------------------
+ - destroy channel datastores || - call chanspy datastore d'tor ||
+ which NULL's out the ds' || - Operate on the channel ...
+ reference to the channel || || - free the channel || || || -
+ unlock the channel
+ --------------------------------------||-------------------------------------
+ =============================================================================
+
+2008-03-12 19:16 +0000 [r108086] Kevin P. Fleming <kpfleming at digium.com>
+
+ * channels/chan_sip.c: if we receive an INVITE with a
+ Content-Length that is not a valid number, or is zero, then don't
+ process the rest of the message body looking for an SDP closes
+ issue #11475 Reported by: andrebarbosa
+
+2008-03-12 18:26 +0000 [r108083] Joshua Colp <jcolp at digium.com>
+
+ * apps/app_mixmonitor.c, include/asterisk/audiohook.h,
+ main/audiohook.c: Add a trigger mode that triggers on both read
+ and write. The actual function that returns the combined audio
+ frame though will wait until both sides have fed in audio, or
+ until one side stops (such as the case when you call Wait).
+ (closes issue #11945) Reported by: xheliox
+
+2008-03-12 16:59 +0000 [r108031] Russell Bryant <russell at digium.com>
+
+ * main/channel.c: Destroy the channel lock after the channel
+ datastores. (inspired by issue #12187)
+
+2008-03-12 01:52 +0000 [r107877] Tilghman Lesher <tlesher at digium.com>
+
+ * contrib/scripts/iax-friends.sql, contrib/scripts/sip-friends.sql:
+ Document all of the possible realtime fields
+
+2008-03-11 23:37 +0000 [r107714-107826] Jason Parker <jparker at digium.com>
+
+ * doc/voicemail_odbc_postgresql.txt: Update documentation for pgsql
+ ODBC voicemail. (closes issue #12186) Reported by: jsmith
+ Patches: vm_pgsql_doc_update.patch uploaded by jsmith (license
+ 15)
+
+ * channels/chan_gtalk.c: Copy voicemail dependency logic for
+ res_adsi to chan_gtalk (for jabber). (closes issue #12014)
+ Reported by: junky
+
+2008-03-11 20:48 +0000 [r107713] Kevin P. Fleming <kpfleming at digium.com>
+
+ * Makefile.rules, channels/Makefile: get chan_vpb to build properly
+ in dev mode
+
+2008-03-11 20:47 +0000 [r107712] Jason Parker <jparker at digium.com>
+
+ * apps/app_voicemail.c: Add a newline on a log
+
+2008-03-11 19:20 +0000 [r107582-107646] Joshua Colp <jcolp at digium.com>
+
+ * res/res_features.c: Make sure the visible indication is on the
+ right channel so when the masquerade happens the proper
+ indication is enacted. (closes issue #11707) Reported by: iam
+
+ * apps/app_meetme.c: Add an additional check for setting conference
+ parameter when using the marked user options. It was possible for
+ it to return to a no listen/no talk state if a masquerade
+ happened. (closes issue #12136) Reported by: aragon
+
+ * apps/app_exec.c: Fix a minor spelling error. (closes issue
+ #12183) Reported by: darrylc
+
+2008-03-11 Russell Bryant <russell at digium.com>
+
+ * Asterisk 1.4.19-rc2 released.
+
+2008-03-11 15:18 +0000 [r107352-107472] Kevin P. Fleming <kpfleming at digium.com>
+
+ * apps/app_rpt.c: backport a fix from trunk
+
+ * channels/misdn/isdn_lib.c, codecs/Makefile,
+ channels/chan_misdn.c: fix various other problems found by gcc
+ 4.3
+
+ * configure, include/asterisk/autoconfig.h.in, configure.ac,
+ apps/app_sms.c: stop checking for mktime() in the configure
+ script... we don't use it, and the test is buggy under gcc 4.3
+
+ * configure, main/Makefile, configure.ac, makeopts.in: check for
+ compiler support for -fno-strict-overflow before using it (tested
+ with Debian's gcc 4.3, 4.1 and 3.4) (closes issue #12179)
+ Reported by: Netview
+
+ * configure, configure.ac: fix small bug in IMAP toolkit testing
+
+ * main/udptl.c, utils/Makefile, main/Makefile,
+ main/editline/readline.c, pbx/Makefile: fix up various compiler
+ warnings found with gcc-4.3: - the output of flex includes a
+ static function called 'input' that is not used, so for the
+ moment we'll stop having the compiler tell us about unused
+ variables in the flex source files (a better fix would be to
+ improve our flex post-processing to remove the unused function) -
+ main/stdtime/localtime.c makes assumptions about signed integer
+ overflow, and gcc-4.3's improved optimizer tries to take
+ advantage of handling potential overflow conditions at compile
+ time; for now, suppress these optimizations until we can fiure
+ out if the code needs improvement - main/udptl.c has some
+ references to uninitialized variables; in one case there was no
+ bug, but in the other it was certainly possibly for unexpected
+ behavior to occur - main/editline/readline.c had an unused
+ variable
+
+2008-03-11 00:59 +0000 [r107290] Terry Wilson <twilson at digium.com>
+
+ * channels/chan_sip.c: If we fail to alloc a channel, we should
+ re-lock the pvt structure before returning.
+
+2008-03-10 21:32 +0000 [r107230] Tilghman Lesher <tlesher at digium.com>
+
+ * main/pbx.c: Use non-global storage for eswitch
+
+2008-03-10 20:27 +0000 [r107173] Jason Parker <jparker at digium.com>
+
+ * channels/chan_zap.c: Make sure to reenable echo can after a
+ "failed" (canceled, etc) three-way call. (closes issue #11335)
+ Reported by: rebuild
+
+2008-03-10 20:17 +0000 [r107099-107161] Russell Bryant <russell at digium.com>
+
+ * main/pbx.c: Fix another bug specifically related to asynchronous
+ call origination. Once the PBX is started on the channel using
+ ast_pbx_start(), then the ownership of the channel has been
+ passed on to another thread. We can no longer access it in this
+ code. If the channel gets hung up very quickly, it is possible
+ that we could access a channel that has been free'd. (inspired by
+ BE-386)
+
+ * main/pbx.c: Fix some bugs related to originating calls. If the
+ code failed to start a PBX on the channel (such as if you set a
+ call limit based on the system's load average), then there were
+ cases where a channel that has already been free'd using
+ ast_hangup() got accessed. This caused weird memory corruption
+ and crashes to occur. (fixes issue BE-386) (much debugging credit
+ goes to twilson, final patch written by me)
+
+ * main/channel.c: Resolve a compiler warning.
+
+ * main/channel.c: Fix a race condition where the generator can go
+ away (closes issue #12175, reported by edantie, patched by me)
+
+2008-03-10 14:33 +0000 [r107016] Joshua Colp <jcolp at digium.com>
+
+ * apps/app_dial.c, main/cdr.c, include/asterisk/cdr.h: Move where
+ unanswered CDRs are dropped to the CDR core, not everything uses
+ app_dial. (closes issue #11516) Reported by: ys Patches:
+ branch_1.4_cdr.diff uploaded by ys (license 281) Tested by:
+ anest, jcapp, dartvader
+
+2008-03-08 15:59 +0000 [r106945] Kevin P. Fleming <kpfleming at digium.com>
+
+ * channels/chan_zap.c: don't generate D-Channel "up" and "down"
+ messages unless the channel state is actually changing; also,
+ generate the "up" message when an implicit "up" occurs due to
+ reception of a normal event when we thought the channel was
+ "down"
+
+2008-03-07 22:51 +0000 [r106895] Russell Bryant <russell at digium.com>
+
+ * apps/app_meetme.c: Only start the SLA thread if SLA has actually
+ been configured.
+
+2008-03-07 22:14 +0000 [r106842] Jason Parker <jparker at digium.com>
+
+ * main/editline/Makefile.in: Fix hardcoded grep in editline, were
+ GNU grep is required. (closes issue #12124) Reported by: dmartin
+
+2008-03-07 19:32 +0000 [r106788] Joshua Colp <jcolp at digium.com>
+
+ * main/channel.c: Ignore source update control frame. (closes issue
+ #12168) Reported by: plack
+
+2008-03-07 17:16 +0000 [r106704] Russell Bryant <russell at digium.com>
+
+ * include/asterisk/sched.h: Change a warning message to a debug
+ message. This is happening quite frequently, and it is not worth
+ spamming users with these messages unless we are pretty confident
+ that it should never happen. As it stands today, it _will_ and
+ _does_ happen and until that gets cleaned up a reasonable amount
+ on the development side, let's not spam the logs of everyone
+ else. (closes issue #12154)
+
+2008-03-07 16:22 +0000 [r106552-106635] Tilghman Lesher <tlesher at digium.com>
+
+ * apps/app_voicemail.c: Warn the user when a temporary greeting
+ exists (Closes issue #11409)
+
+ * main/rtp.c: Properly initialize rtp->schedid (Closes issue
+ #12154)
+
+ * apps/app_chanspy.c, apps/app_rpt.c, main/asterisk.c,
+ apps/app_speech_utils.c, apps/app_voicemail.c, main/channel.c,
+ funcs/func_enum.c, channels/chan_misdn.c, main/frame.c,
+ main/manager.c: Safely use the strncat() function. (closes issue
+ #11958) Reported by: norman Patches: 20080209__bug11958.diff.txt
+ uploaded by Corydon76 (license 14)
+
+2008-03-06 22:10 +0000 [r106437] Mark Michelson <mmichelson at digium.com>
+
+ * main/pbx.c: Quell an annoying message that is likely to print
+ every single time that ast_pbx_outgoing_app is called. The reason
+ is that __ast_request_and_dial allocates the cdr for the channel,
+ so it should be expected that the channel will have a cdr on it.
+ Thanks to joetester on IRC for pointing this out
+
+2008-03-06 04:40 +0000 [r106328] Tilghman Lesher <tlesher at digium.com>
+
+ * sounds/Makefile: Upgrade to the next release of sounds
+
+2008-03-05 22:37 +0000 [r106237] Russell Bryant <russell at digium.com>
+
+ * channels/chan_iax2.c: Fix a potential deadlock and a few
+ different potential crashes. (closes issue #12145, reported by
+ thiagarcia, patched by me)
+
+2008-03-05 22:32 +0000 [r106235] Joshua Colp <jcolp at digium.com>
+
+ * channels/chan_oss.c, main/rtp.c, channels/chan_mgcp.c,
+ apps/app_dial.c, main/channel.c, channels/chan_phone.c,
+ main/dial.c, channels/chan_zap.c, channels/chan_sip.c,
+ channels/chan_skinny.c, channels/chan_h323.c, main/file.c,
+ channels/chan_alsa.c, apps/app_followme.c,
+ include/asterisk/frame.h: Add a control frame to indicate the
+ source of media has changed. Depending on the underlying
+ technology it may need to change some things. (closes issue
+ #12148) Reported by: jcomellas
+
+2008-03-05 21:12 +0000 [r106178] Michiel van Baak <michiel at vanbaak.info>
+
+ * doc/realtime.txt: document var_metric so no bugreports will come
+ in when it's actually a configuration issue. (issue #12151)
+ Reported and patched by: caio1982 1.4 patch by me
+
+2008-03-05 15:32 +0000 [r106038] Kevin P. Fleming <kpfleming at digium.com>
+
+ * channels/chan_zap.c: when a PRI call must be moved to a different
+ B channel at the request of the other endpoint, ensure that any
+ DSP active on the original channel is moved to the new one
+ (closes issue #11917) Reported by: mavetju Tested by: mavetju
+
+2008-03-05 15:17 +0000 [r106015] Tilghman Lesher <tlesher at digium.com>
+
+ * channels/chan_sip.c, include/asterisk/sched.h: Correctly
+ initialize retransid in SIP, and ensure that the warning when
+ failing to delete a schedule entry can actually hit the log.
[... 16242 lines stripped ...]
More information about the asterisk-commits
mailing list