Commit 2e36c78e authored by Simon Green's avatar Simon Green

Bug 897264 - letters_numbers_specialchars password restriction is incorrect

r=LpSolit, a=sgreen
parent 9ca3f8b5
...@@ -2116,7 +2116,7 @@ sub validate_password { ...@@ -2116,7 +2116,7 @@ sub validate_password {
my $complexity_level = Bugzilla->params->{password_complexity}; my $complexity_level = Bugzilla->params->{password_complexity};
if ($complexity_level eq 'letters_numbers_specialchars') { if ($complexity_level eq 'letters_numbers_specialchars') {
ThrowUserError('password_not_complex') ThrowUserError('password_not_complex')
if ($password !~ /\w/ || $password !~ /\d/ || $password !~ /[[:punct:]]/); if ($password !~ /[[:alpha:]]/ || $password !~ /\d/ || $password !~ /[[:punct:]]/);
} elsif ($complexity_level eq 'letters_numbers') { } elsif ($complexity_level eq 'letters_numbers') {
ThrowUserError('password_not_complex') ThrowUserError('password_not_complex')
if ($password !~ /[[:lower:]]/ || $password !~ /[[:upper:]]/ || $password !~ /\d/); if ($password !~ /[[:lower:]]/ || $password !~ /[[:upper:]]/ || $password !~ /\d/);
......
...@@ -1395,21 +1395,21 @@ ...@@ -1395,21 +1395,21 @@
[%+ constants.USER_PASSWORD_MIN_LENGTH FILTER html %] characters long. [%+ constants.USER_PASSWORD_MIN_LENGTH FILTER html %] characters long.
[% ELSIF error == "password_not_complex" %] [% ELSIF error == "password_not_complex" %]
[% title = "Password Fails Requirements" %] [% title = "Password Fails Requirements" %]
[% passregex = Param('password_complexity') %] [% passregex = Param('password_complexity') %]
The password must contain at least one: The password must contain at least one:
<ul> <ul>
[% IF passregex.search('letters') %] [% IF passregex == 'letters_numbers_specialchars' %]
<li>UPPERCASE letter</li> <li>letter</li>
<li>lowercase letter</li> <li>special character</li>
[% END %] [% ELSIF passregex.search('letters') %]
[% IF passregex.search('numbers') %] <li>UPPERCASE letter</li>
<li>digit</li> <li>lowercase letter</li>
[% END %] [% END %]
[% IF passregex.search('specialchars') %] [% IF passregex.search('numbers') %]
<li>special character</li> <li>digit</li>
[% END %] [% END %]
</ul> </ul>
[% ELSIF error == "product_access_denied" %] [% ELSIF error == "product_access_denied" %]
[% title = "Product Access Denied" %] [% title = "Product Access Denied" %]
......
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