From 2bdce17b5a39ce2fd78bd1278b92768a046ddcb3 Mon Sep 17 00:00:00 2001 From: Matthew Fredrickson <creslin@digium.com> Date: Tue, 10 May 2005 19:05:50 +0000 Subject: [PATCH] Fix to bug 4118 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5620 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_voicemail.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index c087e7de38..43c9061303 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -4409,6 +4409,14 @@ static int vm_authenticate(struct ast_channel *chan, char *mailbox, int mailbox_ } if (useadsi) adsi_password(chan); + + if (prefix && !ast_strlen_zero(prefix)) { + char fullusername[80] = ""; + strncpy(fullusername, prefix, sizeof(fullusername) - 1); + strncat(fullusername, mailbox, sizeof(fullusername) - 1 - strlen(fullusername)); + strncpy(mailbox, fullusername, mailbox_size - 1); + } + vmu = find_user(&vmus, context, mailbox); if (vmu && (vmu->password[0] == '\0' || (vmu->password[0] == '-' && vmu->password[1] == '\0'))) { /* saved password is blank, so don't bother asking */ @@ -4423,12 +4431,7 @@ static int vm_authenticate(struct ast_channel *chan, char *mailbox, int mailbox_ return -1; } } - if (prefix && !ast_strlen_zero(prefix)) { - char fullusername[80] = ""; - strncpy(fullusername, prefix, sizeof(fullusername) - 1); - strncat(fullusername, mailbox, sizeof(fullusername) - 1 - strlen(fullusername)); - strncpy(mailbox, fullusername, mailbox_size - 1); - } + if (vmu) { passptr = vmu->password; if (passptr[0] == '-') passptr++; -- GitLab