version 1.56, 2008/09/18 07:04:55 |
version 1.58, 2008/09/19 03:50:05 |
|
|
package Palm::Keyring; |
package Palm::Keyring; |
# $RedRiver: Keyring.pm,v 1.55 2008/09/17 14:47:47 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; |
|
|
# XXX This probably shouldn't croak, just make something up |
|
croak "No encrypted content to pack" if !defined $rec->{encrypted}; |
|
|
|
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) { |
# XXX This probably shouldn't croak, just make something up |
croak 'No encrypted data in record' if !defined $rec->{encrypted}; |
croak "No ivec" if !$rec->{ivec}; |
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, @_); |
} |
} |