source: swig/perl/abac_prover.pl @ 675cbea

abac0-leakabac0-meicompt_changesgec13mei-idmei-rt0-nmei_rt0mei_rt2mei_rt2_fix_1meiyap-rt1meiyap1rt2tvf-new-xml
Last change on this file since 675cbea was f1463c6, checked in by Mike Ryan <mikeryan@…>, 14 years ago

package and install perl modules

  • Property mode set to 100755
File size: 967 bytes
RevLine 
[06e2fc5]1#!/usr/bin/perl
2
3use strict;
4use ABAC;
[7af34ed]5use Getopt::Long;
[06e2fc5]6use Data::Dumper;
7$Data::Dumper::Indent = 1;
8
[7af34ed]9my ($keystore, $role, $principal);
10GetOptions(
11    'keystore=s'    => \$keystore,
12    'role=s'        => \$role,
13    'principal=s'   => \$principal,
14) || usage();
[06e2fc5]15
[7af34ed]16usage() unless defined $keystore && defined $role && defined $principal;
17
18# code starts here
[06e2fc5]19ABAC::libabac_init();
20
21my $ctx = ABAC::Context->new;
22$ctx->load_directory($keystore);
23
[7af34ed]24my ($success, $credentials) = $ctx->query($role, $principal);
[06e2fc5]25
26if ($success) {
27    print "Success\n";
28}
29
30foreach my $credential (@$credentials) {
31    printf "credential %s <- %s\n",
32        $credential->head->string,
33        $credential->tail->string;
34}
35
36ABAC::libabac_deinit();
[7af34ed]37
38sub usage {
39    print "Usage: $0 \\\n";
40    print "        --keystore <keystore> \\\n";
41    print "        --role <role> --principal <principal>\n";
42    print "    loads the keystore and runs the query role <-?- principal\n";
43    exit 1;
44}
Note: See TracBrowser for help on using the repository browser.