From a795d02a3052e606bba21010702d8102a5226138 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Tue, 12 Jul 2005 01:34:16 +0000 Subject: [PATCH] update the password in memory as well when using externpass (bug #4602) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/v1-0@6094 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- CHANGES | 4 ++++ apps/app_voicemail.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 1f98a1082d..b215736fe4 100755 --- a/CHANGES +++ b/CHANGES @@ -11,6 +11,10 @@ -- app_meetme -- If the first caller into a conference hangs up while being prompted for the conference pin number, the conference will no longer be held open. + -- app_voicemail + -- When using the externpass option for voicemail, the password will be + immediately updated in memory as well, instead of having to wait for + the next time the configuration is reloaded. -- app_zapras -- We now ensure buffer policy is restored after RAS is done with a channel. This could cause audio problems on the channel after zapras is done diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index afe34b41c5..edd6843d90 100755 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -696,7 +696,8 @@ static void vm_change_password_shell(struct ast_vm_user *vmu, char *newpassword) { char buf[255]; snprintf(buf,255,"%s %s %s %s",ext_pass_cmd,vmu->context,vmu->mailbox,newpassword); - ast_safe_system(buf); + if (!ast_safe_system(buf)) + strncpy(vmu->password, newpassword, sizeof(vmu->password) - 1); } static int make_dir(char *dest, int len, char *context, char *ext, char *mailbox) @@ -3995,7 +3996,7 @@ static int load_config(void) zonesl = NULL; users = NULL; usersl = NULL; - memset(ext_pass_cmd, 0, sizeof(ext_pass_cmd) - 1); + memset(ext_pass_cmd, 0, sizeof(ext_pass_cmd)); if (cfg) { /* General settings */ -- 2.47.2