Wraps some code necessary to SIS working in AccessController.doPrivileged(...) blocks. Examples:
We should not wrap all security-sensitive request for information, but only those that are needed for SIS working. Examples:
- Environment variable value for SIS_DATA.
- Property value for "java.naming.factory.initial", "derby.system.home".
- Call to Field.setAccessible(true) in clone() methods for setting final fields.
Information for which we do not request privileged actions at this time:
- MBean registration.
- Property value for "java.home".
- Call to Field.setAccessible(true) on deserialization for setting final transient fields.
Initial patch for SIS has been submitted by Guilhem Légal.