From 39ee9286999c0faf5e78ab2a68d69d10c7600ff9 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Sun, 26 Aug 2007 00:14:04 +0000
Subject: [PATCH] Update configuration definitions to make a few different types of changes:
---
opends/src/server/org/opends/server/core/PasswordPolicy.java | 102 +++++++-------------------------------------------
1 files changed, 15 insertions(+), 87 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/PasswordPolicy.java b/opends/src/server/org/opends/server/core/PasswordPolicy.java
index e34864a..ed44124 100644
--- a/opends/src/server/org/opends/server/core/PasswordPolicy.java
+++ b/opends/src/server/org/opends/server/core/PasswordPolicy.java
@@ -267,69 +267,28 @@
// Get the password attribute. If specified, it must have either the
// user password or auth password syntax.
- String passwordAttr = configuration.getPasswordAttribute();
- try
+ passwordAttribute = configuration.getPasswordAttribute();
+ String syntaxOID = passwordAttribute.getSyntaxOID();
+ if (syntaxOID.equals(SYNTAX_AUTH_PASSWORD_OID))
{
- if (passwordAttr == null)
- {
- this.passwordAttribute = null;
- this.authPasswordSyntax = false;
- // FIXME: clearly this is an error, but I have not found an example
- // where it is handled (in a very cursory survey of calls to
- // ConfigEntry.getConfigAttribute).
- // Let it fall through and be caught by holistic validation.
- }
- else
- {
- String lowerName = toLowerCase(passwordAttr);
- AttributeType pwAttrType = DirectoryServer.getAttributeType(lowerName);
- if (pwAttrType == null)
- {
- Message message = ERR_PWPOLICY_UNDEFINED_PASSWORD_ATTRIBUTE.get(
- String.valueOf(configEntryDN), String.valueOf(passwordAttr));
- throw new ConfigException(message);
- }
-
- String syntaxOID = pwAttrType.getSyntaxOID();
- if (syntaxOID.equals(SYNTAX_AUTH_PASSWORD_OID))
- {
- this.passwordAttribute = pwAttrType;
- this.authPasswordSyntax = true;
- }
- else if (syntaxOID.equals(SYNTAX_USER_PASSWORD_OID))
- {
- this.passwordAttribute = pwAttrType;
- this.authPasswordSyntax = false;
- }
- else
- {
- String syntax = pwAttrType.getSyntax().getSyntaxName();
- if ((syntax == null) || (syntax.length() == 0))
- {
- syntax = syntaxOID;
- }
-
- Message message = ERR_PWPOLICY_INVALID_PASSWORD_ATTRIBUTE_SYNTAX.
- get(String.valueOf(configEntryDN), String.valueOf(passwordAttr),
- String.valueOf(syntax));
- throw new ConfigException(message);
- }
- }
+ authPasswordSyntax = true;
}
- catch (ConfigException ce)
+ else if (syntaxOID.equals(SYNTAX_USER_PASSWORD_OID))
{
- throw ce;
+ authPasswordSyntax = false;
}
- catch (Exception e)
+ else
{
- if (debugEnabled())
+ String syntax = passwordAttribute.getSyntax().getSyntaxName();
+ if ((syntax == null) || (syntax.length() == 0))
{
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
+ syntax = syntaxOID;
}
- Message message = ERR_PWPOLICY_CANNOT_DETERMINE_PASSWORD_ATTRIBUTE.get(
- String.valueOf(configEntryDN), getExceptionMessage(e));
- throw new InitializationException(message, e);
+ Message message = ERR_PWPOLICY_INVALID_PASSWORD_ATTRIBUTE_SYNTAX.
+ get(String.valueOf(configEntryDN), passwordAttribute.getNameOrOID(),
+ String.valueOf(syntax));
+ throw new ConfigException(message);
}
@@ -668,39 +627,8 @@
// the server schema. It does not need to have a generalized time syntax
// because the value that it will store will not necessarily conform to this
// format.
- String lastLoginTimeAtt = configuration.getLastLoginTimeAttribute();
- try
- {
- if (lastLoginTimeAtt != null)
- {
- String lowerName = toLowerCase(lastLoginTimeAtt);
- AttributeType attrType = DirectoryServer.getAttributeType(lowerName);
- if (attrType == null)
- {
- Message message = ERR_PWPOLICY_UNDEFINED_LAST_LOGIN_TIME_ATTRIBUTE.
- get(String.valueOf(configEntryDN),
- String.valueOf(lastLoginTimeAtt));
- throw new ConfigException(message);
- }
+ lastLoginTimeAttribute = configuration.getLastLoginTimeAttribute();
- this.lastLoginTimeAttribute = attrType;
- }
- }
- catch (ConfigException ce)
- {
- throw ce;
- }
- catch (Exception e)
- {
- if (debugEnabled())
- {
- TRACER.debugCaught(DebugLogLevel.ERROR, e);
- }
-
- Message message = ERR_PWPOLICY_CANNOT_DETERMINE_LAST_LOGIN_TIME_ATTR.get(
- String.valueOf(configEntryDN), getExceptionMessage(e));
- throw new InitializationException(message, e);
- }
// Get the last login time format. If specified, it must be a valid format
// string.
--
Gitblit v1.10.0