From 3bd757820d295d1bf98c2dccbae18421f8b47a0b Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 15 Jun 2011 21:54:27 +0000
Subject: [PATCH] Fix OPENDJ-202: All bind request APIs should take byte or char arrays for passwords
---
opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
index a0cd942..1462dc8 100644
--- a/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
+++ b/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
@@ -23,17 +23,19 @@
*
*
* Copyright 2010 Sun Microsystems, Inc.
+ * Portions copyright 2011 ForgeRock AS
*/
package org.forgerock.opendj.ldap.requests;
-import static com.forgerock.opendj.ldap.LDAPConstants.TYPE_AUTHENTICATION_SIMPLE;
+import static com.forgerock.opendj.ldap.LDAPConstants.*;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ErrorResultException;
+import com.forgerock.opendj.util.StaticUtils;
import com.forgerock.opendj.util.Validator;
@@ -44,7 +46,7 @@
final class SimpleBindRequestImpl extends
AbstractBindRequest<SimpleBindRequest> implements SimpleBindRequest
{
- private ByteString password = ByteString.empty();
+ private byte[] password = new byte[0];
private String name = "".intern();
@@ -64,7 +66,7 @@
* @throws NullPointerException
* If {@code name} or {@code password} was {@code null}.
*/
- SimpleBindRequestImpl(final String name, final ByteString password)
+ SimpleBindRequestImpl(final String name, final byte[] password)
throws NullPointerException
{
this.name = name;
@@ -87,7 +89,7 @@
{
super(simpleBindRequest);
this.name = simpleBindRequest.getName();
- this.password = simpleBindRequest.getPassword();
+ this.password = StaticUtils.copyOfBytes(simpleBindRequest.getPassword());
}
@@ -121,7 +123,7 @@
/**
* {@inheritDoc}
*/
- public ByteString getPassword()
+ public byte[] getPassword()
{
return password;
}
@@ -144,7 +146,7 @@
/**
* {@inheritDoc}
*/
- public SimpleBindRequest setPassword(final ByteString password)
+ public SimpleBindRequest setPassword(final byte[] password)
throws UnsupportedOperationException, NullPointerException
{
Validator.ensureNotNull(password);
@@ -161,7 +163,7 @@
throws UnsupportedOperationException, NullPointerException
{
Validator.ensureNotNull(password);
- this.password = ByteString.valueOf(password);
+ this.password = StaticUtils.getBytes(password);
return this;
}
@@ -178,7 +180,7 @@
builder.append(getName());
builder.append(", authentication=simple");
builder.append(", password=");
- builder.append(getPassword());
+ builder.append(ByteString.wrap(getPassword()));
builder.append(", controls=");
builder.append(getControls());
builder.append(")");
--
Gitblit v1.10.0