diff options
Diffstat (limited to 'perl/lib')
| -rw-r--r-- | perl/lib/Wallet/Admin.pm | 18 | ||||
| -rw-r--r-- | perl/lib/Wallet/Object/Duo.pm | 4 | 
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. | 
