From aad596c8559b3d3d081617736cdbeda1374f017b Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 11 May 2012 21:58:30 +0000
Subject: [PATCH] Fix OPENDJ-482: Validation for the CertificateSyntax
---
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java | 64 +++++++++++++++++++++++++++++---
1 files changed, 58 insertions(+), 6 deletions(-)
diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index d358780..0de8635 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -1259,15 +1259,30 @@
{
if (! syntax.valueIsAcceptable(v.getValue(), invalidReason))
{
- Message message = WARN_ADD_OP_INVALID_SYNTAX.get(
+ if (!syntax.isHumanReadable() || syntax.isBinary())
+ {
+ // Value is not human-readable
+ Message message = WARN_ADD_OP_INVALID_SYNTAX_NO_VALUE.get(
+ String.valueOf(entryDN),
+ String.valueOf(a.getName()),
+ String.valueOf(invalidReason));
+
+ throw new DirectoryException(
+ ResultCode.INVALID_ATTRIBUTE_SYNTAX,
+ message);
+ }
+ else
+ {
+ Message message = WARN_ADD_OP_INVALID_SYNTAX.get(
String.valueOf(entryDN),
String.valueOf(v.getValue().toString()),
String.valueOf(a.getName()),
String.valueOf(invalidReason));
- throw new DirectoryException(
+ throw new DirectoryException(
ResultCode.INVALID_ATTRIBUTE_SYNTAX,
message);
+ }
}
}
}
@@ -1287,15 +1302,30 @@
if (! syntax.valueIsAcceptable(v.getValue(),
invalidReason))
{
- Message message = WARN_ADD_OP_INVALID_SYNTAX.
+ if (!syntax.isHumanReadable() || syntax.isBinary())
+ {
+ // Value is not human-readable
+ Message message = WARN_ADD_OP_INVALID_SYNTAX_NO_VALUE.
+ get(String.valueOf(entryDN),
+ String.valueOf(a.getName()),
+ String.valueOf(invalidReason));
+
+ throw new DirectoryException(
+ ResultCode.INVALID_ATTRIBUTE_SYNTAX,
+ message);
+ }
+ else
+ {
+ Message message = WARN_ADD_OP_INVALID_SYNTAX.
get(String.valueOf(entryDN),
String.valueOf(v.getValue().toString()),
String.valueOf(a.getName()),
String.valueOf(invalidReason));
- throw new DirectoryException(
+ throw new DirectoryException(
ResultCode.INVALID_ATTRIBUTE_SYNTAX,
message);
+ }
}
}
}
@@ -1319,11 +1349,22 @@
if (! syntax.valueIsAcceptable(v.getValue(),
invalidReason))
{
- logError(WARN_ADD_OP_INVALID_SYNTAX.get(
+ if (!syntax.isHumanReadable() || syntax.isBinary())
+ {
+ // Value is not human-readable
+ logError(WARN_ADD_OP_INVALID_SYNTAX_NO_VALUE.get(
+ String.valueOf(entryDN),
+ String.valueOf(a.getName()),
+ String.valueOf(invalidReason)));
+ }
+ else
+ {
+ logError(WARN_ADD_OP_INVALID_SYNTAX.get(
String.valueOf(entryDN),
String.valueOf(v.getValue().toString()),
String.valueOf(a.getName()),
String.valueOf(invalidReason)));
+ }
}
}
}
@@ -1342,11 +1383,22 @@
if (! syntax.valueIsAcceptable(v.getValue(),
invalidReason))
{
- logError(WARN_ADD_OP_INVALID_SYNTAX.get(
+ if (!syntax.isHumanReadable() || syntax.isBinary())
+ {
+ // Value is not human-readable
+ logError(WARN_ADD_OP_INVALID_SYNTAX_NO_VALUE.get(
+ String.valueOf(entryDN),
+ String.valueOf(a.getName()),
+ String.valueOf(invalidReason)));
+ }
+ else
+ {
+ logError(WARN_ADD_OP_INVALID_SYNTAX.get(
String.valueOf(entryDN),
String.valueOf(v.getValue().toString()),
String.valueOf(a.getName()),
String.valueOf(invalidReason)));
+ }
}
}
}
--
Gitblit v1.10.0