mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Bug 6192 - behave correctly when mailbox is specified as argument
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@7955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -5645,10 +5645,10 @@ static int vm_box_exists(struct ast_channel *chan, void *data) | ||||
| static int vmauthenticate(struct ast_channel *chan, void *data) | ||||
| { | ||||
| 	struct localuser *u; | ||||
| 	char *s = data, *user=NULL, *context=NULL, mailbox[AST_MAX_EXTENSION]; | ||||
| 	char *s = data, *user=NULL, *context=NULL, mailbox[AST_MAX_EXTENSION] = ""; | ||||
| 	struct ast_vm_user vmus; | ||||
| 	char *options = NULL; | ||||
| 	int silent = 0; | ||||
| 	int silent = 0, skipuser = 0; | ||||
| 	int res = -1; | ||||
|  | ||||
| 	LOCAL_USER_ADD(u); | ||||
| @@ -5665,6 +5665,9 @@ static int vmauthenticate(struct ast_channel *chan, void *data) | ||||
| 			s = user; | ||||
| 			user = strsep(&s, "@"); | ||||
| 			context = strsep(&s, ""); | ||||
| 			if (!ast_strlen_zero(user)) | ||||
| 				skipuser++; | ||||
| 			ast_copy_string(mailbox, user, sizeof(mailbox)); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| @@ -5672,9 +5675,10 @@ static int vmauthenticate(struct ast_channel *chan, void *data) | ||||
| 		silent = (strchr(options, 's')) != NULL; | ||||
| 	} | ||||
|  | ||||
| 	if (!vm_authenticate(chan, mailbox, sizeof(mailbox), &vmus, context, NULL, 0, 3, silent)) { | ||||
| 	if (!vm_authenticate(chan, mailbox, sizeof(mailbox), &vmus, context, NULL, skipuser, 3, silent)) { | ||||
| 		pbx_builtin_setvar_helper(chan, "AUTH_MAILBOX", mailbox); | ||||
| 		pbx_builtin_setvar_helper(chan, "AUTH_CONTEXT", vmus.context); | ||||
| 		ast_play_and_wait(chan, "auth-thankyou"); | ||||
| 		res = 0; | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user