Description
Using "bigbang" I've found that ApacheDS does not respond properly to
Root DSE searches for both "+" (all operational) and "*" (all
non-operational) attributes". I believe that the following change
fixes the problem:
$ svn diff DefaultPartitionNexus.java
Index: DefaultPartitionNexus.java
===================================================================
— DefaultPartitionNexus.java (revision 634445)
+++ DefaultPartitionNexus.java (working copy)
@@ -1002,7 +1002,7 @@
- else if ( containsPlus && ( type.getUsage() ==
UsageEnum.USER_APPLICATIONS ) )
+ else if ( containsPlus && ( type.getUsage() !=
UsageEnum.USER_APPLICATIONS ) )
{ serverEntry.put( attribute ); }
Without this fix, ApacheDS treats the following ldap searches return
identical responses (neither will return operational attributes):
$ ldapsearch -x -h localhost -p10389 -s base -b "" '+'
$ ldapsearch -x -h localhost -p10389 -s base -b "" '*'
With the fix, ApacheDS responds correctly – or as least as correct
with respect to the attribute usage assigned to the rootDSE
attributes.