diff options
-rw-r--r-- | Bugzilla/DB/Schema/Oracle.pm | 20 | ||||
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 5 | ||||
-rw-r--r-- | docs/en/xml/administration.xml | 62 | ||||
-rw-r--r-- | mod_perl.pl | 3 | ||||
-rwxr-xr-x | userprefs.cgi | 18 |
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 }); |