Hi guys, those last days were buys, will heavy modifications (and painful ones) into the server. All the operations were reviewed in order to make them atomic, and also to remove useless lookups and improve their performance as a side effect. The PasswordPolicy RFC is also being implemented, and should be ready for 2.0-RC1 too. Some code cleanup was also conducted at the same time, with some speed imrpvement in the tests, using concurrent tests when possible. We also can now rebuild the index if hey are broken.
Here is the list of remaining issues now. Some have been fixed since the last parade, but not that many : Bug B DIRSERVER-1499 The original entry in the ClonedServerEntry get modified by some operations Impv M DIRSERVER-1179 Leverage ClonedServerEntry better: review and fix places where redundant lookup of entry is performed Impv M DIRSERVER-1219 Review and make sure eager loading of target entries in OperationContexts occurs at most once Bug C DIRSERVER-1327 Creating a new index when the server has already stored values for the attribute does not work Impv M DIRSERVER-1424 In integ test, add setter search for ldapServer/service static fields Impv m DIRSERVER-176 Cleaning LdapMessage classes Bug M DIRSHARED-63 LDIFEntry does not handle controls Bug M DIRSHARED-40 DN parser, LdapDN, Rdn, Atav issues The following issue has also been fixed, but we are waiting for a authorization to use the associated code from the original author : +++ Bug M DIRSERVER-1319 Cannot save String values larger than 64 Kb Here is the list of all the JIRA we have to deal with for 2.0-RC1. We are down to 47 bugs, and 179 issues globally : Note : ------ B : Blocking C : Critical M : Major m : Minor t : Trivial Bug : bug Impv : improvement Feat : new feature Task : task Test : test Wish : wish +++ Work in progress ??? Issue to be evaluated >>> ACI issue 11 DIR (9T, 2W) --------------- Task M DIR-248 Where to deploy generated documentation? Task M DIR-254 Add a chapter in the doco to explain how to enable a schema Task M DIR-257 Architectural overview Task M DIR-258 Give the user directions about which version to use Task M DIR-259 Setting admin password docs out of sync (need current docs?) Task M DIR-260 Update documentation for Spring configuration (Basic User Guide) Task M DIR-261 Why does download directory include the path element 'unstable' ? Task m DIR-218 Reduce number of confluence spaces Task m DIR-245 Create a page about using ADS with AcegiSecurity Wish m DIR-120 Matrix comparison against other LDAP servers Wish M DIR-255 Daily build download Alex Karasulu 2 DIRSHARED (0.9.20) -------------------- Bug M DIRSHARED-53 Review RequestID processing DIRSHARED-53 is pending, waiting for clarification. 5 DIRSHARED (1.0.0-RC1) ----------------------- Impv M DIRSHARED-11 Relax the ACI grammar parser Unassigned Impv M DIRSHARED-35 LdifEntry should expose methods to manipulate attributes. Impv m DIRSHARED-37 Reconsider interfaces and base classes for Registries Task C DIRSHARED-5 Add the missing javadocs Task C DIRSHARED-50 Rename DN methods to reflect the Client API decisions We have to finish 40, 5 and 50, so we can move those issues back to 0.9.20. 11, 35 and 37 could wait. 10 DIRAPI (0.2.0) ----------------- Bug C DIRAPI-7 Low performance on search operation compared to JNDI (around 5 times slower) Bug M DIRAPI-13 Recursively drilling into the directory structure causes java.lang.OutOfMemoryError Bug M DIRAPI-17 Problem when we do a search with a filter with "*" in the start or in the end of a expression with wildcards chars like for example filter (uid=*se*). Impv M DIRAPI-8 Make client-api schema aware Impv M DIRAPI-15 The lookup() method should return an Entry Feat M DIRAPI-2 Add generic support for Extended operations Feat M DIRAPI-11 Implement the StartTLS operation Feat C DIRAPI-12 Add the LDAPS connection Feat M DIRAPI-14 Add an exists(DN) method Task C DIRAPI-18 Check LdaConnection methods' parameters DIRAPI-7 should be fixed. DIRAPI-13 has to be evaluated, not sure it's really a problem. Generally speaking, LDAP API is orthogonal with ADS 2.0 DIRSERVER ========= We have a total of 43 bugs on a total of 140 issues. 43 Bugs (1B 4C 32M 5m 1t): -------------------------- Bug B DIRSERVER-1518 Moving an entry which is a referral does not work Bug C DIRSERVER-955 FilterMatch permissions are not being handled in Access Control decisions Bug C DIRSERVER-1252 Server tools dump command broken due to use of old paths +++ Bug C DIRSERVER-1402 Many Comparators are missing Bug C DIRSERVER-1458 Cursor API generic usage is totally wrong Bug M DIRSERVER-803 Creating an alias from a child entry to the ancestor causes an error (return code 36) Bug M DIRSERVER-824 Collective attributes are not evaluated in search operations when they are used in filter expressions Bug M DIRSERVER-922 Data is "lost" after adding Index to config file >>> Bug M DIRSERVER-999 rangeOfValues protedtedItem should not be applicable in Entry scope >>> Bug M DIRSERVER-1000 The filter of the rangeOfValues protectedItem should be evaluated on only the single attribute, not the whole entry >>> Bug M DIRSERVER-1169 Access control don't apply to the rootDSE Bug M DIRSERVER-1172 Sasl PLAIN mechanism should only be enabled/offered after TLS layer is establish Bug M DIRSERVER-1198 Requests of usercertificate;binary are not supported Bug M DIRSERVER-1211 Error code 54 in modify-replace operation Bug M DIRSERVER-1223 @Ignore annotation on both core and server integ causes tests to stop Bug M DIRSERVER-1240 After binding using NTLM, cannot query if AllowAnonymousAccess is off Bug M DIRSERVER-1281 StreamCorruptedException after brutal shutdown Bug M DIRSERVER-1285 Quotes in DN are not handled correctly during normalization [was: Quotes in DN on simple binds causes referral error] +++ Bug M DIRSERVER-1319 Cannot save String values larger than 64 Kb Bug M DIRSERVER-1330 Using a filter with present match with unknown attribute type causes error (error code 16) Bug M DIRSERVER-1349 Alias not working with scope ONELEVEL_SCOPE Bug M DIRSERVER-1354 System files partition corruption Bug M DIRSERVER-1355 Alias dereferncing with subtree search isn't working correctly Bug M DIRSERVER-1357 NullPointerException when deleting alias Bug M DIRSERVER-1373 Update of server certificate in uid=admin,ou=system only takes effect after restart Bug M DIRSERVER-1390 Attribute caching issues - warning and error messages thrown on startup Bug M DIRSERVER-1394 Modifying subschema subentry doesn't work in some case >>> Bug M DIRSERVER-1419 Can inject accessControlSubentries when creating a new entry Bug M DIRSERVER-1420 Cannot start the server : reuseAddress can't be set while the acceptor is bound at shutdown Bug M DIRSERVER-1440 Using leading and/or trailing blanks in RDN attribute leads to erroneous behaviour. Bug M DIRSERVER-1457 Binary Attribute Type causes java.lang.StackOverflowError Bug M DIRSERVER-1469 When a bind is pending, no other operation should be allowed Bug M DIRSERVER-1490 Not 100% sure, but the DN caches we have in the server might not be updated when doing a Move Bug M DIRSERVER-1491 Improve schema extractor Bug M DIRSERVER-1498 Reverting modification on referrals are not handling corrrectly if the ManageDSAIT control is set ??? Bug M DIRSERVER-1500 Error searching children of known element. May be cause by the deletion of an entry with children >>> Bug M DIRSERVER-1501 Access Control can't retain after restart. Bug m DIRSERVER-1209 Some SP tests are not working anymore because of JNDI removal Bug m DIRSERVER-1312 Log4j with DEBUG Bug m DIRSERVER-1325 Simple Authentication can not be disabled Bug m DIRSERVER-1461 SaslGssapiBindITest.testSaslGssapiBind() test method fails when /etc/hosts file contains values referring to 127.0.0.1 Bug m DIRSERVER-1467 No permission to read all documentation about ACL >>> Bug t DIRSERVER-257 [Access Control] Autonomous areas for AC must not overlap 36 Improvements (1C 24M 10m 1t) ------------------------------ Impv C DIRSERVER-1378 Remove the Singleton from the DirectoryService, as it defeats the possibility to have more than one instance of this class Impv M DIRSERVER-874 Entries should be normalized in the NormalizationService Impv M DIRSERVER-997 Block search ability for userPassword attribute Impv M DIRSERVER-1049 [PERF] Speed improvement in Search operation Impv M DIRSERVER-1070 [PERF]Substring Filters are evaluated for every single entry Impv M DIRSERVER-1081 Injecting more information in the opContext structure >>> Impv M DIRSERVER-1160 provide more details when throwing "AccessControlException: access denied" Impv M DIRSERVER-1164 SSL Cert Compatibility issue with LDAPS for Outlook Clients Impv M DIRSERVER-1178 Add parent entry and id of primary entry in operation context Impv M DIRSERVER-1225 Add a Entry factory and pass it as an argument to the LdifEntry constructor Impv M DIRSERVER-1248 rc.d init script to default to "default" instance Impv M DIRSERVER-1282 Unit testing documentation is out of date Impv M DIRSERVER-1290 [Perf]Potential Speedup by returning a ref instead of a clone when asking for the RootDSE Impv M DIRSERVER-1321 Clarify relationship between partition.syncOnWrite and apacheDS.syncPeriodMillis configuration attributes Impv M DIRSERVER-1322 Auto inferring context entry Impv M DIRSERVER-1323 Command line tools for creating, deleting and managing instances Impv M DIRSERVER-1339 When doing a base scope search is a lookup triggered Impv M DIRSERVER-1382 Change the Cursor semantic for the next() and previous() methods Impv M DIRSERVER-1447 loadAllEnabled() method is taking way too long Impv M DIRSERVER-1478 [Perf] The filterContents() method is suboptimal Impv M DIRSERVER-1489 Provide access to remote connection info Impv M DIRSERVER-1496 [perf] Entry should not be cloned when doing a search Impv M DIRSERVER-1511 Some operations are present in the Partition interface when they should not Impv M DIRSERVER-1513 Implement our version of NamingEnumeration Impv M DIRSERVER-1514 Create our version of ExtendedRequest Impv m DIRSERVER-289 Configure an optional password message digest algorithm which is applied on userPassword attribute values at add and modify operations. Impv m DIRSERVER-477 Alias deferencing interceptor Impv m DIRSERVER-872 [PERF]Still too many DN normalization >>> Impv m DIRSERVER-876 Add a new 'supportedExtension' or 'supportedFeatures' value in RootDSE for ACI Item Impv m DIRSERVER-953 Provide registration scope support for Subtree (besides current Base support) in ModifyDN.Export/Import Triggers Impv m DIRSERVER-1236 Store an AttributeEntry object in filter's node Impv m DIRSERVER-1294 Add size() and hasNext() methods to cursors Impv m DIRSERVER-1299 Add causes when rethrowing caught exceptions (e.g. in org.apache.directory.server.integ.state.NonExistentState) Impv m DIRSERVER-1310 Improve the way we handle controls encoding/decoding Impv m DIRSERVER-1359 Embedding guide problems Impv m DIRSERVER-1460 Add locale to configuration Impv t DIRSERVER-1346 Use ServiceLifecycleListener to avoid having System.out messages for service start/stop events. 43 New Features (1C 34M 8m): ---------------------------- Feat C DIRSERVER-1436 Provide a tool to restore a crashed database Feat M DIRSERVER-434 Add Support for Paged Search Results Control Feat M DIRSERVER-440 Integrate clients into ApacheDS tools Feat M DIRSERVER-443 JNDI Event delivery should be asynchronous in a separate thread Feat M DIRSERVER-641 provide a security context to org.apache.directory.server.core.authn.AbstractAuthenticator.authenticate() Feat M DIRSERVER-678 Add support for extended operations to the Core Feat M DIRSERVER-760 reading .schema files at server start-up Feat M DIRSERVER-866 Initialization with another backend than JDBM for the system partition Feat M DIRSERVER-887 provide remote access info (memnonic name and ip) to complement audit trail info Feat M DIRSERVER-910 Provide getEffectiveRights like capability within Access Control subsystem Feat M DIRSERVER-937 Add HTTP service for ApacheDS Feat M DIRSERVER-992 Define new schema objects for Stored Procedure handling Feat M DIRSERVER-1030 Add CascadeControl and add functionality to cascade modify and delete effects +++ Feat M DIRSERVER-1185 Add support for Password Policy Feat M DIRSERVER-1186 Trace control and request level logging Feat M DIRSERVER-1203 RFC2307bis Support is missing Feat M DIRSERVER-1217 Binds with referrals can be used for delegated authentication Feat M DIRSERVER-1220 Implement the EXTERNAL SASL mechanism Feat M DIRSERVER-1221 Suport the proxy auhtorization in SASL implementation Feat M DIRSERVER-1222 Add our own NTLM protocol implementation Feat M DIRSERVER-1259 Make the userPassword not searchable from the outside Feat M DIRSERVER-1261 Add some CL tools to rebuild indices Feat M DIRSERVER-1263 Add authz schema Feat M DIRSERVER-1264 Add extended operations to reverting Feat M DIRSERVER-1265 Add support for VLV control Feat M DIRSERVER-1291 Support of Proxied Authorization Control (RFC 4370) Feat M DIRSERVER-1331 Ldif object should be able to return a List of EntryAttributes Feat M DIRSERVER-1345 Oracle partition implementation Feat M DIRSERVER-1388 Add the DeleteTree control Feat M DIRSERVER-1422 Delegation of Authentication Feat M DIRSERVER-1427 Errors should contain the associated SchemaObject when modifying the schema Feat M DIRSERVER-1453 Map SASL principals to DNs for ACI validation Feat M DIRSERVER-1477 Add an extended operation to re-index an attribute Feat M DIRSERVER-1479 The cursor implementation does not have a hasNext() method Feat M DIRSERVER-1508 Add an extended operation to perform operations on config schema dynamically Feat m DIRSERVER-264 Add Support for Sort Control Feat m DIRSERVER-275 Add Support for LDAP Password Modify Extended Operation Feat m DIRSERVER-441 Add Support for Language Tags and Ranges Feat m DIRSERVER-939 Implement RFC 4529 Feat m DIRSERVER-954 Provide pluggable implementation support for Trigger execution order Feat m DIRSERVER-949 Add support for LDAP URLs in context searches Feat m DIRSERVER-1004 Support REAL syntax and matchingRules without precision loss Feat m DIRSERVER-1246 Add shell scripts and batch files for clients 15 Tasks (1B 2C 10M 2m): ------------------------ Task B DIRSERVER-1512 Major cleaning in startup logs needed Task C DIRSERVER-1233 Add some unit tests for the CoreSession class Task C DIRSERVER-1482 Many methods' signature just declare a throws Exception : this is not enough Task M DIRSERVER-550 Clear numerous documentation TODOs Task M DIRSERVER-710 Exception tree should be reviewed Task M DIRSERVER-1057 Misplaced StoreProcedure packages Task M DIRSERVER-1193 Cleanup Index access methods after making Partitions hold configuration info in bigbang Task M DIRSERVER-1244 Code review + cleaning Task M DIRSERVER-1245 Source audit Task M DIRSERVER-1398 Add tests for modify Operation Task M DIRSERVER-1403 Implement the missing normalizers Task M DIRSERVER-1452 Fix all the @Ignored test classes and methods Task M DIRSERVER-1481 core-integ IntegrationUtils is using JNDI Task m DIRSERVER-1056 Cleaning the warnings Task m DIRSERVER-1358 Adding a FAQ 3 Tests (1C 3M): ---------------- Test C DIRSERVER-1433 Add tests for every methods in SchemaManager Test M DIRSERVER-1069 Outdated doc for unittesting version 1.5.1 +++ Test M DIRSERVER-1429 Implement tests for Syntax additions in SchemaManager -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com