version 1.57, 2008/09/19 03:04:34 |
version 1.58, 2008/09/19 03:50:05 |
|
|
package Palm::Keyring; |
package Palm::Keyring; |
# $RedRiver: Keyring.pm,v 1.56 2008/09/18 06:04:55 andrew Exp $ |
# $RedRiver: Keyring.pm,v 1.57 2008/09/19 02:04:34 andrew Exp $ |
######################################################################## |
######################################################################## |
# Keyring.pm *** Perl class for Keyring for Palm OS databases. |
# Keyring.pm *** Perl class for Keyring for Palm OS databases. |
# |
# |
|
|
my $self = shift; |
my $self = shift; |
my $rec = shift; |
my $rec = shift; |
|
|
if (!defined $rec->{encrypted}) { |
|
$rec->{encrypted} = $EMPTY; |
|
} |
|
|
|
if ($self->{version} == 4) { |
if ($self->{version} == 4) { |
if ($rec->{encrypted}) { |
if ($rec->{encrypted}) { |
my $name = $rec->{plaintext}->{0}->{data} || $EMPTY; |
my $name = $rec->{plaintext}->{0}->{data} || $EMPTY; |
|
|
} |
} |
|
|
} elsif ($self->{version} == 5) { |
} elsif ($self->{version} == 5) { |
if (!$rec->{ivec}) { |
croak 'No encrypted data in record' if !defined $rec->{encrypted}; |
$rec->{ivec} = $EMPTY; |
croak 'No ivec!' if !$rec->{ivec}; |
} |
|
|
|
my $field; |
my $field; |
if ($rec->{plaintext}->{0}) { |
if ($rec->{plaintext}->{0}) { |
|
|
# XXX Should I? |
# XXX Should I? |
delete $rec->{plaintext}; |
delete $rec->{plaintext}; |
delete $rec->{encrypted}; |
delete $rec->{encrypted}; |
|
|
|
croak 'No data in record to pack' if !$rec->{data}; |
|
|
return $self->SUPER::PackRecord($rec, @_); |
return $self->SUPER::PackRecord($rec, @_); |
} |
} |