View | Details | Raw Unified | Return to bug 9611
Collapse All | Expand All

(-)a/C4/SIP/ILS/Patron.pm (-7 / +8 lines)
Lines 21-28 use C4::Koha; Link Here
21
use C4::Members;
21
use C4::Members;
22
use C4::Reserves;
22
use C4::Reserves;
23
use C4::Branch qw(GetBranchName);
23
use C4::Branch qw(GetBranchName);
24
use Digest::MD5 qw(md5_base64);
25
use C4::Items qw( GetBarcodeFromItemnumber GetItemnumbersForBiblio);
24
use C4::Items qw( GetBarcodeFromItemnumber GetItemnumbersForBiblio);
25
use C4::Auth qw(checkpw_hash);
26
26
27
our $VERSION = 3.07.00.049;
27
our $VERSION = 3.07.00.049;
28
28
Lines 40-46 sub new { Link Here
40
    }
40
    }
41
    $kp = GetMemberDetails($kp->{borrowernumber});
41
    $kp = GetMemberDetails($kp->{borrowernumber});
42
    $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
42
    $debug and warn "new Patron (GetMemberDetails): " . Dumper($kp);
43
    my $pw        = $kp->{password};  ### FIXME - md5hash -- deal with .
43
    my $pw        = $kp->{password};
44
    my $flags     = $kp->{flags};     # or warn "Warning: No flags from patron object for '$patron_id'";
44
    my $flags     = $kp->{flags};     # or warn "Warning: No flags from patron object for '$patron_id'";
45
    my $debarred  = defined($kp->{flags}->{DBARRED});
45
    my $debarred  = defined($kp->{flags}->{DBARRED});
46
    $debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%{$kp->{flags}});
46
    $debug and warn sprintf("Debarred = %s : ", ($debarred||'undef')) . Dumper(%{$kp->{flags}});
Lines 189-199 sub AUTOLOAD { Link Here
189
189
190
sub check_password {
190
sub check_password {
191
    my ($self, $pwd) = @_;
191
    my ($self, $pwd) = @_;
192
    my $md5pwd = $self->{password};
192
    defined $pwd or return 0;                  # you gotta give me something (at least ''), or no deal
193
194
    my $hashed_pwd = $self->{password};
195
    defined $hashed_pwd or return $pwd eq '';  # if the record has a NULL password, accept '' as match
196
193
    # warn sprintf "check_password for %s: '%s' vs. '%s'",($self->{name}||''),($self->{password}||''),($pwd||'');
197
    # warn sprintf "check_password for %s: '%s' vs. '%s'",($self->{name}||''),($self->{password}||''),($pwd||'');
194
    (defined $pwd   ) or return 0;        # you gotta give me something (at least ''), or no deal
198
    return checkpw_hash($pwd, $hashed_pwd);
195
    (defined $md5pwd) or return($pwd eq '');    # if the record has a NULL password, accept '' as match
196
    return (md5_base64($pwd) eq $md5pwd);
197
}
199
}
198
200
199
# A few special cases, not in AUTOLOADed %fields
201
# A few special cases, not in AUTOLOADed %fields
200
- 

Return to bug 9611