From 22094368c2865dcfb6daf8366425212b721a4657 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 05 Feb 2009 17:42:14 +0000
Subject: [PATCH] Merge ASN1 branch to trunk
---
opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java | 50 ++++++++++++++++++++++++++------------------------
1 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java b/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
index 63ebe3d..aae5497 100644
--- a/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
+++ b/opends/src/server/org/opends/server/extensions/MD5PasswordStorageScheme.java
@@ -29,7 +29,6 @@
import java.security.MessageDigest;
-import java.util.Arrays;
import org.opends.messages.Message;
import org.opends.server.admin.std.server.MD5PasswordStorageSchemeCfg;
@@ -37,12 +36,7 @@
import org.opends.server.config.ConfigException;
import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.debug.DebugTracer;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.ByteStringFactory;
-import org.opends.server.types.DebugLogLevel;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.InitializationException;
-import org.opends.server.types.ResultCode;
+import org.opends.server.types.*;
import org.opends.server.util.Base64;
import static org.opends.messages.ExtensionMessages.*;
@@ -143,7 +137,7 @@
* {@inheritDoc}
*/
@Override()
- public ByteString encodePassword(ByteString plaintext)
+ public ByteString encodePassword(ByteSequence plaintext)
throws DirectoryException
{
byte[] digestBytes;
@@ -152,7 +146,9 @@
{
try
{
- digestBytes = messageDigest.digest(plaintext.value());
+ // TODO: Can we avoid this copy?
+ byte[] plaintextBytes = plaintext.toByteArray();
+ digestBytes = messageDigest.digest(plaintextBytes);
}
catch (Exception e)
{
@@ -168,7 +164,7 @@
}
}
- return ByteStringFactory.create(Base64.encode(digestBytes));
+ return ByteString.valueOf(Base64.encode(digestBytes));
}
@@ -177,7 +173,7 @@
* {@inheritDoc}
*/
@Override()
- public ByteString encodePasswordWithScheme(ByteString plaintext)
+ public ByteString encodePasswordWithScheme(ByteSequence plaintext)
throws DirectoryException
{
StringBuilder buffer = new StringBuilder();
@@ -185,13 +181,15 @@
buffer.append(STORAGE_SCHEME_NAME_MD5);
buffer.append('}');
+ // TODO: Can we avoid this copy?
+ byte[] plaintextBytes = plaintext.toByteArray();
byte[] digestBytes;
synchronized (digestLock)
{
try
{
- digestBytes = messageDigest.digest(plaintext.value());
+ digestBytes = messageDigest.digest(plaintextBytes);
}
catch (Exception e)
{
@@ -210,7 +208,7 @@
buffer.append(Base64.encode(digestBytes));
- return ByteStringFactory.create(buffer.toString());
+ return ByteString.valueOf(buffer.toString());
}
@@ -219,16 +217,19 @@
* {@inheritDoc}
*/
@Override()
- public boolean passwordMatches(ByteString plaintextPassword,
- ByteString storedPassword)
+ public boolean passwordMatches(ByteSequence plaintextPassword,
+ ByteSequence storedPassword)
{
- byte[] userPWDigestBytes;
+ // TODO: Can we avoid this copy?
+ byte[] plaintextPasswordBytes = plaintextPassword.toByteArray();
+ ByteString userPWDigestBytes;
synchronized (digestLock)
{
try
{
- userPWDigestBytes = messageDigest.digest(plaintextPassword.value());
+ userPWDigestBytes =
+ ByteString.wrap(messageDigest.digest(plaintextPasswordBytes));
}
catch (Exception e)
{
@@ -241,10 +242,11 @@
}
}
- byte[] storedPWDigestBytes;
+ ByteString storedPWDigestBytes;
try
{
- storedPWDigestBytes = Base64.decode(storedPassword.stringValue());
+ storedPWDigestBytes =
+ ByteString.wrap(Base64.decode(storedPassword.toString()));
}
catch (Exception e)
{
@@ -254,12 +256,12 @@
}
logError(ERR_PWSCHEME_CANNOT_BASE64_DECODE_STORED_PASSWORD.get(
- storedPassword.stringValue(), String.valueOf(e)));
+ storedPassword.toString(), String.valueOf(e)));
return false;
}
- return Arrays.equals(userPWDigestBytes, storedPWDigestBytes);
+ return userPWDigestBytes.equals(storedPWDigestBytes);
}
@@ -280,7 +282,7 @@
* {@inheritDoc}
*/
@Override()
- public ByteString encodeAuthPassword(ByteString plaintext)
+ public ByteString encodeAuthPassword(ByteSequence plaintext)
throws DirectoryException
{
Message message =
@@ -294,7 +296,7 @@
* {@inheritDoc}
*/
@Override()
- public boolean authPasswordMatches(ByteString plaintextPassword,
+ public boolean authPasswordMatches(ByteSequence plaintextPassword,
String authInfo, String authValue)
{
// This storage scheme does not support the authentication password syntax.
@@ -318,7 +320,7 @@
* {@inheritDoc}
*/
@Override()
- public ByteString getPlaintextValue(ByteString storedPassword)
+ public ByteString getPlaintextValue(ByteSequence storedPassword)
throws DirectoryException
{
Message message = ERR_PWSCHEME_NOT_REVERSIBLE.get(STORAGE_SCHEME_NAME_MD5);
--
Gitblit v1.10.0