From 6781e3b79f4ff822aeb68d4d3a3dcd8b49ad86f9 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:
---
opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java | 92 ++++++++++++++++++++-------------------------
1 files changed, 41 insertions(+), 51 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
index dd2467e..a614ac1 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
@@ -30,7 +30,6 @@
import java.security.MessageDigest;
import java.util.Arrays;
-import java.util.concurrent.locks.ReentrantLock;
import org.opends.messages.Message;
import org.opends.server.admin.std.server.MD5PasswordStorageSchemeCfg;
@@ -83,7 +82,7 @@
private MessageDigest messageDigest;
// The lock used to provide threadsafe access to the message digest.
- private ReentrantLock digestLock;
+ private Object digestLock;
@@ -124,7 +123,7 @@
throw new InitializationException(message, e);
}
- digestLock = new ReentrantLock();
+ digestLock = new Object();
}
@@ -149,27 +148,24 @@
{
byte[] digestBytes;
- digestLock.lock();
-
- try
+ synchronized (digestLock)
{
- digestBytes = messageDigest.digest(plaintext.value());
- }
- catch (Exception e)
- {
- if (debugEnabled())
+ try
{
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ digestBytes = messageDigest.digest(plaintext.value());
}
+ catch (Exception e)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ }
- Message message = ERR_PWSCHEME_CANNOT_ENCODE_PASSWORD.get(
- CLASS_NAME, getExceptionMessage(e));
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- message, e);
- }
- finally
- {
- digestLock.unlock();
+ Message message = ERR_PWSCHEME_CANNOT_ENCODE_PASSWORD.get(
+ CLASS_NAME, getExceptionMessage(e));
+ throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
+ message, e);
+ }
}
return ByteStringFactory.create(Base64.encode(digestBytes));
@@ -191,27 +187,24 @@
byte[] digestBytes;
- digestLock.lock();
-
- try
+ synchronized (digestLock)
{
- digestBytes = messageDigest.digest(plaintext.value());
- }
- catch (Exception e)
- {
- if (debugEnabled())
+ try
{
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ digestBytes = messageDigest.digest(plaintext.value());
}
+ catch (Exception e)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ }
- Message message = ERR_PWSCHEME_CANNOT_ENCODE_PASSWORD.get(
- CLASS_NAME, getExceptionMessage(e));
- throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
- message, e);
- }
- finally
- {
- digestLock.unlock();
+ Message message = ERR_PWSCHEME_CANNOT_ENCODE_PASSWORD.get(
+ CLASS_NAME, getExceptionMessage(e));
+ throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
+ message, e);
+ }
}
buffer.append(Base64.encode(digestBytes));
@@ -231,24 +224,21 @@
{
byte[] userPWDigestBytes;
- digestLock.lock();
-
- try
+ synchronized (digestLock)
{
- userPWDigestBytes = messageDigest.digest(plaintextPassword.value());
- }
- catch (Exception e)
- {
- if (debugEnabled())
+ try
{
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ userPWDigestBytes = messageDigest.digest(plaintextPassword.value());
}
+ catch (Exception e)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ }
- return false;
- }
- finally
- {
- digestLock.unlock();
+ return false;
+ }
}
byte[] storedPWDigestBytes;
--
Gitblit v1.10.0