On Fri, Jun 10, 2005 at 01:37:09AM -0400, Andres Junge wrote: > Package: asterisk > Version: 1:1.0.7.dfsg.1-2 > Severity: important > > > When one is using the externpass option in voicemail.conf, it does call > the application but it does not change the vm password internaly. > Looking at the source code (apps/app_voicemail.c) in function > vm_change_password_shell() the function reset_user_pw() is not called, > so the password in the linked list is not updated, one needs to reload > the application for the chage to take effect.
Reset all passwords for just one password change? Maybe always run vm_change_password and run the _shell (if the parameter was set) after that? dpatch attached. -- Tzafrir Cohen icq#16849755 +972-50-7952406 [EMAIL PROTECTED] http://www.xorcom.com
#! /bin/sh /usr/share/dpatch/dpatch-run ## vm_password_cmd.dpatch by Xorcom Ltd. (software releases key) <[EMAIL PROTECTED]> ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: When using an external script for setting the password, change the ## DP: current password app_voicemail knows as well. @DPATCH@ diff -urNad asterisk-1.0.8.dfsg.1/apps/app_voicemail.c /tmp/dpep.KU2tuq/asterisk-1.0.8.dfsg.1/apps/app_voicemail.c --- asterisk-1.0.8.dfsg.1/apps/app_voicemail.c 2005-06-26 00:24:13.000000000 +0300 +++ /tmp/dpep.KU2tuq/asterisk-1.0.8.dfsg.1/apps/app_voicemail.c 2005-06-26 00:26:17.000000000 +0300 @@ -3172,10 +3172,10 @@ cmd = ast_play_and_wait(chan, "vm-mismatch"); break; } - if(ast_strlen_zero(ext_pass_cmd)) - vm_change_password(vmu,newpassword); - else + vm_change_password(vmu,newpassword); + if(! ast_strlen_zero(ext_pass_cmd)) { vm_change_password_shell(vmu,newpassword); + } ast_log(LOG_DEBUG,"User %s set password to %s of length %i\n",vms->username,newpassword,(int)strlen(newpassword)); cmd = ast_play_and_wait(chan,"vm-passchanged"); break;