[asterisk-commits] branch bweschke/queue_improvements r16392 - in
/team/bweschke/queue_improveme...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Mar 29 20:53:01 MST 2006
Author: bweschke
Date: Wed Mar 29 21:52:49 2006
New Revision: 16392
URL: http://svn.digium.com/view/asterisk?rev=16392&view=rev
Log:
Merged revisions 15319,15375,15377,15379-15380,15382,15435-15436,15476,15514,15516-15519,15543,15550-15551,15581,15614,15616-15619,15659,15662,15701-15702,15704,15744-15745,15784-15785,15815-15820,15852,15856-15860,15895,15897,15905,15938,15969-15970,16006-16007,16009-16012,16051,16083,16085,16124,16129,16161,16193,16195,16234-16235,16268,16304-16305,16345,16347,16386 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r15319 | north | 2006-03-27 15:13:54 -0600 (Mon, 27 Mar 2006) | 4 lines
Changed some "register" methods to the proper "unregister" method. This is in a #if 0 block, but it may still be useful someday.
Thanks eliel.
................
r15375 | oej | 2006-03-27 17:13:31 -0600 (Mon, 27 Mar 2006) | 2 lines
Issue #6409 - Make calls to URI without username go to "s" extension (imported from 1.2)
................
r15377 | oej | 2006-03-27 17:32:34 -0600 (Mon, 27 Mar 2006) | 2 lines
Issue #6597 - Show correct port in "sip show registry" - import from 1.2 branch
................
r15379 | oej | 2006-03-27 17:39:48 -0600 (Mon, 27 Mar 2006) | 2 lines
Issue #6736 - Enable NAT flags for OPTIONs requests (Thanks casper!)
................
r15380 | oej | 2006-03-27 17:41:21 -0600 (Mon, 27 Mar 2006) | 2 lines
Reverting previous patch. Ok, let's take this from 1.2 instead... :-)
................
r15382 | oej | 2006-03-27 17:49:44 -0600 (Mon, 27 Mar 2006) | 2 lines
Issue #6736 - use flags for OPTIONs messages
................
r15435 | kpfleming | 2006-03-27 21:28:52 -0600 (Mon, 27 Mar 2006) | 2 lines
improve IP TOS support for SIP and IAX2 (issue #6355, code from jcollie plus modifications)
................
r15436 | kpfleming | 2006-03-27 21:36:17 -0600 (Mon, 27 Mar 2006) | 2 lines
use proper file name
................
r15476 | kpfleming | 2006-03-27 22:21:21 -0600 (Mon, 27 Mar 2006) | 2 lines
support subscription-based MWI, and use proper Call-ID on NOTIFY messages (issue #6390)
................
r15514 | rizzo | 2006-03-28 07:23:05 -0600 (Tue, 28 Mar 2006) | 3 lines
fix documentation
................
r15516 | rizzo | 2006-03-28 07:46:04 -0600 (Tue, 28 Mar 2006) | 5 lines
optimize a bit name completion by avoiding repeated calls to
strlen(word), localize variables and normalize the test
for finding the candidate string.
................
r15517 | rizzo | 2006-03-28 07:52:04 -0600 (Tue, 28 Mar 2006) | 4 lines
remove the long since unused STANDARD_LOCAL_USERS macro
so that new apps will not try to use it by mistake.
................
r15518 | russell | 2006-03-28 07:52:57 -0600 (Tue, 28 Mar 2006) | 2 lines
disable the http server by default at the request of people on IRC
................
r15519 | rizzo | 2006-03-28 07:58:34 -0600 (Tue, 28 Mar 2006) | 3 lines
remove trailing whitespace
................
r15543 | rizzo | 2006-03-28 08:04:27 -0600 (Tue, 28 Mar 2006) | 3 lines
update example file
................
r15550 | rizzo | 2006-03-28 08:15:13 -0600 (Tue, 28 Mar 2006) | 4 lines
Use the standard macros to manipulate usecount.
This is in preparation to the import of the new loader.
................
r15551 | rizzo | 2006-03-28 08:30:31 -0600 (Tue, 28 Mar 2006) | 4 lines
remove a few unneeded calls to strlen, and replace a while()
loop with the equivalent function strchr()
................
r15581 | rizzo | 2006-03-28 09:19:32 -0600 (Tue, 28 Mar 2006) | 9 lines
- remove an unnecessary cast and recomputation of (timeout - now);
- remove useless recomputations of strlen(word) in a loop, and
normalize the form of complete_peer_helper();
- move LOCAL_USER_ADD() to after the verification of arguments,
thus removing the need for one LOCAL_USER_REMOVE() call.
The three chunks of the patch are fully disjoint.
................
r15614 | oej | 2006-03-28 11:18:02 -0600 (Tue, 28 Mar 2006) | 2 lines
Fix typo (thanks, North) and update docs for IP-tos settings
................
r15616 | tilghman | 2006-03-28 11:49:39 -0600 (Tue, 28 Mar 2006) | 10 lines
Merged revisions 15615 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r15615 | tilghman | 2006-03-28 11:48:18 -0600 (Tue, 28 Mar 2006) | 2 lines
Bug 6815 - Adding quotes to make bash happy
........
................
r15617 | russell | 2006-03-28 11:52:50 -0600 (Tue, 28 Mar 2006) | 2 lines
conversions to S_OR (issue #6817)
................
r15618 | kpfleming | 2006-03-28 11:53:27 -0600 (Tue, 28 Mar 2006) | 2 lines
oops :-(
................
r15619 | russell | 2006-03-28 12:00:05 -0600 (Tue, 28 Mar 2006) | 2 lines
store f->callno in a local var (issue #6818)
................
r15659 | russell | 2006-03-28 12:13:53 -0600 (Tue, 28 Mar 2006) | 10 lines
Merged revisions 15658 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r15658 | russell | 2006-03-28 13:09:05 -0500 (Tue, 28 Mar 2006) | 2 lines
fix the order in which for loops are expanded (issue #6810)
........
................
r15662 | kpfleming | 2006-03-28 13:00:21 -0600 (Tue, 28 Mar 2006) | 2 lines
ensure that 'zap show channel' will indicate that the echo canceler has been disabled when CED has been detected on the channel
................
r15701 | oej | 2006-03-28 13:09:51 -0600 (Tue, 28 Mar 2006) | 3 lines
Fix NAT support breakage for peers with qualify=yes (imported from 1.2)
- Blame KLM, still jetlagged :-)
................
r15702 | russell | 2006-03-28 13:31:41 -0600 (Tue, 28 Mar 2006) | 2 lines
only display a debug message if iaxdebug is enabled as well (issue #6673)
................
r15704 | russell | 2006-03-28 13:49:30 -0600 (Tue, 28 Mar 2006) | 10 lines
Merged revisions 15703 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r15703 | russell | 2006-03-28 14:47:03 -0500 (Tue, 28 Mar 2006) | 2 lines
fix Bus Error on sparc (issue #6354)
........
................
r15744 | rizzo | 2006-03-28 14:22:25 -0600 (Tue, 28 Mar 2006) | 5 lines
fix a bug introduced in 15187 that scrambled the flags and
among other things prevented proper handling of NAT.
Don't think it exist in 1.2 but be careful if 15187 is merged.
................
r15745 | russell | 2006-03-28 14:24:08 -0600 (Tue, 28 Mar 2006) | 1 line
................
r15784 | rizzo | 2006-03-28 15:15:10 -0600 (Tue, 28 Mar 2006) | 9 lines
Bring in the new loader code as described in mantis #4377
and updated to today's version.
The core of the patch is only two files, loader.c
and include/asterisk/module.h, with the other files
touched only to adapt non-standard usages of the
reference counts and localuser lists.
................
r15785 | rizzo | 2006-03-28 15:24:48 -0600 (Tue, 28 Mar 2006) | 11 lines
The condition to check the zaptel version was too strict.
If you are compiling with WITHOUT_ZAPTEL=1, you can also
work with older version of zaptel, and there is no reason
not to allow that.
This should help various people mentioning on the -dev
list that there were issues with newer zaptel versions
on FreeBSD, and so they had to use older version.
(This includes me, btw!)
................
r15815 | kpfleming | 2006-03-28 16:09:38 -0600 (Tue, 28 Mar 2006) | 2 lines
make 'show hints' CLI command show context name for each hint
................
r15816 | kpfleming | 2006-03-28 16:14:50 -0600 (Tue, 28 Mar 2006) | 2 lines
let's format that output sanely instead :-(
................
r15817 | rizzo | 2006-03-28 16:25:08 -0600 (Tue, 28 Mar 2006) | 12 lines
bring in the code that was discussed on Mantis #6068,
which is the basis for several simplifications and fixes
to the CLI interfaces.
The core is in cli.c, some documentation on a new function
to help command completion is in cli.h, and one line of
glue code in the other two files.
Next step is to bring in the patches described in #6066 and
other simplifications.
................
r15818 | rizzo | 2006-03-28 16:44:55 -0600 (Tue, 28 Mar 2006) | 4 lines
as reported in mantis #6066, fix a bunch of cli bugs and
inconsistencies.
................
r15819 | kpfleming | 2006-03-28 16:47:02 -0600 (Tue, 28 Mar 2006) | 2 lines
make 'sip show subscriptions' include context for subscribed hints
................
r15820 | rizzo | 2006-03-28 16:59:34 -0600 (Tue, 28 Mar 2006) | 3 lines
black magic to make sure we recompile things after the changes to cli.c
................
r15852 | rizzo | 2006-03-28 17:06:46 -0600 (Tue, 28 Mar 2006) | 3 lines
use ast_cli_complete() to largely simplify the command completion code.
................
r15856 | rizzo | 2006-03-28 17:20:13 -0600 (Tue, 28 Mar 2006) | 3 lines
normalize/simplify a bit of the command completion code.
................
r15857 | rizzo | 2006-03-28 17:33:02 -0600 (Tue, 28 Mar 2006) | 3 lines
another batch of cli simplifications
................
r15858 | rizzo | 2006-03-28 17:40:28 -0600 (Tue, 28 Mar 2006) | 3 lines
more command completion normalization
................
r15859 | rizzo | 2006-03-28 17:52:21 -0600 (Tue, 28 Mar 2006) | 4 lines
more command completion normalization.
also change some explicit constant with sizeof()
................
r15860 | oej | 2006-03-28 17:55:52 -0600 (Tue, 28 Mar 2006) | 2 lines
Doxygen fixes
................
r15895 | rizzo | 2006-03-28 18:30:29 -0600 (Tue, 28 Mar 2006) | 6 lines
Normalize some cli completion code.
On passing, replace strdup with ast_strdup() and remove
the now useless checks for NULL since ast_strdup() can handle
it correctly.
................
r15897 | kpfleming | 2006-03-28 18:32:52 -0600 (Tue, 28 Mar 2006) | 10 lines
Merged revisions 15896 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r15896 | kpfleming | 2006-03-28 18:32:10 -0600 (Tue, 28 Mar 2006) | 2 lines
ensure that list traversal loops which skip entries properly update the 'previous entry' pointer so when entries _are_ removed the list does not get damaged
........
................
r15905 | oej | 2006-03-28 19:01:09 -0600 (Tue, 28 Mar 2006) | 2 lines
Issue #6823 - Registration and port numbers. (from 1.2)
................
r15938 | north | 2006-03-28 19:08:01 -0600 (Tue, 28 Mar 2006) | 2 lines
Added more "valid" phone types to skinny sample config.
................
r15969 | rizzo | 2006-03-28 20:12:31 -0600 (Tue, 28 Mar 2006) | 10 lines
Add two widely used constants
#define DEFAULT_SAMPLE_RATE 8000
#define DEFAULT_SAMPLES_PER_MS ((DEFAULT_SAMPLE_RATE)/1000)
to the main header, and remove equivalent ones from plc.[ch]
This will simplify the cleanup of the codec/ and formats/ files.
................
r15970 | rizzo | 2006-03-28 20:14:38 -0600 (Tue, 28 Mar 2006) | 4 lines
Introduce an utility macro to set base, offset and
datalen of a frame, which is a very common operation.
................
r16006 | russell | 2006-03-28 22:09:31 -0600 (Tue, 28 Mar 2006) | 2 lines
conversion from malloc to ast_malloc
................
r16007 | russell | 2006-03-28 22:14:12 -0600 (Tue, 28 Mar 2006) | 2 lines
fix the provided unsetenv for solaris to return an int like it's supposed to
................
r16009 | russell | 2006-03-28 22:16:09 -0600 (Tue, 28 Mar 2006) | 1 line
................
r16010 | russell | 2006-03-28 22:19:23 -0600 (Tue, 28 Mar 2006) | 1 line
oops! :)
................
r16011 | oej | 2006-03-28 22:34:55 -0600 (Tue, 28 Mar 2006) | 3 lines
- Formatting fixes
- Doxygen
................
r16012 | oej | 2006-03-28 22:42:07 -0600 (Tue, 28 Mar 2006) | 2 lines
Doxygen updates
................
r16051 | markster | 2006-03-28 23:12:24 -0600 (Tue, 28 Mar 2006) | 2 lines
Fix build of asterisk again (ahem, committers!)
................
r16083 | tilghman | 2006-03-29 08:24:30 -0600 (Wed, 29 Mar 2006) | 10 lines
Merged revisions 16082 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r16082 | tilghman | 2006-03-29 08:10:23 -0600 (Wed, 29 Mar 2006) | 2 lines
Bug 6835 - Updates to GotoIf help text
........
................
r16085 | crichter | 2006-03-29 08:26:43 -0600 (Wed, 29 Mar 2006) | 1 line
fixed no dtmf detect on 64 bit
................
r16124 | rizzo | 2006-03-29 10:00:51 -0600 (Wed, 29 Mar 2006) | 5 lines
mention issues with the protection of the list used in indications.c
(part of work done to figure out what is used and what is not in lock.h)
................
r16129 | rizzo | 2006-03-29 10:51:51 -0600 (Wed, 29 Mar 2006) | 3 lines
another batch of cli simplifications.
................
r16161 | oej | 2006-03-29 11:09:33 -0600 (Wed, 29 Mar 2006) | 2 lines
Update to code documentation and developer guidelines.
................
r16193 | tilghman | 2006-03-29 13:30:57 -0600 (Wed, 29 Mar 2006) | 10 lines
Merged revisions 16192 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r16192 | tilghman | 2006-03-29 13:11:18 -0600 (Wed, 29 Mar 2006) | 2 lines
Bug 6830 - Let GosubIf work with the same conditions as a GotoIf (change in API approved by Russell)
........
................
r16195 | russell | 2006-03-29 13:54:41 -0600 (Wed, 29 Mar 2006) | 2 lines
convert calloc and malloc+memset to ast_calloc and remove duplicate error messages
................
r16234 | oej | 2006-03-29 14:08:14 -0600 (Wed, 29 Mar 2006) | 2 lines
Whitespace fix forgotten by someone who added a note about needing to fix this...
................
r16235 | rizzo | 2006-03-29 14:09:10 -0600 (Wed, 29 Mar 2006) | 3 lines
the comment character is ';' not '#' ...
................
r16268 | north | 2006-03-29 15:08:13 -0600 (Wed, 29 Mar 2006) | 4 lines
whitespace "fixes", and general cleanup
It's nice to have consistency in sample configs too.
................
r16304 | oej | 2006-03-29 18:30:49 -0600 (Wed, 29 Mar 2006) | 2 lines
Formatting fix.
................
r16305 | oej | 2006-03-29 18:32:01 -0600 (Wed, 29 Mar 2006) | 2 lines
Typo
................
r16345 | oej | 2006-03-29 19:30:15 -0600 (Wed, 29 Mar 2006) | 2 lines
Block patch on app_groupcount.c from 1.2
................
r16347 | oej | 2006-03-29 19:35:56 -0600 (Wed, 29 Mar 2006) | 2 lines
Set default value of adsipark (import from 1.2)
................
r16386 | file | 2006-03-29 21:16:09 -0600 (Wed, 29 Mar 2006) | 2 lines
Fix IAX2 multithreaded scheduling (issue #6840)
................
Added:
team/bweschke/queue_improvements/doc/ip-tos.txt (props changed)
- copied unchanged from r16386, trunk/doc/ip-tos.txt
Modified:
team/bweschke/queue_improvements/ (props changed)
team/bweschke/queue_improvements/.cleancount
team/bweschke/queue_improvements/acl.c
team/bweschke/queue_improvements/app.c
team/bweschke/queue_improvements/apps/app_channelredirect.c
team/bweschke/queue_improvements/apps/app_meetme.c
team/bweschke/queue_improvements/apps/app_queue.c
team/bweschke/queue_improvements/apps/app_rpt.c
team/bweschke/queue_improvements/apps/app_stack.c
team/bweschke/queue_improvements/asterisk.c
team/bweschke/queue_improvements/callerid.c
team/bweschke/queue_improvements/channels/chan_agent.c
team/bweschke/queue_improvements/channels/chan_iax2.c
team/bweschke/queue_improvements/channels/chan_oss.c
team/bweschke/queue_improvements/channels/chan_sip.c
team/bweschke/queue_improvements/channels/chan_skinny.c
team/bweschke/queue_improvements/channels/chan_zap.c
team/bweschke/queue_improvements/channels/iax2-provision.c
team/bweschke/queue_improvements/channels/misdn/isdn_lib.c
team/bweschke/queue_improvements/cli.c
team/bweschke/queue_improvements/codecs/codec_a_mu.c
team/bweschke/queue_improvements/codecs/codec_adpcm.c
team/bweschke/queue_improvements/codecs/codec_alaw.c
team/bweschke/queue_improvements/codecs/codec_g723_1.c
team/bweschke/queue_improvements/codecs/codec_g726.c
team/bweschke/queue_improvements/codecs/codec_gsm.c
team/bweschke/queue_improvements/codecs/codec_ilbc.c
team/bweschke/queue_improvements/codecs/codec_lpc10.c
team/bweschke/queue_improvements/codecs/codec_speex.c
team/bweschke/queue_improvements/codecs/codec_ulaw.c
team/bweschke/queue_improvements/configs/extensions.conf.sample
team/bweschke/queue_improvements/configs/http.conf.sample
team/bweschke/queue_improvements/configs/iax.conf.sample
team/bweschke/queue_improvements/configs/iaxprov.conf.sample
team/bweschke/queue_improvements/configs/oss.conf.sample
team/bweschke/queue_improvements/configs/sip.conf.sample
team/bweschke/queue_improvements/configs/skinny.conf.sample
team/bweschke/queue_improvements/contrib/init.d/rc.redhat.asterisk
team/bweschke/queue_improvements/include/asterisk.h
team/bweschke/queue_improvements/include/asterisk/acl.h
team/bweschke/queue_improvements/include/asterisk/callerid.h
team/bweschke/queue_improvements/include/asterisk/cli.h
team/bweschke/queue_improvements/include/asterisk/frame.h
team/bweschke/queue_improvements/include/asterisk/linkedlists.h
team/bweschke/queue_improvements/include/asterisk/module.h
team/bweschke/queue_improvements/include/asterisk/pbx.h
team/bweschke/queue_improvements/include/asterisk/plc.h
team/bweschke/queue_improvements/include/solaris-compat/compat.h
team/bweschke/queue_improvements/indications.c
team/bweschke/queue_improvements/loader.c
team/bweschke/queue_improvements/manager.c
team/bweschke/queue_improvements/pbx.c
team/bweschke/queue_improvements/pbx/pbx_ael.c
team/bweschke/queue_improvements/pbx/pbx_config.c
team/bweschke/queue_improvements/pbx/pbx_dundi.c
team/bweschke/queue_improvements/plc.c
team/bweschke/queue_improvements/res/res_clioriginate.c
team/bweschke/queue_improvements/res/res_features.c
team/bweschke/queue_improvements/res/res_smdi.c
team/bweschke/queue_improvements/slinfactory.c
team/bweschke/queue_improvements/strcompat.c
team/bweschke/queue_improvements/translate.c
team/bweschke/queue_improvements/utils/astman.c
Propchange: team/bweschke/queue_improvements/
------------------------------------------------------------------------------
Binary property 'branch-1.2-blocked' - no diff available.
Propchange: team/bweschke/queue_improvements/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.
Propchange: team/bweschke/queue_improvements/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Mar 29 21:52:49 2006
@@ -1,1 +1,1 @@
-/trunk:1-15283
+/trunk:1-16391
Modified: team/bweschke/queue_improvements/.cleancount
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/.cleancount?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/.cleancount (original)
+++ team/bweschke/queue_improvements/.cleancount Wed Mar 29 21:52:49 2006
@@ -1,1 +1,1 @@
-11
+12
Modified: team/bweschke/queue_improvements/acl.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/acl.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/acl.c (original)
+++ team/bweschke/queue_improvements/acl.c Wed Mar 29 21:52:49 2006
@@ -1,7 +1,7 @@
/*
* Asterisk -- An open source telephony toolkit.
*
- * Copyright (C) 1999 - 2005, Digium, Inc.
+ * Copyright (C) 1999 - 2006, Digium, Inc.
*
* Mark Spencer <markster at digium.com>
*
@@ -20,7 +20,7 @@
*
* \brief Various sorts of access control
*
- * \author Mark Spencer <markster at digium.com>
+ * \author Mark Spencer <markster at digium.com>
*/
#include <stdio.h>
@@ -136,7 +136,7 @@
if (prev)
prev->next = link; /* Link previous to this object */
- if (!ret)
+ if (!ret)
ret = link; /* Save starting point */
start = start->next; /* Go to next object */
@@ -153,7 +153,7 @@
struct ast_ha *prev = NULL;
struct ast_ha *ret;
int x, z;
- unsigned int y;
+ unsigned int y;
ret = path;
while (path) {
@@ -252,12 +252,55 @@
return 0;
}
-int ast_str2tos(const char *value, int *tos)
+struct dscp_codepoint {
+ char *name;
+ unsigned int space;
+};
+
+/* IANA registered DSCP codepoints */
+
+static const struct dscp_codepoint dscp_pool1[] = {
+ { "CS0", 0x00 },
+ { "CS1", 0x08 },
+ { "CS2", 0x10 },
+ { "CS3", 0x18 },
+ { "CS4", 0x20 },
+ { "CS5", 0x28 },
+ { "CS6", 0x30 },
+ { "CS7", 0x38 },
+ { "AF11", 0x0A },
+ { "AF12", 0x0C },
+ { "AF13", 0x0E },
+ { "AF21", 0x12 },
+ { "AF22", 0x14 },
+ { "AF23", 0x16 },
+ { "AF31", 0x1A },
+ { "AF32", 0x1C },
+ { "AF33", 0x1E },
+ { "AF41", 0x22 },
+ { "AF42", 0x24 },
+ { "AF43", 0x26 },
+ { "EF", 0x2E },
+};
+
+int ast_str2tos(const char *value, unsigned int *tos)
{
int fval;
- if (sscanf(value, "%i", &fval) == 1)
- *tos = fval & 0xff;
- else if (!strcasecmp(value, "lowdelay"))
+ unsigned int x;
+
+ if (sscanf(value, "%i", &fval) == 1) {
+ *tos = fval & 0xFF;
+ return 0;
+ }
+
+ for (x = 0; x < sizeof(dscp_pool1) / sizeof(dscp_pool1[0]); x++) {
+ if (!strcasecmp(value, dscp_pool1[x].name)) {
+ *tos = dscp_pool1[x].space << 2;
+ return 0;
+ }
+ }
+
+ if (!strcasecmp(value, "lowdelay"))
*tos = IPTOS_LOWDELAY;
else if (!strcasecmp(value, "throughput"))
*tos = IPTOS_THROUGHPUT;
@@ -269,16 +312,44 @@
*tos = 0;
else
return -1;
+
+ ast_log(LOG_WARNING, "TOS value %s is deprecated. Please see doc/ip-tos.txt for more information.\n", value);
+
return 0;
}
+const char *ast_tos2str(unsigned int tos)
+{
+ unsigned int x;
+
+ switch (tos) {
+ case 0:
+ return "none";
+ case IPTOS_LOWDELAY:
+ return "lowdelay";
+ case IPTOS_THROUGHPUT:
+ return "throughput";
+ case IPTOS_RELIABILITY:
+ return "reliability";
+ case IPTOS_MINCOST:
+ return "mincost";
+ default:
+ for (x = 0; x < sizeof(dscp_pool1) / sizeof(dscp_pool1[0]); x++) {
+ if (dscp_pool1[x].space == (tos >> 2))
+ return dscp_pool1[x].name;
+ }
+ }
+
+ return "unknown";
+}
+
int ast_get_ip(struct sockaddr_in *sin, const char *value)
{
return ast_get_ip_or_srv(sin, value, NULL);
}
/* iface is the interface (e.g. eth0); address is the return value */
-int ast_lookup_iface(char *iface, struct in_addr *address)
+int ast_lookup_iface(char *iface, struct in_addr *address)
{
int mysock, res = 0;
struct my_ifreq ifreq;
@@ -357,4 +428,3 @@
return 0;
return -1;
}
-
Modified: team/bweschke/queue_improvements/app.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/app.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/app.c (original)
+++ team/bweschke/queue_improvements/app.c Wed Mar 29 21:52:49 2006
@@ -79,7 +79,7 @@
else
ast_log(LOG_NOTICE,"Huh....? no dial for indications?\n");
- for (x = strlen(collect); strlen(collect) < maxlen; ) {
+ for (x = strlen(collect); x < maxlen; ) {
res = ast_waitfordigit(chan, timeout);
if (!ast_ignore_pattern(context, collect))
ast_playtones_stop(chan);
@@ -94,12 +94,8 @@
break;
}
}
- if (res >= 0) {
- if (ast_exists_extension(chan, context, collect, 1, chan->cid.cid_num))
- res = 1;
- else
- res = 0;
- }
+ if (res >= 0)
+ res = ast_exists_extension(chan, context, collect, 1, chan->cid.cid_num) ? 1 : 0;
return res;
}
@@ -1153,9 +1149,10 @@
char *fs;
int res;
int fd;
+ int lp = strlen(path);
time_t start;
- if (!(s = alloca(strlen(path) + 10)) || !(fs = alloca(strlen(path) + 20))) {
+ if (!(s = alloca(lp + 10)) || !(fs = alloca(lp + 20))) {
ast_log(LOG_WARNING, "Out of memory!\n");
return AST_LOCK_FAILURE;
}
@@ -1510,7 +1507,7 @@
if (fd < 0) {
ast_log(LOG_WARNING, "Cannot open file '%s' for reading: %s\n", filename, strerror(errno));
return NULL;
- }
+ }
if ((output = ast_malloc(count))) {
res = read(fd, output, count - 1);
if (res == count - 1) {
@@ -1540,14 +1537,13 @@
s = optstr;
while (*s) {
- curarg = *s++ & 0x7f;
+ curarg = *s++ & 0x7f; /* the array (in app.h) has 128 entries */
ast_set_flag(flags, options[curarg].flag);
argloc = options[curarg].arg_index;
if (*s == '(') {
/* Has argument */
arg = ++s;
- while (*s && (*s != ')'))
- s++;
+ s = strchr(s, ')');
if (*s) {
if (argloc)
args[argloc - 1] = arg;
Modified: team/bweschke/queue_improvements/apps/app_channelredirect.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/apps/app_channelredirect.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/apps/app_channelredirect.c (original)
+++ team/bweschke/queue_improvements/apps/app_channelredirect.c Wed Mar 29 21:52:49 2006
@@ -47,8 +47,6 @@
static char *descrip =
"ChannelRedirect(channel|[[context|]extension|]priority):\n"
" Sends the specified channel to the specified extension priority\n";
-
-STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
Modified: team/bweschke/queue_improvements/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/apps/app_meetme.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/apps/app_meetme.c (original)
+++ team/bweschke/queue_improvements/apps/app_meetme.c Wed Mar 29 21:52:49 2006
@@ -685,42 +685,36 @@
return 0;
}
-static char *complete_confcmd(const char *line, const char *word, int pos, int state) {
-#define CONF_COMMANDS 6
- int which = 0, x = 0;
+static char *complete_confcmd(const char *line, const char *word, int pos, int state)
+{
+ static char *cmds[] = {"lock", "unlock", "mute", "unmute", "kick", "list", NULL};
+
+ int len = strlen(word);
+ int which = 0;
struct ast_conference *cnf = NULL;
struct ast_conf_user *usr = NULL;
char *confno = NULL;
char usrno[50] = "";
- char cmds[CONF_COMMANDS][20] = {"lock", "unlock", "mute", "unmute", "kick", "list"};
- char *myline;
+ char *myline, *ret = NULL;
- if (pos == 1) {
- /* Command */
- for (x = 0;x < CONF_COMMANDS; x++) {
- if (!strncasecmp(cmds[x], word, strlen(word))) {
- if (++which > state) {
- return strdup(cmds[x]);
- }
- }
- }
- } else if (pos == 2) {
- /* Conference Number */
+ if (pos == 1) { /* Command */
+ return ast_cli_complete(word, cmds, state);
+ } else if (pos == 2) { /* Conference Number */
AST_LIST_LOCK(&confs);
AST_LIST_TRAVERSE(&confs, cnf, list) {
- if (!strncasecmp(word, cnf->confno, strlen(word))) {
- if (++which > state)
- break;
- }
- }
+ if (!strncasecmp(word, cnf->confno, len) && ++which > state) {
+ ret = cnf->confno;
+ break;
+ }
+ }
+ ret = ast_strdup(ret); /* dup before releasing the lock */
AST_LIST_UNLOCK(&confs);
- return cnf ? strdup(cnf->confno) : NULL;
+ return ret;
} else if (pos == 3) {
/* User Number || Conf Command option*/
if (strstr(line, "mute") || strstr(line, "kick")) {
- if ((state == 0) && (strstr(line, "kick") || strstr(line,"mute")) && !(strncasecmp(word, "all", strlen(word)))) {
+ if (state == 0 && (strstr(line, "kick") || strstr(line,"mute")) && !strncasecmp(word, "all", len))
return strdup("all");
- }
which++;
AST_LIST_LOCK(&confs);
@@ -740,10 +734,8 @@
/* Search for the user */
for (usr = cnf->firstuser; usr; usr = usr->nextuser) {
snprintf(usrno, sizeof(usrno), "%d", usr->user_no);
- if (!strncasecmp(word, usrno, strlen(word))) {
- if (++which > state)
- break;
- }
+ if (!strncasecmp(word, usrno, len) && ++which > state)
+ break;
}
}
AST_LIST_UNLOCK(&confs);
Modified: team/bweschke/queue_improvements/apps/app_queue.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/apps/app_queue.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/apps/app_queue.c (original)
+++ team/bweschke/queue_improvements/apps/app_queue.c Wed Mar 29 21:52:49 2006
@@ -1440,12 +1440,9 @@
if (tmp->chan->cid.cid_ani)
free(tmp->chan->cid.cid_ani);
tmp->chan->cid.cid_ani = NULL;
- if (qe->chan->cid.cid_num)
- tmp->chan->cid.cid_num = strdup(qe->chan->cid.cid_num);
- if (qe->chan->cid.cid_name)
- tmp->chan->cid.cid_name = strdup(qe->chan->cid.cid_name);
- if (qe->chan->cid.cid_ani)
- tmp->chan->cid.cid_ani = strdup(qe->chan->cid.cid_ani);
+ tmp->chan->cid.cid_num = ast_strdup(qe->chan->cid.cid_num);
+ tmp->chan->cid.cid_name = ast_strdup(qe->chan->cid.cid_name);
+ tmp->chan->cid.cid_ani = ast_strdup(qe->chan->cid.cid_ani);
/* Inherit specially named variables from parent channel */
ast_channel_inherit_variables(qe->chan, tmp->chan);
@@ -1724,21 +1721,12 @@
} else {
if (o->chan->cid.cid_num)
free(o->chan->cid.cid_num);
- o->chan->cid.cid_num = NULL;
+ o->chan->cid.cid_num = ast_strdup(in->cid.cid_num);
+
if (o->chan->cid.cid_name)
free(o->chan->cid.cid_name);
- o->chan->cid.cid_name = NULL;
-
- if (in->cid.cid_num) {
- o->chan->cid.cid_num = strdup(in->cid.cid_num);
- if (!o->chan->cid.cid_num)
- ast_log(LOG_WARNING, "Out of memory\n");
- }
- if (in->cid.cid_name) {
- o->chan->cid.cid_name = strdup(in->cid.cid_name);
- if (!o->chan->cid.cid_name)
- ast_log(LOG_WARNING, "Out of memory\n");
- }
+ o->chan->cid.cid_name = ast_strdup(in->cid.cid_name);
+
ast_string_field_set(o->chan, accountcode, in->accountcode);
o->chan->cdrflags = in->cdrflags;
@@ -1749,10 +1737,8 @@
}
if (o->chan->cid.cid_rdnis)
free(o->chan->cid.cid_rdnis);
- if (!ast_strlen_zero(in->macroexten))
- o->chan->cid.cid_rdnis = strdup(in->macroexten);
- else
- o->chan->cid.cid_rdnis = strdup(in->exten);
+ o->chan->cid.cid_rdnis =
+ ast_strdup(S_OR(in->macroexten, in->exten));
if (ast_call(o->chan, tmpchan, 0)) {
ast_log(LOG_NOTICE, "Failed to dial on local channel for call forward to '%s'\n", tmpchan);
do_hang(o);
@@ -2097,8 +2083,8 @@
if (!ast_strlen_zero(announceoverride))
announce = announceoverride;
- for (;cur; cur = cur->next) {
- struct callattempt *tmp = ast_calloc(1, sizeof(*tmp));
+ for (;cur; cur = cur->next) {
+ struct callattempt *tmp = ast_calloc(1, sizeof(*tmp));
if (!tmp) {
ast_mutex_unlock(&qe->parent->lock);
if (use_weight)
@@ -2682,7 +2668,7 @@
}
if (!(parse = ast_strdupa(data)))
- return -1;
+ return -1;
AST_STANDARD_APP_ARGS(args, parse);
@@ -3501,8 +3487,8 @@
AST_LIST_LOCK(&queues);
AST_LIST_TRAVERSE(&queues, q, list) {
- if (!strncasecmp(word, q->name, wordlen) && (++which > state)) {
- ret = strdup(q->name);
+ if (!strncasecmp(word, q->name, wordlen) && ++which > state) {
+ ret = ast_strdup(q->name);
break;
}
}
@@ -3766,11 +3752,11 @@
case 3: /* Don't attempt to complete name of member (infinite possibilities) */
return NULL;
case 4: /* only one possible match, "to" */
- return state == 0 ? strdup("to") : NULL;
+ return state == 0 ? ast_strdup("to") : NULL;
case 5: /* <queue> */
return complete_queue(line, word, pos, state);
case 6: /* only one possible match, "penalty" */
- return state == 0 ? strdup("penalty") : NULL;
+ return state == 0 ? ast_strdup("penalty") : NULL;
case 7:
if (state < 100) { /* 0-99 */
char *num;
@@ -3823,23 +3809,23 @@
struct ast_call_queue *q;
struct member *m;
- /* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
- if (pos > 5 || pos < 3)
- return NULL;
- if (pos == 4) /* only one possible match, 'from' */
- return state == 0 ? strdup("from") : NULL;
-
- if (pos == 5) /* No need to duplicate code */
- return complete_queue(line, word, pos, state);
-
- /* here is the case for 3, <member> */
- if (!AST_LIST_EMPTY(&queues)) {
+ /* 0 - add; 1 - queue; 2 - member; 3 - <member>; 4 - from; 5 - <queue> */
+ if (pos > 5 || pos < 3)
+ return NULL;
+ if (pos == 4) /* only one possible match, 'from' */
+ return state == 0 ? ast_strdup("from") : NULL;
+
+ if (pos == 5) /* No need to duplicate code */
+ return complete_queue(line, word, pos, state);
+
+ /* here is the case for 3, <member> */
+ if (!AST_LIST_EMPTY(&queues)) { /* XXX unnecessary ? the traverse does that for us */
AST_LIST_TRAVERSE(&queues, q, list) {
ast_mutex_lock(&q->lock);
for (m = q->members ; m ; m = m->next) {
if (++which > state) {
ast_mutex_unlock(&q->lock);
- return strdup(m->interface);
+ return ast_strdup(m->interface);
}
}
ast_mutex_unlock(&q->lock);
Modified: team/bweschke/queue_improvements/apps/app_rpt.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/apps/app_rpt.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/apps/app_rpt.c (original)
+++ team/bweschke/queue_improvements/apps/app_rpt.c Wed Mar 29 21:52:49 2006
@@ -260,7 +260,6 @@
struct ast_config *cfg;
-STANDARD_LOCAL_USER;
LOCAL_USER_DECL;
#define MSWAIT 200
Modified: team/bweschke/queue_improvements/apps/app_stack.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/apps/app_stack.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/apps/app_stack.c (original)
+++ team/bweschke/queue_improvements/apps/app_stack.c Wed Mar 29 21:52:49 2006
@@ -140,7 +140,7 @@
label1 = strsep(&args, ":");
label2 = args;
- if (ast_true(condition)) {
+ if (pbx_checkcondition(condition)) {
if (label1) {
res = gosub_exec(chan, label1);
}
Modified: team/bweschke/queue_improvements/asterisk.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/asterisk.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/asterisk.c (original)
+++ team/bweschke/queue_improvements/asterisk.c Wed Mar 29 21:52:49 2006
@@ -2031,6 +2031,7 @@
ast_ulaw_init();
ast_alaw_init();
callerid_init();
+ ast_builtins_init();
ast_utils_init();
tdd_init();
/* When Asterisk restarts after it has dropped the root privileges,
Modified: team/bweschke/queue_improvements/callerid.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/queue_improvements/callerid.c?rev=16392&r1=16391&r2=16392&view=diff
==============================================================================
--- team/bweschke/queue_improvements/callerid.c (original)
+++ team/bweschke/queue_improvements/callerid.c Wed Mar 29 21:52:49 2006
@@ -42,6 +42,7 @@
#include "asterisk/callerid.h"
#include "asterisk/logger.h"
#include "asterisk/fskmodem.h"
+#include "asterisk/options.h"
#include "asterisk/utils.h"
struct callerid_state {
@@ -219,7 +220,7 @@
"parsing might be unreliable\n");
for (i = 0; i < strlen(cidstring); i++) {
if (isdigit(cidstring[i]))
- number[i] = cidstring[i];
+ number[i] = cidstring[i];
else
break;
}
@@ -254,21 +255,24 @@
static unsigned short calc_crc(unsigned short crc, unsigned char data)
{
- unsigned int i, j, org, dst;
- org = data;
- dst = 0;
- for (i=0; i<CHAR_BIT; i++) {
- org <<= 1;
- dst >>= 1;
- if (org & 0x100) {
- dst |= 0x80;
- }
- }
- data = (unsigned char)dst;
+ unsigned int i, j, org, dst;
+ org = data;
+ dst = 0;
+
+ for (i=0; i < CHAR_BIT; i++) {
+ org <<= 1;
+ dst >>= 1;
+ if (org & 0x100) {
+ dst |= 0x80;
+ }
+ }
+ data = (unsigned char)dst;
crc ^= (unsigned int)data << (16 - CHAR_BIT);
for ( j=0; j<CHAR_BIT; j++ ) {
- if ( crc & 0x8000U ) crc = (crc << 1) ^ 0x1021U ;
- else crc <<= 1 ;
+ if ( crc & 0x8000U )
+ crc = (crc << 1) ^ 0x1021U ;
+ else
+ crc <<= 1 ;
}
return crc;
}
@@ -296,7 +300,7 @@
buf[x+cid->oldlen/2] = AST_XLAW(ubuf[x]);
while (mylen >= 160) {
- b = b2 = 0 ;
+ b = b2 = 0 ;
olen = mylen;
res = fsk_serie(&cid->fskd, buf, &mylen, &b);
@@ -407,103 +411,108 @@
/* extract caller id data */
for (x=0; x<cid->pos; ) {
switch (cid->rawdata[x++]) {
- case 0x02: /* caller id number */
- cid->number[0] = '\0';
- cid->name[0] = '\0';
- cid->flags = 0;
- res = cid->rawdata[x++];
- ast_copy_string(cid->number, &cid->rawdata[x], res+1 );
- x += res;
- break;
- case 0x21: /* additional information */
- /* length */
- x++;
- /* number type */
- switch (cid->rawdata[x]) {
- case 0x00: /* unknown */
- case 0x01: /* international number */
- case 0x02: /* domestic number */
- case 0x03: /* network */
- case 0x04: /* local call */
- case 0x06: /* short dial number */
- case 0x07: /* reserved */
- default: /* reserved */
- ast_log(LOG_NOTICE, "cid info:#1=%X\n", cid->rawdata[x]);
- break ;
- }
- x++;
- /* numbering plan octed 4 */
- x++;
- /* numbering plan octed 5 */
- switch (cid->rawdata[x]) {
- case 0x00: /* unknown */
- case 0x01: /* recommendation E.164 ISDN */
- case 0x03: /* recommendation X.121 */
- case 0x04: /* telex dial plan */
- case 0x08: /* domestic dial plan */
- case 0x09: /* private dial plan */
- case 0x05: /* reserved */
- default: /* reserved */
- ast_log(LOG_NOTICE, "cid info:#2=%X\n", cid->rawdata[x]);
- break ;
- }
- x++;
+ case 0x02: /* caller id number */
+ cid->number[0] = '\0';
+ cid->name[0] = '\0';
+ cid->flags = 0;
+ res = cid->rawdata[x++];
+ ast_copy_string(cid->number, &cid->rawdata[x], res+1 );
+ x += res;
+ break;
+ case 0x21: /* additional information */
+ /* length */
+ x++;
+ /* number type */
+ switch (cid->rawdata[x]) {
+ case 0x00: /* unknown */
+ case 0x01: /* international number */
+ case 0x02: /* domestic number */
+ case 0x03: /* network */
+ case 0x04: /* local call */
+ case 0x06: /* short dial number */
+ case 0x07: /* reserved */
+ default: /* reserved */
+ if (option_debug > 1)
+ ast_log(LOG_DEBUG, "cid info:#1=%X\n", cid->rawdata[x]);
break ;
- case 0x04: /* no callerid reason */
- /* length */
- x++;
- /* no callerid reason code */
- switch (cid->rawdata[x]) {
- case 'P': /* caller id denied by user */
- case 'O': /* service not available */
- case 'C': /* pay phone */
- case 'S': /* service congested */
- cid->flags |= CID_UNKNOWN_NUMBER;
- ast_log(LOG_NOTICE, "no cid reason:%c\n",cid->rawdata[x]);
- break ;
- }
- x++;
+ }
+ x++;
+ /* numbering plan octed 4 */
+ x++;
+ /* numbering plan octed 5 */
+ switch (cid->rawdata[x]) {
+ case 0x00: /* unknown */
+ case 0x01: /* recommendation E.164 ISDN */
+ case 0x03: /* recommendation X.121 */
+ case 0x04: /* telex dial plan */
+ case 0x08: /* domestic dial plan */
[... 7389 lines stripped ...]
More information about the asterisk-commits
mailing list