summaryrefslogtreecommitdiff
path: root/perl/lib/Wallet
diff options
context:
space:
mode:
Diffstat (limited to 'perl/lib/Wallet')
-rw-r--r--perl/lib/Wallet/Admin.pm18
-rw-r--r--perl/lib/Wallet/Object/Duo.pm4
2 files changed, 6 insertions, 16 deletions
diff --git a/perl/lib/Wallet/Admin.pm b/perl/lib/Wallet/Admin.pm
index 8481979..33e2a7d 100644
--- a/perl/lib/Wallet/Admin.pm
+++ b/perl/lib/Wallet/Admin.pm
@@ -98,20 +98,10 @@ sub initialize {
$self->default_data;
# Create a default admin ACL.
- eval {
- my $guard = $self->{schema}->txn_scope_guard;
- $self->{schema}->resultset ('Acl')->populate ([
- [ qw/ac_id ac_name/ ],
- [ 1, 'ADMIN' ],
- ]);
- $self->{schema}->resultset ('AclEntry')->populate ([
- [ qw/ae_id ae_scheme ae_identifier/ ],
- [ 1, 'krb5', $user ],
- ]);
- $guard->commit;
- };
- if ($@) {
- $self->error ("cannot add ADMIN ACL: $@");
+ my $schema = $self->{schema};
+ my $acl = Wallet::ACL->create ('ADMIN', $schema, $user, 'localhost');
+ unless ($acl->add ('krb5', $user, $user, 'localhost')) {
+ $self->error ($acl->error);
return;
}
return 1;
diff --git a/perl/lib/Wallet/Object/Duo.pm b/perl/lib/Wallet/Object/Duo.pm
index e3fe2da..6edc4fa 100644
--- a/perl/lib/Wallet/Object/Duo.pm
+++ b/perl/lib/Wallet/Object/Duo.pm
@@ -105,7 +105,7 @@ sub create {
# Create the object in Duo.
require Net::Duo::Admin::Integration;
my %data = (
- name => $name,
+ name => "$name ($Wallet::Config::DUO_TYPE)",
notes => 'Managed by wallet',
type => $Wallet::Config::DUO_TYPE,
);
@@ -190,7 +190,7 @@ sub get {
# We also need the admin server name, which we can get from the Duo object
# configuration with a bit of JSON decoding.
- my $json = JSON->new->utf8 (1);
+ my $json = JSON->new->utf8 (1)->relaxed (1);
my $config = $json->decode (scalar slurp $Wallet::Config::DUO_KEY_FILE);
# Construct the returned file.