File fix_file_permissions.patch of Package ipmitool

diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs -x Makefile -x Makefile.in ../orig-ipmitool-1.8.12/lib/helper.c ./lib/helper.c
--- ../orig-ipmitool-1.8.12/lib/helper.c	2012-08-03 19:07:07.000000000 +0200
+++ ./lib/helper.c	2013-02-28 13:46:20.139280500 +0100
@@ -593,7 +593,6 @@
 #endif
 
 	chdir("/");
-	umask(0);
 
 	for (fd=0; fd<64; fd++) {
 		if (fd != intf->fd)
diff -wruN -x '*~' -x '*.o' -x '*.a' -x '*.so' -x '*.so.[0-9]' -x autom4te.cache -x .deps -x .libs -x Makefile -x Makefile.in ../orig-ipmitool-1.8.12/src/ipmievd.c ./src/ipmievd.c
--- ../orig-ipmitool-1.8.12/src/ipmievd.c	2012-05-01 18:59:23.000000000 +0200
+++ ./src/ipmievd.c	2013-02-28 13:47:23.777788780 +0100
@@ -691,6 +691,7 @@
 	int i, rc;
 	int daemon = 1;
 	struct sigaction act;
+	mode_t oldumask;
 
 	memset(pidfile, 0, 64);
 	sprintf(pidfile, "%s%d", DEFAULT_PIDFILE, eintf->intf->devnum);
@@ -752,8 +753,9 @@
 
 		ipmi_start_daemon(eintf->intf);
 
-		umask(022);
+		oldumask = umask(022);
 		fp = ipmi_open_file_write(pidfile);
+		umask(oldumask);
 		if (fp == NULL) {
 			/* Failed to get fp on PID file -> exit. */
 			log_halt();
openSUSE Build Service is sponsored by