aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-10 21:40:36 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-10 21:40:36 +0000
commitd73eb218f9ddb1f68b1244483eb16db3e15427f1 (patch)
tree4ff1338edeb4032d96ca860821074ea717d31801
parent190edd24e377bc80baef2872d604ec76493b4d6b (diff)
1.6.1.4 changes
git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.6.1.4@211674 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--.version2
-rw-r--r--ChangeLog8
-rw-r--r--agi/eagi-sphinx-test.c2
-rw-r--r--agi/eagi-test.c2
-rw-r--r--apps/app_adsiprog.c6
-rw-r--r--apps/app_alarmreceiver.c2
-rw-r--r--apps/app_chanspy.c4
-rw-r--r--apps/app_dahdibarge.c6
-rw-r--r--apps/app_disa.c4
-rw-r--r--apps/app_followme.c2
-rw-r--r--apps/app_macro.c8
-rw-r--r--apps/app_meetme.c28
-rw-r--r--apps/app_minivm.c8
-rw-r--r--apps/app_mixmonitor.c6
-rw-r--r--apps/app_morsecode.c4
-rw-r--r--apps/app_osplookup.c34
-rw-r--r--apps/app_privacy.c4
-rw-r--r--apps/app_queue.c12
-rw-r--r--apps/app_readfile.c2
-rw-r--r--apps/app_record.c4
-rw-r--r--apps/app_rpt.c37
-rw-r--r--apps/app_setcallerid.c2
-rw-r--r--apps/app_sms.c2
-rw-r--r--apps/app_stack.c2
-rw-r--r--apps/app_talkdetect.c8
-rw-r--r--apps/app_verbose.c2
-rw-r--r--apps/app_voicemail.c46
-rw-r--r--apps/app_waitforring.c2
-rw-r--r--apps/app_waitforsilence.c6
-rw-r--r--apps/app_waituntil.c2
-rw-r--r--asterisk-1.6.1.0-summary.html3512
-rw-r--r--asterisk-1.6.1.0-summary.txt4673
-rw-r--r--asterisk-1.6.1.1-summary.html84
-rw-r--r--asterisk-1.6.1.1-summary.txt125
-rw-r--r--asterisk-1.6.1.2-summary.html61
-rw-r--r--asterisk-1.6.1.2-summary.txt94
-rw-r--r--cdr/cdr_adaptive_odbc.c20
-rw-r--r--cdr/cdr_pgsql.c6
-rw-r--r--channels/chan_agent.c8
-rw-r--r--channels/chan_dahdi.c42
-rw-r--r--channels/chan_iax2.c8
-rw-r--r--channels/chan_mgcp.c14
-rw-r--r--channels/chan_misdn.c2
-rw-r--r--channels/chan_oss.c2
-rw-r--r--channels/chan_phone.c2
-rw-r--r--channels/chan_sip.c122
-rw-r--r--channels/chan_skinny.c2
-rw-r--r--channels/chan_usbradio.c22
-rw-r--r--channels/iax2-provision.c4
-rw-r--r--channels/misdn_config.c10
-rw-r--r--codecs/codec_speex.c8
-rw-r--r--doc/CODING-GUIDELINES12
-rw-r--r--funcs/func_channel.c4
-rw-r--r--funcs/func_cut.c10
-rw-r--r--funcs/func_dialplan.c2
-rw-r--r--funcs/func_enum.c2
-rw-r--r--funcs/func_math.c4
-rw-r--r--funcs/func_odbc.c2
-rw-r--r--funcs/func_rand.c4
-rw-r--r--funcs/func_speex.c2
-rw-r--r--funcs/func_strings.c4
-rw-r--r--funcs/func_timeout.c2
-rw-r--r--main/acl.c12
-rw-r--r--main/asterisk.c24
-rw-r--r--main/cdr.c4
-rw-r--r--main/channel.c4
-rw-r--r--main/cli.c2
-rw-r--r--main/config.c2
-rw-r--r--main/dnsmgr.c2
-rw-r--r--main/dsp.c2
-rw-r--r--main/enum.c2
-rw-r--r--main/features.c26
-rw-r--r--main/frame.c2
-rw-r--r--main/http.c6
-rw-r--r--main/indications.c24
-rw-r--r--main/manager.c10
-rw-r--r--main/netsock.c2
-rw-r--r--main/pbx.c14
-rw-r--r--main/timing.c2
-rw-r--r--main/utils.c4
-rw-r--r--pbx/dundi-parser.c2
-rw-r--r--pbx/pbx_config.c8
-rw-r--r--pbx/pbx_dundi.c18
-rw-r--r--pbx/pbx_loopback.c2
-rw-r--r--pbx/pbx_spool.c10
-rw-r--r--res/ael/pval.c8
-rw-r--r--res/res_agi.c24
-rw-r--r--res/res_config_curl.c6
-rw-r--r--res/res_config_ldap.c4
-rw-r--r--res/res_config_pgsql.c4
-rw-r--r--res/res_config_sqlite.c2
-rw-r--r--res/res_http_post.c4
-rw-r--r--res/res_limit.c2
-rw-r--r--res/res_musiconhold.c2
-rw-r--r--res/res_odbc.c4
-rw-r--r--res/res_smdi.c8
-rw-r--r--res/snmp/agent.c2
-rw-r--r--utils/extconf.c10
-rw-r--r--utils/frame.c12
-rw-r--r--utils/muted.c4
100 files changed, 442 insertions, 8964 deletions
diff --git a/.version b/.version
index d05d232c9..d8a37494f 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.6.1.2
+1.6.1.4
diff --git a/ChangeLog b/ChangeLog
index d380232bf..b2dab42c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,15 @@
+2009-08-10 Tilghman Lesher <tlesher@digium.com>
+
+ * Asterisk 1.6.1.4 released
+
+ * AST-2009-005
+
2009-07-27 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.6.1.2 released
+ * AST-2009-004
+
2009-06-05 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.6.1.1 released
diff --git a/agi/eagi-sphinx-test.c b/agi/eagi-sphinx-test.c
index 4d13db507..359360286 100644
--- a/agi/eagi-sphinx-test.c
+++ b/agi/eagi-sphinx-test.c
@@ -223,7 +223,7 @@ int main(int argc, char *argv[])
connect_sphinx();
tmp = getenv("agi_enhanced");
if (tmp) {
- if (sscanf(tmp, "%d.%d", &ver, &subver) != 2)
+ if (sscanf(tmp, "%30d.%30d", &ver, &subver) != 2)
ver = 0;
}
if (ver < 1) {
diff --git a/agi/eagi-test.c b/agi/eagi-test.c
index c40b85d1e..dc2d7fa1a 100644
--- a/agi/eagi-test.c
+++ b/agi/eagi-test.c
@@ -156,7 +156,7 @@ int main(int argc, char *argv[])
}
tmp = getenv("agi_enhanced");
if (tmp) {
- if (sscanf(tmp, "%d.%d", &ver, &subver) != 2)
+ if (sscanf(tmp, "%30d.%30d", &ver, &subver) != 2)
ver = 0;
}
if (ver < 1) {
diff --git a/apps/app_adsiprog.c b/apps/app_adsiprog.c
index 159031f9c..0ed0657cb 100644
--- a/apps/app_adsiprog.c
+++ b/apps/app_adsiprog.c
@@ -187,7 +187,7 @@ static int process_token(void *out, char *src, int maxlen, int argtype)
if (!(argtype & ARG_NUMBER))
return -1;
/* Octal value */
- if (sscanf(src, "%o", (int *)out) != 1)
+ if (sscanf(src, "%30o", (int *)out) != 1)
return -1;
if (argtype & ARG_STRING) {
/* Convert */
@@ -197,7 +197,7 @@ static int process_token(void *out, char *src, int maxlen, int argtype)
if (!(argtype & ARG_NUMBER))
return -1;
/* Hex value */
- if (sscanf(src + 2, "%x", (unsigned int *)out) != 1)
+ if (sscanf(src + 2, "%30x", (unsigned int *)out) != 1)
return -1;
if (argtype & ARG_STRING) {
/* Convert */
@@ -207,7 +207,7 @@ static int process_token(void *out, char *src, int maxlen, int argtype)
if (!(argtype & ARG_NUMBER))
return -1;
/* Hex value */
- if (sscanf(src, "%d", (int *)out) != 1)
+ if (sscanf(src, "%30d", (int *)out) != 1)
return -1;
if (argtype & ARG_STRING) {
/* Convert */
diff --git a/apps/app_alarmreceiver.c b/apps/app_alarmreceiver.c
index 37d817742..4f4f545ee 100644
--- a/apps/app_alarmreceiver.c
+++ b/apps/app_alarmreceiver.c
@@ -115,7 +115,7 @@ static void database_increment( char *key )
return;
}
- sscanf(value, "%u", &v);
+ sscanf(value, "%30u", &v);
v++;
ast_verb(4, "AlarmReceiver: New value for %s: %u\n", key, v);
diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c
index 310e14ab5..0ceca7a8e 100644
--- a/apps/app_chanspy.c
+++ b/apps/app_chanspy.c
@@ -930,7 +930,7 @@ static int chanspy_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPTION_VOLUME) && opts[OPT_ARG_VOLUME]) {
int vol;
- if ((sscanf(opts[OPT_ARG_VOLUME], "%d", &vol) != 1) || (vol > 4) || (vol < -4))
+ if ((sscanf(opts[OPT_ARG_VOLUME], "%30d", &vol) != 1) || (vol > 4) || (vol < -4))
ast_log(LOG_NOTICE, "Volume factor must be a number between -4 and 4\n");
else
volfactor = vol;
@@ -1029,7 +1029,7 @@ static int extenspy_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPTION_VOLUME) && opts[OPT_ARG_VOLUME]) {
int vol;
- if ((sscanf(opts[OPT_ARG_VOLUME], "%d", &vol) != 1) || (vol > 4) || (vol < -4))
+ if ((sscanf(opts[OPT_ARG_VOLUME], "%30d", &vol) != 1) || (vol > 4) || (vol < -4))
ast_log(LOG_NOTICE, "Volume factor must be a number between -4 and 4\n");
else
volfactor = vol;
diff --git a/apps/app_dahdibarge.c b/apps/app_dahdibarge.c
index f16b4dea6..a7aec81f2 100644
--- a/apps/app_dahdibarge.c
+++ b/apps/app_dahdibarge.c
@@ -258,8 +258,8 @@ static int conf_exec(struct ast_channel *chan, void *data)
char confnostr[80] = "";
if (!ast_strlen_zero(data)) {
- if ((sscanf(data, "DAHDI/%d", &confno) != 1) &&
- (sscanf(data, "%d", &confno) != 1)) {
+ if ((sscanf(data, "DAHDI/%30d", &confno) != 1) &&
+ (sscanf(data, "%30d", &confno) != 1)) {
ast_log(LOG_WARNING, "DAHDIBarge Argument (if specified) must be a channel number, not '%s'\n", (char *)data);
return 0;
}
@@ -273,7 +273,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
confnostr[0] = '\0';
res = ast_app_getdata(chan, "conf-getchannel",confnostr, sizeof(confnostr) - 1, 0);
if (res <0) goto out;
- if (sscanf(confnostr, "%d", &confno) != 1)
+ if (sscanf(confnostr, "%30d", &confno) != 1)
confno = 0;
}
if (confno) {
diff --git a/apps/app_disa.c b/apps/app_disa.c
index f85a5eec1..576398b4f 100644
--- a/apps/app_disa.c
+++ b/apps/app_disa.c
@@ -223,7 +223,7 @@ static int disa_exec(struct ast_channel *chan, void *data)
if (!(k&1)) { /* if in password state */
if (j == '#') { /* end of password */
/* see if this is an integer */
- if (sscanf(args.passcode,"%d",&j) < 1) { /* nope, it must be a filename */
+ if (sscanf(args.passcode,"%30d",&j) < 1) { /* nope, it must be a filename */
fp = fopen(args.passcode,"r");
if (!fp) {
ast_log(LOG_WARNING,"DISA password file %s not found on chan %s\n",args.passcode,chan->name);
@@ -249,7 +249,7 @@ static int disa_exec(struct ast_channel *chan, void *data)
ast_debug(1, "Mailbox: %s\n",args.mailbox);
/* password must be in valid format (numeric) */
- if (sscanf(args.passcode,"%d", &j) < 1)
+ if (sscanf(args.passcode,"%30d", &j) < 1)
continue;
/* if we got it */
if (!strcmp(exten,args.passcode)) {
diff --git a/apps/app_followme.c b/apps/app_followme.c
index 5e85b4ef9..37e3f25e4 100644
--- a/apps/app_followme.c
+++ b/apps/app_followme.c
@@ -307,7 +307,7 @@ static int reload_followme(int reload)
featuredigittostr = ast_variable_retrieve(cfg, "general", "featuredigittimeout");
if (!ast_strlen_zero(featuredigittostr)) {
- if (!sscanf(featuredigittostr, "%d", &featuredigittimeout))
+ if (!sscanf(featuredigittostr, "%30d", &featuredigittimeout))
featuredigittimeout = 5000;
}
diff --git a/apps/app_macro.c b/apps/app_macro.c
index bbef7683a..313c930f2 100644
--- a/apps/app_macro.c
+++ b/apps/app_macro.c
@@ -201,12 +201,12 @@ static int _macro_exec(struct ast_channel *chan, void *data, int exclusive)
/* does the user want a deeper rabbit hole? */
ast_channel_lock(chan);
if ((s = pbx_builtin_getvar_helper(chan, "MACRO_RECURSION"))) {
- sscanf(s, "%d", &maxdepth);
+ sscanf(s, "%30d", &maxdepth);
}
/* Count how many levels deep the rabbit hole goes */
if ((s = pbx_builtin_getvar_helper(chan, "MACRO_DEPTH"))) {
- sscanf(s, "%d", &depth);
+ sscanf(s, "%30d", &depth);
}
/* Used for detecting whether to return when a Macro is called from another Macro after hangup */
@@ -214,7 +214,7 @@ static int _macro_exec(struct ast_channel *chan, void *data, int exclusive)
pbx_builtin_setvar_helper(chan, "MACRO_IN_HANGUP", "1");
if ((inhangupc = pbx_builtin_getvar_helper(chan, "MACRO_IN_HANGUP"))) {
- sscanf(inhangupc, "%d", &inhangup);
+ sscanf(inhangupc, "%30d", &inhangup);
}
ast_channel_unlock(chan);
@@ -467,7 +467,7 @@ static int _macro_exec(struct ast_channel *chan, void *data, int exclusive)
if ((offsets = pbx_builtin_getvar_helper(chan, "MACRO_OFFSET"))) {
/* Handle macro offset if it's set by checking the availability of step n + offset + 1, otherwise continue
normally if there is any problem */
- if (sscanf(offsets, "%d", &offset) == 1) {
+ if (sscanf(offsets, "%30d", &offset) == 1) {
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + offset + 1, chan->cid.cid_num)) {
chan->priority += offset;
}
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 6c857c82e..3e2a5a0e1 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -900,7 +900,7 @@ static struct ast_conference *build_conf(char *confno, char *pin, char *pinadmin
AST_LIST_INSERT_HEAD(&confs, cnf, list);
/* Reserve conference number in map */
- if ((sscanf(cnf->confno, "%d", &confno_int) == 1) && (confno_int >= 0 && confno_int < 1024))
+ if ((sscanf(cnf->confno, "%30d", &confno_int) == 1) && (confno_int >= 0 && confno_int < 1024))
conf_map[confno_int] = 1;
cnfout:
@@ -1527,7 +1527,7 @@ static int dispose_conf(struct ast_conference *conf)
AST_LIST_LOCK(&confs);
if (ast_atomic_dec_and_test(&conf->refcount)) {
/* Take the conference room number out of an inuse state */
- if ((sscanf(conf->confno, "%d", &confno_int) == 1) && (confno_int >= 0 && confno_int < 1024))
+ if ((sscanf(conf->confno, "%4d", &confno_int) == 1) && (confno_int >= 0 && confno_int < 1024))
conf_map[confno_int] = 0;
conf_free(conf);
res = 1;
@@ -1691,7 +1691,7 @@ static int conf_run(struct ast_channel *chan, struct ast_conference *conf, int c
/* Possible timeout waiting for marked user */
if ((confflags & CONFFLAG_WAITMARKED) &&
!ast_strlen_zero(optargs[OPT_ARG_WAITMARKED]) &&
- (sscanf(optargs[OPT_ARG_WAITMARKED], "%d", &opt_waitmarked_timeout) == 1) &&
+ (sscanf(optargs[OPT_ARG_WAITMARKED], "%30d", &opt_waitmarked_timeout) == 1) &&
(opt_waitmarked_timeout > 0)) {
timeout = time(NULL) + opt_waitmarked_timeout;
}
@@ -3280,7 +3280,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
if (!res)
ast_waitstream(chan, "");
} else {
- if (sscanf(confno, "%d", &confno_int) == 1) {
+ if (sscanf(confno, "%30d", &confno_int) == 1) {
if (!ast_test_flag(&confflags, CONFFLAG_QUIET)) {
res = ast_streamfile(chan, "conf-enteringno", chan->language);
if (!res) {
@@ -3407,7 +3407,7 @@ static struct ast_conf_user *find_user(struct ast_conference *conf, char *caller
struct ast_conf_user *user = NULL;
int cid;
- sscanf(callerident, "%i", &cid);
+ sscanf(callerident, "%30i", &cid);
if (conf && callerident) {
AST_LIST_TRAVERSE(&conf->userlist, user, list) {
if (cid == user->user_no)
@@ -3882,7 +3882,7 @@ static void load_config_meetme(void)
rt_log_members = 1;
if ((val = ast_variable_retrieve(cfg, "general", "audiobuffers"))) {
- if ((sscanf(val, "%d", &audio_buffers) != 1)) {
+ if ((sscanf(val, "%30d", &audio_buffers) != 1)) {
ast_log(LOG_WARNING, "audiobuffers setting must be a number, not '%s'\n", val);
audio_buffers = DEFAULT_AUDIO_BUFFERS;
} else if ((audio_buffers < DAHDI_DEFAULT_NUM_BUFS) || (audio_buffers > DAHDI_MAX_NUM_BUFS)) {
@@ -3899,19 +3899,19 @@ static void load_config_meetme(void)
if ((val = ast_variable_retrieve(cfg, "general", "logmembercount")))
rt_log_members = ast_true(val);
if ((val = ast_variable_retrieve(cfg, "general", "fuzzystart"))) {
- if ((sscanf(val, "%d", &fuzzystart) != 1)) {
+ if ((sscanf(val, "%30d", &fuzzystart) != 1)) {
ast_log(LOG_WARNING, "fuzzystart must be a number, not '%s'\n", val);
fuzzystart = 0;
}
}
if ((val = ast_variable_retrieve(cfg, "general", "earlyalert"))) {
- if ((sscanf(val, "%d", &earlyalert) != 1)) {
+ if ((sscanf(val, "%30d", &earlyalert) != 1)) {
ast_log(LOG_WARNING, "earlyalert must be a number, not '%s'\n", val);
earlyalert = 0;
}
}
if ((val = ast_variable_retrieve(cfg, "general", "endalert"))) {
- if ((sscanf(val, "%d", &endalert) != 1)) {
+ if ((sscanf(val, "%30d", &endalert) != 1)) {
ast_log(LOG_WARNING, "endalert must be a number, not '%s'\n", val);
endalert = 0;
}
@@ -5477,7 +5477,7 @@ static int sla_build_trunk(struct ast_config *cfg, const char *cat)
if (!strcasecmp(var->name, "autocontext"))
ast_string_field_set(trunk, autocontext, var->value);
else if (!strcasecmp(var->name, "ringtimeout")) {
- if (sscanf(var->value, "%u", &trunk->ring_timeout) != 1) {
+ if (sscanf(var->value, "%30u", &trunk->ring_timeout) != 1) {
ast_log(LOG_WARNING, "Invalid ringtimeout '%s' specified for trunk '%s'\n",
var->value, trunk->name);
trunk->ring_timeout = 0;
@@ -5553,13 +5553,13 @@ static void sla_add_trunk_to_station(struct sla_station *station, struct ast_var
char *name, *value = cur;
name = strsep(&value, "=");
if (!strcasecmp(name, "ringtimeout")) {
- if (sscanf(value, "%u", &trunk_ref->ring_timeout) != 1) {
+ if (sscanf(value, "%30u", &trunk_ref->ring_timeout) != 1) {
ast_log(LOG_WARNING, "Invalid ringtimeout value '%s' for "
"trunk '%s' on station '%s'\n", value, trunk->name, station->name);
trunk_ref->ring_timeout = 0;
}
} else if (!strcasecmp(name, "ringdelay")) {
- if (sscanf(value, "%u", &trunk_ref->ring_delay) != 1) {
+ if (sscanf(value, "%30u", &trunk_ref->ring_delay) != 1) {
ast_log(LOG_WARNING, "Invalid ringdelay value '%s' for "
"trunk '%s' on station '%s'\n", value, trunk->name, station->name);
trunk_ref->ring_delay = 0;
@@ -5608,13 +5608,13 @@ static int sla_build_station(struct ast_config *cfg, const char *cat)
else if (!strcasecmp(var->name, "autocontext"))
ast_string_field_set(station, autocontext, var->value);
else if (!strcasecmp(var->name, "ringtimeout")) {
- if (sscanf(var->value, "%u", &station->ring_timeout) != 1) {
+ if (sscanf(var->value, "%30u", &station->ring_timeout) != 1) {
ast_log(LOG_WARNING, "Invalid ringtimeout '%s' specified for station '%s'\n",
var->value, station->name);
station->ring_timeout = 0;
}
} else if (!strcasecmp(var->name, "ringdelay")) {
- if (sscanf(var->value, "%u", &station->ring_delay) != 1) {
+ if (sscanf(var->value, "%30u", &station->ring_delay) != 1) {
ast_log(LOG_WARNING, "Invalid ringdelay '%s' specified for station '%s'\n",
var->value, station->name);
station->ring_delay = 0;
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index 731f06028..f9b1224d3 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -1735,7 +1735,7 @@ static int minivm_record_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPT_RECORDGAIN)) {
int gain;
- if (sscanf(opts[OPT_ARG_RECORDGAIN], "%d", &gain) != 1) {
+ if (sscanf(opts[OPT_ARG_RECORDGAIN], "%30d", &gain) != 1) {
ast_log(LOG_WARNING, "Invalid value '%s' provided for record gain option\n", opts[OPT_ARG_RECORDGAIN]);
return -1;
} else
@@ -2160,7 +2160,7 @@ static int create_vmaccount(char *name, struct ast_variable *var, int realtime)
} else if (!strcasecmp(var->name, "pager")) {
ast_copy_string(vmu->pager, var->value, sizeof(vmu->pager));
} else if (!strcasecmp(var->name, "volgain")) {
- sscanf(var->value, "%lf", &vmu->volgain);
+ sscanf(var->value, "%30lf", &vmu->volgain);
} else {
ast_log(LOG_ERROR, "Unknown configuration option for minivm account %s : %s\n", name, var->name);
}
@@ -2330,7 +2330,7 @@ static int apply_general_options(struct ast_variable *var)
global_silencethreshold = atoi(var->value);
} else if (!strcmp(var->name, "maxmessage")) {
int x;
- if (sscanf(var->value, "%d", &x) == 1) {
+ if (sscanf(var->value, "%30d", &x) == 1) {
global_vmmaxmessage = x;
} else {
error ++;
@@ -2338,7 +2338,7 @@ static int apply_general_options(struct ast_variable *var)
}
} else if (!strcmp(var->name, "minmessage")) {
int x;
- if (sscanf(var->value, "%d", &x) == 1) {
+ if (sscanf(var->value, "%30d", &x) == 1) {
global_vmminmessage = x;
if (global_maxsilence <= global_vmminmessage)
ast_log(LOG_WARNING, "maxsilence should be less than minmessage or you may get empty messages\n");
diff --git a/apps/app_mixmonitor.c b/apps/app_mixmonitor.c
index 5b16ac83b..79316d98a 100644
--- a/apps/app_mixmonitor.c
+++ b/apps/app_mixmonitor.c
@@ -390,7 +390,7 @@ static int mixmonitor_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, MUXFLAG_READVOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_READVOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the heard volume ('v') option.\n");
- } else if ((sscanf(opts[OPT_ARG_READVOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
+ } else if ((sscanf(opts[OPT_ARG_READVOLUME], "%2d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Heard volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_READVOLUME]);
} else {
readvol = get_volfactor(x);
@@ -400,7 +400,7 @@ static int mixmonitor_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, MUXFLAG_WRITEVOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_WRITEVOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the spoken volume ('V') option.\n");
- } else if ((sscanf(opts[OPT_ARG_WRITEVOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
+ } else if ((sscanf(opts[OPT_ARG_WRITEVOLUME], "%2d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Spoken volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_WRITEVOLUME]);
} else {
writevol = get_volfactor(x);
@@ -410,7 +410,7 @@ static int mixmonitor_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, MUXFLAG_VOLUME)) {
if (ast_strlen_zero(opts[OPT_ARG_VOLUME])) {
ast_log(LOG_WARNING, "No volume level was provided for the combined volume ('W') option.\n");
- } else if ((sscanf(opts[OPT_ARG_VOLUME], "%d", &x) != 1) || (x < -4) || (x > 4)) {
+ } else if ((sscanf(opts[OPT_ARG_VOLUME], "%2d", &x) != 1) || (x < -4) || (x > 4)) {
ast_log(LOG_NOTICE, "Combined volume must be a number between -4 and 4, not '%s'\n", opts[OPT_ARG_VOLUME]);
} else {
readvol = writevol = get_volfactor(x);
diff --git a/apps/app_morsecode.c b/apps/app_morsecode.c
index 455ee04c1..7327664e5 100644
--- a/apps/app_morsecode.c
+++ b/apps/app_morsecode.c
@@ -113,7 +113,7 @@ static int morsecode_exec(struct ast_channel *chan, void *data)
/* Use variable MORESEDITLEN, if set (else 80) */
ast_channel_lock(chan);
ditlenc = pbx_builtin_getvar_helper(chan, "MORSEDITLEN");
- if (ast_strlen_zero(ditlenc) || (sscanf(ditlenc, "%d", &ditlen) != 1)) {
+ if (ast_strlen_zero(ditlenc) || (sscanf(ditlenc, "%30d", &ditlen) != 1)) {
ditlen = 80;
}
ast_channel_unlock(chan);
@@ -121,7 +121,7 @@ static int morsecode_exec(struct ast_channel *chan, void *data)
/* Use variable MORSETONE, if set (else 800) */
ast_channel_lock(chan);
tonec = pbx_builtin_getvar_helper(chan, "MORSETONE");
- if (ast_strlen_zero(tonec) || (sscanf(tonec, "%d", &tone) != 1)) {
+ if (ast_strlen_zero(tonec) || (sscanf(tonec, "%30d", &tone) != 1)) {
tone = 800;
}
ast_channel_unlock(chan);
diff --git a/apps/app_osplookup.c b/apps/app_osplookup.c
index 406db8722..eb14efbc1 100644
--- a/apps/app_osplookup.c
+++ b/apps/app_osplookup.c
@@ -246,7 +246,7 @@ static int osp_create_provider(
ast_log(LOG_WARNING, "OSP: Too many Service Points at line %d\n", v->lineno);
}
} else if (!strcasecmp(v->name, "maxconnections")) {
- if ((sscanf(v->value, "%d", &t) == 1) && (t >= OSP_MIN_MAXCONNECTIONS) && (t <= OSP_MAX_MAXCONNECTIONS)) {
+ if ((sscanf(v->value, "%30d", &t) == 1) && (t >= OSP_MIN_MAXCONNECTIONS) && (t <= OSP_MAX_MAXCONNECTIONS)) {
p->maxconnections = t;
ast_debug(1, "OSP: maxconnections '%d'\n", t);
} else {
@@ -254,7 +254,7 @@ static int osp_create_provider(
OSP_MIN_MAXCONNECTIONS, OSP_MAX_MAXCONNECTIONS, v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "retrydelay")) {
- if ((sscanf(v->value, "%d", &t) == 1) && (t >= OSP_MIN_RETRYDELAY) && (t <= OSP_MAX_RETRYDELAY)) {
+ if ((sscanf(v->value, "%30d", &t) == 1) && (t >= OSP_MIN_RETRYDELAY) && (t <= OSP_MAX_RETRYDELAY)) {
p->retrydelay = t;
ast_debug(1, "OSP: retrydelay '%d'\n", t);
} else {
@@ -262,7 +262,7 @@ static int osp_create_provider(
OSP_MIN_RETRYDELAY, OSP_MAX_RETRYDELAY, v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "retrylimit")) {
- if ((sscanf(v->value, "%d", &t) == 1) && (t >= OSP_MIN_RETRYLIMIT) && (t <= OSP_MAX_RETRYLIMIT)) {
+ if ((sscanf(v->value, "%30d", &t) == 1) && (t >= OSP_MIN_RETRYLIMIT) && (t <= OSP_MAX_RETRYLIMIT)) {
p->retrylimit = t;
ast_debug(1, "OSP: retrylimit '%d'\n", t);
} else {
@@ -270,7 +270,7 @@ static int osp_create_provider(
OSP_MIN_RETRYLIMIT, OSP_MAX_RETRYLIMIT, v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "timeout")) {
- if ((sscanf(v->value, "%d", &t) == 1) && (t >= OSP_MIN_TIMEOUT) && (t <= OSP_MAX_TIMEOUT)) {
+ if ((sscanf(v->value, "%30d", &t) == 1) && (t >= OSP_MIN_TIMEOUT) && (t <= OSP_MAX_TIMEOUT)) {
p->timeout = t;
ast_debug(1, "OSP: timeout '%d'\n", t);
} else {
@@ -281,7 +281,7 @@ static int osp_create_provider(
ast_copy_string(p->source, v->value, sizeof(p->source));
ast_debug(1, "OSP: source '%s'\n", p->source);
} else if (!strcasecmp(v->name, "authpolicy")) {
- if ((sscanf(v->value, "%d", &t) == 1) && ((t == OSP_AUTH_NO) || (t == OSP_AUTH_YES) || (t == OSP_AUTH_EXCLUSIVE))) {
+ if ((sscanf(v->value, "%30d", &t) == 1) && ((t == OSP_AUTH_NO) || (t == OSP_AUTH_YES) || (t == OSP_AUTH_EXCLUSIVE))) {
p->authpolicy = t;
ast_debug(1, "OSP: authpolicy '%d'\n", t);
} else {
@@ -1391,11 +1391,11 @@ static int osplookup_exec(
headp = &chan->varshead;
AST_LIST_TRAVERSE(headp, current, entries) {
if (!strcasecmp(ast_var_name(current), "OSPINHANDLE")) {
- if (sscanf(ast_var_value(current), "%d", &result.inhandle) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.inhandle) != 1) {
result.inhandle = OSP_INVALID_HANDLE;
}
} else if (!strcasecmp(ast_var_name(current), "OSPINTIMELIMIT")) {
- if (sscanf(ast_var_value(current), "%d", &result.intimelimit) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.intimelimit) != 1) {
result.intimelimit = OSP_DEF_TIMELIMIT;
}
} else if (!strcasecmp(ast_var_name(current), "OSPINNETWORKID")) {
@@ -1532,7 +1532,7 @@ static int ospnext_exec(
AST_STANDARD_APP_ARGS(args, tmp);
- if (!ast_strlen_zero(args.cause) && sscanf(args.cause, "%d", &cause) != 1) {
+ if (!ast_strlen_zero(args.cause) && sscanf(args.cause, "%30d", &cause) != 1) {
cause = 0;
}
ast_debug(1, "OSPNext: cause '%d'\n", cause);
@@ -1550,23 +1550,23 @@ static int ospnext_exec(
headp = &chan->varshead;
AST_LIST_TRAVERSE(headp, current, entries) {
if (!strcasecmp(ast_var_name(current), "OSPINHANDLE")) {
- if (sscanf(ast_var_value(current), "%d", &result.inhandle) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.inhandle) != 1) {
result.inhandle = OSP_INVALID_HANDLE;
}
} else if (!strcasecmp(ast_var_name(current), "OSPOUTHANDLE")) {
- if (sscanf(ast_var_value(current), "%d", &result.outhandle) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.outhandle) != 1) {
result.outhandle = OSP_INVALID_HANDLE;
}
} else if (!strcasecmp(ast_var_name(current), "OSPINTIMELIMIT")) {
- if (sscanf(ast_var_value(current), "%d", &result.intimelimit) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.intimelimit) != 1) {
result.intimelimit = OSP_DEF_TIMELIMIT;
}
} else if (!strcasecmp(ast_var_name(current), "OSPOUTCALLIDTYPES")) {
- if (sscanf(ast_var_value(current), "%d", &callidtypes) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &callidtypes) != 1) {
callidtypes = OSP_CALLID_UNDEFINED;
}
} else if (!strcasecmp(ast_var_name(current), "OSPRESULTS")) {
- if (sscanf(ast_var_value(current), "%d", &result.numresults) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &result.numresults) != 1) {
result.numresults = 0;
}
}
@@ -1685,11 +1685,11 @@ static int ospfinished_exec(
headp = &chan->varshead;
AST_LIST_TRAVERSE(headp, current, entries) {
if (!strcasecmp(ast_var_name(current), "OSPINHANDLE")) {
- if (sscanf(ast_var_value(current), "%d", &inhandle) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &inhandle) != 1) {
inhandle = OSP_INVALID_HANDLE;
}
} else if (!strcasecmp(ast_var_name(current), "OSPOUTHANDLE")) {
- if (sscanf(ast_var_value(current), "%d", &outhandle) != 1) {
+ if (sscanf(ast_var_value(current), "%30d", &outhandle) != 1) {
outhandle = OSP_INVALID_HANDLE;
}
} else if (!recorded &&
@@ -1706,7 +1706,7 @@ static int ospfinished_exec(
ast_debug(1, "OSPFinish: OSPOUTHANDLE '%d'\n", outhandle);
ast_debug(1, "OSPFinish: recorded '%d'\n", recorded);
- if (!ast_strlen_zero(args.cause) && sscanf(args.cause, "%d", &cause) != 1) {
+ if (!ast_strlen_zero(args.cause) && sscanf(args.cause, "%30d", &cause) != 1) {
cause = 0;
}
ast_debug(1, "OSPFinish: cause '%d'\n", cause);
@@ -1798,7 +1798,7 @@ static int osp_load(int reload)
t = ast_variable_retrieve(cfg, OSP_GENERAL_CAT, "tokenformat");
if (t) {
- if ((sscanf(t, "%d", &v) == 1) &&
+ if ((sscanf(t, "%30d", &v) == 1) &&
((v == TOKEN_ALGO_SIGNED) || (v == TOKEN_ALGO_UNSIGNED) || (v == TOKEN_ALGO_BOTH)))
{
osp_tokenformat = v;
diff --git a/apps/app_privacy.c b/apps/app_privacy.c
index 09f698861..78f53aa4f 100644
--- a/apps/app_privacy.c
+++ b/apps/app_privacy.c
@@ -92,13 +92,13 @@ static int privacy_exec (struct ast_channel *chan, void *data)
AST_STANDARD_APP_ARGS(args, parse);
if (args.maxretries) {
- if (sscanf(args.maxretries, "%d", &x) == 1)
+ if (sscanf(args.maxretries, "%30d", &x) == 1)
maxretries = x;
else
ast_log(LOG_WARNING, "Invalid max retries argument\n");
}
if (args.minlength) {
- if (sscanf(args.minlength, "%d", &x) == 1)
+ if (sscanf(args.minlength, "%30d", &x) == 1)
minlength = x;
else
ast_log(LOG_WARNING, "Invalid min length argument\n");
diff --git a/apps/app_queue.c b/apps/app_queue.c
index 5bc679828..0316f069a 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -4619,7 +4619,7 @@ static int aqm_exec(struct ast_channel *chan, void *data)
}
if (!ast_strlen_zero(args.penalty)) {
- if ((sscanf(args.penalty, "%d", &penalty) != 1) || penalty < 0) {
+ if ((sscanf(args.penalty, "%30d", &penalty) != 1) || penalty < 0) {
ast_log(LOG_WARNING, "Penalty '%s' is invalid, must be an integer >= 0\n", args.penalty);
penalty = 0;
}
@@ -4781,7 +4781,7 @@ static int queue_exec(struct ast_channel *chan, void *data)
ast_channel_lock(chan);
user_priority = pbx_builtin_getvar_helper(chan, "QUEUE_PRIO");
if (user_priority) {
- if (sscanf(user_priority, "%d", &prio) == 1) {
+ if (sscanf(user_priority, "%30d", &prio) == 1) {
ast_debug(1, "%s: Got priority %d from ${QUEUE_PRIO}.\n", chan->name, prio);
} else {
ast_log(LOG_WARNING, "${QUEUE_PRIO}: Invalid value (%s), channel %s.\n",
@@ -4796,7 +4796,7 @@ static int queue_exec(struct ast_channel *chan, void *data)
/* Get the maximum penalty from the variable ${QUEUE_MAX_PENALTY} */
if ((max_penalty_str = pbx_builtin_getvar_helper(chan, "QUEUE_MAX_PENALTY"))) {
- if (sscanf(max_penalty_str, "%d", &max_penalty) == 1) {
+ if (sscanf(max_penalty_str, "%30d", &max_penalty) == 1) {
ast_debug(1, "%s: Got max penalty %d from ${QUEUE_MAX_PENALTY}.\n", chan->name, max_penalty);
} else {
ast_log(LOG_WARNING, "${QUEUE_MAX_PENALTY}: Invalid value (%s), channel %s.\n",
@@ -4808,7 +4808,7 @@ static int queue_exec(struct ast_channel *chan, void *data)
}
if ((min_penalty_str = pbx_builtin_getvar_helper(chan, "QUEUE_MIN_PENALTY"))) {
- if (sscanf(min_penalty_str, "%d", &min_penalty) == 1) {
+ if (sscanf(min_penalty_str, "%30d", &min_penalty) == 1) {
ast_debug(1, "%s: Got min penalty %d from ${QUEUE_MIN_PENALTY}.\n", chan->name, min_penalty);
} else {
ast_log(LOG_WARNING, "${QUEUE_MIN_PENALTY}: Invalid value (%s), channel %s.\n",
@@ -6073,7 +6073,7 @@ static int manager_add_queue_member(struct mansession *s, const struct message *
if (ast_strlen_zero(penalty_s))
penalty = 0;
- else if (sscanf(penalty_s, "%d", &penalty) != 1 || penalty < 0)
+ else if (sscanf(penalty_s, "%30d", &penalty) != 1 || penalty < 0)
penalty = 0;
if (ast_strlen_zero(paused_s))
@@ -6266,7 +6266,7 @@ static char *handle_queue_add_member(struct ast_cli_entry *e, int cmd, struct as
queuename = a->argv[5];
interface = a->argv[3];
if (a->argc >= 8) {
- if (sscanf(a->argv[7], "%d", &penalty) == 1) {
+ if (sscanf(a->argv[7], "%30d", &penalty) == 1) {
if (penalty < 0) {
ast_cli(a->fd, "Penalty must be >= 0\n");
penalty = 0;
diff --git a/apps/app_readfile.c b/apps/app_readfile.c
index 8762ef860..d7a114276 100644
--- a/apps/app_readfile.c
+++ b/apps/app_readfile.c
@@ -73,7 +73,7 @@ static int readfile_exec(struct ast_channel *chan, void *data)
}
if (length) {
- if ((sscanf(length, "%d", &len) != 1) || (len < 0)) {
+ if ((sscanf(length, "%30d", &len) != 1) || (len < 0)) {
ast_log(LOG_WARNING, "%s is not a positive number, defaulting length to max\n", length);
len = 0;
}
diff --git a/apps/app_record.c b/apps/app_record.c
index fe50edeee..32cb85098 100644
--- a/apps/app_record.c
+++ b/apps/app_record.c
@@ -146,7 +146,7 @@ static int record_exec(struct ast_channel *chan, void *data)
return -1;
}
if (args.silence) {
- if ((sscanf(args.silence, "%d", &i) == 1) && (i > -1)) {
+ if ((sscanf(args.silence, "%30d", &i) == 1) && (i > -1)) {
silence = i * 1000;
} else if (!ast_strlen_zero(args.silence)) {
ast_log(LOG_WARNING, "'%s' is not a valid silence duration\n", args.silence);
@@ -154,7 +154,7 @@ static int record_exec(struct ast_channel *chan, void *data)
}
if (args.maxduration) {
- if ((sscanf(args.maxduration, "%d", &i) == 1) && (i > -1))
+ if ((sscanf(args.maxduration, "%30d", &i) == 1) && (i > -1))
/* Convert duration to milliseconds */
maxduration = i * 1000;
else if (!ast_strlen_zero(args.maxduration))
diff --git a/apps/app_rpt.c b/apps/app_rpt.c
index 78d0d9cba..d804fef02 100644
--- a/apps/app_rpt.c
+++ b/apps/app_rpt.c
@@ -2101,7 +2101,8 @@ int ret;
if (str == NULL) return -1;
/* leave this %i alone, non-base-10 input is useful here */
- if (sscanf(str,"%i",&ret) != 1) return -1;
+ if (sscanf(str, "%30i", &ret) != 1)
+ return -1;
return ret;
}
@@ -2325,7 +2326,7 @@ static char *cs_keywords[] = {"rptena","rptdis","apena","apdis","lnkena","lnkdis
/* do not use atoi() here, we need to be able to have
the input specified in hex or decimal so we use
sscanf with a %i */
- if ((!val) || (sscanf(val,"%i",&rpt_vars[n].p.iobase) != 1))
+ if ((!val) || (sscanf(val, "%30i", &rpt_vars[n].p.iobase) != 1))
rpt_vars[n].p.iobase = DEFAULT_IOBASE;
val = (char *) ast_variable_retrieve(cfg,this,"ioport");
rpt_vars[n].p.ioport = val;
@@ -3640,7 +3641,7 @@ static int send_tone_telemetry(struct ast_channel *chan, char *tonestring)
tonesubset = strsep(&stringp,")");
if(!tonesubset)
break;
- if(sscanf(tonesubset,"(%d,%d,%d,%d", &f1, &f2, &duration, &amplitude) != 4)
+ if(sscanf(tonesubset,"(%30d,%30d,%30d,%30d", &f1, &f2, &duration, &amplitude) != 4)
break;
res = play_tone_pair(chan, f1, f2, duration, amplitude);
if(res)
@@ -5074,7 +5075,7 @@ struct dahdi_params par;
p = strstr(tdesc, "version");
if(!p)
break;
- if(sscanf(p, "version %d.%d", &vmajor, &vminor) != 2)
+ if(sscanf(p, "version %30d.%30d", &vmajor, &vminor) != 2)
break;
wait_interval(myrpt, DLY_TELEM, mychannel); /* Wait a little bit */
/* Say "version" */
@@ -6683,10 +6684,12 @@ static int collect_function_digits(struct rpt *myrpt, char *digits,
static void handle_link_data(struct rpt *myrpt, struct rpt_link *mylink,
char *str)
{
-char tmp[512],tmp1[512],cmd[300] = "",dest[300],src[300],c;
-int i,seq, res, ts;
-struct rpt_link *l;
-struct ast_frame wf;
+ /* XXX ATTENTION: if you change the size of these arrays you MUST
+ * change the limits in corresponding sscanf() calls below. */
+ char tmp[512], tmp1[512], cmd[300] = "", dest[300], src[300], c;
+ int i,seq, res, ts;
+ struct rpt_link *l;
+ struct ast_frame wf;
wf.frametype = AST_FRAME_TEXT;
wf.subclass = 0;
@@ -6721,7 +6724,7 @@ struct ast_frame wf;
}
if (tmp[0] == 'K')
{
- if (sscanf(tmp,"%s %s %s %d %d",cmd,dest,src,&seq,&ts) != 5)
+ if (sscanf(tmp,"%299s %299s %299s %30d %30d",cmd,dest,src,&seq,&ts) != 5)
{
ast_log(LOG_WARNING, "Unable to parse keying string %s\n",str);
return;
@@ -6829,7 +6832,7 @@ struct ast_frame wf;
}
if (tmp[0] == 'I')
{
- if (sscanf(tmp,"%s %s %x",cmd,src,&seq) != 3)
+ if (sscanf(tmp, "%299s %299s %30x", cmd, src, &seq) != 3)
{
ast_log(LOG_WARNING, "Unable to parse ident string %s\n",str);
return;
@@ -6839,7 +6842,7 @@ struct ast_frame wf;
}
else
{
- if (sscanf(tmp,"%s %s %s %d %c",cmd,dest,src,&seq,&c) != 5)
+ if (sscanf(tmp, "%299s %299s %299s %30d %1c", cmd, dest, src, &seq, &c) != 5)
{
ast_log(LOG_WARNING, "Unable to parse link string %s\n",str);
return;
@@ -10234,8 +10237,10 @@ int ret,res = 0,src;
static int handle_remote_data(struct rpt *myrpt, char *str)
{
-char tmp[300],cmd[300],dest[300],src[300],c;
-int seq,res;
+ /* XXX ATTENTION: if you change the size of these arrays you MUST
+ * change the limits in corresponding sscanf() calls below. */
+ char tmp[300], cmd[300], dest[300], src[300], c;
+ int seq,res;
/* put string in our buffer */
strncpy(tmp,str,sizeof(tmp) - 1);
@@ -10258,7 +10263,9 @@ int seq,res;
return 0;
}
#endif
- if (sscanf(tmp,"%s %s %s %d %c",cmd,dest,src,&seq,&c) != 5)
+ /* XXX WARNING: be very careful with the limits on the folowing
+ * sscanf() call, make sure they match the values defined above */
+ if (sscanf(tmp, "%299s %299s %299s %30d %1c", cmd, dest, src, &seq, &c) != 5)
{
ast_log(LOG_WARNING, "Unable to parse link string %s\n",str);
return 0;
@@ -11889,7 +11896,7 @@ char tmpstr[300],lstr[MAXLINKLIST];
p = strstr(tdesc, "version");
if(p){
int vmajor,vminor;
- if(sscanf(p, "version %d.%d", &vmajor, &vminor) == 2)
+ if(sscanf(p, "version %30d.%30d", &vmajor, &vminor) == 2)
sprintf(str + strlen(str),"&apprptvers=%d.%d",vmajor,vminor);
}
time(&now);
diff --git a/apps/app_setcallerid.c b/apps/app_setcallerid.c
index f1c9df3cb..cd8016e21 100644
--- a/apps/app_setcallerid.c
+++ b/apps/app_setcallerid.c
@@ -70,7 +70,7 @@ static int setcallerid_pres_exec(struct ast_channel *chan, void *data)
}
/* For interface consistency, permit the argument to be specified as a number */
- if (sscanf(data, "%d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) {
+ if (sscanf(data, "%30d", &pres) != 1 || pres < 0 || pres > 255 || (pres & 0x9c)) {
pres = ast_parse_caller_presentation(data);
}
diff --git a/apps/app_sms.c b/apps/app_sms.c
index 6c99ad37a..138f6ba72 100644
--- a/apps/app_sms.c
+++ b/apps/app_sms.c
@@ -856,7 +856,7 @@ static void sms_readfile(sms_t * h, char *fn)
} else if (!strcmp(line, "scts")) { /* get date/time */
int Y, m, d, H, M, S;
/* XXX Why aren't we using ast_strptime here? */
- if (sscanf(p, "%d-%d-%dT%d:%d:%d", &Y, &m, &d, &H, &M, &S) == 6) {
+ if (sscanf(p, "%4d-%2d-%2dT%2d:%2d:%2d", &Y, &m, &d, &H, &M, &S) == 6) {
struct ast_tm t = { 0, };
t.tm_year = Y - 1900;
t.tm_mon = m - 1;
diff --git a/apps/app_stack.c b/apps/app_stack.c
index 1b7651906..6382d7fc3 100644
--- a/apps/app_stack.c
+++ b/apps/app_stack.c
@@ -416,7 +416,7 @@ static int handle_gosub(struct ast_channel *chan, AGI *agi, int argc, char **arg
ast_debug(1, "Gosub called with %d arguments: 0:%s 1:%s 2:%s 3:%s 4:%s\n", argc, argv[0], argv[1], argv[2], argv[3], argc == 5 ? argv[4] : "");
- if (sscanf(argv[3], "%d", &priority) != 1 || priority < 1) {
+ if (sscanf(argv[3], "%30d", &priority) != 1 || priority < 1) {
/* Lookup the priority label */
if ((priority = ast_findlabel_extension(chan, argv[1], argv[2], argv[3], chan->cid.cid_num)) < 0) {
ast_log(LOG_ERROR, "Priority '%s' not found in '%s@%s'\n", argv[3], argv[2], argv[1]);
diff --git a/apps/app_talkdetect.c b/apps/app_talkdetect.c
index 9bc5e84dd..f0525f379 100644
--- a/apps/app_talkdetect.c
+++ b/apps/app_talkdetect.c
@@ -87,16 +87,16 @@ static int background_detect_exec(struct ast_channel *chan, void *data)
tmp = ast_strdupa(data);
AST_STANDARD_APP_ARGS(args, tmp);
- if (!ast_strlen_zero(args.silence) && (sscanf(args.silence, "%d", &x) == 1) && (x > 0)) {
+ if (!ast_strlen_zero(args.silence) && (sscanf(args.silence, "%30d", &x) == 1) && (x > 0)) {
sil = x;
}
- if (!ast_strlen_zero(args.min) && (sscanf(args.min, "%d", &x) == 1) && (x > 0)) {
+ if (!ast_strlen_zero(args.min) && (sscanf(args.min, "%30d", &x) == 1) && (x > 0)) {
min = x;
}
- if (!ast_strlen_zero(args.max) && (sscanf(args.max, "%d", &x) == 1) && (x > 0)) {
+ if (!ast_strlen_zero(args.max) && (sscanf(args.max, "%30d", &x) == 1) && (x > 0)) {
max = x;
}
- if (!ast_strlen_zero(args.analysistime) && (sscanf(args.analysistime, "%d", &x) == 1) && (x > 0)) {
+ if (!ast_strlen_zero(args.analysistime) && (sscanf(args.analysistime, "%30d", &x) == 1) && (x > 0)) {
analysistime = x;
}
diff --git a/apps/app_verbose.c b/apps/app_verbose.c
index 525cc1c55..53e5ea802 100644
--- a/apps/app_verbose.c
+++ b/apps/app_verbose.c
@@ -65,7 +65,7 @@ static int verbose_exec(struct ast_channel *chan, void *data)
args.level = "0";
}
- if (sscanf(args.level, "%d", &vsize) != 1) {
+ if (sscanf(args.level, "%30d", &vsize) != 1) {
vsize = 0;
ast_log(LOG_WARNING, "'%s' is not a verboser number\n", args.level);
}
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index b658e7e8f..b4a727eb0 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -796,7 +796,7 @@ static void apply_option(struct ast_vm_user *vmu, const char *var, const char *v
} else if (!strcasecmp(var, "sayduration")){
ast_set2_flag(vmu, ast_true(value), VM_SAYDURATION);
} else if (!strcasecmp(var, "saydurationm")){
- if (sscanf(value, "%d", &x) == 1) {
+ if (sscanf(value, "%30d", &x) == 1) {
vmu->saydurationm = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid min duration for say duration\n");
@@ -830,7 +830,7 @@ static void apply_option(struct ast_vm_user *vmu, const char *var, const char *v
vmu->maxmsg = MAXMSGLIMIT;
}
} else if (!strcasecmp(var, "backupdeleted")) {
- if (sscanf(value, "%d", &x) == 1)
+ if (sscanf(value, "%30d", &x) == 1)
vmu->maxdeletedmsg = x;
else if (ast_true(value))
vmu->maxdeletedmsg = MAXMSG;
@@ -845,7 +845,7 @@ static void apply_option(struct ast_vm_user *vmu, const char *var, const char *v
vmu->maxdeletedmsg = MAXMSGLIMIT;
}
} else if (!strcasecmp(var, "volgain")) {
- sscanf(value, "%lf", &vmu->volgain);
+ sscanf(value, "%30lf", &vmu->volgain);
} else if (!strcasecmp(var, "options")) {
apply_options(vmu, value);
}
@@ -2966,7 +2966,7 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir)
ast_odbc_release_obj(obj);
goto yuck;
}
- if (sscanf(rowdata, "%d", &x) != 1)
+ if (sscanf(rowdata, "%30d", &x) != 1)
ast_log(AST_LOG_WARNING, "Failed to read message count!\n");
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
@@ -3021,7 +3021,7 @@ static int message_exists(char *dir, int msgnum)
ast_odbc_release_obj(obj);
goto yuck;
}
- if (sscanf(rowdata, "%d", &x) != 1)
+ if (sscanf(rowdata, "%30d", &x) != 1)
ast_log(AST_LOG_WARNING, "Failed to read message count!\n");
SQLFreeHandle (SQL_HANDLE_STMT, stmt);
ast_odbc_release_obj(obj);
@@ -3438,7 +3438,7 @@ static int last_message_index(struct ast_vm_user *vmu, char *dir)
* find each file. */
msgdir = opendir(dir);
while ((msgdirent = readdir(msgdir))) {
- if (sscanf(msgdirent->d_name, "msg%d", &msgdirint) == 1 && msgdirint < MAXMSGLIMIT)
+ if (sscanf(msgdirent->d_name, "msg%30d", &msgdirint) == 1 && msgdirint < MAXMSGLIMIT)
map[msgdirint] = 1;
}
closedir(msgdir);
@@ -3762,7 +3762,7 @@ static void prep_email_sub_vars(struct ast_channel *ast, struct ast_vm_user *vmu
pbx_builtin_setvar_helper(ast, "ORIG_VM_CIDNUM", origcidnum);
}
- if ((origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")) && sscanf(origtime, "%d", &inttime) == 1) {
+ if ((origtime = ast_variable_retrieve(msg_cfg, "message", "origtime")) && sscanf(origtime, "%30d", &inttime) == 1) {
struct timeval tv = { inttime, };
struct ast_tm tm;
ast_localtime(&tv, &tm, NULL);
@@ -4125,7 +4125,7 @@ static void make_email_file(FILE *p, char *srcemail, struct ast_vm_user *vmu, in
/* You might be tempted to do origdate, except that a) it's in the wrong
* format, and b) it's missing for IMAP recordings. */
- if ((v = ast_variable_retrieve(msg_cfg, "message", "origtime")) && sscanf(v, "%d", &inttime) == 1) {
+ if ((v = ast_variable_retrieve(msg_cfg, "message", "origtime")) && sscanf(v, "%30d", &inttime) == 1) {
struct timeval tv = { inttime, };
struct ast_tm tm;
ast_localtime(&tv, &tm, NULL);
@@ -8812,7 +8812,7 @@ static int vm_execmain(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPT_RECORDGAIN)) {
int gain;
if (!ast_strlen_zero(opts[OPT_ARG_RECORDGAIN])) {
- if (sscanf(opts[OPT_ARG_RECORDGAIN], "%d", &gain) != 1) {
+ if (sscanf(opts[OPT_ARG_RECORDGAIN], "%30d", &gain) != 1) {
ast_log(AST_LOG_WARNING, "Invalid value '%s' provided for record gain option\n", opts[OPT_ARG_RECORDGAIN]);
return -1;
} else {
@@ -8825,7 +8825,7 @@ static int vm_execmain(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPT_AUTOPLAY) ) {
play_auto = 1;
if (opts[OPT_ARG_PLAYFOLDER]) {
- if (sscanf(opts[OPT_ARG_PLAYFOLDER], "%d", &play_folder) != 1) {
+ if (sscanf(opts[OPT_ARG_PLAYFOLDER], "%30d", &play_folder) != 1) {
ast_log(AST_LOG_WARNING, "Invalid value '%s' provided for folder autoplay option\n", opts[OPT_ARG_PLAYFOLDER]);
}
} else {
@@ -9488,7 +9488,7 @@ static int vm_exec(struct ast_channel *chan, void *data)
if (ast_test_flag(&flags, OPT_RECORDGAIN)) {
int gain;
- if (sscanf(opts[OPT_ARG_RECORDGAIN], "%d", &gain) != 1) {
+ if (sscanf(opts[OPT_ARG_RECORDGAIN], "%30d", &gain) != 1) {
ast_log(AST_LOG_WARNING, "Invalid value '%s' provided for record gain option\n", opts[OPT_ARG_RECORDGAIN]);
return -1;
} else {
@@ -10317,7 +10317,7 @@ static int load_config(int reload)
volgain = 0.0;
if ((val = ast_variable_retrieve(cfg, "general", "volgain")))
- sscanf(val, "%lf", &volgain);
+ sscanf(val, "%30lf", &volgain);
#ifdef ODBC_STORAGE
strcpy(odbc_database, "asterisk");
@@ -10357,7 +10357,7 @@ static int load_config(int reload)
if (!(val = ast_variable_retrieve(cfg, "general", "backupdeleted"))) {
maxdeletedmsg = 0;
} else {
- if (sscanf(val, "%d", &x) == 1)
+ if (sscanf(val, "%30d", &x) == 1)
maxdeletedmsg = x;
else if (ast_true(val))
maxdeletedmsg = MAXMSG;
@@ -10509,7 +10509,7 @@ static int load_config(int reload)
vmmaxsecs = 0;
if ((val = ast_variable_retrieve(cfg, "general", "maxsecs"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
vmmaxsecs = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid max message time length\n");
@@ -10520,7 +10520,7 @@ static int load_config(int reload)
maxmessage_deprecate = 1;
ast_log(AST_LOG_WARNING, "Setting 'maxmessage' has been deprecated in favor of 'maxsecs'.\n");
}
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
vmmaxsecs = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid max message time length\n");
@@ -10529,7 +10529,7 @@ static int load_config(int reload)
vmminsecs = 0;
if ((val = ast_variable_retrieve(cfg, "general", "minsecs"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
vmminsecs = x;
if (maxsilence <= vmminsecs)
ast_log(AST_LOG_WARNING, "maxsilence should be less than minmessage or you may get empty messages\n");
@@ -10542,7 +10542,7 @@ static int load_config(int reload)
maxmessage_deprecate = 1;
ast_log(AST_LOG_WARNING, "Setting 'minmessage' has been deprecated in favor of 'minsecs'.\n");
}
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
vmminsecs = x;
if (maxsilence <= vmminsecs)
ast_log(AST_LOG_WARNING, "maxsilence should be less than minmessage or you may get empty messages\n");
@@ -10558,7 +10558,7 @@ static int load_config(int reload)
skipms = 3000;
if ((val = ast_variable_retrieve(cfg, "general", "maxgreet"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
maxgreet = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid max message greeting length\n");
@@ -10566,7 +10566,7 @@ static int load_config(int reload)
}
if ((val = ast_variable_retrieve(cfg, "general", "skipms"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
skipms = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid skipms value\n");
@@ -10575,7 +10575,7 @@ static int load_config(int reload)
maxlogins = 3;
if ((val = ast_variable_retrieve(cfg, "general", "maxlogins"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
maxlogins = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid max failed login attempts\n");
@@ -10584,7 +10584,7 @@ static int load_config(int reload)
minpassword = MINPASSWORD;
if ((val = ast_variable_retrieve(cfg, "general", "minpassword"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
minpassword = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid minimum password length. Default to %d\n", minpassword);
@@ -10680,7 +10680,7 @@ static int load_config(int reload)
saydurationminfo = 2;
if ((val = ast_variable_retrieve(cfg, "general", "saydurationm"))) {
- if (sscanf(val, "%d", &x) == 1) {
+ if (sscanf(val, "%30d", &x) == 1) {
saydurationminfo = x;
} else {
ast_log(AST_LOG_WARNING, "Invalid min duration for say duration\n");
@@ -10745,7 +10745,7 @@ static int load_config(int reload)
poll_freq = DEFAULT_POLL_FREQ;
if ((val = ast_variable_retrieve(cfg, "general", "pollfreq"))) {
- if (sscanf(val, "%u", &poll_freq) != 1) {
+ if (sscanf(val, "%30u", &poll_freq) != 1) {
poll_freq = DEFAULT_POLL_FREQ;
ast_log(AST_LOG_ERROR, "'%s' is not a valid value for the pollfreq option!\n", val);
}
diff --git a/apps/app_waitforring.c b/apps/app_waitforring.c
index f2d21e516..025acf592 100644
--- a/apps/app_waitforring.c
+++ b/apps/app_waitforring.c
@@ -52,7 +52,7 @@ static int waitforring_exec(struct ast_channel *chan, void *data)
double s;
int ms;
- if (!data || (sscanf(data, "%lg", &s) != 1)) {
+ if (!data || (sscanf(data, "%30lg", &s) != 1)) {
ast_log(LOG_WARNING, "WaitForRing requires an argument (minimum seconds)\n");
return 0;
}
diff --git a/apps/app_waitforsilence.c b/apps/app_waitforsilence.c
index bb6e06f7b..b2f9e563a 100644
--- a/apps/app_waitforsilence.c
+++ b/apps/app_waitforsilence.c
@@ -172,9 +172,9 @@ static int waitfor_exec(struct ast_channel *chan, void *data, int wait_for_silen
res = ast_answer(chan); /* Answer the channel */
}
- if (!data || ( (sscanf(data, "%d,%d,%d", &timereqd, &iterations, &timeout) != 3) &&
- (sscanf(data, "%d,%d", &timereqd, &iterations) != 2) &&
- (sscanf(data, "%d", &timereqd) != 1) ) ) {
+ if (!data || ( (sscanf(data, "%30d,%30d,%30d", &timereqd, &iterations, &timeout) != 3) &&
+ (sscanf(data, "%30d,%30d", &timereqd, &iterations) != 2) &&
+ (sscanf(data, "%30d", &timereqd) != 1) ) ) {
ast_log(LOG_WARNING, "Using default value of 1000ms, 1 iteration, no timeout\n");
}
diff --git a/apps/app_waituntil.c b/apps/app_waituntil.c
index 8b903b0ba..47185db0a 100644
--- a/apps/app_waituntil.c
+++ b/apps/app_waituntil.c
@@ -59,7 +59,7 @@ static int waituntil_exec(struct ast_channel *chan, void *data)
return 0;
}
- if (sscanf(data, "%ld%lf", &seconds, &fraction) == 0) {
+ if (sscanf(data, "%30ld%30lf", &seconds, &fraction) == 0) {
ast_log(LOG_WARNING, "WaitUntil called with non-numeric argument\n");
pbx_builtin_setvar_helper(chan, "WAITUNTILSTATUS", "FAILURE");
return 0;
diff --git a/asterisk-1.6.1.0-summary.html b/asterisk-1.6.1.0-summary.html
deleted file mode 100644
index 67bcee037..000000000
--- a/asterisk-1.6.1.0-summary.html
+++ /dev/null
@@ -1,3512 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.6.1.0</title></head>
-<body>
-<h1 align="center"><a name="top">Release Summary</a></h1>
-<h3 align="center">asterisk-1.6.1.0</h3>
-<h3 align="center">Date: 2009-04-27</h3>
-<h3 align="center">&lt;asteriskteam@digium.com&gt;</h3>
-<hr/>
-<h2 align="center">Table of Contents</h2>
-<ol>
- <li><a href="#summary">Summary</a></li>
- <li><a href="#contributors">Contributors</a></li>
- <li><a href="#issues">Closed Issues</a></li>
- <li><a href="#commits">Other Changes</a></li>
- <li><a href="#diffstat">Diffstat</a></li>
-</ol>
-<hr/>
-<a name="summary"><h2 align="center">Summary</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This release includes new features. For a list of new features that have been included with this release, please see the CHANGES file inside the source package. Since this is new major release, users are encouraged to do extended testing before upgrading to this version in a production environment.</p>
-<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.6.0.</p>
-<hr/>
-<a name="contributors"><h2 align="center">Contributors</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
-<table width="100%" border="0">
-<tr>
-<td width="33%"><h3>Coders</h3></td>
-<td width="33%"><h3>Testers</h3></td>
-<td width="33%"><h3>Reporters</h3></td>
-</tr>
-<tr valign="top">
-<td>
-146 tilghman<br/>
-133 mmichelson<br/>
-121 russell<br/>
-61 file<br/>
-44 kpfleming<br/>
-38 jpeeler<br/>
-35 murf<br/>
-22 dvossel<br/>
-22 seanbright<br/>
-20 twilson<br/>
-12 mvanbaak<br/>
-12 rmudgett<br/>
-11 eliel<br/>
-11 mnicholson<br/>
-10 oej<br/>
-7 dbailey<br/>
-6 klaus3000<br/>
-5 alecdavis<br/>
-5 fnordian<br/>
-4 andrew53<br/>
-4 jamesgolovich<br/>
-4 jaroth<br/>
-4 lmadsen<br/>
-4 qwell<br/>
-3 adomjan<br/>
-3 bweschke<br/>
-3 jcovert<br/>
-3 Marquis<br/>
-2 bamby<br/>
-2 bkruse<br/>
-2 blitzrage<br/>
-2 dant<br/>
-2 dhubbard<br/>
-2 dimas<br/>
-2 jthurman<br/>
-2 KNK<br/>
-2 Nick<br/>
-2 smurfix<br/>
-2 ys<br/>
-1 a<br/>
-1 alphaque<br/>
-1 arcivanov<br/>
-1 asbestoshead<br/>
-1 baron<br/>
-1 bergolth<br/>
-1 caspy<br/>
-1 chappell<br/>
-1 crich<br/>
-1 dbrooks<br/>
-1 DEA<br/>
-1 dsedivec<br/>
-1 dveiga<br/>
-1 dwpaul<br/>
-1 fabled<br/>
-1 festr<br/>
-1 fiddur<br/>
-1 flyn<br/>
-1 folke<br/>
-1 hjourdain<br/>
-1 howardwilkinson<br/>
-1 IgorG<br/>
-1 irroot<br/>
-1 jcollie<br/>
-1 jpgrayson<br/>
-1 junky<br/>
-1 jvandal<br/>
-1 kshumard<br/>
-1 mika<br/>
-1 mmaguire<br/>
-1 nahuelgreco<br/>
-1 nic<br/>
-1 nickpeirson<br/>
-1 nivek<br/>
-1 paraeco<br/>
-1 pdf<br/>
-1 ramonpeek<br/>
-1 snuffy<br/>
-1 sobomax<br/>
-1 srt<br/>
-1 sruffell<br/>
-1 stegro<br/>
-1 tecnoxarxa<br/>
-1 tweety<br/>
-1 tzafrir<br/>
-1 ulogic<br/>
-1 vinsik<br/>
-1 vt<br/>
-1 wedhorn<br/>
-1 wolfelectronic<br/>
-</td>
-<td>
-15 mmichelson<br/>
-12 murf<br/>
-10 blitzrage<br/>
-7 russell<br/>
-7 twilson<br/>
-6 dvossel<br/>
-6 lmadsen<br/>
-6 tilghman<br/>
-5 klaus3000<br/>
-4 alecdavis<br/>
-4 caspy<br/>
-4 file<br/>
-4 jpeeler<br/>
-3 davidw<br/>
-3 jcovert<br/>
-3 kowalma<br/>
-3 mnicholson<br/>
-3 Nick_Lewis<br/>
-3 pj<br/>
-2 aragon<br/>
-2 atis<br/>
-2 chris-mac<br/>
-2 cristiandimache<br/>
-2 festr<br/>
-2 fiddur<br/>
-2 francesco_r<br/>
-2 jamesgolovich<br/>
-2 mav3rick<br/>
-2 mvanbaak<br/>
-2 oej<br/>
-2 seanbright<br/>
-2 triccyx<br/>
-1 aborghi<br/>
-1 adomjan<br/>
-1 afu<br/>
-1 amorsen<br/>
-1 aramirez<br/>
-1 arcivanov<br/>
-1 awk<br/>
-1 baron<br/>
-1 barryf<br/>
-1 barthpbx<br/>
-1 BlargMaN<br/>
-1 bluefox<br/>
-1 bpgoldsb<br/>
-1 bujones<br/>
-1 ccesario<br/>
-1 ckjohnsonme<br/>
-1 CrashHD<br/>
-1 crich<br/>
-1 dant<br/>
-1 deepesh<br/>
-1 denisgalvao<br/>
-1 denke<br/>
-1 efutch<br/>
-1 eliel<br/>
-1 ffloimair<br/>
-1 fnordian<br/>
-1 gork<br/>
-1 ip-rob<br/>
-1 jamessan<br/>
-1 jeffg<br/>
-1 jmls<br/>
-1 john8675309<br/>
-1 kc0bvu<br/>
-1 kebl0155<br/>
-1 krisk84<br/>
-1 laurav<br/>
-1 legranjl<br/>
-1 leobrown<br/>
-1 Marquis<br/>
-1 moliveras<br/>
-1 nathan<br/>
-1 nickpeirson<br/>
-1 nivek<br/>
-1 okrief<br/>
-1 pdf<br/>
-1 pinga-fogo<br/>
-1 qualleyiv<br/>
-1 rtrauntvein<br/>
-1 ruddy<br/>
-1 Russell<br/>
-1 sasargen<br/>
-1 sascha<br/>
-1 schern<br/>
-1 sergedevorop<br/>
-1 sgofferj<br/>
-1 siepkes<br/>
-1 Skavin<br/>
-1 snuffy<br/>
-1 sobomax<br/>
-1 sodom<br/>
-1 tacvbo<br/>
-1 tecnoxarxa<br/>
-1 tzafrir<br/>
-1 vadim<br/>
-1 vazir<br/>
-1 ys<br/>
-1 ZX81<br/>
-</td>
-<td>
-14 pj<br/>
-11 caspy<br/>
-11 davidw<br/>
-11 klaus3000<br/>
-9 alecdavis<br/>
-9 eliel<br/>
-8 fnordian<br/>
-7 chris-mac<br/>
-7 jcovert<br/>
-5 dimas<br/>
-5 jaroth<br/>
-5 makoto<br/>
-5 tzafrir<br/>
-4 andrew53<br/>
-4 fiddur<br/>
-4 francesco_r<br/>
-4 lmadsen<br/>
-4 Marquis<br/>
-4 Nick_Lewis<br/>
-4 smurfix<br/>
-4 ys<br/>
-3 adomjan<br/>
-3 atis<br/>
-3 cristiandimache<br/>
-3 dwagner<br/>
-3 hjourdain<br/>
-3 jamesgolovich<br/>
-3 kowalma<br/>
-3 mjc<br/>
-3 mmichelson<br/>
-3 moliveras<br/>
-3 pabelanger<br/>
-3 tim_ringenbach<br/>
-2 amorsen<br/>
-2 aragon<br/>
-2 bamby<br/>
-2 bluecrow76<br/>
-2 bluefox<br/>
-2 dant<br/>
-2 dveiga<br/>
-2 evandro<br/>
-2 festr<br/>
-2 ffloimair<br/>
-2 howardwilkinson<br/>
-2 IgorG<br/>
-2 irroot<br/>
-2 jamessan<br/>
-2 jcollie<br/>
-2 jvandal<br/>
-2 kebl0155<br/>
-2 KNK<br/>
-2 kobaz<br/>
-2 mdu113<br/>
-2 mnicholson<br/>
-2 oej<br/>
-2 performer<br/>
-2 pkempgen<br/>
-2 RadicAlish<br/>
-2 ruddy<br/>
-2 russell<br/>
-2 seandarcy<br/>
-2 srt<br/>
-2 tilghman<br/>
-2 timking<br/>
-2 tomo1657<br/>
-2 triccyx<br/>
-1 a_villacis<br/>
-1 aborghi<br/>
-1 acunningham<br/>
-1 agalbraith<br/>
-1 akkornel<br/>
-1 alerios<br/>
-1 alex70<br/>
-1 alphaque<br/>
-1 alx<br/>
-1 amessina<br/>
-1 andrew<br/>
-1 arkadia<br/>
-1 asbestoshead<br/>
-1 awk<br/>
-1 baron<br/>
-1 barryf<br/>
-1 barthpbx<br/>
-1 bcnit<br/>
-1 bergolth<br/>
-1 BlargMaN<br/>
-1 BMC<br/>
-1 bpgoldsb<br/>
-1 ccesario<br/>
-1 chappell<br/>
-1 cheesegrits<br/>
-1 Christian_Pinedo<br/>
-1 ckjohnsonme<br/>
-1 clegall_proformatique<br/>
-1 corruptor<br/>
-1 CrashHD<br/>
-1 D_McNaul<br/>
-1 davevg<br/>
-1 ddl<br/>
-1 DEA<br/>
-1 decryptus_proformatique<br/>
-1 deepesh<br/>
-1 denke<br/>
-1 DennisD<br/>
-1 dome<br/>
-1 dsedivec<br/>
-1 dwpaul<br/>
-1 dzajro<br/>
-1 efutch<br/>
-1 elguero<br/>
-1 epicac<br/>
-1 erogoza<br/>
-1 explidous<br/>
-1 fabled<br/>
-1 ffs<br/>
-1 fhackenberger<br/>
-1 flyn<br/>
-1 fmueller<br/>
-1 folke<br/>
-1 garychen<br/>
-1 genie<br/>
-1 gork<br/>
-1 grant<br/>
-1 greenfieldtech<br/>
-1 guillecabeza<br/>
-1 hoowa<br/>
-1 hotsblanc<br/>
-1 ibercom<br/>
-1 igorcarneiro<br/>
-1 infiniti_guy<br/>
-1 ip-rob<br/>
-1 itiliti<br/>
-1 jcapp<br/>
-1 jeffg<br/>
-1 JimDickenson<br/>
-1 jmls<br/>
-1 john8675309<br/>
-1 jpgrayson<br/>
-1 jsmith<br/>
-1 jthurman<br/>
-1 jtodd<br/>
-1 junky<br/>
-1 kernelsensei<br/>
-1 kombjuder<br/>
-1 krisk84<br/>
-1 kryptolus<br/>
-1 kshumard<br/>
-1 Laureano<br/>
-1 legranjl<br/>
-1 leobrown<br/>
-1 linulin<br/>
-1 macli<br/>
-1 markd<br/>
-1 marsosa<br/>
-1 martins<br/>
-1 marvinek<br/>
-1 matt_b<br/>
-1 Matti<br/>
-1 mav3rick<br/>
-1 maxgo<br/>
-1 mbit<br/>
-1 mcallist<br/>
-1 meitinger<br/>
-1 meric<br/>
-1 mika<br/>
-1 mmaguire<br/>
-1 mostyn<br/>
-1 mousepad99<br/>
-1 moy<br/>
-1 mthomasslo<br/>
-1 mvanbaak<br/>
-1 nahuelgreco<br/>
-1 nathan<br/>
-1 navis<br/>
-1 navkumar<br/>
-1 nemo<br/>
-1 Netview<br/>
-1 neutrino88<br/>
-1 nic_bellamy<br/>
-1 nickpeirson<br/>
-1 nicox<br/>
-1 nivek<br/>
-1 Nugget<br/>
-1 p_lindheimer<br/>
-1 pananix<br/>
-1 paraeco<br/>
-1 pdf<br/>
-1 pep<br/>
-1 Peter Schlaile<br/>
-1 pida<br/>
-1 riksta<br/>
-1 rtrauntvein<br/>
-1 sasargen<br/>
-1 sascha<br/>
-1 schern<br/>
-1 scramatte<br/>
-1 seanbright<br/>
-1 sergedevorop<br/>
-1 sgofferj<br/>
-1 shawkris<br/>
-1 sherpya<br/>
-1 Skavin<br/>
-1 snuffy<br/>
-1 snyfer<br/>
-1 sobomax<br/>
-1 sodom<br/>
-1 stegro<br/>
-1 stevenla<br/>
-1 still_nsk<br/>
-1 strk<br/>
-1 stuarth<br/>
-1 sum<br/>
-1 sverre<br/>
-1 tacvbo<br/>
-1 tbelder<br/>
-1 tecnoxarxa<br/>
-1 toc<br/>
-1 trevo<br/>
-1 ulogic<br/>
-1 vhatz<br/>
-1 vicks1<br/>
-1 vinsik<br/>
-1 vrban<br/>
-1 vsauer<br/>
-1 vt<br/>
-1 waverly360<br/>
-1 wedhorn<br/>
-1 ygor<br/>
-1 yraber<br/>
-1 ZX81<br/>
-</td>
-</tr>
-</table>
-<hr/>
-<a name="issues"><h2 align="center">Closed Issues</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
-<h3>Category: Addons/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14847">#14847</a>: Truncation problem with AMI ActionID<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186722">186722</a><br/>
-Reporter: kobaz<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Addons/New Feature</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14734">#14734</a>: AUDIOHOOK_INHERIT crash after sip attended transfer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185199">185199</a><br/>
-Reporter: corruptor<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13473">#13473</a>: [patch] Asterisk 1.6.0-rc6 crashes with ReceiveFAX<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157785">157785</a><br/>
-Reporter: genie<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14011">#14011</a>: [patch] Incorrect jump to extension<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170053">170053</a><br/>
-Reporter: dveiga<br/>
-Coders: dveiga<br/>
-<br/>
-<h3>Category: Applications/SLA</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12471">#12471</a>: No ringback toward SIP trunk on inbound SLA call (Again)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162302">162302</a><br/>
-Reporter: mthomasslo<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Applications/app_cdr</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12694">#12694</a>: [patch] Bad disposition on originated IAX2 calls<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159375">159375</a><br/>
-Reporter: yraber<br/>
-Testers: murf, laurav<br/>
-Coders: murf<br/>
-<br/>
-<h3>Category: Applications/app_chanspy</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14111">#14111</a>: [patch] app_chanspy crashed so-as "chanspy_ds.lock" has random values<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165892">165892</a><br/>
-Reporter: ys<br/>
-Coders: ys<br/>
-<br/>
-<h3>Category: Applications/app_dial</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=11583">#11583</a>: [branch] Allow disconnect feature before a call is bridged<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183198">183198</a><br/>
-Reporter: sobomax<br/>
-Testers: sobomax, dvossel<br/>
-Coders: sobomax, murf, dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=12929">#12929</a>: retrydial hangs up when using a silent soundfile as anouncement<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158069">158069</a><br/>
-Reporter: snyfer<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13216">#13216</a>: [patch] Incorrect ANSWERTIME when using M option<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152370">152370</a><br/>
-Reporter: ruddy<br/>
-Testers: ruddy<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13625">#13625</a>: Dial with timeout 0 places a call and immediately cancels it.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149280">149280</a><br/>
-Reporter: atis<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13764">#13764</a>: 302 Redirect (forward no answer) to bad extension causes channel to be left up (Ringing)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159561">159561</a><br/>
-Reporter: davidw<br/>
-Testers: mmichelson, davidw<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13793">#13793</a>: app_dial doesn't report back DIALSTATUS, ANSWEREDTIME and DIALEDTIME<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153266">153266</a><br/>
-Reporter: greenfieldtech<br/>
-Coders: twilson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13851">#13851</a>: Unlimited call for limited calls under 1 seconds (L option)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156389">156389</a><br/>
-Reporter: ruddy<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13898">#13898</a>: [patch] Limit connect file and others will not play warnings<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157255">157255</a><br/>
-Reporter: alecdavis<br/>
-Testers: alecdavis<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14118">#14118</a>: Asterisk crashes when calling more than a single location<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166275">166275</a><br/>
-Reporter: lmadsen<br/>
-Testers: blitzrage<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14164">#14164</a>: Dial() option d is not working<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174947">174947</a><br/>
-Reporter: DennisD<br/>
-Testers: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14601">#14601</a>: [patch] Duplication of code for dial_exec_options 'option k' and 'option K'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180122">180122</a><br/>
-Reporter: alecdavis<br/>
-Coders: alecdavis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14647">#14647</a>: Incorrect argument parsing in RetryDial causes asterisk to crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181614">181614</a><br/>
-Reporter: sherpya<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14845">#14845</a>: asterisk does not play warning file when have SIP-SIP Packet2Packet bridging<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186835">186835</a><br/>
-Reporter: adomjan<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Applications/app_directed_pickup</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14005">#14005</a>: Pickup() can't pickup calls to some SIP devices<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162344">162344</a><br/>
-Reporter: ddl<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/app_directory</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13804">#13804</a>: app_directory crashses Asterisk when voicemail entry doesn't have a name<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152648">152648</a><br/>
-Reporter: bluecrow76<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Applications/app_disa</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13330">#13330</a>: [patch] DISA does not accept extensions beginning with "#"<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162018">162018</a><br/>
-Reporter: jcovert<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Applications/app_echo</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13697">#13697</a>: [patch] Comply with trunk coding guidlines<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149589">149589</a><br/>
-Reporter: alecdavis<br/>
-Coders: alecdavis<br/>
-<br/>
-<h3>Category: Applications/app_externalivr</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14251">#14251</a>: Externalivr not sending 'H' event on channel hangup.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174330">174330</a><br/>
-Reporter: chris-mac<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Applications/app_fax</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13688">#13688</a>: [patch] Update app_fax to work with spandsp-0.0.6<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148869">148869</a><br/>
-Reporter: irroot<br/>
-Coders: irroot<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14073">#14073</a>: app_fax needs additional include to build with spandsp-0.0.6pre3<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164266">164266</a><br/>
-Reporter: seandarcy<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/app_festival</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14038">#14038</a>: apps/app_festival.c does not compile for PPC target<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162278">162278</a><br/>
-Reporter: ffloimair<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/app_followme</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14140">#14140</a>: [patch] followme should answer the call<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167502">167502</a><br/>
-Reporter: dimas<br/>
-Coders: dimas<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14758">#14758</a>: app_followme doesn't initialize targs<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184845">184845</a><br/>
-Reporter: tim_ringenbach<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Applications/app_macro</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13363">#13363</a>: [patch] Device Side transfer of a call between 2 extensions leads to failure because MACRO_DEPTH is not reset<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165323">165323</a><br/>
-Reporter: p_lindheimer<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Applications/app_meetme</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13173">#13173</a>: [branch] Asterisk blocked when 2 or more users leave a meetme when announce user is on<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156247">156247</a><br/>
-Reporter: pep<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13522">#13522</a>: [patch] Incorrect calculation of Realtime conference announcements<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147719">147719</a><br/>
-Reporter: DEA<br/>
-Coders: DEA<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13555">#13555</a>: Joining a MeetMe conference and hanging up shortly after results in SIGSEGV<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146698">146698</a><br/>
-Reporter: jeffg<br/>
-Testers: jeffg<br/>
-Coders: kpfleming<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13889">#13889</a>: [patch] Memory leak if the sla_thread is not running<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156296">156296</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13899">#13899</a>: After upgrading from 1.4.21.2 to 1.4.22 running MeetMe with D option doesn't ask for conference PIN<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157367">157367</a><br/>
-Reporter: akkornel<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14117">#14117</a>: Incorrect processing of "maxuser" parameter in real-time meetme<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168707">168707</a><br/>
-Reporter: sergedevorop<br/>
-Testers: sergedevorop<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14282">#14282</a>: conference calling crashes Asterisk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170150">170150</a><br/>
-Reporter: cheesegrits<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14322">#14322</a>: MeetMe conference crashes Asterisk 95% of the time when the last user hangs up/exits the conference.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174043">174043</a><br/>
-Reporter: amessina<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14482">#14482</a>: [patch] FreeBSD: set nonblocking mode on /dev/dahdi/pseudo failed.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176257">176257</a><br/>
-Reporter: ys<br/>
-Testers: ys<br/>
-Coders: ys<br/>
-<br/>
-<h3>Category: Applications/app_minivm</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13943">#13943</a>: [patch] Multiple bugs in app_minivm<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167836">167836</a><br/>
-Reporter: Marquis<br/>
-Coders: Marquis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14081">#14081</a>: MinivmAccMess() does not set MINIVM_ACCMESS_STATUS<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164625">164625</a><br/>
-Reporter: pkempgen<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Applications/app_mixmonitor</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13116">#13116</a>: Asterisk 1.4.21.1 segfaults many times daily using mixmonitor<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171624">171624</a><br/>
-Reporter: aragon<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13538">#13538</a>: [patch] Recording stops after Transfer when using MixMonitor()<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166098">166098</a><br/>
-Reporter: mbit<br/>
-Testers: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Applications/app_page</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14217">#14217</a>: [patch] app_page causes undefined behavior when paging a page group with more than 128 extensions<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168596">168596</a><br/>
-Reporter: a_villacis<br/>
-Testers: twilson<br/>
-Coders: a<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14308">#14308</a>: Paging application crashes asterisk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170982">170982</a><br/>
-Reporter: bluefox<br/>
-Testers: kc0bvu<br/>
-Coders: seanbright<br/>
-<br/>
-<h3>Category: Applications/app_parkandannounce</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14215">#14215</a>: Asterisk crashes anytime a call is parked by any method.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168981">168981</a><br/>
-Reporter: waverly360<br/>
-Testers: twilson<br/>
-Coders: twilson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14304">#14304</a>: ParkAndAnnounce loses "priority" of the return argument<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170049">170049</a><br/>
-Reporter: jcovert<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/app_queue</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12884">#12884</a>: [patch] Queue is treated as empty if it isn't, but no agents meet the QUEUE_MIN_PENALTY and QUEUE_MAX_PENALTY criteria<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152645">152645</a><br/>
-Reporter: bcnit<br/>
-Testers: twilson<br/>
-Coders: twilson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13220">#13220</a>: [patch] Calls in high-weighted queue block low-weighted<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185088">185088</a><br/>
-Reporter: garychen<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13395">#13395</a>: [patch] Attended transfers do not call update_queue until after transfered call ends<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149203">149203</a><br/>
-Reporter: Marquis<br/>
-Coders: Marquis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13548">#13548</a>: exten = 2813,n, Queue(test,c,,,,,,inqueue) craches when went into invalid extension<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160628">160628</a><br/>
-Reporter: fiddur<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13883">#13883</a>: Join event uses CallerID header for caller ID number, when other events now use CallerIDNum<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158927">158927</a><br/>
-Reporter: davidw<br/>
-Coders: mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14014">#14014</a>: [patch] DAHDI group dials/members broken with AddQueueMember / queue member add<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169613">169613</a><br/>
-Reporter: kebl0155<br/>
-Testers: kebl0155<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14033">#14033</a>: Delete a queue from realtime crashes Asterisk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164273">164273</a><br/>
-Reporter: cristiandimache<br/>
-Testers: cristiandimache<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14034">#14034</a>: app_queue does not update on realtime update<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163875">163875</a><br/>
-Reporter: cristiandimache<br/>
-Testers: twilson, cristiandimache<br/>
-Coders: twilson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14060">#14060</a>: [patch] Astrerisk crashes using the app_queue.c transfer datastores<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163083">163083</a><br/>
-Reporter: nivek<br/>
-Testers: nivek<br/>
-Coders: nivek<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14086">#14086</a>: Address out of bounds in queue_log using transfer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168631">168631</a><br/>
-Reporter: ZX81<br/>
-Testers: ZX81, festr<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14173">#14173</a>: Agent shows "(In use)" and will not receive queue calls while agent is logged in waiting for queue calls (1.4.22)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171693">171693</a><br/>
-Reporter: nathan<br/>
-Testers: nathan, aramirez<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14179">#14179</a>: chan local show as invalid in app queue<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167491">167491</a><br/>
-Reporter: CrashHD<br/>
-Testers: CrashHD<br/>
-Coders: lmadsen<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14227">#14227</a>: queue-thankyou should be played only if needed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174950">174950</a><br/>
-Reporter: caspy<br/>
-Testers: caspy<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14227">#14227</a>: queue-thankyou should be played only if needed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180009">180009</a><br/>
-Reporter: caspy<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14227">#14227</a>: queue-thankyou should be played only if needed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182123">182123</a><br/>
-Reporter: caspy<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14260">#14260</a>: Asterisk crashes anytime in call queues<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171620">171620</a><br/>
-Reporter: ccesario<br/>
-Testers: ccesario<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14272">#14272</a>: Queue timeout default is wrong<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169575">169575</a><br/>
-Reporter: timking<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14359">#14359</a>: The status of a local channel in state_interface of a queue is wrong the first time is added and lost after a reload<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173541">173541</a><br/>
-Reporter: francesco_r<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14376">#14376</a>: autopause should not pause interfaces that are busy<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173695">173695</a><br/>
-Reporter: fiddur<br/>
-Testers: fiddur<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14672">#14672</a>: Incorrect calling of free() at alloc_queue() in app_queue.c<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185263">185263</a><br/>
-Reporter: makoto<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14680">#14680</a>: unfreed memory in try_calling<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183246">183246</a><br/>
-Reporter: caspy<br/>
-Testers: caspy<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Applications/app_read</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14279">#14279</a>: [patch] Pressing only # when app_read is playing multiple prompts does not act as expected<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180080">180080</a><br/>
-Reporter: Marquis<br/>
-Testers: Marquis, dvossel<br/>
-Coders: Marquis, dvossel<br/>
-<br/>
-<h3>Category: Applications/app_record</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13669">#13669</a>: If the user hangup during recording, recorded file isn't removed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164960">164960</a><br/>
-Reporter: pj<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14341">#14341</a>: [patch] delete file on hangup in app_record does not make sense<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175551">175551</a><br/>
-Reporter: fnordian<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Applications/app_rpt</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14435">#14435</a>: Asterisk 1.6.1-rc1 compile bomb in apps/app_rpt - undefined AST_PBX_KEEPALIVE at line #13622<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174437">174437</a><br/>
-Reporter: D_McNaul<br/>
-Coders: murf<br/>
-<br/>
-<h3>Category: Applications/app_sms</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13594">#13594</a>: SMS help is incorrect, Typo<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147593">147593</a><br/>
-Reporter: alecdavis<br/>
-Testers: alecdavis<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13595">#13595</a>: SMS receive file name incorrect<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147593">147593</a><br/>
-Reporter: alecdavis<br/>
-Testers: alecdavis<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13617">#13617</a>: [patch] SMS app ignores parameter 'p' - initial pause<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148986">148986</a><br/>
-Reporter: alecdavis<br/>
-Coders: alecdavis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13675">#13675</a>: [patch] app_sms doesn't answer the call, currently requires Answer() before hand<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150258">150258</a><br/>
-Reporter: alecdavis<br/>
-Coders: alecdavis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14881">#14881</a>: [patch] smsq uses '|' rather than ',' for options in call file<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188208">188208</a><br/>
-Reporter: stegro<br/>
-Coders: stegro<br/>
-<br/>
-<h3>Category: Applications/app_test</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12442">#12442</a>: pri loop TestClient/TestServer fails: server SEND DTMF 8<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184394">184394</a><br/>
-Reporter: tzafrir<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Applications/app_transfer</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13579">#13579</a>: blindxfer doesn't work properly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148115">148115</a><br/>
-Reporter: dwagner<br/>
-Testers: murf, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13789">#13789</a>: [patch] Application not accept any option after deleting jump+101<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152133">152133</a><br/>
-Reporter: IgorG<br/>
-Coders: IgorG<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14374">#14374</a>: Revision 172517 segfault after using A *2 transfer to B and B dial *2<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173591">173591</a><br/>
-Reporter: aragon<br/>
-Testers: aragon, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Applications/app_voicemail</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14377">#14377</a>: MAILBOX_EXISTS crashes Asterisk when called with empty argument<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172743">172743</a><br/>
-Reporter: amorsen<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14406">#14406</a>: [patch] Voicemail message recording file is shorter than duration reported in msg????.txt<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179471">179471</a><br/>
-Reporter: sasargen<br/>
-Testers: sasargen<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14599">#14599</a>: searchcontexts=yes causes voicemail boxes to be setup wrong<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180425">180425</a><br/>
-Reporter: lmadsen<br/>
-Testers: lmadsen<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14685">#14685</a>: When using IMAP voicemail storage, you cannot retrieve messages by logging into VoicemailMain()<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186288">186288</a><br/>
-Reporter: BlargMaN<br/>
-Testers: BlargMaN, qualleyiv, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14736">#14736</a>: [patch] message "you have no messages" garbled<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185471">185471</a><br/>
-Reporter: chappell<br/>
-Coders: chappell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14912">#14912</a>: voicemail umask / permissions bug<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188776">188776</a><br/>
-Reporter: jcapp<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Applications/app_voicemail/IMAP</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13605">#13605</a>: [patch] Compile error with IMAP_STORAGE due to removed autoconfig.h in Makefile<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148240">148240</a><br/>
-Reporter: tomo1657<br/>
-Testers: mmichelson<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13642">#13642</a>: [patch] Messages not deleted properly when delete=yes in voicemail.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157563">157563</a><br/>
-Reporter: jaroth<br/>
-Coders: jaroth<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13652">#13652</a>: [patch] Asterisk IMAP headers are not processed correctly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148151">148151</a><br/>
-Reporter: jaroth<br/>
-Coders: jaroth<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13653">#13653</a>: [patch] Shared IMAP mailboxes can cause the server to crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165808">165808</a><br/>
-Reporter: howardwilkinson<br/>
-Testers: jpeeler<br/>
-Coders: howardwilkinson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13673">#13673</a>: [patch] Addition of a Mailbox id facility to allow shared mailboxes to work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173699">173699</a><br/>
-Reporter: howardwilkinson<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13829">#13829</a>: [patch] Hang up during call forward into voicemail crashes Asterisk.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154092">154092</a><br/>
-Reporter: jaroth<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13853">#13853</a>: mwi activates for more than one mailbox if they have the same mailbox name but different contexts.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180467">180467</a><br/>
-Reporter: vicks1<br/>
-Testers: lmadsen<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13905">#13905</a>: [patch] Messages not marked as read/unread properly when moved from New to Old folder and back.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173775">173775</a><br/>
-Reporter: jaroth<br/>
-Coders: jaroth<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14063">#14063</a>: [patch] Urgent messages are automatically forwarded as urgent<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163214">163214</a><br/>
-Reporter: jaroth<br/>
-Coders: jaroth<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14253">#14253</a>: [patch] app_voicemail leaves sockets in close wait.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177539">177539</a><br/>
-Reporter: Skavin<br/>
-Testers: Skavin<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14473">#14473</a>: [patch] Crash in VoiceMailMain if hangup occurs before a valid mailbox number is entered (IMAP only)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175593">175593</a><br/>
-Reporter: dwpaul<br/>
-Coders: dwpaul<br/>
-<br/>
-<h3>Category: Applications/app_voicemail/NewFeature</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=11678">#11678</a>: [patch] Notification email should use the voicemail's metadata<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186448">186448</a><br/>
-Reporter: jamessan<br/>
-Testers: tilghman, lmadsen<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Applications/app_voicemail/ODBC</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13659">#13659</a>: [patch] User not notified that a temporary greeting is active when using ODBC voicemail<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148269">148269</a><br/>
-Reporter: moliveras<br/>
-Testers: moliveras<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Applications/app_waitforsilence</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13658">#13658</a>: WAITSTATUS will never get set for digitally muted channels<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149063">149063</a><br/>
-Reporter: explidous<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: CDR/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13597">#13597</a>: clid will only set number not name<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160766">160766</a><br/>
-Reporter: john8675309<br/>
-Testers: murf, john8675309<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14306">#14306</a>: CDR not written when Busy() used<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189069">189069</a><br/>
-Reporter: cristiandimache<br/>
-Coders: mnicholson<br/>
-<br/>
-<h3>Category: CDR/cdr_csv</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13942">#13942</a>: On a configuration reload, cdr_csv ignores options if cdr.conf was unchanged<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158377">158377</a><br/>
-Reporter: davidw<br/>
-Testers: davidw<br/>
-Coders: twilson<br/>
-<br/>
-<h3>Category: CDR/cdr_pgsql</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14058">#14058</a>: cdr_pgsql does not work in asterisk 1.6.0.x<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164355">164355</a><br/>
-Reporter: navis<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: CDR/cdr_sqlite3_custom</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14563">#14563</a>: Segmentation fault caused by sqlite3_log<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179163">179163</a><br/>
-Reporter: alerios<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13505">#13505</a>: Memory leak in channel variables<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149202">149202</a><br/>
-Reporter: mav3rick<br/>
-Testers: mav3rick, triccyx<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13676">#13676</a>: channel get stuck on ast_queue_frame when hanging up<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148915">148915</a><br/>
-Reporter: tacvbo<br/>
-Testers: tacvbo<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13962">#13962</a>: Blind transfer does not work upgrade to 1.4.23-rc1<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165323">165323</a><br/>
-Reporter: francesco_r<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/chan_agent</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12269">#12269</a>: [branch] Deadlock after Originate from AMI to Agent<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168510">168510</a><br/>
-Reporter: IgorG<br/>
-Testers: denisgalvao<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13921">#13921</a>: Configuration reload overrides channel variable setting of ackcall (autologoff, acceptdtmf and enddtmf)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159438">159438</a><br/>
-Reporter: davidw<br/>
-Testers: davidw<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14091">#14091</a>: autologoff does not work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189206">189206</a><br/>
-Reporter: evandro<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Channels/chan_dahdi</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13034">#13034</a>: [patch] 183 response although progressinband=never<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183333">183333</a><br/>
-Reporter: klaus3000<br/>
-Testers: klaus3000<br/>
-Coders: tilghman, klaus3000<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13408">#13408</a>: [patch] send rel with unallocated cause code insted of normal call clearing when call invalid extension<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155325">155325</a><br/>
-Reporter: adomjan<br/>
-Coders: adomjan<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13759">#13759</a>: [patch] Obvious typo (logic error)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151602">151602</a><br/>
-Reporter: smurfix<br/>
-Coders: smurfix<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13786">#13786</a>: [patch] DAHDI_CHECK_HOOKSTATE automatically defined when chan_dahdi is built with zaptel support<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160329">160329</a><br/>
-Reporter: tzafrir<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14057">#14057</a>: Deadlock chan_dahdi.c and channel.c<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166440">166440</a><br/>
-Reporter: rtrauntvein<br/>
-Testers: rtrauntvein<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14090">#14090</a>: [patch] unable to set DAHDI_VMWI to lower level drivers<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164604">164604</a><br/>
-Reporter: alecdavis<br/>
-Coders: alecdavis<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14113">#14113</a>: Asterisk 1.6.1-beta4 and 1.6.0.3-rc1 always crash when dialing or receiving a call trough wcb4xxp<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166571">166571</a><br/>
-Reporter: francesco_r<br/>
-Testers: francesco_r<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14655">#14655</a>: [patch] Wrong text for HELP DAHDI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183703">183703</a><br/>
-Reporter: ulogic<br/>
-Testers: lmadsen<br/>
-Coders: ulogic<br/>
-<br/>
-<h3>Category: Channels/chan_h323</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=11261">#11261</a>: [patch] chan_h323 with H323Plus for TRUNK (SVN rev. 89183)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182724">182724</a><br/>
-Reporter: vhatz<br/>
-Coders: jthurman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=11966">#11966</a>: Compile Fail when enable Module Embedding<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187914">187914</a><br/>
-Reporter: dome<br/>
-Testers: jpeeler<br/>
-Coders: kpfleming<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=12415">#12415</a>: chan_h323 doesn't respect rtp packetization settings<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189996">189996</a><br/>
-Reporter: pj<br/>
-Coders: mvanbaak<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13219">#13219</a>: possible missing unlock<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164884">164884</a><br/>
-Reporter: pj<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13400">#13400</a>: [patch] POSIX thread operations errors<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152974">152974</a><br/>
-Reporter: Matti<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14715">#14715</a>: [patch] Simplify h323 Make process<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184840">184840</a><br/>
-Reporter: jthurman<br/>
-Testers: tzafrir, russell<br/>
-Coders: jthurman<br/>
-<br/>
-<h3>Category: Channels/chan_iax2</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13011">#13011</a>: [patch] find_idle_thread() uses spin wait<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154917">154917</a><br/>
-Reporter: jpgrayson<br/>
-Coders: jpgrayson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13232">#13232</a>: [patch] iax2-provision is not freeing iax_templates structure.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160665">160665</a><br/>
-Reporter: eliel<br/>
-Testers: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13468">#13468</a>: IAX Transfer/releasing between 3 asterisk's are not working.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173506">173506</a><br/>
-Reporter: nicox<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13628">#13628</a>: IAX port change using dnsmgr<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166272">166272</a><br/>
-Reporter: pananix<br/>
-Testers: file, blitzrage<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13645">#13645</a>: chan_iax2 isn't using HANGUP anymore?<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156288">156288</a><br/>
-Reporter: dzajro<br/>
-Testers: vazir<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13717">#13717</a>: [patch] 1.6.0.1 crashes randomly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154367">154367</a><br/>
-Reporter: kowalma<br/>
-Testers: kowalma<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13918">#13918</a>: [patch] IAX2 not conforming to standard<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159249">159249</a><br/>
-Reporter: ffloimair<br/>
-Testers: ffloimair<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13919">#13919</a>: [patch] Asterisk core dumps random<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159280">159280</a><br/>
-Reporter: barthpbx<br/>
-Testers: barthpbx<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14082">#14082</a>: no iax trunking on 1.6.1-beta3<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164527">164527</a><br/>
-Reporter: seandarcy<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14283">#14283</a>: Codec negotiation fails on calls from 1.2 -> 1.6, and is sub-optimum on calls from 1.6->1.6<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177700">177700</a><br/>
-Reporter: jcovert<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14607">#14607</a>: chan_iax2.c: Packet Decrypt Failed! encrypted IAX2 during packet loss causes hangup and end of call<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181373">181373</a><br/>
-Reporter: stevenla<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Channels/chan_local</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13343">#13343</a>: Local channel does not support exten/callerid style dialplan entries (ast_exists_extension placement).<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146715">146715</a><br/>
-Reporter: efutch<br/>
-Testers: efutch<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13368">#13368</a>: [patch] chan_local doesn't copy the dialplan (cid.cid_ton) into the new channel<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152217">152217</a><br/>
-Reporter: Peter Schlaile<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13807">#13807</a>: [patch] Missing mutex unlock on error inside local_call().<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152924">152924</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14189">#14189</a>: segmentation fault in local_queue_frame at chan_local.c:172<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169213">169213</a><br/>
-Reporter: sascha<br/>
-Testers: sascha<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14656">#14656</a>: [patch] unfreed memory in Local channel<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182280">182280</a><br/>
-Reporter: caspy<br/>
-Testers: caspy<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/chan_mgcp</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13785">#13785</a>: [patch] Memory leak while reloading chan_mgcp.so<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152444">152444</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<h3>Category: Channels/chan_misdn</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13488">#13488</a>: mISDN rejects incoming calls<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185126">185126</a><br/>
-Reporter: Christian_Pinedo<br/>
-Testers: crich, siepkes, festr<br/>
-Coders: crich<br/>
-<br/>
-<h3>Category: Channels/chan_oss</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13686">#13686</a>: [patch] Console/dsp not hanging up after playing sound file.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171190">171190</a><br/>
-Reporter: itiliti<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/chan_sip/CodecHandling</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14000">#14000</a>: [patch] Wrong usage of sscanf with use of uninitialized variable caused accidental parsing of RTP/SAVP<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160325">160325</a><br/>
-Reporter: folke<br/>
-Coders: folke<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14249">#14249</a>: One way voice after attended transfer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170664">170664</a><br/>
-Reporter: RadicAlish<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Channels/chan_sip/DatabaseSupport</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14196">#14196</a>: [patch] Realtime peers are never qualified after 'sip reload'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176461">176461</a><br/>
-Reporter: pdf<br/>
-Testers: pdf<br/>
-Coders: pdf<br/>
-<br/>
-<h3>Category: Channels/chan_sip/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12006">#12006</a>: [patch] chan_sip fails to set contact, via, and sdp headers correctly with outboundproxy set<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188069">188069</a><br/>
-Reporter: mnicholson<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=12013">#12013</a>: SIP with canreinvite=yes through multiple Asterisk instances fails<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185848">185848</a><br/>
-Reporter: alx<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=12761">#12761</a>: [patch] chan_sip: build_contact() does not put alternate port setting in Contact header<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151513">151513</a><br/>
-Reporter: asbestoshead<br/>
-Coders: asbestoshead<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=12994">#12994</a>: [patch] Spamming CLI / logs with 'Remote host can't match request BYE to call...'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158084">158084</a><br/>
-Reporter: pabelanger<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13071">#13071</a>: [patch] OPTIONS response on default port.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168196">168196</a><br/>
-Reporter: baron<br/>
-Testers: baron<br/>
-Coders: baron<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13209">#13209</a>: DTMF RFC2833 via SIP is not working<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162207">162207</a><br/>
-Reporter: ip-rob<br/>
-Testers: ip-rob, bujones<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13383">#13383</a>: [patch] Turn off qualify on uncached realtime peers<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153123">153123</a><br/>
-Reporter: tilghman<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13474">#13474</a>: [patch] usereqphone parameter doesn't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161729">161729</a><br/>
-Reporter: mmaguire<br/>
-Coders: mmaguire<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13531">#13531</a>: [patch] Hold logic broken?<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158232">158232</a><br/>
-Reporter: sgofferj<br/>
-Testers: sgofferj<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13545">#13545</a>: Channel re-invited on destination ringing not re-invited back if ringing abandoned.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165605">165605</a><br/>
-Reporter: davidw<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13547">#13547</a>: [patch] Asterisk crash getting fax by sip channel<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174086">174086</a><br/>
-Reporter: tecnoxarxa<br/>
-Testers: tecnoxarxa<br/>
-Coders: tecnoxarxa<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13602">#13602</a>: [patch] Bad handling of Contact header, which should not be present in 1XX responses to REGISTER, but also in several other case<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173964">173964</a><br/>
-Reporter: hjourdain<br/>
-Testers: mnicholson<br/>
-Coders: mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13602">#13602</a>: [patch] Bad handling of Contact header, which should not be present in 1XX responses to REGISTER, but also in several other case<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173966">173966</a><br/>
-Reporter: hjourdain<br/>
-Testers: mnicholson<br/>
-Coders: mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13626">#13626</a>: [patch] CANCEL before Trying<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155469">155469</a><br/>
-Reporter: atis<br/>
-Testers: atis<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13634">#13634</a>: Asterisk fills "via" header not correctly.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164662">164662</a><br/>
-Reporter: performer<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13644">#13644</a>: insecure doesn't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148377">148377</a><br/>
-Reporter: pj<br/>
-Testers: pj<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13668">#13668</a>: sip show inuse count is negative<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148375">148375</a><br/>
-Reporter: mjc<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13668">#13668</a>: sip show inuse count is negative<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157429">157429</a><br/>
-Reporter: mjc<br/>
-Coders: wolfelectronic<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13700">#13700</a>: [patch] peer outboundproxy-ptr is copied to dialog and then freed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149803">149803</a><br/>
-Reporter: fnordian<br/>
-Testers: fnordian<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13705">#13705</a>: Can't use type=friend anymore in sip.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151328">151328</a><br/>
-Reporter: lmadsen<br/>
-Coders: bweschke<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13706">#13706</a>: [patch] SIP_NOTIFY message incorrectly builds address in the To: tag<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151514">151514</a><br/>
-Reporter: andrew53<br/>
-Coders: andrew53<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13710">#13710</a>: [patch] MWI NOTIFY always tries to use UDP, even if the peer is connected via TCP<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151430">151430</a><br/>
-Reporter: andrew53<br/>
-Coders: andrew53<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13713">#13713</a>: [patch] Inband DTMF on outbound call is not detected when dtmfmode=auto<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181298">181298</a><br/>
-Reporter: makoto<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13714">#13714</a>: [patch] invites with proxy_auth have wrong via-branch-tag<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150208">150208</a><br/>
-Reporter: fnordian<br/>
-Coders: fnordian<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13715">#13715</a>: [patch] Using SIP_HEADER in AMI with NULL channel causes crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150303">150303</a><br/>
-Reporter: makoto<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13715">#13715</a>: [patch] Using SIP_HEADER in AMI with NULL channel causes crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150829">150829</a><br/>
-Reporter: makoto<br/>
-Coders: bweschke<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13727">#13727</a>: [patch] resolving hostnames should ignore uri-paramters<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151421">151421</a><br/>
-Reporter: fnordian<br/>
-Coders: fnordian<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13795">#13795</a>: [patch] Incorrect use of sizeof()<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152573">152573</a><br/>
-Reporter: andrew53<br/>
-Coders: andrew53<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13811">#13811</a>: peer matching issue when use type=peer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163640">163640</a><br/>
-Reporter: pj<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13849">#13849</a>: problem handling race condition - reINVITE before ACK<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187495">187495</a><br/>
-Reporter: klaus3000<br/>
-Testers: mmichelson, klaus3000<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13867">#13867</a>: [patch] Reject an incoming call to peer due to call limit with "603 Declined". It`s not correct.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158067">158067</a><br/>
-Reporter: still_nsk<br/>
-Testers: blitzrage<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13878">#13878</a>: [patch] Can't record early media after sending a "183 Session Progress".<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157531">157531</a><br/>
-Reporter: nahuelgreco<br/>
-Testers: mmichelson<br/>
-Coders: nahuelgreco<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13970">#13970</a>: CLI command "help sip set history {on|off}" shows deprectated usage in help text<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165794">165794</a><br/>
-Reporter: pkempgen<br/>
-Coders: blitzrage<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13989">#13989</a>: Enabling qualify on a SIP TCP peer brings pain and coredumps<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163656">163656</a><br/>
-Reporter: Nugget<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14055">#14055</a>: "outboundproxy" in "general" section of sip.conf doesn't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165218">165218</a><br/>
-Reporter: chris-mac<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14110">#14110</a>: [patch] SIPAddHeader problems with escaping and quoting<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166698">166698</a><br/>
-Reporter: gork<br/>
-Testers: gork, mmichelson<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14149">#14149</a>: Continuation - Handle BYE instead of CANCEL from callers (issue 0004994)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181771">181771</a><br/>
-Reporter: legranjl<br/>
-Testers: legranjl<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14180">#14180</a>: sip show users does not exist<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168611">168611</a><br/>
-Reporter: amorsen<br/>
-Testers: blitzrage, amorsen<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14192">#14192</a>: upgrading from asterisk-1.6.0.3 to branch/asterisk-1.6.1 breaks qualify for TCP peer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169082">169082</a><br/>
-Reporter: pabelanger<br/>
-Testers: jamesgolovich<br/>
-Coders: jamesgolovich<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14220">#14220</a>: SIP INVITE packets are incorrectly truncated with 1.6.1 svn after approx 1020 characters<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169559">169559</a><br/>
-Reporter: riksta<br/>
-Testers: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14233">#14233</a>: port :0 added to SIP INVITE URI when 'outboundproxy' used in [general] section of sip.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169079">169079</a><br/>
-Reporter: chris-mac<br/>
-Testers: jamesgolovich, chris-mac, twilson<br/>
-Coders: jamesgolovich<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14256">#14256</a>: [patch] SIP Channel name is not unique<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188949">188949</a><br/>
-Reporter: Nick_Lewis<br/>
-Testers: Nick_Lewis, file<br/>
-Coders: Nick<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14295">#14295</a>: SIP on hold problems<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170507">170507</a><br/>
-Reporter: klaus3000<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14310">#14310</a>: No voice (ringing tone) after call was diverted<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170571">170571</a><br/>
-Reporter: RadicAlish<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14399">#14399</a>: wrong call-limit count when counteronpeer=yes<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174545">174545</a><br/>
-Reporter: caspy<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14447">#14447</a>: Type uninitialized<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174582">174582</a><br/>
-Reporter: triccyx<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14497">#14497</a>: [patch] Wrong order of Channeltype and Uniqueid sent to manager from chan_sip.c<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177007">177007</a><br/>
-Reporter: vinsik<br/>
-Coders: vinsik<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14505">#14505</a>: Resolve remaining issues left over from 'kill-the-user'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180263">180263</a><br/>
-Reporter: lmadsen<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14686">#14686</a>: Regression: #13867 Reject an incoming call to peer due to call limit with "603 Declined". It`s not correct.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186839">186839</a><br/>
-Reporter: davidw<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14727">#14727</a>: lock or crash after changing sip 'transport'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189774">189774</a><br/>
-Reporter: pj<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14784">#14784</a>: crash after native bridging<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187678">187678</a><br/>
-Reporter: pj<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/chan_sip/Interoperability</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14025">#14025</a>: sip register: reserved character check not RFC 3261 compliant<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162666">162666</a><br/>
-Reporter: ffs<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14346">#14346</a>: [patch] CANCEL gets different via header branch than INVITE<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171540">171540</a><br/>
-Reporter: oej<br/>
-Testers: oej<br/>
-Coders: oej<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14419">#14419</a>: [patch] Asterisk must not perform SRV lookups if a port is specified in the URI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174326">174326</a><br/>
-Reporter: klaus3000<br/>
-Coders: klaus3000<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14611">#14611</a>: [patch] SIP Attended Transfer fails<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181035">181035</a><br/>
-Reporter: klaus3000<br/>
-Testers: klaus3000<br/>
-Coders: klaus3000<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14628">#14628</a>: "SIP/2.0 404 Not found" when attended transferring a private number<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181359">181359</a><br/>
-Reporter: sverre<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Channels/chan_sip/NewFeature</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13601">#13601</a>: Add reboot-snom to sip_notify<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146314">146314</a><br/>
-Reporter: mjc<br/>
-Testers: seanbright<br/>
-Coders: seanbright<br/>
-<br/>
-<h3>Category: Channels/chan_sip/Registration</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13309">#13309</a>: [patch] chan_sip does not always create regexten for registering peers<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149209">149209</a><br/>
-Reporter: dimas<br/>
-Coders: dimas<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13570">#13570</a>: [patch] Malformed registration line is copied verbatim in To and From headers<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149132">149132</a><br/>
-Reporter: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13599">#13599</a>: [patch] When unregistering a UA, 200 OK response from Asterisk is not SIP compliant<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162741">162741</a><br/>
-Reporter: hjourdain<br/>
-Coders: hjourdain<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13633">#13633</a>: Asterisk won't register if SIP-port at peer differ than local (5060)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162622">162622</a><br/>
-Reporter: performer<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13783">#13783</a>: [patch] Cannot register with sip providers that require '@' in the username<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162666">162666</a><br/>
-Reporter: navkumar<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13809">#13809</a>: insufficent log information<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155400">155400</a><br/>
-Reporter: denke<br/>
-Testers: denke<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14107">#14107</a>: Incoming SIP invites don't match properly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165606">165606</a><br/>
-Reporter: jsmith<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14176">#14176</a>: [patch] send out the incorrect register request URI to the (fromdomain) outbound proxy<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168582">168582</a><br/>
-Reporter: paraeco<br/>
-Coders: paraeco<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14185">#14185</a>: [patch] Setting registration expiry in registration string does not work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172235">172235</a><br/>
-Reporter: Nick_Lewis<br/>
-Testers: Nick_Lewis<br/>
-Coders: Nick<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14205">#14205</a>: Unable to register SIP device with realtime in 1.6.x<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172133">172133</a><br/>
-Reporter: maxgo<br/>
-Testers: blitzrage<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14211">#14211</a>: Asterisk Crashes with signal 11 (segmentation fault) at random intervals (but at least 2 times a day)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168979">168979</a><br/>
-Reporter: aborghi<br/>
-Testers: aborghi<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14284">#14284</a>: [patch] Asterisk retransmits the 401 response of failed REGISTER<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171361">171361</a><br/>
-Reporter: klaus3000<br/>
-Testers: klaus3000<br/>
-Coders: klaus3000<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14668">#14668</a>: register: '/' in username not supported<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187388">187388</a><br/>
-Reporter: Netview<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14885">#14885</a>: [patch] rtupdate=no not working<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188838">188838</a><br/>
-Reporter: deepesh<br/>
-Testers: deepesh<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Channels/chan_sip/Subscriptions</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12560">#12560</a>: [patch] Problems with NOTIFY due to Asterisk sending wrong CALL-ID and duplicate sip: tag in header of NOTIFY<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162807">162807</a><br/>
-Reporter: vsauer<br/>
-Coders: ramonpeek<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13238">#13238</a>: False state in core show hints<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174846">174846</a><br/>
-Reporter: kowalma<br/>
-Testers: alecdavis<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13327">#13327</a>: pattern match for a hints always gives state:idle for all extensions<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162949">162949</a><br/>
-Reporter: pj<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13525">#13525</a>: hint change state to Idle when peer reregisters<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163006">163006</a><br/>
-Reporter: pj<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13525">#13525</a>: hint change state to Idle when peer reregisters<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163581">163581</a><br/>
-Reporter: pj<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14037">#14037</a>: Memory usage increase when using SUBSCRIBE + vars defined in sip.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164677">164677</a><br/>
-Reporter: marvinek<br/>
-Testers: russell<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14531">#14531</a>: MWI subscriptions does not works if there is no HINT for extension<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178232">178232</a><br/>
-Reporter: festr<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Channels/chan_sip/T.38</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12437">#12437</a>: Asterisk negotiates only T.38 when answering even if the other end offers audio<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184950">184950</a><br/>
-Reporter: marsosa<br/>
-Testers: pinga-fogo, okrief, file, afu<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13050">#13050</a>: Memory segmentation fault on T.38 pass through<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175342">175342</a><br/>
-Reporter: schern<br/>
-Testers: schern<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13600">#13600</a>: [patch] Crash in decode_length - udptl.c:159<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168606">168606</a><br/>
-Reporter: atis<br/>
-Testers: atis<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13976">#13976</a>: Invalid SDP attributes for boolean T.38 parameters (T38FaxFillBitRemoval, etc.)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167182">167182</a><br/>
-Reporter: linulin<br/>
-Testers: arcivanov<br/>
-Coders: arcivanov<br/>
-<br/>
-<h3>Category: Channels/chan_sip/TCP-TLS</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14919">#14919</a>: RTP ports dont get closed with SIP over TCP<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189352">189352</a><br/>
-Reporter: vrban<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Channels/chan_sip/Transfers</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13800">#13800</a>: crash after transfer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164353">164353</a><br/>
-Reporter: dwagner<br/>
-Coders: tweety<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13956">#13956</a>: Asterisk crashes when transfering call multiple times.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161722">161722</a><br/>
-Reporter: chris-mac<br/>
-Testers: chris-mac<br/>
-Coders: mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14350">#14350</a>: [patch] Asterisk does not detect an attended transfer if the 'Replaces=' option is not at the beginning of the query string<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173994">173994</a><br/>
-Reporter: fhackenberger<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Channels/chan_skinny</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13948">#13948</a>: [patch] Skinny switch can still send tones after hangup<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158701">158701</a><br/>
-Reporter: wedhorn<br/>
-Coders: wedhorn<br/>
-<br/>
-<h3>Category: Channels/chan_unistim</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14858">#14858</a>: [patch] Regular segfault with chan_unistim<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189913">189913</a><br/>
-Reporter: barryf<br/>
-Testers: barryf<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Codecs/codec_ilbc</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14532">#14532</a>: iLBC transcoding times are always zero<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181733">181733</a><br/>
-Reporter: pj<br/>
-Testers: pj<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14936">#14936</a>: Problem in iLBC Source Fetch Script on FreeBSD<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189852">189852</a><br/>
-Reporter: leobrown<br/>
-Testers: leobrown, mvanbaak<br/>
-Coders: mvanbaak<br/>
-<br/>
-<h3>Category: Codecs/codec_lpc10</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13702">#13702</a>: [patch] Memory leak while trying to free a malloced memory with an ast_free() call instead of just free().<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149638">149638</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<h3>Category: Core/AstMM</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13858">#13858</a>: [patch] On memory allocation failure return NULL or we will crash.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157636">157636</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<h3>Category: Core/BuildSystem</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13649">#13649</a>: compilation fail on FreeBSD<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147901">147901</a><br/>
-Reporter: ys<br/>
-Coders: mvanbaak<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13842">#13842</a>: [patch] Small fixes to two scripts in build_tools<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157602">157602</a><br/>
-Reporter: snuffy<br/>
-Testers: snuffy<br/>
-Coders: snuffy, seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13887">#13887</a>: [patch] libtonezone requires -lm<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163170">163170</a><br/>
-Reporter: tzafrir<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14006">#14006</a>: [patch] Use of 'uint' instead of 'unsigned int' causes build problems on FreeBSD<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161429">161429</a><br/>
-Reporter: alphaque<br/>
-Coders: alphaque<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14224">#14224</a>: [patch] fixes for autoconf 2.63 and ptlib-devel (Fedora 10)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177164">177164</a><br/>
-Reporter: bergolth<br/>
-Testers: jpeeler<br/>
-Coders: bergolth<br/>
-<br/>
-<h3>Category: Core/Channels</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13747">#13747</a>: Indications are not passed from old peer to new peer during masquerade<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164300">164300</a><br/>
-Reporter: davidw<br/>
-Testers: russell<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14127">#14127</a>: Enumerated type and integer comparison do not work as you might expect<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166535">166535</a><br/>
-Reporter: andrew<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14221">#14221</a>: [patch] DNS SRV messages inadvertently changed from verbosity >3 to 3<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168524">168524</a><br/>
-Reporter: jcovert<br/>
-Coders: jcovert<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14315">#14315</a>: After Dial's L() limit is reached, res_feature's dynamic features don't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176711">176711</a><br/>
-Reporter: tim_ringenbach<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14315">#14315</a>: After Dial's L() limit is reached, res_feature's dynamic features don't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179539">179539</a><br/>
-Reporter: tim_ringenbach<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14623">#14623</a>: [patch] Race condition between bridge and channel masquerading<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181426">181426</a><br/>
-Reporter: guillecabeza<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Core/Configuration</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13848">#13848</a>: [patch] Asterisk crashes if udptl.conf is not available<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159477">159477</a><br/>
-Reporter: klaus3000<br/>
-Testers: blitzrage<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14169">#14169</a>: [patch] functions with multiple arguments do not work in AEL dialplan<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168739">168739</a><br/>
-Reporter: fabled<br/>
-Coders: fabled<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14231">#14231</a>: [patch] Parsing and escaping of characters is broken in some cases (e.g. app_System)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177761">177761</a><br/>
-Reporter: jcovert<br/>
-Testers: jcovert<br/>
-Coders: tilghman, jcovert<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14646">#14646</a>: The default sip.conf file contains bogus CLI command tip<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181521">181521</a><br/>
-Reporter: strk<br/>
-Coders: mvanbaak<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14796">#14796</a>: Asterisk crashes when empty member in queues.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185602">185602</a><br/>
-Reporter: pida<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Core/FileFormatInterface</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13955">#13955</a>: Asterisk crashes when Playback/Backround with non existing file.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158855">158855</a><br/>
-Reporter: chris-mac<br/>
-Coders: mnicholson<br/>
-<br/>
-<h3>Category: Core/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13301">#13301</a>: [patch] AMI UpdateConfig -- When creating category, memory allocation failure in config.c<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161182">161182</a><br/>
-Reporter: trevo<br/>
-Testers: tilghman, blitzrage<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13464">#13464</a>: asterisk console screws up terminal subtly when exited with ctrl-c with some shells<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163386">163386</a><br/>
-Reporter: tzafrir<br/>
-Testers: blitzrage<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13543">#13543</a>: Memory leacks in stress test with failure<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149202">149202</a><br/>
-Reporter: triccyx<br/>
-Testers: mav3rick, triccyx<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13578">#13578</a>: Bang not showing up in <tab> on CLI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146200">146200</a><br/>
-Reporter: mvanbaak<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13593">#13593</a>: [patch] MALLOC_DEBUG causes crash in chan_h323<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181199">181199</a><br/>
-Reporter: pj<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13778">#13778</a>: asterisk blocked at startup between main/asterisk.c/loader.c/load_modules and manager.c/loader.c/ast_module_reload<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151907">151907</a><br/>
-Reporter: hotsblanc<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14004">#14004</a>: [patch] restart gracefully drops cap_net_admin capability<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172504">172504</a><br/>
-Reporter: nemo<br/>
-Testers: tilghman<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14079">#14079</a>: [patch] Regression When Playing WAV49 Audio Files<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164314">164314</a><br/>
-Reporter: elguero<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14080">#14080</a>: [patch] ast_frdup does not duplicate integer-frame-data<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164521">164521</a><br/>
-Reporter: fnordian<br/>
-Coders: fnordian<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14177">#14177</a>: [patch] ast_db_gettree(family, keytree) completely ignores the keytree argument<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167306">167306</a><br/>
-Reporter: nic_bellamy<br/>
-Coders: nic<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14194">#14194</a>: logger.c:531 rotate_file: system() failed for 'gzip -9 /var/log/asterisk/full.2': No child processes<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168015">168015</a><br/>
-Reporter: pabelanger<br/>
-Coders: mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14263">#14263</a>: [patch] Global variables only allow values less than 255 characters<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170178">170178</a><br/>
-Reporter: markd<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14287">#14287</a>: [patch] tcptls.c doesn't set correct remote_address<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169622">169622</a><br/>
-Reporter: jamesgolovich<br/>
-Coders: jamesgolovich<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14373">#14373</a>: [patch] Avoid destroying the CLI line when moving the cursor backward and trying to autocomplete.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184223">184223</a><br/>
-Reporter: eliel<br/>
-Testers: lmadsen<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14414">#14414</a>: 1.6.1-rc1 Program terminated with signal 11, Segmentation fault. audiohook.c AST_LIST_TRAVERSE_SAFE_BEGIN<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173904">173904</a><br/>
-Reporter: bluecrow76<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14489">#14489</a>: [patch] Add support for loading multiple timing modules<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176675">176675</a><br/>
-Reporter: russell<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14574">#14574</a>: [patch] Audiohook volume does not honor the write adjustment when both is specified<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179293">179293</a><br/>
-Reporter: KNK<br/>
-Coders: KNK<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14682">#14682</a>: [patch] Race condition in ast_db_get()<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182452">182452</a><br/>
-Reporter: makoto<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14738">#14738</a>: Address device state performance issues in 1.6.1<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184342">184342</a><br/>
-Reporter: russell<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Core/HTTP</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13583">#13583</a>: Asterisk wont compile if gmime-devel lib is not installed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145694">145694</a><br/>
-Reporter: arkadia<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14190">#14190</a>: POST files are not truncated<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168590">168590</a><br/>
-Reporter: timking<br/>
-Coders: twilson<br/>
-<br/>
-<h3>Category: Core/Internationalization</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14291">#14291</a>: [patch] Floating point exception crash when saying number between 9999 and 100000 with zh or tw language<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169796">169796</a><br/>
-Reporter: dant<br/>
-Testers: dant<br/>
-Coders: dant<br/>
-<br/>
-<h3>Category: Core/Jitterbuffer</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14044">#14044</a>: [patch] Jitterbuffer stops accepting new frames until it is empty after maxjitterbuffer is exceeded.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174590">174590</a><br/>
-Reporter: mnicholson<br/>
-Testers: mnicholson<br/>
-Coders: mnicholson<br/>
-<br/>
-<h3>Category: Core/ManagerInterface</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12158">#12158</a>: New AMI atxfer limited to digits only and ignores context and priority; looks like just wrapper on PlatDTMF<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148161">148161</a><br/>
-Reporter: davidw<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13334">#13334</a>: [patch] Response events to CoreShowChannel are missing the Event header<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158415">158415</a><br/>
-Reporter: srt<br/>
-Coders: srt<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13398">#13398</a>: [patch] Channel name buffer is too small<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156691">156691</a><br/>
-Reporter: bamby<br/>
-Coders: bamby<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13546">#13546</a>: Partial writes on Manager API<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166284">166284</a><br/>
-Reporter: srt<br/>
-Testers: russell<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13873">#13873</a>: [patch] new eventflag for agiexec-events on ami<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158894">158894</a><br/>
-Reporter: fnordian<br/>
-Coders: fnordian<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13894">#13894</a>: restart gracefully / when convenient doesn't work with the AMI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164813">164813</a><br/>
-Reporter: kernelsensei<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13903">#13903</a>: Pong response not properly terminated.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156913">156913</a><br/>
-Reporter: kebl0155<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13994">#13994</a>: [patch] Invalid response from ListCategories action if no categories is found<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160702">160702</a><br/>
-Reporter: mika<br/>
-Coders: mika<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14027">#14027</a>: [patch] error allocationg a manager user<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161792">161792</a><br/>
-Reporter: junky<br/>
-Coders: junky<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14278">#14278</a>: [patch] insufficient stringlength checking in action_userevent<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169368">169368</a><br/>
-Reporter: fnordian<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14364">#14364</a>: NULL file descriptors causing GUI to eventually stop functioning<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174769">174769</a><br/>
-Reporter: awk<br/>
-Testers: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14400">#14400</a>: [patch] ami fails on high load<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173459">173459</a><br/>
-Reporter: fnordian<br/>
-Coders: fnordian<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14593">#14593</a>: [patch] UserEvent Duplicate Previous Information<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180802">180802</a><br/>
-Reporter: JimDickenson<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14705">#14705</a>: [patch] Deadlock when manipulating module_list over AMI and CLI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187486">187486</a><br/>
-Reporter: jamessan<br/>
-Testers: jamessan<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14930">#14930</a>: [patch] Detect pthread_rwlock_timedwrlock() before usage<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190095">190095</a><br/>
-Reporter: tilghman<br/>
-Testers: mvanbaak, tilghman<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Core/Netsock</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13678">#13678</a>: tcptls.c: ast_make_file_from_fd() memory leak if DEBUG_THREADLOCALS defined.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164739">164739</a><br/>
-Reporter: ys<br/>
-Testers: Russell<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Core/PBX</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12658">#12658</a>: [patch] DTMF issues on Zap<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163515">163515</a><br/>
-Reporter: dimas<br/>
-Testers: russell, file<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13557">#13557</a>: [patch] Asterisk won't compile against uclibc<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147811">147811</a><br/>
-Reporter: nickpeirson<br/>
-Testers: nickpeirson, murf<br/>
-Coders: nickpeirson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13643">#13643</a>: [patch] VM_CALLERID yields different results if CID is null or empty<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148006">148006</a><br/>
-Reporter: tomo1657<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13839">#13839</a>: call processing deadlock with dialplan reload and ast_hint_state_changed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169871">169871</a><br/>
-Reporter: mcallist<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13891">#13891</a>: "empty" overlap-dial-in doesn't work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156650">156650</a><br/>
-Reporter: smurfix<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14035">#14035</a>: revision r77858 breaks 'failed'-extension functionality<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163173">163173</a><br/>
-Reporter: erogoza<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14076">#14076</a>: Extensions configuration is not being sorted correctly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164805">164805</a><br/>
-Reporter: toc<br/>
-Testers: murf<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14206">#14206</a>: Can't pickup using *8 after updating asterisk to 1.4.23-rc3<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170395">170395</a><br/>
-Reporter: francesco_r<br/>
-Testers: francesco_r, aragon, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14305">#14305</a>: pbx.c's show_dialplan_helper prints an "\r\n" at the end of every call<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177789">177789</a><br/>
-Reporter: martins<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14362">#14362</a>: [patch] Putting a comma in an extension dialpattern causes eventual seg fault<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173313">173313</a><br/>
-Reporter: Nick_Lewis<br/>
-Testers: tilghman<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14384">#14384</a>: Background leaves files open indefinately<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173356">173356</a><br/>
-Reporter: fiddur<br/>
-Testers: fiddur, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14455">#14455</a>: Segfault on call termination when attempting to retransmit a packet that should have not been retried due to network issues<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179221">179221</a><br/>
-Reporter: Nick_Lewis<br/>
-Testers: Nick_Lewis<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14895">#14895</a>: [patch] Asterisk crashes when extenpatternmatchnew=yes<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190354">190354</a><br/>
-Reporter: chris-mac<br/>
-Testers: lmadsen<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Core/Portability</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13404">#13404</a>: [patch] Commands issued to asterisk using a remote console on OSX have no effect<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182946">182946</a><br/>
-Reporter: agalbraith<br/>
-Testers: russell, vadim<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13767">#13767</a>: [patch] On Mac OS X PowerPC, Asterisk 1.6.0.1 cannot create outbound channels<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169946">169946</a><br/>
-Reporter: jcovert<br/>
-Testers: jcovert, tilghman<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14714">#14714</a>: Compilation Errors on Mac OS X 1.5.6 - Asterisk 1.6.2.0-beta1 ( also confirmed on trunk )<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184149">184149</a><br/>
-Reporter: ygor<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14790">#14790</a>: chan_h323 build fails with gcc 3<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190063">190063</a><br/>
-Reporter: stuarth<br/>
-Coders: jpeeler<br/>
-<br/>
-<h3>Category: Core/RTP</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12983">#12983</a>: [patch] Retransmitted RFC 2833 RTP events do not increment the RTP sequence number<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162658">162658</a><br/>
-Reporter: vt<br/>
-Coders: vt<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13535">#13535</a>: video_src_res and video_dest_res are write-only in ast_rtp_early_bridge<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162202">162202</a><br/>
-Reporter: davidw<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13810">#13810</a>: [patch] Integer divide by zero<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154063">154063</a><br/>
-Reporter: pj<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13835">#13835</a>: "RTCP SR transmission error, rtcp halted" logged when SIP call put on hold<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161016">161016</a><br/>
-Reporter: matt_b<br/>
-Testers: jpeeler<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14029">#14029</a>: [patch] Asterisk is using wrong clock frequency in text T140<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188415">188415</a><br/>
-Reporter: epicac<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14234">#14234</a>: [patch] Log and debug messages in ast_rtp_destroy can cause a crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170242">170242</a><br/>
-Reporter: jcovert<br/>
-Coders: jcovert<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14460">#14460</a>: Asterisk plays a continuous tone forever if it never receives a 2833 end packet<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175129">175129</a><br/>
-Reporter: moliveras<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14460">#14460</a>: Asterisk plays a continuous tone forever if it never receives a 2833 end packet<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178172">178172</a><br/>
-Reporter: moliveras<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14546">#14546</a>: [patch] Patch to improve NAT handling for Polycoms behind proxy<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184587">184587</a><br/>
-Reporter: acunningham<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Documentation</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13342">#13342</a>: [patch] Missing doc for SipShowRegistry action and RegistryEntry event<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149060">149060</a><br/>
-Reporter: Laureano<br/>
-Coders: lmadsen<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13654">#13654</a>: extensions.conf refers to two "exten => formats", but the second one has been deleted from the text<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147898">147898</a><br/>
-Reporter: davidw<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13709">#13709</a>: [patch] fix content of agents.conf.sample<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149758">149758</a><br/>
-Reporter: decryptus_proformatique<br/>
-Coders: bweschke<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13718">#13718</a>: [patch] Neither CHANGES, nor UPGRADE.txt for 1.6.0 say quotes are no longer stripped<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167178">167178</a><br/>
-Reporter: davidw<br/>
-Testers: blitzrage<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14052">#14052</a>: [patch] mISDN Dial parameter not documented<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162669">162669</a><br/>
-Reporter: festr<br/>
-Coders: festr<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14065">#14065</a>: [patch] Improve documentation for res_monitor<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163624">163624</a><br/>
-Reporter: kshumard<br/>
-Coders: kshumard<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14319">#14319</a>: [patch] describe idlecheck in res_odbc.conf.sample more clear<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170722">170722</a><br/>
-Reporter: klaus3000<br/>
-Coders: klaus3000<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14319">#14319</a>: [patch] describe idlecheck in res_odbc.conf.sample more clear<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170839">170839</a><br/>
-Reporter: klaus3000<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14490">#14490</a>: Timing interfaces provided in 1.6.1 and beyond are not documented.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179939">179939</a><br/>
-Reporter: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14540">#14540</a>: #exec command needs minor documentation in extensions.conf<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178448">178448</a><br/>
-Reporter: jtodd<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14566">#14566</a>: [patch] fix channelvariables documentation<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179059">179059</a><br/>
-Reporter: klaus3000<br/>
-Coders: klaus3000<br/>
-<br/>
-<h3>Category: Features/Parking</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14066">#14066</a>: Calls parked fail to return to the correct phone after timeout<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169488">169488</a><br/>
-Reporter: bluefox<br/>
-Testers: twilson, bluefox<br/>
-Coders: twilson<br/>
-<br/>
-<h3>Category: Formats/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14842">#14842</a>: [patch] Typo on format wav and wav_gsm ... must read frequency instead of freqency<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186844">186844</a><br/>
-Reporter: jvandal<br/>
-Coders: jvandal<br/>
-<br/>
-<h3>Category: Functions/func_curl</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14485">#14485</a>: CURL() function crashes in /trunk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176644">176644</a><br/>
-Reporter: davevg<br/>
-Testers: kowalma<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Functions/func_devstate</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14461">#14461</a>: [patch] func_devstate not updating Custom hints, and not in sync with ASTDB<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176559">176559</a><br/>
-Reporter: alecdavis<br/>
-Coders: russell<br/>
-<br/>
-<h3>Category: Functions/func_enum</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14576">#14576</a>: ENUMLOOKUP - broken regex.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180537">180537</a><br/>
-Reporter: chris-mac<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Functions/func_env</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14670">#14670</a>: FILE function reads 1 character less than specified in length<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182280">182280</a><br/>
-Reporter: BMC<br/>
-Testers: caspy<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Functions/func_groupcount</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14275">#14275</a>: [patch] Group does not count all channels<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176644">176644</a><br/>
-Reporter: kowalma<br/>
-Testers: kowalma<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Functions/func_odbc</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13631">#13631</a>: [patch] Fields have a maximum length of 255 chars<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149688">149688</a><br/>
-Reporter: seanbright<br/>
-Testers: blitzrage<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13830">#13830</a>: writesql does not work<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154024">154024</a><br/>
-Reporter: Marquis<br/>
-Coders: tilghman<br/>
-<br/>
-<h3>Category: Functions/func_realtime</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14479">#14479</a>: "iax2 prune realtime" doesn't prune user, only peer<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178769">178769</a><br/>
-Reporter: mousepad99<br/>
-Coders: dvossel<br/>
-<br/>
-<h3>Category: Functions/func_strings</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13787">#13787</a>: KEYPADHASH returns incorrect values<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152068">152068</a><br/>
-Reporter: meitinger<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13940">#13940</a>: [patch] The function ARRAY slows asterisk down<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163256">163256</a><br/>
-Reporter: tbelder<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14363">#14363</a>: [patch] FILTER function is not working correctly (patch attached)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172708">172708</a><br/>
-Reporter: andrew53<br/>
-Coders: andrew53<br/>
-<br/>
-<h3>Category: General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13207">#13207</a>: National prefix inserted even when caller ID not available<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188649">188649</a><br/>
-Reporter: shawkris<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13420">#13420</a>: GUI - File Editor not working properly<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157304">157304</a><br/>
-Reporter: alex70<br/>
-Testers: murf, awk<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13539">#13539</a>: Extensions file error after incoming call rules (in GUI 2.0) and logout<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156654">156654</a><br/>
-Reporter: infiniti_guy<br/>
-Coders: bkruse<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13753">#13753</a>: [patch] Set a sane umask inside safe_asterisk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164799">164799</a><br/>
-Reporter: irroot<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13863">#13863</a>: [patch] 1.6.1 beta2 does not build on PPC<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159053">159053</a><br/>
-Reporter: jcollie<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13864">#13864</a>: [patch] Fix a memory leak while trying to free a memory that wasn't allocated by ast_alloc_region()<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155764">155764</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14132">#14132</a>: [patch] autosupport script not 100% ready for DAHDI<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168618">168618</a><br/>
-Reporter: dsedivec<br/>
-Coders: dsedivec<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14226">#14226</a>: crash in comparation with 'nothing'<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168549">168549</a><br/>
-Reporter: caspy<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14264">#14264</a>: compilation warning for main/editline/history<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179407">179407</a><br/>
-Reporter: dimas<br/>
-Coders: qwell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14320">#14320</a>: [patch] i18n.testsuite.conf in contribs directory uses old dialplan format an has no Chinese test<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170693">170693</a><br/>
-Reporter: dant<br/>
-Coders: dant<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14564">#14564</a>: Asterisk segfaults when parking call<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179843">179843</a><br/>
-Reporter: meric<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: PBX/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14012">#14012</a>: Channel "hangs"<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161789">161789</a><br/>
-Reporter: dveiga<br/>
-Coders: bkruse<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14357">#14357</a>: [patch] lockout after AEL reload<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176946">176946</a><br/>
-Reporter: pj<br/>
-Testers: pj, murf<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14388">#14388</a>: "dialplan show globals" does not show the correct TRUNKMSD setting<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173115">173115</a><br/>
-Reporter: macli<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14498">#14498</a>: String operator ':' error with UTF8 code<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177623">177623</a><br/>
-Reporter: ibercom<br/>
-Testers: murf<br/>
-Coders: murf<br/>
-<br/>
-<h3>Category: PBX/pbx_ael</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13901">#13901</a>: switch statement: Empty patterns don't fallback to Default label<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158191">158191</a><br/>
-Reporter: smurfix<br/>
-Testers: seanbright<br/>
-Coders: seanbright<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14019">#14019</a>: Starting or restarting asterisk causes seg fault and core dump, apparently in ael/pval.c:4833<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162082">162082</a><br/>
-Reporter: ckjohnsonme<br/>
-Testers: ckjohnsonme, murf<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14141">#14141</a>: Pattern matching for extensions with ranges is broken<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168748">168748</a><br/>
-Reporter: dimas<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14941">#14941</a>: Using '@' to specify a context in AEL will cause parse errors<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189531">189531</a><br/>
-Reporter: bpgoldsb<br/>
-Testers: bpgoldsb<br/>
-Coders: seanbright<br/>
-<br/>
-<h3>Category: PBX/pbx_dundi</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13776">#13776</a>: Dundi and DNS<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164276">164276</a><br/>
-Reporter: kombjuder<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13819">#13819</a>: [patch] clearing expired entries from /dundi/cache<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163319">163319</a><br/>
-Reporter: adomjan<br/>
-Testers: adomjan<br/>
-Coders: adomjan, mnicholson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14804">#14804</a>: Crash with DUNDi<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186323">186323</a><br/>
-Reporter: jvandal<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Resources/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13721">#13721</a>: [patch] res_ais won't build on 64bit<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150211">150211</a><br/>
-Reporter: jcollie<br/>
-Coders: jcollie<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13738">#13738</a>: [patch] Event processing sometimes hangs when using res_timing_pthread<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163252">163252</a><br/>
-Reporter: smurfix<br/>
-Coders: smurfix<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14203">#14203</a>: [patch] res_phoneprov leaks memory if phoneprov.conf does not exist<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168157">168157</a><br/>
-Reporter: jamesgolovich<br/>
-Coders: jamesgolovich<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14697">#14697</a>: race condition in res/timing_* interfaces<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184765">184765</a><br/>
-Reporter: moy<br/>
-Coders: kpfleming<br/>
-<br/>
-<h3>Category: Resources/res_agi</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13340">#13340</a>: [patch] handle_getvariable doesn't initialize workspace<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146838">146838</a><br/>
-Reporter: kryptolus<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13711">#13711</a>: AGI-program receives SIGHUP on hangup although AGISIGHUP is set to "no"<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166472">166472</a><br/>
-Reporter: fmueller<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13881">#13881</a>: [patch] AGI command "answer" not really set in answer mode when forkcdr<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168519">168519</a><br/>
-Reporter: hoowa<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13885">#13885</a>: [patch] Problem with timeout in AGI RECORD FILE<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163091">163091</a><br/>
-Reporter: bamby<br/>
-Coders: bamby<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14069">#14069</a>: too small reponse for dbget through agi<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167905">167905</a><br/>
-Reporter: evandro<br/>
-Coders: tilghman<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14541">#14541</a>: [patch] crash during AGI call (regression, it works under 1.6.0.1)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178803">178803</a><br/>
-Reporter: grant<br/>
-Coders: file<br/>
-<br/>
-<h3>Category: Resources/res_config_ldap</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=12860">#12860</a>: [patch] Included example schema not compatible with res_config_ldap.c<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148128">148128</a><br/>
-Reporter: flyn<br/>
-Coders: flyn<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13861">#13861</a>: ERROR[23999]: res_config_ldap.c:1292 update_ldap: Couldn't modify ... Undefined attribute type<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172895">172895</a><br/>
-Reporter: scramatte<br/>
-Testers: jcovert<br/>
-Coders: blitzrage<br/>
-<br/>
-<h3>Category: Resources/res_features</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13139">#13139</a>: Parking with hints enabled crashes Asterisk<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147957">147957</a><br/>
-Reporter: krisk84<br/>
-Testers: krisk84<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13478">#13478</a>: [patch] Only one custom feature can be executed simultaneously<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163100">163100</a><br/>
-Reporter: neutrino88<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13494">#13494</a>: One-touch parking failure results in the call drop, while parties should be able to continue conversation<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173505">173505</a><br/>
-Reporter: mdu113<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13584">#13584</a>: blindxfer doesn't work!<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148115">148115</a><br/>
-Reporter: dwagner<br/>
-Testers: murf, mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13871">#13871</a>: Crash in ast_bridge_call() when 'NoCDR' app called inside Local channel<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158572">158572</a><br/>
-Reporter: mdu113<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14228">#14228</a>: 1.4.22 crash with Park<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168981">168981</a><br/>
-Reporter: kobaz<br/>
-Testers: twilson<br/>
-Coders: twilson<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14241">#14241</a>: [patch] h exten getting run at the wrong time<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172067">172067</a><br/>
-Reporter: jmls<br/>
-Testers: murf, jmls<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14515">#14515</a>: [patch]Timeout settings in features.conf don't work as intended<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178869">178869</a><br/>
-Reporter: sodom<br/>
-Testers: murf, sodom<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14657">#14657</a>: [patch] Callee cannot use dynamic features<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182068">182068</a><br/>
-Reporter: mmichelson<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Resources/res_musiconhold</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=13229">#13229</a>: When calling a queue, after a few loops over a madplay'ed file, the MOH ceases to be played<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162896">162896</a><br/>
-Reporter: clegall_proformatique<br/>
-Coders: jpeeler<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13566">#13566</a>: ast_moh_free_class in res_musiconhold.c:195<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166277">166277</a><br/>
-Reporter: igorcarneiro<br/>
-Testers: russell<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=13761">#13761</a>: [patch] Prevent a crash when unloading res_musiconhold.so and then stopping asterisk.<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157596">157596</a><br/>
-Reporter: eliel<br/>
-Coders: eliel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14089">#14089</a>: class with only application is unuseable<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164614">164614</a><br/>
-Reporter: caspy<br/>
-Coders: russell<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14099">#14099</a>: kill() does not kill all processes<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165664">165664</a><br/>
-Reporter: caspy<br/>
-Coders: caspy<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14407">#14407</a>: hold music restarts with each command<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174221">174221</a><br/>
-Reporter: mostyn<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14416">#14416</a>: [patch] streamed moh breaks if nobody listen it<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181658">181658</a><br/>
-Reporter: caspy<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14416">#14416</a>: [patch] streamed moh breaks if nobody listen it<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181663">181663</a><br/>
-Reporter: caspy<br/>
-Coders: file<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14661">#14661</a>: MOH Realtime crash<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187427">187427</a><br/>
-Reporter: sum<br/>
-Coders: mmichelson<br/>
-<br/>
-<h3>Category: Resources/res_realtime</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14339">#14339</a>: [patch] contrib/scripts/realtime_pgsql.sql misses uniqueid in queue_member_table<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172272">172272</a><br/>
-Reporter: fiddur<br/>
-Coders: fiddur<br/>
-<br/>
-<h3>Category: Utilities/General</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14289">#14289</a>: utils/refcounter segfaults due to reference of count1_obj when its NULL<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169674">169674</a><br/>
-Reporter: jamesgolovich<br/>
-Coders: murf<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14538">#14538</a>: [patch] astcanary does not exit when asterisk dies<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178305">178305</a><br/>
-Reporter: KNK<br/>
-Coders: KNK<br/>
-<br/>
-<h3>Category: Utilities/NewFeature</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=11680">#11680</a>: [patch] live_ast: script to run asterisk without installing<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151603">151603</a><br/>
-Reporter: tzafrir<br/>
-Coders: tzafrir<br/>
-<br/>
-<h3>Category: Utilities/muted</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14360">#14360</a>: muted doesn't compile on OS/X in dev-mode<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172402">172402</a><br/>
-Reporter: oej<br/>
-Coders: tilghman<br/>
-<br/>
-<hr/>
-<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
-<table width="100%" border="1">
-<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145557">145557</a></td><td>mmichelson</td><td>The logic surrounding the return value of ast_spawn_extension</td>
-<td><a href="http://bugs.digium.com/view.php?id=13584">#13584</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145584">145584</a></td><td>mmichelson</td><td>if (!(x) == 0) is the same as</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145609">145609</a></td><td>mmichelson</td><td>Okay, this should really do it now. While I did manage</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145754">145754</a></td><td>tilghman</td><td>Some sanity checks that may have led to prior crashes, found by codefreeze-lap</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145781">145781</a></td><td>seanbright</td><td>This is much cleaner, methinks.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145960">145960</a></td><td>russell</td><td>TCP support for ExternalIVR went in to 1.6.1, not 1.6.0</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=145964">145964</a></td><td>russell</td><td>The 'P' command for ExternalIVR was also added in 1.6.0</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146243">146243</a></td><td>jpeeler</td><td>remove superfluous reference counting operations in manage_parkinglot since ao2_interator_next increments the ref count automatically</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146451">146451</a></td><td>qwell</td><td>Fix silly formatting.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146557">146557</a></td><td>seanbright</td><td>Quote arguments to cp so we can handle spaces in our paths.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146874">146874</a></td><td>mvanbaak</td><td>make aescrypt.c compile on OpenBSD again</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146876">146876</a></td><td>jpeeler</td><td>Explicitly set args in park_call_exec NULL so in the case of no options being passed in, there</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146878">146878</a></td><td>jpeeler</td><td>fix some comment placement</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146886">146886</a></td><td>jpeeler</td><td>This commit squashes together three commits because the wrong approach was originally used. (One of the commits was only one line.)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146921">146921</a></td><td>jpeeler</td><td>Mvanbaak said this was needed to compile on OpenBSD, so put it in the OpenBSD section.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146924">146924</a></td><td>jpeeler</td><td>Similar to r143204, masquerade the channel in the case of Park being called from AGI.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146930">146930</a></td><td>tilghman</td><td>Update documentation; AST_THREADSTORAGE() in trunk only takes a single</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=146972">146972</a></td><td>twilson</td><td>A blind transfer to the parking thread would cause a segfault because copy_request accesses dst->data w/o being able to tell whether it is proerly initialized</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147052">147052</a></td><td>seanbright</td><td>Make sure to compare the correct number of characters when special-casing</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147100">147100</a></td><td>rmudgett</td><td>Independent change from branch issue8824 that is not part of COLP. (-r142574 rmudgett)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147147">147147</a></td><td>jpeeler</td><td>Explicitly setting these fields to NULL was done because I wasn't sure if they would be NULL otherwise. Since they will be set automatically, removing.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147196">147196</a></td><td>seanbright</td><td>Make 'imapsecret' an alias to 'imappassword' in voicemail.conf.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147519">147519</a></td><td>mmichelson</td><td>If we receive DTMF make sure that the state of the speech structure goes back to being not ready. (issue #LUMENVOX-8)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=147692">147692</a></td><td>kpfleming</td><td>when parsing a text configuration option, ensure that the buffer on the stack is actually large enough to hold the legal values of that option, and also ensure that sscanf() knows to stop parsing if it would overrun the buffer (without these changes, specifying "buffers=...,immediate" would overflow the buffer on the stack, and could not have worked as expected)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148011">148011</a></td><td>tilghman</td><td>Publish MOH files in sln16 format</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148472">148472</a></td><td>oej</td><td>Sending a 403 after a 200 is considered very bad.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148562">148562</a></td><td>murf</td><td>Hmmm. Nobody (but me) is interested in seeing</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148614">148614</a></td><td>kpfleming</td><td>it would be nice if this message printing code had actually been tested before it was committed...</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148700">148700</a></td><td>kpfleming</td><td>ensure that *all* fields in the req structure are cleared out before reusing it; has_to_tag was not cleared, which caused the second incoming call over a TCP socket to fail if pedantic checking was enabled</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148740">148740</a></td><td>kpfleming</td><td>on Ubuntu (at least), recent versions of ld in binutils delete all debugging symbols when -x is supplied; since the reasons why -x is being passed are lost in the mists of time, remove it so debugging will work properly</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148763">148763</a></td><td>kpfleming</td><td>fix some references to the owner of a private structure that may not be present</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=148918">148918</a></td><td>tilghman</td><td>Ensure that mail headers are 7-bit clean, even when UTF-8 characters are used</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149206">149206</a></td><td>mmichelson</td><td>Add a tolerance period for sync-triggered audiohooks</td>
-<td><a href="http://bugs.digium.com/view.php?id=13005">#13005</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149274">149274</a></td><td>mmichelson</td><td>Change this warning to an error message. Suggestion</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149512">149512</a></td><td>kpfleming</td><td>fix some problems when parsing SIP messages that have the maximum number of headers or body lines that we support</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149641">149641</a></td><td>tilghman</td><td>Only set buf to blank before the goto.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149919">149919</a></td><td>kpfleming</td><td>correct file name in message</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149921">149921</a></td><td>kpfleming</td><td>inter-module dependencies should be included in the source code, not just in sample config files</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149922">149922</a></td><td>kpfleming</td><td>building this module depends on res_agi being built as well</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=149995">149995</a></td><td>kpfleming</td><td>return this logic to where it used to be, *after* the dialog->needdestroy flag has been determined to be set; otherwise, we generate these debug messages every time we inspect every active dialog</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150127">150127</a></td><td>rmudgett</td><td>Fix memory leak found by customer</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150306">150306</a></td><td>mmichelson</td><td>Reverting changes from commits 150298 and 150301 since</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150606">150606</a></td><td>tilghman</td><td>Fix the FRACK! warnings in chan_iax2 when POKE/LAGRQ packets are not answered.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=150636">150636</a></td><td>tilghman</td><td>Make helper call a little safer (suggested by Russell on IRC)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151135">151135</a></td><td>kpfleming</td><td>cleaup of the TCP/TLS socket API:</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151245">151245</a></td><td>kpfleming</td><td>break up acinclude.m4 into individual files, which will make it easier to maintain, easier to add new macros (less patching) and will ease maintenance of these macros across Asterisk branches</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151372">151372</a></td><td>tilghman</td><td>Default file modes should always be full read and write, to allow the system</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=151441">151441</a></td><td>mmichelson</td><td>Get this compiling in dev-mode</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152173">152173</a></td><td>tilghman</td><td>Oops, only delete the ARG variables once upon release. The following section</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152288">152288</a></td><td>jpeeler</td><td>Buffer policy setting for half is not needed.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152471">152471</a></td><td>tilghman</td><td>Quoting in the wrong direction</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152537">152537</a></td><td>murf</td><td>The magic trick to avoid this crash is not to</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152606">152606</a></td><td>murf</td><td>A little documentation cross-ref between features and</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152690">152690</a></td><td>tilghman</td><td>Track down and fix annoying lock errors</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152777">152777</a></td><td>tilghman</td><td>Set up an example stdexten that preserves the original context and extension in</td>
-<td><a href="http://bugs.digium.com/view.php?id=13799">#13799</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152814">152814</a></td><td>kpfleming</td><td>instead of comparing the string pointer to 0, let's compare the value that was actually parsed out of the string (found by sparse)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152878">152878</a></td><td>russell</td><td>Modify the documentation of the sip_registry struct</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152900">152900</a></td><td>russell</td><td>Fix a bug in AST_SCHED_REPLACE_UNREF(). The reference count of the object</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152919">152919</a></td><td>russell</td><td>Fix the sip_peer reference count with respect to scheduler entries for</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152921">152921</a></td><td>russell</td><td>Fix the sip_peer reference count with respect to scheduler entries for</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=152995">152995</a></td><td>seanbright</td><td>The -I argument to aclocal needs a space before the include directory name.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153225">153225</a></td><td>mmichelson</td><td>This commit contains the bug fixes and documentation updates</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153363">153363</a></td><td>russell</td><td>Ensure that the sip_pvt properly has its refcount incremented when the scheduler holds</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153653">153653</a></td><td>russell</td><td>features.h depends on linkedlists.h, so include it</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153710">153710</a></td><td>kpfleming</td><td>import gcc 4.3.2 warning fixes from trunk, with a few changes specific to this branch</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=153711">153711</a></td><td>kpfleming</td><td>Merged revision 153709 from trunk</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154267">154267</a></td><td>tilghman</td><td>Make the monitor thread non-detached, so it can be joined (suggested by Russell</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154269">154269</a></td><td>rmudgett</td><td>JIRA ABE-1703</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154690">154690</a></td><td>murf</td><td>This fix was prompted by communication from user, who was seeing thousands of error logs... looks like EAGAIN. Made such uninteresting.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=154920">154920</a></td><td>seanbright</td><td>Fix a problem found while building res_snmp.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155014">155014</a></td><td>mmichelson</td><td>The documentation listed the ability to set 'maxmsg' per</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155117">155117</a></td><td>kpfleming</td><td>ensure that an adequately new version of libpri is in place so that chan_dahdi will compile with PRI support</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155122">155122</a></td><td>kpfleming</td><td>don't blindly assume that Darwin and Cygwin need GLOB_ABORTED defined; only define it if it is not already defined</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155242">155242</a></td><td>russell</td><td>Fix some code in chan_sip that was intended to unlink multiple objects from a</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155245">155245</a></td><td>russell</td><td>Clarify which part of OBJ_MULTIPLE is not implemented, and under what case it</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155272">155272</a></td><td>russell</td><td>Remove a bogus ast_free() that Kevin noticed. This was probably just left over</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155362">155362</a></td><td>mmichelson</td><td>Remove one more instance of the sample configuration</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155396">155396</a></td><td>tilghman</td><td>Two bugs relating to colnames found by Marquis42 on #asterisk-dev</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155515">155515</a></td><td>russell</td><td>Remove some code that is basically a no-op. Code above this already ensures that</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155517">155517</a></td><td>russell</td><td>- Check for failure when putting the packet in the ast_str</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155556">155556</a></td><td>seanbright</td><td>Use static functions here instead of nested ones. This requires a small</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155672">155672</a></td><td>seanbright</td><td>Fix this as well. Pointed out by tzafrir.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155826">155826</a></td><td>tilghman</td><td>I got tired of saying this in every single bugnote referring to this file.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=155864">155864</a></td><td>mmichelson</td><td>Channel drivers assume that when their indicate callback</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156005">156005</a></td><td>tilghman</td><td>Make documentation of update method match documentation and update update2</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156128">156128</a></td><td>mmichelson</td><td>Add a couple of AC_SUBST calls to the AST_C_COMPILE_CHECK</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156168">156168</a></td><td>russell</td><td>Move the sanity check that makes sure "always fork" is not set along with the</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156171">156171</a></td><td>mmichelson</td><td>When doing some tests, I was having a crash at the end of every call</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156284">156284</a></td><td>tilghman</td><td>Fix build (res possibly unused in this function, says gcc)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156291">156291</a></td><td>jpeeler</td><td>For whatever reason, gcc only warned me about the possible use of an uninitialized variable when compiling 1.6.1.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156354">156354</a></td><td>murf</td><td>It turns out that the 0x0XX00 codes being returned for</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156614">156614</a></td><td>mmichelson</td><td>Kevin sent a note indicating that this change is</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156757">156757</a></td><td>tilghman</td><td>ast_waitfordigit() requires that the channel be up, for no good logical</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156819">156819</a></td><td>mmichelson</td><td>If the prompt to reenter a voicemail password timed out, it</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156894">156894</a></td><td>mmichelson</td><td>This is the 1.6.1 version of trunk commit 156883.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=156963">156963</a></td><td>mmichelson</td><td>Revision 155513 of chan_sip.c in trunk inadvertently</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157040">157040</a></td><td>russell</td><td>Use the new case insensitive hash function for console interfaces. The comparison</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157042">157042</a></td><td>russell</td><td>Fix a few more places where the case insensitive hash should be used since</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157108">157108</a></td><td>kpfleming</td><td>major update to doxygen configuration file:</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157166">157166</a></td><td>kpfleming</td><td>dist-clean should remove dependency information files as well</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157308">157308</a></td><td>mmichelson</td><td>Fix a crash in the end_bridge_callback of app_dial and</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157498">157498</a></td><td>mmichelson</td><td>Based on Russell's advice on the asterisk-dev list, I have</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157641">157641</a></td><td>tilghman</td><td>Starting with a change to ensure that ast_verbose() preserves ABI compatibility</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157719">157719</a></td><td>kpfleming</td><td>make some corrections to the ast_agi_register_multiple(), ast_agi_unregister_multiple() and ast_agi_fdprintf() API calls to be consistent with API guidelines</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157744">157744</a></td><td>kpfleming</td><td>correct small bug introduced during API conversion</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=157975">157975</a></td><td>kpfleming</td><td>the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158134">158134</a></td><td>mmichelson</td><td>Begin on a crusade to end trailing whitespace!</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158135">158135</a></td><td>twilson</td><td>Begin on a crusade to end trailing whitespace!</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158223">158223</a></td><td>mmichelson</td><td>Change this so it actually compiles. Thanks, Terry!</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158264">158264</a></td><td>mmichelson</td><td>Fix the build for 32-bit systems. %lu is only 32-bits</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158268">158268</a></td><td>mmichelson</td><td>Use some magic constants to get the right size</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158450">158450</a></td><td>kpfleming</td><td>as suggested by jtodd, document the purposes of the CHANGES and UPGRADE files</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158541">158541</a></td><td>russell</td><td>When compiling with DEBUG_THREADS, report the real file/func/line for ao2_lock/ao2_unlock</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158604">158604</a></td><td>tilghman</td><td>The passed extension may not be the same in the list as the current entry,</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158607">158607</a></td><td>murf</td><td>In reference to the fix made for 13871, I was</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158689">158689</a></td><td>mvanbaak</td><td>fix a very occasional core dump in chan_skinny found by wedhorn.</td>
-<td><a href="http://bugs.digium.com/view.php?id=13948">#13948</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158861">158861</a></td><td>tilghman</td><td>Add a bit of documentation (thanks, I-MOD) on what the silence threshold</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158926">158926</a></td><td>mnicholson</td><td>Fix compiling in dev mode.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=158993">158993</a></td><td>twilson</td><td>Make chan_usbradio compile under dev mode</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159095">159095</a></td><td>twilson</td><td>Add missing variable declaration for PPC code</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159403">159403</a></td><td>jpeeler</td><td>Always parse arguments in park_call_exec so that app_args is valid. This prevents a crash when executing Park from the dialplan with no arguments.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159535">159535</a></td><td>kpfleming</td><td>simplify (and slightly bug-fix) the recent developer-oriented COMPILE_DOUBLE mode</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159851">159851</a></td><td>kpfleming</td><td>incorporates r159808 from branches/1.4:</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159854">159854</a></td><td>tilghman</td><td>Allow the '#' sign to exist within an extension (inspired by issue #13330)</td>
-<td><a href="http://bugs.digium.com/view.php?id=13330">#13330</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159920">159920</a></td><td>russell</td><td>Force a "make clean" to avoid a bizarre build issue ...</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=159975">159975</a></td><td>mvanbaak</td><td>make manager compile on OpenBSD.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160006">160006</a></td><td>russell</td><td>Apply some logic used in iax2_indicate() to iax2_setoption(), as well, since they</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160101">160101</a></td><td>tilghman</td><td>Use AST_EXT_LIB_SETUP before using AST_EXT_LIB_CHECK or bad things happen.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160175">160175</a></td><td>seanbright</td><td>Pay attention to the return value of system(), even if we basically ignore it.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160234">160234</a></td><td>tilghman</td><td>Ensure that Asterisk builds with --enable-dev-mode, even on the latest gcc</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160339">160339</a></td><td>jpeeler</td><td>remove duplicate comment that I accidentally merged</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160483">160483</a></td><td>tilghman</td><td>Jon Bonilla (Manwe) pointed out on the -dev list:</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160554">160554</a></td><td>tilghman</td><td>Don't start scanning the directory until all modules are loaded, because some</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160557">160557</a></td><td>mmichelson</td><td>When investigating issue #13548, I found that gosub</td>
-<td><a href="http://bugs.digium.com/view.php?id=13548">#13548</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160561">160561</a></td><td>tilghman</td><td>If an entry is added to the directory during a scan when another entry expires,</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160811">160811</a></td><td>tilghman</td><td>Some compilers warn on null format strings; some don't (caught by buildbot)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160858">160858</a></td><td>rmudgett</td><td>* Found a couple more places where num/number needed to be done</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160859">160859</a></td><td>rmudgett</td><td>Jcolp pointed out that num will also match number</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=160947">160947</a></td><td>mmichelson</td><td>Fix a callerid parsing issue. If someone formatted callerid like the</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161149">161149</a></td><td>seanbright</td><td>Check the return value of fread/fwrite so the compiler doesn't complain. Only a</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161285">161285</a></td><td>russell</td><td>Resolve a compiler warning from buildbot about a NULL format string.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161290">161290</a></td><td>russell</td><td>Fix a NULL format string warning found by buildbot.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161352">161352</a></td><td>seanbright</td><td>When using IMAP_STORAGE, it's important to convert bare newlines (\n) in</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161496">161496</a></td><td>mmichelson</td><td>If the autoloop flag is set on a channel, then we need to</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161835">161835</a></td><td>file</td><td>Update autosupport script with a few changes.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=161963">161963</a></td><td>russell</td><td>Fix a problem with GROUP() settings on a masquerade.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162142">162142</a></td><td>murf</td><td>Previous fix used ast_malloc and ast_copy_string and messed up the standalone stuff. Fixed.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162269">162269</a></td><td>mmichelson</td><td>If we fail to start a thread for the pbx to run in, we need to</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162277">162277</a></td><td>murf</td><td>In discussion with seanbright on #asterisk-dev, I have added a default rule, and an option to suppress the default rule from being generated in the flex output, for the sake of those OS's where they didn't tweak flex's ECHO macro, and the compiler doesn't like it. The regressions are OK with this.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162372">162372</a></td><td>tilghman</td><td>We appear to have documented tz= in the [general] section of voicemail.conf,</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162416">162416</a></td><td>russell</td><td>Remove the test_for_thread_safety() function completely.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162472">162472</a></td><td>tilghman</td><td>Oops, should be "tz", not "zonetag".</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162490">162490</a></td><td>mmichelson</td><td>it does help if the compiler attribute syntax is correct</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162585">162585</a></td><td>mvanbaak</td><td>Make res_snmp.so compile on OpenBSD.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=162929">162929</a></td><td>jpeeler</td><td>Oops, inverted logic for a strcasecmp check. Pointed out by mmichelson, thanks!</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163087">163087</a></td><td>mmichelson</td><td>Revert this cast to long. Using time_t here causes build failures on a</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163514">163514</a></td><td>russell</td><td>Specify uint32_t for variables storing a CRC32 so that it is actually 32 bits</td>
-<td><a href="http://bugs.digium.com/view.php?id=13879">#13879</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163669">163669</a></td><td>russell</td><td>Fix a small race condition in sip_tcp_locate().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163672">163672</a></td><td>russell</td><td>Rename a number of tcptls_session variables. There are no functional changes here.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163715">163715</a></td><td>murf</td><td>demote always-appearing debug message (for certain boards) to ast_debug lev 3 msg instead</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163764">163764</a></td><td>tilghman</td><td>Simple fix for Ctrl-C not immediately exiting Asterisk, but also add a</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163830">163830</a></td><td>russell</td><td>(No Summary Available)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=163914">163914</a></td><td>file</td><td>Only detach and destroy the whisper audiohooks if they are actually in use.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164274">164274</a></td><td>mmichelson</td><td>Fix a compile warning and a logic error that could have been bad</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164421">164421</a></td><td>mmichelson</td><td>Add notes to autoservice and pbx doxygen regarding a potential</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164425">164425</a></td><td>mmichelson</td><td>Add the deadlock note to ast_spawn_extension as well</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164524">164524</a></td><td>russell</td><td>Fix log message to refer to the generic timing interface, not DAHDI specifically</td>
-<td><a href="http://bugs.digium.com/view.php?id=14082">#14082</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164658">164658</a></td><td>murf</td><td>I added a sentence to clarify why - and ' ' are ignored in patterns</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164879">164879</a></td><td>russell</td><td>Do not dereference the channel if AST_PBX_KEEPALIVE has been returned.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=164980">164980</a></td><td>mmichelson</td><td>After looking through SIP registration code most of the day, this</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165093">165093</a></td><td>murf</td><td>for all but DEBUG_CHANNEL_LOCKS, DEBUG_SCHEDULER,</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165146">165146</a></td><td>mmichelson</td><td>Use the create_vm_state_from_user function in a place where</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165242">165242</a></td><td>twilson</td><td>Polycom phones close the connection after reading a little bit of the firmware files, we should stop sending in that case. Also, make that case print out a debug statement instead of a scary WARNING.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165279">165279</a></td><td>murf</td><td>This patch is here committed to satisfy the</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165324">165324</a></td><td>mmichelson</td><td>Fix some memory leaks found while looking at how realtime</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165329">165329</a></td><td>tilghman</td><td>Oops, broke trunk</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165332">165332</a></td><td>mmichelson</td><td>Fix a refcount leak in res_odbc</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165543">165543</a></td><td>tilghman</td><td>Fix reference counts of the class and add an assertion to the end.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165660">165660</a></td><td>tilghman</td><td>Fix 2 resource leaks and fix another pipe-to-comma conversion</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165725">165725</a></td><td>mmichelson</td><td>Fix crashes in res_odbc.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165728">165728</a></td><td>russell</td><td>Remove the need for AST_PBX_KEEPALIVE with the GoSub option from Dial.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=165804">165804</a></td><td>russell</td><td>Make ast_carefulwrite() be more careful.</td>
-<td><a href="http://bugs.digium.com/view.php?id=13546">#13546</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166161">166161</a></td><td>mmichelson</td><td>Switch documentation formats for func_audiohookinherit.c</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166164">166164</a></td><td>mmichelson</td><td>Get rid of an extra space.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166260">166260</a></td><td>russell</td><td>Remove AST_PBX_KEEPALIVE usage from res_agi.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166326">166326</a></td><td>russell</td><td>Fix up timeout handling in ast_carefulwrite().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166343">166343</a></td><td>russell</td><td>Remove some error messages. This is the default handler that is valid to use.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166379">166379</a></td><td>russell</td><td>Fix a bad typo.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166438">166438</a></td><td>russell</td><td>Cosmetic change - don't mix struct initializer styles.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166730">166730</a></td><td>murf</td><td>to fetch a parked call, after the first case.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166775">166775</a></td><td>russell</td><td>Use strncat() instead of an sprintf() in which source and target buffers overlap</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166858">166858</a></td><td>file</td><td>Per kpfleming add a note describing why you must never change the first element of peer_finding_info.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166863">166863</a></td><td>mmichelson</td><td>Update app_queue to deal with the removal of AST_PBX_KEEPALIVE</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166910">166910</a></td><td>twilson</td><td>Fix some svn:keywords</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=166957">166957</a></td><td>tilghman</td><td>Also inherit the musiconhold class.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167268">167268</a></td><td>tilghman</td><td>Security fix AST-2009-001.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167376">167376</a></td><td>lmadsen</td><td>Update the sip-friends.sql file to use the non-deprecated 'defaultname' instead of 'username' and remove an extra comma that would cause the script to fail as-is</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167456">167456</a></td><td>russell</td><td>Treat an empty string the same way as a NULL country argument.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167544">167544</a></td><td>russell</td><td>Don't use free() directly. This caused a crash since ast_filestream is now an ao2 object.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167550">167550</a></td><td>russell</td><td>Only try to close the file if one was actually opened</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167558">167558</a></td><td>russell</td><td>Don't fclose() the file early, the filestream destructor will handle it.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167573">167573</a></td><td>russell</td><td>Fix the last couple of places where free() was improperly used directly.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167663">167663</a></td><td>lmadsen</td><td>Oops... fix the fieldname I changed yesterday to be right.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167701">167701</a></td><td>kpfleming</td><td>When a SIP request or response arrives for a dialog with an associated Asterisk channel, and the lock on that channel cannot be obtained because it is held by another thread, instead of dropping the request/response, queue it for later processing when the channel lock becomes available.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167727">167727</a></td><td>kpfleming</td><td>remove an unnecessary argument to queue_request()</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=167972">167972</a></td><td>twilson</td><td>Set peer context and exten values so MACRO_EXTEN and MACRO_CONTEXT will be set</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168092">168092</a></td><td>tilghman</td><td>When using ast_str with a non-ast_str-enabled API, we need to update the buffer</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168209">168209</a></td><td>russell</td><td>Make this compile for mvanbaak</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168266">168266</a></td><td>rmudgett</td><td>* Fix for JIRA AST-175/ABE-1757</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168272">168272</a></td><td>kpfleming</td><td>update to use new sound file packages that include license files</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168336">168336</a></td><td>tilghman</td><td>sizeof for a stringfield is 4. Kinda low for reconstructing a field value.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168484">168484</a></td><td>russell</td><td>s/ringdance/ringcadence/ for Bulgaria</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168488">168488</a></td><td>mmichelson</td><td>(No Summary Available)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168500">168500</a></td><td>oej</td><td>Better to use the proper app name</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168528">168528</a></td><td>tilghman</td><td>Repeat attempts to write when we receive -EAGAIN from the driver, as detailed</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168565">168565</a></td><td>russell</td><td>Revert unnecessary indications API change from rev 122314</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168621">168621</a></td><td>murf</td><td>app_page was failing to compile in dev-mode on my gcc-4.2.4 system. This change gets rid of the warning.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168625">168625</a></td><td>rmudgett</td><td>* Fixed create_process() allocation of process ID values.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168714">168714</a></td><td>oej</td><td>Make sure that we have the same terminology in sip.conf.sample and the source code warning.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168715">168715</a></td><td>oej</td><td>Clarify some misunderstandings and make it even more clear that you can refer to a peer</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168726">168726</a></td><td>mmichelson</td><td>Remove an unneeded condition for line addition to a SIP request/response</td>
-<td><a href="http://bugs.digium.com/view.php?id=14220">#14220</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168727">168727</a></td><td>oej</td><td>Meetme actually has realtime but wasn't documented</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168729">168729</a></td><td>mmichelson</td><td>Fix the compactheaders option in sip.conf</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=168836">168836</a></td><td>tilghman</td><td>Fix the conjugation of Russian and Ukrainian languages.</td>
-<td><a href="http://bugs.digium.com/view.php?id=12475">#12475</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169154">169154</a></td><td>dbailey</td><td>Add discriminator for when ring pulse alert signal is used to preface MWI spills</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169554">169554</a></td><td>twilson</td><td>Make a proper builtin attended transfer to parking work</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169626">169626</a></td><td>russell</td><td>Remove properties that erroneously got merged into trunk</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169792">169792</a></td><td>mmichelson</td><td>Further fix some oddities in sip show users and sip show peers logic</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=169830">169830</a></td><td>mvanbaak</td><td>remove duplicated sentence.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170458">170458</a></td><td>dbailey</td><td>MWI messages included in CID spill was not being properly handled and prevented the call from being processed</td>
-<td><a href="http://bugs.digium.com/view.php?id=14313">#14313</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170502">170502</a></td><td>mvanbaak</td><td>let's use SENTINEL where needed</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170637">170637</a></td><td>tilghman</td><td>Additions to AST-2009-001</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170792">170792</a></td><td>russell</td><td>Don't blow up if a branch name has an underscore in it</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170831">170831</a></td><td>rmudgett</td><td>Fix asterisk.pdf generation if branch name has an underscore in it.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=170945">170945</a></td><td>russell</td><td>Change ARRAY_LEN() to be more C++ safe.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171857">171857</a></td><td>oej</td><td>Add a better explanation of the difference between the device namespace and the dialplan for newbies.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=171966">171966</a></td><td>tilghman</td><td>Clarify log message (suggested by manxpower on #asterisk-dev)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172218">172218</a></td><td>oej</td><td>Add some more notes about device matching.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172317">172317</a></td><td>tilghman</td><td>Better document mode=multirow, based upon a conversation with Jared.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172435">172435</a></td><td>rmudgett</td><td>channels/chan_dahdi.c</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172509">172509</a></td><td>oej</td><td>Remove an extra "the" and restructure a bit</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172609">172609</a></td><td>mmichelson</td><td>Fix redefinition of flag in channel.h</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=172638">172638</a></td><td>twilson</td><td>Remove incorret line from sample config</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173069">173069</a></td><td>twilson</td><td>Fix a feature inheritance bug I added after code review</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173395">173395</a></td><td>mmichelson</td><td>Add a missing unlock. Extremely unlikely to ever matter, but it's needed.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173399">173399</a></td><td>mmichelson</td><td>Revert my previous change because it was stupid</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173595">173595</a></td><td>mmichelson</td><td>Add some missing cleanup to app_mixmonitor</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173658">173658</a></td><td>tilghman</td><td>Change the first field, or we don't get the necessary field separation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173778">173778</a></td><td>tilghman</td><td>Oops, merge from trunk broke 1.6.1</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173779">173779</a></td><td>mmichelson</td><td>Update extensions.conf.sample to be correct.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173850">173850</a></td><td>russell</td><td>Resolve a memory leak that would occur on an invalid channel given to Action: Status</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=173965">173965</a></td><td>mnicholson</td><td>revert revision 173964</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174154">174154</a></td><td>russell</td><td>Fix a race condition that could cause a crash.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174329">174329</a></td><td>mmichelson</td><td>Fix something I messed up in the merge I just did</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174428">174428</a></td><td>murf</td><td>This patch solves some compiler complaints</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174434">174434</a></td><td>murf</td><td>More intptr_t work.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174438">174438</a></td><td>murf</td><td>One final fix in the 1.6.1 release only; some variables the compiler</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174440">174440</a></td><td>murf</td><td>This patch corrects warnings which seem to appear</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174471">174471</a></td><td>tilghman</td><td>Remove the usage of the KeepAlive app, as it no longer exists.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174504">174504</a></td><td>tilghman</td><td>Fix0ring build</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174714">174714</a></td><td>file</td><td>Only decrease inringing count if above zero.</td>
-<td><a href="http://bugs.digium.com/view.php?id=13238">#13238</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174823">174823</a></td><td>mmichelson</td><td>Fix potential for stack overflows in app_chanspy.c</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=174952">174952</a></td><td>mmichelson</td><td>Fix a bit of odd logic for announcing position. Sync with 1.6.0's logic</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175123">175123</a></td><td>mmichelson</td><td>Make lock information for ao2_trylock be more useful and gnarly</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175130">175130</a></td><td>dvossel</td><td>Setting key rotation to be off by default</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175190">175190</a></td><td>jpeeler</td><td>Fix crash in event of failed attempt to transfer to parking</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175251">175251</a></td><td>kpfleming</td><td>correct warning message to not refer specifically to DAHDI</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175257">175257</a></td><td>russell</td><td>Don't enable something by default that has a dependency on something _not_ enabled by default.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175297">175297</a></td><td>russell</td><td>Avoid using ast_strdupa() in a loop.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175300">175300</a></td><td>jpeeler</td><td>Fix ParkedCall event information for From field in the case of a blind transfer</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175370">175370</a></td><td>russell</td><td>Remove useless string copy, and make sscanf safe again</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175662">175662</a></td><td>dvossel</td><td>Fixed iax2 key rotation backwards compatibility</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175831">175831</a></td><td>russell</td><td>Fix a number of problems with ast_sched_report().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=175890">175890</a></td><td>russell</td><td>Make ast_sched_report() and ast_sched_dump() thread safe.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176023">176023</a></td><td>mvanbaak</td><td>fix mis-spelling of the word registered.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176032">176032</a></td><td>file</td><td>Don't have the Via header stored as a stringfield as it can change often during the lifetime of a dialog.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176099">176099</a></td><td>tilghman</td><td>Eliminate mention of a variable which exists only in trunk.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176102">176102</a></td><td>russell</td><td>Remove chan_features.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176176">176176</a></td><td>mmichelson</td><td>Assist proper thread synchronization when stopping the logger thread.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176251">176251</a></td><td>dvossel</td><td>Fixed iax2 key rotation backwards compatibility</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176259">176259</a></td><td>kpfleming</td><td>fix a flaw in the ast_string_field_build() family of API calls; these functions made no attempt to reuse the space already allocated to a field, so every time the field was written it would allocate new space, leading to what appeared to be a memory leak.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176321">176321</a></td><td>tilghman</td><td>Use the correct list macros for deleting an item from the middle of a list.</td>
-<td><a href="http://bugs.digium.com/view.php?id=13777">#13777</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176362">176362</a></td><td>dvossel</td><td>Fixes issue with AST_CONTROL_SRCUPDATE not being relayed correctly during bridging</td>
-<td><a href="http://bugs.digium.com/view.php?id=13749">#13749</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176503">176503</a></td><td>tilghman</td><td>In this version, we can combine the queries, because we support dropping</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176634">176634</a></td><td>russell</td><td>Add an implementation of the heap data structure.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176637">176637</a></td><td>russell</td><td>Add a test module for the heap implementation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176699">176699</a></td><td>mmichelson</td><td>Clear up documentation of AST_FRIENDLY_OFFSET in frame.h</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176731">176731</a></td><td>dhubbard</td><td>create a UDPTL structure in create_addr_from_peer() if it does not already exist for T38</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176809">176809</a></td><td>sruffell</td><td>Several changes to codec_dahdi to play nice with G723.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176903">176903</a></td><td>russell</td><td>Fix a number of incorrect uses of strncpy().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176906">176906</a></td><td>russell</td><td>Add example code for a heap traversal.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=176962">176962</a></td><td>dbailey</td><td>Need to take into account the \0 terminator of the old string to determine the amount available.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177037">177037</a></td><td>dbailey</td><td>Fixed error where a check for an zero length, terminated string was needed.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177100">177100</a></td><td>tilghman</td><td>Document the return value of the update method (as requested on -dev list)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177158">177158</a></td><td>russell</td><td>Re-add 'o' option to MeetMe, reverting rev 62297.</td>
-<td><a href="http://bugs.digium.com/view.php?id=13801">#13801</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177228">177228</a></td><td>dvossel</td><td>Locking issue in action_bridge and bridge_exec</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177230">177230</a></td><td>kpfleming</td><td>fix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure that the samples are byte-swapped to network order if needed. also, when a smoother is operating on a format that has a sample rate other than 8000 samples per second, use the proper sample rate for computing delivery timestamps.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177294">177294</a></td><td>murf</td><td>This patch fixes a regression of sorts that was introduced in</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177358">177358</a></td><td>jpeeler</td><td>Fix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177386">177386</a></td><td>file</td><td>If we are able to create a speech structure unset the ERROR variable in case it was previously set.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177389">177389</a></td><td>jpeeler</td><td>Fix another merge error from 176708</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177626">177626</a></td><td>jpeeler</td><td>Set sip_request ast_str data to NULL so ast_str_copy allocates space properly</td>
-<td><a href="http://bugs.digium.com/view.php?id=14478">#14478</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177663">177663</a></td><td>tilghman</td><td>Oops, merge broke trunk</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177760">177760</a></td><td>tilghman</td><td>This exception does not appear to still be true for Solaris 10, and OpenSolaris definitely needs it to be removed.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177764">177764</a></td><td>tilghman</td><td>Oops, last merge broke 1.6.1 branch</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177785">177785</a></td><td>dhubbard</td><td>Make app_fax compatible with spandsp-0.0.6pre4</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177851">177851</a></td><td>mvanbaak</td><td>make chan_sip.c compile on OpenBSD again.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=177945">177945</a></td><td>tilghman</td><td>On update, test against the existence of sipregs.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178344">178344</a></td><td>tilghman</td><td>Use a SIGPIPE to kill the process, instead of depending upon the astcanary process being inherited by init.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178377">178377</a></td><td>tilghman</td><td>The 3 possible errors with pipe(2) are all impossible in this situation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178379">178379</a></td><td>russell</td><td>Only set dtmfcount on BEGIN, and ensure it gets reset to 0 properly.</td>
-<td><a href="http://bugs.digium.com/view.php?id=14460">#14460</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178380">178380</a></td><td>russell</td><td>revert accidental Makefile change.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178383">178383</a></td><td>tilghman</td><td>Apparently, a void cast doesn't override warn_unused_result.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178511">178511</a></td><td>russell</td><td>Update the copyright year for the main page of the doxygen documentation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178875">178875</a></td><td>dvossel</td><td>IAX2 prune realtime, minor tweak to last fix</td>
-<td><a href="http://bugs.digium.com/view.php?id=14479">#14479</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=178988">178988</a></td><td>murf</td><td>........</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179160">179160</a></td><td>russell</td><td>Add a note about the ordering of entries in sip.conf in 1.6.1.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179166">179166</a></td><td>russell</td><td>Mark res_ais as experimental, as the binary event format is subject to change.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179256">179256</a></td><td>mmichelson</td><td>Swap reversed timevals.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179362">179362</a></td><td>tilghman</td><td>Backport 1.6.0 fix to trunk (failsafe if db is not loaded)</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179464">179464</a></td><td>russell</td><td>Ensure that only one thread is calling ast_settimeout() on a channel at a time.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179535">179535</a></td><td>russell</td><td>Move ast_waitfor() down to avoid the results of the API call becoming stale.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179611">179611</a></td><td>russell</td><td>Make it easier to detect an improper call to ast_read().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179674">179674</a></td><td>file</td><td>Move where fdno is set to the default value to *after* the read callback of the channel driver is called.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179744">179744</a></td><td>russell</td><td>Ensure chan->fdno always gets reset to -1 after handling a channel fd event.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=179905">179905</a></td><td>russell</td><td>fix a leaked channel lock (and future deadlock) when we try to pick up our own channel</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180077">180077</a></td><td>murf</td><td>suite. I had to play around with the makefile a bit, etc.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180197">180197</a></td><td>file</td><td>Look for the number in a callerid string starting from the end. This way a value using <> can exist in the name portion.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180378">180378</a></td><td>kpfleming</td><td>Fix problems when RTP packet frame size is changed</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180585">180585</a></td><td>mmichelson</td><td>Make compilation succeed in dev-mode when IMAP storage is enabled.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180740">180740</a></td><td>jpeeler</td><td>Add Doxygen documentation for API changes from 1.6.0 to 1.6.1</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=180947">180947</a></td><td>qwell</td><td>Make things happier when using autoconf 2.62+</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181283">181283</a></td><td>jpeeler</td><td>add missing header file</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181430">181430</a></td><td>russell</td><td>Make handling of the BRIDGEPVTCALLID variable thread-safe.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181457">181457</a></td><td>qwell</td><td>Allow prefix to set localstatedir (when used and different from the default).</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181474">181474</a></td><td>russell</td><td>Make handling of the BRIDGE_PLAY_SOUND variable thread-safe.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181544">181544</a></td><td>rmudgett</td><td>Use the correct branch integrated property when generating the version string</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181667">181667</a></td><td>file</td><td>Fix incorrect usage of strncasecmp... I really meant to use strcasecmp.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181849">181849</a></td><td>mmichelson</td><td>Run the macro on the queue member's channel when he answers, not the caller's channel.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=181987">181987</a></td><td>kpfleming</td><td>improve a bit of suboptimal code</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182042">182042</a></td><td>file</td><td>Fix an issue with requesting a T38 reinvite before the call is answered.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182173">182173</a></td><td>file</td><td>Fix a memory leak in the ast_answer / __ast_answer API call.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182284">182284</a></td><td>dvossel</td><td>Randomize IAX2 encryption padding</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182527">182527</a></td><td>kpfleming</td><td>Improve behavior of ast_answer() to not lose incoming frames</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182533">182533</a></td><td>kpfleming</td><td>correct logic flaw in ast_answer() changes in r182525</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=182570">182570</a></td><td>russell</td><td>Tweak the handling of the frame list inside of ast_answer().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183030">183030</a></td><td>jpeeler</td><td>Add some code removed by mistake from commit 182722 that works around a file</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183067">183067</a></td><td>file</td><td>Fix an issue where a T38 control frame would get dropped.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183110">183110</a></td><td>file</td><td>Improve our triggering of a T38 switchover internally when triggered by a received reinvite.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183121">183121</a></td><td>mmichelson</td><td>Fix an issue where cancelled outgoing SIP calls would erroneously report the device as "in use."</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183249">183249</a></td><td>russell</td><td>Remove the use of RTLD_NOLOAD, as it is not behaving like expected.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183438">183438</a></td><td>dvossel</td><td>Cleaning up a few things in detect disconnect patch</td>
-<td><a href="http://bugs.digium.com/view.php?id=11583">#11583</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183563">183563</a></td><td>russell</td><td>Fix a crash in IAX2 registration handling found during load testing with dvossel.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183768">183768</a></td><td>mmichelson</td><td>Fix a memory leak in res_monitor.c</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183867">183867</a></td><td>tilghman</td><td>Allow browsers to cache images and other static content.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=183916">183916</a></td><td>tilghman</td><td>Additionally note that the operator option needs an 'o' extension.</td>
-<td><a href="http://bugs.digium.com/view.php?id=14731">#14731</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184039">184039</a></td><td>russell</td><td>Exclude slin16, siren7, and siren14 from bandwidth=low and =medium</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184081">184081</a></td><td>mmichelson</td><td>Change NULL pointer check to be ast_strlen_zero.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184282">184282</a></td><td>file</td><td>Fix issue with a T38 reinvite being sent even if not configured to do so.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184325">184325</a></td><td>russell</td><td>add reviewboard:url property.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184345">184345</a></td><td>russell</td><td>Remove unneeded AST_LIST_ENTRY() and comment on the purpose of ast_event_ref.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184451">184451</a></td><td>kpfleming</td><td>use new, improved 8kHz prompts</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184513">184513</a></td><td>russell</td><td>Pass more useful information through to lock tracking when DEBUG_THREADS is on.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184517">184517</a></td><td>russell</td><td>Don't act surprised if we get a -1 indication.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184547">184547</a></td><td>russell</td><td>Fix some issues with rwlock corruption that caused deadlock like symptoms.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184631">184631</a></td><td>russell</td><td>Change g_eid to ast_eid_default.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184675">184675</a></td><td>file</td><td>Fix speech structure leak in the AGI speech recognition integration.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184728">184728</a></td><td>russell</td><td>Use ast_random() instead of rand() to ensure we use the best RNG available.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=184912">184912</a></td><td>russell</td><td>Fix build error when chan_h323 is not being built.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185127">185127</a></td><td>rmudgett</td><td>Update the channel allocation method documentation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185427">185427</a></td><td>dbrooks</td><td>Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespaces</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185666">185666</a></td><td>kpfleming</td><td>ignore copied (generated) file</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185774">185774</a></td><td>russell</td><td>Fix a case where DTMF could bypass audiohooks.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=185956">185956</a></td><td>kpfleming</td><td>the DAHDI_GETCONF, DAHDI_SETCONF and DAHDI_GET_PARAMS ioctls were recently corrected to show that they do, in fact, read data from userspace as part of their work. due to this fix, valgrind now reports a number of cases where chan_dahdi passed an uninitialized (or partially) buffer to these ioctls, which could lead to unexpected behavior.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186062">186062</a></td><td>tilghman</td><td>Fix for AST-2009-003</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186108">186108</a></td><td>kpfleming</td><td>ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initialized</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186177">186177</a></td><td>mmichelson</td><td>Fix instructions in one-step parking comment to make more sense.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186232">186232</a></td><td>russell</td><td>Fix a memory leak in cdr_radius.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186381">186381</a></td><td>dvossel</td><td>audio_audiohook_write_list() did not correctly update sample size after ast_translate.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186466">186466</a></td><td>kpfleming</td><td>Fix a bug where DAHDI/Zaptel channels would not properly switch formats when requested</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186806">186806</a></td><td>tilghman</td><td>Fix Macro documentation to match current (and intended) behavior.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186900">186900</a></td><td>tilghman</td><td>Add lastms to the require API call.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=186987">186987</a></td><td>mmichelson</td><td>Make a couple of changes with regards to a new message printed in ast_read().</td>
-<td><a href="http://bugs.digium.com/view.php?id=14723">#14723</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187048">187048</a></td><td>mmichelson</td><td>Fix a small logical error when loading moh classes.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187305">187305</a></td><td>tilghman</td><td>Add debugging mode for diagnosing file descriptor leaks.</td>
-<td><a href="http://bugs.digium.com/view.php?id=14625">#14625</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187365">187365</a></td><td>tilghman</td><td>Permit zero-length text messages in SIP.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187600">187600</a></td><td>tilghman</td><td>Modify headers and macros, according to Russell's suggestions on the -dev list</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187676">187676</a></td><td>russell</td><td>Disable test modules by default.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187723">187723</a></td><td>kpfleming</td><td>clean up some patterns for files to remove</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=187767">187767</a></td><td>tilghman</td><td>Add lastms column to the contributed table designs</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188038">188038</a></td><td>mmichelson</td><td>Set all queue variables on both the caller and member channels.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188104">188104</a></td><td>mmichelson</td><td>Fix another crash related to cached realtime music on hold.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188212">188212</a></td><td>tilghman</td><td>As suggested by Russell, warn users when their dialplan arguments contain pipes, but not commas.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188254">188254</a></td><td>file</td><td>Fix a bug with the change I made yesterday to outbound proxy support.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188473">188473</a></td><td>mmichelson</td><td>Fix a couple of queue member reference leaks.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188596">188596</a></td><td>mmichelson</td><td>Update ast_readvideo_callback to match ast_readaudio_callback.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=188940">188940</a></td><td>file</td><td>Fix a situation where the DAHDI channel private structure lock was not unlocked when it should have been.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189080">189080</a></td><td>seanbright</td><td>Fix copy/paste error with 'transmit silence' flag.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189103">189103</a></td><td>mmichelson</td><td>Prevent a crash when SIP blonde transferring an unbridged call.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189139">189139</a></td><td>rmudgett</td><td>Only disable mISDN DSP if Asterisk DSP is enabled. Leave jitter setting alone.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189280">189280</a></td><td>mmichelson</td><td>Move the check for chan->fdno == -1 to after the zombie/hangup check.</td>
-<td><a href="http://bugs.digium.com/view.php?id=14723">#14723</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189422">189422</a></td><td>dbailey</td><td>Clean up problem with manager implementation of mmap where it was not testing against MAP_FAILED response.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189534">189534</a></td><td>twilson</td><td>Don't treat a NOANSWER like a CHANUNAVAIL</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189535">189535</a></td><td>twilson</td><td>Update CDR appropriately when AST_CAUSE_NO_ANSWER is set</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189642">189642</a></td><td>dbailey</td><td>Add check in configure script to check for GLOB_NOMAGIC and GLOB_BRACE in glob.h</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189667">189667</a></td><td>dbailey</td><td>Remove daemon call on systems that do not support forking.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189815">189815</a></td><td>tilghman</td><td>Detect liblua on SuSE, and add libm for linking for Fedora.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=189985">189985</a></td><td>russell</td><td>Fix call parking callback. Pipes -> Commas.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190291">190291</a></td><td>file</td><td>Fix a bug in chan_local glare hangup detection.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190371">190371</a></td><td>russell</td><td>Remove a bogus ast_channel_unlock().</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190624">190624</a></td><td>mmichelson</td><td>Update warning message to not have pipes and contain all options.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.6.1?view=revision&revision=190665">190665</a></td><td>russell</td><td>Resolve a crash in res_smdi when used with chan_dahdi.</td>
-<td></td></tr></table>
-<hr/>
-<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
-<pre>
-.cleancount | 2
-CHANGES | 111 -
-Makefile | 19
-Makefile.moddir_rules | 4
-Makefile.rules | 81
-UPGRADE-1.2.txt | 13
-UPGRADE-1.4.txt | 13
-UPGRADE-1.6.txt | 265 +++
-UPGRADE.txt | 312 ---
-acinclude.m4 | 1119 ------------
-agi/Makefile | 5
-agi/eagi-sphinx-test.c | 15
-agi/eagi-test.c | 8
-apps/app_adsiprog.c | 4
-apps/app_authenticate.c | 4
-apps/app_channelredirect.c | 3
-apps/app_chanspy.c | 66
-apps/app_dial.c | 335 ++-
-apps/app_dictate.c | 4
-apps/app_directed_pickup.c | 4
-apps/app_directory.c | 7
-apps/app_disa.c | 12
-apps/app_echo.c | 3
-apps/app_externalivr.c | 11
-apps/app_fax.c | 76
-apps/app_festival.c | 27
-apps/app_followme.c | 45
-apps/app_macro.c | 99 -
-apps/app_meetme.c | 266 ++-
-apps/app_minivm.c | 139 -
-apps/app_mixmonitor.c | 97 +
-apps/app_mp3.c | 2
-apps/app_nbscat.c | 2
-apps/app_osplookup.c | 6
-apps/app_page.c | 25
-apps/app_parkandannounce.c | 4
-apps/app_queue.c | 655 ++++---
-apps/app_read.c | 8
-apps/app_readexten.c | 7
-apps/app_record.c | 8
-apps/app_rpt.c | 41
-apps/app_senddtmf.c | 2
-apps/app_sendtext.c | 4
-apps/app_sms.c | 900 +++++-----
-apps/app_speech_utils.c | 10
-apps/app_stack.c | 97 -
-apps/app_system.c | 9
-apps/app_test.c | 55
-apps/app_transfer.c | 8
-apps/app_userevent.c | 19
-apps/app_voicemail.c | 956 +++++++---
-apps/app_waitforsilence.c | 41
-apps/app_while.c | 5
-autoconf/acx_pthread.m4 | 243 ++
-autoconf/ast_c_compile_check.m4 | 31
-autoconf/ast_c_define_check.m4 | 33
-autoconf/ast_check_gnu_make.m4 | 20
-autoconf/ast_check_mandatory.m4 | 23
-autoconf/ast_check_openh323.m4 | 132 +
-autoconf/ast_check_pwlib.m4 | 263 +++
-autoconf/ast_ext_lib.m4 | 90 +
-autoconf/ast_ext_tool_check.m4 | 43
-autoconf/ast_func_fork.m4 | 61
-autoconf/ast_gcc_attribute.m4 | 17
-autoconf/ast_prog_egrep.m4 | 11
-autoconf/ast_prog_ld.m4 | 83
-autoconf/ast_prog_ld_gnu.m4 | 16
-autoconf/ast_prog_sed.m4 | 21
-bootstrap.sh | 2
-build_tools/cflags.xml | 3
-build_tools/embed_modules.xml | 11
-build_tools/make_buildopts_h | 12
-build_tools/make_version | 11
-cdr/Makefile | 2
-cdr/cdr_adaptive_odbc.c | 2
-cdr/cdr_csv.c | 50
-cdr/cdr_custom.c | 8
-cdr/cdr_manager.c | 12
-cdr/cdr_odbc.c | 6
-cdr/cdr_pgsql.c | 28
-cdr/cdr_radius.c | 30
-cdr/cdr_sqlite.c | 8
-cdr/cdr_sqlite3_custom.c | 13
-cdr/cdr_tds.c | 2
-channels/Makefile | 32
-channels/chan_agent.c | 271 +--
-channels/chan_alsa.c | 9
-channels/chan_console.c | 2
-channels/chan_dahdi.c | 677 ++++++-
-channels/chan_features.c | 568 ------
-channels/chan_gtalk.c | 14
-channels/chan_h323.c | 73
-channels/chan_iax2.c | 812 +++++----
-channels/chan_local.c | 67
-channels/chan_mgcp.c | 4
-channels/chan_misdn.c | 380 +++-
-channels/chan_oss.c | 41
-channels/chan_phone.c | 2
-channels/chan_sip.c | 3044 ++++++++++++++++++++++-------------
-channels/chan_skinny.c | 31
-channels/chan_unistim.c | 19
-channels/chan_usbradio.c | 38
-channels/chan_vpb.cc | 2
-channels/console_gui.c | 8
-channels/console_video.c | 4
-channels/h323/Makefile.in | 2
-channels/h323/ast_h323.cxx | 261 +--
-channels/h323/ast_h323.h | 74
-channels/h323/ast_ptlib.h | 34
-channels/h323/caps_h323.cxx | 10
-channels/h323/caps_h323.h | 12
-channels/h323/chan_h323.h | 11
-channels/h323/cisco-h225.cxx | 20
-channels/h323/cisco-h225.h | 21
-channels/h323/compat_h323.cxx | 7
-channels/h323/compat_h323.h | 12
-channels/iax2-parser.h | 47
-channels/iax2-provision.c | 110 -
-channels/iax2.h | 1
-channels/misdn/Makefile | 2
-channels/misdn/ie.c | 4
-channels/misdn/isdn_lib.c | 95 -
-channels/misdn_config.c | 28
-channels/vcodecs.c | 14
-channels/xpmr/xpmr.c | 2
-codecs/codec_dahdi.c | 404 +++-
-codecs/gsm/Makefile | 2
-codecs/lpc10/lpcini.c | 2
-configs/agents.conf.sample | 2
-configs/ais.conf.sample | 9
-configs/chan_dahdi.conf.sample | 30
-configs/extconfig.conf.sample | 1
-configs/extensions.conf.sample | 169 +
-configs/features.conf.sample | 20
-configs/func_odbc.conf.sample | 33
-configs/iax.conf.sample | 5
-configs/indications.conf.sample | 2
-configs/misdn.conf.sample | 9
-configs/queues.conf.sample | 11
-configs/res_ldap.conf.sample | 7
-configs/sip.conf.sample | 59
-configs/sip_notify.conf.sample | 43
-configs/voicemail.conf.sample | 25
-configure | 1511 +++++++++++++----
-configure.ac | 90 -
-contrib/asterisk-ng-doxygen | 51
-contrib/i18n.testsuite.conf | 277 +--
-contrib/scripts/autosupport | 15
-contrib/scripts/autosupport.8 | 9
-contrib/scripts/get_ilbc_source.sh | 2
-contrib/scripts/realtime_pgsql.sql | 6
-contrib/scripts/safe_asterisk | 8
-contrib/scripts/sip-friends.sql | 5
-doc/CODING-GUIDELINES | 6
-doc/distributed_devstate.txt | 10
-doc/manager_1_1.txt | 22
-doc/tex/Makefile | 2
-doc/tex/channelvariables.tex | 4
-doc/tex/extensions.tex | 3
-doc/tex/misdn.tex | 2
-doc/timing.txt | 90 +
-doc/unistim.txt | 2
-doc/valgrind.txt | 4
-formats/format_gsm.c | 4
-formats/format_ogg_vorbis.c | 16
-formats/format_wav.c | 9
-formats/format_wav_gsm.c | 6
-funcs/Makefile | 2
-funcs/func_audiohookinherit.c | 269 +++
-funcs/func_callerid.c | 74
-funcs/func_cdr.c | 2
-funcs/func_channel.c | 2
-funcs/func_curl.c | 4
-funcs/func_cut.c | 6
-funcs/func_env.c | 57
-funcs/func_groupcount.c | 25
-funcs/func_logic.c | 2
-funcs/func_math.c | 4
-funcs/func_odbc.c | 132 -
-funcs/func_strings.c | 26
-funcs/func_timeout.c | 17
-include/asterisk.h | 42
-include/asterisk/_private.h | 2
-include/asterisk/agi.h | 58
-include/asterisk/app.h | 104 -
-include/asterisk/astmm.h | 42
-include/asterisk/astobj2.h | 160 +
-include/asterisk/audiohook.h | 35
-include/asterisk/autoconfig.h.in | 39
-include/asterisk/callerid.h | 13
-include/asterisk/channel.h | 395 ++--
-include/asterisk/chanvars.h | 5
-include/asterisk/cli.h | 2
-include/asterisk/compat.h | 17
-include/asterisk/compiler.h | 6
-include/asterisk/config.h | 136 +
-include/asterisk/crypto.h | 14
-include/asterisk/datastore.h | 7
-include/asterisk/devicestate.h | 102 -
-include/asterisk/dial.h | 4
-include/asterisk/dlinkedlists.h | 69
-include/asterisk/dnsmgr.h | 4
-include/asterisk/doxyref.h | 28
-include/asterisk/dsp.h | 36
-include/asterisk/dundi.h | 14
-include/asterisk/endian.h | 4
-include/asterisk/enum.h | 29
-include/asterisk/event.h | 141 -
-include/asterisk/extconf.h | 26
-include/asterisk/features.h | 39
-include/asterisk/file.h | 25
-include/asterisk/frame.h | 30
-include/asterisk/global_datastores.h | 11
-include/asterisk/hashtab.h | 10
-include/asterisk/heap.h | 266 +++
-include/asterisk/http.h | 15
-include/asterisk/indications.h | 24
-include/asterisk/io.h | 4
-include/asterisk/linkedlists.h | 788 ++++-----
-include/asterisk/lock.h | 395 +++-
-include/asterisk/logger.h | 35
-include/asterisk/manager.h | 12
-include/asterisk/module.h | 8
-include/asterisk/pbx.h | 69
-include/asterisk/poll-compat.h | 30
-include/asterisk/pval.h | 1
-include/asterisk/res_odbc.h | 5
-include/asterisk/rtp.h | 17
-include/asterisk/say.h | 4
-include/asterisk/sched.h | 51
-include/asterisk/stringfields.h | 24
-include/asterisk/strings.h | 184 +-
-include/asterisk/taskprocessor.h | 16
-include/asterisk/tcptls.h | 80
-include/asterisk/threadstorage.h | 61
-include/asterisk/timing.h | 107 -
-include/asterisk/udptl.h | 3
-include/asterisk/utils.h | 50
-include/jitterbuf.h | 2
-main/Makefile | 19
-main/app.c | 96 -
-main/ast_expr2.c | 332 ++-
-main/ast_expr2.fl | 19
-main/ast_expr2.h | 4
-main/ast_expr2.y | 77
-main/ast_expr2f.c | 2308 +++-----------------------
-main/asterisk.c | 185 +-
-main/astfd.c | 275 +++
-main/astmm.c | 1
-main/astobj2.c | 36
-main/audiohook.c | 49
-main/autoservice.c | 9
-main/callerid.c | 12
-main/cdr.c | 7
-main/channel.c | 695 +++++--
-main/chanvars.c | 8
-main/cli.c | 17
-main/config.c | 45
-main/cryptostub.c | 1
-main/db.c | 11
-main/db1-ast/Makefile | 3
-main/db1-ast/hash/hash_page.c | 10
-main/db1-ast/recno/rec_open.c | 2
-main/devicestate.c | 70
-main/dial.c | 4
-main/dns.c | 2
-main/dnsmgr.c | 2
-main/dsp.c | 7
-main/editline/configure | 120 +
-main/editline/configure.in | 2
-main/editline/np/unvis.c | 2
-main/editline/read.c | 3
-main/editline/readline.c | 1
-main/editline/sys.h | 10
-main/enum.c | 89 -
-main/event.c | 501 ++++-
-main/features.c | 1096 +++++++++---
-main/file.c | 240 +-
-main/frame.c | 110 -
-main/global_datastores.c | 27
-main/hashtab.c | 24
-main/heap.c | 304 +++
-main/http.c | 57
-main/indications.c | 43
-main/io.c | 3
-main/jitterbuf.c | 32
-main/loader.c | 13
-main/logger.c | 38
-main/manager.c | 700 ++++----
-main/pbx.c | 419 +++-
-main/poll.c | 23
-main/rtp.c | 141 +
-main/say.c | 117 +
-main/sched.c | 44
-main/slinfactory.c | 10
-main/srv.c | 4
-main/stdtime/Makefile | 2
-main/taskprocessor.c | 2
-main/tcptls.c | 328 +--
-main/tdd.c | 1
-main/threadstorage.c | 38
-main/timing.c | 238 +-
-main/translate.c | 30
-main/udptl.c | 88 -
-main/utils.c | 338 ++-
-makeopts.in | 2
-pbx/Makefile | 2
-pbx/ael/ael-test/ref.ael-vtest13 | 152 -
-pbx/ael/ael-test/ref.ael-vtest17 | 2
-pbx/pbx_ael.c | 7
-pbx/pbx_config.c | 16
-pbx/pbx_dundi.c | 88 -
-pbx/pbx_lua.c | 4
-pbx/pbx_spool.c | 21
-res/Makefile | 2
-res/ael/ael.flex | 82
-res/ael/ael.tab.c | 1031 ++++++-----
-res/ael/ael.y | 147 +
-res/ael/ael_lex.c | 343 ++-
-res/ael/pval.c | 54
-res/ais/evt.c | 52
-res/res_agi.c | 388 ++--
-res/res_ais.c | 4
-res/res_config_odbc.c | 14
-res/res_config_sqlite.c | 19
-res/res_crypto.c | 10
-res/res_http_post.c | 14
-res/res_indications.c | 46
-res/res_jabber.c | 9
-res/res_monitor.c | 7
-res/res_musiconhold.c | 835 +++++----
-res/res_odbc.c | 69
-res/res_phoneprov.c | 18
-res/res_realtime.c | 6
-res/res_smdi.c | 30
-res/res_timing_dahdi.c | 24
-res/res_timing_pthread.c | 57
-res/snmp/agent.c | 14
-sounds/Makefile | 5
-sounds/sounds.xml | 2
-tests/test_heap.c | 223 ++
-utils/Makefile | 83
-utils/ael_main.c | 5
-utils/astcanary.c | 18
-utils/astman.c | 15
-utils/check_expr.c | 5
-utils/conf2ael.c | 4
-utils/expr2.testinput | 8
-utils/extconf.c | 216 +-
-utils/frame.c | 272 +--
-utils/muted.c | 13
-utils/refcounter.c | 2
-utils/smsq.c | 6
-utils/stereorize.c | 8
-utils/streamplayer.c | 7
-355 files changed, 21755 insertions(+), 13944 deletions(-)
-</pre><br/>
-<hr/>
-</body>
-</html>
diff --git a/asterisk-1.6.1.0-summary.txt b/asterisk-1.6.1.0-summary.txt
deleted file mode 100644
index d5a45e0b8..000000000
--- a/asterisk-1.6.1.0-summary.txt
+++ /dev/null
@@ -1,4673 +0,0 @@
- Release Summary
-
- asterisk-1.6.1.0
-
- Date: 2009-04-27
-
- <asteriskteam@digium.com>
-
- ----------------------------------------------------------------------
-
- Table of Contents
-
- 1. Summary
- 2. Contributors
- 3. Closed Issues
- 4. Other Changes
- 5. Diffstat
-
- ----------------------------------------------------------------------
-
- Summary
-
- [Back to Top]
-
- This release includes new features. For a list of new features that have
- been included with this release, please see the CHANGES file inside the
- source package. Since this is new major release, users are encouraged to
- do extended testing before upgrading to this version in a production
- environment.
-
- The data in this summary reflects changes that have been made since the
- previous release, asterisk-1.6.0.
-
- ----------------------------------------------------------------------
-
- Contributors
-
- [Back to Top]
-
- This table lists the people who have submitted code, those that have
- tested patches, as well as those that reported issues on the issue tracker
- that were resolved in this release. For coders, the number is how many of
- their patches (of any size) were committed into this release. For testers,
- the number is the number of times their name was listed as assisting with
- testing a patch. Finally, for reporters, the number is the number of
- issues that they reported that were closed by commits that went into this
- release.
-
- Coders Testers Reporters
- 146 tilghman 15 mmichelson 14 pj
- 133 mmichelson 12 murf 11 caspy
- 121 russell 10 blitzrage 11 davidw
- 61 file 7 russell 11 klaus3000
- 44 kpfleming 7 twilson 9 alecdavis
- 38 jpeeler 6 dvossel 9 eliel
- 35 murf 6 lmadsen 8 fnordian
- 22 dvossel 6 tilghman 7 chris-mac
- 22 seanbright 5 klaus3000 7 jcovert
- 20 twilson 4 alecdavis 5 dimas
- 12 mvanbaak 4 caspy 5 jaroth
- 12 rmudgett 4 file 5 makoto
- 11 eliel 4 jpeeler 5 tzafrir
- 11 mnicholson 3 davidw 4 andrew53
- 10 oej 3 jcovert 4 fiddur
- 7 dbailey 3 kowalma 4 francesco_r
- 6 klaus3000 3 mnicholson 4 lmadsen
- 5 alecdavis 3 Nick_Lewis 4 Marquis
- 5 fnordian 3 pj 4 Nick_Lewis
- 4 andrew53 2 aragon 4 smurfix
- 4 jamesgolovich 2 atis 4 ys
- 4 jaroth 2 chris-mac 3 adomjan
- 4 lmadsen 2 cristiandimache 3 atis
- 4 qwell 2 festr 3 cristiandimache
- 3 adomjan 2 fiddur 3 dwagner
- 3 bweschke 2 francesco_r 3 hjourdain
- 3 jcovert 2 jamesgolovich 3 jamesgolovich
- 3 Marquis 2 mav3rick 3 kowalma
- 2 bamby 2 mvanbaak 3 mjc
- 2 bkruse 2 oej 3 mmichelson
- 2 blitzrage 2 seanbright 3 moliveras
- 2 dant 2 triccyx 3 pabelanger
- 2 dhubbard 1 aborghi 3 tim_ringenbach
- 2 dimas 1 adomjan 2 amorsen
- 2 jthurman 1 afu 2 aragon
- 2 KNK 1 amorsen 2 bamby
- 2 Nick 1 aramirez 2 bluecrow76
- 2 smurfix 1 arcivanov 2 bluefox
- 2 ys 1 awk 2 dant
- 1 a 1 baron 2 dveiga
- 1 alphaque 1 barryf 2 evandro
- 1 arcivanov 1 barthpbx 2 festr
- 1 asbestoshead 1 BlargMaN 2 ffloimair
- 1 baron 1 bluefox 2 howardwilkinson
- 1 bergolth 1 bpgoldsb 2 IgorG
- 1 caspy 1 bujones 2 irroot
- 1 chappell 1 ccesario 2 jamessan
- 1 crich 1 ckjohnsonme 2 jcollie
- 1 dbrooks 1 CrashHD 2 jvandal
- 1 DEA 1 crich 2 kebl0155
- 1 dsedivec 1 dant 2 KNK
- 1 dveiga 1 deepesh 2 kobaz
- 1 dwpaul 1 denisgalvao 2 mdu113
- 1 fabled 1 denke 2 mnicholson
- 1 festr 1 efutch 2 oej
- 1 fiddur 1 eliel 2 performer
- 1 flyn 1 ffloimair 2 pkempgen
- 1 folke 1 fnordian 2 RadicAlish
- 1 hjourdain 1 gork 2 ruddy
- 1 howardwilkinson 1 ip-rob 2 russell
- 1 IgorG 1 jamessan 2 seandarcy
- 1 irroot 1 jeffg 2 srt
- 1 jcollie 1 jmls 2 tilghman
- 1 jpgrayson 1 john8675309 2 timking
- 1 junky 1 kc0bvu 2 tomo1657
- 1 jvandal 1 kebl0155 2 triccyx
- 1 kshumard 1 krisk84 1 a_villacis
- 1 mika 1 laurav 1 aborghi
- 1 mmaguire 1 legranjl 1 acunningham
- 1 nahuelgreco 1 leobrown 1 agalbraith
- 1 nic 1 Marquis 1 akkornel
- 1 nickpeirson 1 moliveras 1 alerios
- 1 nivek 1 nathan 1 alex70
- 1 paraeco 1 nickpeirson 1 alphaque
- 1 pdf 1 nivek 1 alx
- 1 ramonpeek 1 okrief 1 amessina
- 1 snuffy 1 pdf 1 andrew
- 1 sobomax 1 pinga-fogo 1 arkadia
- 1 srt 1 qualleyiv 1 asbestoshead
- 1 sruffell 1 rtrauntvein 1 awk
- 1 stegro 1 ruddy 1 baron
- 1 tecnoxarxa 1 Russell 1 barryf
- 1 tweety 1 sasargen 1 barthpbx
- 1 tzafrir 1 sascha 1 bcnit
- 1 ulogic 1 schern 1 bergolth
- 1 vinsik 1 sergedevorop 1 BlargMaN
- 1 vt 1 sgofferj 1 BMC
- 1 wedhorn 1 siepkes 1 bpgoldsb
- 1 wolfelectronic 1 Skavin 1 ccesario
- 1 snuffy 1 chappell
- 1 sobomax 1 cheesegrits
- 1 sodom 1 Christian_Pinedo
- 1 tacvbo 1 ckjohnsonme
- 1 tecnoxarxa 1 clegall_proformatique
- 1 tzafrir 1 corruptor
- 1 vadim 1 CrashHD
- 1 vazir 1 D_McNaul
- 1 ys 1 davevg
- 1 ZX81 1 ddl
- 1 DEA
- 1 decryptus_proformatique
- 1 deepesh
- 1 denke
- 1 DennisD
- 1 dome
- 1 dsedivec
- 1 dwpaul
- 1 dzajro
- 1 efutch
- 1 elguero
- 1 epicac
- 1 erogoza
- 1 explidous
- 1 fabled
- 1 ffs
- 1 fhackenberger
- 1 flyn
- 1 fmueller
- 1 folke
- 1 garychen
- 1 genie
- 1 gork
- 1 grant
- 1 greenfieldtech
- 1 guillecabeza
- 1 hoowa
- 1 hotsblanc
- 1 ibercom
- 1 igorcarneiro
- 1 infiniti_guy
- 1 ip-rob
- 1 itiliti
- 1 jcapp
- 1 jeffg
- 1 JimDickenson
- 1 jmls
- 1 john8675309
- 1 jpgrayson
- 1 jsmith
- 1 jthurman
- 1 jtodd
- 1 junky
- 1 kernelsensei
- 1 kombjuder
- 1 krisk84
- 1 kryptolus
- 1 kshumard
- 1 Laureano
- 1 legranjl
- 1 leobrown
- 1 linulin
- 1 macli
- 1 markd
- 1 marsosa
- 1 martins
- 1 marvinek
- 1 matt_b
- 1 Matti
- 1 mav3rick
- 1 maxgo
- 1 mbit
- 1 mcallist
- 1 meitinger
- 1 meric
- 1 mika
- 1 mmaguire
- 1 mostyn
- 1 mousepad99
- 1 moy
- 1 mthomasslo
- 1 mvanbaak
- 1 nahuelgreco
- 1 nathan
- 1 navis
- 1 navkumar
- 1 nemo
- 1 Netview
- 1 neutrino88
- 1 nic_bellamy
- 1 nickpeirson
- 1 nicox
- 1 nivek
- 1 Nugget
- 1 p_lindheimer
- 1 pananix
- 1 paraeco
- 1 pdf
- 1 pep
- 1 Peter Schlaile
- 1 pida
- 1 riksta
- 1 rtrauntvein
- 1 sasargen
- 1 sascha
- 1 schern
- 1 scramatte
- 1 seanbright
- 1 sergedevorop
- 1 sgofferj
- 1 shawkris
- 1 sherpya
- 1 Skavin
- 1 snuffy
- 1 snyfer
- 1 sobomax
- 1 sodom
- 1 stegro
- 1 stevenla
- 1 still_nsk
- 1 strk
- 1 stuarth
- 1 sum
- 1 sverre
- 1 tacvbo
- 1 tbelder
- 1 tecnoxarxa
- 1 toc
- 1 trevo
- 1 ulogic
- 1 vhatz
- 1 vicks1
- 1 vinsik
- 1 vrban
- 1 vsauer
- 1 vt
- 1 waverly360
- 1 wedhorn
- 1 ygor
- 1 yraber
- 1 ZX81
-
- ----------------------------------------------------------------------
-
- Closed Issues
-
- [Back to Top]
-
- This is a list of all issues from the issue tracker that were closed by
- changes that went into this release.
-
- Category: Addons/General
-
- #14847: Truncation problem with AMI ActionID
- Revision: 186722
- Reporter: kobaz
- Coders: mmichelson
-
- Category: Addons/New Feature
-
- #14734: AUDIOHOOK_INHERIT crash after sip attended transfer
- Revision: 185199
- Reporter: corruptor
- Coders: file
-
- Category: Applications/General
-
- #13473: [patch] Asterisk 1.6.0-rc6 crashes with ReceiveFAX
- Revision: 157785
- Reporter: genie
- Coders: tilghman
-
- #14011: [patch] Incorrect jump to extension
- Revision: 170053
- Reporter: dveiga
- Coders: dveiga
-
- Category: Applications/SLA
-
- #12471: No ringback toward SIP trunk on inbound SLA call (Again)
- Revision: 162302
- Reporter: mthomasslo
- Coders: russell
-
- Category: Applications/app_cdr
-
- #12694: [patch] Bad disposition on originated IAX2 calls
- Revision: 159375
- Reporter: yraber
- Testers: murf, laurav
- Coders: murf
-
- Category: Applications/app_chanspy
-
- #14111: [patch] app_chanspy crashed so-as "chanspy_ds.lock" has random
- values
- Revision: 165892
- Reporter: ys
- Coders: ys
-
- Category: Applications/app_dial
-
- #11583: [branch] Allow disconnect feature before a call is bridged
- Revision: 183198
- Reporter: sobomax
- Testers: sobomax, dvossel
- Coders: sobomax, murf, dvossel
-
- #12929: retrydial hangs up when using a silent soundfile as anouncement
- Revision: 158069
- Reporter: snyfer
- Coders: jpeeler
-
- #13216: [patch] Incorrect ANSWERTIME when using M option
- Revision: 152370
- Reporter: ruddy
- Testers: ruddy
- Coders: tilghman
-
- #13625: Dial with timeout 0 places a call and immediately cancels it.
- Revision: 149280
- Reporter: atis
- Coders: mmichelson
-
- #13764: 302 Redirect (forward no answer) to bad extension causes channel
- to be left up (Ringing)
- Revision: 159561
- Reporter: davidw
- Testers: mmichelson, davidw
- Coders: mmichelson
-
- #13793: app_dial doesn't report back DIALSTATUS, ANSWEREDTIME and
- DIALEDTIME
- Revision: 153266
- Reporter: greenfieldtech
- Coders: twilson
-
- #13851: Unlimited call for limited calls under 1 seconds (L option)
- Revision: 156389
- Reporter: ruddy
- Coders: tilghman
-
- #13898: [patch] Limit connect file and others will not play warnings
- Revision: 157255
- Reporter: alecdavis
- Testers: alecdavis
- Coders: tilghman
-
- #14118: Asterisk crashes when calling more than a single location
- Revision: 166275
- Reporter: lmadsen
- Testers: blitzrage
- Coders: mmichelson
-
- #14164: Dial() option d is not working
- Revision: 174947
- Reporter: DennisD
- Testers: mmichelson
- Coders: mmichelson
-
- #14601: [patch] Duplication of code for dial_exec_options 'option k' and
- 'option K'
- Revision: 180122
- Reporter: alecdavis
- Coders: alecdavis
-
- #14647: Incorrect argument parsing in RetryDial causes asterisk to crash
- Revision: 181614
- Reporter: sherpya
- Coders: file
-
- #14845: asterisk does not play warning file when have SIP-SIP
- Packet2Packet bridging
- Revision: 186835
- Reporter: adomjan
- Coders: mmichelson
-
- Category: Applications/app_directed_pickup
-
- #14005: Pickup() can't pickup calls to some SIP devices
- Revision: 162344
- Reporter: ddl
- Coders: file
-
- Category: Applications/app_directory
-
- #13804: app_directory crashses Asterisk when voicemail entry doesn't have
- a name
- Revision: 152648
- Reporter: bluecrow76
- Coders: mmichelson
-
- Category: Applications/app_disa
-
- #13330: [patch] DISA does not accept extensions beginning with "#"
- Revision: 162018
- Reporter: jcovert
- Coders: russell
-
- Category: Applications/app_echo
-
- #13697: [patch] Comply with trunk coding guidlines
- Revision: 149589
- Reporter: alecdavis
- Coders: alecdavis
-
- Category: Applications/app_externalivr
-
- #14251: Externalivr not sending 'H' event on channel hangup.
- Revision: 174330
- Reporter: chris-mac
- Testers: dvossel
- Coders: dvossel
-
- Category: Applications/app_fax
-
- #13688: [patch] Update app_fax to work with spandsp-0.0.6
- Revision: 148869
- Reporter: irroot
- Coders: irroot
-
- #14073: app_fax needs additional include to build with spandsp-0.0.6pre3
- Revision: 164266
- Reporter: seandarcy
- Coders: file
-
- Category: Applications/app_festival
-
- #14038: apps/app_festival.c does not compile for PPC target
- Revision: 162278
- Reporter: ffloimair
- Coders: file
-
- Category: Applications/app_followme
-
- #14140: [patch] followme should answer the call
- Revision: 167502
- Reporter: dimas
- Coders: dimas
-
- #14758: app_followme doesn't initialize targs
- Revision: 184845
- Reporter: tim_ringenbach
- Coders: russell
-
- Category: Applications/app_macro
-
- #13363: [patch] Device Side transfer of a call between 2 extensions leads
- to failure because MACRO_DEPTH is not reset
- Revision: 165323
- Reporter: p_lindheimer
- Coders: tilghman
-
- Category: Applications/app_meetme
-
- #13173: [branch] Asterisk blocked when 2 or more users leave a meetme when
- announce user is on
- Revision: 156247
- Reporter: pep
- Coders: jpeeler
-
- #13522: [patch] Incorrect calculation of Realtime conference announcements
- Revision: 147719
- Reporter: DEA
- Coders: DEA
-
- #13555: Joining a MeetMe conference and hanging up shortly after results
- in SIGSEGV
- Revision: 146698
- Reporter: jeffg
- Testers: jeffg
- Coders: kpfleming
-
- #13889: [patch] Memory leak if the sla_thread is not running
- Revision: 156296
- Reporter: eliel
- Coders: eliel
-
- #13899: After upgrading from 1.4.21.2 to 1.4.22 running MeetMe with D
- option doesn't ask for conference PIN
- Revision: 157367
- Reporter: akkornel
- Coders: jpeeler
-
- #14117: Incorrect processing of "maxuser" parameter in real-time meetme
- Revision: 168707
- Reporter: sergedevorop
- Testers: sergedevorop
- Coders: seanbright
-
- #14282: conference calling crashes Asterisk
- Revision: 170150
- Reporter: cheesegrits
- Coders: file
-
- #14322: MeetMe conference crashes Asterisk 95% of the time when the last
- user hangs up/exits the conference.
- Revision: 174043
- Reporter: amessina
- Coders: file
-
- #14482: [patch] FreeBSD: set nonblocking mode on /dev/dahdi/pseudo failed.
- Revision: 176257
- Reporter: ys
- Testers: ys
- Coders: ys
-
- Category: Applications/app_minivm
-
- #13943: [patch] Multiple bugs in app_minivm
- Revision: 167836
- Reporter: Marquis
- Coders: Marquis
-
- #14081: MinivmAccMess() does not set MINIVM_ACCMESS_STATUS
- Revision: 164625
- Reporter: pkempgen
- Coders: russell
-
- Category: Applications/app_mixmonitor
-
- #13116: Asterisk 1.4.21.1 segfaults many times daily using mixmonitor
- Revision: 171624
- Reporter: aragon
- Coders: mmichelson
-
- #13538: [patch] Recording stops after Transfer when using MixMonitor()
- Revision: 166098
- Reporter: mbit
- Testers: mmichelson
- Coders: mmichelson
-
- Category: Applications/app_page
-
- #14217: [patch] app_page causes undefined behavior when paging a page
- group with more than 128 extensions
- Revision: 168596
- Reporter: a_villacis
- Testers: twilson
- Coders: a
-
- #14308: Paging application crashes asterisk
- Revision: 170982
- Reporter: bluefox
- Testers: kc0bvu
- Coders: seanbright
-
- Category: Applications/app_parkandannounce
-
- #14215: Asterisk crashes anytime a call is parked by any method.
- Revision: 168981
- Reporter: waverly360
- Testers: twilson
- Coders: twilson
-
- #14304: ParkAndAnnounce loses "priority" of the return argument
- Revision: 170049
- Reporter: jcovert
- Coders: file
-
- Category: Applications/app_queue
-
- #12884: [patch] Queue is treated as empty if it isn't, but no agents meet
- the QUEUE_MIN_PENALTY and QUEUE_MAX_PENALTY criteria
- Revision: 152645
- Reporter: bcnit
- Testers: twilson
- Coders: twilson
-
- #13220: [patch] Calls in high-weighted queue block low-weighted
- Revision: 185088
- Reporter: garychen
- Coders: mmichelson
-
- #13395: [patch] Attended transfers do not call update_queue until after
- transfered call ends
- Revision: 149203
- Reporter: Marquis
- Coders: Marquis
-
- #13548: exten = 2813,n, Queue(test,c,,,,,,inqueue) craches when went into
- invalid extension
- Revision: 160628
- Reporter: fiddur
- Coders: mmichelson
-
- #13883: Join event uses CallerID header for caller ID number, when other
- events now use CallerIDNum
- Revision: 158927
- Reporter: davidw
- Coders: mnicholson
-
- #14014: [patch] DAHDI group dials/members broken with AddQueueMember /
- queue member add
- Revision: 169613
- Reporter: kebl0155
- Testers: kebl0155
- Coders: mmichelson
-
- #14033: Delete a queue from realtime crashes Asterisk
- Revision: 164273
- Reporter: cristiandimache
- Testers: cristiandimache
- Coders: mmichelson
-
- #14034: app_queue does not update on realtime update
- Revision: 163875
- Reporter: cristiandimache
- Testers: twilson, cristiandimache
- Coders: twilson
-
- #14060: [patch] Astrerisk crashes using the app_queue.c transfer
- datastores
- Revision: 163083
- Reporter: nivek
- Testers: nivek
- Coders: nivek
-
- #14086: Address out of bounds in queue_log using transfer
- Revision: 168631
- Reporter: ZX81
- Testers: ZX81, festr
- Coders: mmichelson
-
- #14173: Agent shows "(In use)" and will not receive queue calls while
- agent is logged in waiting for queue calls (1.4.22)
- Revision: 171693
- Reporter: nathan
- Testers: nathan, aramirez
- Coders: mmichelson
-
- #14179: chan local show as invalid in app queue
- Revision: 167491
- Reporter: CrashHD
- Testers: CrashHD
- Coders: lmadsen
-
- #14227: queue-thankyou should be played only if needed
- Revision: 174950
- Reporter: caspy
- Testers: caspy
- Coders: mmichelson
-
- #14227: queue-thankyou should be played only if needed
- Revision: 180009
- Reporter: caspy
- Coders: mmichelson
-
- #14227: queue-thankyou should be played only if needed
- Revision: 182123
- Reporter: caspy
- Coders: mmichelson
-
- #14260: Asterisk crashes anytime in call queues
- Revision: 171620
- Reporter: ccesario
- Testers: ccesario
- Coders: mmichelson
-
- #14272: Queue timeout default is wrong
- Revision: 169575
- Reporter: timking
- Coders: mmichelson
-
- #14359: The status of a local channel in state_interface of a queue is
- wrong the first time is added and lost after a reload
- Revision: 173541
- Reporter: francesco_r
- Coders: mmichelson
-
- #14376: autopause should not pause interfaces that are busy
- Revision: 173695
- Reporter: fiddur
- Testers: fiddur
- Coders: mmichelson
-
- #14672: Incorrect calling of free() at alloc_queue() in app_queue.c
- Revision: 185263
- Reporter: makoto
- Coders: russell
-
- #14680: unfreed memory in try_calling
- Revision: 183246
- Reporter: caspy
- Testers: caspy
- Coders: mmichelson
-
- Category: Applications/app_read
-
- #14279: [patch] Pressing only # when app_read is playing multiple prompts
- does not act as expected
- Revision: 180080
- Reporter: Marquis
- Testers: Marquis, dvossel
- Coders: Marquis, dvossel
-
- Category: Applications/app_record
-
- #13669: If the user hangup during recording, recorded file isn't removed
- Revision: 164960
- Reporter: pj
- Coders: jpeeler
-
- #14341: [patch] delete file on hangup in app_record does not make sense
- Revision: 175551
- Reporter: fnordian
- Coders: file
-
- Category: Applications/app_rpt
-
- #14435: Asterisk 1.6.1-rc1 compile bomb in apps/app_rpt - undefined
- AST_PBX_KEEPALIVE at line #13622
- Revision: 174437
- Reporter: D_McNaul
- Coders: murf
-
- Category: Applications/app_sms
-
- #13594: SMS help is incorrect, Typo
- Revision: 147593
- Reporter: alecdavis
- Testers: alecdavis
- Coders: tilghman
-
- #13595: SMS receive file name incorrect
- Revision: 147593
- Reporter: alecdavis
- Testers: alecdavis
- Coders: tilghman
-
- #13617: [patch] SMS app ignores parameter 'p' - initial pause
- Revision: 148986
- Reporter: alecdavis
- Coders: alecdavis
-
- #13675: [patch] app_sms doesn't answer the call, currently requires
- Answer() before hand
- Revision: 150258
- Reporter: alecdavis
- Coders: alecdavis
-
- #14881: [patch] smsq uses '|' rather than ',' for options in call file
- Revision: 188208
- Reporter: stegro
- Coders: stegro
-
- Category: Applications/app_test
-
- #12442: pri loop TestClient/TestServer fails: server SEND DTMF 8
- Revision: 184394
- Reporter: tzafrir
- Coders: dvossel
-
- Category: Applications/app_transfer
-
- #13579: blindxfer doesn't work properly
- Revision: 148115
- Reporter: dwagner
- Testers: murf, mmichelson
- Coders: mmichelson
-
- #13789: [patch] Application not accept any option after deleting jump+101
- Revision: 152133
- Reporter: IgorG
- Coders: IgorG
-
- #14374: Revision 172517 segfault after using A *2 transfer to B and B dial
- *2
- Revision: 173591
- Reporter: aragon
- Testers: aragon, mmichelson
- Coders: mmichelson
-
- Category: Applications/app_voicemail
-
- #14377: MAILBOX_EXISTS crashes Asterisk when called with empty argument
- Revision: 172743
- Reporter: amorsen
- Coders: tilghman
-
- #14406: [patch] Voicemail message recording file is shorter than duration
- reported in msg????.txt
- Revision: 179471
- Reporter: sasargen
- Testers: sasargen
- Coders: tilghman
-
- #14599: searchcontexts=yes causes voicemail boxes to be setup wrong
- Revision: 180425
- Reporter: lmadsen
- Testers: lmadsen
- Coders: mmichelson
-
- #14685: When using IMAP voicemail storage, you cannot retrieve messages by
- logging into VoicemailMain()
- Revision: 186288
- Reporter: BlargMaN
- Testers: BlargMaN, qualleyiv, mmichelson
- Coders: mmichelson
-
- #14736: [patch] message "you have no messages" garbled
- Revision: 185471
- Reporter: chappell
- Coders: chappell
-
- #14912: voicemail umask / permissions bug
- Revision: 188776
- Reporter: jcapp
- Coders: tilghman
-
- Category: Applications/app_voicemail/IMAP
-
- #13605: [patch] Compile error with IMAP_STORAGE due to removed
- autoconfig.h in Makefile
- Revision: 148240
- Reporter: tomo1657
- Testers: mmichelson
- Coders: seanbright
-
- #13642: [patch] Messages not deleted properly when delete=yes in
- voicemail.conf
- Revision: 157563
- Reporter: jaroth
- Coders: jaroth
-
- #13652: [patch] Asterisk IMAP headers are not processed correctly
- Revision: 148151
- Reporter: jaroth
- Coders: jaroth
-
- #13653: [patch] Shared IMAP mailboxes can cause the server to crash
- Revision: 165808
- Reporter: howardwilkinson
- Testers: jpeeler
- Coders: howardwilkinson
-
- #13673: [patch] Addition of a Mailbox id facility to allow shared
- mailboxes to work
- Revision: 173699
- Reporter: howardwilkinson
- Coders: jpeeler
-
- #13829: [patch] Hang up during call forward into voicemail crashes
- Asterisk.
- Revision: 154092
- Reporter: jaroth
- Coders: tilghman
-
- #13853: mwi activates for more than one mailbox if they have the same
- mailbox name but different contexts.
- Revision: 180467
- Reporter: vicks1
- Testers: lmadsen
- Coders: mmichelson
-
- #13905: [patch] Messages not marked as read/unread properly when moved
- from New to Old folder and back.
- Revision: 173775
- Reporter: jaroth
- Coders: jaroth
-
- #14063: [patch] Urgent messages are automatically forwarded as urgent
- Revision: 163214
- Reporter: jaroth
- Coders: jaroth
-
- #14253: [patch] app_voicemail leaves sockets in close wait.
- Revision: 177539
- Reporter: Skavin
- Testers: Skavin
- Coders: tilghman
-
- #14473: [patch] Crash in VoiceMailMain if hangup occurs before a valid
- mailbox number is entered (IMAP only)
- Revision: 175593
- Reporter: dwpaul
- Coders: dwpaul
-
- Category: Applications/app_voicemail/NewFeature
-
- #11678: [patch] Notification email should use the voicemail's metadata
- Revision: 186448
- Reporter: jamessan
- Testers: tilghman, lmadsen
- Coders: tilghman
-
- Category: Applications/app_voicemail/ODBC
-
- #13659: [patch] User not notified that a temporary greeting is active when
- using ODBC voicemail
- Revision: 148269
- Reporter: moliveras
- Testers: moliveras
- Coders: tilghman
-
- Category: Applications/app_waitforsilence
-
- #13658: WAITSTATUS will never get set for digitally muted channels
- Revision: 149063
- Reporter: explidous
- Coders: tilghman
-
- Category: CDR/General
-
- #13597: clid will only set number not name
- Revision: 160766
- Reporter: john8675309
- Testers: murf, john8675309
- Coders: murf
-
- #14306: CDR not written when Busy() used
- Revision: 189069
- Reporter: cristiandimache
- Coders: mnicholson
-
- Category: CDR/cdr_csv
-
- #13942: On a configuration reload, cdr_csv ignores options if cdr.conf was
- unchanged
- Revision: 158377
- Reporter: davidw
- Testers: davidw
- Coders: twilson
-
- Category: CDR/cdr_pgsql
-
- #14058: cdr_pgsql does not work in asterisk 1.6.0.x
- Revision: 164355
- Reporter: navis
- Coders: tilghman
-
- Category: CDR/cdr_sqlite3_custom
-
- #14563: Segmentation fault caused by sqlite3_log
- Revision: 179163
- Reporter: alerios
- Coders: tilghman
-
- Category: Channels/General
-
- #13505: Memory leak in channel variables
- Revision: 149202
- Reporter: mav3rick
- Testers: mav3rick, triccyx
- Coders: tilghman
-
- #13676: channel get stuck on ast_queue_frame when hanging up
- Revision: 148915
- Reporter: tacvbo
- Testers: tacvbo
- Coders: mmichelson
-
- #13962: Blind transfer does not work upgrade to 1.4.23-rc1
- Revision: 165323
- Reporter: francesco_r
- Coders: tilghman
-
- Category: Channels/chan_agent
-
- #12269: [branch] Deadlock after Originate from AMI to Agent
- Revision: 168510
- Reporter: IgorG
- Testers: denisgalvao
- Coders: jpeeler
-
- #13921: Configuration reload overrides channel variable setting of ackcall
- (autologoff, acceptdtmf and enddtmf)
- Revision: 159438
- Reporter: davidw
- Testers: davidw
- Coders: mmichelson
-
- #14091: autologoff does not work
- Revision: 189206
- Reporter: evandro
- Coders: dvossel
-
- Category: Channels/chan_dahdi
-
- #13034: [patch] 183 response although progressinband=never
- Revision: 183333
- Reporter: klaus3000
- Testers: klaus3000
- Coders: tilghman, klaus3000
-
- #13408: [patch] send rel with unallocated cause code insted of normal call
- clearing when call invalid extension
- Revision: 155325
- Reporter: adomjan
- Coders: adomjan
-
- #13759: [patch] Obvious typo (logic error)
- Revision: 151602
- Reporter: smurfix
- Coders: smurfix
-
- #13786: [patch] DAHDI_CHECK_HOOKSTATE automatically defined when
- chan_dahdi is built with zaptel support
- Revision: 160329
- Reporter: tzafrir
- Coders: jpeeler
-
- #14057: Deadlock chan_dahdi.c and channel.c
- Revision: 166440
- Reporter: rtrauntvein
- Testers: rtrauntvein
- Coders: mmichelson
-
- #14090: [patch] unable to set DAHDI_VMWI to lower level drivers
- Revision: 164604
- Reporter: alecdavis
- Coders: alecdavis
-
- #14113: Asterisk 1.6.1-beta4 and 1.6.0.3-rc1 always crash when dialing or
- receiving a call trough wcb4xxp
- Revision: 166571
- Reporter: francesco_r
- Testers: francesco_r
- Coders: mmichelson
-
- #14655: [patch] Wrong text for HELP DAHDI
- Revision: 183703
- Reporter: ulogic
- Testers: lmadsen
- Coders: ulogic
-
- Category: Channels/chan_h323
-
- #11261: [patch] chan_h323 with H323Plus for TRUNK (SVN rev. 89183)
- Revision: 182724
- Reporter: vhatz
- Coders: jthurman
-
- #11966: Compile Fail when enable Module Embedding
- Revision: 187914
- Reporter: dome
- Testers: jpeeler
- Coders: kpfleming
-
- #12415: chan_h323 doesn't respect rtp packetization settings
- Revision: 189996
- Reporter: pj
- Coders: mvanbaak
-
- #13219: possible missing unlock
- Revision: 164884
- Reporter: pj
- Coders: russell
-
- #13400: [patch] POSIX thread operations errors
- Revision: 152974
- Reporter: Matti
- Coders: tilghman
-
- #14715: [patch] Simplify h323 Make process
- Revision: 184840
- Reporter: jthurman
- Testers: tzafrir, russell
- Coders: jthurman
-
- Category: Channels/chan_iax2
-
- #13011: [patch] find_idle_thread() uses spin wait
- Revision: 154917
- Reporter: jpgrayson
- Coders: jpgrayson
-
- #13232: [patch] iax2-provision is not freeing iax_templates structure.
- Revision: 160665
- Reporter: eliel
- Testers: eliel
- Coders: eliel
-
- #13468: IAX Transfer/releasing between 3 asterisk's are not working.
- Revision: 173506
- Reporter: nicox
- Testers: dvossel
- Coders: dvossel
-
- #13628: IAX port change using dnsmgr
- Revision: 166272
- Reporter: pananix
- Testers: file, blitzrage
- Coders: jpeeler
-
- #13645: chan_iax2 isn't using HANGUP anymore?
- Revision: 156288
- Reporter: dzajro
- Testers: vazir
- Coders: tilghman
-
- #13717: [patch] 1.6.0.1 crashes randomly
- Revision: 154367
- Reporter: kowalma
- Testers: kowalma
- Coders: tilghman
-
- #13918: [patch] IAX2 not conforming to standard
- Revision: 159249
- Reporter: ffloimair
- Testers: ffloimair
- Coders: tilghman
-
- #13919: [patch] Asterisk core dumps random
- Revision: 159280
- Reporter: barthpbx
- Testers: barthpbx
- Coders: eliel
-
- #14082: no iax trunking on 1.6.1-beta3
- Revision: 164527
- Reporter: seandarcy
- Coders: russell
-
- #14283: Codec negotiation fails on calls from 1.2 -> 1.6, and is
- sub-optimum on calls from 1.6->1.6
- Revision: 177700
- Reporter: jcovert
- Coders: dvossel
-
- #14607: chan_iax2.c: Packet Decrypt Failed! encrypted IAX2 during packet
- loss causes hangup and end of call
- Revision: 181373
- Reporter: stevenla
- Testers: dvossel
- Coders: dvossel
-
- Category: Channels/chan_local
-
- #13343: Local channel does not support exten/callerid style dialplan
- entries (ast_exists_extension placement).
- Revision: 146715
- Reporter: efutch
- Testers: efutch
- Coders: tilghman
-
- #13368: [patch] chan_local doesn't copy the dialplan (cid.cid_ton) into
- the new channel
- Revision: 152217
- Reporter: Peter Schlaile
- Coders: tilghman
-
- #13807: [patch] Missing mutex unlock on error inside local_call().
- Revision: 152924
- Reporter: eliel
- Coders: eliel
-
- #14189: segmentation fault in local_queue_frame at chan_local.c:172
- Revision: 169213
- Reporter: sascha
- Testers: sascha
- Coders: mmichelson
-
- #14656: [patch] unfreed memory in Local channel
- Revision: 182280
- Reporter: caspy
- Testers: caspy
- Coders: tilghman
-
- Category: Channels/chan_mgcp
-
- #13785: [patch] Memory leak while reloading chan_mgcp.so
- Revision: 152444
- Reporter: eliel
- Coders: eliel
-
- Category: Channels/chan_misdn
-
- #13488: mISDN rejects incoming calls
- Revision: 185126
- Reporter: Christian_Pinedo
- Testers: crich, siepkes, festr
- Coders: crich
-
- Category: Channels/chan_oss
-
- #13686: [patch] Console/dsp not hanging up after playing sound file.
- Revision: 171190
- Reporter: itiliti
- Coders: tilghman
-
- Category: Channels/chan_sip/CodecHandling
-
- #14000: [patch] Wrong usage of sscanf with use of uninitialized variable
- caused accidental parsing of RTP/SAVP
- Revision: 160325
- Reporter: folke
- Coders: folke
-
- #14249: One way voice after attended transfer
- Revision: 170664
- Reporter: RadicAlish
- Coders: file
-
- Category: Channels/chan_sip/DatabaseSupport
-
- #14196: [patch] Realtime peers are never qualified after 'sip reload'
- Revision: 176461
- Reporter: pdf
- Testers: pdf
- Coders: pdf
-
- Category: Channels/chan_sip/General
-
- #12006: [patch] chan_sip fails to set contact, via, and sdp headers
- correctly with outboundproxy set
- Revision: 188069
- Reporter: mnicholson
- Coders: file
-
- #12013: SIP with canreinvite=yes through multiple Asterisk instances fails
- Revision: 185848
- Reporter: alx
- Coders: dvossel
-
- #12761: [patch] chan_sip: build_contact() does not put alternate port
- setting in Contact header
- Revision: 151513
- Reporter: asbestoshead
- Coders: asbestoshead
-
- #12994: [patch] Spamming CLI / logs with 'Remote host can't match request
- BYE to call...'
- Revision: 158084
- Reporter: pabelanger
- Coders: mmichelson
-
- #13071: [patch] OPTIONS response on default port.
- Revision: 168196
- Reporter: baron
- Testers: baron
- Coders: baron
-
- #13209: DTMF RFC2833 via SIP is not working
- Revision: 162207
- Reporter: ip-rob
- Testers: ip-rob, bujones
- Coders: file
-
- #13383: [patch] Turn off qualify on uncached realtime peers
- Revision: 153123
- Reporter: tilghman
- Coders: tilghman
-
- #13474: [patch] usereqphone parameter doesn't work
- Revision: 161729
- Reporter: mmaguire
- Coders: mmaguire
-
- #13531: [patch] Hold logic broken?
- Revision: 158232
- Reporter: sgofferj
- Testers: sgofferj
- Coders: mmichelson
-
- #13545: Channel re-invited on destination ringing not re-invited back if
- ringing abandoned.
- Revision: 165605
- Reporter: davidw
- Coders: file
-
- #13547: [patch] Asterisk crash getting fax by sip channel
- Revision: 174086
- Reporter: tecnoxarxa
- Testers: tecnoxarxa
- Coders: tecnoxarxa
-
- #13602: [patch] Bad handling of Contact header, which should not be
- present in 1XX responses to REGISTER, but also in several other case
- Revision: 173964
- Reporter: hjourdain
- Testers: mnicholson
- Coders: mnicholson
-
- #13602: [patch] Bad handling of Contact header, which should not be
- present in 1XX responses to REGISTER, but also in several other case
- Revision: 173966
- Reporter: hjourdain
- Testers: mnicholson
- Coders: mnicholson
-
- #13626: [patch] CANCEL before Trying
- Revision: 155469
- Reporter: atis
- Testers: atis
- Coders: mmichelson
-
- #13634: Asterisk fills "via" header not correctly.
- Revision: 164662
- Reporter: performer
- Coders: file
-
- #13644: insecure doesn't work
- Revision: 148377
- Reporter: pj
- Testers: pj
- Coders: mmichelson
-
- #13668: sip show inuse count is negative
- Revision: 148375
- Reporter: mjc
- Coders: mmichelson
-
- #13668: sip show inuse count is negative
- Revision: 157429
- Reporter: mjc
- Coders: wolfelectronic
-
- #13700: [patch] peer outboundproxy-ptr is copied to dialog and then freed
- Revision: 149803
- Reporter: fnordian
- Testers: fnordian
- Coders: mmichelson
-
- #13705: Can't use type=friend anymore in sip.conf
- Revision: 151328
- Reporter: lmadsen
- Coders: bweschke
-
- #13706: [patch] SIP_NOTIFY message incorrectly builds address in the To:
- tag
- Revision: 151514
- Reporter: andrew53
- Coders: andrew53
-
- #13710: [patch] MWI NOTIFY always tries to use UDP, even if the peer is
- connected via TCP
- Revision: 151430
- Reporter: andrew53
- Coders: andrew53
-
- #13713: [patch] Inband DTMF on outbound call is not detected when
- dtmfmode=auto
- Revision: 181298
- Reporter: makoto
- Coders: file
-
- #13714: [patch] invites with proxy_auth have wrong via-branch-tag
- Revision: 150208
- Reporter: fnordian
- Coders: fnordian
-
- #13715: [patch] Using SIP_HEADER in AMI with NULL channel causes crash
- Revision: 150303
- Reporter: makoto
- Coders: mmichelson
-
- #13715: [patch] Using SIP_HEADER in AMI with NULL channel causes crash
- Revision: 150829
- Reporter: makoto
- Coders: bweschke
-
- #13727: [patch] resolving hostnames should ignore uri-paramters
- Revision: 151421
- Reporter: fnordian
- Coders: fnordian
-
- #13795: [patch] Incorrect use of sizeof()
- Revision: 152573
- Reporter: andrew53
- Coders: andrew53
-
- #13811: peer matching issue when use type=peer
- Revision: 163640
- Reporter: pj
- Coders: file
-
- #13849: problem handling race condition - reINVITE before ACK
- Revision: 187495
- Reporter: klaus3000
- Testers: mmichelson, klaus3000
- Coders: mmichelson
-
- #13867: [patch] Reject an incoming call to peer due to call limit with
- "603 Declined". It`s not correct.
- Revision: 158067
- Reporter: still_nsk
- Testers: blitzrage
- Coders: mmichelson
-
- #13878: [patch] Can't record early media after sending a "183 Session
- Progress".
- Revision: 157531
- Reporter: nahuelgreco
- Testers: mmichelson
- Coders: nahuelgreco
-
- #13970: CLI command "help sip set history {on|off}" shows deprectated
- usage in help text
- Revision: 165794
- Reporter: pkempgen
- Coders: blitzrage
-
- #13989: Enabling qualify on a SIP TCP peer brings pain and coredumps
- Revision: 163656
- Reporter: Nugget
- Coders: russell
-
- #14055: "outboundproxy" in "general" section of sip.conf doesn't work
- Revision: 165218
- Reporter: chris-mac
- Coders: file
-
- #14110: [patch] SIPAddHeader problems with escaping and quoting
- Revision: 166698
- Reporter: gork
- Testers: gork, mmichelson
- Coders: tilghman
-
- #14149: Continuation - Handle BYE instead of CANCEL from callers (issue
- 0004994)
- Revision: 181771
- Reporter: legranjl
- Testers: legranjl
- Coders: mmichelson
-
- #14180: sip show users does not exist
- Revision: 168611
- Reporter: amorsen
- Testers: blitzrage, amorsen
- Coders: mmichelson
-
- #14192: upgrading from asterisk-1.6.0.3 to branch/asterisk-1.6.1 breaks
- qualify for TCP peer
- Revision: 169082
- Reporter: pabelanger
- Testers: jamesgolovich
- Coders: jamesgolovich
-
- #14220: SIP INVITE packets are incorrectly truncated with 1.6.1 svn after
- approx 1020 characters
- Revision: 169559
- Reporter: riksta
- Testers: mmichelson
- Coders: mmichelson
-
- #14233: port :0 added to SIP INVITE URI when 'outboundproxy' used in
- [general] section of sip.conf
- Revision: 169079
- Reporter: chris-mac
- Testers: jamesgolovich, chris-mac, twilson
- Coders: jamesgolovich
-
- #14256: [patch] SIP Channel name is not unique
- Revision: 188949
- Reporter: Nick_Lewis
- Testers: Nick_Lewis, file
- Coders: Nick
-
- #14295: SIP on hold problems
- Revision: 170507
- Reporter: klaus3000
- Coders: file
-
- #14310: No voice (ringing tone) after call was diverted
- Revision: 170571
- Reporter: RadicAlish
- Coders: file
-
- #14399: wrong call-limit count when counteronpeer=yes
- Revision: 174545
- Reporter: caspy
- Coders: file
-
- #14447: Type uninitialized
- Revision: 174582
- Reporter: triccyx
- Coders: file
-
- #14497: [patch] Wrong order of Channeltype and Uniqueid sent to manager
- from chan_sip.c
- Revision: 177007
- Reporter: vinsik
- Coders: vinsik
-
- #14505: Resolve remaining issues left over from 'kill-the-user'
- Revision: 180263
- Reporter: lmadsen
- Coders: russell
-
- #14686: Regression: #13867 Reject an incoming call to peer due to call
- limit with "603 Declined". It`s not correct.
- Revision: 186839
- Reporter: davidw
- Coders: mmichelson
-
- #14727: lock or crash after changing sip 'transport'
- Revision: 189774
- Reporter: pj
- Testers: dvossel
- Coders: dvossel
-
- #14784: crash after native bridging
- Revision: 187678
- Reporter: pj
- Coders: tilghman
-
- Category: Channels/chan_sip/Interoperability
-
- #14025: sip register: reserved character check not RFC 3261 compliant
- Revision: 162666
- Reporter: ffs
- Coders: mmichelson
-
- #14346: [patch] CANCEL gets different via header branch than INVITE
- Revision: 171540
- Reporter: oej
- Testers: oej
- Coders: oej
-
- #14419: [patch] Asterisk must not perform SRV lookups if a port is
- specified in the URI
- Revision: 174326
- Reporter: klaus3000
- Coders: klaus3000
-
- #14611: [patch] SIP Attended Transfer fails
- Revision: 181035
- Reporter: klaus3000
- Testers: klaus3000
- Coders: klaus3000
-
- #14628: "SIP/2.0 404 Not found" when attended transferring a private
- number
- Revision: 181359
- Reporter: sverre
- Coders: file
-
- Category: Channels/chan_sip/NewFeature
-
- #13601: Add reboot-snom to sip_notify
- Revision: 146314
- Reporter: mjc
- Testers: seanbright
- Coders: seanbright
-
- Category: Channels/chan_sip/Registration
-
- #13309: [patch] chan_sip does not always create regexten for registering
- peers
- Revision: 149209
- Reporter: dimas
- Coders: dimas
-
- #13570: [patch] Malformed registration line is copied verbatim in To and
- From headers
- Revision: 149132
- Reporter: mmichelson
- Coders: mmichelson
-
- #13599: [patch] When unregistering a UA, 200 OK response from Asterisk is
- not SIP compliant
- Revision: 162741
- Reporter: hjourdain
- Coders: hjourdain
-
- #13633: Asterisk won't register if SIP-port at peer differ than local
- (5060)
- Revision: 162622
- Reporter: performer
- Coders: file
-
- #13783: [patch] Cannot register with sip providers that require '@' in the
- username
- Revision: 162666
- Reporter: navkumar
- Coders: mmichelson
-
- #13809: insufficent log information
- Revision: 155400
- Reporter: denke
- Testers: denke
- Coders: tilghman
-
- #14107: Incoming SIP invites don't match properly
- Revision: 165606
- Reporter: jsmith
- Coders: file
-
- #14176: [patch] send out the incorrect register request URI to the
- (fromdomain) outbound proxy
- Revision: 168582
- Reporter: paraeco
- Coders: paraeco
-
- #14185: [patch] Setting registration expiry in registration string does
- not work
- Revision: 172235
- Reporter: Nick_Lewis
- Testers: Nick_Lewis
- Coders: Nick
-
- #14205: Unable to register SIP device with realtime in 1.6.x
- Revision: 172133
- Reporter: maxgo
- Testers: blitzrage
- Coders: tilghman
-
- #14211: Asterisk Crashes with signal 11 (segmentation fault) at random
- intervals (but at least 2 times a day)
- Revision: 168979
- Reporter: aborghi
- Testers: aborghi
- Coders: mmichelson
-
- #14284: [patch] Asterisk retransmits the 401 response of failed REGISTER
- Revision: 171361
- Reporter: klaus3000
- Testers: klaus3000
- Coders: klaus3000
-
- #14668: register: '/' in username not supported
- Revision: 187388
- Reporter: Netview
- Coders: tilghman
-
- #14885: [patch] rtupdate=no not working
- Revision: 188838
- Reporter: deepesh
- Testers: deepesh
- Coders: tilghman
-
- Category: Channels/chan_sip/Subscriptions
-
- #12560: [patch] Problems with NOTIFY due to Asterisk sending wrong CALL-ID
- and duplicate sip: tag in header of NOTIFY
- Revision: 162807
- Reporter: vsauer
- Coders: ramonpeek
-
- #13238: False state in core show hints
- Revision: 174846
- Reporter: kowalma
- Testers: alecdavis
- Coders: tilghman
-
- #13327: pattern match for a hints always gives state:idle for all
- extensions
- Revision: 162949
- Reporter: pj
- Coders: tilghman
-
- #13525: hint change state to Idle when peer reregisters
- Revision: 163006
- Reporter: pj
- Coders: file
-
- #13525: hint change state to Idle when peer reregisters
- Revision: 163581
- Reporter: pj
- Coders: file
-
- #14037: Memory usage increase when using SUBSCRIBE + vars defined in
- sip.conf
- Revision: 164677
- Reporter: marvinek
- Testers: russell
- Coders: russell
-
- #14531: MWI subscriptions does not works if there is no HINT for extension
- Revision: 178232
- Reporter: festr
- Coders: file
-
- Category: Channels/chan_sip/T.38
-
- #12437: Asterisk negotiates only T.38 when answering even if the other end
- offers audio
- Revision: 184950
- Reporter: marsosa
- Testers: pinga-fogo, okrief, file, afu
- Coders: file
-
- #13050: Memory segmentation fault on T.38 pass through
- Revision: 175342
- Reporter: schern
- Testers: schern
- Coders: tilghman
-
- #13600: [patch] Crash in decode_length - udptl.c:159
- Revision: 168606
- Reporter: atis
- Testers: atis
- Coders: tilghman
-
- #13976: Invalid SDP attributes for boolean T.38 parameters
- (T38FaxFillBitRemoval, etc.)
- Revision: 167182
- Reporter: linulin
- Testers: arcivanov
- Coders: arcivanov
-
- Category: Channels/chan_sip/TCP-TLS
-
- #14919: RTP ports dont get closed with SIP over TCP
- Revision: 189352
- Reporter: vrban
- Coders: file
-
- Category: Channels/chan_sip/Transfers
-
- #13800: crash after transfer
- Revision: 164353
- Reporter: dwagner
- Coders: tweety
-
- #13956: Asterisk crashes when transfering call multiple times.
- Revision: 161722
- Reporter: chris-mac
- Testers: chris-mac
- Coders: mnicholson
-
- #14350: [patch] Asterisk does not detect an attended transfer if the
- 'Replaces=' option is not at the beginning of the query string
- Revision: 173994
- Reporter: fhackenberger
- Coders: file
-
- Category: Channels/chan_skinny
-
- #13948: [patch] Skinny switch can still send tones after hangup
- Revision: 158701
- Reporter: wedhorn
- Coders: wedhorn
-
- Category: Channels/chan_unistim
-
- #14858: [patch] Regular segfault with chan_unistim
- Revision: 189913
- Reporter: barryf
- Testers: barryf
- Coders: tilghman
-
- Category: Codecs/codec_ilbc
-
- #14532: iLBC transcoding times are always zero
- Revision: 181733
- Reporter: pj
- Testers: pj
- Coders: tilghman
-
- #14936: Problem in iLBC Source Fetch Script on FreeBSD
- Revision: 189852
- Reporter: leobrown
- Testers: leobrown, mvanbaak
- Coders: mvanbaak
-
- Category: Codecs/codec_lpc10
-
- #13702: [patch] Memory leak while trying to free a malloced memory with an
- ast_free() call instead of just free().
- Revision: 149638
- Reporter: eliel
- Coders: eliel
-
- Category: Core/AstMM
-
- #13858: [patch] On memory allocation failure return NULL or we will crash.
- Revision: 157636
- Reporter: eliel
- Coders: eliel
-
- Category: Core/BuildSystem
-
- #13649: compilation fail on FreeBSD
- Revision: 147901
- Reporter: ys
- Coders: mvanbaak
-
- #13842: [patch] Small fixes to two scripts in build_tools
- Revision: 157602
- Reporter: snuffy
- Testers: snuffy
- Coders: snuffy, seanbright
-
- #13887: [patch] libtonezone requires -lm
- Revision: 163170
- Reporter: tzafrir
- Coders: tilghman
-
- #14006: [patch] Use of 'uint' instead of 'unsigned int' causes build
- problems on FreeBSD
- Revision: 161429
- Reporter: alphaque
- Coders: alphaque
-
- #14224: [patch] fixes for autoconf 2.63 and ptlib-devel (Fedora 10)
- Revision: 177164
- Reporter: bergolth
- Testers: jpeeler
- Coders: bergolth
-
- Category: Core/Channels
-
- #13747: Indications are not passed from old peer to new peer during
- masquerade
- Revision: 164300
- Reporter: davidw
- Testers: russell
- Coders: russell
-
- #14127: Enumerated type and integer comparison do not work as you might
- expect
- Revision: 166535
- Reporter: andrew
- Coders: tilghman
-
- #14221: [patch] DNS SRV messages inadvertently changed from verbosity >3
- to 3
- Revision: 168524
- Reporter: jcovert
- Coders: jcovert
-
- #14315: After Dial's L() limit is reached, res_feature's dynamic features
- don't work
- Revision: 176711
- Reporter: tim_ringenbach
- Coders: jpeeler
-
- #14315: After Dial's L() limit is reached, res_feature's dynamic features
- don't work
- Revision: 179539
- Reporter: tim_ringenbach
- Coders: jpeeler
-
- #14623: [patch] Race condition between bridge and channel masquerading
- Revision: 181426
- Reporter: guillecabeza
- Coders: russell
-
- Category: Core/Configuration
-
- #13848: [patch] Asterisk crashes if udptl.conf is not available
- Revision: 159477
- Reporter: klaus3000
- Testers: blitzrage
- Coders: eliel
-
- #14169: [patch] functions with multiple arguments do not work in AEL
- dialplan
- Revision: 168739
- Reporter: fabled
- Coders: fabled
-
- #14231: [patch] Parsing and escaping of characters is broken in some cases
- (e.g. app_System)
- Revision: 177761
- Reporter: jcovert
- Testers: jcovert
- Coders: tilghman, jcovert
-
- #14646: The default sip.conf file contains bogus CLI command tip
- Revision: 181521
- Reporter: strk
- Coders: mvanbaak
-
- #14796: Asterisk crashes when empty member in queues.conf
- Revision: 185602
- Reporter: pida
- Coders: mmichelson
-
- Category: Core/FileFormatInterface
-
- #13955: Asterisk crashes when Playback/Backround with non existing file.
- Revision: 158855
- Reporter: chris-mac
- Coders: mnicholson
-
- Category: Core/General
-
- #13301: [patch] AMI UpdateConfig -- When creating category, memory
- allocation failure in config.c
- Revision: 161182
- Reporter: trevo
- Testers: tilghman, blitzrage
- Coders: tilghman
-
- #13464: asterisk console screws up terminal subtly when exited with ctrl-c
- with some shells
- Revision: 163386
- Reporter: tzafrir
- Testers: blitzrage
- Coders: tilghman
-
- #13543: Memory leacks in stress test with failure
- Revision: 149202
- Reporter: triccyx
- Testers: mav3rick, triccyx
- Coders: tilghman
-
- #13578: Bang not showing up in on CLI
- Revision: 146200
- Reporter: mvanbaak
- Coders: seanbright
-
- #13593: [patch] MALLOC_DEBUG causes crash in chan_h323
- Revision: 181199
- Reporter: pj
- Coders: jpeeler
-
- #13778: asterisk blocked at startup between
- main/asterisk.c/loader.c/load_modules and
- manager.c/loader.c/ast_module_reload
- Revision: 151907
- Reporter: hotsblanc
- Coders: russell
-
- #14004: [patch] restart gracefully drops cap_net_admin capability
- Revision: 172504
- Reporter: nemo
- Testers: tilghman
- Coders: tilghman
-
- #14079: [patch] Regression When Playing WAV49 Audio Files
- Revision: 164314
- Reporter: elguero
- Coders: file
-
- #14080: [patch] ast_frdup does not duplicate integer-frame-data
- Revision: 164521
- Reporter: fnordian
- Coders: fnordian
-
- #14177: [patch] ast_db_gettree(family, keytree) completely ignores the
- keytree argument
- Revision: 167306
- Reporter: nic_bellamy
- Coders: nic
-
- #14194: logger.c:531 rotate_file: system() failed for 'gzip -9
- /var/log/asterisk/full.2': No child processes
- Revision: 168015
- Reporter: pabelanger
- Coders: mnicholson
-
- #14263: [patch] Global variables only allow values less than 255
- characters
- Revision: 170178
- Reporter: markd
- Coders: tilghman
-
- #14287: [patch] tcptls.c doesn't set correct remote_address
- Revision: 169622
- Reporter: jamesgolovich
- Coders: jamesgolovich
-
- #14373: [patch] Avoid destroying the CLI line when moving the cursor
- backward and trying to autocomplete.
- Revision: 184223
- Reporter: eliel
- Testers: lmadsen
- Coders: eliel
-
- #14414: 1.6.1-rc1 Program terminated with signal 11, Segmentation fault.
- audiohook.c AST_LIST_TRAVERSE_SAFE_BEGIN
- Revision: 173904
- Reporter: bluecrow76
- Coders: file
-
- #14489: [patch] Add support for loading multiple timing modules
- Revision: 176675
- Reporter: russell
- Coders: russell
-
- #14574: [patch] Audiohook volume does not honor the write adjustment when
- both is specified
- Revision: 179293
- Reporter: KNK
- Coders: KNK
-
- #14682: [patch] Race condition in ast_db_get()
- Revision: 182452
- Reporter: makoto
- Coders: tilghman
-
- #14738: Address device state performance issues in 1.6.1
- Revision: 184342
- Reporter: russell
- Coders: russell
-
- Category: Core/HTTP
-
- #13583: Asterisk wont compile if gmime-devel lib is not installed
- Revision: 145694
- Reporter: arkadia
- Coders: seanbright
-
- #14190: POST files are not truncated
- Revision: 168590
- Reporter: timking
- Coders: twilson
-
- Category: Core/Internationalization
-
- #14291: [patch] Floating point exception crash when saying number between
- 9999 and 100000 with zh or tw language
- Revision: 169796
- Reporter: dant
- Testers: dant
- Coders: dant
-
- Category: Core/Jitterbuffer
-
- #14044: [patch] Jitterbuffer stops accepting new frames until it is empty
- after maxjitterbuffer is exceeded.
- Revision: 174590
- Reporter: mnicholson
- Testers: mnicholson
- Coders: mnicholson
-
- Category: Core/ManagerInterface
-
- #12158: New AMI atxfer limited to digits only and ignores context and
- priority; looks like just wrapper on PlatDTMF
- Revision: 148161
- Reporter: davidw
- Coders: mmichelson
-
- #13334: [patch] Response events to CoreShowChannel are missing the Event
- header
- Revision: 158415
- Reporter: srt
- Coders: srt
-
- #13398: [patch] Channel name buffer is too small
- Revision: 156691
- Reporter: bamby
- Coders: bamby
-
- #13546: Partial writes on Manager API
- Revision: 166284
- Reporter: srt
- Testers: russell
- Coders: russell
-
- #13873: [patch] new eventflag for agiexec-events on ami
- Revision: 158894
- Reporter: fnordian
- Coders: fnordian
-
- #13894: restart gracefully / when convenient doesn't work with the AMI
- Revision: 164813
- Reporter: kernelsensei
- Coders: russell
-
- #13903: Pong response not properly terminated.
- Revision: 156913
- Reporter: kebl0155
- Coders: tilghman
-
- #13994: [patch] Invalid response from ListCategories action if no
- categories is found
- Revision: 160702
- Reporter: mika
- Coders: mika
-
- #14027: [patch] error allocationg a manager user
- Revision: 161792
- Reporter: junky
- Coders: junky
-
- #14278: [patch] insufficient stringlength checking in action_userevent
- Revision: 169368
- Reporter: fnordian
- Coders: tilghman
-
- #14364: NULL file descriptors causing GUI to eventually stop functioning
- Revision: 174769
- Reporter: awk
- Testers: mmichelson
- Coders: mmichelson
-
- #14400: [patch] ami fails on high load
- Revision: 173459
- Reporter: fnordian
- Coders: fnordian
-
- #14593: [patch] UserEvent Duplicate Previous Information
- Revision: 180802
- Reporter: JimDickenson
- Coders: file
-
- #14705: [patch] Deadlock when manipulating module_list over AMI and CLI
- Revision: 187486
- Reporter: jamessan
- Testers: jamessan
- Coders: tilghman
-
- #14930: [patch] Detect pthread_rwlock_timedwrlock() before usage
- Revision: 190095
- Reporter: tilghman
- Testers: mvanbaak, tilghman
- Coders: tilghman
-
- Category: Core/Netsock
-
- #13678: tcptls.c: ast_make_file_from_fd() memory leak if
- DEBUG_THREADLOCALS defined.
- Revision: 164739
- Reporter: ys
- Testers: Russell
- Coders: russell
-
- Category: Core/PBX
-
- #12658: [patch] DTMF issues on Zap
- Revision: 163515
- Reporter: dimas
- Testers: russell, file
- Coders: russell
-
- #13557: [patch] Asterisk won't compile against uclibc
- Revision: 147811
- Reporter: nickpeirson
- Testers: nickpeirson, murf
- Coders: nickpeirson
-
- #13643: [patch] VM_CALLERID yields different results if CID is null or
- empty
- Revision: 148006
- Reporter: tomo1657
- Coders: tilghman
-
- #13839: call processing deadlock with dialplan reload and
- ast_hint_state_changed
- Revision: 169871
- Reporter: mcallist
- Coders: file
-
- #13891: "empty" overlap-dial-in doesn't work
- Revision: 156650
- Reporter: smurfix
- Coders: jpeeler
-
- #14035: revision r77858 breaks 'failed'-extension functionality
- Revision: 163173
- Reporter: erogoza
- Coders: russell
-
- #14076: Extensions configuration is not being sorted correctly
- Revision: 164805
- Reporter: toc
- Testers: murf
- Coders: murf
-
- #14206: Can't pickup using *8 after updating asterisk to 1.4.23-rc3
- Revision: 170395
- Reporter: francesco_r
- Testers: francesco_r, aragon, mmichelson
- Coders: mmichelson
-
- #14305: pbx.c's show_dialplan_helper prints an "\r\n" at the end of every
- call
- Revision: 177789
- Reporter: martins
- Coders: tilghman
-
- #14362: [patch] Putting a comma in an extension dialpattern causes
- eventual seg fault
- Revision: 173313
- Reporter: Nick_Lewis
- Testers: tilghman
- Coders: tilghman
-
- #14384: Background leaves files open indefinately
- Revision: 173356
- Reporter: fiddur
- Testers: fiddur, mmichelson
- Coders: mmichelson
-
- #14455: Segfault on call termination when attempting to retransmit a
- packet that should have not been retried due to network issues
- Revision: 179221
- Reporter: Nick_Lewis
- Testers: Nick_Lewis
- Coders: mmichelson
-
- #14895: [patch] Asterisk crashes when extenpatternmatchnew=yes
- Revision: 190354
- Reporter: chris-mac
- Testers: lmadsen
- Coders: tilghman
-
- Category: Core/Portability
-
- #13404: [patch] Commands issued to asterisk using a remote console on OSX
- have no effect
- Revision: 182946
- Reporter: agalbraith
- Testers: russell, vadim
- Coders: russell
-
- #13767: [patch] On Mac OS X PowerPC, Asterisk 1.6.0.1 cannot create
- outbound channels
- Revision: 169946
- Reporter: jcovert
- Testers: jcovert, tilghman
- Coders: tilghman
-
- #14714: Compilation Errors on Mac OS X 1.5.6 - Asterisk 1.6.2.0-beta1 (
- also confirmed on trunk )
- Revision: 184149
- Reporter: ygor
- Coders: russell
-
- #14790: chan_h323 build fails with gcc 3
- Revision: 190063
- Reporter: stuarth
- Coders: jpeeler
-
- Category: Core/RTP
-
- #12983: [patch] Retransmitted RFC 2833 RTP events do not increment the RTP
- sequence number
- Revision: 162658
- Reporter: vt
- Coders: vt
-
- #13535: video_src_res and video_dest_res are write-only in
- ast_rtp_early_bridge
- Revision: 162202
- Reporter: davidw
- Coders: file
-
- #13810: [patch] Integer divide by zero
- Revision: 154063
- Reporter: pj
- Coders: tilghman
-
- #13835: "RTCP SR transmission error, rtcp halted" logged when SIP call put
- on hold
- Revision: 161016
- Reporter: matt_b
- Testers: jpeeler
- Coders: jpeeler
-
- #14029: [patch] Asterisk is using wrong clock frequency in text T140
- Revision: 188415
- Reporter: epicac
- Coders: file
-
- #14234: [patch] Log and debug messages in ast_rtp_destroy can cause a
- crash
- Revision: 170242
- Reporter: jcovert
- Coders: jcovert
-
- #14460: Asterisk plays a continuous tone forever if it never receives a
- 2833 end packet
- Revision: 175129
- Reporter: moliveras
- Coders: russell
-
- #14460: Asterisk plays a continuous tone forever if it never receives a
- 2833 end packet
- Revision: 178172
- Reporter: moliveras
- Coders: russell
-
- #14546: [patch] Patch to improve NAT handling for Polycoms behind proxy
- Revision: 184587
- Reporter: acunningham
- Coders: file
-
- Category: Documentation
-
- #13342: [patch] Missing doc for SipShowRegistry action and RegistryEntry
- event
- Revision: 149060
- Reporter: Laureano
- Coders: lmadsen
-
- #13654: extensions.conf refers to two "exten => formats", but the second
- one has been deleted from the text
- Revision: 147898
- Reporter: davidw
- Coders: tilghman
-
- #13709: [patch] fix content of agents.conf.sample
- Revision: 149758
- Reporter: decryptus_proformatique
- Coders: bweschke
-
- #13718: [patch] Neither CHANGES, nor UPGRADE.txt for 1.6.0 say quotes are
- no longer stripped
- Revision: 167178
- Reporter: davidw
- Testers: blitzrage
- Coders: tilghman
-
- #14052: [patch] mISDN Dial parameter not documented
- Revision: 162669
- Reporter: festr
- Coders: festr
-
- #14065: [patch] Improve documentation for res_monitor
- Revision: 163624
- Reporter: kshumard
- Coders: kshumard
-
- #14319: [patch] describe idlecheck in res_odbc.conf.sample more clear
- Revision: 170722
- Reporter: klaus3000
- Coders: klaus3000
-
- #14319: [patch] describe idlecheck in res_odbc.conf.sample more clear
- Revision: 170839
- Reporter: klaus3000
- Coders: tilghman
-
- #14490: Timing interfaces provided in 1.6.1 and beyond are not documented.
- Revision: 179939
- Reporter: mmichelson
- Coders: mmichelson
-
- #14540: #exec command needs minor documentation in extensions.conf
- Revision: 178448
- Reporter: jtodd
- Coders: tilghman
-
- #14566: [patch] fix channelvariables documentation
- Revision: 179059
- Reporter: klaus3000
- Coders: klaus3000
-
- Category: Features/Parking
-
- #14066: Calls parked fail to return to the correct phone after timeout
- Revision: 169488
- Reporter: bluefox
- Testers: twilson, bluefox
- Coders: twilson
-
- Category: Formats/General
-
- #14842: [patch] Typo on format wav and wav_gsm ... must read frequency
- instead of freqency
- Revision: 186844
- Reporter: jvandal
- Coders: jvandal
-
- Category: Functions/func_curl
-
- #14485: CURL() function crashes in /trunk
- Revision: 176644
- Reporter: davevg
- Testers: kowalma
- Coders: tilghman
-
- Category: Functions/func_devstate
-
- #14461: [patch] func_devstate not updating Custom hints, and not in sync
- with ASTDB
- Revision: 176559
- Reporter: alecdavis
- Coders: russell
-
- Category: Functions/func_enum
-
- #14576: ENUMLOOKUP - broken regex.
- Revision: 180537
- Reporter: chris-mac
- Coders: dvossel
-
- Category: Functions/func_env
-
- #14670: FILE function reads 1 character less than specified in length
- Revision: 182280
- Reporter: BMC
- Testers: caspy
- Coders: tilghman
-
- Category: Functions/func_groupcount
-
- #14275: [patch] Group does not count all channels
- Revision: 176644
- Reporter: kowalma
- Testers: kowalma
- Coders: tilghman
-
- Category: Functions/func_odbc
-
- #13631: [patch] Fields have a maximum length of 255 chars
- Revision: 149688
- Reporter: seanbright
- Testers: blitzrage
- Coders: tilghman
-
- #13830: writesql does not work
- Revision: 154024
- Reporter: Marquis
- Coders: tilghman
-
- Category: Functions/func_realtime
-
- #14479: "iax2 prune realtime" doesn't prune user, only peer
- Revision: 178769
- Reporter: mousepad99
- Coders: dvossel
-
- Category: Functions/func_strings
-
- #13787: KEYPADHASH returns incorrect values
- Revision: 152068
- Reporter: meitinger
- Coders: seanbright
-
- #13940: [patch] The function ARRAY slows asterisk down
- Revision: 163256
- Reporter: tbelder
- Coders: russell
-
- #14363: [patch] FILTER function is not working correctly (patch attached)
- Revision: 172708
- Reporter: andrew53
- Coders: andrew53
-
- Category: General
-
- #13207: National prefix inserted even when caller ID not available
- Revision: 188649
- Reporter: shawkris
- Coders: dvossel
-
- #13420: GUI - File Editor not working properly
- Revision: 157304
- Reporter: alex70
- Testers: murf, awk
- Coders: murf
-
- #13539: Extensions file error after incoming call rules (in GUI 2.0) and
- logout
- Revision: 156654
- Reporter: infiniti_guy
- Coders: bkruse
-
- #13753: [patch] Set a sane umask inside safe_asterisk
- Revision: 164799
- Reporter: irroot
- Coders: tilghman
-
- #13863: [patch] 1.6.1 beta2 does not build on PPC
- Revision: 159053
- Reporter: jcollie
- Coders: tilghman
-
- #13864: [patch] Fix a memory leak while trying to free a memory that
- wasn't allocated by ast_alloc_region()
- Revision: 155764
- Reporter: eliel
- Coders: eliel
-
- #14132: [patch] autosupport script not 100% ready for DAHDI
- Revision: 168618
- Reporter: dsedivec
- Coders: dsedivec
-
- #14226: crash in comparation with 'nothing'
- Revision: 168549
- Reporter: caspy
- Coders: tilghman
-
- #14264: compilation warning for main/editline/history
- Revision: 179407
- Reporter: dimas
- Coders: qwell
-
- #14320: [patch] i18n.testsuite.conf in contribs directory uses old
- dialplan format an has no Chinese test
- Revision: 170693
- Reporter: dant
- Coders: dant
-
- #14564: Asterisk segfaults when parking call
- Revision: 179843
- Reporter: meric
- Coders: file
-
- Category: PBX/General
-
- #14012: Channel "hangs"
- Revision: 161789
- Reporter: dveiga
- Coders: bkruse
-
- #14357: [patch] lockout after AEL reload
- Revision: 176946
- Reporter: pj
- Testers: pj, murf
- Coders: murf
-
- #14388: "dialplan show globals" does not show the correct TRUNKMSD setting
- Revision: 173115
- Reporter: macli
- Coders: tilghman
-
- #14498: String operator ':' error with UTF8 code
- Revision: 177623
- Reporter: ibercom
- Testers: murf
- Coders: murf
-
- Category: PBX/pbx_ael
-
- #13901: switch statement: Empty patterns don't fallback to Default label
- Revision: 158191
- Reporter: smurfix
- Testers: seanbright
- Coders: seanbright
-
- #14019: Starting or restarting asterisk causes seg fault and core dump,
- apparently in ael/pval.c:4833
- Revision: 162082
- Reporter: ckjohnsonme
- Testers: ckjohnsonme, murf
- Coders: murf
-
- #14141: Pattern matching for extensions with ranges is broken
- Revision: 168748
- Reporter: dimas
- Coders: murf
-
- #14941: Using '@' to specify a context in AEL will cause parse errors
- Revision: 189531
- Reporter: bpgoldsb
- Testers: bpgoldsb
- Coders: seanbright
-
- Category: PBX/pbx_dundi
-
- #13776: Dundi and DNS
- Revision: 164276
- Reporter: kombjuder
- Coders: russell
-
- #13819: [patch] clearing expired entries from /dundi/cache
- Revision: 163319
- Reporter: adomjan
- Testers: adomjan
- Coders: adomjan, mnicholson
-
- #14804: Crash with DUNDi
- Revision: 186323
- Reporter: jvandal
- Coders: file
-
- Category: Resources/General
-
- #13721: [patch] res_ais won't build on 64bit
- Revision: 150211
- Reporter: jcollie
- Coders: jcollie
-
- #13738: [patch] Event processing sometimes hangs when using
- res_timing_pthread
- Revision: 163252
- Reporter: smurfix
- Coders: smurfix
-
- #14203: [patch] res_phoneprov leaks memory if phoneprov.conf does not
- exist
- Revision: 168157
- Reporter: jamesgolovich
- Coders: jamesgolovich
-
- #14697: race condition in res/timing_* interfaces
- Revision: 184765
- Reporter: moy
- Coders: kpfleming
-
- Category: Resources/res_agi
-
- #13340: [patch] handle_getvariable doesn't initialize workspace
- Revision: 146838
- Reporter: kryptolus
- Coders: tilghman
-
- #13711: AGI-program receives SIGHUP on hangup although AGISIGHUP is set to
- "no"
- Revision: 166472
- Reporter: fmueller
- Coders: mmichelson
-
- #13881: [patch] AGI command "answer" not really set in answer mode when
- forkcdr
- Revision: 168519
- Reporter: hoowa
- Coders: jpeeler
-
- #13885: [patch] Problem with timeout in AGI RECORD FILE
- Revision: 163091
- Reporter: bamby
- Coders: bamby
-
- #14069: too small reponse for dbget through agi
- Revision: 167905
- Reporter: evandro
- Coders: tilghman
-
- #14541: [patch] crash during AGI call (regression, it works under 1.6.0.1)
- Revision: 178803
- Reporter: grant
- Coders: file
-
- Category: Resources/res_config_ldap
-
- #12860: [patch] Included example schema not compatible with
- res_config_ldap.c
- Revision: 148128
- Reporter: flyn
- Coders: flyn
-
- #13861: ERROR[23999]: res_config_ldap.c:1292 update_ldap: Couldn't modify
- ... Undefined attribute type
- Revision: 172895
- Reporter: scramatte
- Testers: jcovert
- Coders: blitzrage
-
- Category: Resources/res_features
-
- #13139: Parking with hints enabled crashes Asterisk
- Revision: 147957
- Reporter: krisk84
- Testers: krisk84
- Coders: jpeeler
-
- #13478: [patch] Only one custom feature can be executed simultaneously
- Revision: 163100
- Reporter: neutrino88
- Coders: russell
-
- #13494: One-touch parking failure results in the call drop, while parties
- should be able to continue conversation
- Revision: 173505
- Reporter: mdu113
- Coders: jpeeler
-
- #13584: blindxfer doesn't work!
- Revision: 148115
- Reporter: dwagner
- Testers: murf, mmichelson
- Coders: mmichelson
-
- #13871: Crash in ast_bridge_call() when 'NoCDR' app called inside Local
- channel
- Revision: 158572
- Reporter: mdu113
- Coders: murf
-
- #14228: 1.4.22 crash with Park
- Revision: 168981
- Reporter: kobaz
- Testers: twilson
- Coders: twilson
-
- #14241: [patch] h exten getting run at the wrong time
- Revision: 172067
- Reporter: jmls
- Testers: murf, jmls
- Coders: murf
-
- #14515: [patch]Timeout settings in features.conf don't work as intended
- Revision: 178869
- Reporter: sodom
- Testers: murf, sodom
- Coders: murf
-
- #14657: [patch] Callee cannot use dynamic features
- Revision: 182068
- Reporter: mmichelson
- Coders: mmichelson
-
- Category: Resources/res_musiconhold
-
- #13229: When calling a queue, after a few loops over a madplay'ed file,
- the MOH ceases to be played
- Revision: 162896
- Reporter: clegall_proformatique
- Coders: jpeeler
-
- #13566: ast_moh_free_class in res_musiconhold.c:195
- Revision: 166277
- Reporter: igorcarneiro
- Testers: russell
- Coders: russell
-
- #13761: [patch] Prevent a crash when unloading res_musiconhold.so and then
- stopping asterisk.
- Revision: 157596
- Reporter: eliel
- Coders: eliel
-
- #14089: class with only application is unuseable
- Revision: 164614
- Reporter: caspy
- Coders: russell
-
- #14099: kill() does not kill all processes
- Revision: 165664
- Reporter: caspy
- Coders: caspy
-
- #14407: hold music restarts with each command
- Revision: 174221
- Reporter: mostyn
- Coders: file
-
- #14416: [patch] streamed moh breaks if nobody listen it
- Revision: 181658
- Reporter: caspy
- Coders: file
-
- #14416: [patch] streamed moh breaks if nobody listen it
- Revision: 181663
- Reporter: caspy
- Coders: file
-
- #14661: MOH Realtime crash
- Revision: 187427
- Reporter: sum
- Coders: mmichelson
-
- Category: Resources/res_realtime
-
- #14339: [patch] contrib/scripts/realtime_pgsql.sql misses uniqueid in
- queue_member_table
- Revision: 172272
- Reporter: fiddur
- Coders: fiddur
-
- Category: Utilities/General
-
- #14289: utils/refcounter segfaults due to reference of count1_obj when its
- NULL
- Revision: 169674
- Reporter: jamesgolovich
- Coders: murf
-
- #14538: [patch] astcanary does not exit when asterisk dies
- Revision: 178305
- Reporter: KNK
- Coders: KNK
-
- Category: Utilities/NewFeature
-
- #11680: [patch] live_ast: script to run asterisk without installing
- Revision: 151603
- Reporter: tzafrir
- Coders: tzafrir
-
- Category: Utilities/muted
-
- #14360: muted doesn't compile on OS/X in dev-mode
- Revision: 172402
- Reporter: oej
- Coders: tilghman
-
- ----------------------------------------------------------------------
-
- Commits Not Associated with an Issue
-
- [Back to Top]
-
- This is a list of all changes that went into this release that did not
- directly close an issue from the issue tracker. The commits may have been
- marked as being related to an issue. If that is the case, the issue
- numbers are listed here, as well.
-
- +------------------------------------------------------------------------+
- | Revision | Author | Summary | Issues |
- | | | | Referenced |
- |----------+------------+-----------------------------------+------------|
- | 145557 | mmichelson | The logic surrounding the return | #13584 |
- | | | value of ast_spawn_extension | |
- |----------+------------+-----------------------------------+------------|
- | 145584 | mmichelson | if (!(x) == 0) is the same as | |
- |----------+------------+-----------------------------------+------------|
- | 145609 | mmichelson | Okay, this should really do it | |
- | | | now. While I did manage | |
- |----------+------------+-----------------------------------+------------|
- | | | Some sanity checks that may have | |
- | 145754 | tilghman | led to prior crashes, found by | |
- | | | codefreeze-lap | |
- |----------+------------+-----------------------------------+------------|
- | 145781 | seanbright | This is much cleaner, methinks. | |
- |----------+------------+-----------------------------------+------------|
- | 145960 | russell | TCP support for ExternalIVR went | |
- | | | in to 1.6.1, not 1.6.0 | |
- |----------+------------+-----------------------------------+------------|
- | 145964 | russell | The 'P' command for ExternalIVR | |
- | | | was also added in 1.6.0 | |
- |----------+------------+-----------------------------------+------------|
- | | | remove superfluous reference | |
- | | | counting operations in | |
- | 146243 | jpeeler | manage_parkinglot since | |
- | | | ao2_interator_next increments the | |
- | | | ref count automatically | |
- |----------+------------+-----------------------------------+------------|
- | 146451 | qwell | Fix silly formatting. | |
- |----------+------------+-----------------------------------+------------|
- | 146557 | seanbright | Quote arguments to cp so we can | |
- | | | handle spaces in our paths. | |
- |----------+------------+-----------------------------------+------------|
- | 146874 | mvanbaak | make aescrypt.c compile on | |
- | | | OpenBSD again | |
- |----------+------------+-----------------------------------+------------|
- | | | Explicitly set args in | |
- | 146876 | jpeeler | park_call_exec NULL so in the | |
- | | | case of no options being passed | |
- | | | in, there | |
- |----------+------------+-----------------------------------+------------|
- | 146878 | jpeeler | fix some comment placement | |
- |----------+------------+-----------------------------------+------------|
- | | | This commit squashes together | |
- | | | three commits because the wrong | |
- | 146886 | jpeeler | approach was originally used. | |
- | | | (One of the commits was only one | |
- | | | line.) | |
- |----------+------------+-----------------------------------+------------|
- | | | Mvanbaak said this was needed to | |
- | 146921 | jpeeler | compile on OpenBSD, so put it in | |
- | | | the OpenBSD section. | |
- |----------+------------+-----------------------------------+------------|
- | | | Similar to r143204, masquerade | |
- | 146924 | jpeeler | the channel in the case of Park | |
- | | | being called from AGI. | |
- |----------+------------+-----------------------------------+------------|
- | | | Update documentation; | |
- | 146930 | tilghman | AST_THREADSTORAGE() in trunk only | |
- | | | takes a single | |
- |----------+------------+-----------------------------------+------------|
- | | | A blind transfer to the parking | |
- | | | thread would cause a segfault | |
- | 146972 | twilson | because copy_request accesses | |
- | | | dst->data w/o being able to tell | |
- | | | whether it is proerly initialized | |
- |----------+------------+-----------------------------------+------------|
- | | | Make sure to compare the correct | |
- | 147052 | seanbright | number of characters when | |
- | | | special-casing | |
- |----------+------------+-----------------------------------+------------|
- | | | Independent change from branch | |
- | 147100 | rmudgett | issue8824 that is not part of | |
- | | | COLP. (-r142574 rmudgett) | |
- |----------+------------+-----------------------------------+------------|
- | | | Explicitly setting these fields | |
- | | | to NULL was done because I wasn't | |
- | 147147 | jpeeler | sure if they would be NULL | |
- | | | otherwise. Since they will be set | |
- | | | automatically, removing. | |
- |----------+------------+-----------------------------------+------------|
- | 147196 | seanbright | Make 'imapsecret' an alias to | |
- | | | 'imappassword' in voicemail.conf. | |
- |----------+------------+-----------------------------------+------------|
- | | | If we receive DTMF make sure that | |
- | 147519 | mmichelson | the state of the speech structure | |
- | | | goes back to being not ready. | |
- | | | (issue #LUMENVOX-8) | |
- |----------+------------+-----------------------------------+------------|
- | | | when parsing a text configuration | |
- | | | option, ensure that the buffer on | |
- | | | the stack is actually large | |
- | | | enough to hold the legal values | |
- | | | of that option, and also ensure | |
- | | | that sscanf() knows to stop | |
- | 147692 | kpfleming | parsing if it would overrun the | |
- | | | buffer (without these changes, | |
- | | | specifying | |
- | | | "buffers=...,immediate" would | |
- | | | overflow the buffer on the stack, | |
- | | | and could not have worked as | |
- | | | expected) | |
- |----------+------------+-----------------------------------+------------|
- | 148011 | tilghman | Publish MOH files in sln16 format | |
- |----------+------------+-----------------------------------+------------|
- | 148472 | oej | Sending a 403 after a 200 is | |
- | | | considered very bad. | |
- |----------+------------+-----------------------------------+------------|
- | 148562 | murf | Hmmm. Nobody (but me) is | |
- | | | interested in seeing | |
- |----------+------------+-----------------------------------+------------|
- | | | it would be nice if this message | |
- | 148614 | kpfleming | printing code had actually been | |
- | | | tested before it was committed... | |
- |----------+------------+-----------------------------------+------------|
- | | | ensure that *all* fields in the | |
- | | | req structure are cleared out | |
- | | | before reusing it; has_to_tag was | |
- | 148700 | kpfleming | not cleared, which caused the | |
- | | | second incoming call over a TCP | |
- | | | socket to fail if pedantic | |
- | | | checking was enabled | |
- |----------+------------+-----------------------------------+------------|
- | | | on Ubuntu (at least), recent | |
- | | | versions of ld in binutils delete | |
- | | | all debugging symbols when -x is | |
- | 148740 | kpfleming | supplied; since the reasons why | |
- | | | -x is being passed are lost in | |
- | | | the mists of time, remove it so | |
- | | | debugging will work properly | |
- |----------+------------+-----------------------------------+------------|
- | | | fix some references to the owner | |
- | 148763 | kpfleming | of a private structure that may | |
- | | | not be present | |
- |----------+------------+-----------------------------------+------------|
- | | | Ensure that mail headers are | |
- | 148918 | tilghman | 7-bit clean, even when UTF-8 | |
- | | | characters are used | |
- |----------+------------+-----------------------------------+------------|
- | 149206 | mmichelson | Add a tolerance period for | #13005 |
- | | | sync-triggered audiohooks | |
- |----------+------------+-----------------------------------+------------|
- | 149274 | mmichelson | Change this warning to an error | |
- | | | message. Suggestion | |
- |----------+------------+-----------------------------------+------------|
- | | | fix some problems when parsing | |
- | 149512 | kpfleming | SIP messages that have the | |
- | | | maximum number of headers or body | |
- | | | lines that we support | |
- |----------+------------+-----------------------------------+------------|
- | 149641 | tilghman | Only set buf to blank before the | |
- | | | goto. | |
- |----------+------------+-----------------------------------+------------|
- | 149919 | kpfleming | correct file name in message | |
- |----------+------------+-----------------------------------+------------|
- | | | inter-module dependencies should | |
- | 149921 | kpfleming | be included in the source code, | |
- | | | not just in sample config files | |
- |----------+------------+-----------------------------------+------------|
- | 149922 | kpfleming | building this module depends on | |
- | | | res_agi being built as well | |
- |----------+------------+-----------------------------------+------------|
- | | | return this logic to where it | |
- | | | used to be, *after* the | |
- | | | dialog->needdestroy flag has been | |
- | 149995 | kpfleming | determined to be set; otherwise, | |
- | | | we generate these debug messages | |
- | | | every time we inspect every | |
- | | | active dialog | |
- |----------+------------+-----------------------------------+------------|
- | 150127 | rmudgett | Fix memory leak found by customer | |
- |----------+------------+-----------------------------------+------------|
- | 150306 | mmichelson | Reverting changes from commits | |
- | | | 150298 and 150301 since | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix the FRACK! warnings in | |
- | 150606 | tilghman | chan_iax2 when POKE/LAGRQ packets | |
- | | | are not answered. | |
- |----------+------------+-----------------------------------+------------|
- | 150636 | tilghman | Make helper call a little safer | |
- | | | (suggested by Russell on IRC) | |
- |----------+------------+-----------------------------------+------------|
- | 151135 | kpfleming | cleaup of the TCP/TLS socket API: | |
- |----------+------------+-----------------------------------+------------|
- | | | break up acinclude.m4 into | |
- | | | individual files, which will make | |
- | | | it easier to maintain, easier to | |
- | 151245 | kpfleming | add new macros (less patching) | |
- | | | and will ease maintenance of | |
- | | | these macros across Asterisk | |
- | | | branches | |
- |----------+------------+-----------------------------------+------------|
- | | | Default file modes should always | |
- | 151372 | tilghman | be full read and write, to allow | |
- | | | the system | |
- |----------+------------+-----------------------------------+------------|
- | 151441 | mmichelson | Get this compiling in dev-mode | |
- |----------+------------+-----------------------------------+------------|
- | | | Oops, only delete the ARG | |
- | 152173 | tilghman | variables once upon release. The | |
- | | | following section | |
- |----------+------------+-----------------------------------+------------|
- | 152288 | jpeeler | Buffer policy setting for half is | |
- | | | not needed. | |
- |----------+------------+-----------------------------------+------------|
- | 152471 | tilghman | Quoting in the wrong direction | |
- |----------+------------+-----------------------------------+------------|
- | 152537 | murf | The magic trick to avoid this | |
- | | | crash is not to | |
- |----------+------------+-----------------------------------+------------|
- | 152606 | murf | A little documentation cross-ref | |
- | | | between features and | |
- |----------+------------+-----------------------------------+------------|
- | 152690 | tilghman | Track down and fix annoying lock | |
- | | | errors | |
- |----------+------------+-----------------------------------+------------|
- | | | Set up an example stdexten that | |
- | 152777 | tilghman | preserves the original context | #13799 |
- | | | and extension in | |
- |----------+------------+-----------------------------------+------------|
- | | | instead of comparing the string | |
- | | | pointer to 0, let's compare the | |
- | 152814 | kpfleming | value that was actually parsed | |
- | | | out of the string (found by | |
- | | | sparse) | |
- |----------+------------+-----------------------------------+------------|
- | 152878 | russell | Modify the documentation of the | |
- | | | sip_registry struct | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a bug in | |
- | 152900 | russell | AST_SCHED_REPLACE_UNREF(). The | |
- | | | reference count of the object | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix the sip_peer reference count | |
- | 152919 | russell | with respect to scheduler entries | |
- | | | for | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix the sip_peer reference count | |
- | 152921 | russell | with respect to scheduler entries | |
- | | | for | |
- |----------+------------+-----------------------------------+------------|
- | | | The -I argument to aclocal needs | |
- | 152995 | seanbright | a space before the include | |
- | | | directory name. | |
- |----------+------------+-----------------------------------+------------|
- | 153225 | mmichelson | This commit contains the bug | |
- | | | fixes and documentation updates | |
- |----------+------------+-----------------------------------+------------|
- | | | Ensure that the sip_pvt properly | |
- | 153363 | russell | has its refcount incremented when | |
- | | | the scheduler holds | |
- |----------+------------+-----------------------------------+------------|
- | 153653 | russell | features.h depends on | |
- | | | linkedlists.h, so include it | |
- |----------+------------+-----------------------------------+------------|
- | | | import gcc 4.3.2 warning fixes | |
- | 153710 | kpfleming | from trunk, with a few changes | |
- | | | specific to this branch | |
- |----------+------------+-----------------------------------+------------|
- | 153711 | kpfleming | Merged revision 153709 from trunk | |
- |----------+------------+-----------------------------------+------------|
- | | | Make the monitor thread | |
- | 154267 | tilghman | non-detached, so it can be joined | |
- | | | (suggested by Russell | |
- |----------+------------+-----------------------------------+------------|
- | 154269 | rmudgett | JIRA ABE-1703 | |
- |----------+------------+-----------------------------------+------------|
- | | | This fix was prompted by | |
- | | | communication from user, who was | |
- | 154690 | murf | seeing thousands of error logs... | |
- | | | looks like EAGAIN. Made such | |
- | | | uninteresting. | |
- |----------+------------+-----------------------------------+------------|
- | 154920 | seanbright | Fix a problem found while | |
- | | | building res_snmp. | |
- |----------+------------+-----------------------------------+------------|
- | 155014 | mmichelson | The documentation listed the | |
- | | | ability to set 'maxmsg' per | |
- |----------+------------+-----------------------------------+------------|
- | | | ensure that an adequately new | |
- | 155117 | kpfleming | version of libpri is in place so | |
- | | | that chan_dahdi will compile with | |
- | | | PRI support | |
- |----------+------------+-----------------------------------+------------|
- | | | don't blindly assume that Darwin | |
- | 155122 | kpfleming | and Cygwin need GLOB_ABORTED | |
- | | | defined; only define it if it is | |
- | | | not already defined | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix some code in chan_sip that | |
- | 155242 | russell | was intended to unlink multiple | |
- | | | objects from a | |
- |----------+------------+-----------------------------------+------------|
- | | | Clarify which part of | |
- | 155245 | russell | OBJ_MULTIPLE is not implemented, | |
- | | | and under what case it | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove a bogus ast_free() that | |
- | 155272 | russell | Kevin noticed. This was probably | |
- | | | just left over | |
- |----------+------------+-----------------------------------+------------|
- | 155362 | mmichelson | Remove one more instance of the | |
- | | | sample configuration | |
- |----------+------------+-----------------------------------+------------|
- | | | Two bugs relating to colnames | |
- | 155396 | tilghman | found by Marquis42 on | |
- | | | #asterisk-dev | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove some code that is | |
- | 155515 | russell | basically a no-op. Code above | |
- | | | this already ensures that | |
- |----------+------------+-----------------------------------+------------|
- | 155517 | russell | - Check for failure when putting | |
- | | | the packet in the ast_str | |
- |----------+------------+-----------------------------------+------------|
- | | | Use static functions here instead | |
- | 155556 | seanbright | of nested ones. This requires a | |
- | | | small | |
- |----------+------------+-----------------------------------+------------|
- | 155672 | seanbright | Fix this as well. Pointed out by | |
- | | | tzafrir. | |
- |----------+------------+-----------------------------------+------------|
- | | | I got tired of saying this in | |
- | 155826 | tilghman | every single bugnote referring to | |
- | | | this file. | |
- |----------+------------+-----------------------------------+------------|
- | 155864 | mmichelson | Channel drivers assume that when | |
- | | | their indicate callback | |
- |----------+------------+-----------------------------------+------------|
- | | | Make documentation of update | |
- | 156005 | tilghman | method match documentation and | |
- | | | update update2 | |
- |----------+------------+-----------------------------------+------------|
- | 156128 | mmichelson | Add a couple of AC_SUBST calls to | |
- | | | the AST_C_COMPILE_CHECK | |
- |----------+------------+-----------------------------------+------------|
- | | | Move the sanity check that makes | |
- | 156168 | russell | sure "always fork" is not set | |
- | | | along with the | |
- |----------+------------+-----------------------------------+------------|
- | | | When doing some tests, I was | |
- | 156171 | mmichelson | having a crash at the end of | |
- | | | every call | |
- |----------+------------+-----------------------------------+------------|
- | 156284 | tilghman | Fix build (res possibly unused in | |
- | | | this function, says gcc) | |
- |----------+------------+-----------------------------------+------------|
- | | | For whatever reason, gcc only | |
- | 156291 | jpeeler | warned me about the possible use | |
- | | | of an uninitialized variable when | |
- | | | compiling 1.6.1. | |
- |----------+------------+-----------------------------------+------------|
- | 156354 | murf | It turns out that the 0x0XX00 | |
- | | | codes being returned for | |
- |----------+------------+-----------------------------------+------------|
- | 156614 | mmichelson | Kevin sent a note indicating that | |
- | | | this change is | |
- |----------+------------+-----------------------------------+------------|
- | | | ast_waitfordigit() requires that | |
- | 156757 | tilghman | the channel be up, for no good | |
- | | | logical | |
- |----------+------------+-----------------------------------+------------|
- | 156819 | mmichelson | If the prompt to reenter a | |
- | | | voicemail password timed out, it | |
- |----------+------------+-----------------------------------+------------|
- | 156894 | mmichelson | This is the 1.6.1 version of | |
- | | | trunk commit 156883. | |
- |----------+------------+-----------------------------------+------------|
- | 156963 | mmichelson | Revision 155513 of chan_sip.c in | |
- | | | trunk inadvertently | |
- |----------+------------+-----------------------------------+------------|
- | | | Use the new case insensitive hash | |
- | 157040 | russell | function for console interfaces. | |
- | | | The comparison | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a few more places where the | |
- | 157042 | russell | case insensitive hash should be | |
- | | | used since | |
- |----------+------------+-----------------------------------+------------|
- | 157108 | kpfleming | major update to doxygen | |
- | | | configuration file: | |
- |----------+------------+-----------------------------------+------------|
- | | | dist-clean should remove | |
- | 157166 | kpfleming | dependency information files as | |
- | | | well | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a crash in the | |
- | 157308 | mmichelson | end_bridge_callback of app_dial | |
- | | | and | |
- |----------+------------+-----------------------------------+------------|
- | 157498 | mmichelson | Based on Russell's advice on the | |
- | | | asterisk-dev list, I have | |
- |----------+------------+-----------------------------------+------------|
- | | | Starting with a change to ensure | |
- | 157641 | tilghman | that ast_verbose() preserves ABI | |
- | | | compatibility | |
- |----------+------------+-----------------------------------+------------|
- | | | make some corrections to the | |
- | | | ast_agi_register_multiple(), | |
- | 157719 | kpfleming | ast_agi_unregister_multiple() and | |
- | | | ast_agi_fdprintf() API calls to | |
- | | | be consistent with API guidelines | |
- |----------+------------+-----------------------------------+------------|
- | 157744 | kpfleming | correct small bug introduced | |
- | | | during API conversion | |
- |----------+------------+-----------------------------------+------------|
- | | | the gcc optimizer frequently | |
- | | | finds broken code (use of | |
- | | | uninitalized variables, | |
- | | | unreachable code, etc.), which is | |
- | | | good. however, developers usually | |
- | | | compile with the optimizer turned | |
- | 157975 | kpfleming | off, because if they need to | |
- | | | debug the resulting code, | |
- | | | optimized code makes that process | |
- | | | very difficult. this means that | |
- | | | we get code changes committed | |
- | | | that weren't adequately checked | |
- | | | over for these sorts of problems. | |
- |----------+------------+-----------------------------------+------------|
- | 158134 | mmichelson | Begin on a crusade to end | |
- | | | trailing whitespace! | |
- |----------+------------+-----------------------------------+------------|
- | 158135 | twilson | Begin on a crusade to end | |
- | | | trailing whitespace! | |
- |----------+------------+-----------------------------------+------------|
- | 158223 | mmichelson | Change this so it actually | |
- | | | compiles. Thanks, Terry! | |
- |----------+------------+-----------------------------------+------------|
- | 158264 | mmichelson | Fix the build for 32-bit systems. | |
- | | | %lu is only 32-bits | |
- |----------+------------+-----------------------------------+------------|
- | 158268 | mmichelson | Use some magic constants to get | |
- | | | the right size | |
- |----------+------------+-----------------------------------+------------|
- | | | as suggested by jtodd, document | |
- | 158450 | kpfleming | the purposes of the CHANGES and | |
- | | | UPGRADE files | |
- |----------+------------+-----------------------------------+------------|
- | | | When compiling with | |
- | 158541 | russell | DEBUG_THREADS, report the real | |
- | | | file/func/line for | |
- | | | ao2_lock/ao2_unlock | |
- |----------+------------+-----------------------------------+------------|
- | | | The passed extension may not be | |
- | 158604 | tilghman | the same in the list as the | |
- | | | current entry, | |
- |----------+------------+-----------------------------------+------------|
- | 158607 | murf | In reference to the fix made for | |
- | | | 13871, I was | |
- |----------+------------+-----------------------------------+------------|
- | 158689 | mvanbaak | fix a very occasional core dump | #13948 |
- | | | in chan_skinny found by wedhorn. | |
- |----------+------------+-----------------------------------+------------|
- | | | Add a bit of documentation | |
- | 158861 | tilghman | (thanks, I-MOD) on what the | |
- | | | silence threshold | |
- |----------+------------+-----------------------------------+------------|
- | 158926 | mnicholson | Fix compiling in dev mode. | |
- |----------+------------+-----------------------------------+------------|
- | 158993 | twilson | Make chan_usbradio compile under | |
- | | | dev mode | |
- |----------+------------+-----------------------------------+------------|
- | 159095 | twilson | Add missing variable declaration | |
- | | | for PPC code | |
- |----------+------------+-----------------------------------+------------|
- | | | Always parse arguments in | |
- | | | park_call_exec so that app_args | |
- | 159403 | jpeeler | is valid. This prevents a crash | |
- | | | when executing Park from the | |
- | | | dialplan with no arguments. | |
- |----------+------------+-----------------------------------+------------|
- | | | simplify (and slightly bug-fix) | |
- | 159535 | kpfleming | the recent developer-oriented | |
- | | | COMPILE_DOUBLE mode | |
- |----------+------------+-----------------------------------+------------|
- | 159851 | kpfleming | incorporates r159808 from | |
- | | | branches/1.4: | |
- |----------+------------+-----------------------------------+------------|
- | | | Allow the '#' sign to exist | |
- | 159854 | tilghman | within an extension (inspired by | #13330 |
- | | | issue #13330) | |
- |----------+------------+-----------------------------------+------------|
- | 159920 | russell | Force a "make clean" to avoid a | |
- | | | bizarre build issue ... | |
- |----------+------------+-----------------------------------+------------|
- | 159975 | mvanbaak | make manager compile on OpenBSD. | |
- |----------+------------+-----------------------------------+------------|
- | | | Apply some logic used in | |
- | 160006 | russell | iax2_indicate() to | |
- | | | iax2_setoption(), as well, since | |
- | | | they | |
- |----------+------------+-----------------------------------+------------|
- | | | Use AST_EXT_LIB_SETUP before | |
- | 160101 | tilghman | using AST_EXT_LIB_CHECK or bad | |
- | | | things happen. | |
- |----------+------------+-----------------------------------+------------|
- | | | Pay attention to the return value | |
- | 160175 | seanbright | of system(), even if we basically | |
- | | | ignore it. | |
- |----------+------------+-----------------------------------+------------|
- | | | Ensure that Asterisk builds with | |
- | 160234 | tilghman | --enable-dev-mode, even on the | |
- | | | latest gcc | |
- |----------+------------+-----------------------------------+------------|
- | 160339 | jpeeler | remove duplicate comment that I | |
- | | | accidentally merged | |
- |----------+------------+-----------------------------------+------------|
- | 160483 | tilghman | Jon Bonilla (Manwe) pointed out | |
- | | | on the -dev list: | |
- |----------+------------+-----------------------------------+------------|
- | | | Don't start scanning the | |
- | 160554 | tilghman | directory until all modules are | |
- | | | loaded, because some | |
- |----------+------------+-----------------------------------+------------|
- | 160557 | mmichelson | When investigating issue #13548, | #13548 |
- | | | I found that gosub | |
- |----------+------------+-----------------------------------+------------|
- | | | If an entry is added to the | |
- | 160561 | tilghman | directory during a scan when | |
- | | | another entry expires, | |
- |----------+------------+-----------------------------------+------------|
- | | | Some compilers warn on null | |
- | 160811 | tilghman | format strings; some don't | |
- | | | (caught by buildbot) | |
- |----------+------------+-----------------------------------+------------|
- | | | * Found a couple more places | |
- | 160858 | rmudgett | where num/number needed to be | |
- | | | done | |
- |----------+------------+-----------------------------------+------------|
- | 160859 | rmudgett | Jcolp pointed out that num will | |
- | | | also match number | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a callerid parsing issue. If | |
- | 160947 | mmichelson | someone formatted callerid like | |
- | | | the | |
- |----------+------------+-----------------------------------+------------|
- | | | Check the return value of | |
- | 161149 | seanbright | fread/fwrite so the compiler | |
- | | | doesn't complain. Only a | |
- |----------+------------+-----------------------------------+------------|
- | | | Resolve a compiler warning from | |
- | 161285 | russell | buildbot about a NULL format | |
- | | | string. | |
- |----------+------------+-----------------------------------+------------|
- | 161290 | russell | Fix a NULL format string warning | |
- | | | found by buildbot. | |
- |----------+------------+-----------------------------------+------------|
- | | | When using IMAP_STORAGE, it's | |
- | 161352 | seanbright | important to convert bare | |
- | | | newlines (\n) in | |
- |----------+------------+-----------------------------------+------------|
- | 161496 | mmichelson | If the autoloop flag is set on a | |
- | | | channel, then we need to | |
- |----------+------------+-----------------------------------+------------|
- | 161835 | file | Update autosupport script with a | |
- | | | few changes. | |
- |----------+------------+-----------------------------------+------------|
- | 161963 | russell | Fix a problem with GROUP() | |
- | | | settings on a masquerade. | |
- |----------+------------+-----------------------------------+------------|
- | | | Previous fix used ast_malloc and | |
- | 162142 | murf | ast_copy_string and messed up the | |
- | | | standalone stuff. Fixed. | |
- |----------+------------+-----------------------------------+------------|
- | 162269 | mmichelson | If we fail to start a thread for | |
- | | | the pbx to run in, we need to | |
- |----------+------------+-----------------------------------+------------|
- | | | In discussion with seanbright on | |
- | | | #asterisk-dev, I have added a | |
- | | | default rule, and an option to | |
- | | | suppress the default rule from | |
- | 162277 | murf | being generated in the flex | |
- | | | output, for the sake of those | |
- | | | OS's where they didn't tweak | |
- | | | flex's ECHO macro, and the | |
- | | | compiler doesn't like it. The | |
- | | | regressions are OK with this. | |
- |----------+------------+-----------------------------------+------------|
- | | | We appear to have documented tz= | |
- | 162372 | tilghman | in the [general] section of | |
- | | | voicemail.conf, | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove the | |
- | 162416 | russell | test_for_thread_safety() function | |
- | | | completely. | |
- |----------+------------+-----------------------------------+------------|
- | 162472 | tilghman | Oops, should be "tz", not | |
- | | | "zonetag". | |
- |----------+------------+-----------------------------------+------------|
- | 162490 | mmichelson | it does help if the compiler | |
- | | | attribute syntax is correct | |
- |----------+------------+-----------------------------------+------------|
- | 162585 | mvanbaak | Make res_snmp.so compile on | |
- | | | OpenBSD. | |
- |----------+------------+-----------------------------------+------------|
- | | | Oops, inverted logic for a | |
- | 162929 | jpeeler | strcasecmp check. Pointed out by | |
- | | | mmichelson, thanks! | |
- |----------+------------+-----------------------------------+------------|
- | | | Revert this cast to long. Using | |
- | 163087 | mmichelson | time_t here causes build failures | |
- | | | on a | |
- |----------+------------+-----------------------------------+------------|
- | | | Specify uint32_t for variables | |
- | 163514 | russell | storing a CRC32 so that it is | #13879 |
- | | | actually 32 bits | |
- |----------+------------+-----------------------------------+------------|
- | 163669 | russell | Fix a small race condition in | |
- | | | sip_tcp_locate(). | |
- |----------+------------+-----------------------------------+------------|
- | | | Rename a number of tcptls_session | |
- | 163672 | russell | variables. There are no | |
- | | | functional changes here. | |
- |----------+------------+-----------------------------------+------------|
- | | | demote always-appearing debug | |
- | 163715 | murf | message (for certain boards) to | |
- | | | ast_debug lev 3 msg instead | |
- |----------+------------+-----------------------------------+------------|
- | | | Simple fix for Ctrl-C not | |
- | 163764 | tilghman | immediately exiting Asterisk, but | |
- | | | also add a | |
- |----------+------------+-----------------------------------+------------|
- | 163830 | russell | (No Summary Available) | |
- |----------+------------+-----------------------------------+------------|
- | | | Only detach and destroy the | |
- | 163914 | file | whisper audiohooks if they are | |
- | | | actually in use. | |
- |----------+------------+-----------------------------------+------------|
- | 164274 | mmichelson | Fix a compile warning and a logic | |
- | | | error that could have been bad | |
- |----------+------------+-----------------------------------+------------|
- | 164421 | mmichelson | Add notes to autoservice and pbx | |
- | | | doxygen regarding a potential | |
- |----------+------------+-----------------------------------+------------|
- | 164425 | mmichelson | Add the deadlock note to | |
- | | | ast_spawn_extension as well | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix log message to refer to the | |
- | 164524 | russell | generic timing interface, not | #14082 |
- | | | DAHDI specifically | |
- |----------+------------+-----------------------------------+------------|
- | 164658 | murf | I added a sentence to clarify why | |
- | | | - and ' ' are ignored in patterns | |
- |----------+------------+-----------------------------------+------------|
- | | | Do not dereference the channel if | |
- | 164879 | russell | AST_PBX_KEEPALIVE has been | |
- | | | returned. | |
- |----------+------------+-----------------------------------+------------|
- | | | After looking through SIP | |
- | 164980 | mmichelson | registration code most of the | |
- | | | day, this | |
- |----------+------------+-----------------------------------+------------|
- | 165093 | murf | for all but DEBUG_CHANNEL_LOCKS, | |
- | | | DEBUG_SCHEDULER, | |
- |----------+------------+-----------------------------------+------------|
- | 165146 | mmichelson | Use the create_vm_state_from_user | |
- | | | function in a place where | |
- |----------+------------+-----------------------------------+------------|
- | | | Polycom phones close the | |
- | | | connection after reading a little | |
- | | | bit of the firmware files, we | |
- | 165242 | twilson | should stop sending in that case. | |
- | | | Also, make that case print out a | |
- | | | debug statement instead of a | |
- | | | scary WARNING. | |
- |----------+------------+-----------------------------------+------------|
- | 165279 | murf | This patch is here committed to | |
- | | | satisfy the | |
- |----------+------------+-----------------------------------+------------|
- | 165324 | mmichelson | Fix some memory leaks found while | |
- | | | looking at how realtime | |
- |----------+------------+-----------------------------------+------------|
- | 165329 | tilghman | Oops, broke trunk | |
- |----------+------------+-----------------------------------+------------|
- | 165332 | mmichelson | Fix a refcount leak in res_odbc | |
- |----------+------------+-----------------------------------+------------|
- | 165543 | tilghman | Fix reference counts of the class | |
- | | | and add an assertion to the end. | |
- |----------+------------+-----------------------------------+------------|
- | 165660 | tilghman | Fix 2 resource leaks and fix | |
- | | | another pipe-to-comma conversion | |
- |----------+------------+-----------------------------------+------------|
- | 165725 | mmichelson | Fix crashes in res_odbc. | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove the need for | |
- | 165728 | russell | AST_PBX_KEEPALIVE with the GoSub | |
- | | | option from Dial. | |
- |----------+------------+-----------------------------------+------------|
- | 165804 | russell | Make ast_carefulwrite() be more | #13546 |
- | | | careful. | |
- |----------+------------+-----------------------------------+------------|
- | 166161 | mmichelson | Switch documentation formats for | |
- | | | func_audiohookinherit.c | |
- |----------+------------+-----------------------------------+------------|
- | 166164 | mmichelson | Get rid of an extra space. | |
- |----------+------------+-----------------------------------+------------|
- | 166260 | russell | Remove AST_PBX_KEEPALIVE usage | |
- | | | from res_agi. | |
- |----------+------------+-----------------------------------+------------|
- | 166326 | russell | Fix up timeout handling in | |
- | | | ast_carefulwrite(). | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove some error messages. This | |
- | 166343 | russell | is the default handler that is | |
- | | | valid to use. | |
- |----------+------------+-----------------------------------+------------|
- | 166379 | russell | Fix a bad typo. | |
- |----------+------------+-----------------------------------+------------|
- | 166438 | russell | Cosmetic change - don't mix | |
- | | | struct initializer styles. | |
- |----------+------------+-----------------------------------+------------|
- | 166730 | murf | to fetch a parked call, after the | |
- | | | first case. | |
- |----------+------------+-----------------------------------+------------|
- | | | Use strncat() instead of an | |
- | 166775 | russell | sprintf() in which source and | |
- | | | target buffers overlap | |
- |----------+------------+-----------------------------------+------------|
- | | | Per kpfleming add a note | |
- | 166858 | file | describing why you must never | |
- | | | change the first element of | |
- | | | peer_finding_info. | |
- |----------+------------+-----------------------------------+------------|
- | 166863 | mmichelson | Update app_queue to deal with the | |
- | | | removal of AST_PBX_KEEPALIVE | |
- |----------+------------+-----------------------------------+------------|
- | 166910 | twilson | Fix some svn:keywords | |
- |----------+------------+-----------------------------------+------------|
- | 166957 | tilghman | Also inherit the musiconhold | |
- | | | class. | |
- |----------+------------+-----------------------------------+------------|
- | 167268 | tilghman | Security fix AST-2009-001. | |
- |----------+------------+-----------------------------------+------------|
- | | | Update the sip-friends.sql file | |
- | | | to use the non-deprecated | |
- | 167376 | lmadsen | 'defaultname' instead of | |
- | | | 'username' and remove an extra | |
- | | | comma that would cause the script | |
- | | | to fail as-is | |
- |----------+------------+-----------------------------------+------------|
- | 167456 | russell | Treat an empty string the same | |
- | | | way as a NULL country argument. | |
- |----------+------------+-----------------------------------+------------|
- | | | Don't use free() directly. This | |
- | 167544 | russell | caused a crash since | |
- | | | ast_filestream is now an ao2 | |
- | | | object. | |
- |----------+------------+-----------------------------------+------------|
- | 167550 | russell | Only try to close the file if one | |
- | | | was actually opened | |
- |----------+------------+-----------------------------------+------------|
- | | | Don't fclose() the file early, | |
- | 167558 | russell | the filestream destructor will | |
- | | | handle it. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix the last couple of places | |
- | 167573 | russell | where free() was improperly used | |
- | | | directly. | |
- |----------+------------+-----------------------------------+------------|
- | 167663 | lmadsen | Oops... fix the fieldname I | |
- | | | changed yesterday to be right. | |
- |----------+------------+-----------------------------------+------------|
- | | | When a SIP request or response | |
- | | | arrives for a dialog with an | |
- | | | associated Asterisk channel, and | |
- | | | the lock on that channel cannot | |
- | 167701 | kpfleming | be obtained because it is held by | |
- | | | another thread, instead of | |
- | | | dropping the request/response, | |
- | | | queue it for later processing | |
- | | | when the channel lock becomes | |
- | | | available. | |
- |----------+------------+-----------------------------------+------------|
- | 167727 | kpfleming | remove an unnecessary argument to | |
- | | | queue_request() | |
- |----------+------------+-----------------------------------+------------|
- | | | Set peer context and exten values | |
- | 167972 | twilson | so MACRO_EXTEN and MACRO_CONTEXT | |
- | | | will be set | |
- |----------+------------+-----------------------------------+------------|
- | | | When using ast_str with a | |
- | 168092 | tilghman | non-ast_str-enabled API, we need | |
- | | | to update the buffer | |
- |----------+------------+-----------------------------------+------------|
- | 168209 | russell | Make this compile for mvanbaak | |
- |----------+------------+-----------------------------------+------------|
- | 168266 | rmudgett | * Fix for JIRA AST-175/ABE-1757 | |
- |----------+------------+-----------------------------------+------------|
- | | | update to use new sound file | |
- | 168272 | kpfleming | packages that include license | |
- | | | files | |
- |----------+------------+-----------------------------------+------------|
- | | | sizeof for a stringfield is 4. | |
- | 168336 | tilghman | Kinda low for reconstructing a | |
- | | | field value. | |
- |----------+------------+-----------------------------------+------------|
- | 168484 | russell | s/ringdance/ringcadence/ for | |
- | | | Bulgaria | |
- |----------+------------+-----------------------------------+------------|
- | 168488 | mmichelson | (No Summary Available) | |
- |----------+------------+-----------------------------------+------------|
- | 168500 | oej | Better to use the proper app name | |
- |----------+------------+-----------------------------------+------------|
- | | | Repeat attempts to write when we | |
- | 168528 | tilghman | receive -EAGAIN from the driver, | |
- | | | as detailed | |
- |----------+------------+-----------------------------------+------------|
- | 168565 | russell | Revert unnecessary indications | |
- | | | API change from rev 122314 | |
- |----------+------------+-----------------------------------+------------|
- | | | app_page was failing to compile | |
- | 168621 | murf | in dev-mode on my gcc-4.2.4 | |
- | | | system. This change gets rid of | |
- | | | the warning. | |
- |----------+------------+-----------------------------------+------------|
- | 168625 | rmudgett | * Fixed create_process() | |
- | | | allocation of process ID values. | |
- |----------+------------+-----------------------------------+------------|
- | | | Make sure that we have the same | |
- | 168714 | oej | terminology in sip.conf.sample | |
- | | | and the source code warning. | |
- |----------+------------+-----------------------------------+------------|
- | | | Clarify some misunderstandings | |
- | 168715 | oej | and make it even more clear that | |
- | | | you can refer to a peer | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove an unneeded condition for | |
- | 168726 | mmichelson | line addition to a SIP | #14220 |
- | | | request/response | |
- |----------+------------+-----------------------------------+------------|
- | 168727 | oej | Meetme actually has realtime but | |
- | | | wasn't documented | |
- |----------+------------+-----------------------------------+------------|
- | 168729 | mmichelson | Fix the compactheaders option in | |
- | | | sip.conf | |
- |----------+------------+-----------------------------------+------------|
- | 168836 | tilghman | Fix the conjugation of Russian | #12475 |
- | | | and Ukrainian languages. | |
- |----------+------------+-----------------------------------+------------|
- | | | Add discriminator for when ring | |
- | 169154 | dbailey | pulse alert signal is used to | |
- | | | preface MWI spills | |
- |----------+------------+-----------------------------------+------------|
- | 169554 | twilson | Make a proper builtin attended | |
- | | | transfer to parking work | |
- |----------+------------+-----------------------------------+------------|
- | 169626 | russell | Remove properties that | |
- | | | erroneously got merged into trunk | |
- |----------+------------+-----------------------------------+------------|
- | | | Further fix some oddities in sip | |
- | 169792 | mmichelson | show users and sip show peers | |
- | | | logic | |
- |----------+------------+-----------------------------------+------------|
- | 169830 | mvanbaak | remove duplicated sentence. | |
- |----------+------------+-----------------------------------+------------|
- | | | MWI messages included in CID | |
- | 170458 | dbailey | spill was not being properly | #14313 |
- | | | handled and prevented the call | |
- | | | from being processed | |
- |----------+------------+-----------------------------------+------------|
- | 170502 | mvanbaak | let's use SENTINEL where needed | |
- |----------+------------+-----------------------------------+------------|
- | 170637 | tilghman | Additions to AST-2009-001 | |
- |----------+------------+-----------------------------------+------------|
- | 170792 | russell | Don't blow up if a branch name | |
- | | | has an underscore in it | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix asterisk.pdf generation if | |
- | 170831 | rmudgett | branch name has an underscore in | |
- | | | it. | |
- |----------+------------+-----------------------------------+------------|
- | 170945 | russell | Change ARRAY_LEN() to be more C++ | |
- | | | safe. | |
- |----------+------------+-----------------------------------+------------|
- | | | Add a better explanation of the | |
- | 171857 | oej | difference between the device | |
- | | | namespace and the dialplan for | |
- | | | newbies. | |
- |----------+------------+-----------------------------------+------------|
- | 171966 | tilghman | Clarify log message (suggested by | |
- | | | manxpower on #asterisk-dev) | |
- |----------+------------+-----------------------------------+------------|
- | 172218 | oej | Add some more notes about device | |
- | | | matching. | |
- |----------+------------+-----------------------------------+------------|
- | | | Better document mode=multirow, | |
- | 172317 | tilghman | based upon a conversation with | |
- | | | Jared. | |
- |----------+------------+-----------------------------------+------------|
- | 172435 | rmudgett | channels/chan_dahdi.c | |
- |----------+------------+-----------------------------------+------------|
- | 172509 | oej | Remove an extra "the" and | |
- | | | restructure a bit | |
- |----------+------------+-----------------------------------+------------|
- | 172609 | mmichelson | Fix redefinition of flag in | |
- | | | channel.h | |
- |----------+------------+-----------------------------------+------------|
- | 172638 | twilson | Remove incorret line from sample | |
- | | | config | |
- |----------+------------+-----------------------------------+------------|
- | 173069 | twilson | Fix a feature inheritance bug I | |
- | | | added after code review | |
- |----------+------------+-----------------------------------+------------|
- | | | Add a missing unlock. Extremely | |
- | 173395 | mmichelson | unlikely to ever matter, but it's | |
- | | | needed. | |
- |----------+------------+-----------------------------------+------------|
- | 173399 | mmichelson | Revert my previous change because | |
- | | | it was stupid | |
- |----------+------------+-----------------------------------+------------|
- | 173595 | mmichelson | Add some missing cleanup to | |
- | | | app_mixmonitor | |
- |----------+------------+-----------------------------------+------------|
- | | | Change the first field, or we | |
- | 173658 | tilghman | don't get the necessary field | |
- | | | separation. | |
- |----------+------------+-----------------------------------+------------|
- | 173778 | tilghman | Oops, merge from trunk broke | |
- | | | 1.6.1 | |
- |----------+------------+-----------------------------------+------------|
- | 173779 | mmichelson | Update extensions.conf.sample to | |
- | | | be correct. | |
- |----------+------------+-----------------------------------+------------|
- | | | Resolve a memory leak that would | |
- | 173850 | russell | occur on an invalid channel given | |
- | | | to Action: Status | |
- |----------+------------+-----------------------------------+------------|
- | 173965 | mnicholson | revert revision 173964 | |
- |----------+------------+-----------------------------------+------------|
- | 174154 | russell | Fix a race condition that could | |
- | | | cause a crash. | |
- |----------+------------+-----------------------------------+------------|
- | 174329 | mmichelson | Fix something I messed up in the | |
- | | | merge I just did | |
- |----------+------------+-----------------------------------+------------|
- | 174428 | murf | This patch solves some compiler | |
- | | | complaints | |
- |----------+------------+-----------------------------------+------------|
- | 174434 | murf | More intptr_t work. | |
- |----------+------------+-----------------------------------+------------|
- | | | One final fix in the 1.6.1 | |
- | 174438 | murf | release only; some variables the | |
- | | | compiler | |
- |----------+------------+-----------------------------------+------------|
- | 174440 | murf | This patch corrects warnings | |
- | | | which seem to appear | |
- |----------+------------+-----------------------------------+------------|
- | 174471 | tilghman | Remove the usage of the KeepAlive | |
- | | | app, as it no longer exists. | |
- |----------+------------+-----------------------------------+------------|
- | 174504 | tilghman | Fix0ring build | |
- |----------+------------+-----------------------------------+------------|
- | 174714 | file | Only decrease inringing count if | #13238 |
- | | | above zero. | |
- |----------+------------+-----------------------------------+------------|
- | 174823 | mmichelson | Fix potential for stack overflows | |
- | | | in app_chanspy.c | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a bit of odd logic for | |
- | 174952 | mmichelson | announcing position. Sync with | |
- | | | 1.6.0's logic | |
- |----------+------------+-----------------------------------+------------|
- | | | Make lock information for | |
- | 175123 | mmichelson | ao2_trylock be more useful and | |
- | | | gnarly | |
- |----------+------------+-----------------------------------+------------|
- | 175130 | dvossel | Setting key rotation to be off by | |
- | | | default | |
- |----------+------------+-----------------------------------+------------|
- | 175190 | jpeeler | Fix crash in event of failed | |
- | | | attempt to transfer to parking | |
- |----------+------------+-----------------------------------+------------|
- | 175251 | kpfleming | correct warning message to not | |
- | | | refer specifically to DAHDI | |
- |----------+------------+-----------------------------------+------------|
- | | | Don't enable something by default | |
- | 175257 | russell | that has a dependency on | |
- | | | something _not_ enabled by | |
- | | | default. | |
- |----------+------------+-----------------------------------+------------|
- | 175297 | russell | Avoid using ast_strdupa() in a | |
- | | | loop. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix ParkedCall event information | |
- | 175300 | jpeeler | for From field in the case of a | |
- | | | blind transfer | |
- |----------+------------+-----------------------------------+------------|
- | 175370 | russell | Remove useless string copy, and | |
- | | | make sscanf safe again | |
- |----------+------------+-----------------------------------+------------|
- | 175662 | dvossel | Fixed iax2 key rotation backwards | |
- | | | compatibility | |
- |----------+------------+-----------------------------------+------------|
- | 175831 | russell | Fix a number of problems with | |
- | | | ast_sched_report(). | |
- |----------+------------+-----------------------------------+------------|
- | 175890 | russell | Make ast_sched_report() and | |
- | | | ast_sched_dump() thread safe. | |
- |----------+------------+-----------------------------------+------------|
- | 176023 | mvanbaak | fix mis-spelling of the word | |
- | | | registered. | |
- |----------+------------+-----------------------------------+------------|
- | | | Don't have the Via header stored | |
- | 176032 | file | as a stringfield as it can change | |
- | | | often during the lifetime of a | |
- | | | dialog. | |
- |----------+------------+-----------------------------------+------------|
- | 176099 | tilghman | Eliminate mention of a variable | |
- | | | which exists only in trunk. | |
- |----------+------------+-----------------------------------+------------|
- | 176102 | russell | Remove chan_features. | |
- |----------+------------+-----------------------------------+------------|
- | | | Assist proper thread | |
- | 176176 | mmichelson | synchronization when stopping the | |
- | | | logger thread. | |
- |----------+------------+-----------------------------------+------------|
- | 176251 | dvossel | Fixed iax2 key rotation backwards | |
- | | | compatibility | |
- |----------+------------+-----------------------------------+------------|
- | | | fix a flaw in the | |
- | | | ast_string_field_build() family | |
- | | | of API calls; these functions | |
- | | | made no attempt to reuse the | |
- | 176259 | kpfleming | space already allocated to a | |
- | | | field, so every time the field | |
- | | | was written it would allocate new | |
- | | | space, leading to what appeared | |
- | | | to be a memory leak. | |
- |----------+------------+-----------------------------------+------------|
- | | | Use the correct list macros for | |
- | 176321 | tilghman | deleting an item from the middle | #13777 |
- | | | of a list. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fixes issue with | |
- | 176362 | dvossel | AST_CONTROL_SRCUPDATE not being | #13749 |
- | | | relayed correctly during bridging | |
- |----------+------------+-----------------------------------+------------|
- | | | In this version, we can combine | |
- | 176503 | tilghman | the queries, because we support | |
- | | | dropping | |
- |----------+------------+-----------------------------------+------------|
- | 176634 | russell | Add an implementation of the heap | |
- | | | data structure. | |
- |----------+------------+-----------------------------------+------------|
- | 176637 | russell | Add a test module for the heap | |
- | | | implementation. | |
- |----------+------------+-----------------------------------+------------|
- | 176699 | mmichelson | Clear up documentation of | |
- | | | AST_FRIENDLY_OFFSET in frame.h | |
- |----------+------------+-----------------------------------+------------|
- | | | create a UDPTL structure in | |
- | 176731 | dhubbard | create_addr_from_peer() if it | |
- | | | does not already exist for T38 | |
- |----------+------------+-----------------------------------+------------|
- | 176809 | sruffell | Several changes to codec_dahdi to | |
- | | | play nice with G723. | |
- |----------+------------+-----------------------------------+------------|
- | 176903 | russell | Fix a number of incorrect uses of | |
- | | | strncpy(). | |
- |----------+------------+-----------------------------------+------------|
- | 176906 | russell | Add example code for a heap | |
- | | | traversal. | |
- |----------+------------+-----------------------------------+------------|
- | | | Need to take into account the \0 | |
- | 176962 | dbailey | terminator of the old string to | |
- | | | determine the amount available. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fixed error where a check for an | |
- | 177037 | dbailey | zero length, terminated string | |
- | | | was needed. | |
- |----------+------------+-----------------------------------+------------|
- | | | Document the return value of the | |
- | 177100 | tilghman | update method (as requested on | |
- | | | -dev list) | |
- |----------+------------+-----------------------------------+------------|
- | 177158 | russell | Re-add 'o' option to MeetMe, | #13801 |
- | | | reverting rev 62297. | |
- |----------+------------+-----------------------------------+------------|
- | 177228 | dvossel | Locking issue in action_bridge | |
- | | | and bridge_exec | |
- |----------+------------+-----------------------------------+------------|
- | | | fix two very minor bugs: if | |
- | | | anyone ever uses SLINEAR16 as a | |
- | | | format in RTP, ensure that the | |
- | | | samples are byte-swapped to | |
- | | | network order if needed. also, | |
- | 177230 | kpfleming | when a smoother is operating on a | |
- | | | format that has a sample rate | |
- | | | other than 8000 samples per | |
- | | | second, use the proper sample | |
- | | | rate for computing delivery | |
- | | | timestamps. | |
- |----------+------------+-----------------------------------+------------|
- | 177294 | murf | This patch fixes a regression of | |
- | | | sorts that was introduced in | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix mismerge from revision 176708 | |
- | 177358 | jpeeler | pointed out by Kaloyan Kovachev | |
- | | | on the | |
- |----------+------------+-----------------------------------+------------|
- | | | If we are able to create a speech | |
- | 177386 | file | structure unset the ERROR | |
- | | | variable in case it was | |
- | | | previously set. | |
- |----------+------------+-----------------------------------+------------|
- | 177389 | jpeeler | Fix another merge error from | |
- | | | 176708 | |
- |----------+------------+-----------------------------------+------------|
- | | | Set sip_request ast_str data to | |
- | 177626 | jpeeler | NULL so ast_str_copy allocates | #14478 |
- | | | space properly | |
- |----------+------------+-----------------------------------+------------|
- | 177663 | tilghman | Oops, merge broke trunk | |
- |----------+------------+-----------------------------------+------------|
- | | | This exception does not appear to | |
- | 177760 | tilghman | still be true for Solaris 10, and | |
- | | | OpenSolaris definitely needs it | |
- | | | to be removed. | |
- |----------+------------+-----------------------------------+------------|
- | 177764 | tilghman | Oops, last merge broke 1.6.1 | |
- | | | branch | |
- |----------+------------+-----------------------------------+------------|
- | 177785 | dhubbard | Make app_fax compatible with | |
- | | | spandsp-0.0.6pre4 | |
- |----------+------------+-----------------------------------+------------|
- | 177851 | mvanbaak | make chan_sip.c compile on | |
- | | | OpenBSD again. | |
- |----------+------------+-----------------------------------+------------|
- | 177945 | tilghman | On update, test against the | |
- | | | existence of sipregs. | |
- |----------+------------+-----------------------------------+------------|
- | | | Use a SIGPIPE to kill the | |
- | 178344 | tilghman | process, instead of depending | |
- | | | upon the astcanary process being | |
- | | | inherited by init. | |
- |----------+------------+-----------------------------------+------------|
- | | | The 3 possible errors with | |
- | 178377 | tilghman | pipe(2) are all impossible in | |
- | | | this situation. | |
- |----------+------------+-----------------------------------+------------|
- | | | Only set dtmfcount on BEGIN, and | |
- | 178379 | russell | ensure it gets reset to 0 | #14460 |
- | | | properly. | |
- |----------+------------+-----------------------------------+------------|
- | 178380 | russell | revert accidental Makefile | |
- | | | change. | |
- |----------+------------+-----------------------------------+------------|
- | 178383 | tilghman | Apparently, a void cast doesn't | |
- | | | override warn_unused_result. | |
- |----------+------------+-----------------------------------+------------|
- | | | Update the copyright year for the | |
- | 178511 | russell | main page of the doxygen | |
- | | | documentation. | |
- |----------+------------+-----------------------------------+------------|
- | 178875 | dvossel | IAX2 prune realtime, minor tweak | #14479 |
- | | | to last fix | |
- |----------+------------+-----------------------------------+------------|
- | 178988 | murf | ........ | |
- |----------+------------+-----------------------------------+------------|
- | 179160 | russell | Add a note about the ordering of | |
- | | | entries in sip.conf in 1.6.1. | |
- |----------+------------+-----------------------------------+------------|
- | | | Mark res_ais as experimental, as | |
- | 179166 | russell | the binary event format is | |
- | | | subject to change. | |
- |----------+------------+-----------------------------------+------------|
- | 179256 | mmichelson | Swap reversed timevals. | |
- |----------+------------+-----------------------------------+------------|
- | 179362 | tilghman | Backport 1.6.0 fix to trunk | |
- | | | (failsafe if db is not loaded) | |
- |----------+------------+-----------------------------------+------------|
- | | | Ensure that only one thread is | |
- | 179464 | russell | calling ast_settimeout() on a | |
- | | | channel at a time. | |
- |----------+------------+-----------------------------------+------------|
- | | | Move ast_waitfor() down to avoid | |
- | 179535 | russell | the results of the API call | |
- | | | becoming stale. | |
- |----------+------------+-----------------------------------+------------|
- | 179611 | russell | Make it easier to detect an | |
- | | | improper call to ast_read(). | |
- |----------+------------+-----------------------------------+------------|
- | | | Move where fdno is set to the | |
- | 179674 | file | default value to *after* the read | |
- | | | callback of the channel driver is | |
- | | | called. | |
- |----------+------------+-----------------------------------+------------|
- | | | Ensure chan->fdno always gets | |
- | 179744 | russell | reset to -1 after handling a | |
- | | | channel fd event. | |
- |----------+------------+-----------------------------------+------------|
- | | | fix a leaked channel lock (and | |
- | 179905 | russell | future deadlock) when we try to | |
- | | | pick up our own channel | |
- |----------+------------+-----------------------------------+------------|
- | 180077 | murf | suite. I had to play around with | |
- | | | the makefile a bit, etc. | |
- |----------+------------+-----------------------------------+------------|
- | | | Look for the number in a callerid | |
- | 180197 | file | string starting from the end. | |
- | | | This way a value using <> can | |
- | | | exist in the name portion. | |
- |----------+------------+-----------------------------------+------------|
- | 180378 | kpfleming | Fix problems when RTP packet | |
- | | | frame size is changed | |
- |----------+------------+-----------------------------------+------------|
- | | | Make compilation succeed in | |
- | 180585 | mmichelson | dev-mode when IMAP storage is | |
- | | | enabled. | |
- |----------+------------+-----------------------------------+------------|
- | 180740 | jpeeler | Add Doxygen documentation for API | |
- | | | changes from 1.6.0 to 1.6.1 | |
- |----------+------------+-----------------------------------+------------|
- | 180947 | qwell | Make things happier when using | |
- | | | autoconf 2.62+ | |
- |----------+------------+-----------------------------------+------------|
- | 181283 | jpeeler | add missing header file | |
- |----------+------------+-----------------------------------+------------|
- | | | Make handling of the | |
- | 181430 | russell | BRIDGEPVTCALLID variable | |
- | | | thread-safe. | |
- |----------+------------+-----------------------------------+------------|
- | | | Allow prefix to set localstatedir | |
- | 181457 | qwell | (when used and different from the | |
- | | | default). | |
- |----------+------------+-----------------------------------+------------|
- | | | Make handling of the | |
- | 181474 | russell | BRIDGE_PLAY_SOUND variable | |
- | | | thread-safe. | |
- |----------+------------+-----------------------------------+------------|
- | | | Use the correct branch integrated | |
- | 181544 | rmudgett | property when generating the | |
- | | | version string | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix incorrect usage of | |
- | 181667 | file | strncasecmp... I really meant to | |
- | | | use strcasecmp. | |
- |----------+------------+-----------------------------------+------------|
- | | | Run the macro on the queue | |
- | 181849 | mmichelson | member's channel when he answers, | |
- | | | not the caller's channel. | |
- |----------+------------+-----------------------------------+------------|
- | 181987 | kpfleming | improve a bit of suboptimal code | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix an issue with requesting a | |
- | 182042 | file | T38 reinvite before the call is | |
- | | | answered. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a memory leak in the | |
- | 182173 | file | ast_answer / __ast_answer API | |
- | | | call. | |
- |----------+------------+-----------------------------------+------------|
- | 182284 | dvossel | Randomize IAX2 encryption padding | |
- |----------+------------+-----------------------------------+------------|
- | 182527 | kpfleming | Improve behavior of ast_answer() | |
- | | | to not lose incoming frames | |
- |----------+------------+-----------------------------------+------------|
- | 182533 | kpfleming | correct logic flaw in | |
- | | | ast_answer() changes in r182525 | |
- |----------+------------+-----------------------------------+------------|
- | 182570 | russell | Tweak the handling of the frame | |
- | | | list inside of ast_answer(). | |
- |----------+------------+-----------------------------------+------------|
- | | | Add some code removed by mistake | |
- | 183030 | jpeeler | from commit 182722 that works | |
- | | | around a file | |
- |----------+------------+-----------------------------------+------------|
- | 183067 | file | Fix an issue where a T38 control | |
- | | | frame would get dropped. | |
- |----------+------------+-----------------------------------+------------|
- | | | Improve our triggering of a T38 | |
- | 183110 | file | switchover internally when | |
- | | | triggered by a received reinvite. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix an issue where cancelled | |
- | 183121 | mmichelson | outgoing SIP calls would | |
- | | | erroneously report the device as | |
- | | | "in use." | |
- |----------+------------+-----------------------------------+------------|
- | 183249 | russell | Remove the use of RTLD_NOLOAD, as | |
- | | | it is not behaving like expected. | |
- |----------+------------+-----------------------------------+------------|
- | 183438 | dvossel | Cleaning up a few things in | #11583 |
- | | | detect disconnect patch | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a crash in IAX2 registration | |
- | 183563 | russell | handling found during load | |
- | | | testing with dvossel. | |
- |----------+------------+-----------------------------------+------------|
- | 183768 | mmichelson | Fix a memory leak in | |
- | | | res_monitor.c | |
- |----------+------------+-----------------------------------+------------|
- | 183867 | tilghman | Allow browsers to cache images | |
- | | | and other static content. | |
- |----------+------------+-----------------------------------+------------|
- | | | Additionally note that the | |
- | 183916 | tilghman | operator option needs an 'o' | #14731 |
- | | | extension. | |
- |----------+------------+-----------------------------------+------------|
- | | | Exclude slin16, siren7, and | |
- | 184039 | russell | siren14 from bandwidth=low and | |
- | | | =medium | |
- |----------+------------+-----------------------------------+------------|
- | 184081 | mmichelson | Change NULL pointer check to be | |
- | | | ast_strlen_zero. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix issue with a T38 reinvite | |
- | 184282 | file | being sent even if not configured | |
- | | | to do so. | |
- |----------+------------+-----------------------------------+------------|
- | 184325 | russell | add reviewboard:url property. | |
- |----------+------------+-----------------------------------+------------|
- | | | Remove unneeded AST_LIST_ENTRY() | |
- | 184345 | russell | and comment on the purpose of | |
- | | | ast_event_ref. | |
- |----------+------------+-----------------------------------+------------|
- | 184451 | kpfleming | use new, improved 8kHz prompts | |
- |----------+------------+-----------------------------------+------------|
- | | | Pass more useful information | |
- | 184513 | russell | through to lock tracking when | |
- | | | DEBUG_THREADS is on. | |
- |----------+------------+-----------------------------------+------------|
- | 184517 | russell | Don't act surprised if we get a | |
- | | | -1 indication. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix some issues with rwlock | |
- | 184547 | russell | corruption that caused deadlock | |
- | | | like symptoms. | |
- |----------+------------+-----------------------------------+------------|
- | 184631 | russell | Change g_eid to ast_eid_default. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix speech structure leak in the | |
- | 184675 | file | AGI speech recognition | |
- | | | integration. | |
- |----------+------------+-----------------------------------+------------|
- | | | Use ast_random() instead of | |
- | 184728 | russell | rand() to ensure we use the best | |
- | | | RNG available. | |
- |----------+------------+-----------------------------------+------------|
- | 184912 | russell | Fix build error when chan_h323 is | |
- | | | not being built. | |
- |----------+------------+-----------------------------------+------------|
- | 185127 | rmudgett | Update the channel allocation | |
- | | | method documentation. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix incorrect parsing in | |
- | 185427 | dbrooks | chan_gtalk when xmpp contains | |
- | | | extra whitespaces | |
- |----------+------------+-----------------------------------+------------|
- | 185666 | kpfleming | ignore copied (generated) file | |
- |----------+------------+-----------------------------------+------------|
- | 185774 | russell | Fix a case where DTMF could | |
- | | | bypass audiohooks. | |
- |----------+------------+-----------------------------------+------------|
- | | | the DAHDI_GETCONF, DAHDI_SETCONF | |
- | | | and DAHDI_GET_PARAMS ioctls were | |
- | | | recently corrected to show that | |
- | | | they do, in fact, read data from | |
- | | | userspace as part of their work. | |
- | 185956 | kpfleming | due to this fix, valgrind now | |
- | | | reports a number of cases where | |
- | | | chan_dahdi passed an | |
- | | | uninitialized (or partially) | |
- | | | buffer to these ioctls, which | |
- | | | could lead to unexpected | |
- | | | behavior. | |
- |----------+------------+-----------------------------------+------------|
- | 186062 | tilghman | Fix for AST-2009-003 | |
- |----------+------------+-----------------------------------+------------|
- | | | ensure that the buffer passed to | |
- | 186108 | kpfleming | DAHDI_SET_BUFINFO is fully | |
- | | | initialized | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix instructions in one-step | |
- | 186177 | mmichelson | parking comment to make more | |
- | | | sense. | |
- |----------+------------+-----------------------------------+------------|
- | 186232 | russell | Fix a memory leak in cdr_radius. | |
- |----------+------------+-----------------------------------+------------|
- | | | audio_audiohook_write_list() did | |
- | 186381 | dvossel | not correctly update sample size | |
- | | | after ast_translate. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a bug where DAHDI/Zaptel | |
- | 186466 | kpfleming | channels would not properly | |
- | | | switch formats when requested | |
- |----------+------------+-----------------------------------+------------|
- | 186806 | tilghman | Fix Macro documentation to match | |
- | | | current (and intended) behavior. | |
- |----------+------------+-----------------------------------+------------|
- | 186900 | tilghman | Add lastms to the require API | |
- | | | call. | |
- |----------+------------+-----------------------------------+------------|
- | | | Make a couple of changes with | |
- | 186987 | mmichelson | regards to a new message printed | #14723 |
- | | | in ast_read(). | |
- |----------+------------+-----------------------------------+------------|
- | 187048 | mmichelson | Fix a small logical error when | |
- | | | loading moh classes. | |
- |----------+------------+-----------------------------------+------------|
- | 187305 | tilghman | Add debugging mode for diagnosing | #14625 |
- | | | file descriptor leaks. | |
- |----------+------------+-----------------------------------+------------|
- | 187365 | tilghman | Permit zero-length text messages | |
- | | | in SIP. | |
- |----------+------------+-----------------------------------+------------|
- | | | Modify headers and macros, | |
- | 187600 | tilghman | according to Russell's | |
- | | | suggestions on the -dev list | |
- |----------+------------+-----------------------------------+------------|
- | 187676 | russell | Disable test modules by default. | |
- |----------+------------+-----------------------------------+------------|
- | 187723 | kpfleming | clean up some patterns for files | |
- | | | to remove | |
- |----------+------------+-----------------------------------+------------|
- | 187767 | tilghman | Add lastms column to the | |
- | | | contributed table designs | |
- |----------+------------+-----------------------------------+------------|
- | 188038 | mmichelson | Set all queue variables on both | |
- | | | the caller and member channels. | |
- |----------+------------+-----------------------------------+------------|
- | 188104 | mmichelson | Fix another crash related to | |
- | | | cached realtime music on hold. | |
- |----------+------------+-----------------------------------+------------|
- | | | As suggested by Russell, warn | |
- | 188212 | tilghman | users when their dialplan | |
- | | | arguments contain pipes, but not | |
- | | | commas. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a bug with the change I made | |
- | 188254 | file | yesterday to outbound proxy | |
- | | | support. | |
- |----------+------------+-----------------------------------+------------|
- | 188473 | mmichelson | Fix a couple of queue member | |
- | | | reference leaks. | |
- |----------+------------+-----------------------------------+------------|
- | 188596 | mmichelson | Update ast_readvideo_callback to | |
- | | | match ast_readaudio_callback. | |
- |----------+------------+-----------------------------------+------------|
- | | | Fix a situation where the DAHDI | |
- | 188940 | file | channel private structure lock | |
- | | | was not unlocked when it should | |
- | | | have been. | |
- |----------+------------+-----------------------------------+------------|
- | 189080 | seanbright | Fix copy/paste error with | |
- | | | 'transmit silence' flag. | |
- |----------+------------+-----------------------------------+------------|
- | 189103 | mmichelson | Prevent a crash when SIP blonde | |
- | | | transferring an unbridged call. | |
- |----------+------------+-----------------------------------+------------|
- | | | Only disable mISDN DSP if | |
- | 189139 | rmudgett | Asterisk DSP is enabled. Leave | |
- | | | jitter setting alone. | |
- |----------+------------+-----------------------------------+------------|
- | | | Move the check for chan->fdno == | |
- | 189280 | mmichelson | -1 to after the zombie/hangup | #14723 |
- | | | check. | |
- |----------+------------+-----------------------------------+------------|
- | | | Clean up problem with manager | |
- | 189422 | dbailey | implementation of mmap where it | |
- | | | was not testing against | |
- | | | MAP_FAILED response. | |
- |----------+------------+-----------------------------------+------------|
- | 189534 | twilson | Don't treat a NOANSWER like a | |
- | | | CHANUNAVAIL | |
- |----------+------------+-----------------------------------+------------|
- | 189535 | twilson | Update CDR appropriately when | |
- | | | AST_CAUSE_NO_ANSWER is set | |
- |----------+------------+-----------------------------------+------------|
- | | | Add check in configure script to | |
- | 189642 | dbailey | check for GLOB_NOMAGIC and | |
- | | | GLOB_BRACE in glob.h | |
- |----------+------------+-----------------------------------+------------|
- | 189667 | dbailey | Remove daemon call on systems | |
- | | | that do not support forking. | |
- |----------+------------+-----------------------------------+------------|
- | 189815 | tilghman | Detect liblua on SuSE, and add | |
- | | | libm for linking for Fedora. | |
- |----------+------------+-----------------------------------+------------|
- | 189985 | russell | Fix call parking callback. Pipes | |
- | | | -> Commas. | |
- |----------+------------+-----------------------------------+------------|
- | 190291 | file | Fix a bug in chan_local glare | |
- | | | hangup detection. | |
- |----------+------------+-----------------------------------+------------|
- | 190371 | russell | Remove a bogus | |
- | | | ast_channel_unlock(). | |
- |----------+------------+-----------------------------------+------------|
- | | | Update warning message to not | |
- | 190624 | mmichelson | have pipes and contain all | |
- | | | options. | |
- |----------+------------+-----------------------------------+------------|
- | 190665 | russell | Resolve a crash in res_smdi when | |
- | | | used with chan_dahdi. | |
- +------------------------------------------------------------------------+
-
- ----------------------------------------------------------------------
-
- Diffstat Results
-
- [Back to Top]
-
- This is a summary of the changes to the source code that went into this
- release that was generated using the diffstat utility.
-
- .cleancount | 2
- CHANGES | 111 -
- Makefile | 19
- Makefile.moddir_rules | 4
- Makefile.rules | 81
- UPGRADE-1.2.txt | 13
- UPGRADE-1.4.txt | 13
- UPGRADE-1.6.txt | 265 +++
- UPGRADE.txt | 312 ---
- acinclude.m4 | 1119 ------------
- agi/Makefile | 5
- agi/eagi-sphinx-test.c | 15
- agi/eagi-test.c | 8
- apps/app_adsiprog.c | 4
- apps/app_authenticate.c | 4
- apps/app_channelredirect.c | 3
- apps/app_chanspy.c | 66
- apps/app_dial.c | 335 ++-
- apps/app_dictate.c | 4
- apps/app_directed_pickup.c | 4
- apps/app_directory.c | 7
- apps/app_disa.c | 12
- apps/app_echo.c | 3
- apps/app_externalivr.c | 11
- apps/app_fax.c | 76
- apps/app_festival.c | 27
- apps/app_followme.c | 45
- apps/app_macro.c | 99 -
- apps/app_meetme.c | 266 ++-
- apps/app_minivm.c | 139 -
- apps/app_mixmonitor.c | 97 +
- apps/app_mp3.c | 2
- apps/app_nbscat.c | 2
- apps/app_osplookup.c | 6
- apps/app_page.c | 25
- apps/app_parkandannounce.c | 4
- apps/app_queue.c | 655 ++++---
- apps/app_read.c | 8
- apps/app_readexten.c | 7
- apps/app_record.c | 8
- apps/app_rpt.c | 41
- apps/app_senddtmf.c | 2
- apps/app_sendtext.c | 4
- apps/app_sms.c | 900 +++++-----
- apps/app_speech_utils.c | 10
- apps/app_stack.c | 97 -
- apps/app_system.c | 9
- apps/app_test.c | 55
- apps/app_transfer.c | 8
- apps/app_userevent.c | 19
- apps/app_voicemail.c | 956 +++++++---
- apps/app_waitforsilence.c | 41
- apps/app_while.c | 5
- autoconf/acx_pthread.m4 | 243 ++
- autoconf/ast_c_compile_check.m4 | 31
- autoconf/ast_c_define_check.m4 | 33
- autoconf/ast_check_gnu_make.m4 | 20
- autoconf/ast_check_mandatory.m4 | 23
- autoconf/ast_check_openh323.m4 | 132 +
- autoconf/ast_check_pwlib.m4 | 263 +++
- autoconf/ast_ext_lib.m4 | 90 +
- autoconf/ast_ext_tool_check.m4 | 43
- autoconf/ast_func_fork.m4 | 61
- autoconf/ast_gcc_attribute.m4 | 17
- autoconf/ast_prog_egrep.m4 | 11
- autoconf/ast_prog_ld.m4 | 83
- autoconf/ast_prog_ld_gnu.m4 | 16
- autoconf/ast_prog_sed.m4 | 21
- bootstrap.sh | 2
- build_tools/cflags.xml | 3
- build_tools/embed_modules.xml | 11
- build_tools/make_buildopts_h | 12
- build_tools/make_version | 11
- cdr/Makefile | 2
- cdr/cdr_adaptive_odbc.c | 2
- cdr/cdr_csv.c | 50
- cdr/cdr_custom.c | 8
- cdr/cdr_manager.c | 12
- cdr/cdr_odbc.c | 6
- cdr/cdr_pgsql.c | 28
- cdr/cdr_radius.c | 30
- cdr/cdr_sqlite.c | 8
- cdr/cdr_sqlite3_custom.c | 13
- cdr/cdr_tds.c | 2
- channels/Makefile | 32
- channels/chan_agent.c | 271 +--
- channels/chan_alsa.c | 9
- channels/chan_console.c | 2
- channels/chan_dahdi.c | 677 ++++++-
- channels/chan_features.c | 568 ------
- channels/chan_gtalk.c | 14
- channels/chan_h323.c | 73
- channels/chan_iax2.c | 812 +++++----
- channels/chan_local.c | 67
- channels/chan_mgcp.c | 4
- channels/chan_misdn.c | 380 +++-
- channels/chan_oss.c | 41
- channels/chan_phone.c | 2
- channels/chan_sip.c | 3044 ++++++++++++++++++++++-------------
- channels/chan_skinny.c | 31
- channels/chan_unistim.c | 19
- channels/chan_usbradio.c | 38
- channels/chan_vpb.cc | 2
- channels/console_gui.c | 8
- channels/console_video.c | 4
- channels/h323/Makefile.in | 2
- channels/h323/ast_h323.cxx | 261 +--
- channels/h323/ast_h323.h | 74
- channels/h323/ast_ptlib.h | 34
- channels/h323/caps_h323.cxx | 10
- channels/h323/caps_h323.h | 12
- channels/h323/chan_h323.h | 11
- channels/h323/cisco-h225.cxx | 20
- channels/h323/cisco-h225.h | 21
- channels/h323/compat_h323.cxx | 7
- channels/h323/compat_h323.h | 12
- channels/iax2-parser.h | 47
- channels/iax2-provision.c | 110 -
- channels/iax2.h | 1
- channels/misdn/Makefile | 2
- channels/misdn/ie.c | 4
- channels/misdn/isdn_lib.c | 95 -
- channels/misdn_config.c | 28
- channels/vcodecs.c | 14
- channels/xpmr/xpmr.c | 2
- codecs/codec_dahdi.c | 404 +++-
- codecs/gsm/Makefile | 2
- codecs/lpc10/lpcini.c | 2
- configs/agents.conf.sample | 2
- configs/ais.conf.sample | 9
- configs/chan_dahdi.conf.sample | 30
- configs/extconfig.conf.sample | 1
- configs/extensions.conf.sample | 169 +
- configs/features.conf.sample | 20
- configs/func_odbc.conf.sample | 33
- configs/iax.conf.sample | 5
- configs/indications.conf.sample | 2
- configs/misdn.conf.sample | 9
- configs/queues.conf.sample | 11
- configs/res_ldap.conf.sample | 7
- configs/sip.conf.sample | 59
- configs/sip_notify.conf.sample | 43
- configs/voicemail.conf.sample | 25
- configure | 1511 +++++++++++++----
- configure.ac | 90 -
- contrib/asterisk-ng-doxygen | 51
- contrib/i18n.testsuite.conf | 277 +--
- contrib/scripts/autosupport | 15
- contrib/scripts/autosupport.8 | 9
- contrib/scripts/get_ilbc_source.sh | 2
- contrib/scripts/realtime_pgsql.sql | 6
- contrib/scripts/safe_asterisk | 8
- contrib/scripts/sip-friends.sql | 5
- doc/CODING-GUIDELINES | 6
- doc/distributed_devstate.txt | 10
- doc/manager_1_1.txt | 22
- doc/tex/Makefile | 2
- doc/tex/channelvariables.tex | 4
- doc/tex/extensions.tex | 3
- doc/tex/misdn.tex | 2
- doc/timing.txt | 90 +
- doc/unistim.txt | 2
- doc/valgrind.txt | 4
- formats/format_gsm.c | 4
- formats/format_ogg_vorbis.c | 16
- formats/format_wav.c | 9
- formats/format_wav_gsm.c | 6
- funcs/Makefile | 2
- funcs/func_audiohookinherit.c | 269 +++
- funcs/func_callerid.c | 74
- funcs/func_cdr.c | 2
- funcs/func_channel.c | 2
- funcs/func_curl.c | 4
- funcs/func_cut.c | 6
- funcs/func_env.c | 57
- funcs/func_groupcount.c | 25
- funcs/func_logic.c | 2
- funcs/func_math.c | 4
- funcs/func_odbc.c | 132 -
- funcs/func_strings.c | 26
- funcs/func_timeout.c | 17
- include/asterisk.h | 42
- include/asterisk/_private.h | 2
- include/asterisk/agi.h | 58
- include/asterisk/app.h | 104 -
- include/asterisk/astmm.h | 42
- include/asterisk/astobj2.h | 160 +
- include/asterisk/audiohook.h | 35
- include/asterisk/autoconfig.h.in | 39
- include/asterisk/callerid.h | 13
- include/asterisk/channel.h | 395 ++--
- include/asterisk/chanvars.h | 5
- include/asterisk/cli.h | 2
- include/asterisk/compat.h | 17
- include/asterisk/compiler.h | 6
- include/asterisk/config.h | 136 +
- include/asterisk/crypto.h | 14
- include/asterisk/datastore.h | 7
- include/asterisk/devicestate.h | 102 -
- include/asterisk/dial.h | 4
- include/asterisk/dlinkedlists.h | 69
- include/asterisk/dnsmgr.h | 4
- include/asterisk/doxyref.h | 28
- include/asterisk/dsp.h | 36
- include/asterisk/dundi.h | 14
- include/asterisk/endian.h | 4
- include/asterisk/enum.h | 29
- include/asterisk/event.h | 141 -
- include/asterisk/extconf.h | 26
- include/asterisk/features.h | 39
- include/asterisk/file.h | 25
- include/asterisk/frame.h | 30
- include/asterisk/global_datastores.h | 11
- include/asterisk/hashtab.h | 10
- include/asterisk/heap.h | 266 +++
- include/asterisk/http.h | 15
- include/asterisk/indications.h | 24
- include/asterisk/io.h | 4
- include/asterisk/linkedlists.h | 788 ++++-----
- include/asterisk/lock.h | 395 +++-
- include/asterisk/logger.h | 35
- include/asterisk/manager.h | 12
- include/asterisk/module.h | 8
- include/asterisk/pbx.h | 69
- include/asterisk/poll-compat.h | 30
- include/asterisk/pval.h | 1
- include/asterisk/res_odbc.h | 5
- include/asterisk/rtp.h | 17
- include/asterisk/say.h | 4
- include/asterisk/sched.h | 51
- include/asterisk/stringfields.h | 24
- include/asterisk/strings.h | 184 +-
- include/asterisk/taskprocessor.h | 16
- include/asterisk/tcptls.h | 80
- include/asterisk/threadstorage.h | 61
- include/asterisk/timing.h | 107 -
- include/asterisk/udptl.h | 3
- include/asterisk/utils.h | 50
- include/jitterbuf.h | 2
- main/Makefile | 19
- main/app.c | 96 -
- main/ast_expr2.c | 332 ++-
- main/ast_expr2.fl | 19
- main/ast_expr2.h | 4
- main/ast_expr2.y | 77
- main/ast_expr2f.c | 2308 +++-----------------------
- main/asterisk.c | 185 +-
- main/astfd.c | 275 +++
- main/astmm.c | 1
- main/astobj2.c | 36
- main/audiohook.c | 49
- main/autoservice.c | 9
- main/callerid.c | 12
- main/cdr.c | 7
- main/channel.c | 695 +++++--
- main/chanvars.c | 8
- main/cli.c | 17
- main/config.c | 45
- main/cryptostub.c | 1
- main/db.c | 11
- main/db1-ast/Makefile | 3
- main/db1-ast/hash/hash_page.c | 10
- main/db1-ast/recno/rec_open.c | 2
- main/devicestate.c | 70
- main/dial.c | 4
- main/dns.c | 2
- main/dnsmgr.c | 2
- main/dsp.c | 7
- main/editline/configure | 120 +
- main/editline/configure.in | 2
- main/editline/np/unvis.c | 2
- main/editline/read.c | 3
- main/editline/readline.c | 1
- main/editline/sys.h | 10
- main/enum.c | 89 -
- main/event.c | 501 ++++-
- main/features.c | 1096 +++++++++---
- main/file.c | 240 +-
- main/frame.c | 110 -
- main/global_datastores.c | 27
- main/hashtab.c | 24
- main/heap.c | 304 +++
- main/http.c | 57
- main/indications.c | 43
- main/io.c | 3
- main/jitterbuf.c | 32
- main/loader.c | 13
- main/logger.c | 38
- main/manager.c | 700 ++++----
- main/pbx.c | 419 +++-
- main/poll.c | 23
- main/rtp.c | 141 +
- main/say.c | 117 +
- main/sched.c | 44
- main/slinfactory.c | 10
- main/srv.c | 4
- main/stdtime/Makefile | 2
- main/taskprocessor.c | 2
- main/tcptls.c | 328 +--
- main/tdd.c | 1
- main/threadstorage.c | 38
- main/timing.c | 238 +-
- main/translate.c | 30
- main/udptl.c | 88 -
- main/utils.c | 338 ++-
- makeopts.in | 2
- pbx/Makefile | 2
- pbx/ael/ael-test/ref.ael-vtest13 | 152 -
- pbx/ael/ael-test/ref.ael-vtest17 | 2
- pbx/pbx_ael.c | 7
- pbx/pbx_config.c | 16
- pbx/pbx_dundi.c | 88 -
- pbx/pbx_lua.c | 4
- pbx/pbx_spool.c | 21
- res/Makefile | 2
- res/ael/ael.flex | 82
- res/ael/ael.tab.c | 1031 ++++++-----
- res/ael/ael.y | 147 +
- res/ael/ael_lex.c | 343 ++-
- res/ael/pval.c | 54
- res/ais/evt.c | 52
- res/res_agi.c | 388 ++--
- res/res_ais.c | 4
- res/res_config_odbc.c | 14
- res/res_config_sqlite.c | 19
- res/res_crypto.c | 10
- res/res_http_post.c | 14
- res/res_indications.c | 46
- res/res_jabber.c | 9
- res/res_monitor.c | 7
- res/res_musiconhold.c | 835 +++++----
- res/res_odbc.c | 69
- res/res_phoneprov.c | 18
- res/res_realtime.c | 6
- res/res_smdi.c | 30
- res/res_timing_dahdi.c | 24
- res/res_timing_pthread.c | 57
- res/snmp/agent.c | 14
- sounds/Makefile | 5
- sounds/sounds.xml | 2
- tests/test_heap.c | 223 ++
- utils/Makefile | 83
- utils/ael_main.c | 5
- utils/astcanary.c | 18
- utils/astman.c | 15
- utils/check_expr.c | 5
- utils/conf2ael.c | 4
- utils/expr2.testinput | 8
- utils/extconf.c | 216 +-
- utils/frame.c | 272 +--
- utils/muted.c | 13
- utils/refcounter.c | 2
- utils/smsq.c | 6
- utils/stereorize.c | 8
- utils/streamplayer.c | 7
- 355 files changed, 21755 insertions(+), 13944 deletions(-)
-
- ----------------------------------------------------------------------
diff --git a/asterisk-1.6.1.1-summary.html b/asterisk-1.6.1.1-summary.html
deleted file mode 100644
index 6bca8a1bd..000000000
--- a/asterisk-1.6.1.1-summary.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.6.1.1</title></head>
-<body>
-<h1 align="center"><a name="top">Release Summary</a></h1>
-<h3 align="center">asterisk-1.6.1.1</h3>
-<h3 align="center">Date: 2009-06-05</h3>
-<h3 align="center">&lt;asteriskteam@digium.com&gt;</h3>
-<hr/>
-<h2 align="center">Table of Contents</h2>
-<ol>
- <li><a href="#summary">Summary</a></li>
- <li><a href="#contributors">Contributors</a></li>
- <li><a href="#issues">Closed Issues</a></li>
- <li><a href="#commits">Other Changes</a></li>
- <li><a href="#diffstat">Diffstat</a></li>
-</ol>
-<hr/>
-<a name="summary"><h2 align="center">Summary</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This release has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
-<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2009-001.html">AST-2009-001</a></p>
-<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.6.1.0.</p>
-<hr/>
-<a name="contributors"><h2 align="center">Contributors</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
-<table width="100%" border="0">
-<tr>
-<td width="33%"><h3>Coders</h3></td>
-<td width="33%"><h3>Testers</h3></td>
-<td width="33%"><h3>Reporters</h3></td>
-</tr>
-<tr valign="top">
-<td>
-5 dvossel<br/>
-3 lmadsen<br/>
-</td>
-<td>
-2 dvossel<br/>
-</td>
-<td>
-1 aragon<br/>
-1 mobeck<br/>
-</td>
-</tr>
-</table>
-<hr/>
-<a name="issues"><h2 align="center">Closed Issues</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
-<h3>Category: Channels/chan_iax2</h3><br/>
-<a href="http://bugs.digium.com/view.php?id=14717">#14717</a>: [patch] chan_iax2 reports endless if a peer cannot be registered (>100 logs/sec)<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199208">199208</a><br/>
-Reporter: mobeck<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<a href="http://bugs.digium.com/view.php?id=14867">#14867</a>: IAX2 failed registration notices are spamming the CLI until /var/log/asterisk/messages file fills hard drive 100%<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199208">199208</a><br/>
-Reporter: aragon<br/>
-Testers: dvossel<br/>
-Coders: dvossel<br/>
-<br/>
-<hr/>
-<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
-<table width="100%" border="1">
-<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199128">199128</a></td><td>lmadsen</td><td>Create 1.6.1.1 tag from 1.6.1.0.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199133">199133</a></td><td>lmadsen</td><td>Update .version</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199209">199209</a></td><td>dvossel</td><td>Additional updates to AST-2009-001</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199213">199213</a></td><td>dvossel</td><td>update ChangeLog to reflect changes to AST-2009-001</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199264">199264</a></td><td>dvossel</td><td>update ChangeLog</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.1?view=revision&revision=199268">199268</a></td><td>lmadsen</td><td>Update ChangeLog</td>
-<td></td></tr></table>
-<hr/>
-<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
-<pre>
-.version | 2 -
-ChangeLog | 12 ++++++++
-channels/chan_iax2.c | 72 +++++++++++++++++++++++++++++++++++----------------
-3 files changed, 63 insertions(+), 23 deletions(-)
-</pre><br/>
-<hr/>
-</body>
-</html>
diff --git a/asterisk-1.6.1.1-summary.txt b/asterisk-1.6.1.1-summary.txt
deleted file mode 100644
index ee28be208..000000000
--- a/asterisk-1.6.1.1-summary.txt
+++ /dev/null
@@ -1,125 +0,0 @@
- Release Summary
-
- asterisk-1.6.1.1
-
- Date: 2009-06-05
-
- <asteriskteam@digium.com>
-
- ----------------------------------------------------------------------
-
- Table of Contents
-
- 1. Summary
- 2. Contributors
- 3. Closed Issues
- 4. Other Changes
- 5. Diffstat
-
- ----------------------------------------------------------------------
-
- Summary
-
- [Back to Top]
-
- This release has been made to address one or more security vulnerabilities
- that have been identified. A security advisory document has been published
- for each vulnerability that includes additional information. Users of
- versions of Asterisk that are affected are strongly encouraged to review
- the advisories and determine what action they should take to protect their
- systems from these issues.
-
- Security Advisories: AST-2009-001
-
- The data in this summary reflects changes that have been made since the
- previous release, asterisk-1.6.1.0.
-
- ----------------------------------------------------------------------
-
- Contributors
-
- [Back to Top]
-
- This table lists the people who have submitted code, those that have
- tested patches, as well as those that reported issues on the issue tracker
- that were resolved in this release. For coders, the number is how many of
- their patches (of any size) were committed into this release. For testers,
- the number is the number of times their name was listed as assisting with
- testing a patch. Finally, for reporters, the number is the number of
- issues that they reported that were closed by commits that went into this
- release.
-
- Coders Testers Reporters
- 5 dvossel 2 dvossel 1 aragon
- 3 lmadsen 1 mobeck
-
- ----------------------------------------------------------------------
-
- Closed Issues
-
- [Back to Top]
-
- This is a list of all issues from the issue tracker that were closed by
- changes that went into this release.
-
- Category: Channels/chan_iax2
-
- #14717: [patch] chan_iax2 reports endless if a peer cannot be registered
- (>100 logs/sec)
- Revision: 199208
- Reporter: mobeck
- Testers: dvossel
- Coders: dvossel
-
- #14867: IAX2 failed registration notices are spamming the CLI until
- /var/log/asterisk/messages file fills hard drive 100%
- Revision: 199208
- Reporter: aragon
- Testers: dvossel
- Coders: dvossel
-
- ----------------------------------------------------------------------
-
- Commits Not Associated with an Issue
-
- [Back to Top]
-
- This is a list of all changes that went into this release that did not
- directly close an issue from the issue tracker. The commits may have been
- marked as being related to an issue. If that is the case, the issue
- numbers are listed here, as well.
-
- +------------------------------------------------------------------------+
- | Revision | Author | Summary | Issues Referenced |
- |----------+---------+-------------------------------+-------------------|
- | 199128 | lmadsen | Create 1.6.1.1 tag from | |
- | | | 1.6.1.0. | |
- |----------+---------+-------------------------------+-------------------|
- | 199133 | lmadsen | Update .version | |
- |----------+---------+-------------------------------+-------------------|
- | 199209 | dvossel | Additional updates to | |
- | | | AST-2009-001 | |
- |----------+---------+-------------------------------+-------------------|
- | 199213 | dvossel | update ChangeLog to reflect | |
- | | | changes to AST-2009-001 | |
- |----------+---------+-------------------------------+-------------------|
- | 199264 | dvossel | update ChangeLog | |
- |----------+---------+-------------------------------+-------------------|
- | 199268 | lmadsen | Update ChangeLog | |
- +------------------------------------------------------------------------+
-
- ----------------------------------------------------------------------
-
- Diffstat Results
-
- [Back to Top]
-
- This is a summary of the changes to the source code that went into this
- release that was generated using the diffstat utility.
-
- .version | 2 -
- ChangeLog | 12 ++++++++
- channels/chan_iax2.c | 72 +++++++++++++++++++++++++++++++++++----------------
- 3 files changed, 63 insertions(+), 23 deletions(-)
-
- ----------------------------------------------------------------------
diff --git a/asterisk-1.6.1.2-summary.html b/asterisk-1.6.1.2-summary.html
deleted file mode 100644
index 72be8d34d..000000000
--- a/asterisk-1.6.1.2-summary.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.6.1.2</title></head>
-<body>
-<h1 align="center"><a name="top">Release Summary</a></h1>
-<h3 align="center">asterisk-1.6.1.2</h3>
-<h3 align="center">Date: 2009-07-27</h3>
-<h3 align="center">&lt;asteriskteam@digium.com&gt;</h3>
-<hr/>
-<h2 align="center">Table of Contents</h2>
-<ol>
- <li><a href="#summary">Summary</a></li>
- <li><a href="#contributors">Contributors</a></li>
- <li><a href="#commits">Other Changes</a></li>
- <li><a href="#diffstat">Diffstat</a></li>
-</ol>
-<hr/>
-<a name="summary"><h2 align="center">Summary</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This release has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
-<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2009-004.html">AST-2009-004</a></p>
-<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.6.1.1.</p>
-<hr/>
-<a name="contributors"><h2 align="center">Contributors</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
-<table width="100%" border="0">
-<tr>
-<td width="33%"><h3>Coders</h3></td>
-<td width="33%"><h3>Testers</h3></td>
-<td width="33%"><h3>Reporters</h3></td>
-</tr>
-<tr valign="top">
-<td>
-2 lmadsen<br/>
-1 mmichelson<br/>
-</td>
-<td>
-</td>
-<td>
-</td>
-</tr>
-</table>
-<hr/>
-<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
-<table width="100%" border="1">
-<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.2?view=revision&revision=209052">209052</a></td><td>lmadsen</td><td>Create 1.6.1.2 tag from 1.6.1.1.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.2?view=revision&revision=209054">209054</a></td><td>lmadsen</td><td>Update .version and ChangeLog files.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.6.1.2?view=revision&revision=209240">209240</a></td><td>mmichelson</td><td>Gracefully handle malformed RTP text packets.</td>
-<td></td></tr></table>
-<hr/>
-<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
-<pre>
-.version | 2 +-
-ChangeLog | 4 ++++
-main/rtp.c | 3 +++
-3 files changed, 8 insertions(+), 1 deletion(-)
-</pre><br/>
-<hr/>
-</body>
-</html>
diff --git a/asterisk-1.6.1.2-summary.txt b/asterisk-1.6.1.2-summary.txt
deleted file mode 100644
index 30b00ee54..000000000
--- a/asterisk-1.6.1.2-summary.txt
+++ /dev/null
@@ -1,94 +0,0 @@
- Release Summary
-
- asterisk-1.6.1.2
-
- Date: 2009-07-27
-
- <asteriskteam@digium.com>
-
- ----------------------------------------------------------------------
-
- Table of Contents
-
- 1. Summary
- 2. Contributors
- 3. Other Changes
- 4. Diffstat
-
- ----------------------------------------------------------------------
-
- Summary
-
- [Back to Top]
-
- This release has been made to address one or more security vulnerabilities
- that have been identified. A security advisory document has been published
- for each vulnerability that includes additional information. Users of
- versions of Asterisk that are affected are strongly encouraged to review
- the advisories and determine what action they should take to protect their
- systems from these issues.
-
- Security Advisories: AST-2009-004
-
- The data in this summary reflects changes that have been made since the
- previous release, asterisk-1.6.1.1.
-
- ----------------------------------------------------------------------
-
- Contributors
-
- [Back to Top]
-
- This table lists the people who have submitted code, those that have
- tested patches, as well as those that reported issues on the issue tracker
- that were resolved in this release. For coders, the number is how many of
- their patches (of any size) were committed into this release. For testers,
- the number is the number of times their name was listed as assisting with
- testing a patch. Finally, for reporters, the number is the number of
- issues that they reported that were closed by commits that went into this
- release.
-
- Coders Testers Reporters
- 2 lmadsen
- 1 mmichelson
-
- ----------------------------------------------------------------------
-
- Commits Not Associated with an Issue
-
- [Back to Top]
-
- This is a list of all changes that went into this release that did not
- directly close an issue from the issue tracker. The commits may have been
- marked as being related to an issue. If that is the case, the issue
- numbers are listed here, as well.
-
- +------------------------------------------------------------------------+
- | Revision | Author | Summary | Issues Referenced |
- |----------+------------+----------------------------+-------------------|
- | 209052 | lmadsen | Create 1.6.1.2 tag from | |
- | | | 1.6.1.1. | |
- |----------+------------+----------------------------+-------------------|
- | 209054 | lmadsen | Update .version and | |
- | | | ChangeLog files. | |
- |----------+------------+----------------------------+-------------------|
- | | | Gracefully handle | |
- | 209240 | mmichelson | malformed RTP text | |
- | | | packets. | |
- +------------------------------------------------------------------------+
-
- ----------------------------------------------------------------------
-
- Diffstat Results
-
- [Back to Top]
-
- This is a summary of the changes to the source code that went into this
- release that was generated using the diffstat utility.
-
- .version | 2 +-
- ChangeLog | 4 ++++
- main/rtp.c | 3 +++
- 3 files changed, 8 insertions(+), 1 deletion(-)
-
- ----------------------------------------------------------------------
diff --git a/cdr/cdr_adaptive_odbc.c b/cdr/cdr_adaptive_odbc.c
index 12c150a39..c58babea3 100644
--- a/cdr/cdr_adaptive_odbc.c
+++ b/cdr/cdr_adaptive_odbc.c
@@ -419,7 +419,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_TYPE_DATE:
{
int year = 0, month = 0, day = 0;
- if (sscanf(colptr, "%d-%d-%d", &year, &month, &day) != 3 || year <= 0 ||
+ if (sscanf(colptr, "%4d-%2d-%2d", &year, &month, &day) != 3 || year <= 0 ||
month <= 0 || month > 12 || day < 0 || day > 31 ||
((month == 4 || month == 6 || month == 9 || month == 11) && day == 31) ||
(month == 2 && year % 400 == 0 && day > 29) ||
@@ -441,7 +441,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_TYPE_TIME:
{
int hour = 0, minute = 0, second = 0;
- int count = sscanf(colptr, "%d:%d:%d", &hour, &minute, &second);
+ int count = sscanf(colptr, "%2d:%2d:%2d", &hour, &minute, &second);
if ((count != 2 && count != 3) || hour < 0 || hour > 23 || minute < 0 || minute > 59 || second < 0 || second > 59) {
ast_log(LOG_WARNING, "CDR variable %s is not a valid time ('%s').\n", entry->name, colptr);
@@ -457,7 +457,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_TIMESTAMP:
{
int year = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0;
- int count = sscanf(colptr, "%d-%d-%d %d:%d:%d", &year, &month, &day, &hour, &minute, &second);
+ int count = sscanf(colptr, "%4d-%2d-%2d %2d:%2d:%2d", &year, &month, &day, &hour, &minute, &second);
if ((count != 3 && count != 5 && count != 6) || year <= 0 ||
month <= 0 || month > 12 || day < 0 || day > 31 ||
@@ -482,7 +482,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_INTEGER:
{
int integer = 0;
- if (sscanf(colptr, "%d", &integer) != 1) {
+ if (sscanf(colptr, "%30d", &integer) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an integer.\n", entry->name);
break;
}
@@ -495,7 +495,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_BIGINT:
{
long long integer = 0;
- if (sscanf(colptr, "%lld", &integer) != 1) {
+ if (sscanf(colptr, "%30lld", &integer) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an integer.\n", entry->name);
break;
}
@@ -508,7 +508,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_SMALLINT:
{
short integer = 0;
- if (sscanf(colptr, "%hd", &integer) != 1) {
+ if (sscanf(colptr, "%30hd", &integer) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an integer.\n", entry->name);
break;
}
@@ -521,7 +521,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_TINYINT:
{
char integer = 0;
- if (sscanf(colptr, "%hhd", &integer) != 1) {
+ if (sscanf(colptr, "%30hhd", &integer) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an integer.\n", entry->name);
break;
}
@@ -534,7 +534,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_BIT:
{
char integer = 0;
- if (sscanf(colptr, "%hhd", &integer) != 1) {
+ if (sscanf(colptr, "%30hhd", &integer) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an integer.\n", entry->name);
break;
}
@@ -550,7 +550,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_DECIMAL:
{
double number = 0.0;
- if (sscanf(colptr, "%lf", &number) != 1) {
+ if (sscanf(colptr, "%30lf", &number) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an numeric type.\n", entry->name);
break;
}
@@ -565,7 +565,7 @@ static int odbc_log(struct ast_cdr *cdr)
case SQL_DOUBLE:
{
double number = 0.0;
- if (sscanf(colptr, "%lf", &number) != 1) {
+ if (sscanf(colptr, "%30lf", &number) != 1) {
ast_log(LOG_WARNING, "CDR variable %s is not an numeric type.\n", entry->name);
break;
}
diff --git a/cdr/cdr_pgsql.c b/cdr/cdr_pgsql.c
index 1203e1644..decccfb58 100644
--- a/cdr/cdr_pgsql.c
+++ b/cdr/cdr_pgsql.c
@@ -240,7 +240,7 @@ static int pgsql_log(struct ast_cdr *cdr)
ast_cdr_getvar(cdr, cur->name, &value, buf, sizeof(buf), 0, 0);
if (strncmp(cur->type, "int", 3) == 0) {
long long whatever;
- if (value && sscanf(value, "%lld", &whatever) == 1) {
+ if (value && sscanf(value, "%30lld", &whatever) == 1) {
LENGTHEN_BUF2(25);
lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%lld", whatever);
} else {
@@ -249,7 +249,7 @@ static int pgsql_log(struct ast_cdr *cdr)
}
} else if (strncmp(cur->type, "float", 5) == 0) {
long double whatever;
- if (value && sscanf(value, "%Lf", &whatever) == 1) {
+ if (value && sscanf(value, "%30Lf", &whatever) == 1) {
LENGTHEN_BUF2(50);
lensql2 += snprintf(sql2 + lensql2, sizesql2 - lensql2, "%30Lf", whatever);
} else {
@@ -509,7 +509,7 @@ static int config_module(int reload)
ast_verb(4, "Found column '%s' of type '%s'\n", fname, ftype);
cur = ast_calloc(1, sizeof(*cur) + strlen(fname) + strlen(ftype) + 2);
if (cur) {
- sscanf(flen, "%d", &cur->len);
+ sscanf(flen, "%30d", &cur->len);
cur->name = (char *)cur + sizeof(*cur);
cur->type = (char *)cur + sizeof(*cur) + strlen(fname) + 1;
strcpy(cur->name, fname);
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 555a32c0d..f3c33b434 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -1354,9 +1354,9 @@ static struct ast_channel *agent_request(const char *type, int format, void *dat
struct timeval now;
s = data;
- if ((s[0] == '@') && (sscanf(s + 1, "%d", &groupoff) == 1)) {
+ if ((s[0] == '@') && (sscanf(s + 1, "%30d", &groupoff) == 1)) {
groupmatch = (1 << groupoff);
- } else if ((s[0] == ':') && (sscanf(s + 1, "%d", &groupoff) == 1)) {
+ } else if ((s[0] == ':') && (sscanf(s + 1, "%30d", &groupoff) == 1)) {
groupmatch = (1 << groupoff);
waitforagent = 1;
} else
@@ -2337,9 +2337,9 @@ static int agent_devicestate(void *data)
int res = AST_DEVICE_INVALID;
s = data;
- if ((s[0] == '@') && (sscanf(s + 1, "%d", &groupoff) == 1))
+ if ((s[0] == '@') && (sscanf(s + 1, "%30d", &groupoff) == 1))
groupmatch = (1 << groupoff);
- else if ((s[0] == ':') && (sscanf(s + 1, "%d", &groupoff) == 1)) {
+ else if ((s[0] == ':') && (sscanf(s + 1, "%30d", &groupoff) == 1)) {
groupmatch = (1 << groupoff);
} else
groupmatch = 0;
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 4ce97eb04..a55329fc9 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -8639,7 +8639,7 @@ static unsigned int parse_pointcode(const char *pcstring)
unsigned int code1, code2, code3;
int numvals;
- numvals = sscanf(pcstring, "%d-%d-%d", &code1, &code2, &code3);
+ numvals = sscanf(pcstring, "%30d-%30d-%30d", &code1, &code2, &code3);
if (numvals == 1)
return code1;
if (numvals == 3)
@@ -9469,7 +9469,7 @@ static struct ast_channel *dahdi_request(const char *type, int format, void *dat
stringp = dest + 1;
s = strsep(&stringp, "/");
- if ((res = sscanf(s, "%d%c%d", &x, &opt, &y)) < 1) {
+ if ((res = sscanf(s, "%30d%1c%30d", &x, &opt, &y)) < 1) {
ast_log(LOG_WARNING, "Unable to determine group for data %s\n", (char *)data);
return NULL;
}
@@ -9505,7 +9505,7 @@ static struct ast_channel *dahdi_request(const char *type, int format, void *dat
channelmatch = x;
}
#ifdef HAVE_PRI
- else if ((res = sscanf(s, "%d:%d%c%d", &trunkgroup, &crv, &opt, &y)) > 1) {
+ else if ((res = sscanf(s, "%30d:%30d%1c%30d", &trunkgroup, &crv, &opt, &y)) > 1) {
if ((trunkgroup < 1) || (crv < 1)) {
ast_log(LOG_WARNING, "Unable to determine trunk group and CRV for data %s\n", (char *)data);
return NULL;
@@ -9527,8 +9527,8 @@ static struct ast_channel *dahdi_request(const char *type, int format, void *dat
channelmatch = crv;
p = pris[x].crvs;
}
-#endif
- else if ((res = sscanf(s, "%d%c%d", &x, &opt, &y)) < 1) {
+#endif
+ else if ((res = sscanf(s, "%30d%1c%30d", &x, &opt, &y)) < 1) {
ast_log(LOG_WARNING, "Unable to determine channel for data %s\n", (char *)data);
return NULL;
} else {
@@ -12756,7 +12756,7 @@ static char *dahdi_show_channel(struct ast_cli_entry *e, int cmd, struct ast_cli
return CLI_SHOWUSAGE;
#ifdef HAVE_PRI
if ((c = strchr(a->argv[3], ':'))) {
- if (sscanf(a->argv[3], "%d:%d", &trunkgroup, &channel) != 2)
+ if (sscanf(a->argv[3], "%30d:%30d", &trunkgroup, &channel) != 2)
return CLI_SHOWUSAGE;
if ((trunkgroup < 1) || (channel < 1))
return CLI_SHOWUSAGE;
@@ -14056,7 +14056,7 @@ static int build_channels(struct dahdi_chan_conf *conf, int iscrv, const char *v
#ifdef HAVE_PRI
pri = NULL;
if (iscrv) {
- if (sscanf(c, "%d:%n", &trunkgroup, &y) != 1) {
+ if (sscanf(c, "%30d:%n", &trunkgroup, &y) != 1) {
ast_log(LOG_WARNING, "CRV must begin with trunkgroup followed by a colon at line %d.\n", lineno);
return -1;
}
@@ -14079,9 +14079,9 @@ static int build_channels(struct dahdi_chan_conf *conf, int iscrv, const char *v
#endif
while ((chan = strsep(&c, ","))) {
- if (sscanf(chan, "%d-%d", &start, &finish) == 2) {
+ if (sscanf(chan, "%30d-%30d", &start, &finish) == 2) {
/* Range */
- } else if (sscanf(chan, "%d", &start)) {
+ } else if (sscanf(chan, "%30d", &start)) {
/* Just one */
finish = start;
} else if (!strcasecmp(chan, "pseudo")) {
@@ -14170,7 +14170,7 @@ static void process_echocancel(struct dahdi_chan_conf *confp, const char *data,
strcpy(confp->chan.echocancel.params[confp->chan.echocancel.head.param_count].name, param.name);
if (param.value) {
- if (sscanf(param.value, "%d", &confp->chan.echocancel.params[confp->chan.echocancel.head.param_count].value) != 1) {
+ if (sscanf(param.value, "%30d", &confp->chan.echocancel.params[confp->chan.echocancel.head.param_count].value) != 1) {
ast_log(LOG_WARNING, "Invalid echocancel parameter value supplied at line %d: '%s'\n", line, param.value);
continue;
}
@@ -14219,7 +14219,7 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
int res;
char policy[21] = "";
- res = sscanf(v->value, "%d,%20s", &confp->chan.buf_no, policy);
+ res = sscanf(v->value, "%30d,%20s", &confp->chan.buf_no, policy);
if (res != 2) {
ast_log(LOG_WARNING, "Parsing buffers option data failed, using defaults.\n");
confp->chan.buf_no = numbufs;
@@ -14253,11 +14253,11 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
} else if (!strcasecmp(v->name, "dring3range")) {
confp->chan.drings.ringnum[2].range = atoi(v->value);
} else if (!strcasecmp(v->name, "dring1")) {
- sscanf(v->value, "%d,%d,%d", &confp->chan.drings.ringnum[0].ring[0], &confp->chan.drings.ringnum[0].ring[1], &confp->chan.drings.ringnum[0].ring[2]);
+ sscanf(v->value, "%30d,%30d,%30d", &confp->chan.drings.ringnum[0].ring[0], &confp->chan.drings.ringnum[0].ring[1], &confp->chan.drings.ringnum[0].ring[2]);
} else if (!strcasecmp(v->name, "dring2")) {
- sscanf(v->value,"%d,%d,%d", &confp->chan.drings.ringnum[1].ring[0], &confp->chan.drings.ringnum[1].ring[1], &confp->chan.drings.ringnum[1].ring[2]);
+ sscanf(v->value, "%30d,%30d,%30d", &confp->chan.drings.ringnum[1].ring[0], &confp->chan.drings.ringnum[1].ring[1], &confp->chan.drings.ringnum[1].ring[2]);
} else if (!strcasecmp(v->name, "dring3")) {
- sscanf(v->value, "%d,%d,%d", &confp->chan.drings.ringnum[2].ring[0], &confp->chan.drings.ringnum[2].ring[1], &confp->chan.drings.ringnum[2].ring[2]);
+ sscanf(v->value, "%30d,%30d,%30d", &confp->chan.drings.ringnum[2].ring[0], &confp->chan.drings.ringnum[2].ring[1], &confp->chan.drings.ringnum[2].ring[2]);
} else if (!strcasecmp(v->name, "usecallerid")) {
confp->chan.use_callerid = ast_true(v->value);
} else if (!strcasecmp(v->name, "cidsignalling")) {
@@ -14314,7 +14314,7 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
} else if (!strcasecmp(v->name, "busycount")) {
confp->chan.busycount = atoi(v->value);
} else if (!strcasecmp(v->name, "busypattern")) {
- if (sscanf(v->value, "%d,%d", &confp->chan.busy_tonelength, &confp->chan.busy_quietlength) != 2) {
+ if (sscanf(v->value, "%30d,%30d", &confp->chan.busy_tonelength, &confp->chan.busy_quietlength) != 2) {
ast_log(LOG_ERROR, "busypattern= expects busypattern=tonelength,quietlength at line %d.\n", v->lineno);
}
} else if (!strcasecmp(v->name, "callprogress")) {
@@ -14332,7 +14332,7 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
} else if (!strcasecmp(v->name, "echocancel")) {
process_echocancel(confp, v->value, v->lineno);
} else if (!strcasecmp(v->name, "echotraining")) {
- if (sscanf(v->value, "%d", &y) == 1) {
+ if (sscanf(v->value, "%30d", &y) == 1) {
if ((y < 10) || (y > 4000)) {
ast_log(LOG_WARNING, "Echo training time must be within the range of 10 to 4000 ms at line %d.\n", v->lineno);
} else {
@@ -14416,19 +14416,19 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
confp->chan.mwimonitor_fsk = 1;
}
} else if (!strcasecmp(v->name, "cid_rxgain")) {
- if (sscanf(v->value, "%f", &confp->chan.cid_rxgain) != 1) {
+ if (sscanf(v->value, "%30f", &confp->chan.cid_rxgain) != 1) {
ast_log(LOG_WARNING, "Invalid cid_rxgain: %s at line %d.\n", v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "rxgain")) {
- if (sscanf(v->value, "%f", &confp->chan.rxgain) != 1) {
+ if (sscanf(v->value, "%30f", &confp->chan.rxgain) != 1) {
ast_log(LOG_WARNING, "Invalid rxgain: %s at line %d.\n", v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "txgain")) {
- if (sscanf(v->value, "%f", &confp->chan.txgain) != 1) {
+ if (sscanf(v->value, "%30f", &confp->chan.txgain) != 1) {
ast_log(LOG_WARNING, "Invalid txgain: %s at line %d.\n", v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "tonezone")) {
- if (sscanf(v->value, "%d", &confp->chan.tonezone) != 1) {
+ if (sscanf(v->value, "%30d", &confp->chan.tonezone) != 1) {
ast_log(LOG_WARNING, "Invalid tonezone: %s at line %d.\n", v->value, v->lineno);
}
} else if (!strcasecmp(v->name, "callerid")) {
@@ -14871,7 +14871,7 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
ast_copy_string(original_args, v->value, sizeof(original_args));
/* 16 cadences allowed (8 pairs) */
- element_count = sscanf(v->value, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d", &c[0], &c[1], &c[2], &c[3], &c[4], &c[5], &c[6], &c[7], &c[8], &c[9], &c[10], &c[11], &c[12], &c[13], &c[14], &c[15]);
+ element_count = sscanf(v->value, "%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d,%30d", &c[0], &c[1], &c[2], &c[3], &c[4], &c[5], &c[6], &c[7], &c[8], &c[9], &c[10], &c[11], &c[12], &c[13], &c[14], &c[15]);
/* Cadence must be even (on/off) */
if (element_count % 2 == 1) {
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 5a8d1aff7..f0754bd62 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -10798,18 +10798,18 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st
peer->maxms = 0;
} else if (!strcasecmp(v->value, "yes")) {
peer->maxms = DEFAULT_MAXMS;
- } else if (sscanf(v->value, "%d", &peer->maxms) != 1) {
+ } else if (sscanf(v->value, "%30d", &peer->maxms) != 1) {
ast_log(LOG_WARNING, "Qualification of peer '%s' should be 'yes', 'no', or a number of milliseconds at line %d of iax.conf\n", peer->name, v->lineno);
peer->maxms = 0;
}
} else if (!strcasecmp(v->name, "qualifysmoothing")) {
peer->smoothing = ast_true(v->value);
} else if (!strcasecmp(v->name, "qualifyfreqok")) {
- if (sscanf(v->value, "%d", &peer->pokefreqok) != 1) {
+ if (sscanf(v->value, "%30d", &peer->pokefreqok) != 1) {
ast_log(LOG_WARNING, "Qualification testing frequency of peer '%s' when OK should a number of milliseconds at line %d of iax.conf\n", peer->name, v->lineno);
}
} else if (!strcasecmp(v->name, "qualifyfreqnotok")) {
- if (sscanf(v->value, "%d", &peer->pokefreqnotok) != 1) {
+ if (sscanf(v->value, "%30d", &peer->pokefreqnotok) != 1) {
ast_log(LOG_WARNING, "Qualification testing frequency of peer '%s' when NOT OK should be a number of milliseconds at line %d of iax.conf\n", peer->name, v->lineno);
} else ast_log(LOG_WARNING, "Set peer->pokefreqnotok to %d\n", peer->pokefreqnotok);
} else if (!strcasecmp(v->name, "timezone")) {
@@ -11382,7 +11382,7 @@ static int set_config(char *config_file, int reload)
if (trunkmaxsize == 0)
trunkmaxsize = MAX_TRUNKDATA;
} else if (!strcasecmp(v->name, "autokill")) {
- if (sscanf(v->value, "%d", &x) == 1) {
+ if (sscanf(v->value, "%30d", &x) == 1) {
if (x >= 0)
autokill = x;
else
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c
index 35ce96858..56836e809 100644
--- a/channels/chan_mgcp.c
+++ b/channels/chan_mgcp.c
@@ -1893,7 +1893,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
ast_log(LOG_WARNING, "Unable to lookup host in c= line, '%s'\n", c);
return -1;
}
- if (sscanf(m, "audio %d RTP/AVP %n", &portno, &len) != 1) {
+ if (sscanf(m, "audio %30d RTP/AVP %n", &portno, &len) != 1) {
ast_log(LOG_WARNING, "Unable to determine port number for RTP in '%s'\n", m);
return -1;
}
@@ -1908,7 +1908,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
ast_rtp_pt_clear(sub->rtp);
codecs = ast_strdupa(m + len);
while (!ast_strlen_zero(codecs)) {
- if (sscanf(codecs, "%d%n", &codec, &len) != 1) {
+ if (sscanf(codecs, "%30d%n", &codec, &len) != 1) {
if (codec_count)
break;
ast_log(LOG_WARNING, "Error in codec string '%s' at '%s'\n", m, codecs);
@@ -1924,7 +1924,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
sdpLineNum_iterator_init(&iterator);
while ((a = get_sdp_iterate(&iterator, req, "a"))[0] != '\0') {
char* mimeSubtype = ast_strdupa(a); /* ensures we have enough space */
- if (sscanf(a, "rtpmap: %u %[^/]/", &codec, mimeSubtype) != 2)
+ if (sscanf(a, "rtpmap: %30u %127[^/]/", &codec, mimeSubtype) != 2)
continue;
/* Note: should really look at the 'freq' and '#chans' params too */
ast_rtp_set_rtpmap_type(sub->rtp, codec, "audio", mimeSubtype, 0);
@@ -2057,7 +2057,7 @@ static int transmit_response(struct mgcp_subchannel *sub, char *msg, struct mgcp
mgr = ast_calloc(1, sizeof(*mgr) + resp.len + 1);
if (mgr) {
/* Store MGCP response in case we have to retransmit */
- sscanf(req->identifier, "%d", &mgr->seqno);
+ sscanf(req->identifier, "%30d", &mgr->seqno);
time(&mgr->whensent);
mgr->len = resp.len;
memcpy(mgr->buf, resp.data, resp.len);
@@ -3290,7 +3290,7 @@ static int find_and_retrans(struct mgcp_subchannel *sub, struct mgcp_request *re
time_t now;
struct mgcp_response *prev = NULL, *cur, *next, *answer=NULL;
time(&now);
- if (sscanf(req->identifier, "%d", &seqno) != 1)
+ if (sscanf(req->identifier, "%30d", &seqno) != 1)
seqno = 0;
cur = sub->parent->parent->responses;
while(cur) {
@@ -3348,7 +3348,7 @@ static int mgcpsock_read(int *id, int fd, short events, void *ignore)
return 1;
}
- if (sscanf(req.verb, "%d", &result) && sscanf(req.identifier, "%d", &ident)) {
+ if (sscanf(req.verb, "%30d", &result) && sscanf(req.identifier, "%30d", &ident)) {
/* Try to find who this message is for, if it's important */
sub = find_subchannel_and_lock(NULL, ident, &sin);
if (sub) {
@@ -4169,7 +4169,7 @@ static int reload_config(int reload)
if (ast_str2cos(v->value, &qos.cos_audio))
ast_log(LOG_WARNING, "Invalid cos_audio value at line %d, refer to QoS documentation\n", v->lineno);
} else if (!strcasecmp(v->name, "port")) {
- if (sscanf(v->value, "%d", &ourport) == 1) {
+ if (sscanf(v->value, "%5d", &ourport) == 1) {
bindaddr.sin_port = htons(ourport);
} else {
ast_log(LOG_WARNING, "Invalid port number '%s' at line %d of %s\n", v->value, v->lineno, config);
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index df91aa1d3..607133d71 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -1232,7 +1232,7 @@ static char *handle_cli_misdn_show_config(struct ast_cli_entry *e, int cmd, stru
ok = 1;
}
return ok ? CLI_SUCCESS : CLI_SHOWUSAGE;
- } else if (!sscanf(a->argv[3], "%d", &onlyport) || onlyport < 0) {
+ } else if (!sscanf(a->argv[3], "%5d", &onlyport) || onlyport < 0) {
ast_cli(a->fd, "Unknown option: %s\n", a->argv[3]);
return CLI_SHOWUSAGE;
}
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index ca7292334..13886cdca 100644
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -1239,7 +1239,7 @@ static char *console_active(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
static void store_boost(struct chan_oss_pvt *o, const char *s)
{
double boost = 0;
- if (sscanf(s, "%lf", &boost) != 1) {
+ if (sscanf(s, "%30lf", &boost) != 1) {
ast_log(LOG_WARNING, "invalid boost <%s>\n", s);
return;
}
diff --git a/channels/chan_phone.c b/channels/chan_phone.c
index 1cba39d0b..6089fae28 100644
--- a/channels/chan_phone.c
+++ b/channels/chan_phone.c
@@ -1259,7 +1259,7 @@ static int parse_gain_value(const char *gain_type, const char *value)
float gain;
/* try to scan number */
- if (sscanf(value, "%f", &gain) != 1)
+ if (sscanf(value, "%30f", &gain) != 1)
{
ast_log(LOG_ERROR, "Invalid %s value '%s' in '%s' config\n",
value, gain_type, config);
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index dc456ce68..cbe7b8118 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -2437,7 +2437,7 @@ static void *_sip_tcp_helper_thread(struct sip_pvt *pvt, struct ast_tcptls_sessi
}
copy_request(&reqcpy, &req);
parse_request(&reqcpy);
- if (sscanf(get_header(&reqcpy, "Content-Length"), "%d", &cl)) {
+ if (sscanf(get_header(&reqcpy, "Content-Length"), "%30d", &cl)) {
while (cl > 0) {
ast_mutex_lock(&tcptls_session->lock);
if (!fread(buf, (cl < sizeof(buf)) ? cl : sizeof(buf), 1, tcptls_session->f)) {
@@ -4490,7 +4490,7 @@ static int create_addr(struct sip_pvt *dialog, const char *opeer, struct sockadd
/* This address should be updated using dnsmgr */
memcpy(&dialog->sa.sin_addr, &sin->sin_addr, sizeof(dialog->sa.sin_addr));
if (!sin->sin_port) {
- if (ast_strlen_zero(port) || sscanf(port, "%u", &portno) != 1) {
+ if (ast_strlen_zero(port) || sscanf(port, "%5u", &portno) != 1) {
portno = (dialog->socket.type & SIP_TRANSPORT_TLS) ?
STANDARD_TLS_PORT : STANDARD_SIP_PORT;
}
@@ -6766,7 +6766,7 @@ static int find_sdp(struct sip_request *req)
content_length = get_header(req, "Content-Length");
if (!ast_strlen_zero(content_length)) {
- if (sscanf(content_length, "%ud", &x) != 1) {
+ if (sscanf(content_length, "%30u", &x) != 1) {
ast_log(LOG_WARNING, "Invalid Content-Length: %s\n", content_length);
return 0;
}
@@ -6974,7 +6974,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_log(LOG_WARNING, "SDP sytax error in o= line\n");
return -1;
}
- if (!sscanf(token, "%" SCNu64, &rua_version)) {
+ if (!sscanf(token, "%30" SCNu64, &rua_version)) {
ast_log(LOG_WARNING, "SDP sytax error in o= line version\n");
return -1;
}
@@ -7032,15 +7032,15 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
numberofports = 1;
len = -1;
- if ((sscanf(m, "audio %d/%d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
- (sscanf(m, "audio %d RTP/AVP %n", &x, &len) == 1 && len > 0)) {
+ if ((sscanf(m, "audio %30d/%30d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
+ (sscanf(m, "audio %30d RTP/AVP %n", &x, &len) == 1 && len > 0)) {
audio = TRUE;
numberofmediastreams++;
/* Found audio stream in this media definition */
portno = x;
/* Scan through the RTP payload types specified in a "m=" line: */
for (codecs = m + len; !ast_strlen_zero(codecs); codecs = ast_skip_blanks(codecs + len)) {
- if (sscanf(codecs, "%d%n", &codec, &len) != 1) {
+ if (sscanf(codecs, "%30d%n", &codec, &len) != 1) {
ast_log(LOG_WARNING, "Error in codec string '%s'\n", codecs);
return -1;
}
@@ -7048,15 +7048,15 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_verbose("Found RTP audio format %d\n", codec);
ast_rtp_set_m_type(newaudiortp, codec);
}
- } else if ((sscanf(m, "video %d/%d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
- (sscanf(m, "video %d RTP/AVP %n", &x, &len) == 1 && len >= 0)) {
+ } else if ((sscanf(m, "video %30d/%30d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
+ (sscanf(m, "video %30d RTP/AVP %n", &x, &len) == 1 && len >= 0)) {
video = TRUE;
p->novideo = FALSE;
numberofmediastreams++;
vportno = x;
/* Scan through the RTP payload types specified in a "m=" line: */
for (codecs = m + len; !ast_strlen_zero(codecs); codecs = ast_skip_blanks(codecs + len)) {
- if (sscanf(codecs, "%d%n", &codec, &len) != 1) {
+ if (sscanf(codecs, "%30d%n", &codec, &len) != 1) {
ast_log(LOG_WARNING, "Error in codec string '%s'\n", codecs);
return -1;
}
@@ -7064,15 +7064,15 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_verbose("Found RTP video format %d\n", codec);
ast_rtp_set_m_type(newvideortp, codec);
}
- } else if ((sscanf(m, "text %d/%d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
- (sscanf(m, "text %d RTP/AVP %n", &x, &len) == 1 && len > 0)) {
+ } else if ((sscanf(m, "text %30d/%30d RTP/AVP %n", &x, &numberofports, &len) == 2 && len > 0) ||
+ (sscanf(m, "text %30d RTP/AVP %n", &x, &len) == 1 && len > 0)) {
text = TRUE;
p->notext = FALSE;
numberofmediastreams++;
tportno = x;
/* Scan through the RTP payload types specified in a "m=" line: */
for (codecs = m + len; !ast_strlen_zero(codecs); codecs = ast_skip_blanks(codecs + len)) {
- if (sscanf(codecs, "%d%n", &codec, &len) != 1) {
+ if (sscanf(codecs, "%30d%n", &codec, &len) != 1) {
ast_log(LOG_WARNING, "Error in codec string '%s'\n", codecs);
return -1;
}
@@ -7080,8 +7080,8 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_verbose("Found RTP text format %d\n", codec);
ast_rtp_set_m_type(newtextrtp, codec);
}
- } else if (p->udptl && ( (sscanf(m, "image %d udptl t38%n", &x, &len) == 1 && len > 0) ||
- (sscanf(m, "image %d UDPTL t38%n", &x, &len) == 1 && len > 0) )) {
+ } else if (p->udptl && ( (sscanf(m, "image %30d udptl t38%n", &x, &len) == 1 && len > 0) ||
+ (sscanf(m, "image %30d UDPTL t38%n", &x, &len) == 1 && len > 0) )) {
if (debug)
ast_verbose("Got T.38 offer in SDP in dialog %s\n", p->callid);
udptlportno = x;
@@ -7268,21 +7268,21 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
ast_rtp_codec_setpref(p->rtp, pref);
}
continue;
-
+
} else if (!strncmp(a, red_fmtp, strlen(red_fmtp))) {
/* count numbers of generations in fmtp */
red_cp = &red_fmtp[strlen(red_fmtp)];
strncpy(red_fmtp, a, 100);
- sscanf(red_cp, "%u", &red_data_pt[red_num_gen]);
+ sscanf(red_cp, "%30u", &red_data_pt[red_num_gen]);
red_cp = strtok(red_cp, "/");
while (red_cp && red_num_gen++ < RED_MAX_GENERATION) {
- sscanf(red_cp, "%u", &red_data_pt[red_num_gen]);
+ sscanf(red_cp, "%30u", &red_data_pt[red_num_gen]);
red_cp = strtok(NULL, "/");
}
red_cp = red_fmtp;
- } else if (sscanf(a, "rtpmap: %u %127[^/]/", &codec, mimeSubtype) == 2) {
+ } else if (sscanf(a, "rtpmap: %30u %127[^/]/", &codec, mimeSubtype) == 2) {
/* We have a rtpmap to handle */
if (last_rtpmap_codec < SDP_MAX_RTPMAP_CODECS) {
@@ -7342,10 +7342,10 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
/* Scan trough the a= lines for T38 attributes and set apropriate fileds */
iterator = req->sdp_start;
while ((a = get_sdp_iterate(&iterator, req, "a"))[0] != '\0') {
- if ((sscanf(a, "T38FaxMaxBuffer:%d", &x) == 1)) {
+ if ((sscanf(a, "T38FaxMaxBuffer:%30d", &x) == 1)) {
found = 1;
ast_debug(3, "MaxBufferSize:%d\n", x);
- } else if ((sscanf(a, "T38MaxBitRate:%d", &x) == 1) || (sscanf(a, "T38FaxMaxRate:%d", &x) == 1)) {
+ } else if ((sscanf(a, "T38MaxBitRate:%30d", &x) == 1) || (sscanf(a, "T38FaxMaxRate:%30d", &x) == 1)) {
found = 1;
ast_debug(3, "T38MaxBitRate: %d\n", x);
switch (x) {
@@ -7368,21 +7368,21 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
peert38capability |= T38FAX_RATE_2400;
break;
}
- } else if ((sscanf(a, "T38FaxVersion:%d", &x) == 1)) {
+ } else if ((sscanf(a, "T38FaxVersion:%30d", &x) == 1)) {
found = 1;
ast_debug(3, "FaxVersion: %d\n", x);
if (x == 0)
peert38capability |= T38FAX_VERSION_0;
else if (x == 1)
peert38capability |= T38FAX_VERSION_1;
- } else if ((sscanf(a, "T38FaxMaxDatagram:%d", &x) == 1) || (sscanf(a, "T38MaxDatagram:%d", &x) == 1)) {
+ } else if ((sscanf(a, "T38FaxMaxDatagram:%30d", &x) == 1) || (sscanf(a, "T38MaxDatagram:%30d", &x) == 1)) {
found = 1;
ast_debug(3, "FaxMaxDatagram: %d\n", x);
ast_udptl_set_far_max_datagram(p->udptl, x);
ast_udptl_set_local_max_datagram(p->udptl, x);
} else if ((strncmp(a, "T38FaxFillBitRemoval", 20) == 0)) {
found = 1;
- if(sscanf(a, "T38FaxFillBitRemoval:%d", &x) == 1) {
+ if(sscanf(a, "T38FaxFillBitRemoval:%30d", &x) == 1) {
ast_debug(3, "FillBitRemoval: %d\n", x);
if(x == 1)
peert38capability |= T38FAX_FILL_BIT_REMOVAL;
@@ -7392,7 +7392,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
} else if ((strncmp(a, "T38FaxTranscodingMMR", 20) == 0)) {
found = 1;
- if(sscanf(a, "T38FaxTranscodingMMR:%d", &x) == 1) {
+ if(sscanf(a, "T38FaxTranscodingMMR:%30d", &x) == 1) {
ast_debug(3, "Transcoding MMR: %d\n", x);
if(x == 1)
peert38capability |= T38FAX_TRANSCODING_MMR;
@@ -7402,7 +7402,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req, int t38action
}
} else if ((strncmp(a, "T38FaxTranscodingJBIG", 21) == 0)) {
found = 1;
- if(sscanf(a, "T38FaxTranscodingJBIG:%d", &x) == 1) {
+ if(sscanf(a, "T38FaxTranscodingJBIG:%30d", &x) == 1) {
ast_debug(3, "Transcoding JBIG: %d\n", x);
if(x == 1)
peert38capability |= T38FAX_TRANSCODING_JBIG;
@@ -8162,7 +8162,7 @@ static int __transmit_response(struct sip_pvt *p, const char *msg, const struct
struct sip_request resp;
int seqno = 0;
- if (reliable && (sscanf(get_header(req, "CSeq"), "%d ", &seqno) != 1)) {
+ if (reliable && (sscanf(get_header(req, "CSeq"), "%30d ", &seqno) != 1)) {
ast_log(LOG_WARNING, "Unable to determine sequence number from '%s'\n", get_header(req, "CSeq"));
return -1;
}
@@ -8330,7 +8330,7 @@ static int transmit_response_with_auth(struct sip_pvt *p, const char *msg, const
char tmp[512];
int seqno = 0;
- if (reliable && (sscanf(get_header(req, "CSeq"), "%d ", &seqno) != 1)) {
+ if (reliable && (sscanf(get_header(req, "CSeq"), "%30d ", &seqno) != 1)) {
ast_log(LOG_WARNING, "Unable to determine sequence number from '%s'\n", get_header(req, "CSeq"));
return -1;
}
@@ -8953,7 +8953,7 @@ static int transmit_response_with_t38_sdp(struct sip_pvt *p, char *msg, struct s
struct sip_request resp;
int seqno;
- if (sscanf(get_header(req, "CSeq"), "%d ", &seqno) != 1) {
+ if (sscanf(get_header(req, "CSeq"), "%30d ", &seqno) != 1) {
ast_log(LOG_WARNING, "Unable to get seqno from '%s'\n", get_header(req, "CSeq"));
return -1;
}
@@ -8999,7 +8999,7 @@ static int transmit_response_with_sdp(struct sip_pvt *p, const char *msg, const
{
struct sip_request resp;
int seqno;
- if (sscanf(get_header(req, "CSeq"), "%d ", &seqno) != 1) {
+ if (sscanf(get_header(req, "CSeq"), "%30d ", &seqno) != 1) {
ast_log(LOG_WARNING, "Unable to get seqno from '%s'\n", get_header(req, "CSeq"));
return -1;
}
@@ -10598,7 +10598,7 @@ static enum parse_register_result parse_register_contact(struct sip_pvt *pvt, st
char *s = strcasestr(contact, ";expires=");
if (s) {
expires = strsep(&s, ";"); /* trim ; and beyond */
- if (sscanf(expires + 9, "%d", &expire) != 1)
+ if (sscanf(expires + 9, "%30d", &expire) != 1)
expire = default_expiry;
} else {
/* Nothing has been specified */
@@ -15463,7 +15463,7 @@ static int func_header_read(struct ast_channel *chan, const char *function, char
if (!args.number) {
number = 1;
} else {
- sscanf(args.number, "%d", &number);
+ sscanf(args.number, "%30d", &number);
if (number < 1)
number = 1;
}
@@ -16378,7 +16378,7 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str
}
tmptmp = strcasestr(contact, "expires=");
if (tmptmp) {
- if (sscanf(tmptmp + 8, "%d;", &expires) != 1)
+ if (sscanf(tmptmp + 8, "%30d;", &expires) != 1)
expires = 0;
}
@@ -19575,7 +19575,7 @@ static int handle_incoming(struct sip_pvt *p, struct sip_request *req, struct so
ast_log(LOG_ERROR, "Missing Cseq. Dropping this SIP message, it's incomplete.\n");
error = 1;
}
- if (!error && sscanf(cseq, "%d%n", &seqno, &len) != 1) {
+ if (!error && sscanf(cseq, "%30d%n", &seqno, &len) != 1) {
ast_log(LOG_ERROR, "No seqno in '%s'. Dropping incomplete message.\n", cmd);
error = 1;
}
@@ -19618,7 +19618,7 @@ static int handle_incoming(struct sip_pvt *p, struct sip_request *req, struct so
append_history(p, "Ignore", "Ignoring this retransmit\n");
} else if (e) {
e = ast_skip_blanks(e);
- if (sscanf(e, "%d %n", &respid, &len) != 1) {
+ if (sscanf(e, "%30d %n", &respid, &len) != 1) {
ast_log(LOG_WARNING, "Invalid response: '%s'\n", e);
/* XXX maybe should do ret = -1; */
} else if (respid <= 0) {
@@ -20165,7 +20165,7 @@ static int sip_parse_host(char *line, int lineno, char **hostname, int *portnum,
if ((port = strrchr(line, ':'))) {
*port++ = '\0';
- if (!sscanf(port, "%u", portnum)) {
+ if (!sscanf(port, "%5u", portnum)) {
ast_log(LOG_NOTICE, "'%s' is not a valid port number on line %d of sip.conf. using default.\n", port, lineno);
port = NULL;
}
@@ -20577,7 +20577,7 @@ int parse_minse (const char *p_hdrval, int *const p_interval)
*p_interval = 0;
p_hdrval = ast_skip_blanks(p_hdrval);
- if (!sscanf(p_hdrval, "%d", p_interval)) {
+ if (!sscanf(p_hdrval, "%30d", p_interval)) {
ast_log(LOG_WARNING, "Parsing of Min-SE header failed %s\n", p_hdrval);
return -1;
}
@@ -20607,7 +20607,7 @@ int parse_session_expires(const char *p_hdrval, int *const p_interval, enum st_r
while ((p_token = strsep(&p_se_hdr, ";"))) {
p_token = ast_skip_blanks(p_token);
- if (!sscanf(p_token, "%d", p_interval)) {
+ if (!sscanf(p_token, "%30d", p_interval)) {
ast_log(LOG_WARNING, "Parsing of Session-Expires failed\n");
return -1;
}
@@ -21660,7 +21660,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
} else if (realtime && !strcasecmp(v->name, "regseconds")) {
ast_get_time_t(v->value, &regseconds, 0, NULL);
} else if (realtime && !strcasecmp(v->name, "lastms")) {
- sscanf(v->value, "%d", &peer->lastms);
+ sscanf(v->value, "%30d", &peer->lastms);
} else if (realtime && !strcasecmp(v->name, "ipaddr") && !ast_strlen_zero(v->value) ) {
inet_aton(v->value, &(peer->addr.sin_addr));
} else if (realtime && !strcasecmp(v->name, "name"))
@@ -21842,22 +21842,22 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
} else if (!strcasecmp(v->name, "autoframing")) {
peer->autoframing = ast_true(v->value);
} else if (!strcasecmp(v->name, "rtptimeout")) {
- if ((sscanf(v->value, "%d", &peer->rtptimeout) != 1) || (peer->rtptimeout < 0)) {
+ if ((sscanf(v->value, "%30d", &peer->rtptimeout) != 1) || (peer->rtptimeout < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
peer->rtptimeout = global_rtptimeout;
}
} else if (!strcasecmp(v->name, "rtpholdtimeout")) {
- if ((sscanf(v->value, "%d", &peer->rtpholdtimeout) != 1) || (peer->rtpholdtimeout < 0)) {
+ if ((sscanf(v->value, "%30d", &peer->rtpholdtimeout) != 1) || (peer->rtpholdtimeout < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
peer->rtpholdtimeout = global_rtpholdtimeout;
}
} else if (!strcasecmp(v->name, "rtpkeepalive")) {
- if ((sscanf(v->value, "%d", &peer->rtpkeepalive) != 1) || (peer->rtpkeepalive < 0)) {
+ if ((sscanf(v->value, "%30d", &peer->rtpkeepalive) != 1) || (peer->rtpkeepalive < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP keepalive time at line %d. Using default.\n", v->value, v->lineno);
peer->rtpkeepalive = global_rtpkeepalive;
}
} else if (!strcasecmp(v->name, "timert1")) {
- if ((sscanf(v->value, "%d", &peer->timer_t1) != 1) || (peer->timer_t1 < 0)) {
+ if ((sscanf(v->value, "%30d", &peer->timer_t1) != 1) || (peer->timer_t1 < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid T1 time at line %d. Using default.\n", v->value, v->lineno);
peer->timer_t1 = global_t1;
}
@@ -21867,7 +21867,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
peer->timer_b = peer->timer_t1 * 64;
}
} else if (!strcasecmp(v->name, "timerb")) {
- if ((sscanf(v->value, "%d", &peer->timer_b) != 1) || (peer->timer_b < 0)) {
+ if ((sscanf(v->value, "%30d", &peer->timer_b) != 1) || (peer->timer_b < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid Timer B time at line %d. Using default.\n", v->value, v->lineno);
peer->timer_b = global_timer_b;
}
@@ -21884,7 +21884,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
peer->maxms = 0;
} else if (!strcasecmp(v->value, "yes")) {
peer->maxms = default_qualify ? default_qualify : DEFAULT_MAXMS;
- } else if (sscanf(v->value, "%d", &peer->maxms) != 1) {
+ } else if (sscanf(v->value, "%30d", &peer->maxms) != 1) {
ast_log(LOG_WARNING, "Qualification of peer '%s' should be 'yes', 'no', or a number of milliseconds at line %d of sip.conf\n", peer->name, v->lineno);
peer->maxms = 0;
}
@@ -21898,7 +21898,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
}
} else if (!strcasecmp(v->name, "qualifyfreq")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1)
+ if (sscanf(v->value, "%30d", &i) == 1)
peer->qualifyfreq = i * 1000;
else {
ast_log(LOG_WARNING, "Invalid qualifyfreq number '%s' at line %d of %s\n", v->value, v->lineno, config);
@@ -21917,12 +21917,12 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str
peer->stimer.st_mode_oper = i;
}
} else if (!strcasecmp(v->name, "session-expires")) {
- if (sscanf(v->value, "%d", &peer->stimer.st_max_se) != 1) {
+ if (sscanf(v->value, "%30d", &peer->stimer.st_max_se) != 1) {
ast_log(LOG_WARNING, "Invalid session-expires '%s' at line %d of %s\n", v->value, v->lineno, config);
peer->stimer.st_max_se = global_max_se;
}
} else if (!strcasecmp(v->name, "session-minse")) {
- if (sscanf(v->value, "%d", &peer->stimer.st_min_se) != 1) {
+ if (sscanf(v->value, "%30d", &peer->stimer.st_min_se) != 1) {
ast_log(LOG_WARNING, "Invalid session-minse '%s' at line %d of %s\n", v->value, v->lineno, config);
peer->stimer.st_min_se = global_min_se;
}
@@ -22358,17 +22358,17 @@ static int reload_config(enum channelreloadreason reason)
} else if (!strcasecmp(v->name, "vmexten")) {
ast_copy_string(default_vmexten, v->value, sizeof(default_vmexten));
} else if (!strcasecmp(v->name, "rtptimeout")) {
- if ((sscanf(v->value, "%d", &global_rtptimeout) != 1) || (global_rtptimeout < 0)) {
+ if ((sscanf(v->value, "%30d", &global_rtptimeout) != 1) || (global_rtptimeout < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
global_rtptimeout = 0;
}
} else if (!strcasecmp(v->name, "rtpholdtimeout")) {
- if ((sscanf(v->value, "%d", &global_rtpholdtimeout) != 1) || (global_rtpholdtimeout < 0)) {
+ if ((sscanf(v->value, "%30d", &global_rtpholdtimeout) != 1) || (global_rtpholdtimeout < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP hold time at line %d. Using default.\n", v->value, v->lineno);
global_rtpholdtimeout = 0;
}
} else if (!strcasecmp(v->name, "rtpkeepalive")) {
- if ((sscanf(v->value, "%d", &global_rtpkeepalive) != 1) || (global_rtpkeepalive < 0)) {
+ if ((sscanf(v->value, "%30d", &global_rtpkeepalive) != 1) || (global_rtpkeepalive < 0)) {
ast_log(LOG_WARNING, "'%s' is not a valid RTP keepalive time at line %d. Using default.\n", v->value, v->lineno);
global_rtpkeepalive = 0;
}
@@ -22504,7 +22504,7 @@ static int reload_config(enum channelreloadreason reason)
if (!externip.sin_port)
externip.sin_port = bindaddr.sin_port;
} else if (!strcasecmp(v->name, "externrefresh")) {
- if (sscanf(v->value, "%d", &externrefresh) != 1) {
+ if (sscanf(v->value, "%30d", &externrefresh) != 1) {
ast_log(LOG_WARNING, "Invalid externrefresh value '%s', must be an integer >0 at line %d\n", v->value, v->lineno);
externrefresh = 10;
}
@@ -22564,28 +22564,28 @@ static int reload_config(enum channelreloadreason reason)
ast_log(LOG_WARNING, "Invalid cos_text value at line %d, refer to QoS documentation\n", v->lineno);
} else if (!strcasecmp(v->name, "bindport")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1) {
+ if (sscanf(v->value, "%5d", &i) == 1) {
bindaddr.sin_port = htons(i);
} else {
ast_log(LOG_WARNING, "Invalid port number '%s' at line %d of %s\n", v->value, v->lineno, config);
}
} else if (!strcasecmp(v->name, "hash_user")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1 && i > 2) {
+ if (sscanf(v->value, "%30d", &i) == 1 && i > 2) {
hash_user_size = i;
} else {
ast_log(LOG_WARNING, "Invalid hash_user size '%s' at line %d of %s -- should be much larger than 2\n", v->value, v->lineno, config);
}
} else if (!strcasecmp(v->name, "hash_peer")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1 && i > 2) {
+ if (sscanf(v->value, "%30d", &i) == 1 && i > 2) {
hash_peer_size = i;
} else {
ast_log(LOG_WARNING, "Invalid hash_peer size '%s' at line %d of %s -- should be much larger than 2\n", v->value, v->lineno, config);
}
} else if (!strcasecmp(v->name, "hash_dialog")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1 && i > 2) {
+ if (sscanf(v->value, "%30d", &i) == 1 && i > 2) {
hash_dialog_size = i;
} else {
ast_log(LOG_WARNING, "Invalid hash_dialog size '%s' at line %d of %s -- should be much larger than 2\n", v->value, v->lineno, config);
@@ -22595,13 +22595,13 @@ static int reload_config(enum channelreloadreason reason)
default_qualify = 0;
} else if (!strcasecmp(v->value, "yes")) {
default_qualify = DEFAULT_MAXMS;
- } else if (sscanf(v->value, "%d", &default_qualify) != 1) {
+ } else if (sscanf(v->value, "%30d", &default_qualify) != 1) {
ast_log(LOG_WARNING, "Qualification default should be 'yes', 'no', or a number of milliseconds at line %d of sip.conf\n", v->lineno);
default_qualify = 0;
}
} else if (!strcasecmp(v->name, "qualifyfreq")) {
int i;
- if (sscanf(v->value, "%d", &i) == 1)
+ if (sscanf(v->value, "%30d", &i) == 1)
global_qualifyfreq = i * 1000;
else {
ast_log(LOG_WARNING, "Invalid qualifyfreq number '%s' at line %d of %s\n", v->value, v->lineno, config);
@@ -22626,12 +22626,12 @@ static int reload_config(enum channelreloadreason reason)
global_st_mode = i;
}
} else if (!strcasecmp(v->name, "session-expires")) {
- if (sscanf(v->value, "%d", &global_max_se) != 1) {
+ if (sscanf(v->value, "%30d", &global_max_se) != 1) {
ast_log(LOG_WARNING, "Invalid session-expires '%s' at line %d of %s\n", v->value, v->lineno, config);
global_max_se = DEFAULT_MAX_SE;
}
} else if (!strcasecmp(v->name, "session-minse")) {
- if (sscanf(v->value, "%d", &global_min_se) != 1) {
+ if (sscanf(v->value, "%30d", &global_min_se) != 1) {
ast_log(LOG_WARNING, "Invalid session-minse '%s' at line %d of %s\n", v->value, v->lineno, config);
global_min_se = DEFAULT_MIN_SE;
}
@@ -23212,7 +23212,7 @@ static int sip_sipredirect(struct sip_pvt *p, const char *dest)
memset(lport, 0, sizeof(lport));
localtmp++;
/* This is okey because lhost and lport are as big as tmp */
- sscanf(localtmp, "%[^<>:; ]:%[^<>:; ]", lhost, lport);
+ sscanf(localtmp, "%80[^<>:; ]:%80[^<>:; ]", lhost, lport);
if (ast_strlen_zero(lhost)) {
ast_log(LOG_ERROR, "Can't find the host address\n");
return 0;
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index 5f649fbd1..f32056ab4 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -6248,7 +6248,7 @@ static int reload_config(void)
} else if (!strcasecmp(v->name, "disallow")) {
ast_parse_allow_disallow(&default_prefs, &default_capability, v->value, 0);
} else if (!strcasecmp(v->name, "bindport")) {
- if (sscanf(v->value, "%d", &ourport) == 1) {
+ if (sscanf(v->value, "%5d", &ourport) == 1) {
bindaddr.sin_port = htons(ourport);
} else {
ast_log(LOG_WARNING, "Invalid bindport '%s' at line %d of %s\n", v->value, v->lineno, config);
diff --git a/channels/chan_usbradio.c b/channels/chan_usbradio.c
index 97e5570a0..312bc997b 100644
--- a/channels/chan_usbradio.c
+++ b/channels/chan_usbradio.c
@@ -358,8 +358,8 @@ END_CONFIG
#define MAX(a,b) ((a) > (b) ? (a) : (b))
#endif
-static char *config = "usbradio.conf"; /* default config file */
-static char *config1 = "usbradio_tune_%s.conf"; /* tune config file */
+static const char *config = "usbradio.conf"; /* default config file */
+#define config1 "usbradio_tune_%s.conf" /* tune config file */
static FILE *frxcapraw = NULL, *frxcaptrace = NULL, *frxoutraw = NULL;
static FILE *ftxcapraw = NULL, *ftxcaptrace = NULL, *ftxoutraw = NULL;
@@ -2818,27 +2818,27 @@ static void store_rxsdtype(struct chan_usbradio_pvt *o, char *s)
static void store_rxgain(struct chan_usbradio_pvt *o, char *s)
{
float f;
- sscanf(s,"%f",&f);
- o->rxgain = f;
- //ast_log(LOG_WARNING, "set rxgain = %f\n", f);
+ if (sscanf(s, "%30f", &f) == 1)
+ o->rxgain = f;
+ ast_debug(4, "set rxgain = %f\n", f);
}
/*
*/
static void store_rxvoiceadj(struct chan_usbradio_pvt *o, char *s)
{
float f;
- sscanf(s,"%f",&f);
- o->rxvoiceadj = f;
- //ast_log(LOG_WARNING, "set rxvoiceadj = %f\n", f);
+ if (sscanf(s, "%30f", &f) == 1)
+ o->rxvoiceadj = f;
+ ast_debug(4, "set rxvoiceadj = %f\n", f);
}
/*
*/
static void store_rxctcssadj(struct chan_usbradio_pvt *o, char *s)
{
float f;
- sscanf(s,"%f",&f);
- o->rxctcssadj = f;
- //ast_log(LOG_WARNING, "set rxctcssadj = %f\n", f);
+ if (sscanf(s, "%30f", &f) == 1)
+ o->rxctcssadj = f;
+ ast_debug(4, "set rxctcssadj = %f\n", f);
}
/*
*/
diff --git a/channels/iax2-provision.c b/channels/iax2-provision.c
index e4a7fe2d4..6df917842 100644
--- a/channels/iax2-provision.c
+++ b/channels/iax2-provision.c
@@ -261,7 +261,7 @@ int iax_provision_version(unsigned int *version, const char *template, int force
ast_mutex_lock(&provlock);
ast_db_get("iax/provisioning/cache", template, tmp, sizeof(tmp));
- if (sscanf(tmp, "v%x", version) != 1) {
+ if (sscanf(tmp, "v%30x", version) != 1) {
if (strcmp(tmp, "u")) {
ret = iax_provision_build(&ied, version, template, force);
if (ret)
@@ -319,7 +319,7 @@ static int iax_template_parse(struct iax_template *cur, struct ast_config *cfg,
v = ast_variable_browse(cfg, s);
while(v) {
if (!strcasecmp(v->name, "port") || !strcasecmp(v->name, "serverport")) {
- if ((sscanf(v->value, "%d", &x) == 1) && (x > 0) && (x < 65535)) {
+ if ((sscanf(v->value, "%5d", &x) == 1) && (x > 0) && (x < 65535)) {
if (!strcasecmp(v->name, "port")) {
cur->port = x;
foundportno = 1;
diff --git a/channels/misdn_config.c b/channels/misdn_config.c
index d5879fa42..a1d2c6d96 100644
--- a/channels/misdn_config.c
+++ b/channels/misdn_config.c
@@ -887,9 +887,9 @@ static int _parse (union misdn_cfg_pt *dest, const char *value, enum misdn_cfg_t
int res;
if (strchr(value,'x')) {
- res = sscanf(value, "%x", &tmp);
+ res = sscanf(value, "%30x", &tmp);
} else {
- res = sscanf(value, "%d", &tmp);
+ res = sscanf(value, "%30d", &tmp);
}
if (res) {
dest->num = ast_malloc(sizeof(int));
@@ -904,7 +904,7 @@ static int _parse (union misdn_cfg_pt *dest, const char *value, enum misdn_cfg_t
break;
case MISDN_CTYPE_BOOLINT:
dest->num = ast_malloc(sizeof(int));
- if (sscanf(value, "%d", &tmp)) {
+ if (sscanf(value, "%30d", &tmp)) {
memcpy(dest->num, &tmp, sizeof(int));
} else {
*(dest->num) = (ast_true(value) ? boolint_def : 0);
@@ -973,7 +973,7 @@ static void _build_port_config (struct ast_variable *v, char *cat)
for (token = strsep(&tmp, ","); token; token = strsep(&tmp, ","), *ptpbuf = 0) {
if (!*token)
continue;
- if (sscanf(token, "%d-%d%s", &start, &end, ptpbuf) >= 2) {
+ if (sscanf(token, "%30d-%30d%511s", &start, &end, ptpbuf) >= 2) {
for (; start <= end; start++) {
if (start <= max_ports && start > 0) {
cfg_for_ports[start] = 1;
@@ -982,7 +982,7 @@ static void _build_port_config (struct ast_variable *v, char *cat)
CLI_ERROR(v->name, v->value, cat);
}
} else {
- if (sscanf(token, "%d%s", &start, ptpbuf)) {
+ if (sscanf(token, "%30d%511s", &start, ptpbuf)) {
if (start <= max_ports && start > 0) {
cfg_for_ports[start] = 1;
ptp[start] = (strstr(ptpbuf, "ptp")) ? 1 : 0;
diff --git a/codecs/codec_speex.c b/codecs/codec_speex.c
index 734491c75..8bfd89e12 100644
--- a/codecs/codec_speex.c
+++ b/codecs/codec_speex.c
@@ -396,7 +396,7 @@ static int parse_config(int reload)
} else
ast_log(LOG_ERROR,"Error! Complexity must be 0-10\n");
} else if (!strcasecmp(var->name, "vbr_quality")) {
- if (sscanf(var->value, "%f", &res_f) == 1 && res_f >= 0 && res_f <= 10) {
+ if (sscanf(var->value, "%30f", &res_f) == 1 && res_f >= 0 && res_f <= 10) {
ast_verb(3, "CODEC SPEEX: Setting VBR Quality to %f\n",res_f);
vbr_quality = res_f;
} else
@@ -435,7 +435,7 @@ static int parse_config(int reload)
pp_agc = ast_true(var->value) ? 1 : 0;
ast_verb(3, "CODEC SPEEX: Preprocessor AGC. [%s]\n",pp_agc ? "on" : "off");
} else if (!strcasecmp(var->name, "pp_agc_level")) {
- if (sscanf(var->value, "%f", &res_f) == 1 && res_f >= 0) {
+ if (sscanf(var->value, "%30f", &res_f) == 1 && res_f >= 0) {
ast_verb(3, "CODEC SPEEX: Setting preprocessor AGC Level to %f\n",res_f);
pp_agc_level = res_f;
} else
@@ -447,13 +447,13 @@ static int parse_config(int reload)
pp_dereverb = ast_true(var->value) ? 1 : 0;
ast_verb(3, "CODEC SPEEX: Preprocessor Dereverb. [%s]\n",pp_dereverb ? "on" : "off");
} else if (!strcasecmp(var->name, "pp_dereverb_decay")) {
- if (sscanf(var->value, "%f", &res_f) == 1 && res_f >= 0) {
+ if (sscanf(var->value, "%30f", &res_f) == 1 && res_f >= 0) {
ast_verb(3, "CODEC SPEEX: Setting preprocessor Dereverb Decay to %f\n",res_f);
pp_dereverb_decay = res_f;
} else
ast_log(LOG_ERROR,"Error! Preprocessor Dereverb Decay must be >= 0\n");
} else if (!strcasecmp(var->name, "pp_dereverb_level")) {
- if (sscanf(var->value, "%f", &res_f) == 1 && res_f >= 0) {
+ if (sscanf(var->value, "%30f", &res_f) == 1 && res_f >= 0) {
ast_verb(3, "CODEC SPEEX: Setting preprocessor Dereverb Level to %f\n",res_f);
pp_dereverb_level = res_f;
} else
diff --git a/doc/CODING-GUIDELINES b/doc/CODING-GUIDELINES
index ed320368b..26e78529f 100644
--- a/doc/CODING-GUIDELINES
+++ b/doc/CODING-GUIDELINES
@@ -379,6 +379,18 @@ you wish to put into it (even if you did not allocate the buffer yourself),
use a direct strcpy(), as it can be inlined and optimized to simple
processor operations, unlike ast_copy_string().
+* String conversions
+--------------------
+
+When converting from strings to integers or floats, use the sscanf function
+in preference to the atoi and atof family of functions, as sscanf detects
+errors. Always check the return value of sscanf to verify that your numeric
+variables successfully scanned before using them. Also, to avoid a potential
+libc bug, always specify a maximum width for each conversion specifier,
+including integers and floats. A good length for both integers and floats is
+30, as this is more than generous, even if you're using doubles or long
+integers.
+
* Use of functions
------------------
diff --git a/funcs/func_channel.c b/funcs/func_channel.c
index af3b8e515..0e9374a27 100644
--- a/funcs/func_channel.c
+++ b/funcs/func_channel.c
@@ -143,10 +143,10 @@ static int func_channel_write(struct ast_channel *chan, const char *function,
} else if (!strcasecmp(data, "callgroup"))
chan->callgroup = ast_get_group(value);
else if (!strcasecmp(data, "txgain")) {
- sscanf(value, "%hhd", &gainset);
+ sscanf(value, "%4hhd", &gainset);
ast_channel_setoption(chan, AST_OPTION_TXGAIN, &gainset, sizeof(gainset), 0);
} else if (!strcasecmp(data, "rxgain")) {
- sscanf(value, "%hhd", &gainset);
+ sscanf(value, "%4hhd", &gainset);
ast_channel_setoption(chan, AST_OPTION_RXGAIN, &gainset, sizeof(gainset), 0);
} else if (!strcasecmp(data, "transfercapability")) {
unsigned short i;
diff --git a/funcs/func_cut.c b/funcs/func_cut.c
index 231729ddf..2a4eb371e 100644
--- a/funcs/func_cut.c
+++ b/funcs/func_cut.c
@@ -89,7 +89,7 @@ static int sort_internal(struct ast_channel *chan, char *data, char *buffer, siz
}
*ptrvalue++ = '\0';
sortable_keys[count2].key = ptrkey;
- sscanf(ptrvalue, "%f", &sortable_keys[count2].value);
+ sscanf(ptrvalue, "%30f", &sortable_keys[count2].value);
count2++;
}
@@ -153,15 +153,15 @@ static int cut_internal(struct ast_channel *chan, char *data, char *buffer, size
int num1 = 0, num2 = MAXRESULT;
char trashchar;
- if (sscanf(nextgroup, "%d-%d", &num1, &num2) == 2) {
+ if (sscanf(nextgroup, "%30d-%30d", &num1, &num2) == 2) {
/* range with both start and end */
- } else if (sscanf(nextgroup, "-%d", &num2) == 1) {
+ } else if (sscanf(nextgroup, "-%30d", &num2) == 1) {
/* range with end */
num1 = 0;
- } else if ((sscanf(nextgroup, "%d%c", &num1, &trashchar) == 2) && (trashchar == '-')) {
+ } else if ((sscanf(nextgroup, "%30d%1c", &num1, &trashchar) == 2) && (trashchar == '-')) {
/* range with start */
num2 = MAXRESULT;
- } else if (sscanf(nextgroup, "%d", &num1) == 1) {
+ } else if (sscanf(nextgroup, "%30d", &num1) == 1) {
/* single number */
num2 = num1;
} else {
diff --git a/funcs/func_dialplan.c b/funcs/func_dialplan.c
index 6d4c488f6..766b3c4c4 100644
--- a/funcs/func_dialplan.c
+++ b/funcs/func_dialplan.c
@@ -55,7 +55,7 @@ static int isexten_function_read(struct ast_channel *chan, const char *cmd, char
if (!ast_strlen_zero(args.priority)) {
int priority_num;
- if (sscanf(args.priority, "%d", &priority_num) == 1 && priority_num > 0) {
+ if (sscanf(args.priority, "%30d", &priority_num) == 1 && priority_num > 0) {
int res;
res = ast_exists_extension(chan, args.context, args.exten, priority_num,
chan->cid.cid_num);
diff --git a/funcs/func_enum.c b/funcs/func_enum.c
index 54893a9bf..aacb20579 100644
--- a/funcs/func_enum.c
+++ b/funcs/func_enum.c
@@ -262,7 +262,7 @@ static int enum_result_read(struct ast_channel *chan, const char *cmd, char *dat
goto finish;
}
- if (sscanf(args.resultnum, "%u", &num) != 1) {
+ if (sscanf(args.resultnum, "%30u", &num) != 1) {
ast_log(LOG_ERROR, "Invalid value '%s' for resultnum to ENUMRESULT!\n", args.resultnum);
goto finish;
}
diff --git a/funcs/func_math.c b/funcs/func_math.c
index 3517b16ed..9179ff743 100644
--- a/funcs/func_math.c
+++ b/funcs/func_math.c
@@ -190,12 +190,12 @@ static int math(struct ast_channel *chan, const char *cmd, char *parse,
return -1;
}
- if (sscanf(mvalue1, "%lf", &fnum1) != 1) {
+ if (sscanf(mvalue1, "%30lf", &fnum1) != 1) {
ast_log(LOG_WARNING, "'%s' is not a valid number\n", mvalue1);
return -1;
}
- if (sscanf(mvalue2, "%lf", &fnum2) != 1) {
+ if (sscanf(mvalue2, "%30lf", &fnum2) != 1) {
ast_log(LOG_WARNING, "'%s' is not a valid number\n", mvalue2);
return -1;
}
diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index cc344be41..6292110d7 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -710,7 +710,7 @@ static int init_acf_query(struct ast_config *cfg, char *catg, struct acf_odbc_qu
if (strcasecmp(tmp, "multirow") == 0)
ast_set_flag((*query), OPT_MULTIROW);
if ((tmp = ast_variable_retrieve(cfg, catg, "rowlimit")))
- sscanf(tmp, "%d", &((*query)->rowlimit));
+ sscanf(tmp, "%30d", &((*query)->rowlimit));
}
(*query)->acf = ast_calloc(1, sizeof(struct ast_custom_function));
diff --git a/funcs/func_rand.c b/funcs/func_rand.c
index a3db21d26..57bd30fe9 100644
--- a/funcs/func_rand.c
+++ b/funcs/func_rand.c
@@ -45,10 +45,10 @@ static int acf_rand_exec(struct ast_channel *chan, const char *cmd,
AST_STANDARD_APP_ARGS(args, parse);
- if (ast_strlen_zero(args.min) || sscanf(args.min, "%d", &min_int) != 1)
+ if (ast_strlen_zero(args.min) || sscanf(args.min, "%30d", &min_int) != 1)
min_int = 0;
- if (ast_strlen_zero(args.max) || sscanf(args.max, "%d", &max_int) != 1)
+ if (ast_strlen_zero(args.max) || sscanf(args.max, "%30d", &max_int) != 1)
max_int = RAND_MAX;
if (max_int < min_int) {
diff --git a/funcs/func_speex.c b/funcs/func_speex.c
index 4ddfab80b..39deabd0c 100644
--- a/funcs/func_speex.c
+++ b/funcs/func_speex.c
@@ -193,7 +193,7 @@ static int speex_write(struct ast_channel *chan, const char *cmd, char *data, co
}
if (!strcasecmp(cmd, "agc")) {
- if (!sscanf(value, "%f", &(*sdi)->agclevel))
+ if (!sscanf(value, "%30f", &(*sdi)->agclevel))
(*sdi)->agclevel = ast_true(value) ? DEFAULT_AGC_LEVEL : 0.0;
if ((*sdi)->agclevel > 32768.0) {
diff --git a/funcs/func_strings.c b/funcs/func_strings.c
index b2bcc8b90..94042fc3a 100644
--- a/funcs/func_strings.c
+++ b/funcs/func_strings.c
@@ -485,7 +485,7 @@ static int acf_sprintf(struct ast_channel *chan, const char *cmd, char *data, ch
/* Convert the argument into the required type */
if (arg.var[argcount]) {
- if (sscanf(arg.var[argcount++], "%d", &tmpi) != 1) {
+ if (sscanf(arg.var[argcount++], "%30d", &tmpi) != 1) {
ast_log(LOG_ERROR, "Argument '%s' is not an integer number for format '%s'\n", arg.var[argcount - 1], formatbuf);
goto sprintf_fail;
}
@@ -508,7 +508,7 @@ static int acf_sprintf(struct ast_channel *chan, const char *cmd, char *data, ch
/* Convert the argument into the required type */
if (arg.var[argcount]) {
- if (sscanf(arg.var[argcount++], "%lf", &tmpd) != 1) {
+ if (sscanf(arg.var[argcount++], "%30lf", &tmpd) != 1) {
ast_log(LOG_ERROR, "Argument '%s' is not a floating point number for format '%s'\n", arg.var[argcount - 1], formatbuf);
goto sprintf_fail;
}
diff --git a/funcs/func_timeout.c b/funcs/func_timeout.c
index 1640334fc..b001323ab 100644
--- a/funcs/func_timeout.c
+++ b/funcs/func_timeout.c
@@ -101,7 +101,7 @@ static int timeout_write(struct ast_channel *chan, const char *cmd, char *data,
if (!value)
return -1;
- res = sscanf(value, "%ld%lf", &sec, &x);
+ res = sscanf(value, "%30ld%30lf", &sec, &x);
if (res == 0 || sec < 0) {
when.tv_sec = 0;
when.tv_usec = 0;
diff --git a/main/acl.c b/main/acl.c
index 0787274ab..7e9660d97 100644
--- a/main/acl.c
+++ b/main/acl.c
@@ -291,7 +291,7 @@ struct ast_ha *ast_append_ha(const char *sense, const char *stuff, struct ast_ha
nm++;
if (!strchr(nm, '.')) {
- if ((sscanf(nm, "%d", &x) == 1) && (x >= 0) && (x <= 32))
+ if ((sscanf(nm, "%30d", &x) == 1) && (x >= 0) && (x <= 32))
ha->netmask.s_addr = htonl(0xFFFFFFFF << (32 - x));
else {
ast_log(LOG_WARNING, "Invalid CIDR in %s\n", stuff);
@@ -413,14 +413,14 @@ static const struct dscp_codepoint dscp_pool1[] = {
int ast_str2cos(const char *value, unsigned int *cos)
{
int fval;
-
- if (sscanf(value, "%d", &fval) == 1) {
+
+ if (sscanf(value, "%30d", &fval) == 1) {
if (fval < 8) {
- *cos = fval;
+ *cos = fval;
return 0;
}
}
-
+
return -1;
}
@@ -429,7 +429,7 @@ int ast_str2tos(const char *value, unsigned int *tos)
int fval;
unsigned int x;
- if (sscanf(value, "%i", &fval) == 1) {
+ if (sscanf(value, "%30i", &fval) == 1) {
*tos = fval & 0xFF;
return 0;
}
diff --git a/main/asterisk.c b/main/asterisk.c
index e3c83f14a..cd27ddded 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -1184,7 +1184,7 @@ static int ast_makesocket(void)
if (!ast_strlen_zero(ast_config_AST_CTL_PERMISSIONS)) {
int p1;
mode_t p;
- sscanf(ast_config_AST_CTL_PERMISSIONS, "%o", &p1);
+ sscanf(ast_config_AST_CTL_PERMISSIONS, "%30o", &p1);
p = p1;
if ((chmod(ast_config_AST_SOCKET, p)) < 0)
ast_log(LOG_WARNING, "Unable to change file permissions of %s: %s\n", ast_config_AST_SOCKET, strerror(errno));
@@ -2053,10 +2053,10 @@ static char *cli_prompt(EditLine *editline)
switch (*t) {
case 'C': /* color */
t++;
- if (sscanf(t, "%d;%d%n", &fgcolor, &bgcolor, &i) == 2) {
+ if (sscanf(t, "%30d;%30d%n", &fgcolor, &bgcolor, &i) == 2) {
ast_str_append(&prompt, 0, "%s", term_color_code(term_code, fgcolor, bgcolor, sizeof(term_code)));
t += i - 1;
- } else if (sscanf(t, "%d%n", &fgcolor, &i) == 1) {
+ } else if (sscanf(t, "%30d%n", &fgcolor, &i) == 1) {
ast_str_append(&prompt, 0, "%s", term_color_code(term_code, fgcolor, 0, sizeof(term_code)));
t += i - 1;
}
@@ -2097,7 +2097,7 @@ static char *cli_prompt(EditLine *editline)
#ifdef HAVE_GETLOADAVG
case 'l': /* load avg */
t++;
- if (sscanf(t, "%d", &which) == 1 && which > 0 && which <= 3) {
+ if (sscanf(t, "%30d", &which) == 1 && which > 0 && which <= 3) {
double list[3];
getloadavg(list, 3);
ast_str_append(&prompt, 0, "%.2f", list[which - 1]);
@@ -2739,7 +2739,7 @@ static void ast_readconfig(void)
/* debug level (-d at startup) */
} else if (!strcasecmp(v->name, "debug")) {
option_debug = 0;
- if (sscanf(v->value, "%d", &option_debug) != 1) {
+ if (sscanf(v->value, "%30d", &option_debug) != 1) {
option_debug = ast_true(v->value);
}
#if HAVE_WORKING_FORK
@@ -2787,7 +2787,7 @@ static void ast_readconfig(void)
} else if (!strcasecmp(v->name, "internal_timing")) {
ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_INTERNAL_TIMING);
} else if (!strcasecmp(v->name, "maxcalls")) {
- if ((sscanf(v->value, "%d", &option_maxcalls) != 1) || (option_maxcalls < 0)) {
+ if ((sscanf(v->value, "%30d", &option_maxcalls) != 1) || (option_maxcalls < 0)) {
option_maxcalls = 0;
}
} else if (!strcasecmp(v->name, "maxload")) {
@@ -2796,7 +2796,7 @@ static void ast_readconfig(void)
if (getloadavg(test, 1) == -1) {
ast_log(LOG_ERROR, "Cannot obtain load average on this system. 'maxload' option disabled.\n");
option_maxload = 0.0;
- } else if ((sscanf(v->value, "%lf", &option_maxload) != 1) || (option_maxload < 0.0)) {
+ } else if ((sscanf(v->value, "%30lf", &option_maxload) != 1) || (option_maxload < 0.0)) {
option_maxload = 0.0;
}
/* Set the maximum amount of open files */
@@ -2838,7 +2838,7 @@ static void ast_readconfig(void)
} else if (!strcasecmp(v->name, "minmemfree")) {
/* specify the minimum amount of free memory to retain. Asterisk should stop accepting new calls
* if the amount of free memory falls below this watermark */
- if ((sscanf(v->value, "%ld", &option_minmemfree) != 1) || (option_minmemfree < 0)) {
+ if ((sscanf(v->value, "%30ld", &option_minmemfree) != 1) || (option_minmemfree < 0)) {
option_minmemfree = 0;
}
#endif
@@ -2853,7 +2853,7 @@ static void ast_readconfig(void)
}
for (v = ast_variable_browse(cfg, "compat"); v; v = v->next) {
float version;
- if (sscanf(v->value, "%f", &version) != 1) {
+ if (sscanf(v->value, "%30f", &version) != 1) {
ast_log(LOG_WARNING, "Compatibility version for option '%s' is not a number: '%s'\n", v->name, v->value);
continue;
}
@@ -2994,7 +2994,7 @@ int main(int argc, char *argv[])
switch (c) {
#if defined(HAVE_SYSINFO)
case 'e':
- if ((sscanf(&optarg[1], "%ld", &option_minmemfree) != 1) || (option_minmemfree < 0)) {
+ if ((sscanf(&optarg[1], "%30ld", &option_minmemfree) != 1) || (option_minmemfree < 0)) {
option_minmemfree = 0;
}
break;
@@ -3034,11 +3034,11 @@ int main(int argc, char *argv[])
ast_set_flag(&ast_options, AST_OPT_FLAG_MUTE);
break;
case 'M':
- if ((sscanf(optarg, "%d", &option_maxcalls) != 1) || (option_maxcalls < 0))
+ if ((sscanf(optarg, "%30d", &option_maxcalls) != 1) || (option_maxcalls < 0))
option_maxcalls = 0;
break;
case 'L':
- if ((sscanf(optarg, "%lf", &option_maxload) != 1) || (option_maxload < 0.0))
+ if ((sscanf(optarg, "%30lf", &option_maxload) != 1) || (option_maxload < 0.0))
option_maxload = 0.0;
break;
case 'q':
diff --git a/main/cdr.c b/main/cdr.c
index d50cf6b11..5044ed565 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -1419,7 +1419,7 @@ static int do_reload(int reload)
batchsafeshutdown = ast_true(batchsafeshutdown_value);
}
if ((size_value = ast_variable_retrieve(config, "general", "size"))) {
- if (sscanf(size_value, "%d", &cfg_size) < 1)
+ if (sscanf(size_value, "%30d", &cfg_size) < 1)
ast_log(LOG_WARNING, "Unable to convert '%s' to a numeric value.\n", size_value);
else if (cfg_size < 0)
ast_log(LOG_WARNING, "Invalid maximum batch size '%d' specified, using default\n", cfg_size);
@@ -1427,7 +1427,7 @@ static int do_reload(int reload)
batchsize = cfg_size;
}
if ((time_value = ast_variable_retrieve(config, "general", "time"))) {
- if (sscanf(time_value, "%d", &cfg_time) < 1)
+ if (sscanf(time_value, "%30d", &cfg_time) < 1)
ast_log(LOG_WARNING, "Unable to convert '%s' to a numeric value.\n", time_value);
else if (cfg_time < 0)
ast_log(LOG_WARNING, "Invalid maximum batch time '%d' specified, using default\n", cfg_time);
diff --git a/main/channel.c b/main/channel.c
index f572e2569..be40bc46b 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -5114,9 +5114,9 @@ ast_group_t ast_get_group(const char *s)
c = ast_strdupa(s);
while ((piece = strsep(&c, ","))) {
- if (sscanf(piece, "%d-%d", &start, &finish) == 2) {
+ if (sscanf(piece, "%30d-%30d", &start, &finish) == 2) {
/* Range */
- } else if (sscanf(piece, "%d", &start)) {
+ } else if (sscanf(piece, "%30d", &start)) {
/* Just one */
finish = start;
} else {
diff --git a/main/cli.c b/main/cli.c
index f6982ad68..b3bb3712e 100644
--- a/main/cli.c
+++ b/main/cli.c
@@ -296,7 +296,7 @@ static char *handle_verbose(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
atleast = 1;
if (argc != e->args + atleast && argc != e->args + atleast + 1)
return CLI_SHOWUSAGE;
- if (sscanf(argv[e->args + atleast - 1], "%d", &newlevel) != 1)
+ if (sscanf(argv[e->args + atleast - 1], "%30d", &newlevel) != 1)
return CLI_SHOWUSAGE;
if (argc == e->args + atleast + 1) {
unsigned int debug = (*what == 'C');
diff --git a/main/config.c b/main/config.c
index 3725e958a..37a9f0765 100644
--- a/main/config.c
+++ b/main/config.c
@@ -377,7 +377,7 @@ void ast_variable_insert(struct ast_category *category, struct ast_variable *var
int lineno;
int insertline;
- if (!variable || sscanf(line, "%d", &insertline) != 1)
+ if (!variable || sscanf(line, "%30d", &insertline) != 1)
return;
if (!insertline) {
variable->next = category->root;
diff --git a/main/dnsmgr.c b/main/dnsmgr.c
index 841020d37..6ab972957 100644
--- a/main/dnsmgr.c
+++ b/main/dnsmgr.c
@@ -392,7 +392,7 @@ static int do_reload(int loading)
enabled = ast_true(enabled_value);
}
if ((interval_value = ast_variable_retrieve(config, "general", "refreshinterval"))) {
- if (sscanf(interval_value, "%d", &interval) < 1)
+ if (sscanf(interval_value, "%30d", &interval) < 1)
ast_log(LOG_WARNING, "Unable to convert '%s' to a numeric value.\n", interval_value);
else if (interval < 0)
ast_log(LOG_WARNING, "Invalid refresh interval '%d' specified, using default\n", interval);
diff --git a/main/dsp.c b/main/dsp.c
index 168c1fd5a..6488618ed 100644
--- a/main/dsp.c
+++ b/main/dsp.c
@@ -1626,7 +1626,7 @@ static int _dsp_init(int reload)
const char *value;
value = ast_variable_retrieve(cfg, "default", "silencethreshold");
- if (value && sscanf(value, "%d", &thresholds[THRESHOLD_SILENCE]) != 1) {
+ if (value && sscanf(value, "%30d", &thresholds[THRESHOLD_SILENCE]) != 1) {
ast_log(LOG_WARNING, "%s: '%s' is not a valid silencethreshold value\n", CONFIG_FILE_NAME, value);
thresholds[THRESHOLD_SILENCE] = 256;
} else if (!value)
diff --git a/main/enum.c b/main/enum.c
index 339efc31c..176a2ab08 100644
--- a/main/enum.c
+++ b/main/enum.c
@@ -114,7 +114,7 @@ static int cclen(const char *number)
strncpy(digits, number, 2);
- if (!sscanf(digits, "%d", &cc)) {
+ if (!sscanf(digits, "%30d", &cc)) {
return 0;
}
diff --git a/main/features.c b/main/features.c
index cfa3fb03d..8ab49efde 100644
--- a/main/features.c
+++ b/main/features.c
@@ -531,7 +531,7 @@ static struct parkeduser *park_space_reserve(struct ast_channel *chan,
* limitation here. If extout was not numeric, we could permit
* arbitrary non-numeric extensions.
*/
- if (sscanf(parkingexten, "%d", &parking_space) != 1 || parking_space < 0) {
+ if (sscanf(parkingexten, "%30d", &parking_space) != 1 || parking_space < 0) {
AST_LIST_UNLOCK(&parkinglot->parkings);
parkinglot_unref(parkinglot);
free(pu);
@@ -3196,7 +3196,7 @@ static int park_call_exec(struct ast_channel *chan, void *data)
if (parse) {
if (!ast_strlen_zero(app_args.timeout)) {
- if (sscanf(app_args.timeout, "%d", &args.timeout) != 1) {
+ if (sscanf(app_args.timeout, "%30d", &args.timeout) != 1) {
ast_log(LOG_WARNING, "Invalid timeout '%s' provided\n", app_args.timeout);
args.timeout = 0;
}
@@ -3208,7 +3208,7 @@ static int park_call_exec(struct ast_channel *chan, void *data)
args.return_ext = app_args.return_ext;
}
if (!ast_strlen_zero(app_args.return_pri)) {
- if (sscanf(app_args.return_pri, "%d", &args.return_pri) != 1) {
+ if (sscanf(app_args.return_pri, "%30d", &args.return_pri) != 1) {
ast_log(LOG_WARNING, "Invalid priority '%s' specified\n", app_args.return_pri);
args.return_pri = 0;
}
@@ -3476,13 +3476,13 @@ static struct ast_parkinglot *build_parkinglot(char *name, struct ast_variable *
if (!strcasecmp(confvar->name, "context")) {
ast_copy_string(parkinglot->parking_con, confvar->value, sizeof(parkinglot->parking_con));
} else if (!strcasecmp(confvar->name, "parkingtime")) {
- if ((sscanf(confvar->value, "%d", &parkinglot->parkingtime) != 1) || (parkinglot->parkingtime < 1)) {
+ if ((sscanf(confvar->value, "%30d", &parkinglot->parkingtime) != 1) || (parkinglot->parkingtime < 1)) {
ast_log(LOG_WARNING, "%s is not a valid parkingtime\n", confvar->value);
parkinglot->parkingtime = DEFAULT_PARK_TIME;
} else
parkinglot->parkingtime = parkinglot->parkingtime * 1000;
} else if (!strcasecmp(confvar->name, "parkpos")) {
- if (sscanf(confvar->value, "%d-%d", &start, &end) != 2) {
+ if (sscanf(confvar->value, "%30d-%30d", &start, &end) != 2) {
ast_log(LOG_WARNING, "Format for parking positions is a-b, where a and b are numbers at line %d of parking.conf\n", confvar->lineno);
error = 1;
} else {
@@ -3644,13 +3644,13 @@ static int load_config(void)
} else if (!strcasecmp(var->name, "context")) {
ast_copy_string(default_parkinglot->parking_con, var->value, sizeof(default_parkinglot->parking_con));
} else if (!strcasecmp(var->name, "parkingtime")) {
- if ((sscanf(var->value, "%d", &default_parkinglot->parkingtime) != 1) || (default_parkinglot->parkingtime < 1)) {
+ if ((sscanf(var->value, "%30d", &default_parkinglot->parkingtime) != 1) || (default_parkinglot->parkingtime < 1)) {
ast_log(LOG_WARNING, "%s is not a valid parkingtime\n", var->value);
default_parkinglot->parkingtime = DEFAULT_PARK_TIME;
} else
default_parkinglot->parkingtime = default_parkinglot->parkingtime * 1000;
} else if (!strcasecmp(var->name, "parkpos")) {
- if (sscanf(var->value, "%d-%d", &start, &end) != 2) {
+ if (sscanf(var->value, "%30d-%30d", &start, &end) != 2) {
ast_log(LOG_WARNING, "Format for parking positions is a-b, where a and b are numbers at line %d of features.conf\n", var->lineno);
} else if (default_parkinglot) {
default_parkinglot->parking_start = start;
@@ -3693,24 +3693,24 @@ static int load_config(void)
} else if (!strcasecmp(var->name, "adsipark")) {
adsipark = ast_true(var->value);
} else if (!strcasecmp(var->name, "transferdigittimeout")) {
- if ((sscanf(var->value, "%d", &transferdigittimeout) != 1) || (transferdigittimeout < 1)) {
+ if ((sscanf(var->value, "%30d", &transferdigittimeout) != 1) || (transferdigittimeout < 1)) {
ast_log(LOG_WARNING, "%s is not a valid transferdigittimeout\n", var->value);
transferdigittimeout = DEFAULT_TRANSFER_DIGIT_TIMEOUT;
} else
transferdigittimeout = transferdigittimeout * 1000;
} else if (!strcasecmp(var->name, "featuredigittimeout")) {
- if ((sscanf(var->value, "%d", &featuredigittimeout) != 1) || (featuredigittimeout < 1)) {
+ if ((sscanf(var->value, "%30d", &featuredigittimeout) != 1) || (featuredigittimeout < 1)) {
ast_log(LOG_WARNING, "%s is not a valid featuredigittimeout\n", var->value);
featuredigittimeout = DEFAULT_FEATURE_DIGIT_TIMEOUT;
}
} else if (!strcasecmp(var->name, "atxfernoanswertimeout")) {
- if ((sscanf(var->value, "%d", &atxfernoanswertimeout) != 1) || (atxfernoanswertimeout < 1)) {
+ if ((sscanf(var->value, "%30d", &atxfernoanswertimeout) != 1) || (atxfernoanswertimeout < 1)) {
ast_log(LOG_WARNING, "%s is not a valid atxfernoanswertimeout\n", var->value);
atxfernoanswertimeout = DEFAULT_NOANSWER_TIMEOUT_ATTENDED_TRANSFER;
} else
atxfernoanswertimeout = atxfernoanswertimeout * 1000;
} else if (!strcasecmp(var->name, "atxferloopdelay")) {
- if ((sscanf(var->value, "%u", &atxferloopdelay) != 1)) {
+ if ((sscanf(var->value, "%30u", &atxferloopdelay) != 1)) {
ast_log(LOG_WARNING, "%s is not a valid atxferloopdelay\n", var->value);
atxferloopdelay = DEFAULT_ATXFER_LOOP_DELAY;
} else
@@ -3718,7 +3718,7 @@ static int load_config(void)
} else if (!strcasecmp(var->name, "atxferdropcall")) {
atxferdropcall = ast_true(var->value);
} else if (!strcasecmp(var->name, "atxfercallbackretries")) {
- if ((sscanf(var->value, "%u", &atxferloopdelay) != 1)) {
+ if ((sscanf(var->value, "%30u", &atxferloopdelay) != 1)) {
ast_log(LOG_WARNING, "%s is not a valid atxfercallbackretries\n", var->value);
atxfercallbackretries = DEFAULT_ATXFER_CALLBACK_RETRIES;
}
@@ -4325,7 +4325,7 @@ static int manager_park(struct mansession *s, const struct message *m)
}
if (!ast_strlen_zero(timeout)) {
- sscanf(timeout, "%d", &to);
+ sscanf(timeout, "%30d", &to);
}
res = ast_masq_park_call(ch1, ch2, to, &parkExt);
diff --git a/main/frame.c b/main/frame.c
index 0768756e5..542c440ef 100644
--- a/main/frame.c
+++ b/main/frame.c
@@ -714,7 +714,7 @@ static char *show_codec_n(struct ast_cli_entry *e, int cmd, struct ast_cli_args
if (a->argc != 4)
return CLI_SHOWUSAGE;
- if (sscanf(a->argv[3],"%d",&codec) != 1)
+ if (sscanf(a->argv[3], "%30d", &codec) != 1)
return CLI_SHOWUSAGE;
for (i = 0; i < 32; i++)
diff --git a/main/http.c b/main/http.c
index c520560ac..ce3ef08eb 100644
--- a/main/http.c
+++ b/main/http.c
@@ -137,10 +137,10 @@ static uint32_t manid_from_vars(struct ast_variable *sid) {
while (sid && strcmp(sid->name, "mansession_id"))
sid = sid->next;
-
- if (!sid || sscanf(sid->value, "%x", &mngid) != 1)
+
+ if (!sid || sscanf(sid->value, "%30x", &mngid) != 1)
return 0;
-
+
return mngid;
}
diff --git a/main/indications.c b/main/indications.c
index 1769dce6d..0dbbe8afe 100644
--- a/main/indications.c
+++ b/main/indications.c
@@ -239,46 +239,46 @@ int ast_playtones_start(struct ast_channel *chan, int vol, const char *playlst,
s++;
else if (d.reppos == -1)
d.reppos = d.nitems;
- if (sscanf(s, "%d+%d/%d", &freq1, &freq2, &duration) == 3) {
+ if (sscanf(s, "%30d+%30d/%30d", &freq1, &freq2, &duration) == 3) {
/* f1+f2/time format */
- } else if (sscanf(s, "%d+%d", &freq1, &freq2) == 2) {
+ } else if (sscanf(s, "%30d+%30d", &freq1, &freq2) == 2) {
/* f1+f2 format */
duration = 0;
- } else if (sscanf(s, "%d*%d/%d", &freq1, &freq2, &duration) == 3) {
+ } else if (sscanf(s, "%30d*%30d/%30d", &freq1, &freq2, &duration) == 3) {
/* f1*f2/time format */
modulate = 1;
- } else if (sscanf(s, "%d*%d", &freq1, &freq2) == 2) {
+ } else if (sscanf(s, "%30d*%30d", &freq1, &freq2) == 2) {
/* f1*f2 format */
duration = 0;
modulate = 1;
- } else if (sscanf(s, "%d/%d", &freq1, &duration) == 2) {
+ } else if (sscanf(s, "%30d/%30d", &freq1, &duration) == 2) {
/* f1/time format */
freq2 = 0;
- } else if (sscanf(s, "%d", &freq1) == 1) {
+ } else if (sscanf(s, "%30d", &freq1) == 1) {
/* f1 format */
freq2 = 0;
duration = 0;
- } else if (sscanf(s, "M%d+M%d/%d", &freq1, &freq2, &duration) == 3) {
+ } else if (sscanf(s, "M%30d+M%30d/%30d", &freq1, &freq2, &duration) == 3) {
/* Mf1+Mf2/time format */
midinote = 1;
- } else if (sscanf(s, "M%d+M%d", &freq1, &freq2) == 2) {
+ } else if (sscanf(s, "M%30d+M%30d", &freq1, &freq2) == 2) {
/* Mf1+Mf2 format */
duration = 0;
midinote = 1;
- } else if (sscanf(s, "M%d*M%d/%d", &freq1, &freq2, &duration) == 3) {
+ } else if (sscanf(s, "M%30d*M%30d/%30d", &freq1, &freq2, &duration) == 3) {
/* Mf1*Mf2/time format */
modulate = 1;
midinote = 1;
- } else if (sscanf(s, "M%d*M%d", &freq1, &freq2) == 2) {
+ } else if (sscanf(s, "M%30d*M%30d", &freq1, &freq2) == 2) {
/* Mf1*Mf2 format */
duration = 0;
modulate = 1;
midinote = 1;
- } else if (sscanf(s, "M%d/%d", &freq1, &duration) == 2) {
+ } else if (sscanf(s, "M%30d/%30d", &freq1, &duration) == 2) {
/* Mf1/time format */
freq2 = -1;
midinote = 1;
- } else if (sscanf(s, "M%d", &freq1) == 1) {
+ } else if (sscanf(s, "M%30d", &freq1) == 1) {
/* Mf1 format */
freq2 = -1;
duration = 0;
diff --git a/main/manager.c b/main/manager.c
index 6008e89a7..baed3e0f1 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -1584,7 +1584,7 @@ static int action_waitevent(struct mansession *s, const struct message *m)
idText[0] = '\0';
if (!ast_strlen_zero(timeouts)) {
- sscanf(timeouts, "%i", &timeout);
+ sscanf(timeouts, "%30i", &timeout);
if (timeout < -1)
timeout = -1;
/* XXX maybe put an upper bound, or prevent the use of 0 ? */
@@ -2069,7 +2069,7 @@ static int action_redirect(struct mansession *s, const struct message *m)
astman_send_error(s, m, "Channel not specified");
return 0;
}
- if (!ast_strlen_zero(priority) && (sscanf(priority, "%d", &pi) != 1)) {
+ if (!ast_strlen_zero(priority) && (sscanf(priority, "%30d", &pi) != 1)) {
if ((pi = ast_findlabel_extension(NULL, context, exten, priority, NULL)) < 1) {
astman_send_error(s, m, "Invalid priority");
return 0;
@@ -2390,13 +2390,13 @@ static int action_originate(struct mansession *s, const struct message *m)
astman_send_error(s, m, "Channel not specified");
return 0;
}
- if (!ast_strlen_zero(priority) && (sscanf(priority, "%d", &pi) != 1)) {
+ if (!ast_strlen_zero(priority) && (sscanf(priority, "%30d", &pi) != 1)) {
if ((pi = ast_findlabel_extension(NULL, context, exten, priority, NULL)) < 1) {
astman_send_error(s, m, "Invalid priority");
return 0;
}
}
- if (!ast_strlen_zero(timeout) && (sscanf(timeout, "%d", &to) != 1)) {
+ if (!ast_strlen_zero(timeout) && (sscanf(timeout, "%30d", &to) != 1)) {
astman_send_error(s, m, "Invalid timeout");
return 0;
}
@@ -3778,7 +3778,7 @@ static struct ast_str *generic_http_callback(enum output_format format,
for (v = params; v; v = v->next) {
if (!strcasecmp(v->name, "mansession_id")) {
- sscanf(v->value, "%x", &ident);
+ sscanf(v->value, "%30x", &ident);
break;
}
}
diff --git a/main/netsock.c b/main/netsock.c
index 2bdf9ccd6..24c6f12b5 100644
--- a/main/netsock.c
+++ b/main/netsock.c
@@ -280,7 +280,7 @@ int ast_str_to_eid(struct ast_eid *eid, const char *s)
unsigned int eid_int[6];
int x;
- if (sscanf(s, "%x:%x:%x:%x:%x:%x", &eid_int[0], &eid_int[1], &eid_int[2],
+ if (sscanf(s, "%2x:%2x:%2x:%2x:%2x:%2x", &eid_int[0], &eid_int[1], &eid_int[2],
&eid_int[3], &eid_int[4], &eid_int[5]) != 6)
return -1;
diff --git a/main/pbx.c b/main/pbx.c
index 99fd47899..e10a4d4e5 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -2385,7 +2385,7 @@ static int parse_variable_name(char *var, int *offset, int *length, int *isfunc)
parens--;
} else if (*var == ':' && parens == 0) {
*var++ = '\0';
- sscanf(var, "%d:%d", offset, length);
+ sscanf(var, "%30d:%30d", offset, length);
return 1; /* offset:length valid */
}
}
@@ -6179,7 +6179,7 @@ static int lookup_name(const char *s, char *const names[], int max)
if (!strcasecmp(s, names[i]))
return i+1;
}
- } else if (sscanf(s, "%d", &i) == 1 && i >= 1 && i <= max) {
+ } else if (sscanf(s, "%2d", &i) == 1 && i >= 1 && i <= max) {
return i;
}
return 0; /* error return */
@@ -6266,11 +6266,11 @@ static void get_timerange(struct ast_timing *i, char *times)
ast_log(LOG_WARNING, "Invalid time range. Assuming no restrictions based on time.\n");
return;
}
- if (sscanf(times, "%d:%d", &s1, &s2) != 2) {
+ if (sscanf(times, "%2d:%2d", &s1, &s2) != 2) {
ast_log(LOG_WARNING, "%s isn't a time. Assuming no restrictions based on time.\n", times);
return;
}
- if (sscanf(e, "%d:%d", &e1, &e2) != 2) {
+ if (sscanf(e, "%2d:%2d", &e1, &e2) != 2) {
ast_log(LOG_WARNING, "%s isn't a time. Assuming no restrictions based on time.\n", e);
return;
}
@@ -7809,7 +7809,7 @@ static void wait_for_hangup(struct ast_channel *chan, void *data)
double waitsec;
int waittime;
- if (ast_strlen_zero(data) || (sscanf(data, "%lg", &waitsec) != 1) || (waitsec < 0))
+ if (ast_strlen_zero(data) || (sscanf(data, "%30lg", &waitsec) != 1) || (waitsec < 0))
waitsec = -1;
if (waitsec > -1) {
waittime = waitsec * 1000.0;
@@ -8522,7 +8522,7 @@ int pbx_checkcondition(const char *condition)
int res;
if (ast_strlen_zero(condition)) { /* NULL or empty strings are false */
return 0;
- } else if (sscanf(condition, "%d", &res) == 1) { /* Numbers are evaluated for truth */
+ } else if (sscanf(condition, "%30d", &res) == 1) { /* Numbers are evaluated for truth */
return res;
} else { /* Strings are true */
return 1;
@@ -8936,7 +8936,7 @@ static int pbx_parseable_goto(struct ast_channel *chan, const char *goto_string,
mode = -1;
pri++;
}
- if (sscanf(pri, "%d", &ipri) != 1) {
+ if (sscanf(pri, "%30d", &ipri) != 1) {
if ((ipri = ast_findlabel_extension(chan, context ? context : chan->context, exten ? exten : chan->exten,
pri, chan->cid.cid_num)) < 1) {
ast_log(LOG_WARNING, "Priority '%s' must be a number > 0, or valid label\n", pri);
diff --git a/main/timing.c b/main/timing.c
index d0e6a6d24..ac23d42fa 100644
--- a/main/timing.c
+++ b/main/timing.c
@@ -229,7 +229,7 @@ static char *timing_test(struct ast_cli_entry *e, int cmd, struct ast_cli_args *
if (a->argc == 3) {
unsigned int rate;
- if (sscanf(a->argv[2], "%u", &rate) == 1) {
+ if (sscanf(a->argv[2], "%30u", &rate) == 1) {
test_rate = rate;
} else {
ast_cli(a->fd, "Invalid rate '%s', using default of %u\n", a->argv[2], test_rate);
diff --git a/main/utils.c b/main/utils.c
index 954b9ff4e..5d7b4cedc 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -1681,7 +1681,7 @@ int ast_get_timeval(const char *src, struct timeval *dst, struct timeval _defaul
return -1;
/* only integer at the moment, but one day we could accept more formats */
- if (sscanf(src, "%Lf%n", &dtv, &scanned) > 0) {
+ if (sscanf(src, "%30Lf%n", &dtv, &scanned) > 0) {
dst->tv_sec = dtv;
dst->tv_usec = (dtv - dst->tv_sec) * 1000000.0;
if (consumed)
@@ -1708,7 +1708,7 @@ int ast_get_time_t(const char *src, time_t *dst, time_t _default, int *consumed)
return -1;
/* only integer at the moment, but one day we could accept more formats */
- if (sscanf(src, "%ld%n", &t, &scanned) == 1) {
+ if (sscanf(src, "%30ld%n", &t, &scanned) == 1) {
*dst = t;
if (consumed)
*consumed = scanned;
diff --git a/pbx/dundi-parser.c b/pbx/dundi-parser.c
index 15dae84d6..3a8396110 100644
--- a/pbx/dundi-parser.c
+++ b/pbx/dundi-parser.c
@@ -70,7 +70,7 @@ int dundi_str_short_to_eid(dundi_eid *eid, const char *s)
int x;
if (sscanf(s, "%2x%2x%2x%2x%2x%2x", &eid_int[0], &eid_int[1], &eid_int[2],
&eid_int[3], &eid_int[4], &eid_int[5]) != 6)
- return -1;
+ return -1;
for (x = 0; x < 6; x++)
eid->eid[x] = eid_int[x];
return 0;
diff --git a/pbx/pbx_config.c b/pbx/pbx_config.c
index 089d7ffa5..c7552c8f7 100644
--- a/pbx/pbx_config.c
+++ b/pbx/pbx_config.c
@@ -1015,7 +1015,7 @@ static char *handle_cli_dialplan_add_extension(struct ast_cli_entry *e, int cmd,
if (!strcmp(prior, "hint")) {
iprior = PRIORITY_HINT;
} else {
- if (sscanf(prior, "%d", &iprior) != 1) {
+ if (sscanf(prior, "%30d", &iprior) != 1) {
ast_cli(a->fd, "'%s' is not a valid priority\n", prior);
prior = NULL;
}
@@ -1507,7 +1507,7 @@ static int pbx_load_config(const char *config_file)
ipri = lastpri;
else
ast_log(LOG_WARNING, "Can't use 'same' priority on the first entry!\n");
- } else if (sscanf(pri, "%d", &ipri) != 1 &&
+ } else if (sscanf(pri, "%30d", &ipri) != 1 &&
(ipri = ast_findlabel_extension2(NULL, con, realext, pri, cidmatch)) < 1) {
ast_log(LOG_WARNING, "Invalid priority/label '%s' at line %d\n", pri, v->lineno);
ipri = 0;
@@ -1635,9 +1635,9 @@ static void pbx_load_users(void)
c = dahdicopy;
chan = strsep(&c, ",");
while (chan) {
- if (sscanf(chan, "%d-%d", &start, &finish) == 2) {
+ if (sscanf(chan, "%30d-%30d", &start, &finish) == 2) {
/* Range */
- } else if (sscanf(chan, "%d", &start)) {
+ } else if (sscanf(chan, "%30d", &start)) {
/* Just one */
finish = start;
} else {
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index d86b3ccee..1a441c767 100644
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -475,7 +475,7 @@ static int get_mapping_weight(struct dundi_mapping *map)
buf[0] = 0;
if (map->weightstr) {
pbx_substitute_variables_helper(NULL, map->weightstr, buf, sizeof(buf) - 1);
- if (sscanf(buf, "%d", &map->_weight) != 1)
+ if (sscanf(buf, "%30d", &map->_weight) != 1)
map->_weight = MAX_WEIGHT;
}
@@ -1088,7 +1088,7 @@ static int cache_lookup_internal(time_t now, struct dundi_request *req, char *ke
if (expiration > 0) {
ast_debug(1, "Found cache expiring in %d seconds!\n", expiration);
ptr += length + 1;
- while((sscanf(ptr, "%d/%d/%d/%n", &(flags.flags), &weight, &tech, &length) == 3)) {
+ while((sscanf(ptr, "%30d/%30d/%30d/%n", &(flags.flags), &weight, &tech, &length) == 3)) {
ptr += length;
term = strchr(ptr, '|');
if (term) {
@@ -4088,7 +4088,7 @@ static int dundi_result_read(struct ast_channel *chan, const char *cmd, char *da
goto finish;
}
- if (sscanf(args.resultnum, "%u", &num) != 1) {
+ if (sscanf(args.resultnum, "%30u", &num) != 1) {
ast_log(LOG_ERROR, "Invalid value '%s' for resultnum to DUNDIRESULT!\n",
args.resultnum);
goto finish;
@@ -4252,7 +4252,7 @@ static void build_mapping(const char *name, const char *value)
} else if (x >= 4) {
ast_copy_string(map->dcontext, name, sizeof(map->dcontext));
ast_copy_string(map->lcontext, fields[0], sizeof(map->lcontext));
- if ((sscanf(fields[1], "%d", &map->_weight) == 1) && (map->_weight >= 0) && (map->_weight <= MAX_WEIGHT)) {
+ if ((sscanf(fields[1], "%30d", &map->_weight) == 1) && (map->_weight >= 0) && (map->_weight <= MAX_WEIGHT)) {
ast_copy_string(map->dest, fields[3], sizeof(map->dest));
if ((map->tech = str2tech(fields[2])))
map->dead = 0;
@@ -4354,7 +4354,7 @@ static void populate_addr(struct dundi_peer *peer, dundi_eid *eid)
if (c) {
*c = '\0';
c++;
- if (sscanf(c, "%d:%d", &port, &expire) == 2) {
+ if (sscanf(c, "%5d:%30d", &port, &expire) == 2) {
/* Got it! */
inet_aton(data, &peer->addr.sin_addr);
peer->addr.sin_family = AF_INET;
@@ -4451,7 +4451,7 @@ static void build_peer(dundi_eid *eid, struct ast_variable *v, int *globalpcmode
peer->maxms = 0;
} else if (!strcasecmp(v->value, "yes")) {
peer->maxms = DEFAULT_MAXMS;
- } else if (sscanf(v->value, "%d", &peer->maxms) != 1) {
+ } else if (sscanf(v->value, "%30d", &peer->maxms) != 1) {
ast_log(LOG_WARNING, "Qualification of peer '%s' should be 'yes', 'no', or a number of milliseconds at line %d of dundi.conf\n",
ast_eid_to_str(eid_str, sizeof(eid_str), &peer->eid), v->lineno);
peer->maxms = 0;
@@ -4690,14 +4690,14 @@ static int set_config(char *config_file, struct sockaddr_in* sin, int reload)
} else if (!strcasecmp(v->name, "authdebug")) {
authdebug = ast_true(v->value);
} else if (!strcasecmp(v->name, "ttl")) {
- if ((sscanf(v->value, "%d", &x) == 1) && (x > 0) && (x < DUNDI_DEFAULT_TTL)) {
+ if ((sscanf(v->value, "%30d", &x) == 1) && (x > 0) && (x < DUNDI_DEFAULT_TTL)) {
dundi_ttl = x;
} else {
ast_log(LOG_WARNING, "'%s' is not a valid TTL at line %d, must be number from 1 to %d\n",
v->value, v->lineno, DUNDI_DEFAULT_TTL);
}
} else if (!strcasecmp(v->name, "autokill")) {
- if (sscanf(v->value, "%d", &x) == 1) {
+ if (sscanf(v->value, "%30d", &x) == 1) {
if (x >= 0)
global_autokilltimeout = x;
else
@@ -4732,7 +4732,7 @@ static int set_config(char *config_file, struct sockaddr_in* sin, int reload)
} else if (!strcasecmp(v->name, "storehistory")) {
global_storehistory = ast_true(v->value);
} else if (!strcasecmp(v->name, "cachetime")) {
- if ((sscanf(v->value, "%d", &x) == 1)) {
+ if ((sscanf(v->value, "%30d", &x) == 1)) {
dundi_cache_time = x;
} else {
ast_log(LOG_WARNING, "'%s' is not a valid cache time at line %d. Using default value '%d'.\n",
diff --git a/pbx/pbx_loopback.c b/pbx/pbx_loopback.c
index e9001deef..f51ec8204 100644
--- a/pbx/pbx_loopback.c
+++ b/pbx/pbx_loopback.c
@@ -120,7 +120,7 @@ static void loopback_parse(char **newexten, char **newcontext, int *priority, ch
if (!ast_strlen_zero(con))
*newcontext = con;
if (!ast_strlen_zero(pri))
- sscanf(pri, "%d", priority);
+ sscanf(pri, "%30d", priority);
}
static int loopback_exists(struct ast_channel *chan, const char *context, const char *exten, int priority, const char *callerid, const char *data)
diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c
index 64c176769..34010e752 100644
--- a/pbx/pbx_spool.c
+++ b/pbx/pbx_spool.c
@@ -171,7 +171,7 @@ static int apply_outgoing(struct outgoing *o, char *fn, FILE *f)
} else if (!strcasecmp(buf, "data")) {
ast_copy_string(o->data, c, sizeof(o->data));
} else if (!strcasecmp(buf, "maxretries")) {
- if (sscanf(c, "%d", &o->maxretries) != 1) {
+ if (sscanf(c, "%30d", &o->maxretries) != 1) {
ast_log(LOG_WARNING, "Invalid max retries at line %d of %s\n", lineno, fn);
o->maxretries = 0;
}
@@ -182,24 +182,24 @@ static int apply_outgoing(struct outgoing *o, char *fn, FILE *f)
} else if (!strcasecmp(buf, "extension")) {
ast_copy_string(o->exten, c, sizeof(o->exten));
} else if (!strcasecmp(buf, "priority")) {
- if ((sscanf(c, "%d", &o->priority) != 1) || (o->priority < 1)) {
+ if ((sscanf(c, "%30d", &o->priority) != 1) || (o->priority < 1)) {
ast_log(LOG_WARNING, "Invalid priority at line %d of %s\n", lineno, fn);
o->priority = 1;
}
} else if (!strcasecmp(buf, "retrytime")) {
- if ((sscanf(c, "%d", &o->retrytime) != 1) || (o->retrytime < 1)) {
+ if ((sscanf(c, "%30d", &o->retrytime) != 1) || (o->retrytime < 1)) {
ast_log(LOG_WARNING, "Invalid retrytime at line %d of %s\n", lineno, fn);
o->retrytime = 300;
}
} else if (!strcasecmp(buf, "waittime")) {
- if ((sscanf(c, "%d", &o->waittime) != 1) || (o->waittime < 1)) {
+ if ((sscanf(c, "%30d", &o->waittime) != 1) || (o->waittime < 1)) {
ast_log(LOG_WARNING, "Invalid waittime at line %d of %s\n", lineno, fn);
o->waittime = 45;
}
} else if (!strcasecmp(buf, "retry")) {
o->retries++;
} else if (!strcasecmp(buf, "startretry")) {
- if (sscanf(c, "%ld", &o->callingpid) != 1) {
+ if (sscanf(c, "%30ld", &o->callingpid) != 1) {
ast_log(LOG_WARNING, "Unable to retrieve calling PID!\n");
o->callingpid = 0;
}
diff --git a/res/ael/pval.c b/res/ael/pval.c
index 20e5eddc3..dc1678616 100644
--- a/res/ael/pval.c
+++ b/res/ael/pval.c
@@ -860,12 +860,12 @@ static void check_timerange(pval *p)
p->filename, p->startline, p->endline, p->u1.str);
warns++;
}
- if (sscanf(times, "%d:%d", &s1, &s2) != 2) {
+ if (sscanf(times, "%2d:%2d", &s1, &s2) != 2) {
ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The start time (%s) isn't quite right!\n",
p->filename, p->startline, p->endline, times);
warns++;
}
- if (sscanf(e, "%d:%d", &e1, &e2) != 2) {
+ if (sscanf(e, "%2d:%2d", &e1, &e2) != 2) {
ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The end time (%s) isn't quite right!\n",
p->filename, p->startline, p->endline, times);
warns++;
@@ -957,7 +957,7 @@ static void check_day(pval *DAY)
c++;
}
/* Find the start */
- if (sscanf(day, "%d", &s) != 1) {
+ if (sscanf(day, "%2d", &s) != 1) {
ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The start day of month (%s) must be a number!\n",
DAY->filename, DAY->startline, DAY->endline, day);
warns++;
@@ -969,7 +969,7 @@ static void check_day(pval *DAY)
}
s--;
if (c) {
- if (sscanf(c, "%d", &e) != 1) {
+ if (sscanf(c, "%2d", &e) != 1) {
ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The end day of month (%s) must be a number!\n",
DAY->filename, DAY->startline, DAY->endline, c);
warns++;
diff --git a/res/res_agi.c b/res/res_agi.c
index 977dbd6d7..4ca7256a5 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -780,7 +780,7 @@ static int handle_waitfordigit(struct ast_channel *chan, AGI *agi, int argc, cha
if (argc != 4)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[3], "%d", &to) != 1)
+ if (sscanf(argv[3], "%30d", &to) != 1)
return RESULT_SHOWUSAGE;
res = ast_waitfordigit_full(chan, to, agi->audio, agi->ctrl);
ast_agi_send(agi->fd, chan, "200 result=%d\n", res);
@@ -899,7 +899,7 @@ static int handle_controlstreamfile(struct ast_channel *chan, AGI *agi, int argc
stop = argv[4];
}
- if ((argc > 5) && (sscanf(argv[5], "%d", &skipms) != 1)) {
+ if ((argc > 5) && (sscanf(argv[5], "%30d", &skipms) != 1)) {
return RESULT_SHOWUSAGE;
}
@@ -935,7 +935,7 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, char
if (argv[3])
edigits = argv[3];
- if ((argc > 4) && (sscanf(argv[4], "%ld", &sample_offset) != 1))
+ if ((argc > 4) && (sscanf(argv[4], "%30ld", &sample_offset) != 1))
return RESULT_SHOWUSAGE;
if (!(fs = ast_openstream(chan, argv[2], chan->language))) {
@@ -1047,7 +1047,7 @@ static int handle_saynumber(struct ast_channel *chan, AGI *agi, int argc, char *
if (argc < 4 || argc > 5)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%d", &num) != 1)
+ if (sscanf(argv[2], "%30d", &num) != 1)
return RESULT_SHOWUSAGE;
res = ast_say_number_full(chan, num, argv[3], chan->language, argc > 4 ? argv[4] : NULL, agi->audio, agi->ctrl);
if (res == 1)
@@ -1062,7 +1062,7 @@ static int handle_saydigits(struct ast_channel *chan, AGI *agi, int argc, char *
if (argc != 4)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%d", &num) != 1)
+ if (sscanf(argv[2], "%30d", &num) != 1)
return RESULT_SHOWUSAGE;
res = ast_say_digit_str_full(chan, argv[2], argv[3], chan->language, agi->audio, agi->ctrl);
@@ -1092,7 +1092,7 @@ static int handle_saydate(struct ast_channel *chan, AGI *agi, int argc, char *ar
if (argc != 4)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%d", &num) != 1)
+ if (sscanf(argv[2], "%30d", &num) != 1)
return RESULT_SHOWUSAGE;
res = ast_say_date(chan, num, argv[3], chan->language);
if (res == 1)
@@ -1107,7 +1107,7 @@ static int handle_saytime(struct ast_channel *chan, AGI *agi, int argc, char *ar
if (argc != 4)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%d", &num) != 1)
+ if (sscanf(argv[2], "%30d", &num) != 1)
return RESULT_SHOWUSAGE;
res = ast_say_time(chan, num, argv[3], chan->language);
if (res == 1)
@@ -1217,7 +1217,7 @@ static int handle_setpriority(struct ast_channel *chan, AGI *agi, int argc, char
if (argc != 3)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%d", &pri) != 1) {
+ if (sscanf(argv[2], "%30d", &pri) != 1) {
if ((pri = ast_findlabel_extension(chan, chan->context, chan->exten, argv[2], chan->cid.cid_num)) < 1)
return RESULT_SHOWUSAGE;
}
@@ -1248,7 +1248,7 @@ static int handle_recordfile(struct ast_channel *chan, AGI *agi, int argc, char
if (argc < 6)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[5], "%d", &ms) != 1)
+ if (sscanf(argv[5], "%30d", &ms) != 1)
return RESULT_SHOWUSAGE;
if (argc > 6)
@@ -1289,7 +1289,7 @@ static int handle_recordfile(struct ast_channel *chan, AGI *agi, int argc, char
/* backward compatibility, if no offset given, arg[6] would have been
* caught below and taken to be a beep, else if it is a digit then it is a
* offset */
- if ((argc >6) && (sscanf(argv[6], "%ld", &sample_offset) != 1) && (!strchr(argv[6], '=')))
+ if ((argc >6) && (sscanf(argv[6], "%30ld", &sample_offset) != 1) && (!strchr(argv[6], '=')))
res = ast_streamfile(chan, "beep", chan->language);
if ((argc > 7) && (!strchr(argv[7], '=')))
@@ -1411,7 +1411,7 @@ static int handle_autohangup(struct ast_channel *chan, AGI *agi, int argc, char
if (argc != 3)
return RESULT_SHOWUSAGE;
- if (sscanf(argv[2], "%lf", &timeout) != 1)
+ if (sscanf(argv[2], "%30lf", &timeout) != 1)
return RESULT_SHOWUSAGE;
if (timeout < 0)
timeout = 0;
@@ -1599,7 +1599,7 @@ static int handle_verbose(struct ast_channel *chan, AGI *agi, int argc, char **a
return RESULT_SHOWUSAGE;
if (argv[2])
- sscanf(argv[2], "%d", &level);
+ sscanf(argv[2], "%30d", &level);
ast_verb(level, "%s: %s\n", chan->data, argv[1]);
diff --git a/res/res_config_curl.c b/res/res_config_curl.c
index 37079adea..c2d26f0cd 100644
--- a/res/res_config_curl.c
+++ b/res/res_config_curl.c
@@ -264,7 +264,7 @@ static int update_curl(const char *url, const char *unused, const char *keyfield
stringp = buffer;
while (*stringp <= ' ')
stringp++;
- sscanf(stringp, "%d", &rowcount);
+ sscanf(stringp, "%30d", &rowcount);
ast_free(buffer);
ast_free(query);
@@ -327,7 +327,7 @@ static int store_curl(const char *url, const char *unused, va_list ap)
stringp = buffer;
while (*stringp <= ' ')
stringp++;
- sscanf(stringp, "%d", &rowcount);
+ sscanf(stringp, "%30d", &rowcount);
ast_free(buffer);
ast_free(query);
@@ -395,7 +395,7 @@ static int destroy_curl(const char *url, const char *unused, const char *keyfiel
stringp = buffer;
while (*stringp <= ' ')
stringp++;
- sscanf(stringp, "%d", &rowcount);
+ sscanf(stringp, "%30d", &rowcount);
ast_free(buffer);
ast_free(query);
diff --git a/res/res_config_ldap.c b/res/res_config_ldap.c
index 04066074d..80d136b49 100644
--- a/res/res_config_ldap.c
+++ b/res/res_config_ldap.c
@@ -1416,7 +1416,7 @@ int parse_config(void)
if ((s = ast_variable_retrieve(config, "_general", "url"))) {
ast_copy_string(url, s, sizeof(url));
} else if ((host = ast_variable_retrieve(config, "_general", "host"))) {
- if (!(s = ast_variable_retrieve(config, "_general", "port")) || sscanf(s, "%d", &port) != 1) {
+ if (!(s = ast_variable_retrieve(config, "_general", "port")) || sscanf(s, "%5d", &port) != 1 || port > 65535) {
ast_log(LOG_NOTICE, "No directory port found, using 389 as default.\n");
port = 389;
}
@@ -1437,7 +1437,7 @@ int parse_config(void)
if (!(s = ast_variable_retrieve(config, "_general", "version")) && !(s = ast_variable_retrieve(config, "_general", "protocol"))) {
ast_log(LOG_NOTICE, "No explicit LDAP version found, using 3 as default.\n");
version = 3;
- } else if (sscanf(s, "%d", &version) != 1 || version < 1 || version > 6) {
+ } else if (sscanf(s, "%30d", &version) != 1 || version < 1 || version > 6) {
ast_log(LOG_WARNING, "Invalid LDAP version '%s', using 3 as default.\n", s);
version = 3;
}
diff --git a/res/res_config_pgsql.c b/res/res_config_pgsql.c
index ab955e331..faef10a12 100644
--- a/res/res_config_pgsql.c
+++ b/res/res_config_pgsql.c
@@ -162,10 +162,10 @@ static struct tables *find_table(const char *tablename)
if (strcmp(flen, "-1") == 0) {
/* Some types, like chars, have the length stored in a different field */
flen = PQgetvalue(result, i, 5);
- sscanf(flen, "%d", &column->len);
+ sscanf(flen, "%30d", &column->len);
column->len -= 4;
} else {
- sscanf(flen, "%d", &column->len);
+ sscanf(flen, "%30d", &column->len);
}
column->name = (char *)column + sizeof(*column);
column->type = (char *)column + sizeof(*column) + strlen(fname) + 1;
diff --git a/res/res_config_sqlite.c b/res/res_config_sqlite.c
index a7bf62cef..df87400f4 100644
--- a/res/res_config_sqlite.c
+++ b/res/res_config_sqlite.c
@@ -798,7 +798,7 @@ static int cdr_handler(struct ast_cdr *cdr)
if (!tmp) {
continue;
}
- if (sscanf(tmp, "%d", &scannum) == 1) {
+ if (sscanf(tmp, "%30d", &scannum) == 1) {
ast_str_append(&sql1, 0, "%s,", col->name);
ast_str_append(&sql2, 0, "%d,", scannum);
}
diff --git a/res/res_http_post.c b/res/res_http_post.c
index 5fbf46a24..3425aaee2 100644
--- a/res/res_http_post.c
+++ b/res/res_http_post.c
@@ -176,7 +176,7 @@ static struct ast_str *http_post_callback(struct ast_tcptls_session_instance *se
continue;
}
- if (sscanf(var->value, "%lx", &ident) != 1) {
+ if (sscanf(var->value, "%30lx", &ident) != 1) {
return ast_http_error((*status = 400),
(*title = ast_strdup("Bad Request")),
NULL, "The was an error parsing the request.");
@@ -206,7 +206,7 @@ static struct ast_str *http_post_callback(struct ast_tcptls_session_instance *se
fprintf(f, "%s: %s\r\n", var->name, var->value);
if (!strcasecmp(var->name, "Content-Length")) {
- if ((sscanf(var->value, "%u", &content_len)) != 1) {
+ if ((sscanf(var->value, "%30u", &content_len)) != 1) {
ast_log(LOG_ERROR, "Invalid Content-Length in POST request!\n");
fclose(f);
diff --git a/res/res_limit.c b/res/res_limit.c
index b1cf025b0..94a6e8719 100644
--- a/res/res_limit.c
+++ b/res/res_limit.c
@@ -178,7 +178,7 @@ static char *handle_cli_ulimit(struct ast_cli_entry *e, int cmd, struct ast_cli_
return CLI_FAILURE;
}
- sscanf(a->argv[2], "%d", &x);
+ sscanf(a->argv[2], "%30d", &x);
rlimit.rlim_max = rlimit.rlim_cur = x;
setrlimit(resource, &rlimit);
return CLI_SUCCESS;
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index 4d70b575f..240775cee 100644
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -621,7 +621,7 @@ static int play_moh_exec(struct ast_channel *chan, void *data)
AST_STANDARD_APP_ARGS(args, parse);
if (!ast_strlen_zero(args.duration)) {
- if (sscanf(args.duration, "%d", &timeout) == 1) {
+ if (sscanf(args.duration, "%30d", &timeout) == 1) {
timeout *= 1000;
} else {
ast_log(LOG_WARNING, "Invalid MusicOnHold duration '%s'. Will wait indefinitely.\n", args.duration);
diff --git a/res/res_odbc.c b/res/res_odbc.c
index b928ec8a8..546fe974b 100644
--- a/res/res_odbc.c
+++ b/res/res_odbc.c
@@ -446,7 +446,7 @@ static int load_odbc_config(void)
if (ast_false(v->value))
pooling = 1;
} else if (!strcasecmp(v->name, "limit")) {
- sscanf(v->value, "%d", &limit);
+ sscanf(v->value, "%30d", &limit);
if (ast_true(v->value) && !limit) {
ast_log(LOG_WARNING, "Limit should be a number, not a boolean: '%s'. Setting limit to 1023 for ODBC class '%s'.\n", v->value, cat);
limit = 1023;
@@ -456,7 +456,7 @@ static int load_odbc_config(void)
break;
}
} else if (!strcasecmp(v->name, "idlecheck")) {
- sscanf(v->value, "%d", &idlecheck);
+ sscanf(v->value, "%30u", &idlecheck);
} else if (!strcasecmp(v->name, "enabled")) {
enabled = ast_true(v->value);
} else if (!strcasecmp(v->name, "pre-connect")) {
diff --git a/res/res_smdi.c b/res/res_smdi.c
index 56a32e8f1..dc0bafde5 100644
--- a/res/res_smdi.c
+++ b/res/res_smdi.c
@@ -880,7 +880,7 @@ static int smdi_load(int reload)
baud_rate = B9600;
}
} else if (!strcasecmp(v->name, "msdstrip")) {
- if (!sscanf(v->value, "%d", &msdstrip)) {
+ if (!sscanf(v->value, "%30d", &msdstrip)) {
ast_log(LOG_NOTICE, "Invalid msdstrip value in %s (line %d), using default\n", config_file, v->lineno);
msdstrip = 0;
} else if (0 > msdstrip || msdstrip > 9) {
@@ -888,7 +888,7 @@ static int smdi_load(int reload)
msdstrip = 0;
}
} else if (!strcasecmp(v->name, "msgexpirytime")) {
- if (!sscanf(v->value, "%ld", &msg_expiry)) {
+ if (!sscanf(v->value, "%30ld", &msg_expiry)) {
ast_log(LOG_NOTICE, "Invalid msgexpirytime value in %s (line %d), using default\n", config_file, v->lineno);
msg_expiry = SMDI_MSG_EXPIRY_TIME;
}
@@ -1021,7 +1021,7 @@ static int smdi_load(int reload)
continue;
}
} else if (!strcasecmp(v->name, "pollinginterval")) {
- if (sscanf(v->value, "%u", &mwi_monitor.polling_interval) != 1) {
+ if (sscanf(v->value, "%30u", &mwi_monitor.polling_interval) != 1) {
ast_log(LOG_ERROR, "Invalid value for pollinginterval: %s\n", v->value);
mwi_monitor.polling_interval = DEFAULT_POLLING_INTERVAL;
}
@@ -1142,7 +1142,7 @@ static int smdi_msg_retrieve_read(struct ast_channel *chan, const char *cmd, cha
}
if (!ast_strlen_zero(args.timeout)) {
- if (sscanf(args.timeout, "%u", &timeout) != 1) {
+ if (sscanf(args.timeout, "%30u", &timeout) != 1) {
ast_log(LOG_ERROR, "'%s' is not a valid timeout\n", args.timeout);
timeout = SMDI_RETRIEVE_TIMEOUT_DEFAULT;
}
diff --git a/res/snmp/agent.c b/res/snmp/agent.c
index 82be552ed..89ea8fbe5 100644
--- a/res/snmp/agent.c
+++ b/res/snmp/agent.c
@@ -745,7 +745,7 @@ static u_char *ast_var_Version(struct variable *vp, oid *name, size_t *length,
return (u_char *)version;
}
case ASTVERTAG:
- sscanf(ast_get_version_num(), "%lu", &long_ret);
+ sscanf(ast_get_version_num(), "%30lu", &long_ret);
return (u_char *)&long_ret;
default:
break;
diff --git a/utils/extconf.c b/utils/extconf.c
index ebb2220a0..ae0050903 100644
--- a/utils/extconf.c
+++ b/utils/extconf.c
@@ -3147,7 +3147,7 @@ static int lookup_name(const char *s, char *const names[], int max)
if (!strcasecmp(s, names[i]))
return i+1;
}
- } else if (sscanf(s, "%d", &i) == 1 && i >= 1 && i <= max) {
+ } else if (sscanf(s, "%30d", &i) == 1 && i >= 1 && i <= max) {
return i;
}
return 0; /* error return */
@@ -3234,11 +3234,11 @@ static void get_timerange(struct ast_timing *i, char *times)
ast_log(LOG_WARNING, "Invalid time range. Assuming no restrictions based on time.\n");
return;
}
- if (sscanf(times, "%d:%d", &s1, &s2) != 2) {
+ if (sscanf(times, "%2d:%2d", &s1, &s2) != 2) {
ast_log(LOG_WARNING, "%s isn't a time. Assuming no restrictions based on time.\n", times);
return;
}
- if (sscanf(e, "%d:%d", &e1, &e2) != 2) {
+ if (sscanf(e, "%2d:%2d", &e1, &e2) != 2) {
ast_log(LOG_WARNING, "%s isn't a time. Assuming no restrictions based on time.\n", e);
return;
}
@@ -5548,7 +5548,7 @@ static int parse_variable_name(char *var, int *offset, int *length, int *isfunc)
parens--;
} else if (*var == ':' && parens == 0) {
*var++ = '\0';
- sscanf(var, "%d:%d", offset, length);
+ sscanf(var, "%30d:%30d", offset, length);
return 1; /* offset:length valid */
}
}
@@ -5952,7 +5952,7 @@ static int pbx_load_config(const char *config_file)
ipri = lastpri;
else
ast_log(LOG_WARNING, "Can't use 'same' priority on the first entry!\n");
- } else if (sscanf(pri, "%d", &ipri) != 1 &&
+ } else if (sscanf(pri, "%30d", &ipri) != 1 &&
(ipri = ast_findlabel_extension2(NULL, con, realext, pri, cidmatch)) < 1) {
ast_log(LOG_WARNING, "Invalid priority/label '%s' at line %d\n", pri, v->lineno);
ipri = 0;
diff --git a/utils/frame.c b/utils/frame.c
index abc3a3000..63c089005 100644
--- a/utils/frame.c
+++ b/utils/frame.c
@@ -355,7 +355,7 @@ int parsetime(char *string, int *result)
double temp;
char m, s, end;
- k = sscanf(string, "%lf%c%c%c", &temp, &m, &s, &end);
+ k = sscanf(string, "%30lf%1c%1c%1c", &temp, &m, &s, &end);
switch (k)
{
case 0: case EOF: case 4:
@@ -396,7 +396,7 @@ int parsefreq(char *string, double *result)
double temp;
char m, s, end;
- k = sscanf(string, "%lf%c%c%c", &temp, &m, &s, &end);
+ k = sscanf(string, "%30lf%1c%1c%1c", &temp, &m, &s, &end);
switch (k)
{
case 0: case EOF: case 2: case 4:
@@ -476,7 +476,7 @@ int parseintarg( int argcount, char *args[], char *string, int *result)
if ((i = findoption( argcount, args, string)) > 0)
{
switch (sscanf(args[i] + 1 + strlen( string),
- "%d%c", &temp, &c))
+ "%30d%1c", &temp, &c))
{
case 0: case EOF: case 2:
argerrornum(args[i]+1, ME_NOINT);
@@ -510,7 +510,7 @@ int parsedoublearg( int argcount, char *args[], char *string, double *result)
if ((i = findoption( argcount, args, string)) > 0)
{
- switch (sscanf(args[i] + 1 + strlen( string), "%lf%c", &temp, &end))
+ switch (sscanf(args[i] + 1 + strlen( string), "%30lf%1c", &temp, &end))
{
case 0: case EOF: case 2:
argerrornum(args[i]+1, ME_NODOUBLE);
@@ -545,7 +545,7 @@ int parsevolarg( int argcount, char *args[], char *string, double *result)
if ((i = findoption( argcount, args, string)) > 0)
{
switch (sscanf(args[i] + 1 + strlen( string),
- "%lf%c%c%c", &vol, &sbd, &sbb, &end))
+ "%30lf%1c%1c%1c", &vol, &sbd, &sbb, &end))
{
case 0: case EOF: case 4:
weird = TRUE;
@@ -593,7 +593,7 @@ int parsevolume(char *s, double *result)
char sbd, sbb, end;
*result = 1.0;
- k = sscanf(s, "%lf%c%c%c", result, &sbd, &sbb, &end);
+ k = sscanf(s, "%30lf%1c%1c%1c", result, &sbd, &sbb, &end);
switch (k)
{
case 0:
diff --git a/utils/muted.c b/utils/muted.c
index b2523b6fc..fa3928f20 100644
--- a/utils/muted.c
+++ b/utils/muted.c
@@ -156,7 +156,7 @@ static int load_config(void)
} else if (!strcasecmp(buf, "smoothfade")) {
smoothfade = 1;
} else if (!strcasecmp(buf, "mutelevel")) {
- if (val && (sscanf(val, "%d", &x) == 1) && (x > -1) && (x < 101)) {
+ if (val && (sscanf(val, "%3d", &x) == 1) && (x > -1) && (x < 101)) {
mutelevel = x;
} else
fprintf(stderr, "mutelevel must be a number from 0 (most muted) to 100 (no mute) at line %d\n", lineno);
@@ -216,7 +216,7 @@ static int connect_asterisk(void)
if (ports) {
*ports = '\0';
ports++;
- if ((sscanf(ports, "%d", &port) != 1) || (port < 1) || (port > 65535)) {
+ if ((sscanf(ports, "%5d", &port) != 1) || (port < 1) || (port > 65535)) {
fprintf(stderr, "'%s' is not a valid port number in the hostname\n", ports);
return -1;
}