From 1f538ad219ef5abf2b38cd045f84279744f4c951 Mon Sep 17 00:00:00 2001
From: Josh Roberson <josh@asteriasgi.com>
Date: Wed, 30 Nov 2005 03:35:24 +0000
Subject: [PATCH] issue #5887

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 ChangeLog            | 4 ++++
 UPGRADE.txt          | 4 ++++
 apps/app_voicemail.c | 8 ++++++--
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d88e4583c2..376f200be1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-11-29  Josh Roberson <josh@asteriasgi.com>
+	
+	* apps/app_voicemail.c: Only look in 'default' context when no context defined to VoiceMailMain(). (issue #5887)
+
 2005-11-25  Russell Bryant  <russell@digium.com>
 
 	* apps/app_dial.c: Properly duplicate the string for ANI (issue #5850)
diff --git a/UPGRADE.txt b/UPGRADE.txt
index b17b16ddec..db9eab8455 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -131,6 +131,10 @@ Applications:
   'mailbox options' menu, and 'change your password' option has been
   moved to option 5.
 
+* The application VoiceMailMain now only matches the 'default' context if
+  none is specified in the arguments.  (This was the previously 
+  documented behavior, however, we didn't follow that behavior.)
+
 Queues:
 
 * A queue is now considered empty not only if there are no members but if
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 2f9c515c84..2dab9fac0f 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -573,8 +573,12 @@ static struct ast_vm_user *find_user(struct ast_vm_user *ivm, const char *contex
 	struct ast_vm_user *vmu=NULL, *cur;
 	ast_mutex_lock(&vmlock);
 	cur = users;
+
+	if (!context)
+		context = "default";
+
 	while (cur) {
-		if ((!context || !strcasecmp(context, cur->context)) &&
+		if ((!strcasecmp(context, cur->context)) &&
 			(!strcasecmp(mailbox, cur->mailbox)))
 				break;
 		cur=cur->next;
@@ -4985,7 +4989,7 @@ static int vm_authenticate(struct ast_channel *chan, char *mailbox, int mailbox_
 			valid++;
 		else {
 			if (option_verbose > 2)
-				ast_verbose( VERBOSE_PREFIX_3 "Incorrect password '%s' for user '%s' (context = %s)\n", password, mailbox, context ? context : "<any>");
+				ast_verbose( VERBOSE_PREFIX_3 "Incorrect password '%s' for user '%s' (context = %s)\n", password, mailbox, context ? context : "default");
 			if (!ast_strlen_zero(prefix))
 				mailbox[0] = '\0';
 		}
-- 
GitLab