Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
The hashCode generation of RestrictionImpl currently looks as follows:
public int hashCode() { return Objects.hashCode(definition, property); }
However, the hashCode of our PropertyState implementation doesn't include the value. See AbstractPropertyState:
public static int hashCode(PropertyState property) { return property.getName().hashCode(); }
Consequently the hashCode of the AccessControlEntry implementation, the validation of ACEs in AccessControlValidator and the AcEntry created in the PermissionHook generates the same hashCode for entries that only differ by the value of a restriction.