version 1.12, 2007/01/28 00:18:46 |
version 1.13, 2007/01/28 18:13:28 |
|
|
# |
# |
# This started as Memo.pm, I just made it work for Keyring. |
# This started as Memo.pm, I just made it work for Keyring. |
# |
# |
# $RedRiver: Keyring.pm,v 1.11 2007/01/27 23:59:29 andrew Exp $ |
# $RedRiver: Keyring.pm,v 1.12 2007/01/28 00:18:46 andrew Exp $ |
|
|
use strict; |
use strict; |
package Palm::Keyring; |
package Palm::Keyring; |
|
|
|
|
$self->{digest} ||= _calc_keys($self->{password}); |
$self->{digest} ||= _calc_keys($self->{password}); |
|
|
|
my $recordcount = 0; |
foreach my $record (@{ $self->{records} }) { |
foreach my $record (@{ $self->{records} }) { |
next unless defined $record->{data}; |
$recordcount++; |
|
# always skip the first record that has the password in it. |
|
next if $recordcount <= 1; |
|
unless (defined $record->{data}) { |
|
warn "Invalid record " . ($recordcount - 1) . "\n"; |
|
next; |
|
} |
|
|
my ($name, $encrypted) = split /\000/, $record->{data}, 2; |
my ($name, $encrypted) = split /\000/, $record->{data}, 2; |
next unless $encrypted; |
next unless $encrypted; |