Back out -r 8999:8998, this breaks everything decended from Credential::Password...
Tomas Doran [Sun, 4 Jan 2009 21:15:31 +0000 (21:15 +0000)]
Changes
lib/Catalyst/Authentication/Credential/Password.pm
lib/Catalyst/Authentication/Store/Null.pm

diff --git a/Changes b/Changes
index 43e4a6c..96ec29e 100644 (file)
--- 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.
index e321616..0dee8f2 100644 (file)
@@ -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;
index 90dbf74..04b5517 100644 (file)
@@ -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 {