diff options
author | Russ Allbery <rra@stanford.edu> | 2010-08-25 18:01:37 -0700 |
---|---|---|
committer | Russ Allbery <rra@stanford.edu> | 2010-08-25 18:01:37 -0700 |
commit | e91c0b93355b28617f7c0d756026856762ece242 (patch) | |
tree | 35c4fb8ab35ec5b8d140a0b7e869848a1fac39a9 /server | |
parent | 602ff7584d3668c36b1bf5fd43988e6f45eceb48 (diff) |
Imported Upstream version 0.12
Diffstat (limited to 'server')
-rw-r--r-- | server/keytab-backend.8 | 4 | ||||
-rw-r--r-- | server/wallet-admin.8 | 4 | ||||
-rwxr-xr-x | server/wallet-backend | 4 | ||||
-rw-r--r-- | server/wallet-backend.8 | 4 | ||||
-rwxr-xr-x | server/wallet-report | 59 | ||||
-rw-r--r-- | server/wallet-report.8 | 27 |
6 files changed, 87 insertions, 15 deletions
diff --git a/server/keytab-backend.8 b/server/keytab-backend.8 index 7a08ede..2ad3d61 100644 --- a/server/keytab-backend.8 +++ b/server/keytab-backend.8 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "KEYTAB-BACKEND 8" -.TH KEYTAB-BACKEND 8 "2010-03-08" "0.11" "wallet" +.TH KEYTAB-BACKEND 8 "2010-08-25" "0.12" "wallet" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/server/wallet-admin.8 b/server/wallet-admin.8 index bc5c7ea..295fce2 100644 --- a/server/wallet-admin.8 +++ b/server/wallet-admin.8 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "WALLET-ADMIN 8" -.TH WALLET-ADMIN 8 "2010-03-08" "0.11" "wallet" +.TH WALLET-ADMIN 8 "2010-08-25" "0.12" "wallet" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/server/wallet-backend b/server/wallet-backend index 0a611db..52e9857 100755 --- a/server/wallet-backend +++ b/server/wallet-backend @@ -147,7 +147,7 @@ sub command { if ($command eq 'acl') { my $action = shift @args; if ($action eq 'add') { - check_args (3, 3, [], @args); + check_args (3, 3, [3], @args); $server->acl_add (@args) or failure ($server->error, @_); } elsif ($action eq 'create') { check_args (1, 1, [], @args); @@ -164,7 +164,7 @@ sub command { failure ($server->error, @_); } } elsif ($action eq 'remove') { - check_args (3, 3, [], @args); + check_args (3, 3, [3], @args); $server->acl_remove (@args) or failure ($server->error, @_); } elsif ($action eq 'rename') { check_args (2, 2, [], @args); diff --git a/server/wallet-backend.8 b/server/wallet-backend.8 index 47b3e3b..1ecad1a 100644 --- a/server/wallet-backend.8 +++ b/server/wallet-backend.8 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "WALLET-BACKEND 8" -.TH WALLET-BACKEND 8 "2010-03-08" "0.11" "wallet" +.TH WALLET-BACKEND 8 "2010-08-25" "0.12" "wallet" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/server/wallet-report b/server/wallet-report index 435fb73..98fd07a 100755 --- a/server/wallet-report +++ b/server/wallet-report @@ -8,12 +8,31 @@ # See LICENSE for licensing terms. ############################################################################## -# Declarations and site configuration +# Declarations and globals ############################################################################## use strict; use Wallet::Report; +# The help output, sent in reply to the help command. Lists each supported +# report command with a brief description of what it does. +our $HELP = <<'EOH'; +Wallet reporting help: + acls All ACLs + acls duplicate ACLs that duplicate another + acls empty All empty ACLs + acls entry <scheme> <id> ACLs containing this entry (wildcarded) + acls unused ACLs that are not referenced by any object + audit acls name ACLs failing the naming policy + audit objects name Objects failing the naming policy + objects All objects + objects acl <acl> Objects granting permissions to that ACL + objects flag <flag> Objects with that flag set + objects owner <owner> Objects owned by that owner + objects type <type> Objects of that type + objects unused Objects that have never been stored/gotten +EOH + ############################################################################## # Implementation ############################################################################## @@ -32,8 +51,14 @@ sub command { if (!@acls and $report->error) { die $report->error, "\n"; } - for my $acl (sort { $$a[1] cmp $$b[1] } @acls) { - print "$$acl[1] (ACL ID: $$acl[0])\n"; + if (@args && $args[0] eq 'duplicate') { + for my $group (@acls) { + print join (' ', @$group), "\n"; + } + } else { + for my $acl (sort { $$a[1] cmp $$b[1] } @acls) { + print "$$acl[1] (ACL ID: $$acl[0])\n"; + } } } elsif ($command eq 'audit') { die "too many arguments to audit\n" if @args > 2; @@ -49,6 +74,8 @@ sub command { print join (' ', @$item), "\n"; } } + } elsif ($command eq 'help') { + print $HELP; } elsif ($command eq 'objects') { die "too many arguments to objects\n" if @args > 2; my @objects = $report->objects (@args); @@ -110,13 +137,16 @@ B<wallet-report> takes no traditional options. =item acls +=item acls duplicate + =item acls empty =item acls entry <scheme> <identifier> =item acls unused -Returns a list of ACLs in the database. ACLs will be listed in the form: +Returns a list of ACLs in the database. Except for the C<duplicate> +report, ACLs will be listed in the form: <name> (ACL ID: <id>) @@ -124,6 +154,10 @@ where <name> is the human-readable name and <id> is the numeric ID. The numeric ID is what's used internally by the wallet system. There will be one line per ACL. +For the C<duplicate> report, the output will instead be one duplicate set +per line. This will be a set of ACLs that all have the same entries. +Only the names will be given, separated by spaces. + If no search type is given, all the ACLs in the database will be returned. If a search type (and possible search arguments) are given, then the ACLs will be limited to those that match the search. @@ -132,6 +166,12 @@ The currently supported ACL search types are: =over 4 +=item acls duplicate + +Returns all sets of ACLs that are duplicates, meaning that they contain +exactly the same entries. Each line will be the names of the ACLs in a +set of duplicates, separated by spaces. + =item acls empty Returns all ACLs which have no entries, generally so that abandoned ACLs @@ -167,6 +207,10 @@ where <name> is the human-readable name and <id> is the numeric ID. The numeric ID is what's used internally by the wallet system. There will be one line per object or ACL. +=item help + +Displays a summary of all available commands. + =item objects =item objects acl <acl> @@ -177,6 +221,8 @@ one line per object or ACL. =item objects type <type> +=item objects unused + Returns a list of objects in the database. Objects will be listed in the form: @@ -210,6 +256,11 @@ Returns all objects owned by the given ACL name or ID. Returns all objects of the given type. +=item objects unused + +Returns all objects that have never been downloaded (have never been the +target of a get command). + =back =item owners <type-pattern> <name-pattern> diff --git a/server/wallet-report.8 b/server/wallet-report.8 index cd56501..0600736 100644 --- a/server/wallet-report.8 +++ b/server/wallet-report.8 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "WALLET-REPORT 8" -.TH WALLET-REPORT 8 "2010-03-08" "0.11" "wallet" +.TH WALLET-REPORT 8 "2010-08-25" "0.12" "wallet" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -151,6 +151,8 @@ translates command strings into method calls and returns the results. .IP "acls" 4 .IX Item "acls" .PD 0 +.IP "acls duplicate" 4 +.IX Item "acls duplicate" .IP "acls empty" 4 .IX Item "acls empty" .IP "acls entry <scheme> <identifier>" 4 @@ -158,7 +160,8 @@ translates command strings into method calls and returns the results. .IP "acls unused" 4 .IX Item "acls unused" .PD -Returns a list of ACLs in the database. ACLs will be listed in the form: +Returns a list of ACLs in the database. Except for the \f(CW\*(C`duplicate\*(C'\fR +report, ACLs will be listed in the form: .Sp .Vb 1 \& <name> (ACL ID: <id>) @@ -168,12 +171,21 @@ where <name> is the human-readable name and <id> is the numeric \s-1ID\s0. The numeric \s-1ID\s0 is what's used internally by the wallet system. There will be one line per \s-1ACL\s0. .Sp +For the \f(CW\*(C`duplicate\*(C'\fR report, the output will instead be one duplicate set +per line. This will be a set of ACLs that all have the same entries. +Only the names will be given, separated by spaces. +.Sp If no search type is given, all the ACLs in the database will be returned. If a search type (and possible search arguments) are given, then the ACLs will be limited to those that match the search. .Sp The currently supported \s-1ACL\s0 search types are: .RS 4 +.IP "acls duplicate" 4 +.IX Item "acls duplicate" +Returns all sets of ACLs that are duplicates, meaning that they contain +exactly the same entries. Each line will be the names of the ACLs in a +set of duplicates, separated by spaces. .IP "acls empty" 4 .IX Item "acls empty" Returns all ACLs which have no entries, generally so that abandoned ACLs @@ -212,6 +224,9 @@ and ACLs in the form: where <name> is the human-readable name and <id> is the numeric \s-1ID\s0. The numeric \s-1ID\s0 is what's used internally by the wallet system. There will be one line per object or \s-1ACL\s0. +.IP "help" 4 +.IX Item "help" +Displays a summary of all available commands. .IP "objects" 4 .IX Item "objects" .PD 0 @@ -223,6 +238,8 @@ one line per object or \s-1ACL\s0. .IX Item "objects owner <owner>" .IP "objects type <type>" 4 .IX Item "objects type <type>" +.IP "objects unused" 4 +.IX Item "objects unused" .PD Returns a list of objects in the database. Objects will be listed in the form: @@ -253,6 +270,10 @@ Returns all objects owned by the given \s-1ACL\s0 name or \s-1ID\s0. .IP "objects type <type>" 4 .IX Item "objects type <type>" Returns all objects of the given type. +.IP "objects unused" 4 +.IX Item "objects unused" +Returns all objects that have never been downloaded (have never been the +target of a get command). .RE .RS 4 .RE |