Bug 309796: Whining needs to check for shutdown (silently) before trying database access - Patch by Frédéric Buclin <LpSolit@gmail.com> r=joel a=justdave

git-svn-id: svn://10.0.0.236/trunk@181728 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com
2005-10-06 20:54:49 +00:00
parent 6be8a67156
commit 8592cb4ff0
2 changed files with 14 additions and 6 deletions

View File

@@ -49,6 +49,11 @@ use constant SHUTDOWNHTML_EXEMPT => [
'checksetup.pl',
];
# Non-cgi scripts that should silently exit.
use constant SHUTDOWNHTML_EXIT_SILENTLY => [
'whine.pl'
];
#####################################################################
# Global Code
#####################################################################
@@ -62,6 +67,15 @@ use constant SHUTDOWNHTML_EXEMPT => [
if (Param("shutdownhtml")
&& lsearch(SHUTDOWNHTML_EXEMPT, basename($0)) == -1)
{
# Allow non-cgi scripts to exit silently (without displaying any
# message), if desired. At this point, no DBI call has been made
# yet, and no error will be returned if the DB is inaccessible.
if (lsearch(SHUTDOWNHTML_EXIT_SILENTLY, basename($0)) > -1
&& !i_am_cgi())
{
exit;
}
# For security reasons, log out users when Bugzilla is down.
# Bugzilla->login() is required to catch the logincookie, if any.
my $user = Bugzilla->login(LOGIN_OPTIONAL);

View File

@@ -93,12 +93,6 @@ my $sth_schedules_by_event = $dbh->prepare(
# After that, it looks over each user to see if they have schedules that need
# running, then runs those and generates the email messages.
# exit quietly if the system is shut down
if (Param('shutdownhtml')) {
exit;
}
# Send whines from the address in the 'maintainer' Parameter so that all
# Bugzilla-originated mail appears to come from a single address.
my $fromaddress = Param('maintainer');