|
[
Permlink
| « Hide
]
Bastiaan Bakker added a comment - 21/Sep/06 01:32 PM
The attached patchs adds a check to DefaultDirectoryService.createBootstrapEntries() to ensure that the authorizarionService interceptor exists and is an instance of AuthorizationService before calling cacheNewGroup()
Bastiaan Bakker made changes - 21/Sep/06 01:32 PM
Thanks for the post Bastiaan. And sorry for the loooooong time it took to respond.
Thanks for the report and for the patch. Nice catch ! I have somehow inverted the logic for this part : if we don't have an AuthorizationService, or if it's not a correct interceptor, then an exception is thrown (the Ldap Server is always supposed to set this kind of interceptor). If no authorization service is needed, then a pass-through service mst be created. Here is the modified code : ... Interceptor authzInterceptor = interceptorChain.get( "authorizationService" ); if ( authzInterceptor == null ) { log.error( "The Authorization service is null : this is not allowed" ); throw new NamingException( "The Authorization service is null" ); } if ( !( authzInterceptor instanceof AuthorizationService) ) { log.error( "The Authorization service is not set correctly : '{}' is an incorect interceptor", authzInterceptor.getClass().getName() ); throw new NamingException( "The Authorization service is incorrectly set" ); } AuthorizationService authzSrvc = ( AuthorizationService ) authzInterceptor; authzSrvc.cacheNewGroup( upName, normName, attributes ); ...
Emmanuel Lecharny made changes - 25/Jan/07 02:20 PM
Fixed in 1.0.1 :
http://svn.apache.org/viewvc?view=rev&rev=499801 Fixed in 1.5.0 : http://svn.apache.org/viewvc?view=rev&rev=499802
Emmanuel Lecharny made changes - 15/Feb/09 01:36 PM
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||