[svn-commits] murf: branch murf/bug7978 r48590 - in /team/murf/bug7978: ./ agi/ apps/ build...

svn-commits at lists.digium.com svn-commits at lists.digium.com
Tue Dec 19 14:46:42 MST 2006


Author: murf
Date: Tue Dec 19 15:46:41 2006
New Revision: 48590

URL: http://svn.digium.com/view/asterisk?view=rev&rev=48590
Log:
Merged revisions 48455,48458-48459,48462,48473,48476-48477,48479-48480,48485,48488,48491,48495,48497-48499,48501,48503,48505,48507-48510,48512,48514-48517,48520,48522,48526-48527,48529,48543,48549-48551,48553,48555,48558-48560,48562-48563,48565,48567-48568,48572-48575,48578,48580-48581 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r48455 | mogorman | 2006-12-13 14:23:54 -0700 (Wed, 13 Dec 2006) | 4 lines

support for deactivating translation paths that are no longer available
and more descriptive show transcoder cli command.


................
r48458 | rizzo | 2006-12-13 15:54:41 -0700 (Wed, 13 Dec 2006) | 14 lines

clean up function manager_show_dialplan_helper()
reducing indentation and normalizing loops.

While doing this, remove some unused variables,
fix an uninitialized string (idaction), and mark
some places where the behaviour is not what we would expect
(e.g. an empty context is reported as an error same as
a non-existent one). Given that this function is
not in 1.4, the above can be changed without too many
backward compatibility concerns.

Not applicable to 1.4 or below.


................
r48459 | rizzo | 2006-12-13 16:08:02 -0700 (Wed, 13 Dec 2006) | 5 lines

make sure that showdialplan sends only one
'Response: Success ' message even in case of
a recursive call.


................
r48462 | file | 2006-12-13 20:39:39 -0700 (Wed, 13 Dec 2006) | 10 lines

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

........
r48461 | file | 2006-12-13 22:33:30 -0500 (Wed, 13 Dec 2006) | 2 lines

Remove direct RTCP bridging. I've come to the conclusion that we should handle this through the core and not just forward it on. Should solve a few bugs.

........

................
r48473 | file | 2006-12-14 10:39:16 -0700 (Thu, 14 Dec 2006) | 10 lines

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

........
r48472 | file | 2006-12-14 12:36:12 -0500 (Thu, 14 Dec 2006) | 2 lines

Payload values on the RTP structure can change AFTER a bridge has started. This comes from the packet handling of the SIP response when indication that it was answered has been sent. Therefore we need to protect this data with a lock when we read/write. (issue #8232 reported by tgrman)

........

................
r48476 | rizzo | 2006-12-14 20:59:31 -0700 (Thu, 14 Dec 2006) | 4 lines

remove the macro LOAD_OH and expand it inline in the only
place where it was used.


................
r48477 | rizzo | 2006-12-14 21:03:42 -0700 (Thu, 14 Dec 2006) | 3 lines

constify ast_state2str() and note it is not reentrant.


................
r48479 | file | 2006-12-14 23:31:26 -0700 (Thu, 14 Dec 2006) | 10 lines

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

........
r48478 | file | 2006-12-15 01:28:05 -0500 (Fri, 15 Dec 2006) | 2 lines

Use a wakeup variable so that we don't wait on IO indefinitely if packets need to be retransmitted.

........

................
r48480 | file | 2006-12-14 23:34:29 -0700 (Thu, 14 Dec 2006) | 2 lines

Add support to see what holds the lock when doing trylock.

................
r48485 | oej | 2006-12-15 03:54:06 -0700 (Fri, 15 Dec 2006) | 2 lines

Update to latest IANA specs

................
r48488 | oej | 2006-12-15 03:58:36 -0700 (Fri, 15 Dec 2006) | 2 lines

Issue #8592 - treat 504 as congestion (imported from 1.2/1.4)

................
r48491 | oej | 2006-12-15 06:36:34 -0700 (Fri, 15 Dec 2006) | 2 lines

Doxygen changes

................
r48495 | rizzo | 2006-12-15 07:33:59 -0700 (Fri, 15 Dec 2006) | 3 lines

small documentation improvements.


................
r48497 | rizzo | 2006-12-15 08:39:29 -0700 (Fri, 15 Dec 2006) | 3 lines

replace ast_safe_string_alloc() with asprintf()


................
r48498 | rizzo | 2006-12-15 08:40:57 -0700 (Fri, 15 Dec 2006) | 3 lines

replace ast_safe_string_alloc() with asprintf()


................
r48499 | rizzo | 2006-12-15 08:44:59 -0700 (Fri, 15 Dec 2006) | 4 lines

remove ast_safe_string_alloc() - it is completely
equivalent to asprintf().


................
r48501 | rizzo | 2006-12-15 11:37:29 -0700 (Fri, 15 Dec 2006) | 7 lines

unbreak the output for http session.

Not long ago i replaced lseek() with fseek() but
forgot that filr FILE's you need ftell to
give you the current position.


................
r48503 | file | 2006-12-15 12:26:45 -0700 (Fri, 15 Dec 2006) | 10 lines

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

........
r48502 | file | 2006-12-15 14:24:15 -0500 (Fri, 15 Dec 2006) | 2 lines

Lock network retransmission queue in all places that it is used.

........

................
r48505 | file | 2006-12-15 12:40:29 -0700 (Fri, 15 Dec 2006) | 10 lines

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

........
r48504 | file | 2006-12-15 14:38:51 -0500 (Fri, 15 Dec 2006) | 2 lines

Hold call structure lock in places where a qualify or peer action can destroy it.

........

................
r48507 | file | 2006-12-15 12:57:04 -0700 (Fri, 15 Dec 2006) | 10 lines

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

........
r48506 | file | 2006-12-15 14:55:28 -0500 (Fri, 15 Dec 2006) | 2 lines

Turn payload_lock into bridge_lock and make it encompass all RTP structure contents that may relate to bridge information, including who we are bridged to.

........

................
r48508 | rizzo | 2006-12-15 15:00:48 -0700 (Fri, 15 Dec 2006) | 3 lines

remove a duplicate include


................
r48509 | rizzo | 2006-12-15 15:08:46 -0700 (Fri, 15 Dec 2006) | 19 lines

move the dynamic string support in a better place i.e. string.h

While doing this, add a bit of documentation, and slightly
extend the functionality as follows:
 + a max_len of -1 means that we take whatever the current size
   is, and never try to extend the buffer;
 + add support for alloca()-ted dynamic strings, which is very
   useful for all cases where we do an ast_build_string() now.

Next step is to simplify the interface by using shorter names
(e.g. ast_str as a prefix) and removing the _thread variant
of the functions by saving the threadstorage reference into
the struct ast_str. This can be done by overloading the
'type' field.

Finally, I will do my best to remove the convoluted interface
that results from trying to support platforms without va_copy().


................
r48510 | rizzo | 2006-12-15 16:10:42 -0700 (Fri, 15 Dec 2006) | 10 lines

simplify the ast_dynamic_str_*.... routines by
renaming them to ast_str ... and putting the
struct ast_threadstorage pointer into the struct ast_str.

This makes the code a lot more readable.

At this point we can use these routines also to
replace ast_build_string().


................
r48512 | rizzo | 2006-12-15 19:42:53 -0700 (Fri, 15 Dec 2006) | 3 lines

prevent a compiler warning


................
r48514 | kpfleming | 2006-12-15 21:25:46 -0700 (Fri, 15 Dec 2006) | 10 lines

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

........
r48513 | kpfleming | 2006-12-15 22:25:09 -0600 (Fri, 15 Dec 2006) | 2 lines

instead of initializing the curl library every time the CURL() function is invoked, do it only once per thread (this allows multiple calls to CURL() in the dialplan for a channel to run much more quickly, and also to re-use connections to the server) (thanks to JerJer for frequently complaining about this performance problem)

........

................
r48515 | rizzo | 2006-12-16 02:33:31 -0700 (Sat, 16 Dec 2006) | 5 lines

replace ast_build_string() with ast_str_*() functions.
This makes the code easier to follow and saves some
copies to intermediate buffers.


................
r48516 | rizzo | 2006-12-16 02:46:20 -0700 (Sat, 16 Dec 2006) | 3 lines

convert ast_build_str to ast_str_*


................
r48517 | rizzo | 2006-12-16 02:56:31 -0700 (Sat, 16 Dec 2006) | 3 lines

another conversion from ast_build_str to ast_str


................
r48520 | rizzo | 2006-12-16 04:23:07 -0700 (Sat, 16 Dec 2006) | 3 lines

forgot this part...


................
r48522 | kpfleming | 2006-12-16 13:19:19 -0700 (Sat, 16 Dec 2006) | 10 lines

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

........
r48521 | kpfleming | 2006-12-16 14:12:41 -0600 (Sat, 16 Dec 2006) | 2 lines

since we really, really have to have autoconfig.h included before all other headers (especially system headers), the Makefile will now force it to happen (this will fix build problems with files like ast_expr2f.c, where we can't control the inclusion order in the file itself)

........

................
r48526 | kpfleming | 2006-12-16 14:24:08 -0700 (Sat, 16 Dec 2006) | 2 lines

update to use trunk's version of the threadstorage API

................
r48527 | kpfleming | 2006-12-16 14:24:52 -0700 (Sat, 16 Dec 2006) | 10 lines

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

........
r48525 | kpfleming | 2006-12-16 15:14:34 -0600 (Sat, 16 Dec 2006) | 2 lines

simplify dependency tracking system, using the compiler's built-in method for generating them, and only doing dependency tracking if developer mode is enabled via the configure script

........

................
r48529 | kpfleming | 2006-12-16 14:38:10 -0700 (Sat, 16 Dec 2006) | 10 lines

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

........
r48528 | kpfleming | 2006-12-16 15:34:41 -0600 (Sat, 16 Dec 2006) | 2 lines

use m4 quoting for AC_MSG_NOTICE calls, to keep these calls from thinking they have multiple arguments

........

................
r48543 | rizzo | 2006-12-17 05:47:08 -0700 (Sun, 17 Dec 2006) | 3 lines

define a mask SIP_INSECURE sam as for other sets of flags.


................
r48549 | kpfleming | 2006-12-17 11:33:53 -0700 (Sun, 17 Dec 2006) | 10 lines

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

........
r48548 | kpfleming | 2006-12-17 12:33:24 -0600 (Sun, 17 Dec 2006) | 2 lines

need an additional argument here to make the downloads actually occur

........

................
r48550 | rizzo | 2006-12-17 15:47:30 -0700 (Sun, 17 Dec 2006) | 5 lines

replace ast_build_string() with ast_str_*();

simplify __queues_show()


................
r48551 | rizzo | 2006-12-17 15:57:46 -0700 (Sun, 17 Dec 2006) | 11 lines

replace ast_build_string() with ast_str_*().

Unless i am very mistaken, function_realtime_read() was
broken in that it would always return an empty string
(because ast_build_string() advanced the pointer to the
end of the string, and there was no reference to the
initial value.

This commit should fix this problem.


................
r48553 | rizzo | 2006-12-18 04:28:37 -0700 (Mon, 18 Dec 2006) | 13 lines

Replace ast_build_string with ast_str_*().

On passing remove presumably duplicate code to generate
the message for the manager_hooks:

in the previous version, the message was almost the same as the one sent
to regular sessions, with the exception of the empty line at the end, and
a few (presumably unintentional) differences e.g.  timestamps,
debugging, and lowercase headers for "event" and "privilege".

now we reuse the same message as before.


................
r48555 | kpfleming | 2006-12-18 04:59:48 -0700 (Mon, 18 Dec 2006) | 11 lines

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

........
r48554 | kpfleming | 2006-12-18 05:59:24 -0600 (Mon, 18 Dec 2006) | 3 lines

remove some now-unnecessary explicit includes of autoconfig.h
clean up per-file dependencies during 'make clean'

........

................
r48558 | rizzo | 2006-12-18 08:36:31 -0700 (Mon, 18 Dec 2006) | 5 lines

debugging shows that we always need more than 128 bytes
for the verbose and logging messages so start with a
larger buffer from the beginning.


................
r48559 | rizzo | 2006-12-18 08:38:50 -0700 (Mon, 18 Dec 2006) | 5 lines

convert the final clients of ast_build_string to use ast_str_*()

Now the only module left using it is chan_sip.c


................
r48560 | rizzo | 2006-12-18 09:24:44 -0700 (Mon, 18 Dec 2006) | 11 lines

apply the proposed fix for bug 8602
http://bugs.digium.com/view.php?id=8602
(i am not sure if there is still missing cast in
front of the alloca() call - being a macro this is
probably triggered only when actually used).

Add function ast_str_reset() to reinitialize the
string to an empty string instead of playing with
the internal fields.


................
r48562 | qwell | 2006-12-18 09:56:44 -0700 (Mon, 18 Dec 2006) | 9 lines

Blocked revisions 48561 via svnmerge

........
r48561 | qwell | 2006-12-18 10:55:46 -0600 (Mon, 18 Dec 2006) | 2 lines

ctrl-w != w  (nano search)

........

................
r48563 | qwell | 2006-12-18 09:57:24 -0700 (Mon, 18 Dec 2006) | 2 lines

ctrl-w != w  (nano search)  (surprisingly, the fix was ever so slightly different in 1.4)

................
r48565 | file | 2006-12-18 10:18:18 -0700 (Mon, 18 Dec 2006) | 10 lines

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

........
r48564 | file | 2006-12-18 12:15:49 -0500 (Mon, 18 Dec 2006) | 2 lines

Put thread into proper list if we abort handling due to an error, and also hold the lock while putting it back into the proper idle list so we don't prematurely get a signal. (issue #8604 reported by arkadia)

........

................
r48567 | file | 2006-12-18 10:30:53 -0700 (Mon, 18 Dec 2006) | 2 lines

Clean up find_idle_thread function and use atomic operations for dynamic thread count.

................
r48568 | rizzo | 2006-12-18 10:44:18 -0700 (Mon, 18 Dec 2006) | 9 lines

unbreak the macro used for incrementing the frame counters.

I don't know when the bug was introduced, but with the typical usage

	c->fin = FRAMECOUNT_INC(c->fin)

the frame counters stay to 0.


................
r48572 | file | 2006-12-18 20:47:44 -0700 (Mon, 18 Dec 2006) | 10 lines

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

........
r48571 | file | 2006-12-18 22:46:12 -0500 (Mon, 18 Dec 2006) | 2 lines

Use env -i to start a fresh environment when going to build menuselect. This is more portable then using unset. (issue #8543 reported by jtodd)

........

................
r48573 | rizzo | 2006-12-19 02:15:23 -0700 (Tue, 19 Dec 2006) | 3 lines

move a large block related to privacy handling to a separate function.


................
r48574 | rizzo | 2006-12-19 02:33:57 -0700 (Tue, 19 Dec 2006) | 7 lines

stop what i think is a memory leak in case Dial fails to
connect to a channel.

Before committing to 1.4 i would like some other people to
review and test this fix - thanks.


................
r48575 | rizzo | 2006-12-19 02:58:40 -0700 (Tue, 19 Dec 2006) | 3 lines

introduce a temporary variable for tmp->chan to shorten expressions.


................
r48578 | kpfleming | 2006-12-19 07:57:45 -0700 (Tue, 19 Dec 2006) | 10 lines

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

........
r48577 | kpfleming | 2006-12-19 08:57:09 -0600 (Tue, 19 Dec 2006) | 2 lines

use the proper variable type for these unixODBC API calls, eliminating warnings on 64-bit platforms that use the 'new' 64-bit types for ODBC API calls

........

................
r48580 | rizzo | 2006-12-19 09:35:49 -0700 (Tue, 19 Dec 2006) | 3 lines

remove now useless extern declarations.


................
r48581 | rizzo | 2006-12-19 09:36:45 -0700 (Tue, 19 Dec 2006) | 3 lines

better name for struct dial_localuser.


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

Removed:
    team/murf/bug7978/build_tools/mkdep
Modified:
    team/murf/bug7978/   (props changed)
    team/murf/bug7978/Makefile
    team/murf/bug7978/Makefile.moddir_rules
    team/murf/bug7978/Makefile.rules
    team/murf/bug7978/acinclude.m4
    team/murf/bug7978/agi/   (props changed)
    team/murf/bug7978/agi/Makefile
    team/murf/bug7978/apps/   (props changed)
    team/murf/bug7978/apps/app_dial.c
    team/murf/bug7978/apps/app_dumpchan.c
    team/murf/bug7978/apps/app_queue.c
    team/murf/bug7978/build_tools/prep_tarball
    team/murf/bug7978/cdr/   (props changed)
    team/murf/bug7978/channels/   (props changed)
    team/murf/bug7978/channels/chan_features.c
    team/murf/bug7978/channels/chan_iax2.c
    team/murf/bug7978/channels/chan_sip.c
    team/murf/bug7978/channels/chan_zap.c
    team/murf/bug7978/codecs/   (props changed)
    team/murf/bug7978/codecs/codec_zap.c
    team/murf/bug7978/codecs/gsm/   (props changed)
    team/murf/bug7978/codecs/gsm/Makefile
    team/murf/bug7978/codecs/ilbc/   (props changed)
    team/murf/bug7978/codecs/ilbc/Makefile
    team/murf/bug7978/codecs/lpc10/   (props changed)
    team/murf/bug7978/codecs/lpc10/Makefile
    team/murf/bug7978/configure
    team/murf/bug7978/configure.ac
    team/murf/bug7978/formats/   (props changed)
    team/murf/bug7978/funcs/   (props changed)
    team/murf/bug7978/funcs/func_curl.c
    team/murf/bug7978/funcs/func_odbc.c
    team/murf/bug7978/funcs/func_realtime.c
    team/murf/bug7978/include/asterisk.h
    team/murf/bug7978/include/asterisk/autoconfig.h.in
    team/murf/bug7978/include/asterisk/cdr.h
    team/murf/bug7978/include/asterisk/channel.h
    team/murf/bug7978/include/asterisk/http.h
    team/murf/bug7978/include/asterisk/lock.h
    team/murf/bug7978/include/asterisk/pbx.h
    team/murf/bug7978/include/asterisk/rtp.h
    team/murf/bug7978/include/asterisk/strings.h
    team/murf/bug7978/include/asterisk/tdd.h
    team/murf/bug7978/include/asterisk/threadstorage.h
    team/murf/bug7978/include/asterisk/utils.h
    team/murf/bug7978/main/   (props changed)
    team/murf/bug7978/main/Makefile
    team/murf/bug7978/main/cdr.c
    team/murf/bug7978/main/channel.c
    team/murf/bug7978/main/cli.c
    team/murf/bug7978/main/db1-ast/   (props changed)
    team/murf/bug7978/main/http.c
    team/murf/bug7978/main/logger.c
    team/murf/bug7978/main/manager.c
    team/murf/bug7978/main/pbx.c
    team/murf/bug7978/main/rtp.c
    team/murf/bug7978/main/stdtime/localtime.c
    team/murf/bug7978/main/tdd.c
    team/murf/bug7978/main/translate.c
    team/murf/bug7978/main/utils.c
    team/murf/bug7978/pbx/   (props changed)
    team/murf/bug7978/res/   (props changed)
    team/murf/bug7978/res/res_config_odbc.c
    team/murf/bug7978/res/res_limit.c
    team/murf/bug7978/res/res_smdi.c
    team/murf/bug7978/utils/   (props changed)
    team/murf/bug7978/utils/Makefile
    team/murf/bug7978/utils/ael_main.c
    team/murf/bug7978/utils/astman.c
    team/murf/bug7978/utils/smsq.c

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

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

Propchange: team/murf/bug7978/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Dec 19 15:46:41 2006
@@ -1,1 +1,1 @@
-/trunk:1-48441
+/trunk:1-48585

Modified: team/murf/bug7978/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/Makefile?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/Makefile (original)
+++ team/murf/bug7978/Makefile Tue Dec 19 15:46:41 2006
@@ -181,6 +181,8 @@
 
 ASTCFLAGS+=-pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)
 
+ASTCFLAGS+=-include $(ASTTOPDIR)/include/asterisk/autoconfig.h
+
 ifeq ($(AST_DEVMODE),yes)
   ASTCFLAGS+=-Werror -Wunused
 endif
@@ -237,10 +239,6 @@
 SUBDIRS:=$(OTHER_SUBDIRS) $(MOD_SUBDIRS)
 SUBDIRS_INSTALL:=$(SUBDIRS:%=%-install)
 SUBDIRS_CLEAN:=$(SUBDIRS:%=%-clean)
-SUBDIRS_CLEAN_DEPEND:=$(SUBDIRS:%=%-clean-depend)
-MOD_SUBDIRS_DEPEND:=$(MOD_SUBDIRS:%=%-depend)
-OTHER_SUBDIRS_DEPEND:=$(OTHER_SUBDIRS:%=%-depend)
-SUBDIRS_DEPEND:=$(OTHER_SUBDIRS_DEPEND) $(MOD_SUBDIRS_DEPEND)
 SUBDIRS_UNINSTALL:=$(SUBDIRS:%=%-uninstall)
 MOD_SUBDIRS_EMBED_LDSCRIPT:=$(MOD_SUBDIRS:%=%-embed-ldscript)
 MOD_SUBDIRS_EMBED_LDFLAGS:=$(MOD_SUBDIRS:%=%-embed-ldflags)
@@ -304,7 +302,7 @@
 	@$(MAKE) --no-print-directory $(MOD_SUBDIRS_EMBED_LDFLAGS)
 	@$(MAKE) --no-print-directory $(MOD_SUBDIRS_EMBED_LIBS)
 
-$(SUBDIRS): depend makeopts.embed_rules
+$(SUBDIRS): include/asterisk/version.h include/asterisk/build.h include/asterisk/buildopts.h defaults.h makeopts.embed_rules
 
 # ensure that all module subdirectories are processed before 'main' during
 # a parallel build, since if there are modules selected to be embedded the
@@ -346,19 +344,13 @@
 	fi
 	@rm -f $@.tmp
 
-$(SUBDIRS_CLEAN_DEPEND):
-	@$(MAKE) --no-print-directory -C $(@:-clean-depend=) clean-depend
-
 $(SUBDIRS_CLEAN):
 	@$(MAKE) --no-print-directory -C $(@:-clean=) clean
 
-clean-depend: $(SUBDIRS_CLEAN_DEPEND)
-
-clean: $(SUBDIRS_CLEAN) clean-depend
+clean: $(SUBDIRS_CLEAN)
 	rm -f defaults.h
 	rm -f include/asterisk/build.h
 	rm -f include/asterisk/version.h
-	rm -f .depend
 	@$(MAKE) -C menuselect clean
 	cp -f .cleancount .lastclean
 
@@ -402,7 +394,6 @@
 			grep ^C update.out | cut -b4- ; \
 		fi ; \
 		rm -f update.out; \
-		$(MAKE) clean-depend; \
 	else \
 		echo "Not under version control";  \
 	fi
@@ -634,14 +625,6 @@
 		echo "We could not install init scripts for your operating system."; \
 	fi
 
-$(MOD_SUBDIRS_DEPEND):
-	@ASTCFLAGS="$(MOD_SUBDIR_CFLAGS) $(ASTCFLAGS)" $(MAKE) --no-print-directory -C $(@:-depend=) depend
-
-$(OTHER_SUBDIRS_DEPEND):
-	@ASTCFLAGS="$(OTHER_SUBDIR_CFLAGS) $(ASTCFLAGS)" $(MAKE) --no-print-directory -C $(@:-depend=) depend
-
-depend: include/asterisk/version.h include/asterisk/buildopts.h include/asterisk/build.h defaults.h $(SUBDIRS_DEPEND)
-
 sounds:
 	$(MAKE) -C sounds all
 
@@ -695,10 +678,10 @@
 	- at menuselect/menuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
 
 menuselect/menuselect: makeopts menuselect/menuselect.c menuselect/menuselect_curses.c menuselect/menuselect_stub.c menuselect/menuselect.h menuselect/linkedlists.h makeopts
-	@unset CC LD AR RANLIB && $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
+	@env -i && $(MAKE) -C menuselect CONFIGURE_SILENT="--silent"
 
 menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml sounds/sounds.xml build_tools/embed_modules.xml
 	@echo "Generating input for menuselect ..."
 	@build_tools/prep_moduledeps > $@
 
-.PHONY: menuselect main sounds clean clean-depend dist-clean distclean all prereqs depend cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_CLEAN_DEPEND) $(SUBDIRS_DEPEND) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)
+.PHONY: menuselect main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)

Modified: team/murf/bug7978/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/Makefile.moddir_rules?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/Makefile.moddir_rules (original)
+++ team/murf/bug7978/Makefile.moddir_rules Tue Dec 19 15:46:41 2006
@@ -40,7 +40,7 @@
 modules.link: $(addsuffix .o,$(filter $(EMBEDDED_MODS),$(C_MODS)))
 modules.link: $(addsuffix .oo,$(filter $(EMBEDDED_MODS),$(CC_MODS)))
 
-.PHONY: clean clean-depend depend uninstall _all
+.PHONY: clean uninstall _all
 
 ifneq ($(LOADABLE_MODS),)
 _all: $(LOADABLE_MODS:%=%.so)
@@ -67,11 +67,9 @@
 	@for file in $(patsubst %,$(SUBDIR)/%,$(filter %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
 	@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.o,$^)); do echo "INPUT (../$${file})" >> $@; done
 
-clean-depend::
-	rm -f .depend
-
-clean:: clean-depend
+clean::
 	rm -f *.so *.o *.oo
+	rm -f .*.o.d .*.oo.d
 	rm -f modules.link
 
 install:: all
@@ -79,11 +77,6 @@
 
 uninstall::
 
-ifneq ($(wildcard .depend),)
-  include .depend
+ifneq ($(wildcard .*.d),)
+   include .*.d
 endif
-
-depend: .depend
-
-.depend:
-	../build_tools/mkdep $(ASTCFLAGS) `ls *.c *.cc 2> /dev/null`

Modified: team/murf/bug7978/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/Makefile.rules?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/Makefile.rules (original)
+++ team/murf/bug7978/Makefile.rules Tue Dec 19 15:46:41 2006
@@ -38,11 +38,19 @@
 
 %.o: %.c
 	$(ECHO_PREFIX) echo "   [CC] $< -> $@"
+ifeq ($(AST_DEVMODE),yes)
+	$(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP
+else
 	$(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS)
+endif
 
 %.oo: %.cc
 	$(ECHO_PREFIX) echo "   [CXX] $< -> $@"
+ifeq ($(AST_DEVMODE),yes)
+	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP
+else
 	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS)
+endif
 
 %.c: %.y
 	$(ECHO_PREFIX) echo "   [BISON] $< -> $@"

Modified: team/murf/bug7978/acinclude.m4
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/acinclude.m4?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/acinclude.m4 (original)
+++ team/murf/bug7978/acinclude.m4 Tue Dec 19 15:46:41 2006
@@ -50,10 +50,10 @@
 		if test ${err} = "0" ; then AC_MSG_RESULT(fail) ; fi
 		AC_MSG_RESULT()
 		eval "a=\${${i}_OPTION}"
-		AC_MSG_NOTICE(***)
-		AC_MSG_NOTICE(*** The $i installation appears to be missing or broken.)
-		AC_MSG_NOTICE(*** Either correct the installation, or run configure)
-		AC_MSG_NOTICE(*** including --without-${a}.)
+		AC_MSG_NOTICE([***])
+		AC_MSG_NOTICE([*** The $i installation appears to be missing or broken.])
+		AC_MSG_NOTICE([*** Either correct the installation, or run configure])
+		AC_MSG_NOTICE([*** including --without-${a}.])
 		err=1
 	done
 	if test $err = 1 ; then exit 1; fi

Propchange: team/murf/bug7978/agi/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 19 15:46:41 2006
@@ -1,4 +1,4 @@
 eagi-test
 eagi-sphinx-test
-.depend
+*.d
 strcompat.c

Modified: team/murf/bug7978/agi/Makefile
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/agi/Makefile?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/agi/Makefile (original)
+++ team/murf/bug7978/agi/Makefile Tue Dec 19 15:46:41 2006
@@ -11,7 +11,7 @@
 # the GNU General Public License
 #
 
-.PHONY: clean clean-depend all depend uninstall
+.PHONY: clean all uninstall
 
 AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi
 
@@ -37,18 +37,11 @@
 uninstall:
 	for x in $(AGIS); do rm -f $(DESTDIR)$(AGI_DIR)/$$x ; done
 
-clean-depend:
-	rm -f .depend
-
-clean: clean-depend
+clean:
 	rm -f *.so *.o look eagi-test eagi-sphinx-test
+	rm -f .*.o.d .*.oo.d
 	rm -f strcompat.c
 
-ifneq ($(wildcard .depend),)
-  include .depend
+ifneq ($(wildcard .*.d),)
+   include .*.d
 endif
-
-depend: .depend
-
-.depend:
-	../build_tools/mkdep $(CFLAGS) `ls *.c`

Propchange: team/murf/bug7978/apps/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Dec 19 15:46:41 2006
@@ -1,4 +1,4 @@
-.depend
+*.d
 *.a
 *.so
 modules.link

Modified: team/murf/bug7978/apps/app_dial.c
URL: http://svn.digium.com/view/asterisk/team/murf/bug7978/apps/app_dial.c?view=diff&rev=48590&r1=48589&r2=48590
==============================================================================
--- team/murf/bug7978/apps/app_dial.c (original)
+++ team/murf/bug7978/apps/app_dial.c Tue Dec 19 15:46:41 2006
@@ -288,22 +288,21 @@
 	AST_APP_OPTION('K', OPT_CALLER_PARK),
 });
 
-/* We define a custom "local user" structure because we
-   use it not only for keeping track of what is in use but
-   also for keeping track of who we're dialing. */
-
-struct dial_localuser {
+/*
+ * The list of active channels
+ */
+struct chanlist {
+	struct chanlist *next;
 	struct ast_channel *chan;
 	unsigned int flags;
 	int forwards;
-	struct dial_localuser *next;
 };
 
 
-static void hanguptree(struct dial_localuser *outgoing, struct ast_channel *exception)
+static void hanguptree(struct chanlist *outgoing, struct ast_channel *exception)
 {
 	/* Hang up a tree of stuff */
-	struct dial_localuser *oo;
+	struct chanlist *oo;
 	while (outgoing) {
 		/* Hangup any existing lines we have open */
 		if (outgoing->chan && (outgoing->chan != exception))
@@ -425,7 +424,7 @@
  * XXX this code is highly suspicious, as it essentially overwrites
  * the outgoing channel without properly deleting it.
  */
-static void do_forward(struct dial_localuser *o,
+static void do_forward(struct chanlist *o,
 	struct cause_args *num, struct ast_flags *peerflags, int single)
 {
 	char tmpchan[256];
@@ -525,7 +524,7 @@
 };
 
 static struct ast_channel *wait_for_answer(struct ast_channel *in,
-	struct dial_localuser *outgoing, int *to, struct ast_flags *peerflags,
+	struct chanlist *outgoing, int *to, struct ast_flags *peerflags,
 	struct privacy_args *pa,
 	const struct cause_args *num_in, int priority_jump, int *result)
 {
@@ -545,7 +544,7 @@
 	
 	
 	while (*to && !peer) {
-		struct dial_localuser *o;
+		struct chanlist *o;
 		int pos = 0;	/* how many channels do we handle */
 		int numlines = prestart;
 		struct ast_channel *winner;
@@ -1054,12 +1053,123 @@
 	}
 }
 
+/*! \brief returns 1 if successful, 0 or <0 if the caller should 'goto out' */
+static int setup_privacy_args(struct privacy_args *pa,
+	struct ast_flags *opts, char *opt_args[], struct ast_channel *chan)
+{
+	char callerid[60];
+	int res;
+	char *l;
+
+	if (!ast_strlen_zero(chan->cid.cid_num)) {
+		l = ast_strdupa(chan->cid.cid_num);
+		ast_shrink_phone_number(l);
+		if (ast_test_flag(opts, OPT_PRIVACY) ) {
+			if (option_verbose > 2)
+				ast_verbose(VERBOSE_PREFIX_3  "Privacy DB is '%s', clid is '%s'\n",
+					     opt_args[OPT_ARG_PRIVACY], l);
+			pa->privdb_val = ast_privacy_check(opt_args[OPT_ARG_PRIVACY], l);
+		} else {
+			if (option_verbose > 2)
+				ast_verbose(VERBOSE_PREFIX_3  "Privacy Screening, clid is '%s'\n", l);
+			pa->privdb_val = AST_PRIVACY_UNKNOWN;
+		}
+	} else {
+		char *tnam, *tn2;
+
+		tnam = ast_strdupa(chan->name);
+		/* clean the channel name so slashes don't try to end up in disk file name */
+		for (tn2 = tnam; *tn2; tn2++) {
+			if (*tn2=='/')	/* any other chars to be afraid of? */
+				*tn2 = '=';
+		}
+		if (option_verbose > 2)
+			ast_verbose(VERBOSE_PREFIX_3  "Privacy-- callerid is empty\n");
+
+		snprintf(callerid, sizeof(callerid), "NOCALLERID_%s%s", chan->exten, tnam);
+		l = callerid;
+		pa->privdb_val = AST_PRIVACY_UNKNOWN;
+	}
+	
+	ast_copy_string(pa->privcid,l,sizeof(pa->privcid));
+
+	if( strncmp(pa->privcid,"NOCALLERID",10) != 0 && ast_test_flag(opts, OPT_SCREEN_NOCLID) ) { /* if callerid is set, and ast_test_flag(&opts, OPT_SCREEN_NOCLID) is set also */  
+		if (option_verbose > 2)
+			ast_verbose( VERBOSE_PREFIX_3  "CallerID set (%s); N option set; Screening should be off\n", pa->privcid);
+		pa->privdb_val = AST_PRIVACY_ALLOW;
+	} else if (ast_test_flag(opts, OPT_SCREEN_NOCLID) && strncmp(pa->privcid,"NOCALLERID",10) == 0 ) {
+		if (option_verbose > 2)
+			ast_verbose( VERBOSE_PREFIX_3  "CallerID blank; N option set; Screening should happen; dbval is %d\n", pa->privdb_val);
+	}
+	
+	if (pa->privdb_val == AST_PRIVACY_DENY ) {
+		ast_copy_string(pa->status, "NOANSWER", sizeof(pa->status));
+		if (option_verbose > 2)
+			ast_verbose( VERBOSE_PREFIX_3  "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
+		return 0;
+	} else if (pa->privdb_val == AST_PRIVACY_KILL ) {
+		ast_copy_string(pa->status, "DONTCALL", sizeof(pa->status));
+		if (ast_opt_priority_jumping || ast_test_flag(opts, OPT_PRIORITY_JUMP)) {
+			ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201);
+		}
+		return 0; /* Is this right? */
+	} else if (pa->privdb_val == AST_PRIVACY_TORTURE ) {
+		ast_copy_string(pa->status, "TORTURE", sizeof(pa->status));
+		if (ast_opt_priority_jumping || ast_test_flag(opts, OPT_PRIORITY_JUMP)) {
+			ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301);
+		}
+		return 0; /* is this right??? */
+	} else if (pa->privdb_val == AST_PRIVACY_UNKNOWN ) {
+		/* Get the user's intro, store it in priv-callerintros/$CID, 
+		   unless it is already there-- this should be done before the 
+		   call is actually dialed  */
+
+		/* make sure the priv-callerintros dir actually exists */
+		snprintf(pa->privintro, sizeof(pa->privintro), "%s/sounds/priv-callerintros", ast_config_AST_DATA_DIR);
+		if (mkdir(pa->privintro, 0755) && errno != EEXIST) {
+			ast_log(LOG_WARNING, "privacy: can't create directory priv-callerintros: %s\n", strerror(errno));
+			return -1;
+		}
+
+		snprintf(pa->privintro,sizeof(pa->privintro), "priv-callerintros/%s", pa->privcid);
+		if (ast_fileexists(pa->privintro,NULL,NULL ) > 0 && strncmp(pa->privcid,"NOCALLERID",10) != 0) {
+			/* the DELUX version of this code would allow this caller the
+			   option to hear and retape their previously recorded intro.
+			*/
+		} else {
+			int duration; /* for feedback from play_and_wait */
+			/* the file doesn't exist yet. Let the caller submit his
+			   vocal intro for posterity */
+			/* priv-recordintro script:
+
+			   "At the tone, please say your name:"
+
+			*/
+			res = ast_play_and_record(chan, "priv-recordintro", pa->privintro, 4, "gsm", &duration, 128, 2000, 0);  /* NOTE: I've reduced the total time to 4 sec */
+									/* don't think we'll need a lock removed, we took care of
+									   conflicts by naming the pa.privintro file */
+			if (res == -1) {
+				/* Delete the file regardless since they hung up during recording */
+				ast_filedelete(pa->privintro, NULL);
+				if (ast_fileexists(pa->privintro,NULL,NULL ) > 0 )
+					ast_log(LOG_NOTICE,"privacy: ast_filedelete didn't do its job on %s\n", pa->privintro);
+				else if (option_verbose > 2)
+					ast_verbose( VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", pa->privintro);
+				return -1;
+			}
+			if (!ast_streamfile(chan, "vm-dialout", chan->language) )
+				ast_waitstream(chan, "");
+		}
+	}
+	return 1;	/* success */
+}
+
 static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags *peerflags)
 {
 	int res = -1;	/* default: error */
 	struct ast_module_user *u;
 	char *rest, *cur;	/* scan the list of destinations */
-	struct dial_localuser *outgoing = NULL;	/* list of destinations */
+	struct chanlist *outgoing = NULL;	/* list of destinations */
 	struct ast_channel *peer;
 	int to;	/* timeout */
 	struct cause_args num = { chan, 0, 0, 0 };
@@ -1141,118 +1251,12 @@
 		ast_cdr_reset(chan->cdr, NULL);
 	if (ast_test_flag(&opts, OPT_PRIVACY) && ast_strlen_zero(opt_args[OPT_ARG_PRIVACY]))
 		opt_args[OPT_ARG_PRIVACY] = ast_strdupa(chan->exten);
+
 	if (ast_test_flag(&opts, OPT_PRIVACY) || ast_test_flag(&opts, OPT_SCREENING)) {
-		char callerid[60];
-		char *l = chan->cid.cid_num;	/* XXX watch out, we are overwriting it */
-		if (!ast_strlen_zero(l)) {
-			ast_shrink_phone_number(l);
-			if( ast_test_flag(&opts, OPT_PRIVACY) ) {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3  "Privacy DB is '%s', clid is '%s'\n",
-						     opt_args[OPT_ARG_PRIVACY], l);
-				pa.privdb_val = ast_privacy_check(opt_args[OPT_ARG_PRIVACY], l);
-			}
-			else {
-				if (option_verbose > 2)
-					ast_verbose(VERBOSE_PREFIX_3  "Privacy Screening, clid is '%s'\n", l);
-				pa.privdb_val = AST_PRIVACY_UNKNOWN;
-			}
-		} else {
-			char *tnam, *tn2;
-
-			tnam = ast_strdupa(chan->name);
-			/* clean the channel name so slashes don't try to end up in disk file name */
-			for(tn2 = tnam; *tn2; tn2++) {
-				if( *tn2=='/')
-					*tn2 = '=';  /* any other chars to be afraid of? */
-			}
-			if (option_verbose > 2)
-				ast_verbose(VERBOSE_PREFIX_3  "Privacy-- callerid is empty\n");
-
-			snprintf(callerid, sizeof(callerid), "NOCALLERID_%s%s", chan->exten, tnam);
-			l = callerid;
-			pa.privdb_val = AST_PRIVACY_UNKNOWN;
-		}
-		
-		ast_copy_string(pa.privcid,l,sizeof(pa.privcid));
-
-		if( strncmp(pa.privcid,"NOCALLERID",10) != 0 && ast_test_flag(&opts, OPT_SCREEN_NOCLID) ) { /* if callerid is set, and ast_test_flag(&opts, OPT_SCREEN_NOCLID) is set also */  
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3  "CallerID set (%s); N option set; Screening should be off\n", pa.privcid);
-			pa.privdb_val = AST_PRIVACY_ALLOW;
-		}
-		else if(ast_test_flag(&opts, OPT_SCREEN_NOCLID) && strncmp(pa.privcid,"NOCALLERID",10) == 0 ) {
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3  "CallerID blank; N option set; Screening should happen; dbval is %d\n", pa.privdb_val);
-		}
-		
-		if(pa.privdb_val == AST_PRIVACY_DENY ) {
-			ast_copy_string(pa.status, "NOANSWER", sizeof(pa.status));
-			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3  "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n");
-			res=0;
+		res = setup_privacy_args(&pa, &opts, opt_args, chan);
+		if (res <= 0)
 			goto out;
-		}
-		else if(pa.privdb_val == AST_PRIVACY_KILL ) {
-			ast_copy_string(pa.status, "DONTCALL", sizeof(pa.status));
-			if (ast_opt_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) {
-				ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201);
-			}
-			res = 0;
-			goto out; /* Is this right? */
-		}
-		else if(pa.privdb_val == AST_PRIVACY_TORTURE ) {
-			ast_copy_string(pa.status, "TORTURE", sizeof(pa.status));
-			if (ast_opt_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) {
-				ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301);
-			}
-			res = 0;
-			goto out; /* is this right??? */
-		}
-		else if(pa.privdb_val == AST_PRIVACY_UNKNOWN ) {
-			/* Get the user's intro, store it in priv-callerintros/$CID, 
-			   unless it is already there-- this should be done before the 
-			   call is actually dialed  */
-
-			/* make sure the priv-callerintros dir actually exists */
-			snprintf(pa.privintro, sizeof(pa.privintro), "%s/sounds/priv-callerintros", ast_config_AST_DATA_DIR);
-			if (mkdir(pa.privintro, 0755) && errno != EEXIST) {
-				ast_log(LOG_WARNING, "privacy: can't create directory priv-callerintros: %s\n", strerror(errno));
-				res = -1;
-				goto out;
-			}
-
-			snprintf(pa.privintro,sizeof(pa.privintro), "priv-callerintros/%s", pa.privcid);
-			if( ast_fileexists(pa.privintro,NULL,NULL ) > 0 && strncmp(pa.privcid,"NOCALLERID",10) != 0) {
-				/* the DELUX version of this code would allow this caller the
-				   option to hear and retape their previously recorded intro.
-				*/
-			}
-			else {
-				int duration; /* for feedback from play_and_wait */
-				/* the file doesn't exist yet. Let the caller submit his
-				   vocal intro for posterity */
-				/* priv-recordintro script:
-
-				   "At the tone, please say your name:"
-
-				*/

[... 14656 lines stripped ...]


More information about the svn-commits mailing list