From db3336e30e64052504fdc8f89914b97e4baa1ebb Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 12 Dec 2013 17:06:42 +0000
Subject: [PATCH] Fix OPENDJ-1249: ConnectionFactory timeout setting is applied for Active Directory persistent search requests
---
opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java | 7 +++++++
opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LDAPSearchFutureResultImpl.java | 3 ++-
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
index bdb6dad..6f30c07 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
@@ -106,6 +106,13 @@
public static final String OID = "2.16.840.1.113730.3.4.3";
/**
+ * The OID for the Microsoft Active Directory persistent search request
+ * control. The control itself is empty and the changes are returned in the
+ * following attributes "isDeleted", "whenChanged", "whenCreated".
+ */
+ public static final String ACTIVE_DIRECTORY_OID = "1.2.840.113556.1.4.528";
+
+ /**
* A decoder which can be used for decoding the persistent search request
* control.
*/
diff --git a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LDAPSearchFutureResultImpl.java b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LDAPSearchFutureResultImpl.java
index 31828d8..216ed6c 100644
--- a/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LDAPSearchFutureResultImpl.java
+++ b/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/LDAPSearchFutureResultImpl.java
@@ -69,7 +69,8 @@
super(requestID, resultHandler, intermediateResponseHandler, connection);
this.request = request;
this.searchResultHandler = resultHandler;
- this.isPersistentSearch = request.containsControl(PersistentSearchRequestControl.OID);
+ this.isPersistentSearch = request.containsControl(PersistentSearchRequestControl.OID)
+ || request.containsControl(PersistentSearchRequestControl.ACTIVE_DIRECTORY_OID);
}
/** {@inheritDoc} */
--
Gitblit v1.10.0