From 45a1f63957da217e0548eaad9d8b8baf09a21dd2 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Mon, 15 Apr 2013 20:47:41 -0700 Subject: 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 Tested-by: Russ Allbery --- NEWS | 5 +++++ perl/Wallet/Object/Keytab.pm | 6 +++--- 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; -- cgit v1.2.3