]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 186383 Checksetup leaves editor backups of localconfig accessible (revised)
authorbugreport%peshkin.net <>
Mon, 23 Dec 2002 09:49:07 +0000 (09:49 +0000)
committerbugreport%peshkin.net <>
Mon, 23 Dec 2002 09:49:07 +0000 (09:49 +0000)
r=jaypee
a=justdave

checksetup.pl

index 18b45dda5a469b54d1563f85599eb91c25e9f8a8..a79b78a0d6bd909a3ce1c2e99e00d28d3f3dde50 100755 (executable)
@@ -820,12 +820,35 @@ if ($my_create_htaccess) {
     open HTACCESS, ">.htaccess";
     print HTACCESS <<'END';
 # don't allow people to retrieve non-cgi executable files or our private data
-<FilesMatch ^(.*\.pl|localconfig|processmail|runtests.sh)$>
+<FilesMatch ^(.*\.pl|.*localconfig.*|processmail|runtests.sh)$>
   deny from all
 </FilesMatch>
+<FilesMatch ^(localconfig.js|localconfig.rdf)$>
+  allow from all
+</FilesMatch>
 END
     close HTACCESS;
     chmod $fileperm, ".htaccess";
+  } else {
+    # 2002-12-21 Bug 186383
+    open HTACCESS, ".htaccess";
+    my $oldaccess = "";
+    while (<HTACCESS>) {
+      $oldaccess .= $_;
+    }
+    close HTACCESS;
+    if ($oldaccess =~ s/\|localconfig\|/\|.*localconfig.*\|/) {
+      print "Repairing .htaccess...\n";
+      open HTACCESS, ">.htaccess";
+      print HTACCESS $oldaccess;
+      print HTACCESS <<'END';
+<FilesMatch ^(localconfig.js|localconfig.rdf)$>
+  allow from all
+</FilesMatch>
+END
+      close HTACCESS;
+    }
+
   }
   if (!-e "Bugzilla/.htaccess") {
     print "Creating Bugzilla/.htaccess...\n";