From 764833f650b491bd0496a739f212d85238b8c769 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 11 Dec 2013 17:03:10 +0000
Subject: [PATCH] Fix OPENDJ-1249 - ConnectionFactory timeout setting is applied for Active Directory persistent search requests.
---
opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java | 7 +++++++
opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPSearchFutureResultImpl.java | 6 +++++-
2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPSearchFutureResultImpl.java b/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPSearchFutureResultImpl.java
index 39f2022..851584a 100644
--- a/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPSearchFutureResultImpl.java
+++ b/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPSearchFutureResultImpl.java
@@ -27,6 +27,8 @@
package com.forgerock.opendj.ldap;
+import static org.forgerock.opendj.ldap.controls.PersistentSearchRequestControl.ACTIVE_DIRECTORY_OID;
+
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.IntermediateResponseHandler;
import org.forgerock.opendj.ldap.ResultCode;
@@ -54,7 +56,9 @@
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(ACTIVE_DIRECTORY_OID);
}
public boolean handleEntry(final SearchResultEntry entry) {
diff --git a/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java b/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
index 396d971..c0b13b4 100644
--- a/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
+++ b/opendj-ldap-sdk/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.
*/
--
Gitblit v1.10.0