Commit bf1b1140 authored by Gervase Markham's avatar Gervase Markham Committed by Gervase Markham

Make Login/Stack.pm refuse to continue down the stack if an Auth method returns…

Make Login/Stack.pm refuse to continue down the stack if an Auth method returns an explicit failure. r=dkl, a=mkanat. https://bugzilla.mozilla.org/show_bug.cgi?id=698423
parent 078a9fc2
...@@ -28,6 +28,7 @@ use fields qw( ...@@ -28,6 +28,7 @@ use fields qw(
); );
use Hash::Util qw(lock_keys); use Hash::Util qw(lock_keys);
use Bugzilla::Hook; use Bugzilla::Hook;
use Bugzilla::Constants;
use List::MoreUtils qw(any); use List::MoreUtils qw(any);
sub new { sub new {
...@@ -60,8 +61,13 @@ sub get_login_info { ...@@ -60,8 +61,13 @@ sub get_login_info {
} }
$result = $object->get_login_info(@_); $result = $object->get_login_info(@_);
$self->{successful} = $object; $self->{successful} = $object;
last if !$result->{failure};
# So that if none of them succeed, it's undef. # We only carry on down the stack if this method denied all knowledge.
last unless ($result->{failure}
&& ($result->{failure} eq AUTH_NODATA
|| $result->{failure} eq AUTH_NO_SUCH_USER));
# If none of the methods succeed, it's undef.
$self->{successful} = undef; $self->{successful} = undef;
} }
return $result; return $result;
......
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