summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/DB/Schema/Oracle.pm20
-rw-r--r--Bugzilla/Install/Requirements.pm5
-rw-r--r--docs/en/xml/administration.xml62
-rw-r--r--mod_perl.pl3
-rwxr-xr-xuserprefs.cgi18
5 files changed, 95 insertions, 13 deletions
diff --git a/Bugzilla/DB/Schema/Oracle.pm b/Bugzilla/DB/Schema/Oracle.pm
index cdc39409d..f2d5b8be0 100644
--- a/Bugzilla/DB/Schema/Oracle.pm
+++ b/Bugzilla/DB/Schema/Oracle.pm
@@ -386,13 +386,31 @@ sub get_rename_table_sql {
}
if ($def->{TYPE} =~ /varchar|text/i && $def->{NOTNULL}) {
push(@sql, _get_notnull_trigger_ddl($new_name, $column));
- push(@sql, "DROP TRIGGER ${$old_name}_${column}");
+ push(@sql, "DROP TRIGGER ${old_name}_${column}");
}
}
return @sql;
}
+sub get_drop_table_ddl {
+ my ($self, $name) = @_;
+ my @sql;
+
+ my @columns = $self->get_table_columns($name);
+ foreach my $column (@columns) {
+ my $def = $self->get_column_abstract($name, $column);
+ if ($def->{TYPE} =~ /SERIAL/i) {
+ # If there's a SERIAL column on this table, we also need
+ # to remove the sequence.
+ push(@sql, "DROP SEQUENCE ${name}_${column}_SEQ");
+ }
+ }
+ push(@sql, "DROP TABLE $name CASCADE CONSTRAINTS PURGE");
+
+ return @sql;
+}
+
sub _get_notnull_trigger_ddl {
my ($table, $column) = @_;
diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm
index ef4bf3d22..1e7fc97c6 100644
--- a/Bugzilla/Install/Requirements.pm
+++ b/Bugzilla/Install/Requirements.pm
@@ -358,9 +358,8 @@ sub OPTIONAL_MODULES {
{
package => 'Apache-SizeLimit',
module => 'Apache2::SizeLimit',
- # 0.93 fixes problems on Linux and Windows, and changes the
- # syntax used by SizeLimit.
- version => '0.93',
+ # 0.96 properly determines process size on Linux.
+ version => '0.96',
feature => ['mod_perl'],
},
);
diff --git a/docs/en/xml/administration.xml b/docs/en/xml/administration.xml
index 46346bf7d..111fc8bad 100644
--- a/docs/en/xml/administration.xml
+++ b/docs/en/xml/administration.xml
@@ -766,6 +766,68 @@
<varlistentry>
<term>
+ smtpserver
+ </term>
+ <listitem>
+ <para>
+ This is the SMTP server address, if the <quote>mail_delivery_method</quote>
+ parameter is set to SMTP. Use "localhost" if you have a local MTA
+ running, otherwise use a remote SMTP server. Append ":" and the port
+ number, if a non-default port is needed.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ smtp_username
+ </term>
+ <listitem>
+ <para>
+ Username to use for SASL authentication to the SMTP server. Leave
+ this parameter empty if your server does not require authentication.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ smtp_password
+ </term>
+ <listitem>
+ <para>
+ Password to use for SASL authentication to the SMTP server. This
+ parameter will be ignored if the <quote>smtp_username</quote>
+ parameter is left empty.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ smtp_ssl
+ </term>
+ <listitem>
+ <para>
+ Enable SSL support for connection to the SMTP server.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ smtp_debug
+ </term>
+ <listitem>
+ <para>
+ This parameter allows you to enable detailed debugging output.
+ Log messages are printed the web server's error log.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
whinedays
</term>
<listitem>
diff --git a/mod_perl.pl b/mod_perl.pl
index 34c2c4c26..25169a849 100644
--- a/mod_perl.pl
+++ b/mod_perl.pl
@@ -59,7 +59,8 @@ Bugzilla::CGI->compile(qw(:cgi :push));
use Apache2::SizeLimit;
# This means that every httpd child will die after processing
-# a CGI if it is taking up too much RAM.
+# a CGI if it is taking up more than 100MB of RAM all by itself,
+# not counting RAM it is sharing with the other httpd processes.
Apache2::SizeLimit->set_max_unshared_size(100_000);
my $cgi_path = Bugzilla::Constants::bz_locations()->{'cgi_path'};
diff --git a/userprefs.cgi b/userprefs.cgi
index 94fe1def2..f0d5a8e53 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -514,6 +514,16 @@ check_token_data($token, 'edit_user_prefs') if $save_changes;
# Do any saving, and then display the current tab.
SWITCH: for ($current_tab_name) {
+
+ # Extensions must set it to 1 to confirm the tab is valid.
+ my $handled = 0;
+ Bugzilla::Hook::process('user_preferences',
+ { 'vars' => $vars,
+ save_changes => $save_changes,
+ current_tab => $current_tab_name,
+ handled => \$handled });
+ last SWITCH if $handled;
+
/^account$/ && do {
SaveAccount() if $save_changes;
DoAccount();
@@ -538,14 +548,6 @@ SWITCH: for ($current_tab_name) {
DoSavedSearches();
last SWITCH;
};
- # Extensions must set it to 1 to confirm the tab is valid.
- my $handled = 0;
- Bugzilla::Hook::process('user_preferences',
- { 'vars' => $vars,
- save_changes => $save_changes,
- current_tab => $current_tab_name,
- handled => \$handled });
- last SWITCH if $handled;
ThrowUserError("unknown_tab",
{ current_tab_name => $current_tab_name });