Name
sysacl_compose, sysacl_direct_bits_of_user, sysacl_all_bits_of_tree, sysacl_bit1_of_tree, http_acl_stats — compose and inspect WebDAV access-control bitmasks
Synopsis
any sysacl_compose(
|
in aces any, |
in mode integer); |
integer sysacl_direct_bits_of_user(
|
in username varchar); |
integer sysacl_all_bits_of_tree(
|
in username varchar); |
integer sysacl_bit1_of_tree(
|
in username varchar, |
in user_handle any); |
any http_acl_stats(
|
); |
Description
These BIFs sit between the WebDAV ACL machinery and the SQL layer. They expose the bitmask form Virtuoso uses internally to represent the set of permissions a principal has on a resource.
sysacl_compose builds a single bitmask from a vector
of access-control entries aces using the
aggregation rule selected by mode (e.g.
0 for union, 1 for the intersection
of all explicit grants).
sysacl_direct_bits_of_user returns the bitmask of
permissions that are directly granted to
username on the resource currently being evaluated,
ignoring inherited and group-based grants.
sysacl_all_bits_of_tree returns the union of
permissions username has across the resource tree
rooted at the current path (direct + inherited + group-based). Useful for
"can-this-user-do-anything-here?" pre-flight checks.
sysacl_bit1_of_tree is the one-permission-only
variant: it tests whether username (passed twice
for compatibility with older signatures) has the WebDAV
READ bit set anywhere in the resource sub-tree,
returning 1 or 0. Cheaper than composing the full bitmask when only
existence-of-some-grant matters.
http_acl_stats returns a vector of runtime statistics
about the in-memory HTTP ACL cache (entry count, hit rate, evictions).
Useful for tuning the ACL evaluation settings.