diff options
Diffstat (limited to 'sanitycheck.cgi')
-rwxr-xr-x | sanitycheck.cgi | 60 |
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}) { |