From: Tomas Doran Date: Sun, 4 Jan 2009 21:15:31 +0000 (+0000) Subject: Back out -r 8999:8998, this breaks everything decended from Credential::Password... X-Git-Tag: v0.10009_01~5 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=106913dbd819fb7e5e97a2aa2bab54701d8a7aa4;hp=861f65b0641d650ed502d233750c61f178ce43e1;p=catagits%2FCatalyst-Plugin-Authentication.git Back out -r 8999:8998, this breaks everything decended from Credential::Password, which is basically all the credential modules. --- diff --git a/Changes b/Changes index 43e4a6c..96ec29e 100644 --- a/Changes +++ b/Changes @@ -1,14 +1,5 @@ Revision history for Perl extension Catalyst::Plugin::Authentication -0.10010 - - Change config data storage to be __config in null store and password - credential, to not conflict with the Catalyst class data called - _config. When these are composed as a plugin (for back-compat) then - calls to MyApp->_config would only work due to an implementation - detail of Class::Data::Inheritable, and the ordering of method - calls. This no longer works for Catalyst 5.80, ergo the accessor - rename. - 0.10009 2008-11-27 - Including progressive realm for multiple authentication attempts in a single request. diff --git a/lib/Catalyst/Authentication/Credential/Password.pm b/lib/Catalyst/Authentication/Credential/Password.pm index e321616..0dee8f2 100644 --- a/lib/Catalyst/Authentication/Credential/Password.pm +++ b/lib/Catalyst/Authentication/Credential/Password.pm @@ -10,24 +10,24 @@ use Catalyst::Exception (); use Digest (); BEGIN { - __PACKAGE__->mk_accessors(qw/__config realm/); + __PACKAGE__->mk_accessors(qw/_config realm/); } sub new { my ($class, $config, $app, $realm) = @_; - my $self = { __config => $config }; + my $self = { _config => $config }; bless $self, $class; $self->realm($realm); - $self->__config->{'password_field'} ||= 'password'; - $self->__config->{'password_type'} ||= 'clear'; - $self->__config->{'password_hash_type'} ||= 'SHA-1'; + $self->_config->{'password_field'} ||= 'password'; + $self->_config->{'password_type'} ||= 'clear'; + $self->_config->{'password_hash_type'} ||= 'SHA-1'; - my $passwordtype = $self->__config->{'password_type'}; + my $passwordtype = $self->_config->{'password_type'}; if (!grep /$passwordtype/, ('none', 'clear', 'hashed', 'salted_hash', 'crypted', 'self_check')) { - Catalyst::Exception->throw(__PACKAGE__ . " used with unsupported password type: " . $self->__config->{'password_type'}); + Catalyst::Exception->throw(__PACKAGE__ . " used with unsupported password type: " . $self->_config->{'password_type'}); } return $self; } @@ -39,7 +39,7 @@ sub authenticate { ## password_field before we pass it to the user routine, as some auth modules use ## all data passed to them to find a matching user... my $userfindauthinfo = {%{$authinfo}}; - delete($userfindauthinfo->{$self->__config->{'password_field'}}); + delete($userfindauthinfo->{$self->_config->{'password_field'}}); my $user_obj = $realm->find_user($userfindauthinfo, $c); if (ref($user_obj)) { @@ -55,29 +55,29 @@ sub authenticate { sub check_password { my ( $self, $user, $authinfo ) = @_; - if ($self->__config->{'password_type'} eq 'self_check') { - return $user->check_password($authinfo->{$self->__config->{'password_field'}}); + if ($self->_config->{'password_type'} eq 'self_check') { + return $user->check_password($authinfo->{$self->_config->{'password_field'}}); } else { - my $password = $authinfo->{$self->__config->{'password_field'}}; - my $storedpassword = $user->get($self->__config->{'password_field'}); + my $password = $authinfo->{$self->_config->{'password_field'}}; + my $storedpassword = $user->get($self->_config->{'password_field'}); - if ($self->__config->{'password_type'} eq 'none') { + if ($self->_config->{'password_type'} eq 'none') { return 1; - } elsif ($self->__config->{'password_type'} eq 'clear') { + } elsif ($self->_config->{'password_type'} eq 'clear') { return $password eq $storedpassword; - } elsif ($self->__config->{'password_type'} eq 'crypted') { + } elsif ($self->_config->{'password_type'} eq 'crypted') { return $storedpassword eq crypt( $password, $storedpassword ); - } elsif ($self->__config->{'password_type'} eq 'salted_hash') { + } elsif ($self->_config->{'password_type'} eq 'salted_hash') { require Crypt::SaltedHash; - my $salt_len = $self->__config->{'password_salt_len'} ? $self->__config->{'password_salt_len'} : 0; + my $salt_len = $self->_config->{'password_salt_len'} ? $self->_config->{'password_salt_len'} : 0; return Crypt::SaltedHash->validate( $storedpassword, $password, $salt_len ); - } elsif ($self->__config->{'password_type'} eq 'hashed') { + } elsif ($self->_config->{'password_type'} eq 'hashed') { - my $d = Digest->new( $self->__config->{'password_hash_type'} ); - $d->add( $self->__config->{'password_pre_salt'} || '' ); + my $d = Digest->new( $self->_config->{'password_hash_type'} ); + $d->add( $self->_config->{'password_pre_salt'} || '' ); $d->add($password); - $d->add( $self->__config->{'password_post_salt'} || '' ); + $d->add( $self->_config->{'password_post_salt'} || '' ); my $computed = $d->clone()->digest; my $b64computed = $d->clone()->b64digest; diff --git a/lib/Catalyst/Authentication/Store/Null.pm b/lib/Catalyst/Authentication/Store/Null.pm index 90dbf74..04b5517 100644 --- a/lib/Catalyst/Authentication/Store/Null.pm +++ b/lib/Catalyst/Authentication/Store/Null.pm @@ -8,12 +8,12 @@ use Catalyst::Authentication::User::Hash; use base qw( Class::Accessor::Fast ); BEGIN { - __PACKAGE__->mk_accessors( qw( __config ) ); + __PACKAGE__->mk_accessors( qw( _config ) ); } sub new { my ( $class, $config, $app, $realm ) = @_; - bless { __config => $config }, $class; + bless { _config => $config }, $class; } sub for_session {