[asterisk-commits] tilghman: branch 1.6.2 r218733 - in /branches/1.6.2: ./ apps/app_voicemail.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Sep 15 17:46:46 CDT 2009
Author: tilghman
Date: Tue Sep 15 17:46:41 2009
New Revision: 218733
URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=218733
Log:
Merged revisions 218731 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
................
r218731 | tilghman | 2009-09-15 17:33:10 -0500 (Tue, 15 Sep 2009) | 13 lines
Merged revisions 218730 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r218730 | tilghman | 2009-09-15 17:27:41 -0500 (Tue, 15 Sep 2009) | 6 lines
If the user enters the same password as before, don't signal an error when the change does nothing.
(closes issue #15492)
Reported by: cbbs70a
Patches:
20090713__issue15492.diff.txt uploaded by tilghman (license 14)
........
................
Modified:
branches/1.6.2/ (props changed)
branches/1.6.2/apps/app_voicemail.c
Propchange: branches/1.6.2/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.
Modified: branches/1.6.2/apps/app_voicemail.c
URL: http://svn.asterisk.org/svn-view/asterisk/branches/1.6.2/apps/app_voicemail.c?view=diff&rev=218733&r1=218732&r2=218733
==============================================================================
--- branches/1.6.2/apps/app_voicemail.c (original)
+++ branches/1.6.2/apps/app_voicemail.c Tue Sep 15 17:46:41 2009
@@ -1061,28 +1061,27 @@
* \param vmu The voicemail user to change the password for.
* \param password The new value to be set to the password for this user.
*
- * This only works if the voicemail user has a unique id, and if there is a realtime engine configured.
+ * This only works if there is a realtime engine configured.
* This is called from the (top level) vm_change_password.
*
* \return zero on success, -1 on error.
*/
static int change_password_realtime(struct ast_vm_user *vmu, const char *password)
{
- int res;
- if (!ast_strlen_zero(vmu->uniqueid)) {
- if (strlen(password) > 10) {
- ast_realtime_require_field("voicemail", "password", RQ_CHAR, strlen(password), SENTINEL);
- }
- res = ast_update2_realtime("voicemail", "context", vmu->context, "mailbox", vmu->mailbox, SENTINEL, "password", password, SENTINEL);
- if (res > 0) {
- ast_copy_string(vmu->password, password, sizeof(vmu->password));
- res = 0;
- } else if (!res) {
- res = -1;
- }
- return res;
- }
- return -1;
+ int res = -1;
+ if (!strcmp(vmu->password, password)) {
+ /* No change (but an update would return 0 rows updated, so we opt out here) */
+ return 0;
+ }
+
+ if (strlen(password) > 10) {
+ ast_realtime_require_field("voicemail", "password", RQ_CHAR, strlen(password), SENTINEL);
+ }
+ if (ast_update2_realtime("voicemail", "context", vmu->context, "mailbox", vmu->mailbox, SENTINEL, "password", password, SENTINEL) > 0) {
+ ast_copy_string(vmu->password, password, sizeof(vmu->password));
+ res = 0;
+ }
+ return res;
}
/*!
More information about the asterisk-commits
mailing list