[Asterisk-cvs] asterisk/apps app_voicemail.c,1.143,1.144

markster at lists.digium.com markster at lists.digium.com
Sun Sep 5 14:28:58 CDT 2004


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

Modified Files:
	app_voicemail.c 
Log Message:
Fix some small voicemail password bugs (bug #2373)


Index: app_voicemail.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v
retrieving revision 1.143
retrieving revision 1.144
diff -u -d -r1.143 -r1.144
--- app_voicemail.c	3 Sep 2004 15:25:11 -0000	1.143
+++ app_voicemail.c	5 Sep 2004 18:31:50 -0000	1.144
@@ -589,6 +589,7 @@
 		char tmpin[AST_CONFIG_MAX_PATH];
 		char tmpout[AST_CONFIG_MAX_PATH];
 		char *user, *pass, *rest, *trim, *tempcontext;
+		struct stat statbuf;
 		tempcontext = NULL;
 		snprintf(tmpin, sizeof(tmpin), "%s/voicemail.conf", ast_config_AST_CONFIG_DIR);
 		snprintf(tmpout, sizeof(tmpout), "%s/voicemail.conf.new", ast_config_AST_CONFIG_DIR);
@@ -663,7 +664,7 @@
 				
 				/* Compare user, pass AND context */
 				if (user && *user && !strcmp(user, vmu->mailbox) &&
-					 pass && *pass && !strcmp(pass, vmu->password) &&
+					 pass && !strcmp(pass, vmu->password) &&
 					 currcontext && *currcontext && !strcmp(currcontext, vmu->context)) {
 					/* This is the line */
 					if (rest) {
@@ -680,6 +681,9 @@
         fclose(configin);
         fclose(configout);
 
+		stat((char *)tmpin, &statbuf);
+		chmod((char *)tmpout, statbuf.st_mode);
+		chown((char *)tmpout, statbuf.st_uid, statbuf.st_gid);
         unlink((char *)tmpin);
         rename((char *)tmpout,(char *)tmpin);
 	reset_user_pw(vmu->context, vmu->mailbox, newpassword);




More information about the svn-commits mailing list