Date: Fri, 1 Dec 2000 17:06:20 -0500 From: Chris Faulhaber <jedgar@fxp.org> To: Mike Heffner <mheffner@vt.edu> Cc: FreeBSD-audit <FreeBSD-audit@freebsd.org> Subject: Re: manctl(8) tempfile fix Message-ID: <20001201170620.A20094@earth.causticlabs.com> In-Reply-To: <XFMail.20001201015223.mheffner@vt.edu>; from mheffner@vt.edu on Fri, Dec 01, 2000 at 01:52:23AM -0500 References: <XFMail.20001201015223.mheffner@vt.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 01, 2000 at 01:52:23AM -0500, Mike Heffner wrote: > This patch changes manctl(8) to use mktemp rather than shell pid substitution > for tempfile names. Reviews? > > > --- manctl.sh.orig Fri Dec 1 01:24:35 2000 > +++ manctl.sh Fri Dec 1 01:42:39 2000 > @@ -94,12 +94,13 @@ > else > if [ $2 != "symbolic" ] ; then > echo gunzipping page $pname 1>&2 > - gunzip -c $pname > /tmp/manager.$$ > + temp=`mktemp /tmp/managerXXXXXXXXXX` || exit 1 It might be better with: temp='mktemp -t manager` || exit 1 allowing mktemp(1) to use the user's TMPDIR or system's _PATH_TMP instead of hardcoding /tmp... > + gunzip -c $pname > $temp > chmod u+w $pname > - cp /tmp/manager.$$ $pname > + cp $temp $pname > chmod 444 $pname > mv $pname $fname.$sect > - rm /tmp/manager.$$ > + rm -f $temp > else > # skip symlinks - this can be > # a program like expn, which is > @@ -180,11 +181,13 @@ > ln ../$2 $fname > else > echo inlining page $fname 1>&2 > + temp=`mktemp /tmp/managerXXXXXXXXXX` || exit 1 > cat $fname | \ ...see above... > - (cd .. ; soelim ) > /tmp/manager.$$ > + (cd .. ; soelim ) > $temp > chmod u+w $fname > - cp /tmp/manager.$$ $fname > + cp $temp $fname > chmod 444 $fname > + rm -f $temp > fi > } > > @@ -279,13 +282,14 @@ > else > if [ $2 != "symbolic" ] ; then > echo gzipping page $pname 1>&2 > + temp=`mktemp /tmp/managerXXXXXXXXXX` || exit 1 > cat $pname | \ ...see above... > - (cd .. ; soelim )| gzip -c -- > /tmp/manager.$$ > + (cd .. ; soelim )| gzip -c -- > $temp > chmod u+w $pname > - cp /tmp/manager.$$ $pname > + cp $temp $pname > chmod 444 $pname > mv $pname $pname.gz > - rm /tmp/manager.$$ > + rm -f $temp > else > # skip symlink - this can be > # a program like expn, which is > ...otherwise, looks ok -- Chris D. Faulhaber - jedgar@fxp.org - jedgar@FreeBSD.org -------------------------------------------------------- FreeBSD: The Power To Serve - http://www.FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001201170620.A20094>