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/SHA1PasswordStorageScheme.java | 92 ++++++++++++++++++++-------------------------
1 files changed, 41 insertions(+), 51 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java b/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
index 1b85d79..d1c92ab 100644
--- a/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.java
+++ b/opends/src/server/org/opends/server/extensions/SHA1PasswordStorageScheme.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.SHA1PasswordStorageSchemeCfg;
@@ -83,7 +82,7 @@
private MessageDigest messageDigest;
// The lock used to provide threadsafe access to the message digest.
- private ReentrantLock digestLock;
+ private Object digestLock;
@@ -123,7 +122,7 @@
throw new InitializationException(message, e);
}
- digestLock = new ReentrantLock();
+ digestLock = new Object();
}
@@ -148,27 +147,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));
@@ -190,27 +186,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));
@@ -229,24 +222,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