Commit 518df535 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 309796: Whining needs to check for shutdown (silently) before trying…

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
parent 3c457877
...@@ -49,6 +49,11 @@ use constant SHUTDOWNHTML_EXEMPT => [ ...@@ -49,6 +49,11 @@ use constant SHUTDOWNHTML_EXEMPT => [
'checksetup.pl', 'checksetup.pl',
]; ];
# Non-cgi scripts that should silently exit.
use constant SHUTDOWNHTML_EXIT_SILENTLY => [
'whine.pl'
];
##################################################################### #####################################################################
# Global Code # Global Code
##################################################################### #####################################################################
...@@ -62,6 +67,15 @@ use constant SHUTDOWNHTML_EXEMPT => [ ...@@ -62,6 +67,15 @@ use constant SHUTDOWNHTML_EXEMPT => [
if (Param("shutdownhtml") if (Param("shutdownhtml")
&& lsearch(SHUTDOWNHTML_EXEMPT, basename($0)) == -1) && 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. # For security reasons, log out users when Bugzilla is down.
# Bugzilla->login() is required to catch the logincookie, if any. # Bugzilla->login() is required to catch the logincookie, if any.
my $user = Bugzilla->login(LOGIN_OPTIONAL); my $user = Bugzilla->login(LOGIN_OPTIONAL);
......
...@@ -93,12 +93,6 @@ my $sth_schedules_by_event = $dbh->prepare( ...@@ -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 # After that, it looks over each user to see if they have schedules that need
# running, then runs those and generates the email messages. # 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 # Send whines from the address in the 'maintainer' Parameter so that all
# Bugzilla-originated mail appears to come from a single address. # Bugzilla-originated mail appears to come from a single address.
my $fromaddress = Param('maintainer'); my $fromaddress = Param('maintainer');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment