summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsanitycheck.cgi60
1 files changed, 32 insertions, 28 deletions
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index bd931c03c..79864964b 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -29,26 +29,9 @@ require "CGI.pl";
use vars qw(%FORM $unconfirmedstate);
-ConnectToDatabase();
-
-confirm_login();
-
-# Make sure the user is authorized to access sanitycheck.cgi. Access
-# is restricted to logged-in users who have "editbugs" privileges,
-# which is a reasonable compromise between allowing all users to access
-# the script (creating the potential for denial of service attacks)
-# and restricting access to this installation's administrators (which
-# prevents users with a legitimate interest in Bugzilla integrity
-# from accessing the script).
-UserInGroup("editbugs")
- || DisplayError("You are not authorized to access this script,
- which is reserved for users with the ability to edit bugs.")
- && exit;
-
-print "Content-type: text/html\n";
-print "\n";
-
-my $offervotecacherebuild = 0;
+###########################################################################
+# General subs
+###########################################################################
sub Status {
my ($str) = (@_);
@@ -65,17 +48,30 @@ sub BugLink {
return "<a href=\"show_bug.cgi?id=$id\">$id</a>";
}
-sub AlertBadVoteCache {
- my ($id) = (@_);
- Alert("Bad vote cache for bug " . BugLink($id));
- $offervotecacherebuild = 1;
-}
+###########################################################################
+# Start
+###########################################################################
-my @badbugs;
+ConnectToDatabase();
+confirm_login();
+
+# Make sure the user is authorized to access sanitycheck.cgi. Access
+# is restricted to logged-in users who have "editbugs" privileges,
+# which is a reasonable compromise between allowing all users to access
+# the script (creating the potential for denial of service attacks)
+# and restricting access to this installation's administrators (which
+# prevents users with a legitimate interest in Bugzilla integrity
+# from accessing the script).
+UserInGroup("editbugs")
+ || DisplayError("You are not authorized to access this script,
+ which is reserved for users with the ability to edit bugs.")
+ && exit;
+
+print "Content-type: text/html\n";
+print "\n";
my @row;
-my @checklist;
PutHeader("Bugzilla Sanity Check");
@@ -354,6 +350,14 @@ while (my ($id,$email) = (FetchSQLData())) {
# Perform vote/keyword cache checks
###########################################################################
+my $offervotecacherebuild = 0;
+
+sub AlertBadVoteCache {
+ my ($id) = (@_);
+ Alert("Bad vote cache for bug " . BugLink($id));
+ $offervotecacherebuild = 1;
+}
+
SendSQL("SELECT bug_id,votes,keywords FROM bugs " .
"WHERE votes != 0 OR keywords != ''");
@@ -456,7 +460,7 @@ while (1) {
push(@list, $k);
}
-@badbugs = ();
+my @badbugs = ();
foreach my $b (keys(%keyword)) {
if (!exists $realk{$b} || $realk{$b} ne $keyword{$b}) {