[asterisk-commits] mogorman: branch anthonyl/escape-filter2 r47484
- in /team/anthonyl/escape-fi...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Nov 10 16:41:46 MST 2006
Author: mogorman
Date: Fri Nov 10 17:41:45 2006
New Revision: 47484
URL: http://svn.digium.com/view/asterisk?view=rev&rev=47484
Log:
Merged revisions 47287,47303,47309-47310,47323,47327,47329,47331,47333,47338,47344,47348,47352,47366,47369-47370,47372,47375,47377,47380,47391,47398,47405,47414,47418,47432-47433,47436-47437,47444,47454,47457,47462-47463,47466,47471,47474,47476,47480 via svnmerge from
https://svn.digium.com/svn/asterisk/branches/1.4
................
r47287 | file | 2006-11-07 14:14:58 -0600 (Tue, 07 Nov 2006) | 2 lines
This is not the commit you are looking for...
................
r47303 | murf | 2006-11-07 17:46:41 -0600 (Tue, 07 Nov 2006) | 1 line
These mods are to solve the problem in bug 7506. It's a lot of rework to solve a fairly small problem... such is life.
................
r47309 | oej | 2006-11-08 01:40:53 -0600 (Wed, 08 Nov 2006) | 2 lines
Destroy dialog properly at unload (rizzo)
................
r47310 | oej | 2006-11-08 01:43:08 -0600 (Wed, 08 Nov 2006) | 2 lines
Block patch that is not needed in 1.4
................
r47323 | russell | 2006-11-08 10:08:50 -0600 (Wed, 08 Nov 2006) | 3 lines
Remove aclocal.m4 from the tree since it is just an intermediate file created
while generating the configure script.
................
r47327 | russell | 2006-11-08 10:31:59 -0600 (Wed, 08 Nov 2006) | 4 lines
Copy the macros from libtool.m4 to our own acinclude.m4 such that libtool is
no longer required to be installed to be able to generated the configure
script.
................
r47329 | russell | 2006-11-08 10:55:35 -0600 (Wed, 08 Nov 2006) | 2 lines
Make this module build again
................
r47331 | russell | 2006-11-08 11:03:09 -0600 (Wed, 08 Nov 2006) | 5 lines
I occasionally get email from users that are trying to figure out what this
does, or due to some misunderstanding as to what it is supposed to do, can't
get it to work. So, I have added some text here to hopefully explain what
this application does and does not do.
................
r47333 | kpfleming | 2006-11-08 12:07:16 -0600 (Wed, 08 Nov 2006) | 2 lines
add simple fix for SDP to report proper sample rate for G.722 media sessions
................
r47338 | kpfleming | 2006-11-08 15:46:20 -0600 (Wed, 08 Nov 2006) | 2 lines
the battle over CLI command formats has broken stuff...
................
r47344 | murf | 2006-11-08 16:54:56 -0600 (Wed, 08 Nov 2006) | 1 line
Committed in behalf of 8190.
................
r47348 | murf | 2006-11-08 17:14:18 -0600 (Wed, 08 Nov 2006) | 1 line
This update fixes 7531
................
r47352 | russell | 2006-11-09 00:31:37 -0600 (Thu, 09 Nov 2006) | 3 lines
fix "core show version" to reflect the new number of arguments for this
CLI command (issue #8316, kshumard)
................
r47366 | russell | 2006-11-09 09:49:39 -0600 (Thu, 09 Nov 2006) | 3 lines
Fix another CLI command, "core show uptime" ...
(issue #8323, reported by johnlange, fixed by myself)
................
r47369 | russell | 2006-11-09 10:04:38 -0600 (Thu, 09 Nov 2006) | 3 lines
Fix argument parsing for the "core show profile" CLI command
(fixed by rizzo in his branch, team/rizzo/astobj2)
................
r47370 | russell | 2006-11-09 10:14:23 -0600 (Thu, 09 Nov 2006) | 3 lines
revert the previous change, which actually modified the deprecated command,
"show profile". Now, actually apply the change to "core show profile".
................
r47372 | russell | 2006-11-09 10:18:33 -0600 (Thu, 09 Nov 2006) | 3 lines
Fix "core debug channel <whatever>". I guess someone needs to go through and
audit every CLI command that changed number of arguments ...
................
r47375 | russell | 2006-11-09 10:24:02 -0600 (Thu, 09 Nov 2006) | 3 lines
Fix "core show channel". Also, fix tab completion for both "core show channel"
and "core show channels".
................
r47377 | russell | 2006-11-09 10:28:15 -0600 (Thu, 09 Nov 2006) | 2 lines
fix tab completion for "core debug channel" and "core no debug channel"
................
r47380 | file | 2006-11-09 10:53:25 -0600 (Thu, 09 Nov 2006) | 10 lines
Merged revisions 47379 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r47379 | file | 2006-11-09 11:48:05 -0500 (Thu, 09 Nov 2006) | 2 lines
Don't include compiler.h on kernels 2.6.18 and higher as, well, it's apparently going to be removed. This should make all you FC6 fans happy as your Asterisk will now build without any mods.
........
................
r47391 | russell | 2006-11-09 15:26:27 -0600 (Thu, 09 Nov 2006) | 7 lines
Work around an issue that caused menuselect to display a bogus description for
app_voicemail and chan_zap. These modules use some preprocessor directives to
determine what it will report to Asterisk as its description. However, the way
we extract this information from the source files for menuselect is not smart
enough to figure this out.
(issue #8326, #8328)
................
r47398 | file | 2006-11-09 16:32:30 -0600 (Thu, 09 Nov 2006) | 2 lines
Do conversion in a more easier to read and working way for \r, \n, and \t. (issue #8324 reported by johnlange)
................
r47405 | file | 2006-11-09 21:44:36 -0600 (Thu, 09 Nov 2006) | 2 lines
Fix building of chan_h323 by completeing some structure definitions. (issue #8327 reported by Mithraen)
................
r47414 | oej | 2006-11-10 06:05:53 -0600 (Fri, 10 Nov 2006) | 2 lines
Fix bit definition for SIP_PAG2_CALL_ONHOLD. Thanks fenlander!
................
r47418 | oej | 2006-11-10 07:04:42 -0600 (Fri, 10 Nov 2006) | 11 lines
Rip out half implementation of 491 response support, since it wasn't implemented
properly and caused memory leaks in the case of us getting 491's, which Asterisk
actually sends...
Since it is a bit too complicated to fix this, I'll rip it out of 1.4 and put
it on the to-do-list for future releases. Now, we handle this as congestion,
which it really is.
Issue #8331
................
r47432 | kpfleming | 2006-11-10 10:34:04 -0600 (Fri, 10 Nov 2006) | 2 lines
reflect addition/removal of dynamic queue members in queue_log, so that people using dialplan replacement for AgentCallbackLogin can still track login/logout (issue #7736, reported/patched by whoiswes but this commit was written by me and covers all three paths for AQM/RQM)
................
r47433 | kpfleming | 2006-11-10 10:36:49 -0600 (Fri, 10 Nov 2006) | 2 lines
if adding a queue member is LOG_NOTICE, then removing them should be LOG_NOTICE, not LOG_DEBUG
................
r47436 | tilghman | 2006-11-10 10:51:55 -0600 (Fri, 10 Nov 2006) | 2 lines
Discussion of these CLI changes resulted in more consistency (Bug 8236)
................
r47437 | file | 2006-11-10 10:53:16 -0600 (Fri, 10 Nov 2006) | 2 lines
Only split up extension and context if a value exists. (issue #8332 reported by loloski)
................
r47444 | rizzo | 2006-11-10 11:13:34 -0600 (Fri, 10 Nov 2006) | 3 lines
grep -m is not available on BSD, so use head -1 instead
................
r47454 | oej | 2006-11-10 12:56:15 -0600 (Fri, 10 Nov 2006) | 2 lines
Issue 8010 - Fix support for multipart SDP (alphaque)
................
r47457 | file | 2006-11-10 13:36:25 -0600 (Fri, 10 Nov 2006) | 2 lines
Let's give this a go...
................
r47462 | mattf | 2006-11-10 13:47:16 -0600 (Fri, 10 Nov 2006) | 3 lines
Fix for #7321. Be able to explicitly hide callerid name for switches that bork
on it.
................
r47463 | oej | 2006-11-10 13:49:48 -0600 (Fri, 10 Nov 2006) | 2 lines
Small cleanup of handle_request_invite() - imported from 1.2 with changes
................
r47466 | oej | 2006-11-10 14:23:56 -0600 (Fri, 10 Nov 2006) | 2 lines
Make sure we destroy dialog...
................
r47471 | oej | 2006-11-10 14:49:09 -0600 (Fri, 10 Nov 2006) | 2 lines
Block backport to 1.2 from 1.4 so it's not coming back to 1.4
................
r47474 | oej | 2006-11-10 15:36:49 -0600 (Fri, 10 Nov 2006) | 2 lines
Add debug output while trying to trace bug in bug report
................
r47476 | oej | 2006-11-10 15:42:27 -0600 (Fri, 10 Nov 2006) | 3 lines
...and make sure that the dialog is destroyed, even if we don't get any answer on the bye...
This is the channel that remains dead after the SIP transfer
................
r47480 | mattf | 2006-11-10 16:23:58 -0600 (Fri, 10 Nov 2006) | 2 lines
Make sure we don't use 32bits when we only need one bit.
................
Removed:
team/anthonyl/escape-filter2/aclocal.m4
Modified:
team/anthonyl/escape-filter2/ (props changed)
team/anthonyl/escape-filter2/acinclude.m4
team/anthonyl/escape-filter2/apps/app_chanspy.c
team/anthonyl/escape-filter2/apps/app_queue.c
team/anthonyl/escape-filter2/apps/app_voicemail.c
team/anthonyl/escape-filter2/build_tools/prep_moduledeps
team/anthonyl/escape-filter2/channels/chan_agent.c
team/anthonyl/escape-filter2/channels/chan_alsa.c
team/anthonyl/escape-filter2/channels/chan_features.c
team/anthonyl/escape-filter2/channels/chan_gtalk.c
team/anthonyl/escape-filter2/channels/chan_h323.c
team/anthonyl/escape-filter2/channels/chan_iax2.c
team/anthonyl/escape-filter2/channels/chan_local.c
team/anthonyl/escape-filter2/channels/chan_mgcp.c
team/anthonyl/escape-filter2/channels/chan_misdn.c
team/anthonyl/escape-filter2/channels/chan_nbs.c
team/anthonyl/escape-filter2/channels/chan_oss.c
team/anthonyl/escape-filter2/channels/chan_phone.c
team/anthonyl/escape-filter2/channels/chan_sip.c
team/anthonyl/escape-filter2/channels/chan_skinny.c
team/anthonyl/escape-filter2/channels/chan_vpb.cc
team/anthonyl/escape-filter2/channels/chan_zap.c
team/anthonyl/escape-filter2/configure
team/anthonyl/escape-filter2/configure.ac
team/anthonyl/escape-filter2/include/asterisk/channel.h
team/anthonyl/escape-filter2/include/asterisk/stringfields.h
team/anthonyl/escape-filter2/main/asterisk.c
team/anthonyl/escape-filter2/main/channel.c
team/anthonyl/escape-filter2/main/cli.c
team/anthonyl/escape-filter2/main/frame.c
team/anthonyl/escape-filter2/main/pbx.c
team/anthonyl/escape-filter2/main/utils.c
team/anthonyl/escape-filter2/res/res_features.c
team/anthonyl/escape-filter2/utils/streamplayer.c
Propchange: team/anthonyl/escape-filter2/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/anthonyl/escape-filter2/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/anthonyl/escape-filter2/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri Nov 10 17:41:45 2006
@@ -22,3 +22,4 @@
menuselect-tree
autom4te.cache
makeopts.embed_rules
+aclocal.m4
Propchange: team/anthonyl/escape-filter2/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Fri Nov 10 17:41:45 2006
@@ -1,1 +1,1 @@
-/branches/1.4:1-47285
+/branches/1.4:1-47483
Modified: team/anthonyl/escape-filter2/acinclude.m4
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/acinclude.m4?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/acinclude.m4 (original)
+++ team/anthonyl/escape-filter2/acinclude.m4 Fri Nov 10 17:41:45 2006
@@ -489,3 +489,119 @@
[ac_cv_func_fork_works=no],
[ac_cv_func_fork_works=cross])])]
)# _AST_FUNC_FORK
+
+# AST_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AST_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+ [AC_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])
+AC_REQUIRE([AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$lt_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$lt_save_ifs"
+else
+ lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AST_PROG_LD_GNU
+])# AST_PROG_LD
+
+
+# AST_PROG_LD_GNU
+# --------------
+AC_DEFUN([AST_PROG_LD_GNU],
+[AC_REQUIRE([AST_PROG_EGREP])dnl
+AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# AST_PROG_LD_GNU
+
+# AST_PROG_EGREP
+# -------------
+m4_ifndef([AST_PROG_EGREP], [AC_DEFUN([AST_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])]) # AST_PROG_EGREP
+
+
Modified: team/anthonyl/escape-filter2/apps/app_chanspy.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/apps/app_chanspy.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/apps/app_chanspy.c (original)
+++ team/anthonyl/escape-filter2/apps/app_chanspy.c Fri Nov 10 17:41:45 2006
@@ -658,7 +658,8 @@
if ((argc = ast_app_separate_args(data, '|', argv, sizeof(argv) / sizeof(argv[0])))) {
context = argv[0];
- exten = strsep(&context, "@");
+ if (!ast_strlen_zero(argv[0]))
+ exten = strsep(&context, "@");
if (ast_strlen_zero(context))
context = ast_strdupa(chan->context);
if (argc > 1)
Modified: team/anthonyl/escape-filter2/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/apps/app_queue.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/apps/app_queue.c (original)
+++ team/anthonyl/escape-filter2/apps/app_queue.c Fri Nov 10 17:41:45 2006
@@ -3123,7 +3123,8 @@
switch (remove_from_queue(args.queuename, args.interface)) {
case RES_OKAY:
- ast_log(LOG_DEBUG, "Removed interface '%s' from queue '%s'\n", args.interface, args.queuename);
+ ast_queue_log(args.queuename, chan->uniqueid, args.interface, "REMOVEMEMBER", "%s", "");
+ ast_log(LOG_NOTICE, "Removed interface '%s' from queue '%s'\n", args.interface, args.queuename);
pbx_builtin_setvar_helper(chan, "RQMSTATUS", "REMOVED");
res = 0;
break;
@@ -3197,6 +3198,7 @@
switch (add_to_queue(args.queuename, args.interface, args.membername, penalty, 0, queue_persistent_members)) {
case RES_OKAY:
+ ast_queue_log(args.queuename, chan->uniqueid, args.interface, "ADDMEMBER", "%s", "");
ast_log(LOG_NOTICE, "Added interface '%s' to queue '%s'\n", args.interface, args.queuename);
pbx_builtin_setvar_helper(chan, "AQMSTATUS", "ADDED");
res = 0;
@@ -4162,6 +4164,7 @@
switch (add_to_queue(queuename, interface, membername, penalty, paused, queue_persistent_members)) {
case RES_OKAY:
+ ast_queue_log(queuename, "MANAGER", interface, "ADDMEMBER", "%s", "");
astman_send_ack(s, m, "Added interface to queue");
break;
case RES_EXISTS:
@@ -4192,6 +4195,7 @@
switch (remove_from_queue(queuename, interface)) {
case RES_OKAY:
+ ast_queue_log(queuename, "MANAGER", interface, "REMOVEMEMBER", "%s", "");
astman_send_ack(s, m, "Removed interface from queue");
break;
case RES_EXISTS:
@@ -4270,6 +4274,7 @@
switch (add_to_queue(queuename, interface, membername, penalty, 0, queue_persistent_members)) {
case RES_OKAY:
+ ast_queue_log(queuename, "CLI", interface, "ADDMEMBER", "%s", "");
ast_cli(fd, "Added interface '%s' to queue '%s'\n", interface, queuename);
return RESULT_SUCCESS;
case RES_EXISTS:
@@ -4332,6 +4337,7 @@
switch (remove_from_queue(queuename, interface)) {
case RES_OKAY:
+ ast_queue_log(queuename, "CLI", interface, "REMOVEMEMBER", "%s", "");
ast_cli(fd, "Removed interface '%s' from queue '%s'\n", interface, queuename);
return RESULT_SUCCESS;
case RES_EXISTS:
Modified: team/anthonyl/escape-filter2/apps/app_voicemail.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/apps/app_voicemail.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/apps/app_voicemail.c (original)
+++ team/anthonyl/escape-filter2/apps/app_voicemail.c Fri Nov 10 17:41:45 2006
@@ -1867,7 +1867,7 @@
if (*fromstring) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(fromstring)*3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -1885,7 +1885,7 @@
fprintf(p, "To: %s <%s>\r\n", vmu->fullname, vmu->email);
if (emailsubject) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(emailsubject)*3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -1939,7 +1939,7 @@
fprintf(p, "Content-Type: text/plain; charset=%s\r\nContent-Transfer-Encoding: 8bit\r\n\r\n", charset);
if (emailbody) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(emailbody)*3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -2053,7 +2053,7 @@
if (*pagerfromstring) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(fromstring)*3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -2070,7 +2070,7 @@
fprintf(p, "To: %s\n", pager);
if (pagersubject) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(pagersubject) * 3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -2086,7 +2086,7 @@
strftime(date, sizeof(date), "%A, %B %d, %Y at %r", &tm);
if (pagerbody) {
struct ast_channel *ast;
- if ((ast = ast_channel_alloc(0))) {
+ if ((ast = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, 0))) {
char *passdata;
int vmlen = strlen(pagerbody)*3 + 200;
if ((passdata = alloca(vmlen))) {
@@ -7398,13 +7398,17 @@
tmpread = tmpwrite = emailbody;
while ((tmpwrite = strchr(tmpread,'\\'))) {
switch (tmpwrite[1]) {
+ case 'r':
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\r';
+ break;
case 'n':
- *tmpwrite++ = '\n';
- memmove(tmpwrite, tmpwrite + 1, strlen(tmpwrite + 1) + 1);
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\n';
break;
case 't':
- *tmpwrite++ = '\t';
- memmove(tmpwrite, tmpwrite + 1, strlen(tmpwrite + 1) + 1);
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\t';
break;
default:
ast_log(LOG_NOTICE, "Substitution routine does not support this character: %c\n", tmpwrite[1]);
@@ -7422,13 +7426,17 @@
tmpread = tmpwrite = pagerbody;
while ((tmpwrite = strchr(tmpread, '\\'))) {
switch (tmpwrite[1]) {
+ case 'r':
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\r';
+ break;
case 'n':
- *tmpwrite++ = '\n';
- memmove(tmpwrite, tmpwrite + 1, strlen(tmpwrite + 1) + 1);
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\n';
break;
case 't':
- *tmpwrite++ = '\t';
- memmove(tmpwrite, tmpwrite + 1, strlen(tmpwrite + 1) + 1);
+ memmove(tmpwrite + 1, tmpwrite + 2, strlen(tmpwrite + 2) + 1);
+ *tmpwrite = '\t';
break;
default:
ast_log(LOG_NOTICE, "Substitution routine does not support this character: %c\n", tmpwrite[1]);
@@ -8649,6 +8657,10 @@
}
#endif /* IMAP_STORAGE */
+
+/* This is a workaround so that menuselect displays a proper description
+ * AST_MODULE_INFO(, , "Comedian Mail (Voicemail System)"
+ */
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, tdesc,
.load = load_module,
Modified: team/anthonyl/escape-filter2/build_tools/prep_moduledeps
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/build_tools/prep_moduledeps?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/build_tools/prep_moduledeps (original)
+++ team/anthonyl/escape-filter2/build_tools/prep_moduledeps Fri Nov 10 17:41:45 2006
@@ -1,7 +1,7 @@
#!/bin/sh
get_description() {
- TDESC=`grep -e AST_MODULE_INFO ${1} | cut -d '"' -f 2`
+ TDESC=`grep -e AST_MODULE_INFO ${1} | head -n 1 | cut -d '"' -f 2`
}
process_dir() {
Modified: team/anthonyl/escape-filter2/channels/chan_agent.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_agent.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_agent.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_agent.c Fri Nov 10 17:41:45 2006
@@ -910,7 +910,10 @@
return NULL;
}
#endif
- tmp = ast_channel_alloc(0);
+ if (p->pending)
+ tmp = ast_channel_alloc(0, state, 0, 0, "Agent/P%s-%d", p->agent, ast_random() & 0xffff);
+ else
+ tmp = ast_channel_alloc(0, state, 0, 0, "Agent/%s", p->agent);
if (!tmp) {
ast_log(LOG_WARNING, "Unable to allocate agent channel structure\n");
return NULL;
@@ -934,12 +937,7 @@
tmp->readformat = AST_FORMAT_SLINEAR;
tmp->rawreadformat = AST_FORMAT_SLINEAR;
}
- if (p->pending)
- ast_string_field_build(tmp, name, "Agent/P%s-%d", p->agent, ast_random() & 0xffff);
- else
- ast_string_field_build(tmp, name, "Agent/%s", p->agent);
/* Safe, agentlock already held */
- ast_setstate(tmp, state);
tmp->tech_pvt = p;
p->owner = tmp;
/* XXX: this needs fixing */
Modified: team/anthonyl/escape-filter2/channels/chan_alsa.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_alsa.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_alsa.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_alsa.c Fri Nov 10 17:41:45 2006
@@ -783,11 +783,10 @@
{
struct ast_channel *tmp = NULL;
- if (!(tmp = ast_channel_alloc(1)))
+ if (!(tmp = ast_channel_alloc(1, state, 0, 0, "ALSA/%s", indevname)))
return NULL;
tmp->tech = &alsa_tech;
- ast_string_field_build(tmp, name, "ALSA/%s", indevname);
tmp->fds[0] = readdev;
tmp->nativeformats = AST_FORMAT_SLINEAR;
tmp->readformat = AST_FORMAT_SLINEAR;
@@ -800,7 +799,6 @@
if (!ast_strlen_zero(language))
ast_string_field_set(tmp, language, language);
p->owner = tmp;
- ast_setstate(tmp, state);
ast_mutex_lock(&usecnt_lock);
usecnt++;
ast_mutex_unlock(&usecnt_lock);
Modified: team/anthonyl/escape-filter2/channels/chan_features.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_features.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_features.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_features.c Fri Nov 10 17:41:45 2006
@@ -451,6 +451,7 @@
{
struct ast_channel *tmp;
int x,y;
+ char *b2 = 0;
if (!p->subchan) {
ast_log(LOG_WARNING, "Called upon channel with no subchan:(\n");
return NULL;
@@ -459,24 +460,29 @@
ast_log(LOG_WARNING, "Called to put index %d already there!\n", index);
return NULL;
}
- tmp = ast_channel_alloc(0);
- if (!tmp) {
- ast_log(LOG_WARNING, "Unable to allocate channel structure\n");
- return NULL;
- }
- tmp->tech = &features_tech;
+ /* figure out what you want the name to be */
for (x=1;x<4;x++) {
- ast_string_field_build(tmp, name, "Feature/%s/%s-%d", p->tech, p->dest, x);
+ if (b2)
+ free(b2);
+ b2 = ast_safe_string_alloc("Feature/%s/%s-%d", p->tech, p->dest, x);
for (y=0;y<3;y++) {
if (y == index)
continue;
- if (p->subs[y].owner && !strcasecmp(p->subs[y].owner->name, tmp->name))
+ if (p->subs[y].owner && !strcasecmp(p->subs[y].owner->name, b2))
break;
}
if (y >= 3)
break;
}
- ast_setstate(tmp, state);
+ tmp = ast_channel_alloc(0, state, 0,0, b2);
+ /* free up the name, it was copied into the channel name */
+ if (b2)
+ free(b2);
+ if (!tmp) {
+ ast_log(LOG_WARNING, "Unable to allocate channel structure\n");
+ return NULL;
+ }
+ tmp->tech = &features_tech;
tmp->writeformat = p->subchan->writeformat;
tmp->rawwriteformat = p->subchan->rawwriteformat;
tmp->readformat = p->subchan->readformat;
Modified: team/anthonyl/escape-filter2/channels/chan_gtalk.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_gtalk.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_gtalk.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_gtalk.c Fri Nov 10 17:41:45 2006
@@ -896,8 +896,13 @@
struct ast_channel *tmp;
int fmt;
int what;
-
- tmp = ast_channel_alloc(1);
+ const char *n2;
+
+ if (title)
+ n2 = title;
+ else
+ n2 = i->us;
+ tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "Gtalk/%s-%04lx", n2, ast_random() & 0xffff);
if (!tmp) {
ast_log(LOG_WARNING, "Unable to allocate Gtalk channel structure!\n");
return NULL;
@@ -915,11 +920,6 @@
what = global_capability;
tmp->nativeformats = ast_codec_choose(&i->prefs, what, 1) | (i->jointcapability & AST_FORMAT_VIDEO_MASK);
fmt = ast_best_codec(tmp->nativeformats);
-
- if (title)
- ast_string_field_build(tmp, name, "Gtalk/%s-%04lx", title, ast_random() & 0xffff);
- else
- ast_string_field_build(tmp, name, "Gtalk/%s-%04lx", i->us, ast_random() & 0xffff);
if (i->rtp) {
tmp->fds[0] = ast_rtp_fd(i->rtp);
@@ -955,11 +955,14 @@
ast_mutex_unlock(&usecnt_lock);
ast_copy_string(tmp->context, client->context, sizeof(tmp->context));
ast_copy_string(tmp->exten, i->exten, sizeof(tmp->exten));
- ast_set_callerid(tmp, i->cid_num, i->cid_name, i->cid_num);
+ /* Don't use ast_set_callerid() here because it will
+ * generate a needless NewCallerID event */
+ tmp->cid.cid_num = ast_strdup(i->cid_num);
+ tmp->cid.cid_ani = ast_strdup(i->cid_num);
+ tmp->cid.cid_name = ast_strdup(i->cid_name);
if (!ast_strlen_zero(i->exten) && strcmp(i->exten, "s"))
tmp->cid.cid_dnid = ast_strdup(i->exten);
tmp->priority = 1;
- ast_setstate(tmp, state);
if (i->rtp)
ast_jb_configure(tmp, &global_jbconf);
if (state != AST_STATE_DOWN && ast_pbx_start(tmp)) {
Modified: team/anthonyl/escape-filter2/channels/chan_h323.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_h323.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_h323.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_h323.c Fri Nov 10 17:41:45 2006
@@ -998,17 +998,27 @@
static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const char *host)
{
struct ast_channel *ch;
+ char *cid_num, *cid_name;
int fmt;
+ if (!ast_strlen_zero(pvt->options.cid_num))
+ cid_num = pvt->options.cid_num;
+ else
+ cid_num = pvt->cd.call_source_e164;
+
+ if (!ast_strlen_zero(pvt->options.cid_name))
+ cid_name = pvt->options.cid_name;
+ else
+ cid_name = pvt->cd.call_source_name;
+
/* Don't hold a oh323_pvt lock while we allocate a chanel */
ast_mutex_unlock(&pvt->lock);
- ch = ast_channel_alloc(1);
+ ch = ast_channel_alloc(1, state, cid_num, cid_name, "H323/%s", host);
/* Update usage counter */
ast_module_ref(ast_module_info->self);
ast_mutex_lock(&pvt->lock);
if (ch) {
ch->tech = &oh323_tech;
- ast_string_field_build(ch, name, "H323/%s", host);
if (!(fmt = pvt->jointcapability) && !(fmt = pvt->options.capability))
fmt = global_options.capability;
ch->nativeformats = ast_codec_choose(&pvt->options.prefs, fmt, 1)/* | (pvt->jointcapability & AST_FORMAT_VIDEO_MASK)*/;
@@ -1057,18 +1067,11 @@
}
/* Don't use ast_set_callerid() here because it will
- * generate a NewCallerID event before the NewChannel event */
- if (!ast_strlen_zero(pvt->options.cid_num)) {
- ch->cid.cid_num = ast_strdup(pvt->options.cid_num);
- ch->cid.cid_ani = ast_strdup(pvt->options.cid_num);
- } else {
- ch->cid.cid_num = ast_strdup(pvt->cd.call_source_e164);
- ch->cid.cid_ani = ast_strdup(pvt->cd.call_source_e164);
- }
- if (!ast_strlen_zero(pvt->options.cid_name))
- ch->cid.cid_name = ast_strdup(pvt->options.cid_name);
- else
- ch->cid.cid_name = ast_strdup(pvt->cd.call_source_name);
+ * generate a needless NewCallerID event */
+ ch->cid.cid_num = ast_strdup(cid_num);
+ ch->cid.cid_ani = ast_strdup(cid_num);
+ ch->cid.cid_name = ast_strdup(cid_name);
+
if (pvt->cd.redirect_reason >= 0) {
ch->cid.cid_rdnis = ast_strdup(pvt->cd.redirect_number);
pbx_builtin_setvar_helper(ch, "PRIREDIRECTREASON", redirectingreason2str(pvt->cd.redirect_reason));
@@ -1081,7 +1084,6 @@
}
if (pvt->cd.transfer_capability >= 0)
ch->transfercapability = pvt->cd.transfer_capability;
- ast_setstate(ch, state);
if (state != AST_STATE_DOWN) {
if (ast_pbx_start(ch)) {
ast_log(LOG_WARNING, "Unable to start PBX on %s\n", ch->name);
@@ -2531,17 +2533,17 @@
static int h323_do_trace(int fd, int argc, char *argv[])
{
- if (argc != 3) {
+ if (argc != 4) {
return RESULT_SHOWUSAGE;
}
- h323_debug(1, atoi(argv[2]));
+ h323_debug(1, atoi(argv[3]));
ast_cli(fd, "H.323 trace set to level %s\n", argv[2]);
return RESULT_SUCCESS;
}
static int h323_no_trace(int fd, int argc, char *argv[])
{
- if (argc != 3) {
+ if (argc < 3 || argc > 4) {
return RESULT_SHOWUSAGE;
}
h323_debug(0,0);
@@ -2551,7 +2553,7 @@
static int h323_do_debug(int fd, int argc, char *argv[])
{
- if (argc != 2) {
+ if (argc < 2 || argc > 3) {
return RESULT_SHOWUSAGE;
}
h323debug = 1;
@@ -2561,7 +2563,7 @@
static int h323_no_debug(int fd, int argc, char *argv[])
{
- if (argc != 3) {
+ if (argc < 3 || argc > 4) {
return RESULT_SHOWUSAGE;
}
h323debug = 0;
@@ -2640,41 +2642,56 @@
" Reloads H.323 configuration from h323.conf\n";
static struct ast_cli_entry cli_h323_no_trace_deprecated = {
- { { "h.323", "no", "trace", NULL },
+ { "h.323", "no", "trace", NULL },
h323_no_trace, "Disable H.323 Stack Tracing",
no_trace_usage };
static struct ast_cli_entry cli_h323_no_debug_deprecated = {
- { { "h.323", "no", "debug", NULL },
+ { "h.323", "no", "debug", NULL },
h323_no_debug, "Disable H.323 debug",
no_debug_usage };
+static struct ast_cli_entry cli_h323_debug_deprecated = {
+ { "h.323", "debug", NULL },
+ h323_do_debug, "Enable H.323 debug",
+ debug_usage };
+
+static struct ast_cli_entry cli_h323_trace_deprecated = {
+ { "h.323", "trace", NULL },
+ h323_do_trace, "Enable H.323 Stack Tracing",
+ trace_usage };
+
+static struct ast_cli_entry cli_h323_gk_cycle_deprecated = {
+ { "h323", "cycle", "gk", NULL },
+ h323_gk_cycle, "Manually re-register with the Gatekeper",
+ show_cycle_usage };
+
static struct ast_cli_entry cli_h323[] = {
- { { "h.323", "trace", NULL },
+ { { "h323", "set", "trace", NULL },
h323_do_trace, "Enable H.323 Stack Tracing",
- trace_usage },
-
- { { "h.323", "trace", "off", NULL },
+ trace_usage, NULL, &cli_h323_trace_deprecated },
+
+ { { "h323", "set", "trace", "off", NULL },
h323_no_trace, "Disable H.323 Stack Tracing",
- no_trace_usage, NULL, cli_h323_no_trace_deprecated },
-
- { { "h.323", "debug", NULL },
+ no_trace_usage, NULL, &cli_h323_no_trace_deprecated },
+
+ { { "h323", "set", "debug", NULL },
h323_do_debug, "Enable H.323 debug",
- debug_usage },
-
- { { "h.323", "debug", "off", NULL },
+ debug_usage, NULL, &cli_h323_debug_deprecated },
+
+ { { "h323", "set", "debug", "off", NULL },
h323_no_debug, "Disable H.323 debug",
- no_debug_usage, NULL, cli_h323_no_debug_deprecated },
-
- { { "h.323", "gk", "cycle", NULL },
+ no_debug_usage, NULL, &cli_h323_no_debug_deprecated },
+
+ { { "h323", "cycle", "gk", NULL },
h323_gk_cycle, "Manually re-register with the Gatekeper",
- show_cycle_usage },
-
- { { "h.323", "hangup", NULL },
+ show_cycle_usage, NULL, &cli_h323_gk_cycle_deprecated },
+
+ { { "h323", "hangup", NULL },
h323_ep_hangup, "Manually try to hang up a call",
show_hangup_usage },
- { { "h.323", "show", "tokens", NULL },
+ { { "h323", "show", "tokens", NULL },
h323_tokens_show, "Show all active call tokens",
show_tokens_usage },
};
Modified: team/anthonyl/escape-filter2/channels/chan_iax2.c
URL: http://svn.digium.com/view/asterisk/team/anthonyl/escape-filter2/channels/chan_iax2.c?view=diff&rev=47484&r1=47483&r2=47484
==============================================================================
--- team/anthonyl/escape-filter2/channels/chan_iax2.c (original)
+++ team/anthonyl/escape-filter2/channels/chan_iax2.c Fri Nov 10 17:41:45 2006
@@ -3231,12 +3231,11 @@
/* Don't hold call lock */
ast_mutex_unlock(&iaxsl[callno]);
- tmp = ast_channel_alloc(1);
+ tmp = ast_channel_alloc(1, state, i->cid_num, i->cid_name, "IAX2/%s-%d", i->host, i->callno);
ast_mutex_lock(&iaxsl[callno]);
if (!tmp)
return NULL;
tmp->tech = &iax2_tech;
- ast_string_field_build(tmp, name, "IAX2/%s-%d", i->host, i->callno);
/* We can support any format by default, until we get restricted */
tmp->nativeformats = capability;
tmp->readformat = ast_best_codec(capability);
@@ -3270,7 +3269,6 @@
tmp->adsicpe = AST_ADSI_UNAVAILABLE;
i->owner = tmp;
i->capability = capability;
- ast_setstate(tmp, state);
if (state != AST_STATE_DOWN) {
if (ast_pbx_start(tmp)) {
ast_log(LOG_WARNING, "Unable to start PBX on %s\n", tmp->name);
@@ -4399,7 +4397,7 @@
static int iax2_do_debug(int fd, int argc, char *argv[])
{
- if (argc != 2)
+ if (argc < 2 || argc > 3)
return RESULT_SHOWUSAGE;
iaxdebug = 1;
ast_cli(fd, "IAX2 Debugging Enabled\n");
@@ -4408,7 +4406,7 @@
static int iax2_do_trunk_debug(int fd, int argc, char *argv[])
{
- if (argc != 3)
+ if (argc < 3 || argc > 4)
return RESULT_SHOWUSAGE;
iaxtrunkdebug = 1;
ast_cli(fd, "IAX2 Trunk Debug Requested\n");
@@ -4417,7 +4415,7 @@
static int iax2_do_jb_debug(int fd, int argc, char *argv[])
{
- if (argc != 3)
+ if (argc < 3 || argc > 4)
return RESULT_SHOWUSAGE;
jb_setoutput(jb_error_output, jb_warning_output, jb_debug_output);
ast_cli(fd, "IAX2 Jitterbuffer Debugging Enabled\n");
@@ -4426,7 +4424,7 @@
static int iax2_no_debug(int fd, int argc, char *argv[])
{
- if (argc != 3)
+ if (argc < 3 || argc > 4)
return RESULT_SHOWUSAGE;
iaxdebug = 0;
ast_cli(fd, "IAX2 Debugging Disabled\n");
@@ -4435,7 +4433,7 @@
static int iax2_no_trunk_debug(int fd, int argc, char *argv[])
{
- if (argc != 4)
+ if (argc < 4 || argc > 5)
return RESULT_SHOWUSAGE;
iaxtrunkdebug = 0;
ast_cli(fd, "IAX2 Trunk Debugging Disabled\n");
@@ -4444,7 +4442,7 @@
static int iax2_no_jb_debug(int fd, int argc, char *argv[])
{
- if (argc != 4)
+ if (argc < 4 || argc > 5)
return RESULT_SHOWUSAGE;
jb_setoutput(jb_error_output, jb_warning_output, NULL);
jb_debug_output("\n");
@@ -6072,10 +6070,9 @@
struct iax_dual *d;
struct ast_channel *chan1m, *chan2m;
pthread_t th;
- chan1m = ast_channel_alloc(0);
- chan2m = ast_channel_alloc(0);
+ chan1m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "Parking/%s", chan1->name);
+ chan2m = ast_channel_alloc(0, AST_STATE_DOWN, 0, 0, "IAXPeer/%s",chan2->name);
if (chan2m && chan1m) {
- ast_string_field_build(chan1m, name, "Parking/%s", chan1->name);
/* Make formats okay */
chan1m->readformat = chan1->readformat;
chan1m->writeformat = chan1->writeformat;
@@ -6087,7 +6084,6 @@
/* We make a clone of the peer channel too, so we can play
back the announcement */
- ast_string_field_build(chan2m, name, "IAXPeer/%s",chan2->name);
/* Make formats okay */
chan2m->readformat = chan2->readformat;
chan2m->writeformat = chan2->writeformat;
@@ -9667,27 +9663,27 @@
" Lists all registration requests and status.\n";
static char debug_usage[] =
-"Usage: iax2 debug\n"
+"Usage: iax2 set debug\n"
" Enables dumping of IAX packets for debugging purposes\n";
static char no_debug_usage[] =
-"Usage: iax2 nodebug\n"
+"Usage: iax2 set debug off\n"
" Disables dumping of IAX packets for debugging purposes\n";
static char debug_trunk_usage[] =
-"Usage: iax2 debug trunk\n"
+"Usage: iax2 set debug trunk\n"
" Requests current status of IAX trunking\n";
static char no_debug_trunk_usage[] =
-"Usage: iax2 nodebug trunk\n"
+"Usage: iax2 set debug trunk off\n"
" Requests current status of IAX trunking\n";
static char debug_jb_usage[] =
-"Usage: iax2 debug jb\n"
+"Usage: iax2 set debug jb\n"
" Enables jitterbuffer debugging information\n";
static char no_debug_jb_usage[] =
-"Usage: iax2 nodebug jb\n"
+"Usage: iax2 set debug jb off\n"
" Disables jitterbuffer debugging information\n";
static char iax2_test_losspct_usage[] =
@@ -9826,27 +9822,27 @@
iax2_show_peer, "Show details on specific IAX peer",
show_peer_usage, complete_iax2_show_peer },
- { { "iax2", "debug", NULL },
+ { { "iax2", "set", "debug", NULL },
iax2_do_debug, "Enable IAX debugging",
debug_usage },
- { { "iax2", "debug", "trunk", NULL },
+ { { "iax2", "set", "debug", "trunk", NULL },
iax2_do_trunk_debug, "Enable IAX trunk debugging",
[... 6017 lines stripped ...]
More information about the asterisk-commits
mailing list