Closed evincarofautumn closed 7 years ago
The logic of restrictions is pretty straightforward:
Disjunction is a bit more complicated, and maybe not even useful, so I think it’s low-priority to implement.
@lambdageek, would you look this over and let me know if it’s cromulent?
Re. https://github.com/mono/mono/pull/4529#issuecomment-286562418 and https://github.com/mono/mono/pull/4529#issuecomment-286566710, we want a way to specify how permissions are related. I propose adding a
--config=<path>
/-C<path>
option, which reads a config file consisting of a series of declarations, each of which defines a permission or a relationship between permissions.For example, suppose the
foo
lock can only be taken when thebar
lock is held and thebaz
lock is not held.Now checking
need(lock_foo)
also implies checkingneed(bar_locked)
anddeny(baz_locked)
.When a config file is specified, use of a permission not declared in the config is an error, rather than implicitly creating the permission.