From 47be44124da7f6ad42bed03a24701ca07c00918d Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 12 Sep 2007 00:03:02 +0000
Subject: [PATCH] Make a couple of changes to help improve server performance:
---
opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java | 22 +++++++---------------
1 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java b/opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java
index 7ead7ab..cc0e904 100644
--- a/opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java
+++ b/opends/src/server/org/opends/server/extensions/CRAMMD5SASLMechanismHandler.java
@@ -25,7 +25,6 @@
* Portions Copyright 2006-2007 Sun Microsystems, Inc.
*/
package org.opends.server.extensions;
-import org.opends.messages.Message;
@@ -36,8 +35,8 @@
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
+import org.opends.messages.Message;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.CramMD5SASLMechanismHandlerCfg;
import org.opends.server.admin.std.server.SASLMechanismHandlerCfg;
@@ -48,10 +47,12 @@
import org.opends.server.core.BindOperation;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.PasswordPolicyState;
+import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.protocols.asn1.ASN1OctetString;
import org.opends.server.types.AuthenticationInfo;
import org.opends.server.types.ByteString;
import org.opends.server.types.ConfigChangeResult;
+import org.opends.server.types.DebugLogLevel;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.DN;
import org.opends.server.types.Entry;
@@ -59,11 +60,8 @@
import org.opends.server.types.LockManager;
import org.opends.server.types.ResultCode;
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.DebugLogLevel;
import static org.opends.messages.ExtensionMessages.*;
-
+import static org.opends.server.loggers.debug.DebugLogger.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -112,7 +110,7 @@
// The lock that will be used to provide threadsafe access to the message
// digest.
- private ReentrantLock digestLock;
+ private Object digestLock;
// The random number generator that we will use to create the server
// challenge.
@@ -147,7 +145,7 @@
// Initialize the variables needed for the MD5 digest creation.
- digestLock = new ReentrantLock();
+ digestLock = new Object();
randomGenerator = new SecureRandom();
try
@@ -536,9 +534,7 @@
// Grab a lock to protect the MD5 digest generation.
- digestLock.lock();
-
- try
+ synchronized (digestLock)
{
// If the password is longer than the HMAC-MD5 block length, then use an
// MD5 digest of the password rather than the password itself.
@@ -575,10 +571,6 @@
// Return an MD5 digest of the resulting array.
return md5Digest.digest(oPadAndHash);
}
- finally
- {
- digestLock.unlock();
- }
}
--
Gitblit v1.10.0