diff --git a/apps/app_dial.c b/apps/app_dial.c index 3bfa91165b..4481910fb0 100644 --- a/apps/app_dial.c +++ b/apps/app_dial.c @@ -939,20 +939,26 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags } if( privdb_val == AST_PRIVACY_DENY ) { + strcpy(status, "NOANSWER"); ast_verbose( VERBOSE_PREFIX_3 "Privacy DB reports PRIVACY_DENY for this callerid. Dial reports unavailable\n"); res=0; goto out; } else if( privdb_val == AST_PRIVACY_KILL ) { - ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201); + strcpy(status, "DONTCALL"); + if (option_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) { + ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 201); + } res = 0; goto out; /* Is this right? */ } else if( privdb_val == AST_PRIVACY_TORTURE ) { - ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301); + strcpy(status, "TORTURE"); + if (option_priority_jumping || ast_test_flag(&opts, OPT_PRIORITY_JUMP)) { + ast_goto_if_exists(chan, chan->context, chan->exten, chan->priority + 301); + } res = 0; goto out; /* is this right??? */ - } else if( privdb_val == AST_PRIVACY_UNKNOWN ) { /* Get the user's intro, store it in priv-callerintros/$CID, @@ -1310,6 +1316,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags opt_args[OPT_ARG_PRIVACY], privcid); ast_privacy_set(opt_args[OPT_ARG_PRIVACY], privcid, AST_PRIVACY_DENY); } + strcpy(status,"NOANSWER"); if (ast_test_flag(&opts, OPT_MUSICBACK)) { ast_moh_stop(chan); } else if (ast_test_flag(&opts, OPT_RINGBACK)) { diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 129a571578..a4d82eb384 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -165,7 +165,7 @@ struct ast_conf_user { int talking; /* Is user talking */ int zapchannel; /* Is a Zaptel channel */ char usrvalue[50]; /* Custom User Value */ - char namerecloc[AST_MAX_EXTENSION]; /* Name Recorded file Location */ + char namerecloc[PATH_MAX]; /* Name Recorded file Location */ time_t jointime; /* Time the user joined the conference */ struct volume talk; struct volume listen; diff --git a/logger.c b/logger.c index 0a397ff46b..0cb0f06d05 100644 --- a/logger.c +++ b/logger.c @@ -384,6 +384,7 @@ int reload_logger(int rotate) FILE *myf; int x, res = 0; + ast_mutex_lock(&msglist_lock); /* to avoid deadlock */ ast_mutex_lock(&loglock); if (eventlog) fclose(eventlog); @@ -490,6 +491,7 @@ int reload_logger(int rotate) } } ast_mutex_unlock(&loglock); + ast_mutex_unlock(&msglist_lock); return res; }