You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2019/01/01 11:17:44 UTC
[directory-server] 02/02: Merge branch 'master' of
https://gitbox.apache.org/repos/asf/directory-server
This is an automated email from the ASF dual-hosted git repository.
elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-server.git
commit d9f4e8d2c63594055114d266a3f73f444d224261
Merge: f28f4aa 4e8a2e6
Author: Emmanuel Lecharny <el...@apache.org>
AuthorDate: Tue Jan 1 12:16:27 2019 +0100
Merge branch 'master' of
https://gitbox.apache.org/repos/asf/directory-server
# Conflicts:
# server-integ/src/test/java/org/apache/directory/server/replication/MockSyncReplConsumer.java
o Fixed some issues in the transaction handler
o Don't close the connection in the exceptionCaught method, it's done
later. That allow the NoD message to be sent to the client
o Fixed the replication test failures
.../core/api/LdapCoreSessionConnectionTest.java | 1 -
.../core/operations/search/SortedSearchIT.java | 2 +-
core/src/checkstyle/suppressions.xml | 1 +
.../server/core/security/TlsKeyGenerator.java | 101 +----
.../kerberos/client/KdcConnectionTest.java | 6 +-
.../src/test/resources/log4j.properties | 2 +-
.../shared/client/api/LdapApiIntegrationUtils.java | 1 -
.../template/LdapConnectionTemplateTest.java | 1 -
.../client/api/CertificateValidationTest.java | 442 +++++++++++++++++++++
.../shared/client/api/LdapConnectionPoolTest.java | 42 +-
.../shared/client/api/LdapConnectionTest.java | 39 +-
.../api/LightweightLdapConnectionPoolTest.java | 4 -
.../shared/client/api/ServerSchemaLoaderTest.java | 1 -
.../api/operations/ClientAddRequestTest.java | 2 -
.../api/operations/bind/SimpleBindRequestTest.java | 1 -
.../search/AnonymousClientSearchRequestTest.java | 1 -
.../operations/search/OperationWithIndexTest.java | 1 -
.../directory/server/ldap/LdapProtocolHandler.java | 6 +-
.../handlers/extended/EndTransactionHandler.java | 6 +
.../handlers/extended/StartTransactionHandler.java | 6 +
.../ldap/replication/SyncReplConfiguration.java | 2 +-
.../consumer/ReplicationConsumerImpl.java | 5 +-
.../provider/SyncReplRequestHandler.java | 2 +-
.../src/test/java/MultiThreadedReadWriteTest.java | 1 -
.../server/operations/add/AddAliasIT.java | 3 -
.../directory/server/operations/add/AddIT.java | 10 +-
.../AddingEntriesWithSpecialCharactersInRDNIT.java | 1 -
.../server/operations/bind/DelegatedAuthIT.java | 2 -
.../operations/bind/DelegatedAuthOverSslIT.java | 1 -
.../operations/bind/DelegatedAuthOverTlsIT.java | 1 -
.../server/operations/bind/SaslBindIT.java | 3 -
.../server/operations/bind/SimpleBindIT.java | 1 -
.../server/operations/extended/PwdModifyIT.java | 6 -
.../server/operations/extended/WhoAmIIT.java | 2 -
.../directory/server/operations/ldapsdk/AddIT.java | 1 +
.../server/operations/lookup/LookupIT.java | 2 -
.../server/operations/modify/ModifyAddIT.java | 2 -
.../server/operations/modifydn/ModifyRdnIT.java | 2 -
.../server/operations/search/PagedSearchIT.java | 3 +
.../operations/search/PersistentSearchApiIT.java | 4 +-
.../server/operations/search/SearchIT.java | 122 +++++-
.../server/operations/search/SearchPerfIT.java | 3 +-
.../server/operations/search/SortedSearchIT.java | 3 +-
.../directory/server/ppolicy/PasswordPolicyIT.java | 18 -
.../server/replication/ClientInitialRefreshIT.java | 91 ++---
.../replication/ClientServerReplicationIT.java | 10 +
.../server/replication/MockSyncReplConsumer.java | 27 +-
.../replication/StaleEventLogDetectionIT.java | 15 +
.../apache/directory/server/ssl/KeyStoreIT.java | 9 +-
49 files changed, 741 insertions(+), 277 deletions(-)
diff --cc core-integ/src/test/java/org/apache/directory/server/core/operations/search/SortedSearchIT.java
index 4b74cdb,4b74cdb..66f4ab7
--- a/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SortedSearchIT.java
+++ b/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SortedSearchIT.java
@@@ -365,7 -365,7 +365,7 @@@ public class SortedSearchIT extends Abs
public void testSortByDn() throws Exception
{
sk.setAttributeTypeDesc( "entryDn" );
-- sk.setMatchingRuleId( "2.5.13.1" );
++ sk.setMatchingRuleId( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
SearchCursor cursor = connection.search( req );
List<Entry> actualOrder = new ArrayList<Entry>();
diff --cc protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java
index 82d98b6,c4d0223..7bc588e
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java
@@@ -245,8 -246,8 +245,8 @@@ class LdapProtocolHandler extends Demux
LOG.warn( "Unexpected exception forcing session to close: sending disconnect notice to client.", cause );
session.write( NoticeOfDisconnect.PROTOCOLERROR );
-- LdapSession ldapSession = this.ldapServer.getLdapSessionManager().removeLdapSession( session );
-- cleanUpSession( ldapSession );
-- session.closeNow();
++ session.closeOnFlush();
++ //LdapSession ldapSession = this.ldapServer.getLdapSessionManager().removeLdapSession( session );
++ //cleanUpSession( ldapSession );
}
}
diff --cc protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/EndTransactionHandler.java
index d2580c5,ab30426..619f96b
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/EndTransactionHandler.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/EndTransactionHandler.java
@@@ -79,6 -80,6 +79,12 @@@ public class EndTransactionHandler impl
EndTransactionResponse endTransactionResponse = new EndTransactionResponseImpl( req.getMessageId() );
++ // Store the StartTransaction request name in the response, to be able to
++ // encode the response properly.
++ // Kurt Zeilenga should have set a responseName to make it easier to
++ // implement in RFC 5805 :/
++ endTransactionResponse.setResponseName( EndTransactionRequest.EXTENSION_OID );
++
// write the response
session.getIoSession().write( endTransactionResponse );
}
diff --cc protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTransactionHandler.java
index b64f5b2,b64f5b2..a630004
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTransactionHandler.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTransactionHandler.java
@@@ -80,6 -80,6 +80,12 @@@ public class StartTransactionHandler im
StartTransactionResponse startTransactionResponse = new StartTransactionResponseImpl(
req.getMessageId(), Conversion.convertToByteArray( transactionId ) );
++
++ // Store the StartTransaction request name in the response, to be able to
++ // encode the response properly.
++ // Kurt Zeilenga should have set a responseName to make it easier to
++ // implement in RFC 5805 :/
++ startTransactionResponse.setResponseName( StartTransactionRequest.EXTENSION_OID );
// write the response
session.getIoSession().write( startTransactionResponse );
diff --cc protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
index 37759c5,4bb1954..0ba592b
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java
@@@ -1358,7 -1360,7 +1357,7 @@@ public class ReplicationConsumerImpl im
// the ENTRY_DN_AT must be in the attribute list, otherwise sorting fails
req.addAttributes( SchemaConstants.ENTRY_DN_AT );
-- SortKey sk = new SortKey( SchemaConstants.ENTRY_DN_AT, "2.5.13.1" );
++ SortKey sk = new SortKey( SchemaConstants.ENTRY_DN_AT, SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
SortRequest ctrl = new SortRequestImpl();
ctrl.addSortKey( sk );
req.addControl( ctrl );
@@@ -1427,7 -1429,7 +1426,7 @@@
// the ENTRY_DN_AT must be in the attribute list, otherwise sorting fails
req.addAttributes( SchemaConstants.ENTRY_DN_AT );
-- SortKey sk = new SortKey( SchemaConstants.ENTRY_DN_AT, "2.5.13.1" );
++ SortKey sk = new SortKey( SchemaConstants.ENTRY_DN_AT, SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
SortRequest ctrl = new SortRequestImpl();
ctrl.addSortKey( sk );
diff --cc protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java
index 154ab4c,0edac1f..9c63f1a
--- a/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java
+++ b/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/SyncReplRequestHandler.java
@@@ -497,7 -498,7 +497,7 @@@ public class SyncReplRequestHandler imp
.debug( "Adding sort control to sort the entries by entryDn attribute to preserve order of insertion" );
SortKey sk = new SortKey( SchemaConstants.ENTRY_DN_AT );
// matchingrule for "entryDn"
-- sk.setMatchingRuleId( "2.5.13.1" );
++ sk.setMatchingRuleId( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
sk.setReverseOrder( true );
ctrl = new SortRequestImpl();
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java
index 35aeebe,8aedb55..ab3236f
--- a/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/add/AddIT.java
@@@ -1183,9 -1183,9 +1183,11 @@@ public class AddIT extends AbstractLdap
if ( connection.isConnected() )
{
// Race condition:
-- // Upon NoticeOfDisconnection the API sends an abandon request but does not immediately close the connection.
-- // So at this point it is not guaranteed that the connnection is already closed.
-- // TODO: This is just a workaround, better check the connection for any outstanding abandon requests
++ // Upon NoticeOfDisconnection the API sends an abandon request but does not
++ // immediately close the connection.
++ // So at this point it is not guaranteed that the connection is already closed.
++ // TODO: This is just a workaround, better check the connection for any
++ // outstanding abandon requests
Thread.sleep( 1000 );
}
assertFalse( connection.isConnected() );
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/extended/PwdModifyIT.java
index 7dd5397,dfe769e..3023496
--- a/server-integ/src/test/java/org/apache/directory/server/operations/extended/PwdModifyIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/extended/PwdModifyIT.java
@@@ -28,10 -28,14 +28,9 @@@ import static org.junit.Assert.assertNo
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
-import org.apache.directory.api.ldap.codec.api.LdapApiService;
--import org.apache.directory.api.ldap.codec.api.LdapApiServiceFactory;
-import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyRequest;
import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyErrorEnum;
-import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyRequestImpl;
import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyResponse;
import org.apache.directory.api.ldap.extras.controls.ppolicy.PasswordPolicyResponseImpl;
-import org.apache.directory.api.ldap.extras.controls.ppolicy_impl.PasswordPolicyResponseDecorator;
import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyRequest;
import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyRequestImpl;
import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyResponse;
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/AddIT.java
index d068660,d068660..cc3490e
--- a/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/AddIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/AddIT.java
@@@ -1200,6 -1200,6 +1200,7 @@@ public class AddIT extends AbstractLdap
}
assertFalse( connection.isConnected() );
}
++ connection.close();
}
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/search/PagedSearchIT.java
index d3e174f,c28ea18..c13c835
--- a/server-integ/src/test/java/org/apache/directory/server/operations/search/PagedSearchIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/search/PagedSearchIT.java
@@@ -1174,5 -1174,5 +1174,8 @@@ public class PagedSearchIT extends Abst
assertEquals( 4, loop );
checkResults( results, 10 );
++
++ // And close the connection
++ closeConnection( ctx );
}
}
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchApiIT.java
index 7811358,52035d5..514a0e1
--- a/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchApiIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/search/PersistentSearchApiIT.java
@@@ -616,9 -619,9 +616,7 @@@ public class PersistentSearchApiIT exte
PSearchListener( PersistentSearch persistentSearch )
{
- LdapApiService codec = getLdapServer().getDirectoryService().getLdapCodecService();
-
- this.persistentSearch = ( PersistentSearch ) codec.getRequestControlFactories().get( PersistentSearch.OID ).newControl();
- CodecControl<? extends Control> wrapped =
- getLdapServer().getDirectoryService().getLdapCodecService().newRequestControl( persistentSearch );
- this.persistentSearch = ( PersistentSearchDecorator ) wrapped;
++ this.persistentSearch = persistentSearch;
}
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/search/SearchIT.java
index dfa5a1f,dfa5a1f..49797db
--- a/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchIT.java
@@@ -205,9 -205,9 +205,6 @@@ import org.junit.runner.RunWith
public class SearchIT extends AbstractLdapTestUnit
{
private static final String BASE = "ou=system";
--
-- //public static LdapServer getLdapServer();
--
private static final String RDN = "cn=Tori Amos";
private static final String RDN2 = "cn=Rolling-Stones";
private static final String HEATHER_RDN = "cn=Heather Nova";
@@@ -237,7 -237,7 +234,6 @@@
0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 0x00, 0x3f, 0x00, ( byte ) 0x8a, 0x00, ( byte ) 0xb5, ( byte ) 0xe3,
( byte ) 0xff, ( byte ) 0xd9, };
--
/**
* Creation of required attributes of a person entry.
*/
@@@ -287,6 -287,6 +283,7 @@@
assertNotNull( sr );
assertFalse( enm.hasMore() );
assertEquals( "cn=Kate Bush", sr.getName() );
++ enm.close();
enm = ctx.search( "", "(&(cn=Kate Bush)(userCertificate={0}))", new Object[]
{ certData }, controls );
@@@ -295,6 -295,6 +292,7 @@@
assertNotNull( sr );
assertFalse( enm.hasMore() );
assertEquals( "cn=Kate Bush", sr.getName() );
++ enm.close();
enm = ctx.search( "", "(userCertificate=\\34\\56\\4E\\5F)", controls );
assertTrue( enm.hasMore() );
@@@ -318,6 -318,6 +316,9 @@@
assertEquals( 4, count );
assertFalse( enm.hasMore() );
assertEquals( 0, expected.size() );
++
++ enm.close();
++ ctx.close();
}
@@@ -357,6 -357,6 +358,9 @@@
NamingEnumeration<SearchResult> result = ctx.search( "ou=system", "(objectClass=*)", controls );
assertTrue( result.hasMore() );
++
++ result.close();
++ ctx.close();
}
catch ( InvalidNameException ine )
{
@@@ -395,6 -395,6 +399,8 @@@
assertEquals( "cn=Janis Joplin,ou=system", entry.getName() );
assertFalse( result.hasMore() );
++ result.close();
++ ctx.close();
}
catch ( InvalidNameException ine )
{
@@@ -418,15 -418,15 +424,18 @@@
LdapContext ctx = ( LdapContext ) getWiredContext( getLdapServer() ).lookup( BASE );
SearchControls controls = new SearchControls();
controls.setSearchScope( SearchControls.ONELEVEL_SCOPE );
-- NamingEnumeration<SearchResult> ii = ctx.search( "", filter, controls );
++ NamingEnumeration<SearchResult> searchResults = ctx.search( "", filter, controls );
// collect all results
HashSet<String> results = new HashSet<String>();
-- while ( ii.hasMore() )
++ while ( searchResults.hasMore() )
{
-- SearchResult result = ii.next();
++ SearchResult result = searchResults.next();
results.add( result.getName() );
}
++
++ searchResults.close();
++ ctx.close();
return results;
}
@@@ -494,6 -494,6 +503,9 @@@
assertNotNull( sn );
assertTrue( sn.contains( "Ferry" ) );
}
++
++ enm.close();
++ ctx.close();
}
catch ( Exception e )
{
@@@ -524,72 -524,72 +536,93 @@@
results = ctx.search( RDN2, "(cn=*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
// Search for all entries ending by Amos
results = ctx.search( RDN, "(cn=*Amos)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*Amos)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries ending by amos
results = ctx.search( RDN, "(cn=*amos)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*amos)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries starting by Tori
results = ctx.search( RDN, "(cn=Tori*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=Tori*)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries starting by tori
results = ctx.search( RDN, "(cn=tori*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=tori*)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries containing ori
results = ctx.search( RDN, "(cn=*ori*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*ori*)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries containing o and i
results = ctx.search( RDN, "(cn=*o*i*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*o*i*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
// Search for all entries containing o, space and o
results = ctx.search( RDN, "(cn=*o* *o*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*o* *o*)", ctls );
assertFalse( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*o*-*o*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
// Search for all entries starting by To and containing A
results = ctx.search( RDN, "(cn=To*A*)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=To*A*)", ctls );
assertFalse( results.hasMore() );
++ results.close();
// Search for all entries ending by os and containing ri
results = ctx.search( RDN, "(cn=*ri*os)", ctls );
assertTrue( results.hasMore() );
++ results.close();
results = ctx.search( RDN2, "(cn=*ri*os)", ctls );
assertFalse( results.hasMore() );
++ results.close();
++ ctx.close();
}
@@@ -658,6 -658,6 +691,7 @@@
SearchResult result = results.next();
assertNotNull( result );
assertFalse( results.hasMore() );
++ results.close();
NamingEnumeration<? extends Attribute> attrs = result.getAttributes().getAll();
@@@ -670,6 -670,6 +704,8 @@@
assertNotNull( result.getAttributes().get( "objectClasses" ) );
assertEquals( 1, result.getAttributes().size() );
++ attrs.close();
++ ctx.close();
}
@@@ -743,7 -743,7 +779,9 @@@
fail( "entry " + rdn + " not found" );
}
++ result.close();
ctx.destroySubcontext( rdn );
++ ctx.close();
}
@@@ -779,8 -779,8 +817,10 @@@
{
fail( "entry " + rdn + " not found" );
}
--
++
++ result.close();
ctx.destroySubcontext( rdn );
++ ctx.close();
}
@@@ -818,6 -818,6 +858,8 @@@
assertEquals( "expected results size of", 1, results.size() );
assertTrue( results.contains( "cn=anyBodyAdd" ) );
++ enm.close();
++ ctx.close();
}
@@@ -852,7 -852,7 +894,9 @@@
assertTrue( sn.contains( "Bush" ) );
}
++ enm.close();
ctx.destroySubcontext( rdn );
++ ctx.close();
}
@@@ -906,7 -906,7 +950,9 @@@
fail( "Entry not found:" + nameInNamespace );
}
++ enm.close();
ctx.destroySubcontext( rdn );
++ ctx.close();
}
@@@ -940,6 -940,6 +986,9 @@@
}
}
}
++
++ res.close();
++ ctx.close();
}
@@@ -967,6 -967,6 +1016,9 @@@
// ensure that no other value was found
assertFalse( res.hasMore() );
++
++ res.close();
++ ctx.close();
}
@@@ -996,6 -996,6 +1048,8 @@@
assertNotNull( attrs.get( "cn" ) );
assertEquals( 1, attrs.get( "cn" ).size() );
assertEquals( "Tori Amos", attrs.get( "cn" ).get() );
++ res.close();
++ ctx.close();
}
@@@ -1028,6 -1028,6 +1082,8 @@@
assertNotNull( attrs.get( "sn" ) );
assertEquals( 1, attrs.get( "sn" ).size() );
assertEquals( "Amos", attrs.get( "sn" ).get() );
++ res.close();
++ ctx.close();
}
@@@ -1062,6 -1062,6 +1118,8 @@@
assertNotNull( attrs.get( "cn" ) );
assertEquals( 1, attrs.get( "cn" ).size() );
assertEquals( "Tori Amos", attrs.get( "cn" ).get() );
++ res.close();
++ ctx.close();
}
@@@ -1096,6 -1096,6 +1154,8 @@@
assertNotNull( attrs.get( "cn" ) );
assertEquals( 1, attrs.get( "cn" ).size() );
assertEquals( "Tori Amos", attrs.get( "cn" ).get() );
++ res.close();
++ ctx.close();
}
@@@ -1153,6 -1153,6 +1213,9 @@@
assertNotNull( attrs.get( "c-l" ) );
assertEquals( 1, attrs.get( "c-l" ).size() );
assertEquals( "Munich", attrs.get( "c-l" ).get() );
++
++ res.close();
++ ctx.close();
}
@@@ -1187,6 -1187,6 +1250,8 @@@
assertNotNull( attrs.get( "userCertificate" ) );
assertNull( attrs.get( "createtimestamp" ) );
assertNull( attrs.get( "creatorsname" ) );
++ res.close();
++ ctx.close();
}
@@@ -1227,6 -1227,6 +1292,9 @@@
assertNotNull( attrs.get( "subschemaSubentry" ) );
assertNotNull( attrs.get( "nbChildren" ) );
assertNotNull( attrs.get( "nbSubordinates" ) );
++
++ res.close();
++ ctx.close();
}
@@@ -1256,6 -1256,6 +1324,9 @@@
assertEquals( 1, attrs.size() );
assertNotNull( attrs.get( "nbChildren" ) );
assertNull( attrs.get( "nbSubordinates" ) );
++
++ res.close();
++ ctx.close();
}
@@@ -1285,6 -1285,6 +1356,9 @@@
assertEquals( 1, attrs.size() );
assertNotNull( attrs.get( "nbSubordinates" ) );
assertNull( attrs.get( "nbChildren" ) );
++
++ res.close();
++ ctx.close();
}
@@@ -1338,6 -1338,6 +1412,7 @@@
long t001 = System.currentTimeMillis();
System.out.println( "Delta without children(2) = " + ( t001 - t000 ) );
++ ctx.close();
}
@@@ -1378,6 -1378,6 +1453,8 @@@
assertNotNull( attrs.get( "subschemaSubentry" ) );
assertNotNull( attrs.get( "nbChildren" ) );
assertNotNull( attrs.get( "nbSubordinates" ) );
++ res.close();
++ ctx.close();
}
@@@ -1396,6 -1396,6 +1473,8 @@@
{
assertTrue( true );
}
++
++ ctx.close();
}
@@@ -1416,6 -1416,6 +1495,8 @@@
{
assertTrue( true );
}
++
++ ctx.close();
}
@@@ -1449,6 -1449,6 +1530,7 @@@
}
result.close();
++ ctx.close();
}
@@@ -1482,6 -1482,6 +1564,7 @@@
}
result.close();
++ ctx.close();
}
@@@ -1500,6 -1500,6 +1583,7 @@@
NamingEnumeration<SearchResult> result = ctx.search( HEATHER_RDN, FILTER, ctls );
result.close();
++ ctx.close();
}
@@@ -1518,6 -1518,6 +1602,7 @@@
NamingEnumeration<SearchResult> result = ctx.search( HEATHER_RDN, FILTER, ctls );
result.close();
++ ctx.close();
}
@@@ -1535,6 -1535,6 +1620,7 @@@
NamingEnumeration<SearchResult> result = ctx.search( HEATHER_RDN, FILTER, ctls );
result.close();
++ ctx.close();
}
@@@ -1597,6 -1597,6 +1683,7 @@@
}
result.close();
++ ctx.close();
}
@@@ -1633,7 -1633,7 +1720,10 @@@
assertEquals( 1, attrs.get( "cn" ).size() );
assertEquals( "jimbean", attrs.get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
}
++
++ ctx.close();
}
@@@ -1665,6 -1665,6 +1755,8 @@@
{
assertTrue( true );
}
++
++ ctx.close();
}
@@@ -1698,6 -1698,6 +1790,8 @@@
assertTrue( res.hasMore() );
assertEquals( "x*y*z*", res.next().getAttributes().get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
++ ctx.close();
}
@@@ -1741,24 -1741,24 +1835,29 @@@
assertTrue( res.hasMore() );
assertEquals( "groupOfNames", res.next().getAttributes().get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
// search with escaped filter value
res = ctx.search( "", "(member=uid=r\\c3\\a9dacteur1,ou=system)", controls );
assertTrue( res.hasMore() );
assertEquals( "groupOfNames", res.next().getAttributes().get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
// search with unicode filter value
res = ctx.search( "", "(uniqueMember=uid=r\u00e9dacteur1,ou=system)", controls );
assertTrue( res.hasMore() );
assertEquals( "groupOfUniqueNames", res.next().getAttributes().get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
// search with escaped filter value
res = ctx.search( "", "(uniqueMember=uid=r\\c3\\a9dacteur1,ou=system)", controls );
assertTrue( res.hasMore() );
assertEquals( "groupOfUniqueNames", res.next().getAttributes().get( "cn" ).get() );
assertFalse( res.hasMore() );
++ res.close();
++ ctx.close();
}
@@@ -1788,6 -1788,6 +1887,7 @@@
}
result.close();
++ ctx.close();
}
@@@ -1867,6 -1867,6 +1967,8 @@@
SearchResult entry = result.next();
assertEquals( "Kim Wilde", entry.getAttributes().get( "cn" ).get() );
++ result.close();
++ ctx.close();
}
@@@ -1927,6 -1927,6 +2029,7 @@@
}
assertTrue( newCount < count );
++ cursor.close();
connection.close();
}
@@@ -1946,6 -1946,6 +2049,7 @@@
SearchResult sr = result.next();
assertNotNull( sr );
assertEquals( "Kim Wilde", sr.getAttributes().get( "cn" ).get() );
++ result.close();
// Now check with another version of the filter
result = ctx.search( "cn=Kim Wilde,ou=system",
@@@ -1955,6 -1955,6 +2059,8 @@@
sr = result.next();
assertNotNull( sr );
assertEquals( "Kim Wilde", sr.getAttributes().get( "cn" ).get() );
++ result.close();
++ ctx.close();
}
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/search/SearchPerfIT.java
index 1ffe180,a76fefa..aa4d884
--- a/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchPerfIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchPerfIT.java
@@@ -575,5 -573,5 +573,6 @@@ public class SearchPerfIT extends Abstr
Long deltaWarmed = ( t1 - t00 );
System.out.println( "Delta : " + deltaWarmed + "( " + ( ( ( nbIterations - 50000 ) * 1000 ) / deltaWarmed )
+ " per s ) /" + ( t1 - t0 ) + ", count : " + count );
++ connection.close();
}
}
diff --cc server-integ/src/test/java/org/apache/directory/server/operations/search/SortedSearchIT.java
index c52ef5a,5f43084..a117a1f
--- a/server-integ/src/test/java/org/apache/directory/server/operations/search/SortedSearchIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/operations/search/SortedSearchIT.java
@@@ -368,7 -367,7 +367,7 @@@ public class SortedSearchIT extends Abs
public void testSortByDn() throws Exception
{
sk.setAttributeTypeDesc( "entryDn" );
-- sk.setMatchingRuleId( "2.5.13.1" );
++ sk.setMatchingRuleId( SchemaConstants.DISTINGUISHED_NAME_MATCH_MR_OID );
SearchCursor cursor = con.search( req );
List<Entry> actualOrder = new ArrayList<Entry>();
diff --cc server-integ/src/test/java/org/apache/directory/server/replication/ClientInitialRefreshIT.java
index 275c5a5,a526127..bb811f9
--- a/server-integ/src/test/java/org/apache/directory/server/replication/ClientInitialRefreshIT.java
+++ b/server-integ/src/test/java/org/apache/directory/server/replication/ClientInitialRefreshIT.java
@@@ -61,6 -62,7 +62,8 @@@ import org.junit.After
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
++import org.junit.Ignore;
+ import org.junit.Rule;
import org.junit.Test;
@@@ -69,8 -71,11 +72,12 @@@
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
++//@Ignore
public class ClientInitialRefreshIT
{
+ @Rule
+ public MultiThreadedMultiInvoker i = new MultiThreadedMultiInvoker( MultiThreadedMultiInvoker.NOT_THREADSAFE );
+
private static LdapServer providerServer;
private static SchemaManager schemaManager;
@@@ -162,12 -167,12 +169,6 @@@
{
DirectoryService provDirService = DSAnnotationProcessor.getDirectoryService();
-- // Load the replication controls
-- LdapApiService codec = provDirService.getLdapCodecService();
-- codec.registerRequestControl( new SyncRequestValueFactory( codec ) );
-- codec.registerResponseControl( new SyncDoneValueFactory( codec ) );
-- codec.registerResponseControl( new SyncStateValueFactory( codec ) );
--
providerServer = ServerAnnotationProcessor.getLdapServer( provDirService );
providerServer.setReplicationReqHandler( new SyncReplRequestHandler() );
diff --cc server-integ/src/test/java/org/apache/directory/server/replication/MockSyncReplConsumer.java
index a4717bd,a462207..cc8d791
--- a/server-integ/src/test/java/org/apache/directory/server/replication/MockSyncReplConsumer.java
+++ b/server-integ/src/test/java/org/apache/directory/server/replication/MockSyncReplConsumer.java
@@@ -217,7 -222,6 +217,7 @@@ public class MockSyncReplConsumer imple
if ( connection == null )
{
connection = new LdapNetworkConnection( providerHost, port );
- connection.setTimeOut( -1L );
++ connection.setTimeOut( 10000L );
if ( config.isUseTls() )
{
@@@ -396,20 -400,24 +396,13 @@@
/**
* {@inheritDoc}
*/
-- public void handleSyncInfo( IntermediateResponse syncInfoResp )
++ public void handleSyncInfo( SyncInfoValue syncInfoValue )
{
try
{
LOG.debug( "............... inside handleSyncInfo ..............." );
-- byte[] syncInfoBytes = syncInfoResp.getResponseValue();
- LOG.debug( "received intermediate response: " + syncInfoResp );
--
-- if ( syncInfoBytes == null )
-- {
- LOG.debug( "received null sync info");
-- return;
-- }
--
- SyncInfoValue syncInfoValue = new SyncInfoValueFactory().newResponse( syncInfoBytes );
- SyncInfoValueDecorator decorator = new SyncInfoValueDecorator( ldapCodecService );
- SyncInfoValue syncInfoValue = ( SyncInfoValue ) decorator.decode( syncInfoBytes );
+ LOG.debug( "received sync info: " + syncInfoValue );
byte[] cookie = syncInfoValue.getCookie();
@@@ -691,7 -699,7 +684,7 @@@
}
else if ( resp instanceof IntermediateResponse )
{
-- handleSyncInfo( ( IntermediateResponse ) resp );
++ handleSyncInfo( ( SyncInfoValue ) resp );
}
resp = sf.get();