forked from TrueCloudLab/frostfs-node
[#132] cli/util: Fix basic ACL rendering
In previous implementation pretty-printer of basic ACL in NeoFS CLI had mistakes: * F-bit was set to `Extendable()` property instead of its inversion * B-bits were set to `acl.RoleInnerRing` rights Make `PrettyPrintTableBACL` to correctly render mentioned bits. Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
This commit is contained in:
parent
6226c3ba86
commit
24a540caa8
2 changed files with 3 additions and 2 deletions
|
@ -46,6 +46,7 @@ Changelog for FrostFS Node
|
||||||
- Do not fetch an object if `meta` is missing it (#61)
|
- Do not fetch an object if `meta` is missing it (#61)
|
||||||
- Create contract wallet only by `init` and `update-config` command (#63)
|
- Create contract wallet only by `init` and `update-config` command (#63)
|
||||||
- Actually use `object.put.pool_size_local` and independent pool for local puts (#64).
|
- Actually use `object.put.pool_size_local` and independent pool for local puts (#64).
|
||||||
|
- Pretty printer of basic ACL in the NeoFS CLI (#2259)
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
### Updated
|
### Updated
|
||||||
|
|
|
@ -24,7 +24,7 @@ func PrettyPrintTableBACL(cmd *cobra.Command, bacl *acl.Basic) {
|
||||||
fmt.Fprintln(w, "\tRangeHASH\tRange\tSearch\tDelete\tPut\tHead\tGet")
|
fmt.Fprintln(w, "\tRangeHASH\tRange\tSearch\tDelete\tPut\tHead\tGet")
|
||||||
// Bits
|
// Bits
|
||||||
bits := []string{
|
bits := []string{
|
||||||
boolToString(bacl.Sticky()) + " " + boolToString(bacl.Extendable()),
|
boolToString(bacl.Sticky()) + " " + boolToString(!bacl.Extendable()),
|
||||||
getRoleBitsForOperation(bacl, acl.OpObjectHash), getRoleBitsForOperation(bacl, acl.OpObjectRange),
|
getRoleBitsForOperation(bacl, acl.OpObjectHash), getRoleBitsForOperation(bacl, acl.OpObjectRange),
|
||||||
getRoleBitsForOperation(bacl, acl.OpObjectSearch), getRoleBitsForOperation(bacl, acl.OpObjectDelete),
|
getRoleBitsForOperation(bacl, acl.OpObjectSearch), getRoleBitsForOperation(bacl, acl.OpObjectDelete),
|
||||||
getRoleBitsForOperation(bacl, acl.OpObjectPut), getRoleBitsForOperation(bacl, acl.OpObjectHead),
|
getRoleBitsForOperation(bacl, acl.OpObjectPut), getRoleBitsForOperation(bacl, acl.OpObjectHead),
|
||||||
|
@ -47,7 +47,7 @@ func getRoleBitsForOperation(bacl *acl.Basic, op acl.Op) string {
|
||||||
return boolToString(bacl.IsOpAllowed(op, acl.RoleOwner)) + " " +
|
return boolToString(bacl.IsOpAllowed(op, acl.RoleOwner)) + " " +
|
||||||
boolToString(bacl.IsOpAllowed(op, acl.RoleContainer)) + " " +
|
boolToString(bacl.IsOpAllowed(op, acl.RoleContainer)) + " " +
|
||||||
boolToString(bacl.IsOpAllowed(op, acl.RoleOthers)) + " " +
|
boolToString(bacl.IsOpAllowed(op, acl.RoleOthers)) + " " +
|
||||||
boolToString(bacl.IsOpAllowed(op, acl.RoleInnerRing))
|
boolToString(bacl.AllowedBearerRules(op))
|
||||||
}
|
}
|
||||||
|
|
||||||
func boolToString(b bool) string {
|
func boolToString(b bool) string {
|
||||||
|
|
Loading…
Reference in a new issue