Hi guys !

I have just a formal question : why can't we call the SchemaService earlier ? The stack is usually the following :
- normalizationService (N°1, plain normal)
- authenticationService (N°2, make sense too)
- referralService
- authorizationService
- defaultAuthorizationService ( difference from the previous service ?)
- exceptionService ( what is it used for ?)
- operationalAttributeService
- schemaService <-- here we check that the entry is consistent
... (other services)

I wonder if we shouldn't acll schemaService just after the authenticationService.

Why do I ask this question? Because while fixing some code in AuthorizationService, I found that we are doing some checks that are delegated to the schemaService. Typically, we are controling the existence of an attributeType, and if not present, we check that this AT is not requested by the MUST attribute of a specific ObjectClass. This has two main drawbacks : - we do the check twice (should not be a big deal though, because the test is pretty fast, but anyway - we are doing a wrong test : it's not enough to check that a specific OC (here, it's the AccessControlSubentry OC) is not in the OC list for this entry, because many other OC can contain this tested attribute

Ok, this is something very unlikely, but this can be seen as a potential failure.

Now, I'm not sure that if we put the schemaService higher, it won't break the whole server. So my question. If it's not possible, then I see no other solution than to fix the AuthorizationService code (TupleCache class) :)

Emmanuel

Reply via email to