Commit d9a39044 authored by Frédéric Buclin's avatar Frédéric Buclin

Bug 466419: Add SSL support for SMTP

r/a=mkanat
parent 3a8142ae
...@@ -51,7 +51,7 @@ use base qw(Exporter); ...@@ -51,7 +51,7 @@ use base qw(Exporter);
check_user_verify_class check_user_verify_class
check_mail_delivery_method check_notification check_utf8 check_mail_delivery_method check_notification check_utf8
check_bug_status check_smtp_auth check_theschwartz_available check_bug_status check_smtp_auth check_theschwartz_available
check_maxattachmentsize check_email check_maxattachmentsize check_email check_smtp_ssl
); );
# Checking functions for the various values # Checking functions for the various values
...@@ -350,6 +350,14 @@ sub check_smtp_auth { ...@@ -350,6 +350,14 @@ sub check_smtp_auth {
return ""; return "";
} }
sub check_smtp_ssl {
my $use_ssl = shift;
if ($use_ssl && !Bugzilla->feature('smtp_ssl')) {
return "SSL support is not available. Run checksetup.pl for more details";
}
return "";
}
sub check_theschwartz_available { sub check_theschwartz_available {
my $use_queue = shift; my $use_queue = shift;
if ($use_queue && !Bugzilla->feature('jobqueue')) { if ($use_queue && !Bugzilla->feature('jobqueue')) {
......
...@@ -81,6 +81,12 @@ sub get_param_list { ...@@ -81,6 +81,12 @@ sub get_param_list {
default => '' default => ''
}, },
{ {
name => 'smtp_ssl',
type => 'b',
default => 0,
checker => \&check_smtp_ssl
},
{
name => 'smtp_debug', name => 'smtp_debug',
type => 'b', type => 'b',
default => 0 default => 0
......
...@@ -261,6 +261,12 @@ sub OPTIONAL_MODULES { ...@@ -261,6 +261,12 @@ sub OPTIONAL_MODULES {
feature => ['smtp_auth'], feature => ['smtp_auth'],
}, },
{ {
package => 'Net-SMTP-SSL',
module => 'Net::SMTP::SSL',
version => 1.01,
feature => ['smtp_ssl'],
},
{
package => 'RadiusPerl', package => 'RadiusPerl',
module => 'Authen::Radius', module => 'Authen::Radius',
version => 0, version => 0,
......
...@@ -164,6 +164,7 @@ sub MessageToMTA { ...@@ -164,6 +164,7 @@ sub MessageToMTA {
username => Bugzilla->params->{"smtp_username"}, username => Bugzilla->params->{"smtp_username"},
password => Bugzilla->params->{"smtp_password"}, password => Bugzilla->params->{"smtp_password"},
Hello => $hostname, Hello => $hostname,
ssl => Bugzilla->params->{'smtp_ssl'},
Debug => Bugzilla->params->{'smtp_debug'}; Debug => Bugzilla->params->{'smtp_debug'};
} }
......
...@@ -63,6 +63,8 @@ ...@@ -63,6 +63,8 @@
smtp_password => "The password to pass to the SMTP server for SMTP authentication. " _ smtp_password => "The password to pass to the SMTP server for SMTP authentication. " _
"This field has no effect if the smtp_username parameter is left empty.", "This field has no effect if the smtp_username parameter is left empty.",
smtp_ssl => "Enable SSL support for SMTP.",
smtp_debug => "If enabled, this will print detailed information to your" _ smtp_debug => "If enabled, this will print detailed information to your" _
" web server's error log about the communication between" _ " web server's error log about the communication between" _
" $terms.Bugzilla and your SMTP server. You can use this to" _ " $terms.Bugzilla and your SMTP server. You can use this to" _
......
...@@ -106,6 +106,7 @@ END ...@@ -106,6 +106,7 @@ END
feature_moving => 'Move Bugs Between Installations', feature_moving => 'Move Bugs Between Installations',
feature_patch_viewer => 'Patch Viewer', feature_patch_viewer => 'Patch Viewer',
feature_smtp_auth => 'SMTP Authentication', feature_smtp_auth => 'SMTP Authentication',
feature_smtp_ssl => 'SSL Support for SMTP',
feature_updates => 'Automatic Update Notifications', feature_updates => 'Automatic Update Notifications',
feature_xmlrpc => 'XML-RPC Interface', feature_xmlrpc => 'XML-RPC Interface',
feature_detect_charset => 'Automatic charset detection for text attachments', feature_detect_charset => 'Automatic charset detection for text attachments',
......
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