summaryrefslogtreecommitdiff
path: root/perl/Wallet/Object
diff options
context:
space:
mode:
Diffstat (limited to 'perl/Wallet/Object')
-rw-r--r--perl/Wallet/Object/Keytab.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/perl/Wallet/Object/Keytab.pm b/perl/Wallet/Object/Keytab.pm
index 092e973..6733cf0 100644
--- a/perl/Wallet/Object/Keytab.pm
+++ b/perl/Wallet/Object/Keytab.pm
@@ -484,7 +484,9 @@ sub create {
bless $self, $class;
my $kadmin = Wallet::Kadmin->new ();
$self->{kadmin} = $kadmin;
- $kadmin->addprinc ($name);
+ if (not $kadmin->addprinc ($name)) {
+ die $kadmin->error;
+ }
$self = $class->SUPER::create ($type, $name, $dbh, $creator, $host, $time);
$self->{kadmin} = $kadmin;
return $self;
@@ -517,7 +519,10 @@ sub destroy {
return;
}
my $kadmin = $self->{kadmin};
- return if not $kadmin->delprinc ($self->{name});
+ if (not $kadmin->delprinc ($self->{name})) {
+ $self->error ($kadmin->error);
+ return;
+ }
return $self->SUPER::destroy ($user, $host, $time);
}
@@ -546,12 +551,10 @@ sub get {
unlink $file;
my @enctypes = $self->attr ('enctypes');
my $kadmin = $self->{kadmin};
- my $retval = eval { $kadmin->ktadd ($self->{name}, $file, @enctypes) };
- if ($@) {
- $self->error ($@);
+ if (not $kadmin->ktadd ($self->{name}, $file, @enctypes)) {
+ $self->error ($kadmin->error);
return;
}
- return unless $retval;
local *KEYTAB;
unless (open (KEYTAB, '<', $file)) {
my $princ = $self->{name};