mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-23 14:47:31 -04:00
Design and implementation of Entitlement with this level of detail needs to stay close to the code, and take advantage of javadoc features like linking and class-references to help us with refactorings and future code changes. The bulk of the information went into the package-info file for the main library, but I split up some parts and referenced them from the main doc, where I thought it made sense (mainly: the bridge sub-project for some implementation details, PolicyManager, EntitlementInitialization and FileAccessTree); this way they still can be reached from the "overview" while being closer to where the information really belongs. Relates to ES-11284 |
||
---|---|---|
.. | ||
src | ||
build.gradle | ||
README.md |
Entitlement Bridge
This is the code called directly from instrumented methods.
It's a minimal shim that is patched into the java.base
module
so that it is callable from the class library methods instrumented by the agent.
Its job is to forward the entitlement checks to the main library,
which is loaded normally.
It is not responsible for injecting the bytecode instrumentation (that's the agent) nor for implementing the permission checks (that's the main library).