From 62866c9fdaf1b13e8f3396c304a10a6ec6b45e4f Mon Sep 17 00:00:00 2001 From: Automerge script Date: Fri, 9 Jun 2006 19:04:18 +0000 Subject: [PATCH] automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@33327 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_dial.c | 23 ++++++++++++++++------- apps/app_meetme.c | 29 +++++++++++++++++------------ channels/chan_iax2.c | 2 -- 3 files changed, 33 insertions(+), 21 deletions(-) diff --git a/apps/app_dial.c b/apps/app_dial.c index 4481910fb0..130006f6e6 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -982,9 +982,18 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags "At the tone, please say your name:" */ - ast_play_and_record(chan, "priv-recordintro", privintro, 4, "gsm", &duration, 128, 2000, 0); /* NOTE: I've reduced the total time to 4 sec */ - /* don't think we'll need a lock removed, we took care of - conflicts by naming the privintro file */ + res = ast_play_and_record(chan, "priv-recordintro", privintro, 4, "gsm", &duration, 128, 2000, 0); /* NOTE: I've reduced the total time to */ + /* 4 sec don't think we'll need a lock removed, we + took care of conflicts by naming the privintro file */ + if (res == -1) { + /* Delete the file regardless since they hung up during recording */ + ast_filedelete(privintro, NULL); + if( ast_fileexists(privintro,NULL,NULL ) > 0 ) + ast_log(LOG_NOTICE,"privacy: ast_filedelete didn't do its job on %s\n", privintro); + else if (option_verbose > 2) + ast_verbose( VERBOSE_PREFIX_3 "Successfully deleted %s intro file\n", privintro); + goto out; + } } } } @@ -1258,18 +1267,18 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags do { if (!res2) res2 = ast_play_and_wait(peer,"priv-callpending"); - if( res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2>'5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) /* uh, interrupting with a bad answer is ... ignorable! */ + if ( res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2>'5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) /* uh, interrupting with a bad answer is ... ignorable! */ res2 = 0; /* priv-callpending script: "I have a caller waiting, who introduces themselves as:" */ if (!res2) - res2 = ast_play_and_wait(peer,privintro); - if( res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2>'5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) /* uh, interrupting with a bad answer is ... ignorable! */ + res2 = ast_play_and_wait(peer, privintro); + if ( res2 < '1' || (ast_test_flag(&opts, OPT_PRIVACY) && res2>'5') || (ast_test_flag(&opts, OPT_SCREENING) && res2 > '4') ) /* uh, interrupting with a bad answer is ... ignorable! */ res2 = 0; /* now get input from the called party, as to their choice */ - if( !res2 ) { + if (!res2) { if( ast_test_flag(&opts, OPT_PRIVACY) ) res2 = ast_play_and_wait(peer,"priv-callee-options"); if( ast_test_flag(&opts, OPT_SCREENING) ) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 4c0b78fbcd..92a945525e 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -2011,20 +2011,25 @@ static int conf_exec(struct ast_channel *chan, void *data) return res; } -static struct ast_conf_user* find_user(struct ast_conference *conf, char *callerident) { +static struct ast_conf_user* find_user(struct ast_conference *conf, char *callerident) +{ struct ast_conf_user *user = NULL; - char usrno[1024] = ""; - - if (conf && callerident) { - user = conf->firstuser; - while (user) { - snprintf(usrno, sizeof(usrno), "%d", user->user_no); - if (strcmp(usrno, callerident) == 0) - return user; - user = user->nextuser; - } + int cid; + + if (!conf || !callerident) { + return NULL; } - return NULL; + + sscanf(callerident, "%i", &cid); + + user = conf->firstuser; + while (user) { + if (user->user_no == cid) + break; + user = user->nextuser; + } + + return user; } /*--- admin_exec: The MeetMeadmin application */ diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index a3640fa4f8..1f66bbc263 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -5866,11 +5866,9 @@ static int auth_fail(int callno, int failcode) ast_mutex_lock(&iaxsl[callno]); iaxs[callno]->authfail = failcode; if (delayreject) { - ast_mutex_lock(&iaxsl[callno]); if (iaxs[callno]->authid > -1) ast_sched_del(sched, iaxs[callno]->authid); iaxs[callno]->authid = ast_sched_add(sched, 1000, auth_reject, (void *)(long)callno); - ast_mutex_unlock(&iaxsl[callno]); } else auth_reject((void *)(long)callno); ast_mutex_unlock(&iaxsl[callno]);