cluster: RHEL56 - fence_egenera: insecure temporary file

Lon Hohberger lon at fedoraproject.org
Fri Dec 10 16:15:38 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=c64fc3e1d5e8f9d92463c5bd500045e3cdf467db
Commit:        c64fc3e1d5e8f9d92463c5bd500045e3cdf467db
Parent:        4b3e4e9e0a98a35216f717eb369fbad479596503
Author:        Marek 'marx' Grac <mgrac at redhat.com>
AuthorDate:    Sun Dec 20 13:54:19 2009 +0100
Committer:     Lon Hohberger <lhh at redhat.com>
CommitterDate: Fri Dec 10 11:12:11 2010 -0500

fence_egenera: insecure temporary file

This is a modification of commit
  1441b5d066bc362b44573bee69d793403067ef2e

Log directory changed to /var/log since users often
use /var/log/cluster as a log file on RHEL5 for
debugging.

Resolves: rhbz#659090

Signed-off-by: Lon Hohberger <lhh at redhat.com>
Reviewed-by: Fabio M. Di Nitto <fdinitto at redhat.com>
---
 fence/agents/egenera/Makefile         |    7 +++++++
 fence/agents/egenera/fence_egenera.pl |    6 +++---
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/fence/agents/egenera/Makefile b/fence/agents/egenera/Makefile
index 7158702..2a55978 100644
--- a/fence/agents/egenera/Makefile
+++ b/fence/agents/egenera/Makefile
@@ -14,6 +14,11 @@
 SOURCE= fence_egenera.pl
 TARGET= fence_egenera
 
+# Use /var/log/fence_egenera.log since we can't guarantee that
+# /var/log/cluster is not a user's log file BZ#659090
+LOGDIR= /var/log
+
+
 top_srcdir=../..
 include ${top_srcdir}/make/defines.mk
 
@@ -26,6 +31,7 @@ fence_egenera: fence_egenera.pl
 	${top_srcdir}/scripts/define2var ${top_srcdir}/config/copyright.cf perl REDHAT_COPYRIGHT >> $(TARGET)
 	echo "\$$BUILD_DATE=\"(built `date`)\";" >> $(TARGET)
 	awk -v p=0 "(\$$1 ~ /#END_VERSION_GENERATION/){p = 1} {if(p==1)print}" $(SOURCE) >> $(TARGET)
+	sed -ie 's#@''LOGDIR@#${LOGDIR}#g' $(TARGET)
 	chmod +x $(TARGET)
 
 install: all
@@ -33,6 +39,7 @@ install: all
 		install -d ${sbindir}; \
 	fi
 	install -m755 ${TARGET} ${sbindir}
+	install -d ${DESTDIR}/${LOGDIR}
 
 clean:
 	rm -f $(TARGET)
diff --git a/fence/agents/egenera/fence_egenera.pl b/fence/agents/egenera/fence_egenera.pl
index 441223a..e863c90 100755
--- a/fence/agents/egenera/fence_egenera.pl
+++ b/fence/agents/egenera/fence_egenera.pl
@@ -311,9 +311,9 @@ sub pserver_boot
 sub pserver_shutdown
 {
 	my $rtrn=1;
-        local *egen_log;
-        open(egen_log,">>/tmp/eglog");
-  print egen_log "Attempting shutdown at ".`date`."\n";
+	local *egen_log;
+	open(egen_log,">>/@LOGDIR@/fence_egenera.log");
+	print egen_log "Attempting shutdown at ".`date`."\n";
 	for (my $trys=0; $trys<20; $trys++)
 	{
 		last if (pserver_status != 0);


More information about the cluster-commits mailing list