cluster: RHEL4 - fence_egenera: Fix insecure use of temporary file in fence_egenera

Marek Grác marx at fedoraproject.org
Fri Jan 22 12:56:51 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=6df7df354ab5282061fa11367a1f6e42209f43c5
Commit:        6df7df354ab5282061fa11367a1f6e42209f43c5
Parent:        97831cc57da79f145c9725a2a79a27f8ff45de4f
Author:        Marek 'marx' Grac <mgrac at redhat.com>
AuthorDate:    Fri Jan 22 13:53:01 2010 +0100
Committer:     Marek 'marx' Grac <mgrac at redhat.com>
CommitterDate: Fri Jan 22 13:55:38 2010 +0100

fence_egenera: Fix insecure use of temporary file in fence_egenera

Last security problem in fence_ack_manual won't be fixed as it is not supported in production environment.

Resolves rhbz#519689
---
 fence/agents/egenera/Makefile         |    3 +++
 fence/agents/egenera/fence_egenera.pl |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fence/agents/egenera/Makefile b/fence/agents/egenera/Makefile
index cf254c5..a5f9215 100644
--- a/fence/agents/egenera/Makefile
+++ b/fence/agents/egenera/Makefile
@@ -13,6 +13,7 @@
 
 SOURCE= fence_egenera.pl
 TARGET= fence_egenera
+LOGDIR= /var/log/cluster
 
 top_srcdir=../..
 include ${top_srcdir}/make/defines.mk
@@ -26,9 +27,11 @@ 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)
 
 copytobin: ${TARGET}
+	install -d ${DESTDIR}/${LOGDIR}
 	cp ${TARGET} ${top_srcdir}/bin/${TARGET}
 
 clean:
diff --git a/fence/agents/egenera/fence_egenera.pl b/fence/agents/egenera/fence_egenera.pl
index b65ad3e..1c75090 100755
--- a/fence/agents/egenera/fence_egenera.pl
+++ b/fence/agents/egenera/fence_egenera.pl
@@ -304,7 +304,7 @@ sub pserver_shutdown
 {
 	my $rtrn=1;
         local *egen_log;
-        open(egen_log,">>/tmp/eglog");
+        open(egen_log,">>/@LOGDIR@/eglog");
   print egen_log "Attempting shutdown at ".`date`."\n";
 	for (my $trys=0; $trys<20; $trys++)
 	{


More information about the cluster-commits mailing list