You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This also applies to doc.
While implementing the path policy language for JPAN, I noticed some discrepancies between the language design and the implementation.
Design
The design talks about a Policy that can contain ACLs, a Sequence, Options, and that "extends" several other Policies. However:
In the implementation, the "extends" feature is not in "Policy" but in separate type "ExtPolicy".
The extends feature references ExtPolicies, not Policies
The implementation only has a method PolicyFromExtPolicy which takes as input an ExtPolicy (input1) and "applies" other ExtPolicies.
Moreover, it may or may not modify input1 depending on whether input1 has already a Policy. See also private: Policy.PolicyFromExtPolicy modifies existing policy. #4682
The design says that Options are a "list of anonymous policies"
It is unclear why they must be anonymous (e.g. have no name)? Policies are named (though the name may be empty).
In the implementation, an Options contains an ExtPolicy (not a Policy)
The implementation also contains features that are not mentioned in the design, e.g.:
LocalISDAS
RemoteISDAS
FilterOptions
JSON import export (only mentioned in the "outdated content" section.
YAML import/export for ACLs
The example for "extends" in the design doc doesn't really make it clear what the purpose / use-case of this feature is and how it can be beneficial.
Maybe the example can be improved?
Several tests add illegal ACL entries: "0-0#0" followed by denyEntry or similar. Why is that?
This seems unnecessary, moreover it seems to violate the contract defined in ACL.validateACL()
Question
For me the question is which should I follow?
The text was updated successfully, but these errors were encountered:
Thanks. I have already implemented a bit more than that, but for ACL and Sequence, the implementation and the design seem to be mostly consistent. So I'll probably just skip the extensions (and Options?).
It would still be good though to get an updated design document...?
This also applies to
doc
.While implementing the path policy language for JPAN, I noticed some discrepancies between the language design and the implementation.
Design
Policy
that can contain ACLs, a Sequence, Options, and that "extends" several otherPolicies
. However:extends
feature referencesExtPolicies
, notPolicies
PolicyFromExtPolicy
which takes as input anExtPolicy
(input1) and "applies" otherExtPolicies
.Moreover, it may or may not modify input1 depending on whether input1 has already a
Policy
. See also private: Policy.PolicyFromExtPolicy modifies existing policy. #4682Options
are a "list of anonymous policies"Policies
are named (though the name may be empty).Options
contains anExtPolicy
(not aPolicy
)LocalISDAS
RemoteISDAS
FilterOptions
Maybe the example can be improved?
Implementation
PolicyFromExtPolicy
is confusing, see private: Policy.PolicyFromExtPolicy modifies existing policy. #4682"0-0#0"
followed bydenyEntry
or similar. Why is that?This seems unnecessary, moreover it seems to violate the contract defined in
ACL.validateACL()
Question
For me the question is which should I follow?
The text was updated successfully, but these errors were encountered: