[svn-commits] murf: branch murf/cdr-debug-1.4 r160442 - in /team/murf/cdr-debug-1.4: ./ agi...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Dec 2 21:10:56 CST 2008


Author: murf
Date: Tue Dec  2 21:10:55 2008
New Revision: 160442

URL: http://svn.digium.com/view/asterisk?view=rev&rev=160442
Log:
Merged revisions 152535,152538-152539,152811,152922,152958,152992,153095,153114,153270,153337,153651,153823,154060,154066,154263,154266,154365,154685,154724,155011,155398,155553,155803,155861,156164,156167,156178,156229,156289,156294,156297,156386,156485,156510,156688,156755,156816,157104,157162-157163,157305,157365,157503,157859,158010,158053,158071,158126,158306,158483,158539,158600,158603,158629,159025,159096,159158,159246,159269,159316,159476,159571,159808,159897,159900,159976,160003,160207,160266,160297,160390,160411 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r152535 | murf | 2008-10-28 22:36:32 -0600 (Tue, 28 Oct 2008) | 46 lines

The magic trick to avoid this crash is not to
try to find the channel by name in the list,
which is slow and resource consuming, but rather
to pay attention to the result codes from the
ast_bridge_call, to which I added the 
AST_PBX_NO_HANGUP_PEER_PARKED value, which
now are returned when a channel is parked.

If you get AST_PBX_KEEPALIVE,
then don't touch the channel pointer.

If you get AST_PBX_NO_HANGUP_PEER, or
AST_PBX_NO_HANGUP_PEER_PARKED, then don't
touch the peer pointer.

Updated the several places where the results
from a bridge were not being properly obeyed,
and fixed some code I had introduced so that
the results of the bridge were not overridden 
(in trunk).

All the places that previously tested for 
AST_PBX_NO_HANGUP_PEER now have to check for
both AST_PBX_NO_HANGUP_PEER and AST_PBX_NO_HANGUP_PEER_PARKED.

I tested this against the 4 common parking
scenarios:


1. A calls B; B answers; A parks B; B hangs up while A is getting the parking
slot announcement, immediately after being put on hold.

2. A calls B; B answers; A parks B; B hangs up after A has been hung up, but
before the park times out.

3. A calls B; B answers; B parks A; A hangs up while B is getting the parking slot announcement, immediately after being put on hold.

4. A calls B; B answers; B parks A; A hangs up after B has been hung up, but before the park times out.


No crash.

I also ran the scenarios above against valgrind, and accesses looked good.



................
r152538 | murf | 2008-10-28 23:19:04 -0600 (Tue, 28 Oct 2008) | 14 lines

A little documentation cross-ref between features and
dial and queue... I wasted some time (stupidly) trying
to get the one-touch parking stuff working, because it
didn't occur to me that I had to also have the corresponding
options in the dial command! Duh! (In all this time, I never
set this up before!)
So, to keep some poor fool from suffering the same fate,
I made the features.conf.sample file mention the corresponding
opts in dial/queue; and the docs for dial/app specifically
mention the corresponding decls in the feature.conf file.

I hope this doesn't spoil some vast, eternal plan...


................
r152539 | russell | 2008-10-28 23:23:51 -0600 (Tue, 28 Oct 2008) | 7 lines

Fix an incorrect usage of sizeof()

(closes issue #13795)
Reported by: andrew53
Patches:
	chan_sip_sizeof.patch uploaded by andrew53 (license 519)

................
r152811 | kpfleming | 2008-10-30 10:53:48 -0600 (Thu, 30 Oct 2008) | 3 lines

instead of comparing the string pointer to 0, let's compare the value that was actually parsed out of the string (found by sparse)


................
r152922 | tilghman | 2008-10-30 13:43:38 -0600 (Thu, 30 Oct 2008) | 6 lines

Unlock before returning, when extension doesn't exist.
(closes issue #13807)
 Reported by: eliel
 Patches: 
       chan_local.c.patch uploaded by eliel (license 64)

................
r152958 | tilghman | 2008-10-30 14:33:28 -0600 (Thu, 30 Oct 2008) | 3 lines

Cannot join detached threads.  See http://www.opengroup.org/onlinepubs/000095399/functions/pthread_join.html
(Closes issue #13400)

................
r152992 | seanbright | 2008-10-30 14:58:24 -0600 (Thu, 30 Oct 2008) | 2 lines

The -I argument to aclocal needs a space before the include directory name.

................
r153095 | twilson | 2008-10-31 09:45:29 -0600 (Fri, 31 Oct 2008) | 5 lines

Recent CDR fixes moved execution of the 'h' exten into the bridging code, so variables that were set after ast_bridge_call was called would not show up in the 'h' exten.  Added a callback function to handle setting variables, etc. from w/in the bridging code.  Calls back into a nested function within the function calling ast_bridge_call

(closes issue #13793)
Reported by: greenfieldtech

................
r153114 | tilghman | 2008-10-31 10:30:32 -0600 (Fri, 31 Oct 2008) | 3 lines

Turn off qualify on uncached realtime peers.
(Closes issue #13383)

................
r153270 | twilson | 2008-10-31 16:36:57 -0600 (Fri, 31 Oct 2008) | 2 lines

Add end_bridge_callback for app_follome and add AUTOLOOP flag to res_features

................
r153337 | kpfleming | 2008-11-01 12:22:39 -0600 (Sat, 01 Nov 2008) | 3 lines

fix a bunch of potential problems found by gcc 4.3.x, primarily bare strings being passed to printf()-like functions and ignored results from read()/write() and friends


................
r153651 | russell | 2008-11-02 12:51:17 -0700 (Sun, 02 Nov 2008) | 2 lines

features.h depends on linkedlists.h, so include it

................
r153823 | kpfleming | 2008-11-03 06:01:18 -0700 (Mon, 03 Nov 2008) | 3 lines

somehow missed a bunch of gcc 4.3.x warnings in this branch on the first pass


................
r154060 | tilghman | 2008-11-03 14:48:21 -0700 (Mon, 03 Nov 2008) | 3 lines

Remove the potential for a division by zero error.
(Closes issue #13810)

................
r154066 | tilghman | 2008-11-03 15:27:10 -0700 (Mon, 03 Nov 2008) | 5 lines

Attempting to expunge a mailbox when the mailstream is NULL will crash Asterisk.
(Closes issue #13829)
Reported by: jaroth
Patch by: me (modified jaroth's patch)

................
r154263 | tilghman | 2008-11-04 11:58:05 -0700 (Tue, 04 Nov 2008) | 3 lines

Make the monitor thread non-detached, so it can be joined (suggested by Russell
on -dev list).

................
r154266 | rmudgett | 2008-11-04 12:01:08 -0700 (Tue, 04 Nov 2008) | 4 lines

JIRA ABE-1703
mISDN sets the channel to the wrong state when it receives
the indication AST_CONTROL_RINGING.

................
r154365 | tilghman | 2008-11-04 13:49:33 -0700 (Tue, 04 Nov 2008) | 9 lines

On busy systems, it's possible for the values checked within a single line
of code to change, unless the structure is locked to ensure a consistent
state.
(closes issue #13717)
 Reported by: kowalma
 Patches: 
       20081102__bug13717.diff.txt uploaded by Corydon76 (license 14)
 Tested by: kowalma

................
r154685 | murf | 2008-11-05 09:06:53 -0700 (Wed, 05 Nov 2008) | 1 line

This fix was prompted by communication from user, who was seeing thousands of error logs... looks like EAGAIN. Made such uninteresting.
................
r154724 | mmichelson | 2008-11-05 09:44:34 -0700 (Wed, 05 Nov 2008) | 6 lines

The logic of a strcasecmp call was reversed

(closes issue #13841)
Reported by: clegall_proformatique


................
r155011 | mmichelson | 2008-11-06 12:45:52 -0700 (Thu, 06 Nov 2008) | 8 lines

The documentation listed the ability to set 'maxmsg' per
context. The truth is that you can only set this in the general section
or per mailbox. Thus I am updating the sample config file to be more
accurate.

Thanks to sasargen on IRC for bringing up this issue.


................
r155398 | tilghman | 2008-11-07 15:27:32 -0700 (Fri, 07 Nov 2008) | 7 lines

Clarify error message.
(closes issue #13809)
 Reported by: denke
 Patches: 
       20081104__bug13809.diff.txt uploaded by Corydon76 (license 14)
 Tested by: denke

................
r155553 | seanbright | 2008-11-08 18:08:07 -0700 (Sat, 08 Nov 2008) | 6 lines

Use static functions here instead of nested ones.  This requires a small
change to the ast_bridge_config struct as well.  To understand the reason
for this change, see the following post:

    http://gcc.gnu.org/ml/gcc-help/2008-11/msg00049.html

................
r155803 | tilghman | 2008-11-10 13:49:59 -0700 (Mon, 10 Nov 2008) | 1 line

I got tired of saying this in every single bugnote referring to this file.
................
r155861 | mmichelson | 2008-11-10 14:07:39 -0700 (Mon, 10 Nov 2008) | 14 lines

Channel drivers assume that when their indicate callback
is invoked, that the channel on which the callback was called
is locked. This patch corrects an instance in chan_agent where
a channel's indicate callback is called directly without first
locking the channel.

This was leading to some observed locking issues in chan_local,
but considering that all channel drivers operate under the
same expectations, the generic fix in chan_agent is the right
way to go.

AST-126


................
r156164 | russell | 2008-11-12 10:29:52 -0700 (Wed, 12 Nov 2008) | 7 lines

Move the sanity check that makes sure "always fork" is not set along with the 
console option to be after the code that reads options from asterisk.conf.  
This resolves a situation where Asterisk can start taking up 100% when
misconfigured.
(Thanks to Bryce Porter (x86 on IRC) for letting me log in to his system to
 figure out what was causing the 100% CPU problem.)

................
r156167 | mmichelson | 2008-11-12 10:38:33 -0700 (Wed, 12 Nov 2008) | 7 lines

When doing some tests, I was having a crash at the end of every call
if an attended transfer occurred during the call. I traced the cause to
the CDR on one of the channels being NULL. murf suggested a check in
the end bridge callback to be sure the CDR is non-NULL before proceeding,
so that's what I'm adding.


................
r156178 | jpeeler | 2008-11-12 10:53:44 -0700 (Wed, 12 Nov 2008) | 8 lines

(closes issue #13173)
Reported by: pep

This change adds an announce_thread responsible for playing announcements to an existing conference. This allows all announcing to be immediately stopped if necessary but more importantly allows other threads that need to play something to not block. There are multiple benefits to this, but the actual bug is for solving the scenario for a channel to be unusable after hang up for the entire duration of the parting announcement. The parting announcement can be extremely long depending on what the user recorded upon joining the conference.

Reviewed by Russell on Review Board:
http://reviewboard.digium.com/r/25/

................
r156229 | tilghman | 2008-11-12 11:39:21 -0700 (Wed, 12 Nov 2008) | 11 lines

Revert revision 132506, since it occasionally caused IAX2 HANGUP packets not
to be sent, and instead, schedule a task to destroy the iax2 pvt structure
10 seconds later.  This allows the IAX2 HANGUP packet to be queued,
transmitted, and ACKed before the pvt is destroyed.
(closes issue #13645)
 Reported by: dzajro
 Patches: 
       20081111__bug13645__3.diff.txt uploaded by Corydon76 (license 14)
 Tested by: vazir
 Reviewed: http://reviewboard.digium.com/r/51/

................
r156289 | jpeeler | 2008-11-12 12:10:12 -0700 (Wed, 12 Nov 2008) | 3 lines

For whatever reason, gcc only warned me about the possible use of an uninitialized variable when compiling 1.6.1. 


................
r156294 | tilghman | 2008-11-12 12:26:45 -0700 (Wed, 12 Nov 2008) | 6 lines

If the SLA thread is not started, then reload causes a memory leak.
(closes issue #13889)
 Reported by: eliel
 Patches: 
       app_meetme.c.patch uploaded by eliel (license 64)

................
r156297 | murf | 2008-11-12 12:36:16 -0700 (Wed, 12 Nov 2008) | 18 lines

It turns out that the 0x0XX00 codes being returned for
N, X, and Z are off by one, as per conversation with
jsmith on #asterisk-dev;  he was teaching a class
and disconcerted that this published rule was not
being followed, with patterns _NXX, _[1-8]22 and
_[2-9]22... and NXX was winning, but [1-8] should
have been. 

This change, tested on these 3 patterns now 
picks the proper one.

However, this change may surprise users who
set up dialplans based on previous behavior,
which has been there for what, 2 and half 
years or so now.



................
r156386 | tilghman | 2008-11-12 14:18:57 -0700 (Wed, 12 Nov 2008) | 5 lines

When using call limits under 1 second, infinite call lengths are allowed,
instead.
(closes issue #13851)
 Reported by: ruddy

................
r156485 | kpfleming | 2008-11-13 04:51:27 -0700 (Thu, 13 Nov 2008) | 1 line

correct minor syntax error... no functional change
................
r156510 | kpfleming | 2008-11-13 04:58:41 -0700 (Thu, 13 Nov 2008) | 1 line

revert this change... non-functional changes don't belong here
................
r156688 | tilghman | 2008-11-13 14:24:00 -0700 (Thu, 13 Nov 2008) | 7 lines

Provide more space for all the data which can appear in an originating
channel name.
(closes issue #13398)
 Reported by: bamby
 Patches: 
       manager.c.diff uploaded by bamby (license 430)

................
r156755 | tilghman | 2008-11-13 17:41:37 -0700 (Thu, 13 Nov 2008) | 6 lines

ast_waitfordigit() requires that the channel be up, for no good logical
reason.  This prevents While/EndWhile from working within the "h"
extension.
Reported by: jgalarneau (for ABE C.2)
Fixed by: me

................
r156816 | mmichelson | 2008-11-14 08:18:59 -0700 (Fri, 14 Nov 2008) | 10 lines

If the prompt to reenter a voicemail password timed out, it
resulted in the password not being saved, even if the input matched
what you gave when first prompted to enter a new password. This is
because the return value of ast_readstring was checked, but not checked
properly.

This bug was discovered by Jared Smith during an Asterisk training course.
Thanks for reporting it!


................
r157104 | kpfleming | 2008-11-15 11:00:32 -0700 (Sat, 15 Nov 2008) | 13 lines

major update to doxygen configuration file:

1) update to doxygen 1.5.x style file, as used in trunk

2) tell doxygen where are header files are, so include-file processing can be done

3) make all macros that are used to define variables/functions be expanded, so that doxygen will properly document the resulting variable/function

4) make all macros that are used to provide the contents of a variable (structure) be expanded, so that doxygen will be able to document the resulting fields

5) suppress compiler attributes (__attribute__(xxx)) from being seen by doxygen, so it will properly match up function definition and usage (for an example of th effect of this, look at the doxygen docs for ast_log() from before and afte this commit)


................
r157162 | kpfleming | 2008-11-15 12:24:24 -0700 (Sat, 15 Nov 2008) | 1 line

dist-clean should remove dependency information files as well
................
r157163 | kpfleming | 2008-11-15 12:31:03 -0700 (Sat, 15 Nov 2008) | 1 line

when an individual directory dist-clean is run, run clean in that directory first, and when running top-level dist-clean, do not run subdirectory clean operations twice
................
r157305 | mmichelson | 2008-11-18 11:25:55 -0700 (Tue, 18 Nov 2008) | 12 lines

Fix a crash in the end_bridge_callback of app_dial and
app_followme which would occur at the end of an attended
transfer. The error occurred because we initially stored
a pointer to an ast_channel which then was hung up due
to a masquerade.

This commit adds a "fixup" callback to the bridge_config
structure to allow for end_bridge_callback_data to be
changed in the case that a new channel pointer is needed
for the end_bridge_callback.


................
r157365 | jpeeler | 2008-11-18 12:13:33 -0700 (Tue, 18 Nov 2008) | 6 lines

(closes issue #13899)
Reported by: akkornel

This fix is the result of a bug fix in ast_app_separate_args r124395. If an argument does not exist it should always be set to a null string rather than a null pointer.


................
r157503 | mmichelson | 2008-11-18 15:47:57 -0700 (Tue, 18 Nov 2008) | 13 lines

Add some missing invite state changes necessary in the sip_write
function. Not setting the invite state correctly on the call was
resulting in the Record application leaving empty files. I also
have updated the doxygen comment next to the declaration of the
INV_EARLY_MEDIA constant to reflect that we also use this state
when we *send* a 18X response to an INVITE.

(closes issue #13878)
Reported by: nahuelgreco
Patches:
      sip-early-media-recording-1.4.22.patch uploaded by nahuelgreco (license 162)
	  Tested by: putnopvut

................
r157859 | kpfleming | 2008-11-19 14:34:47 -0700 (Wed, 19 Nov 2008) | 7 lines

the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.

with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).

while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain


................
r158010 | rmudgett | 2008-11-19 18:46:09 -0700 (Wed, 19 Nov 2008) | 9 lines

Merged revision 157977 from
https://origsvn.digium.com/svn/asterisk/team/group/issue8824

........
Fixes JIRA ABE-1726

The dial extension could be empty if you are using MISDN_KEYPAD
to control ISDN provider features.

................
r158053 | mmichelson | 2008-11-20 10:33:06 -0700 (Thu, 20 Nov 2008) | 12 lines

Make sure to set the hangup cause on the calling channel in the case
that ast_call() fails. For incoming SIP channels, this was causing
us to send a 603 instead of a 486 when the call-limit was reached on
the destination channel.

(closes issue #13867)
Reported by: still_nsk
Patches:
      13867.diff uploaded by putnopvut (license 60)
Tested by: blitzrage


................
r158071 | mmichelson | 2008-11-20 10:48:42 -0700 (Thu, 20 Nov 2008) | 16 lines

We don't handle 4XX responses to BYE well. According to
section 15 of RFC 3261, we should terminate a dialog if we
receive a 481 or 408 in response to our BYE. Since I am aware
of at least one phone manufacturer who may sometimes send a 
404 as well, I am being liberal and saying that any 4XX response
to a BYE should result in a terminated dialog.


(closes issue #12994)
Reported by: pabelanger
Patches:
      12994.patch uploaded by putnopvut (license 60)

Closes AST-129


................
r158126 | mmichelson | 2008-11-20 11:06:48 -0700 (Thu, 20 Nov 2008) | 14 lines

There was an issue when attempting to reference an embedded
frame in a freed ast_filestream. This patch makes use of the
ao2 functions to make sure that we do not free an ast_filestream
structure until the embedded ast_frame has been "freed" as well.

(closes issue #13496)
Reported by: fst-onge
Patches:
      filestream_frame_1_4.diff uploaded by putnopvut (license 60)
Tested by: putnopvut

Closes AST-89


................
r158306 | mmichelson | 2008-11-21 08:24:19 -0700 (Fri, 21 Nov 2008) | 5 lines

This change had somehow gotten reverted due to a
completely unrelated commit. Thanks to Theo Belder
on the Asterisk-dev list for pointing this out.


................
r158483 | murf | 2008-11-21 14:19:47 -0700 (Fri, 21 Nov 2008) | 11 lines

(closes issue #13871)
Reported by: mdu113

This one is totally my fault. The code doesn't even
create a bridge if the channel CDR has POST_DISABLED.
I didn't check for that at the end of the bridge.
Fixed with a few small insertions. Tested. Looks
good. No cdr generated, no crash, no unnecc. data
objects created either.


................
r158539 | russell | 2008-11-21 15:05:55 -0700 (Fri, 21 Nov 2008) | 2 lines

When compiling with DEBUG_THREADS, report the real file/func/line for ao2_lock/ao2_unlock

................
r158600 | tilghman | 2008-11-21 16:07:46 -0700 (Fri, 21 Nov 2008) | 5 lines

The passed extension may not be the same in the list as the current entry,
because we strip spaces when copying the extension into the structure.
Therefore, use the copied item to place the item into the list.
(found by lmadsen on -dev, fixed by me)

................
r158603 | murf | 2008-11-21 16:14:50 -0700 (Fri, 21 Nov 2008) | 11 lines

In reference to the fix made for 13871, I was
merging the fix into 1.6.0 and realized I missed
the code in the h-exten block, and didn't catch it
because my test case had the h-exten commented out.

So, this corrects the code I missed, as a 
preventative against another crash report.
Tested with the h-exten defined, all is well.



................
r158629 | jpeeler | 2008-11-21 17:04:36 -0700 (Fri, 21 Nov 2008) | 5 lines

(closes issue #13786)
Reported by: tzafrir

When compiling against Zaptel dahdi_compat will now only define all the DAHDI defines if the Zaptel define is present. Also, there is no such thing as DAHDI_PRI.

................
r159025 | tilghman | 2008-11-24 21:50:00 -0700 (Mon, 24 Nov 2008) | 3 lines

System call ioperm is non-portable, so check for its existence in autoconf.
(Closes issue #13863)

................
r159096 | twilson | 2008-11-25 09:23:38 -0700 (Tue, 25 Nov 2008) | 2 lines

Add missing variable declaration in the PPC code

................
r159158 | russell | 2008-11-25 10:34:50 -0700 (Tue, 25 Nov 2008) | 2 lines

Add ao2_trylock() to go along with ao2_lock() and ao2_unlock()

................
r159246 | tilghman | 2008-11-25 14:40:28 -0700 (Tue, 25 Nov 2008) | 14 lines

Merged revisions 159245 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
  r159245 | tilghman | 2008-11-25 15:37:06 -0600 (Tue, 25 Nov 2008) | 7 lines
  
  Regression fix for last security fix.  Set the iseqno correctly.
  (closes issue #13918)
   Reported by: ffloimair
   Patches: 
         20081119__bug13918.diff.txt uploaded by Corydon76 (license 14)
   Tested by: ffloimair
........

................
r159269 | tilghman | 2008-11-25 14:56:48 -0700 (Tue, 25 Nov 2008) | 7 lines

Don't try to send a response on a NULL pvt.
(closes issue #13919)
 Reported by: barthpbx
 Patches: 
       chan_iax2.c.patch uploaded by eliel (license 64)
 Tested by: barthpbx

................
r159316 | murf | 2008-11-25 15:41:10 -0700 (Tue, 25 Nov 2008) | 15 lines

(closes issue #12694)
Reported by: yraber
Patches:
      12694.2nd.diff uploaded by murf (license 17)
Tested by: murf, laurav

Thanks to file (Joshua Colp) for his IAX fix.

the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.



................
r159476 | kpfleming | 2008-11-26 11:36:24 -0700 (Wed, 26 Nov 2008) | 7 lines

simplify (and slightly bug-fix) the recent developer-oriented COMPILE_DOUBLE mode

add channels/busy.h and channels/ringtone.h to the repository instead of generating them repeatedtly; most users do not change the settings to build them, but the Makefile rules are still there if they wish to do so

ensure that 'make clean' removes dependency files for .i files that are created in COMPILE_DOUBLE mode


................
r159571 | kpfleming | 2008-11-26 13:21:04 -0700 (Wed, 26 Nov 2008) | 2 lines

rename these files so as to avoid conflicts when users update their working copies and have unversioned files already in place

................
r159808 | kpfleming | 2008-11-29 09:58:29 -0700 (Sat, 29 Nov 2008) | 7 lines

update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors

since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them

format attributes in a consistent way


................
r159897 | mvanbaak | 2008-12-01 07:05:41 -0700 (Mon, 01 Dec 2008) | 4 lines

make manager compile on OpenBSD.
The last (10th) argument to ast_channel_alloc here should be a pointer
and NULL is not really a pointer.

................
r159900 | russell | 2008-12-01 07:52:56 -0700 (Mon, 01 Dec 2008) | 2 lines

Force a "make clean" to avoid a bizarre build issue ...

................
r159976 | mvanbaak | 2008-12-01 09:08:36 -0700 (Mon, 01 Dec 2008) | 3 lines

Get rid of the useless format string and argument in the Bogus/ manager channelname.
Noted by kpfleming and name Bogus/manager suggested by eliel

................
r160003 | russell | 2008-12-01 10:27:30 -0700 (Mon, 01 Dec 2008) | 6 lines

Apply some logic used in iax2_indicate() to iax2_setoption(), as well, since they
both have the potential to send control frames in the middle of call setup.  We
have to wait until we have received a message back from the remote end before
we try to send any more frames.  Otherwise, the remote end will consider it
invalid, and we'll get stuck in an INVAL/VNAK storm.

................
r160207 | tilghman | 2008-12-01 17:25:16 -0700 (Mon, 01 Dec 2008) | 3 lines

Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc
and glibc.

................
r160266 | twilson | 2008-12-01 18:16:30 -0700 (Mon, 01 Dec 2008) | 2 lines

make compile with dev mode and malloc debug

................
r160297 | tilghman | 2008-12-02 10:42:09 -0700 (Tue, 02 Dec 2008) | 10 lines

When the text does not match exactly (e.g. RTP/SAVP), then the %n conversion
fails, and the resulting integer is garbage.  Thus, we must initialize the
integer and check it afterwards for success.
(closes issue #14000)
 Reported by: folke
 Patches: 
       asterisk-sipbg-sscanf-1.4.22.diff uploaded by folke (license 626)
       asterisk-sipbg-sscanf-1.6.0.1.diff uploaded by folke (license 626)
       asterisk-sipbg-sscanf-trunk-r159896.diff uploaded by folke (license 626)

................
r160390 | twilson | 2008-12-02 16:04:23 -0700 (Tue, 02 Dec 2008) | 6 lines

A situation like A calls B, A builtin_atxfers B to C, C parks B would lead to a crash.  Thanks to file for telling me how to fix it!

(closes issue #13854)
Reported by: Adam Lee
Tested by: otherwiseguy

................
r160411 | twilson | 2008-12-02 16:58:08 -0700 (Tue, 02 Dec 2008) | 2 lines

Channel is masqueraded, don't keep alive

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

Added:
    team/murf/cdr-debug-1.4/channels/busy_tone.h
      - copied unchanged from r160411, branches/1.4/channels/busy_tone.h
    team/murf/cdr-debug-1.4/channels/ring_tone.h
      - copied unchanged from r160411, branches/1.4/channels/ring_tone.h
Modified:
    team/murf/cdr-debug-1.4/   (props changed)
    team/murf/cdr-debug-1.4/.cleancount
    team/murf/cdr-debug-1.4/Makefile
    team/murf/cdr-debug-1.4/Makefile.moddir_rules
    team/murf/cdr-debug-1.4/Makefile.rules
    team/murf/cdr-debug-1.4/agi/Makefile
    team/murf/cdr-debug-1.4/agi/eagi-sphinx-test.c
    team/murf/cdr-debug-1.4/agi/eagi-test.c
    team/murf/cdr-debug-1.4/apps/app_adsiprog.c
    team/murf/cdr-debug-1.4/apps/app_authenticate.c
    team/murf/cdr-debug-1.4/apps/app_chanspy.c
    team/murf/cdr-debug-1.4/apps/app_dial.c
    team/murf/cdr-debug-1.4/apps/app_festival.c
    team/murf/cdr-debug-1.4/apps/app_followme.c
    team/murf/cdr-debug-1.4/apps/app_meetme.c
    team/murf/cdr-debug-1.4/apps/app_queue.c
    team/murf/cdr-debug-1.4/apps/app_rpt.c
    team/murf/cdr-debug-1.4/apps/app_sms.c
    team/murf/cdr-debug-1.4/apps/app_voicemail.c
    team/murf/cdr-debug-1.4/apps/app_while.c
    team/murf/cdr-debug-1.4/bootstrap.sh
    team/murf/cdr-debug-1.4/channels/   (props changed)
    team/murf/cdr-debug-1.4/channels/Makefile
    team/murf/cdr-debug-1.4/channels/chan_agent.c
    team/murf/cdr-debug-1.4/channels/chan_alsa.c
    team/murf/cdr-debug-1.4/channels/chan_dahdi.c
    team/murf/cdr-debug-1.4/channels/chan_h323.c
    team/murf/cdr-debug-1.4/channels/chan_iax2.c
    team/murf/cdr-debug-1.4/channels/chan_local.c
    team/murf/cdr-debug-1.4/channels/chan_misdn.c
    team/murf/cdr-debug-1.4/channels/chan_oss.c
    team/murf/cdr-debug-1.4/channels/chan_sip.c
    team/murf/cdr-debug-1.4/channels/chan_skinny.c
    team/murf/cdr-debug-1.4/channels/chan_vpb.cc
    team/murf/cdr-debug-1.4/channels/misdn/   (props changed)
    team/murf/cdr-debug-1.4/channels/misdn/Makefile
    team/murf/cdr-debug-1.4/codecs/gsm/Makefile
    team/murf/cdr-debug-1.4/codecs/gsm/src/   (props changed)
    team/murf/cdr-debug-1.4/configs/features.conf.sample
    team/murf/cdr-debug-1.4/configs/voicemail.conf.sample
    team/murf/cdr-debug-1.4/configure
    team/murf/cdr-debug-1.4/configure.ac
    team/murf/cdr-debug-1.4/contrib/asterisk-ng-doxygen
    team/murf/cdr-debug-1.4/doc/valgrind.txt
    team/murf/cdr-debug-1.4/formats/format_gsm.c
    team/murf/cdr-debug-1.4/formats/format_ogg_vorbis.c
    team/murf/cdr-debug-1.4/formats/format_wav.c
    team/murf/cdr-debug-1.4/formats/format_wav_gsm.c
    team/murf/cdr-debug-1.4/funcs/func_channel.c
    team/murf/cdr-debug-1.4/funcs/func_enum.c
    team/murf/cdr-debug-1.4/funcs/func_odbc.c
    team/murf/cdr-debug-1.4/include/asterisk/astmm.h
    team/murf/cdr-debug-1.4/include/asterisk/astobj2.h
    team/murf/cdr-debug-1.4/include/asterisk/autoconfig.h.in
    team/murf/cdr-debug-1.4/include/asterisk/channel.h
    team/murf/cdr-debug-1.4/include/asterisk/cli.h
    team/murf/cdr-debug-1.4/include/asterisk/dahdi_compat.h
    team/murf/cdr-debug-1.4/include/asterisk/devicestate.h
    team/murf/cdr-debug-1.4/include/asterisk/dundi.h
    team/murf/cdr-debug-1.4/include/asterisk/features.h
    team/murf/cdr-debug-1.4/include/asterisk/file.h
    team/murf/cdr-debug-1.4/include/asterisk/frame.h
    team/murf/cdr-debug-1.4/include/asterisk/linkedlists.h
    team/murf/cdr-debug-1.4/include/asterisk/lock.h
    team/murf/cdr-debug-1.4/include/asterisk/logger.h
    team/murf/cdr-debug-1.4/include/asterisk/manager.h
    team/murf/cdr-debug-1.4/include/asterisk/module.h
    team/murf/cdr-debug-1.4/include/asterisk/pbx.h
    team/murf/cdr-debug-1.4/include/asterisk/res_odbc.h
    team/murf/cdr-debug-1.4/include/asterisk/stringfields.h
    team/murf/cdr-debug-1.4/include/asterisk/strings.h
    team/murf/cdr-debug-1.4/include/asterisk/threadstorage.h
    team/murf/cdr-debug-1.4/include/asterisk/utils.h
    team/murf/cdr-debug-1.4/include/jitterbuf.h
    team/murf/cdr-debug-1.4/main/ast_expr2.c
    team/murf/cdr-debug-1.4/main/ast_expr2f.c
    team/murf/cdr-debug-1.4/main/asterisk.c
    team/murf/cdr-debug-1.4/main/astobj2.c
    team/murf/cdr-debug-1.4/main/cdr.c
    team/murf/cdr-debug-1.4/main/channel.c
    team/murf/cdr-debug-1.4/main/cli.c
    team/murf/cdr-debug-1.4/main/db1-ast/Makefile
    team/murf/cdr-debug-1.4/main/db1-ast/btree/   (props changed)
    team/murf/cdr-debug-1.4/main/db1-ast/db/   (props changed)
    team/murf/cdr-debug-1.4/main/db1-ast/hash/   (props changed)
    team/murf/cdr-debug-1.4/main/db1-ast/hash/hash_page.c
    team/murf/cdr-debug-1.4/main/db1-ast/mpool/   (props changed)
    team/murf/cdr-debug-1.4/main/db1-ast/recno/   (props changed)
    team/murf/cdr-debug-1.4/main/dns.c
    team/murf/cdr-debug-1.4/main/enum.c
    team/murf/cdr-debug-1.4/main/file.c
    team/murf/cdr-debug-1.4/main/frame.c
    team/murf/cdr-debug-1.4/main/http.c
    team/murf/cdr-debug-1.4/main/jitterbuf.c
    team/murf/cdr-debug-1.4/main/logger.c
    team/murf/cdr-debug-1.4/main/manager.c
    team/murf/cdr-debug-1.4/main/pbx.c
    team/murf/cdr-debug-1.4/main/rtp.c
    team/murf/cdr-debug-1.4/main/srv.c
    team/murf/cdr-debug-1.4/main/stdtime/   (props changed)
    team/murf/cdr-debug-1.4/main/stdtime/Makefile
    team/murf/cdr-debug-1.4/main/translate.c
    team/murf/cdr-debug-1.4/main/utils.c
    team/murf/cdr-debug-1.4/makeopts.in
    team/murf/cdr-debug-1.4/pbx/Makefile
    team/murf/cdr-debug-1.4/pbx/ael/   (props changed)
    team/murf/cdr-debug-1.4/pbx/ael/ael.flex
    team/murf/cdr-debug-1.4/pbx/ael/ael.tab.c
    team/murf/cdr-debug-1.4/pbx/ael/ael.tab.h
    team/murf/cdr-debug-1.4/pbx/ael/ael.y
    team/murf/cdr-debug-1.4/pbx/ael/ael_lex.c
    team/murf/cdr-debug-1.4/pbx/pbx_config.c
    team/murf/cdr-debug-1.4/pbx/pbx_dundi.c
    team/murf/cdr-debug-1.4/res/Makefile
    team/murf/cdr-debug-1.4/res/res_agi.c
    team/murf/cdr-debug-1.4/res/res_crypto.c
    team/murf/cdr-debug-1.4/res/res_features.c
    team/murf/cdr-debug-1.4/res/res_indications.c
    team/murf/cdr-debug-1.4/res/res_jabber.c
    team/murf/cdr-debug-1.4/res/res_musiconhold.c
    team/murf/cdr-debug-1.4/res/snmp/   (props changed)
    team/murf/cdr-debug-1.4/utils/Makefile
    team/murf/cdr-debug-1.4/utils/astman.c
    team/murf/cdr-debug-1.4/utils/check_expr.c
    team/murf/cdr-debug-1.4/utils/frame.c
    team/murf/cdr-debug-1.4/utils/muted.c
    team/murf/cdr-debug-1.4/utils/stereorize.c
    team/murf/cdr-debug-1.4/utils/streamplayer.c

Propchange: team/murf/cdr-debug-1.4/
------------------------------------------------------------------------------
    automerge = yes

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

Propchange: team/murf/cdr-debug-1.4/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Dec  2 21:10:55 2008
@@ -1,1 +1,1 @@
-/branches/1.4:1-152482
+/branches/1.4:1-160424

Modified: team/murf/cdr-debug-1.4/.cleancount
URL: http://svn.digium.com/view/asterisk/team/murf/cdr-debug-1.4/.cleancount?view=diff&rev=160442&r1=160441&r2=160442
==============================================================================
--- team/murf/cdr-debug-1.4/.cleancount (original)
+++ team/murf/cdr-debug-1.4/.cleancount Tue Dec  2 21:10:55 2008
@@ -1,1 +1,1 @@
-32
+33

Modified: team/murf/cdr-debug-1.4/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/cdr-debug-1.4/Makefile?view=diff&rev=160442&r1=160441&r2=160442
==============================================================================
--- team/murf/cdr-debug-1.4/Makefile (original)
+++ team/murf/cdr-debug-1.4/Makefile Tue Dec  2 21:10:55 2008
@@ -204,7 +204,14 @@
 ASTCFLAGS+=-Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)
 
 ifeq ($(AST_DEVMODE),yes)
-  ASTCFLAGS+=-Werror  -Wunused $(AST_DECLARATION_AFTER_STATEMENT)
+  ASTCFLAGS+=-Werror
+  ASTCFLAGS+=-Wunused
+  ASTCFLAGS+=$(AST_DECLARATION_AFTER_STATEMENT)
+  ASTCFLAGS+=$(AST_FORTIFY_SOURCE)
+# ASTCFLAGS+=-Wundef 
+  ASTCFLAGS+=-Wformat -Wformat-security
+  ASTCFLAGS+=-Wmissing-format-attribute
+# ASTCFLAGS+=-Wformat=2
 endif
 
 ifneq ($(findstring BSD,$(OSARCH)),)
@@ -373,7 +380,9 @@
 $(SUBDIRS_DIST_CLEAN):
 	@$(MAKE) --no-print-directory -C $(@:-dist-clean=) dist-clean
 
-clean: $(SUBDIRS_CLEAN)
+clean: $(SUBDIRS_CLEAN) _clean
+
+_clean:
 	rm -f defaults.h
 	rm -f include/asterisk/build.h
 	rm -f include/asterisk/version.h
@@ -382,7 +391,7 @@
 
 dist-clean: distclean
 
-distclean: $(SUBDIRS_DIST_CLEAN) clean
+distclean: $(SUBDIRS_DIST_CLEAN) _clean
 	@$(MAKE) -C menuselect dist-clean
 	@$(MAKE) -C sounds dist-clean
 	rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
@@ -758,6 +767,6 @@
 	@cat sounds/sounds.xml >> $@
 	@echo "</menu>" >> $@
 
-.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell menuselect.makeopts installdirs
+.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell menuselect.makeopts installdirs _clean
 
 FORCE:

Modified: team/murf/cdr-debug-1.4/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/murf/cdr-debug-1.4/Makefile.moddir_rules?view=diff&rev=160442&r1=160441&r2=160442
==============================================================================
--- team/murf/cdr-debug-1.4/Makefile.moddir_rules (original)
+++ team/murf/cdr-debug-1.4/Makefile.moddir_rules Tue Dec  2 21:10:55 2008
@@ -64,8 +64,8 @@
 	@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
 
 clean::
-	rm -f *.so *.o *.oo *.s *.i
-	rm -f .*.o.d .*.oo.d
+	rm -f *.so *.o *.oo *.s *.i *.ii
+	rm -f .*.d
 	rm -f modules.link
 
 install:: all

Modified: team/murf/cdr-debug-1.4/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/murf/cdr-debug-1.4/Makefile.rules?view=diff&rev=160442&r1=160441&r2=160442
==============================================================================
--- team/murf/cdr-debug-1.4/Makefile.rules (original)
+++ team/murf/cdr-debug-1.4/Makefile.rules Tue Dec  2 21:10:55 2008
@@ -3,7 +3,7 @@
 # 
 # Makefile rules
 #
-# Copyright (C) 2006, Digium, Inc.
+# Copyright (C) 2006-2008, Digium, Inc.
 #
 # Kevin P. Fleming <kpfleming at digium.com>
 #
@@ -19,44 +19,92 @@
 
 .PHONY: dist-clean
 
+# If 'make' decides to create intermediate files to satisfy a build requirement
+# (like producing a .i from a .c), we want to keep them, so tell make to keep
+# all intermediate files
+.SECONDARY:
+
+# extra cflags to build dependencies. Recursively expanded.
+MAKE_DEPS=-MD -MT $@ -MF .$(subst /,_,$@).d -MP
+
 ifeq ($(NOISY_BUILD),)
-   ECHO_PREFIX=@
-   CMD_PREFIX=@
+    ECHO_PREFIX=@
+    CMD_PREFIX=@
 else
-   ECHO_PREFIX=@\# 
-   CMD_PREFIX=
+    ECHO_PREFIX=@\# 
+    CMD_PREFIX=
 endif
 
+OPTIMIZE?=-O6
+
 ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
-# More GSM codec optimization
-# Uncomment to enable MMXTM optimizations for x86 architecture CPU's
-# which support MMX instructions.  This should be newer pentiums,
-# ppro's, etc, as well as the AMD K6 and K7.  
-#K6OPT=-DK6OPT
+    # More GSM codec optimization
+    # Uncomment to enable MMXTM optimizations for x86 architecture CPU's
+    # which support MMX instructions.  This should be newer pentiums,
+    # ppro's, etc, as well as the AMD K6 and K7.  
+    #K6OPT=-DK6OPT
 
-OPTIMIZE?=-O6
-ASTCFLAGS+=$(OPTIMIZE)
+    ASTCFLAGS+=$(OPTIMIZE)
 endif
 
-%.o: %.c
-	$(ECHO_PREFIX) echo "   [CC] $< -> $@"
-	$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+# shortcuts for common combinations of flags; these must be recursively expanded so that
+# per-target settings will be applied
+CC_CFLAGS=$(PTHREAD_CFLAGS) $(ASTCFLAGS)
+CXX_CFLAGS=$(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS))
+CC_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CXX_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CC_LIBS=$(PTHREAD_LIBS) $(LIBS)
+CXX_LIBS=$(PTHREAD_LIBS) $(LIBS)
+
+# determine whether to double-compile so that the optimizer can report code path problems
+# this is only done when developer mode and DONT_OPTIMIZE are both enabled
+# in that case, we run the preprocessor to produce a .i or .ii file from the source
+# code, then compile once with optimizer enabled (and the output to /dev/null),
+# and if that doesn't fail then compile again with optimizer disabled
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),DONT_OPTIMIZEyes)
+COMPILE_DOUBLE=yes
+endif
+
+%.o: %.s
+	$(ECHO_PREFIX) echo "   [AS] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+	$(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+	$(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
 
 %.o: %.i

[... 10592 lines stripped ...]



More information about the svn-commits mailing list