summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Allbery <rra@stanford.edu>2013-04-15 20:47:41 -0700
committerRuss Allbery <rra@stanford.edu>2013-04-16 15:54:02 -0700
commit45a1f63957da217e0548eaad9d8b8baf09a21dd2 (patch)
tree811799d77c1521274070fa64025d210ec48f2abe
parent943ffbebc085e620fb7663f3d7477783f9e86aec (diff)
Fix several bugs in Wallet::Object::Keytab enctype handling
There was a missing resultset() call in one place and the wrong resultset used in a different place, causing the enctype management code to not work. Change-Id: I796169c5968ec164f90f3cd75541dd346dd50fdf Reviewed-on: https://gerrit.stanford.edu/1070 Reviewed-by: Russ Allbery <rra@stanford.edu> Tested-by: Russ Allbery <rra@stanford.edu>
-rw-r--r--NEWS5
-rw-r--r--perl/Wallet/Object/Keytab.pm6
2 files changed, 8 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index f364260..460d475 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,10 @@
User-Visible wallet Changes
+wallet 1.1 (unreleased)
+
+ Fix the code to set enctype restrictions for keytab objects in the
+ wallet server.
+
wallet 1.0 (2013-03-27)
Owners of wallet objects are now allowed to destroy them. In previous
diff --git a/perl/Wallet/Object/Keytab.pm b/perl/Wallet/Object/Keytab.pm
index e00747b..45d5826 100644
--- a/perl/Wallet/Object/Keytab.pm
+++ b/perl/Wallet/Object/Keytab.pm
@@ -42,7 +42,6 @@ sub enctypes_set {
my %enctypes = map { $_ => 1 } @$enctypes;
my $guard = $self->{schema}->txn_scope_guard;
eval {
-
# Find all enctypes for the given keytab.
my %search = (ke_name => $name);
my @enctypes = $self->{schema}->resultset('KeytabEnctype')
@@ -73,13 +72,14 @@ sub enctypes_set {
# to make it easier to test.
for my $enctype (sort keys %enctypes) {
my %search = (en_name => $enctype);
- my $enctype_rs = $self->{schema}->('Enctype')->find (\%search);
+ my $enctype_rs = $self->{schema}->resultset('Enctype')
+ ->find (\%search);
unless (defined $enctype_rs) {
die "unknown encryption type $enctype\n";
}
my %record = (ke_name => $name,
ke_enctype => $enctype);
- $self->{schema}->resultset('Enctype')->create (\%record);
+ $self->{schema}->resultset('KeytabEnctype')->create (\%record);
$self->log_set ('type_data enctypes', undef, $enctype, @trace);
}
$guard->commit;