check_opsys check_shadowdb check_urlbase check_webdotbase
check_netmask check_user_verify_class check_image_converter
check_mail_delivery_method check_notification check_timezone check_utf8
- check_bug_status
+ check_bug_status check_smtp_auth
);
# Checking functions for the various values
return "";
}
+sub check_smtp_auth {
+ my $username = shift;
+ if ($username) {
+ eval "require Authen::SASL";
+ return "Error requiring Authen::SASL: '$@'" if $@;
+ }
+ return "";
+}
# OK, here are the parameter definitions themselves.
#
# The type value can be one of the following:
#
# t -- A short text entry field (suitable for a single line)
+# p -- A short text entry field (as with type = 't'), but the string is
+# replaced by asterisks (appropriate for passwords)
# l -- A long text field (suitable for many lines)
# b -- A boolean value (either 1 or 0)
# m -- A list of values, with many selectable (shows up as a select box)
type => 't',
default => 'localhost'
},
+ {
+ name => 'smtp_username',
+ type => 't',
+ default => '',
+ checker => \&check_smtp_auth
+ },
+ {
+ name => 'smtp_password',
+ type => 'p',
+ default => ''
+ },
{
name => 'smtp_debug',
type => 'b',
version => 0,
feature => 'LDAP Authentication'
},
+ {
+ package => 'SASL-Authen',
+ module => 'Authen::SASL',
+ version => 0,
+ feature => 'SMTP Authentication'
+ },
{
package => 'RadiusPerl',
module => 'Authen::Radius',
if ($method eq "SMTP") {
push @args, Host => Bugzilla->params->{"smtpserver"},
+ username => Bugzilla->params->{"smtp_username"},
+ password => Bugzilla->params->{"smtp_password"},
Hello => $hostname,
Debug => Bugzilla->params->{'smtp_debug'};
}
<dd>[% panel.param_descs.${param.name} FILTER none %]
<p>
[% IF param.type == "t" %]
- <input size="80" name="[% param.name FILTER html %]"
+ <input type="text" size="80" name="[% param.name FILTER html %]"
value="[% Param(param.name) FILTER html %]">
+ [% ELSIF param.type == "p" %]
+ <input type="password" size="80" name="[% param.name FILTER html %]"
+ value="[% Param(param.name) FILTER html %]" autocomplete="off">
[% ELSIF param.type == "l" %]
<textarea name="[% param.name FILTER html %]" rows="10" cols="80">
[% Param(param.name) FILTER html %]</textarea>
smtpserver => "The SMTP server address (if using SMTP for mail delivery).",
+ smtp_username => "The username to pass to the SMTP server for SMTP authentication. " _
+ "Leave this field empty if your SMTP server doesn't require 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.",
+
smtp_debug => "If enabled, this will print detailed information to your" _
" web server's error log about the communication between" _
" $terms.Bugzilla and your SMTP server. You can use this to" _