This patch fixes an issue with using the wrong voicemail folders with greetings.

(closes issue #17871)
Reported by: edhorton
Patches: 
      digium_bug_17871_2 uploaded by fhackenberger (license 592)
Tested by: edhorton, fhackenberger


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
certified/1.8.6
Brett Bryant 14 years ago
parent c8c5461a76
commit ce51fcfb6b

@ -2179,11 +2179,16 @@ static int imap_store_file(const char *dir, const char *mailboxuser, const char
int ret; /* for better error checking */
char *imap_flags = NIL;
int msgcount = (messagecount(vmu->context, vmu->mailbox, "INBOX") + messagecount(vmu->context, vmu->mailbox, "Old"));
int box = NEW_FOLDER;
/* Back out early if this is a greeting and we don't want to store greetings in IMAP */
if (msgnum < 0 && !imapgreetings) {
return 0;
}
/* Back out early if this is a greeting and we don't want to store greetings in IMAP */
if (msgnum < 0) {
if(!imapgreetings) {
return 0;
} else {
box = GREETINGS_FOLDER;
}
}
if (imap_check_limits(chan, vms, vmu, msgcount)) {
return -1;
@ -2266,9 +2271,9 @@ static int imap_store_file(const char *dir, const char *mailboxuser, const char
}
((char *) buf)[len] = '\0';
INIT(&str, mail_string, buf, len);
ret = init_mailstream(vms, NEW_FOLDER);
ret = init_mailstream(vms, box);
if (ret == 0) {
imap_mailbox_name(mailbox, sizeof(mailbox), vms, NEW_FOLDER, 1);
imap_mailbox_name(mailbox, sizeof(mailbox), vms, box, 1);
ast_mutex_lock(&vms->lock);
if(!mail_append_full(vms->mailstream, mailbox, imap_flags, NIL, &str))
ast_log(LOG_ERROR, "Error while sending the message to %s\n", mailbox);

Loading…
Cancel
Save