[Asterisk-cvs] asterisk/apps app_voicemail.c,1.179,1.180

markster at lists.digium.com markster at lists.digium.com
Wed Dec 15 17:52:57 CST 2004


Update of /usr/cvsroot/asterisk/apps
In directory mongoose.digium.com:/tmp/cvs-serv32549/apps

Modified Files:
	app_voicemail.c 
Log Message:
Don't let you change your password to '#' (bug #3066)


Index: app_voicemail.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -d -r1.179 -r1.180
--- app_voicemail.c	12 Dec 2004 04:52:24 -0000	1.179
+++ app_voicemail.c	15 Dec 2004 22:49:37 -0000	1.180
@@ -3930,6 +3930,8 @@
 	   so they won't get here again */
 	newpassword[1] = '\0';
 	newpassword[0] = cmd = ast_play_and_wait(chan,"vm-newpassword");
+	if (cmd == '#')
+		newpassword[0] = '\0';
 	if (cmd < 0 || cmd == 't' || cmd == '#')
 		return cmd;
 	cmd = ast_readstring(chan,newpassword + strlen(newpassword),sizeof(newpassword)-1,2000,10000,"#");
@@ -3937,6 +3939,8 @@
 		return cmd;
 	newpassword2[1] = '\0';
 	newpassword2[0] = cmd = ast_play_and_wait(chan,"vm-reenterpassword");
+	if (cmd == '#')
+		newpassword2[0] = '\0';
 	if (cmd < 0 || cmd == 't' || cmd == '#')
 		return cmd;
 	cmd = ast_readstring(chan,newpassword2 + strlen(newpassword2),sizeof(newpassword2)-1,2000,10000,"#");
@@ -4022,18 +4026,26 @@
 			}
 			newpassword[1] = '\0';
 			newpassword[0] = cmd = ast_play_and_wait(chan,"vm-newpassword");
-			if (cmd < 0)
-				break;
-			if ((cmd = ast_readstring(chan,newpassword + strlen(newpassword),sizeof(newpassword)-1,2000,10000,"#")) < 0) {
-				break;
+			if (cmd == '#')
+				newpassword[0] = '\0';
+			else {
+				if (cmd < 0)
+					break;
+				if ((cmd = ast_readstring(chan,newpassword + strlen(newpassword),sizeof(newpassword)-1,2000,10000,"#")) < 0) {
+					break;
+				}
 			}
 			newpassword2[1] = '\0';
 			newpassword2[0] = cmd = ast_play_and_wait(chan,"vm-reenterpassword");
-			if (cmd < 0)
-				break;
+			if (cmd == '#')
+				newpassword2[0] = '\0';
+			else {
+				if (cmd < 0)
+					break;
 
-			if ((cmd = ast_readstring(chan,newpassword2 + strlen(newpassword2),sizeof(newpassword2)-1,2000,10000,"#"))) {
-				break;
+				if ((cmd = ast_readstring(chan,newpassword2 + strlen(newpassword2),sizeof(newpassword2)-1,2000,10000,"#"))) {
+					break;
+				}
 			}
 			if (strcmp(newpassword, newpassword2)) {
 				ast_log(LOG_NOTICE,"Password mismatch for user %s (%s != %s)\n", vms->username, newpassword, newpassword2);




More information about the svn-commits mailing list