summaryrefslogtreecommitdiff
path: root/usr/local
diff options
context:
space:
mode:
authorroot <root@piny.svcs.cs.pdx.edu>2009-09-06 04:49:40 -0700
committerroot <root@piny.svcs.cs.pdx.edu>2009-09-06 04:49:40 -0700
commit814e7256e88a1e49e1a9f6d87b809f51f92317a5 (patch)
treedd5587ac3246c11b80a7f9da8c440d6b7c6192c1 /usr/local
parent1cbe6712d6ed474885480b07437b19d55eb95398 (diff)
downloadpiny-code-814e7256e88a1e49e1a9f6d87b809f51f92317a5.tar.gz
piny-code-814e7256e88a1e49e1a9f6d87b809f51f92317a5.zip
Reordering operations to make wikilist and cgitrc races marginally less racy.
Diffstat (limited to 'usr/local')
-rwxr-xr-xusr/local/sbin/newrepo4
-rwxr-xr-xusr/local/sbin/rmrepo4
2 files changed, 4 insertions, 4 deletions
diff --git a/usr/local/sbin/newrepo b/usr/local/sbin/newrepo
index 7988117..1545f48 100755
--- a/usr/local/sbin/newrepo
+++ b/usr/local/sbin/newrepo
@@ -203,8 +203,8 @@ print( WIKILIST "ikiwiki-$reponame /etc/ikiwiki/piny/$reponame.setup\n" ); # In
close( WIKILIST );
$wikilisttempfile = `/bin/mktemp`;
chomp( $wikilisttempfile );
-system( "/bin/cat /etc/ikiwiki/wikilist.d/* > $wikilisttempfile" );
chmod ( 0644, $wikilisttempfile );
+system( "/bin/cat /etc/ikiwiki/wikilist.d/* > $wikilisttempfile" );
system( "/bin/mv $wikilisttempfile /etc/ikiwiki/wikilist" ); # This is marginally racy, but the consequences are probably ignorable.
open ( CGITRC, ">/etc/cgitrc.d/$reponame" ); # Maybe someday cgit will support cgitrc.d.
@@ -218,8 +218,8 @@ repo.owner=$email
close( CGITRC );
$cgitrctempfile = `/bin/mktemp`;
chomp( $cgitrctempfile );
-system( "/bin/cat /etc/cgitrc.d/* > $cgitrctempfile" );
chmod ( 0644, $cgitrctempfile );
+system( "/bin/cat /etc/cgitrc.d/* > $cgitrctempfile" );
system( "/bin/mv $cgitrctempfile /etc/cgitrepos" ); # This is marginally racy, but the consequences are minor.
# COMPILE
diff --git a/usr/local/sbin/rmrepo b/usr/local/sbin/rmrepo
index 3905412..7c838ac 100755
--- a/usr/local/sbin/rmrepo
+++ b/usr/local/sbin/rmrepo
@@ -36,15 +36,15 @@ system( "/bin/chown -R nobody.nogroup /srv/git/$reponame.git" );
unlink( "/etc/ikiwiki/wikilist.d/$reponame" );
$wikilisttempfile = `/bin/mktemp`;
chomp ( $wikilisttempfile );
-system( "/bin/cat /etc/ikiwiki/wikilist.d/* > $wikilisttempfile" );
chmod ( 0644, $wikilisttempfile );
+system( "/bin/cat /etc/ikiwiki/wikilist.d/* > $wikilisttempfile" );
system( "/bin/mv $wikilisttempfile /etc/ikiwiki/wikilist" ); # This is marginally racy, but the consequences are probably ignorable.
unlink( "/etc/cgitrc.d/$reponame" );
$cgitrctempfile = `/bin/mktemp`;
chomp ( $cgitrctempfile );
-system( "/bin/cat /etc/cgitrc.d/* > $cgitrctempfile" );
chmod ( 0644, $cgitrctempfile );
+system( "/bin/cat /etc/cgitrc.d/* > $cgitrctempfile" );
system( "/bin/mv $cgitrctempfile /etc/cgitrepos" ); # This is marginally racy, but the consequences are probably ignorable.
system( "/bin/rm -r /srv/www/piny.svcs.cs.pdx.edu/$reponame" );