From 3749749fcfc4a3f9821fa8df2c0b93688971628e Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 12:48:19 +0000
Subject: [PATCH] Fix for issue #4536. Close JNDI enumerations to avoid unbinding and closing underlying LDAP connection. Fixes in all CLI and control panel.
---
opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
index bca2c3c..4b61f5f 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008-2009 Sun Microsystems, Inc.
+ * Copyright 2008-2010 Sun Microsystems, Inc.
*/
package org.opends.guitools.controlpanel.task;
@@ -294,19 +294,26 @@
NamingEnumeration<SearchResult> entries =
ctx.search(Utilities.getJNDIName(dn.toString()), filter, ctls);
- while (entries.hasMore())
+ try
{
- SearchResult sr = entries.next();
- Set<String> dns = ConnectionUtils.getValues(sr, attrName);
- for (String sDn : dns)
+ while (entries.hasMore())
{
- if (bindDN.equals(DN.decode(sDn)))
+ SearchResult sr = entries.next();
+ Set<String> dns = ConnectionUtils.getValues(sr, attrName);
+ for (String sDn : dns)
{
- isBoundAs = true;
- break;
+ if (bindDN.equals(DN.decode(sDn)))
+ {
+ isBoundAs = true;
+ break;
+ }
}
}
}
+ finally
+ {
+ entries.close();
+ }
}
catch (Throwable t)
{
--
Gitblit v1.10.0