| | |
| | | */ |
| | | package org.opends.server.workflowelement.localbackend; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.opends.messages.MessageBuilder; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.debugEnabled; |
| | | import static org.opends.server.messages.CoreMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.messages.CoreMessages.*; |
| | | import static org.opends.messages.ToolMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.getExceptionMessage; |
| | | import static org.opends.server.util.StaticUtils.secondsToTimeString; |
| | |
| | | import org.opends.server.types.DebugLogLevel; |
| | | import org.opends.server.types.DirectoryException; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | |
| | | |
| | | import org.opends.server.types.LockManager; |
| | | import org.opends.server.types.Modification; |
| | | import org.opends.server.types.ModificationType; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_NO_MODIFICATIONS, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_NO_MODIFICATIONS.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_MUST_CHANGE_PASSWORD; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | localOp.appendErrorMessage(ERR_MODIFY_MUST_CHANGE_PASSWORD.get()); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_CANNOT_LOCK_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_CANNOT_LOCK_ENTRY.get(String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyProcessing; |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | if (currentEntry == null) |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_MODIFY_NO_SUCH_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_MODIFY_NO_SUCH_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | // See if one of the entry's ancestors exists. |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | |
| | | isAllowed(entryDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | localOp.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_ASSERTION_FAILED, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_ASSERTION_FAILED.get(String.valueOf(entryDN))); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_MODIFY_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | localOp.appendErrorMessage(getMessage( |
| | | msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_MODIFY_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | oid)); |
| | | ERR_MODIFY_UNSUPPORTED_CRITICAL_CONTROL.get( |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODIFY_SYNCH_CONFLICT_RESOLUTION_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_MODIFY_SYNCH_CONFLICT_RESOLUTION_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break modifyProcessing; |
| | |
| | | pwpErrorType = |
| | | PasswordPolicyErrorType.PASSWORD_MOD_NOT_ALLOWED; |
| | | |
| | | int msgID = MSGID_MODIFY_PWRESET_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_PWRESET_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_ATTR_IS_NO_USER_MOD, |
| | | String.valueOf(entryDN), |
| | | ERR_MODIFY_ATTR_IS_NO_USER_MOD.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_ATTR_IS_OBSOLETE, |
| | | String.valueOf(entryDN), |
| | | ERR_MODIFY_ATTR_IS_OBSOLETE.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PRIVILEGE_CHANGE, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_MODIFY_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES |
| | | .get()); |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_PASSWORDS_CANNOT_HAVE_OPTIONS; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_PASSWORDS_CANNOT_HAVE_OPTIONS.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_NO_USER_PW_CHANGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_NO_USER_PW_CHANGES.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_REQUIRE_SECURE_CHANGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_REQUIRE_SECURE_CHANGES.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_WITHIN_MINIMUM_AGE; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_MODIFY_WITHIN_MINIMUM_AGE.get()); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_MULTIPLE_VALUES_NOT_ALLOWED; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_MULTIPLE_VALUES_NOT_ALLOWED.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_NO_PREENCODED_PASSWORDS; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_NO_PREENCODED_PASSWORDS.get()); |
| | | break modifyProcessing; |
| | | } |
| | | else |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.ATTRIBUTE_OR_VALUE_EXISTS); |
| | | |
| | | int msgID = MSGID_MODIFY_PASSWORD_EXISTS; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_PASSWORD_EXISTS.get()); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_NO_PREENCODED_PASSWORDS; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_NO_PREENCODED_PASSWORDS.get()); |
| | | break modifyProcessing; |
| | | } |
| | | else |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_NO_EXISTING_VALUES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_NO_EXISTING_VALUES.get()); |
| | | break modifyProcessing; |
| | | } |
| | | boolean found = false; |
| | |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | |
| | | int msgID = MSGID_MODIFY_CANNOT_DECODE_PW; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, de.getErrorMessage())); |
| | | ERR_MODIFY_CANNOT_DECODE_PW.get( |
| | | de.getMessageObject())); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | |
| | | int msgID = MSGID_MODIFY_CANNOT_DECODE_PW; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | de.getErrorMessage())); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_CANNOT_DECODE_PW.get( |
| | | de.getMessageObject())); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_INVALID_PASSWORD; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_INVALID_PASSWORD.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | default: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_INVALID_MOD_TYPE_FOR_PASSWORD; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(m.getModificationType()), a.getName())); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_INVALID_MOD_TYPE_FOR_PASSWORD.get( |
| | | String.valueOf(m.getModificationType()), |
| | | a.getName())); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_INVALID_DISABLED_VALUE; |
| | | String message = |
| | | getMessage(msgID, OP_ATTR_ACCOUNT_DISABLED, |
| | | String.valueOf(de.getErrorMessage())); |
| | | Message message = |
| | | ERR_MODIFY_INVALID_DISABLED_VALUE.get( |
| | | OP_ATTR_ACCOUNT_DISABLED, |
| | | String.valueOf(de.getMessageObject())); |
| | | localOp.appendErrorMessage(message); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | if ((newValues == null) || newValues.isEmpty()) |
| | | { |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | localOp.appendErrorMessage(getMessage(MSGID_MODIFY_ADD_NO_VALUES, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | localOp.appendErrorMessage(ERR_MODIFY_ADD_NO_VALUES.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | if (syntaxPolicy == AcceptRejectWarn.REJECT) |
| | | { |
| | | StringBuilder invalidReason = |
| | | new StringBuilder(); |
| | | MessageBuilder invalidReason = |
| | | new MessageBuilder(); |
| | | |
| | | for (AttributeValue v : newValues) |
| | | { |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_ADD_INVALID_SYNTAX; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName(), |
| | | v.getStringValue(), |
| | | invalidReason.toString())); |
| | | |
| | | localOp.appendErrorMessage(ERR_MODIFY_ADD_INVALID_SYNTAX |
| | | .get(String.valueOf(entryDN), |
| | | a.getName(), |
| | | v.getStringValue(), |
| | | invalidReason.toString())); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | } |
| | | else if (syntaxPolicy == AcceptRejectWarn.WARN) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | |
| | | for (AttributeValue v : newValues) |
| | | { |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_ADD_INVALID_SYNTAX; |
| | | logError(ErrorLogCategory.SCHEMA, |
| | | ErrorLogSeverity.SEVERE_WARNING, msgID, |
| | | String.valueOf(entryDN), a.getName(), |
| | | v.getStringValue(), invalidReason.toString()); |
| | | logError( |
| | | ERR_MODIFY_ADD_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), a.getName(), |
| | | v.getStringValue(), invalidReason.toString())); |
| | | |
| | | invalidReason = new StringBuilder(); |
| | | invalidReason = new MessageBuilder(); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.ATTRIBUTE_OR_VALUE_EXISTS); |
| | | |
| | | int msgID = MSGID_MODIFY_ADD_DUPLICATE_VALUE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_ADD_DUPLICATE_VALUE.get(String.valueOf(entryDN), |
| | | a.getName(), |
| | | buffer.toString())); |
| | | |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_RDN_ATTR; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | localOp.appendErrorMessage(ERR_MODIFY_DELETE_RDN_ATTR.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_MISSING_VALUES; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_MISSING_VALUES.get( |
| | | String.valueOf(entryDN), |
| | | a.getName(), |
| | | buffer.toString())); |
| | | |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_NO_SUCH_ATTR; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_NO_SUCH_ATTR.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_RDN_ATTR; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_RDN_ATTR.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | |
| | | if (syntaxPolicy == AcceptRejectWarn.REJECT) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | |
| | | for (AttributeValue v : newValues) |
| | | { |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_REPLACE_INVALID_SYNTAX; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_REPLACE_INVALID_SYNTAX.get( |
| | | String.valueOf(entryDN), |
| | | a.getName(), |
| | | v.getStringValue(), |
| | | invalidReason.toString())); |
| | |
| | | } |
| | | else if (syntaxPolicy == AcceptRejectWarn.WARN) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | for (AttributeValue v : newValues) |
| | | { |
| | | if (! syntax.valueIsAcceptable(v.getValue(), invalidReason)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_REPLACE_INVALID_SYNTAX; |
| | | logError(ErrorLogCategory.SCHEMA, |
| | | ErrorLogSeverity.SEVERE_WARNING, msgID, |
| | | String.valueOf(entryDN), a.getName(), |
| | | v.getStringValue(), invalidReason.toString()); |
| | | logError( |
| | | ERR_MODIFY_REPLACE_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), a.getName(), |
| | | v.getStringValue(), invalidReason.toString())); |
| | | |
| | | invalidReason = new StringBuilder(); |
| | | invalidReason = new MessageBuilder(); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_RDN_ATTR; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_RDN_ATTR.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_RDN_ATTR; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_RDN_ATTR.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | |
| | | int msgID = MSGID_MODIFY_DELETE_RDN_ATTR; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_DELETE_RDN_ATTR.get(String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | if ((rdn != null) && rdn.hasAttributeType(t)) |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_RDN); |
| | | localOp.appendErrorMessage(getMessage(MSGID_MODIFY_INCREMENT_RDN, |
| | | String.valueOf(entryDN), |
| | | localOp.appendErrorMessage(ERR_MODIFY_INCREMENT_RDN.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | } |
| | | |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_REQUIRES_VALUE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_INCREMENT_REQUIRES_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyProcessing; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_REQUIRES_SINGLE_VALUE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_INCREMENT_REQUIRES_SINGLE_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | break modifyProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_PROVIDED_VALUE_NOT_INTEGER; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_INCREMENT_PROVIDED_VALUE_NOT_INTEGER.get( |
| | | String.valueOf(entryDN), |
| | | a.getName(), v.getStringValue())); |
| | | |
| | | break modifyProcessing; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_REQUIRES_EXISTING_VALUE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_MODIFY_INCREMENT_REQUIRES_EXISTING_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyProcessing; |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_REQUIRES_INTEGER_VALUE; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_INCREMENT_REQUIRES_INTEGER_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | a.getName(), |
| | | existingValue.getStringValue())); |
| | | break modifyProcessing; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODIFY_INCREMENT_REQUIRES_EXISTING_VALUE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | a.getName())); |
| | | ERR_MODIFY_INCREMENT_REQUIRES_EXISTING_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_PW_CHANGE_REQUIRES_CURRENT_PW; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_PW_CHANGE_REQUIRES_CURRENT_PW.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_MULTIPLE_PASSWORDS_NOT_ALLOWED; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_MODIFY_MULTIPLE_PASSWORDS_NOT_ALLOWED.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | |
| | | for (AttributeValue v : newPasswords) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | if (! pwPolicyState.passwordIsAcceptable(localOp, modifiedEntry, |
| | | v.getValue(), |
| | | clearPasswords, |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_PW_VALIDATION_FAILED; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | invalidReason.toString())); |
| | | localOp.appendErrorMessage(ERR_MODIFY_PW_VALIDATION_FAILED |
| | | .get(invalidReason.toString())); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_PW_IN_HISTORY; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_MODIFY_PW_IN_HISTORY.get()); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(localOp)) { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_MODIFY_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN))); |
| | | ERR_MODIFY_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyProcessing; |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODIFY_MUST_CHANGE_PASSWORD; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_MODIFY_MUST_CHANGE_PASSWORD.get()); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | if ((DirectoryServer.checkSchema()) && |
| | | (!localOp.isSynchronizationOperation()) ) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | if (! modifiedEntry.conformsToSchema(null, false, false, false, |
| | | invalidReason)) |
| | | { |
| | | localOp.setResultCode(ResultCode.OBJECTCLASS_VIOLATION); |
| | | localOp.appendErrorMessage(getMessage(MSGID_MODIFY_VIOLATES_SCHEMA, |
| | | String.valueOf(entryDN), |
| | | invalidReason.toString())); |
| | | localOp.appendErrorMessage(ERR_MODIFY_VIOLATES_SCHEMA.get( |
| | | String.valueOf(entryDN), |
| | | invalidReason.toString())); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_NO_BACKEND_FOR_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_NO_BACKEND_FOR_ENTRY.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | } |
| | | |
| | |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_SERVER_READONLY.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_SERVER_READONLY.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_BACKEND_READONLY.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_MODIFY_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | ERR_MODIFY_BACKEND_READONLY.get(String.valueOf(entryDN))); |
| | | break modifyProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | if (noOp) |
| | | { |
| | | localOp.appendErrorMessage(getMessage(MSGID_MODIFY_NOOP)); |
| | | localOp.appendErrorMessage(INFO_MODIFY_NOOP.get()); |
| | | |
| | | localOp.setResultCode(ResultCode.NO_OPERATION); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODIFY_SYNCH_PREOP_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_MODIFY_SYNCH_PREOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break modifyProcessing; |
| | |
| | | clientConnection.setMustChangePassword(false); |
| | | } |
| | | |
| | | int msgID = MSGID_MODIFY_PASSWORD_CHANGED; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_MODIFY_PASSWORD_CHANGED.get(); |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_CHANGED, entryDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_MODIFY_PASSWORD_RESET; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_MODIFY_PASSWORD_RESET.get(); |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_RESET, entryDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (isEnabled) |
| | | { |
| | | int msgID = MSGID_MODIFY_ACCOUNT_ENABLED; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_MODIFY_ACCOUNT_ENABLED.get(); |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_ENABLED, entryDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_MODIFY_ACCOUNT_DISABLED; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_MODIFY_ACCOUNT_DISABLED.get(); |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_DISABLED, entryDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | } |
| | | |
| | | if (wasLocked) |
| | | { |
| | | int msgID = MSGID_MODIFY_ACCOUNT_UNLOCKED; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_MODIFY_ACCOUNT_UNLOCKED.get(); |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_UNLOCKED, entryDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | localOp.setCancelResult(cancelResult); |
| | | localOp.setResultCode(cancelResult.getResultCode()); |
| | | |
| | | String message = coe.getMessage(); |
| | | Message message = coe.getMessageObject(); |
| | | if ((message != null) && (message.length() > 0)) |
| | | { |
| | | localOp.appendErrorMessage(message); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODIFY_SYNCH_POSTOP_FAILED, localOp.getConnectionID(), |
| | | localOp.getOperationID(), getExceptionMessage(de)); |
| | | logError(ERR_MODIFY_SYNCH_POSTOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break; |
| | |
| | | // return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MODIFY_ERROR_NOTIFYING_CHANGE_LISTENER; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_MODIFY_ERROR_NOTIFYING_CHANGE_LISTENER.get( |
| | | getExceptionMessage(e)); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | isAllowed(baseDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | |
| | | int msgID = MSGID_SEARCH_CANNOT_GET_ENTRY_FOR_ASSERTION; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, de.getErrorMessage())); |
| | | ERR_SEARCH_CANNOT_GET_ENTRY_FOR_ASSERTION.get( |
| | | de.getMessageObject())); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | |
| | | int msgID = MSGID_SEARCH_NO_SUCH_ENTRY_FOR_ASSERTION; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_SEARCH_NO_SUCH_ENTRY_FOR_ASSERTION.get()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | localOp.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_SEARCH_ASSERTION_FAILED)); |
| | | ERR_SEARCH_ASSERTION_FAILED.get()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_SEARCH_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, de.getErrorMessage())); |
| | | ERR_SEARCH_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | de.getMessageObject())); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege( |
| | | Privilege.PROXIED_AUTH, localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege( |
| | | Privilege.PROXIED_AUTH, localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_SEARCH_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | localOp.appendErrorMessage( |
| | | ERR_SEARCH_UNSUPPORTED_CRITICAL_CONTROL.get(oid)); |
| | | |
| | | break searchProcessing; |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(localOp) == false) { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_SEARCH_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(baseDN))); |
| | | ERR_SEARCH_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(baseDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break searchProcessing; |
| | |
| | | // result and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | return; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_SEARCH_BASE_DOESNT_EXIST, |
| | | String.valueOf(baseDN))); |
| | | ERR_SEARCH_BASE_DOESNT_EXIST.get(String.valueOf(baseDN))); |
| | | break searchProcessing; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | localOp.setCancelResult(cancelResult); |
| | | localOp.setResultCode(cancelResult.getResultCode()); |
| | | |
| | | String message = coe.getMessage(); |
| | | Message message = coe.getMessageObject(); |
| | | if ((message != null) && (message.length() > 0)) |
| | | { |
| | | localOp.appendErrorMessage(message); |
| | |
| | | localOp.setResultCode( |
| | | DirectoryServer.getServerErrorResultCode()); |
| | | |
| | | int msgID = MSGID_SEARCH_BACKEND_EXCEPTION; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, getExceptionMessage(e))); |
| | | ERR_SEARCH_BACKEND_EXCEPTION.get(getExceptionMessage(e))); |
| | | |
| | | if (persistentSearch != null) |
| | | { |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_POSTOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_POSTOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | return; |
| | |
| | | .getAccessControlHandler().isAllowed(localOp) == false) { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(bindDN)); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | skipPostOperation = true; |
| | | break bindProcessing; |
| | |
| | | getAccessControlHandler(). isAllowed(bindDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | localOp.appendErrorMessage(ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS |
| | | .get(oid)); |
| | | skipPostOperation = true; |
| | | break bindProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_BIND_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage(getMessage(msgID, String.valueOf(oid))); |
| | | localOp.appendErrorMessage(ERR_BIND_UNSUPPORTED_CRITICAL_CONTROL |
| | | .get(String.valueOf(oid))); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_REJECTED_LOCKDOWN_MODE; |
| | | localOp.setAuthFailureReason(msgID, getMessage(msgID)); |
| | | Message message = ERR_BIND_REJECTED_LOCKDOWN_MODE.get(); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | logBindResponse(localOp); |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_BIND_DN_BUT_NO_PASSWORD; |
| | | String message = getMessage(msgID); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_DN_BUT_NO_PASSWORD.get(); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | |
| | | if (userLock == null) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_CANNOT_LOCK_USER; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_CANNOT_LOCK_USER.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(de.getMessageID(), |
| | | de.getErrorMessage()); |
| | | localOp.setAuthFailureReason(de.getMessageObject()); |
| | | |
| | | userEntry = null; |
| | | break bindProcessing; |
| | |
| | | if (userEntry == null) |
| | | { |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_UNKNOWN_USER; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_UNKNOWN_USER.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | else |
| | |
| | | List<Attribute> pwAttr = userEntry.getAttribute(pwType); |
| | | if ((pwAttr == null) || (pwAttr.isEmpty())) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_NO_PASSWORD; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_NO_PASSWORD.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | // user then ignore it. |
| | | if (! DirectoryServer.isRootDN(bindDN)) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_WRITABILITY_DISABLED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_WRITABILITY_DISABLED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | } |
| | |
| | | if (policy.requireSecureAuthentication() && |
| | | (! clientConnection.isSecure())) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_INSECURE_SIMPLE_BIND; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_INSECURE_SIMPLE_BIND.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | // Check to see if the user is administratively disabled or locked. |
| | | if (pwPolicyState.isDisabled()) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_DISABLED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_DISABLED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | else if (pwPolicyState.isAccountExpired()) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_EXPIRED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_EXPIRED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_EXPIRED, bindDN, msgID, |
| | | message); |
| | | AccountStatusNotificationType.ACCOUNT_EXPIRED, bindDN, |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | | else if (pwPolicyState.lockedDueToFailures()) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_FAILURE_LOCKED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_FAILURE_LOCKED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | if (pwPolicyErrorType == null) |
| | | { |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | else if (pwPolicyState.lockedDueToMaximumResetAge()) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_RESET_LOCKED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_RESET_LOCKED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | if (pwPolicyErrorType == null) |
| | | { |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_RESET_LOCKED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | | else if (pwPolicyState.lockedDueToIdleInterval()) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_IDLE_LOCKED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_IDLE_LOCKED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | if (pwPolicyErrorType == null) |
| | | { |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_IDLE_LOCKED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_PASSWORD_EXPIRED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_PASSWORD_EXPIRED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_PASSWORD_EXPIRED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_PASSWORD_EXPIRED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | else if (pwPolicyState.shouldWarn()) |
| | | { |
| | | int numSeconds = pwPolicyState.getSecondsUntilExpiration(); |
| | | String timeToExpiration = secondsToTimeString(numSeconds); |
| | | Message timeToExpiration = secondsToTimeString(numSeconds); |
| | | |
| | | int msgID = MSGID_BIND_PASSWORD_EXPIRING; |
| | | String message = getMessage(msgID, timeToExpiration); |
| | | Message message = INFO_BIND_PASSWORD_EXPIRING.get( |
| | | timeToExpiration); |
| | | localOp.appendErrorMessage(message); |
| | | |
| | | if (pwPolicyWarningType == null) |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_REJECTED_LOCKDOWN_MODE; |
| | | localOp.setAuthFailureReason(msgID, getMessage(msgID)); |
| | | Message message = ERR_BIND_REJECTED_LOCKDOWN_MODE.get(); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_SIZE_LIMITS; |
| | | String message = |
| | | getMessage(msgID, String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = WARN_BIND_MULTIPLE_USER_SIZE_LIMITS.get( |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_CANNOT_PROCESS_USER_SIZE_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = WARN_BIND_CANNOT_PROCESS_USER_SIZE_LIMIT |
| | | .get(v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_TIME_LIMITS; |
| | | String message = |
| | | getMessage(msgID, String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = WARN_BIND_MULTIPLE_USER_TIME_LIMITS.get( |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_CANNOT_PROCESS_USER_TIME_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_TIME_LIMIT. |
| | | get(v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_IDLE_TIME_LIMITS; |
| | | String message = |
| | | getMessage(msgID, String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = WARN_BIND_MULTIPLE_USER_IDLE_TIME_LIMITS. |
| | | get(String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_BIND_CANNOT_PROCESS_USER_IDLE_TIME_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_IDLE_TIME_LIMIT. |
| | | get(v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_LOOKTHROUGH_LIMITS; |
| | | String message = |
| | | getMessage(msgID, String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_MULTIPLE_USER_LOOKTHROUGH_LIMITS. |
| | | get(String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_BIND_CANNOT_PROCESS_USER_LOOKTHROUGH_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_LOOKTHROUGH_LIMIT. |
| | | get(v.getStringValue(), |
| | | String.valueOf(userEntry.getDN())); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | pwPolicyState.setWarnedTime(); |
| | | |
| | | int numSeconds = pwPolicyState.getSecondsUntilExpiration(); |
| | | String timeToExpiration = secondsToTimeString(numSeconds); |
| | | Message timeToExpiration = secondsToTimeString(numSeconds); |
| | | |
| | | int msgID = MSGID_BIND_PASSWORD_EXPIRING; |
| | | String message = getMessage(msgID, timeToExpiration); |
| | | Message message = INFO_BIND_PASSWORD_EXPIRING.get( |
| | | timeToExpiration); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRING, bindDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | |
| | | if (isGraceLogin) |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_WRONG_PASSWORD; |
| | | String message = getMessage(msgID); |
| | | Message message = ERR_BIND_OPERATION_WRONG_PASSWORD.get(); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | if (policy.getLockoutFailureCount() > 0) |
| | | { |
| | |
| | | { |
| | | notificationType = AccountStatusNotificationType. |
| | | ACCOUNT_TEMPORARILY_LOCKED; |
| | | msgID = MSGID_BIND_ACCOUNT_TEMPORARILY_LOCKED; |
| | | message = getMessage(msgID, |
| | | secondsToTimeString(lockoutDuration)); |
| | | |
| | | message = ERR_BIND_ACCOUNT_TEMPORARILY_LOCKED.get( |
| | | secondsToTimeString(lockoutDuration)); |
| | | } |
| | | else |
| | | { |
| | | notificationType = AccountStatusNotificationType. |
| | | ACCOUNT_PERMANENTLY_LOCKED; |
| | | msgID = MSGID_BIND_ACCOUNT_PERMANENTLY_LOCKED; |
| | | message = getMessage(msgID); |
| | | |
| | | message = ERR_BIND_ACCOUNT_PERMANENTLY_LOCKED.get(); |
| | | } |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | notificationType, localOp.getUserEntryDN(), |
| | | msgID, message); |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_PASSWORD_VALIDATION_EXCEPTION; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | Message message = ERR_BIND_OPERATION_PASSWORD_VALIDATION_EXCEPTION |
| | | .get(getExceptionMessage(e)); |
| | | |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | finally |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.AUTH_METHOD_NOT_SUPPORTED); |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_UNKNOWN_SASL_MECHANISM; |
| | | String message = getMessage(msgID, saslMechanism); |
| | | Message message = ERR_BIND_OPERATION_UNKNOWN_SASL_MECHANISM.get( |
| | | saslMechanism); |
| | | |
| | | localOp.appendErrorMessage(message); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_REJECTED_LOCKDOWN_MODE; |
| | | localOp.setAuthFailureReason(msgID, getMessage(msgID)); |
| | | Message message = ERR_BIND_REJECTED_LOCKDOWN_MODE.get(); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | // user then ignore it. |
| | | if (! DirectoryServer.isRootDN(bindDN)) |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_WRITABILITY_DISABLED; |
| | | String message = getMessage(msgID, userDNString); |
| | | Message message = ERR_BIND_OPERATION_WRITABILITY_DISABLED.get( |
| | | userDNString); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_DISABLED; |
| | | String message = getMessage(msgID, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_DISABLED.get( |
| | | userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | else if (pwPolicyState.isAccountExpired()) |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_EXPIRED; |
| | | String message = getMessage(msgID, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_EXPIRED.get( |
| | | userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_EXPIRED, bindDN, msgID, |
| | | message); |
| | | AccountStatusNotificationType.ACCOUNT_EXPIRED, bindDN, |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_INSECURE_SASL_BIND; |
| | | String message = getMessage(msgID, saslMechanism, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_INSECURE_SASL_BIND.get( |
| | | saslMechanism, userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | pwPolicyErrorType = PasswordPolicyErrorType.ACCOUNT_LOCKED; |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_FAILURE_LOCKED; |
| | | String message = getMessage(msgID, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_FAILURE_LOCKED.get( |
| | | userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | break bindProcessing; |
| | | } |
| | | |
| | |
| | | pwPolicyErrorType = PasswordPolicyErrorType.ACCOUNT_LOCKED; |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_IDLE_LOCKED; |
| | | String message = getMessage(msgID, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_IDLE_LOCKED.get( |
| | | userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_IDLE_LOCKED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | pwPolicyErrorType = PasswordPolicyErrorType.ACCOUNT_LOCKED; |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_OPERATION_ACCOUNT_RESET_LOCKED; |
| | | String message = getMessage(msgID, userDNString); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | Message message = ERR_BIND_OPERATION_ACCOUNT_RESET_LOCKED.get( |
| | | userDNString); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.ACCOUNT_RESET_LOCKED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_PASSWORD_EXPIRED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_PASSWORD_EXPIRED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_BIND_OPERATION_PASSWORD_EXPIRED; |
| | | String message = getMessage(msgID, String.valueOf(bindDN)); |
| | | Message message = ERR_BIND_OPERATION_PASSWORD_EXPIRED.get( |
| | | String.valueOf(bindDN)); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | localOp.setAuthFailureReason(msgID, message); |
| | | localOp.setAuthFailureReason(message); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRED, bindDN, |
| | | msgID, message); |
| | | message); |
| | | |
| | | break bindProcessing; |
| | | } |
| | |
| | | else if (pwPolicyState.shouldWarn()) |
| | | { |
| | | int numSeconds = pwPolicyState.getSecondsUntilExpiration(); |
| | | String timeToExpiration = secondsToTimeString(numSeconds); |
| | | Message timeToExpiration = secondsToTimeString(numSeconds); |
| | | |
| | | int msgID = MSGID_BIND_PASSWORD_EXPIRING; |
| | | String message = getMessage(msgID, timeToExpiration); |
| | | Message message = INFO_BIND_PASSWORD_EXPIRING.get( |
| | | timeToExpiration); |
| | | localOp.appendErrorMessage(message); |
| | | |
| | | if (pwPolicyWarningType == null) |
| | |
| | | pwPolicyState.setWarnedTime(); |
| | | |
| | | int numSeconds = pwPolicyState.getSecondsUntilExpiration(); |
| | | String timeToExpiration = secondsToTimeString(numSeconds); |
| | | Message timeToExpiration = secondsToTimeString(numSeconds); |
| | | |
| | | int msgID = MSGID_BIND_PASSWORD_EXPIRING; |
| | | String message = getMessage(msgID, timeToExpiration); |
| | | Message message = INFO_BIND_PASSWORD_EXPIRING.get( |
| | | timeToExpiration); |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | AccountStatusNotificationType.PASSWORD_EXPIRING, bindDN, |
| | | msgID, message); |
| | | message); |
| | | } |
| | | |
| | | if (isGraceLogin) |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_SIZE_LIMITS; |
| | | String message = getMessage(msgID, userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_MULTIPLE_USER_SIZE_LIMITS.get(userDNString); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_CANNOT_PROCESS_USER_SIZE_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_SIZE_LIMIT. |
| | | get(v.getStringValue(), userDNString); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_TIME_LIMITS; |
| | | String message = getMessage(msgID, userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_MULTIPLE_USER_TIME_LIMITS.get(userDNString); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BIND_CANNOT_PROCESS_USER_TIME_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_TIME_LIMIT. |
| | | get(v.getStringValue(), userDNString); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_IDLE_TIME_LIMITS; |
| | | String message = |
| | | getMessage(msgID, String.valueOf(userDNString)); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = WARN_BIND_MULTIPLE_USER_IDLE_TIME_LIMITS. |
| | | get(String.valueOf(userDNString)); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_BIND_CANNOT_PROCESS_USER_IDLE_TIME_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), |
| | | String.valueOf(userDNString)); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_IDLE_TIME_LIMIT. |
| | | get(v.getStringValue(), |
| | | String.valueOf(userDNString)); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | AttributeValue v = iterator.next(); |
| | | if (iterator.hasNext()) |
| | | { |
| | | int msgID = MSGID_BIND_MULTIPLE_USER_LOOKTHROUGH_LIMITS; |
| | | String message = getMessage(msgID, userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_MULTIPLE_USER_LOOKTHROUGH_LIMITS. |
| | | get(userDNString); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = |
| | | MSGID_BIND_CANNOT_PROCESS_USER_LOOKTHROUGH_LIMIT; |
| | | String message = |
| | | getMessage(msgID, v.getStringValue(), userDNString); |
| | | logError(ErrorLogCategory.CORE_SERVER, |
| | | ErrorLogSeverity.SEVERE_WARNING, message, msgID); |
| | | Message message = |
| | | WARN_BIND_CANNOT_PROCESS_USER_LOOKTHROUGH_LIMIT. |
| | | get(v.getStringValue(), userDNString); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (pwPolicyState.lockedDueToFailures()) |
| | | { |
| | | AccountStatusNotificationType notificationType; |
| | | int msgID; |
| | | String message; |
| | | Message message; |
| | | |
| | | int lockoutDuration = pwPolicyState.getSecondsUntilUnlock(); |
| | | if (lockoutDuration > -1) |
| | | { |
| | | notificationType = AccountStatusNotificationType. |
| | | ACCOUNT_TEMPORARILY_LOCKED; |
| | | msgID = MSGID_BIND_ACCOUNT_TEMPORARILY_LOCKED; |
| | | message = getMessage(msgID, |
| | | secondsToTimeString(lockoutDuration)); |
| | | message = ERR_BIND_ACCOUNT_TEMPORARILY_LOCKED.get( |
| | | secondsToTimeString(lockoutDuration)); |
| | | } |
| | | else |
| | | { |
| | | notificationType = AccountStatusNotificationType. |
| | | ACCOUNT_PERMANENTLY_LOCKED; |
| | | msgID = MSGID_BIND_ACCOUNT_PERMANENTLY_LOCKED; |
| | | message = getMessage(msgID); |
| | | message = ERR_BIND_ACCOUNT_PERMANENTLY_LOCKED.get(); |
| | | } |
| | | |
| | | pwPolicyState.generateAccountStatusNotification( |
| | | notificationType, localOp.getUserEntryDN(), |
| | | msgID, message); |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | { |
| | | // This is not fine. The root DSE cannot be added. |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_CANNOT_ADD_ROOT_DSE)); |
| | | localOp.appendErrorMessage(ERR_ADD_CANNOT_ADD_ROOT_DSE.get()); |
| | | break addProcessing; |
| | | } |
| | | else |
| | |
| | | // The entry doesn't have a parent but isn't a suffix. This is not |
| | | // allowed. |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_ENTRY_NOT_SUFFIX, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_ENTRY_NOT_SUFFIX.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | } |
| | | } |
| | |
| | | if (parentLock == null) |
| | | { |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_CANNOT_LOCK_PARENT, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(parentDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_CANNOT_LOCK_PARENT.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(parentDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break addProcessing; |
| | |
| | | if (entryLock == null) |
| | | { |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_CANNOT_LOCK_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_CANNOT_LOCK_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break addProcessing; |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_ADD_SYNCH_CONFLICT_RESOLUTION_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_ADD_SYNCH_CONFLICT_RESOLUTION_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break addProcessing; |
| | |
| | | if (DirectoryServer.entryExists(entryDN)) |
| | | { |
| | | localOp.setResultCode(ResultCode.ENTRY_ALREADY_EXISTS); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_ADD_ENTRY_ALREADY_EXISTS, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_ENTRY_ALREADY_EXISTS.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | break addProcessing; |
| | |
| | | |
| | | // The parent doesn't exist, so this add can't be successful. |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_NO_PARENT, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(parentDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_NO_PARENT.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(parentDN))); |
| | | break addProcessing; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | break addProcessing; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_ADD_MISSING_RDN_ATTRIBUTE; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | n)); |
| | | localOp.appendErrorMessage(ERR_ADD_MISSING_RDN_ATTRIBUTE.get( |
| | | String.valueOf(entryDN), |
| | | n)); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_ADD_MISSING_RDN_ATTRIBUTE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), n)); |
| | | ERR_ADD_MISSING_RDN_ATTRIBUTE.get( |
| | | String.valueOf(entryDN), n)); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_ADD_MISSING_RDN_ATTRIBUTE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN),n)); |
| | | ERR_ADD_MISSING_RDN_ATTRIBUTE.get( |
| | | String.valueOf(entryDN),n)); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_ADD_MISSING_RDN_ATTRIBUTE; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN),n)); |
| | | ERR_ADD_MISSING_RDN_ATTRIBUTE.get( |
| | | String.valueOf(entryDN),n)); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | (! clientConnection.hasPrivilege(Privilege.PRIVILEGE_CHANGE, |
| | | localOp))) |
| | | { |
| | | int msgID = MSGID_ADD_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_ADD_CHANGE_PRIVILEGE_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | break addProcessing; |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_ADD_INVALID_PWPOLICY_DN_SYNTAX; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | ERR_ADD_INVALID_PWPOLICY_DN_SYNTAX.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | localOp.setResultCode(ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | | break addProcessing; |
| | |
| | | pwPolicy = DirectoryServer.getPasswordPolicy(policyDN); |
| | | if (pwPolicy == null) |
| | | { |
| | | int msgID = MSGID_ADD_NO_SUCH_PWPOLICY; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | ERR_ADD_NO_SUCH_PWPOLICY.get(String.valueOf(entryDN), |
| | | String.valueOf(policyDN))); |
| | | |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | |
| | | if ((DirectoryServer.checkSchema()) && |
| | | (!localOp.isSynchronizationOperation()) ) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | if (! entry.conformsToSchema(parentEntry, true, true, true, |
| | | invalidReason)) |
| | | { |
| | |
| | | switch (DirectoryServer.getSyntaxEnforcementPolicy()) |
| | | { |
| | | case REJECT: |
| | | invalidReason = new StringBuilder(); |
| | | invalidReason = new MessageBuilder(); |
| | | for (List<Attribute> attrList : userAttributes.values()) |
| | | { |
| | | for (Attribute a : attrList) |
| | |
| | | if (! syntax.valueIsAcceptable(v.getValue(), |
| | | invalidReason)) |
| | | { |
| | | String message = |
| | | getMessage(MSGID_ADD_OP_INVALID_SYNTAX, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | invalidReason = new StringBuilder(message); |
| | | Message message = WARN_ADD_OP_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | invalidReason = new MessageBuilder(message); |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | |
| | | if (! syntax.valueIsAcceptable(v.getValue(), |
| | | invalidReason)) |
| | | { |
| | | String message = |
| | | getMessage(MSGID_ADD_OP_INVALID_SYNTAX, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | invalidReason = new StringBuilder(message); |
| | | Message message = WARN_ADD_OP_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | invalidReason = new MessageBuilder(message); |
| | | |
| | | localOp.setResultCode( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX); |
| | |
| | | |
| | | |
| | | case WARN: |
| | | invalidReason = new StringBuilder(); |
| | | invalidReason = new MessageBuilder(); |
| | | for (List<Attribute> attrList : userAttributes.values()) |
| | | { |
| | | for (Attribute a : attrList) |
| | |
| | | if (! syntax.valueIsAcceptable(v.getValue(), |
| | | invalidReason)) |
| | | { |
| | | logError(ErrorLogCategory.SCHEMA, |
| | | ErrorLogSeverity.SEVERE_WARNING, |
| | | MSGID_ADD_OP_INVALID_SYNTAX, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | logError(WARN_ADD_OP_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason))); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (! syntax.valueIsAcceptable(v.getValue(), |
| | | invalidReason)) |
| | | { |
| | | logError(ErrorLogCategory.SCHEMA, |
| | | ErrorLogSeverity.SEVERE_WARNING, |
| | | MSGID_ADD_OP_INVALID_SYNTAX, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason)); |
| | | logError(WARN_ADD_OP_INVALID_SYNTAX. |
| | | get(String.valueOf(entryDN), |
| | | String.valueOf(v.getStringValue()), |
| | | String.valueOf(a.getName()), |
| | | String.valueOf(invalidReason))); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_ADD_ATTR_IS_OBSOLETE; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | at.getNameOrOID()); |
| | | Message message = WARN_ADD_ATTR_IS_OBSOLETE.get( |
| | | String.valueOf(entryDN), |
| | | at.getNameOrOID()); |
| | | localOp.appendErrorMessage(message); |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | break addProcessing; |
| | |
| | | { |
| | | if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_ADD_ATTR_IS_OBSOLETE; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | at.getNameOrOID()); |
| | | Message message = WARN_ADD_ATTR_IS_OBSOLETE.get( |
| | | String.valueOf(entryDN), |
| | | at.getNameOrOID()); |
| | | localOp.appendErrorMessage(message); |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | break addProcessing; |
| | |
| | | { |
| | | if (oc.isObsolete()) |
| | | { |
| | | int msgID = MSGID_ADD_OC_IS_OBSOLETE; |
| | | String message = getMessage(msgID, String.valueOf(entryDN), |
| | | oc.getNameOrOID()); |
| | | Message message = WARN_ADD_OC_IS_OBSOLETE.get( |
| | | String.valueOf(entryDN), |
| | | oc.getNameOrOID()); |
| | | localOp.appendErrorMessage(message); |
| | | localOp.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | break addProcessing; |
| | |
| | | getAccessControlHandler().isAllowed(parentDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | localOp.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_ADD_ASSERTION_FAILED, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_ADD_ASSERTION_FAILED.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_ADD_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | localOp.appendErrorMessage( |
| | | ERR_ADD_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_ADD_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | localOp.appendErrorMessage( |
| | | ERR_ADD_UNSUPPORTED_CRITICAL_CONTROL.get( |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | |
| | | break addProcessing; |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(localOp) == false) { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_ADD_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS |
| | | .get(String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break addProcessing; |
| | |
| | | // and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | if (backend == null) |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage("No backend for entry " + |
| | | entryDN.toString()); |
| | | localOp.appendErrorMessage(Message.raw("No backend for entry " + |
| | | entryDN.toString())); // TODO: i18n |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_SERVER_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | localOp.isSynchronizationOperation())) |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_ADD_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_SERVER_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_ADD_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_BACKEND_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | localOp.isSynchronizationOperation())) |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_ADD_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_ADD_BACKEND_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break addProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (noOp) |
| | | { |
| | | localOp.appendErrorMessage(getMessage(MSGID_ADD_NOOP)); |
| | | localOp.appendErrorMessage(INFO_ADD_NOOP.get()); |
| | | |
| | | localOp.setResultCode(ResultCode.NO_OPERATION); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_ADD_SYNCH_PREOP_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_ADD_SYNCH_PREOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break addProcessing; |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | localOp.setCancelResult(cancelResult); |
| | | localOp.setResultCode(cancelResult.getResultCode()); |
| | | |
| | | String message = coe.getMessage(); |
| | | Message message = coe.getMessageObject(); |
| | | if ((message != null) && (message.length() > 0)) |
| | | { |
| | | localOp.appendErrorMessage(message); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_ADD_SYNCH_POSTOP_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_ADD_SYNCH_POSTOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break; |
| | |
| | | // return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_ADD_ERROR_NOTIFYING_CHANGE_LISTENER; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_ADD_ERROR_NOTIFYING_CHANGE_LISTENER.get( |
| | | getExceptionMessage(e)); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (entryLock == null) |
| | | { |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.appendErrorMessage(getMessage(MSGID_DELETE_CANNOT_LOCK_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_DELETE_CANNOT_LOCK_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | } |
| | | |
| | |
| | | if (entry == null) |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_DELETE_NO_SUCH_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage(ERR_DELETE_NO_SUCH_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | try |
| | | { |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | break deleteProcessing; |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_DELETE_SYNCH_CONFLICT_RESOLUTION_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_DELETE_SYNCH_CONFLICT_RESOLUTION_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break deleteProcessing; |
| | |
| | | getAccessControlHandler().isAllowed(entryDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_ASSERTION_FAILED, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_ASSERTION_FAILED.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_DELETE_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, |
| | | localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_DELETE_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_UNSUPPORTED_CRITICAL_CONTROL.get( |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | |
| | | break deleteProcessing; |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(localOp) == false) { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_DELETE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break deleteProcessing; |
| | |
| | | // and result and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | return; |
| | |
| | | if (backend == null) |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_DELETE_NO_SUCH_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_NO_SUCH_ENTRY.get(String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | } |
| | | |
| | |
| | | { |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_SERVER_READONLY.get(String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | localOp.isSynchronizationOperation())) |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_SERVER_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | case DISABLED: |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_BACKEND_READONLY.get(String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | localOp.isSynchronizationOperation())) |
| | | { |
| | | localOp.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_DELETE_BACKEND_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break deleteProcessing; |
| | | } |
| | | } |
| | |
| | | if (dn.isDescendantOf(entryDN)) |
| | | { |
| | | localOp.setResultCode(ResultCode.NOT_ALLOWED_ON_NONLEAF); |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_DELETE_HAS_SUB_BACKEND, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(dn))); |
| | | localOp.appendErrorMessage(ERR_DELETE_HAS_SUB_BACKEND.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(dn))); |
| | | break deleteProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (noOp) |
| | | { |
| | | localOp.appendErrorMessage(getMessage(MSGID_DELETE_NOOP)); |
| | | localOp.appendErrorMessage(INFO_DELETE_NOOP.get()); |
| | | |
| | | localOp.setResultCode(ResultCode.NO_OPERATION); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_DELETE_SYNCH_PREOP_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_DELETE_SYNCH_PREOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break deleteProcessing; |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | localOp.setMatchedDN(de.getMatchedDN()); |
| | | localOp.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | localOp.setCancelResult(cancelResult); |
| | | localOp.setResultCode(cancelResult.getResultCode()); |
| | | |
| | | String message = coe.getMessage(); |
| | | Message message = coe.getMessageObject(); |
| | | if ((message != null) && (message.length() > 0)) |
| | | { |
| | | localOp.appendErrorMessage(message); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_DELETE_SYNCH_POSTOP_FAILED, |
| | | localOp.getConnectionID(), |
| | | localOp.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_DELETE_SYNCH_POSTOP_FAILED. |
| | | get(localOp.getConnectionID(), localOp.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | localOp.setResponseData(de); |
| | | break; |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_POSTOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_POSTOP_DISCONNECT.get()); |
| | | |
| | | localOp.setProcessingStopTime(); |
| | | return; |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_DELETE_ERROR_NOTIFYING_CHANGE_LISTENER; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_DELETE_ERROR_NOTIFYING_CHANGE_LISTENER.get( |
| | | getExceptionMessage(e)); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | if (DirectoryServer.getConfigHandler().handlesEntry(entryDN) && |
| | | (! clientConnection.hasPrivilege(Privilege.CONFIG_READ, localOp))) |
| | | { |
| | | int msgID = MSGID_COMPARE_CONFIG_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_COMPARE_CONFIG_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | skipPostOperation = true; |
| | | break compareProcessing; |
| | |
| | | |
| | | if (readLock == null) |
| | | { |
| | | int msgID = MSGID_COMPARE_CANNOT_LOCK_ENTRY; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | | Message message = ERR_COMPARE_CANNOT_LOCK_ENTRY.get( |
| | | String.valueOf(entryDN)); |
| | | |
| | | localOp.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | localOp.appendErrorMessage(message); |
| | |
| | | if (entry == null) |
| | | { |
| | | localOp.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | localOp.appendErrorMessage(getMessage(MSGID_COMPARE_NO_SUCH_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | localOp.appendErrorMessage( |
| | | ERR_COMPARE_NO_SUCH_ENTRY.get(String.valueOf(entryDN))); |
| | | |
| | | // See if one of the entry's ancestors exists. |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | break compareProcessing; |
| | | } |
| | | |
| | |
| | | isAllowed(entryDN, localOp, c)) |
| | | { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage(getMessage(msgID, oid)); |
| | | |
| | | localOp.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break compareProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | localOp.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | localOp.appendErrorMessage( |
| | | getMessage(MSGID_COMPARE_ASSERTION_FAILED, |
| | | String.valueOf(entryDN))); |
| | | ERR_COMPARE_ASSERTION_FAILED.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | |
| | | localOp.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_COMPARE_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | ERR_COMPARE_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege( |
| | | Privilege.PROXIED_AUTH, localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break compareProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | if (! clientConnection.hasPrivilege( |
| | | Privilege.PROXIED_AUTH, localOp)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | localOp.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break compareProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | localOp.appendErrorMessage(le.getMessage()); |
| | | localOp.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | localOp.setResultCode(de.getResultCode()); |
| | | localOp.appendErrorMessage(de.getErrorMessage()); |
| | | localOp.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | localOp.setResultCode( |
| | | ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_COMPARE_UNSUPPORTED_CRITICAL_CONTROL; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN), oid)); |
| | | ERR_COMPARE_UNSUPPORTED_CRITICAL_CONTROL.get( |
| | | String.valueOf(entryDN), oid)); |
| | | |
| | | break compareProcessing; |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(localOp) == false) { |
| | | localOp.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_COMPARE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | localOp.appendErrorMessage( |
| | | getMessage(msgID, String.valueOf(entryDN))); |
| | | ERR_COMPARE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break compareProcessing; |
| | |
| | | // result and return. |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | localOp.setResultCode(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | if (options == null) |
| | | { |
| | | localOp.appendErrorMessage(getMessage(MSGID_COMPARE_OP_NO_SUCH_ATTR, |
| | | String.valueOf(entryDN), baseName)); |
| | | localOp.appendErrorMessage(WARN_COMPARE_OP_NO_SUCH_ATTR.get( |
| | | String.valueOf(entryDN), baseName)); |
| | | } |
| | | else |
| | | { |
| | | localOp.appendErrorMessage(getMessage( |
| | | MSGID_COMPARE_OP_NO_SUCH_ATTR_WITH_OPTIONS, |
| | | String.valueOf(entryDN), baseName)); |
| | | localOp.appendErrorMessage( |
| | | WARN_COMPARE_OP_NO_SUCH_ATTR_WITH_OPTIONS.get( |
| | | String.valueOf(entryDN), baseName)); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | localOp.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_POSTOP_DISCONNECT; |
| | | localOp.appendErrorMessage(getMessage(msgID)); |
| | | localOp.appendErrorMessage(ERR_CANCELED_BY_POSTOP_DISCONNECT.get()); |
| | | |
| | | return; |
| | | } |
| | |
| | | if ((parentDN == null) || parentDN.isNullDN()) |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_NO_PARENT, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_NO_PARENT.get(String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | |
| | |
| | | if (currentBackend == null) |
| | | { |
| | | op.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | op.appendErrorMessage(getMessage( |
| | | MSGID_MODDN_NO_BACKEND_FOR_CURRENT_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_NO_BACKEND_FOR_CURRENT_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | |
| | |
| | | if (newBackend == null) |
| | | { |
| | | op.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_NO_BACKEND_FOR_NEW_ENTRY, |
| | | String.valueOf(entryDN), |
| | | op.appendErrorMessage(ERR_MODDN_NO_BACKEND_FOR_NEW_ENTRY.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | else if (! currentBackend.equals(newBackend)) |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_DIFFERENT_BACKENDS, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN))); |
| | | op.appendErrorMessage(ERR_MODDN_DIFFERENT_BACKENDS.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | |
| | |
| | | if (currentLock == null) |
| | | { |
| | | op.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_CANNOT_LOCK_CURRENT_DN, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_CANNOT_LOCK_CURRENT_DN.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyDNProcessing; |
| | |
| | | } |
| | | |
| | | op.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_EXCEPTION_LOCKING_NEW_DN, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN), |
| | | getExceptionMessage(e))); |
| | | op.appendErrorMessage(ERR_MODDN_EXCEPTION_LOCKING_NEW_DN.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN), |
| | | getExceptionMessage(e))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyDNProcessing; |
| | |
| | | LockManager.unlock(entryDN, currentLock); |
| | | |
| | | op.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_CANNOT_LOCK_NEW_DN, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN))); |
| | | op.appendErrorMessage(ERR_MODDN_CANNOT_LOCK_NEW_DN.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(newDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyDNProcessing; |
| | |
| | | } |
| | | |
| | | op.setResultCode(de.getResultCode()); |
| | | op.appendErrorMessage(de.getErrorMessage()); |
| | | op.appendErrorMessage(de.getMessageObject()); |
| | | op.setMatchedDN(de.getMatchedDN()); |
| | | op.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.NO_SUCH_OBJECT); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_NO_CURRENT_ENTRY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_NO_CURRENT_ENTRY.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODDN_SYNCH_CONFLICT_RESOLUTION_FAILED, |
| | | op.getConnectionID(), op.getOperationID(), |
| | | getExceptionMessage(de)); |
| | | logError(ERR_MODDN_SYNCH_CONFLICT_RESOLUTION_FAILED. |
| | | get(op.getConnectionID(), op.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | op.setResponseData(de); |
| | | break modifyDNProcessing; |
| | |
| | | getAccessControlHandler().isAllowed(entryDN, op, c)) |
| | | { |
| | | op.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | int msgID = MSGID_CONTROL_INSUFFICIENT_ACCESS_RIGHTS; |
| | | op.appendErrorMessage(getMessage(msgID, oid)); |
| | | |
| | | op.appendErrorMessage( |
| | | ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid)); |
| | | skipPostOperation = true; |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | op.appendErrorMessage(le.getMessage()); |
| | | op.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.ASSERTION_FAILED); |
| | | |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_ASSERTION_FAILED, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_ASSERTION_FAILED.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | |
| | | op.setResultCode(ResultCode.PROTOCOL_ERROR); |
| | | |
| | | int msgID = MSGID_MODDN_CANNOT_PROCESS_ASSERTION_FILTER; |
| | | op.appendErrorMessage(getMessage(msgID, String.valueOf(entryDN), |
| | | de.getErrorMessage())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_CANNOT_PROCESS_ASSERTION_FILTER.get( |
| | | String.valueOf(entryDN), |
| | | de.getMessageObject())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | op.appendErrorMessage(le.getMessage()); |
| | | op.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | op.appendErrorMessage(le.getMessage()); |
| | | op.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | // be able to use this control. |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, op)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | op.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | op.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | op.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | op.appendErrorMessage(le.getMessage()); |
| | | op.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(de.getResultCode()); |
| | | op.appendErrorMessage(de.getErrorMessage()); |
| | | op.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | // be able to use this control. |
| | | if (! clientConnection.hasPrivilege(Privilege.PROXIED_AUTH, op)) |
| | | { |
| | | int msgID = MSGID_PROXYAUTH_INSUFFICIENT_PRIVILEGES; |
| | | op.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | op.appendErrorMessage( |
| | | ERR_PROXYAUTH_INSUFFICIENT_PRIVILEGES.get()); |
| | | op.setResultCode(ResultCode.AUTHORIZATION_DENIED); |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(ResultCode.valueOf(le.getResultCode())); |
| | | op.appendErrorMessage(le.getMessage()); |
| | | op.appendErrorMessage(le.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | } |
| | | |
| | | op.setResultCode(de.getResultCode()); |
| | | op.appendErrorMessage(de.getErrorMessage()); |
| | | op.appendErrorMessage(de.getMessageObject()); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.UNAVAILABLE_CRITICAL_EXTENSION); |
| | | |
| | | int msgID = MSGID_MODDN_UNSUPPORTED_CRITICAL_CONTROL; |
| | | op.appendErrorMessage(getMessage(msgID, String.valueOf(entryDN), |
| | | oid)); |
| | | |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_UNSUPPORTED_CRITICAL_CONTROL.get( |
| | | String.valueOf(entryDN), |
| | | oid)); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | .getAccessControlHandler().isAllowed(op) == false) { |
| | | op.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS); |
| | | |
| | | int msgID = MSGID_MODDN_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS; |
| | | op.appendErrorMessage(getMessage(msgID, String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get( |
| | | String.valueOf(entryDN))); |
| | | |
| | | skipPostOperation = true; |
| | | break modifyDNProcessing; |
| | |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODDN_OLD_RDN_ATTR_IS_NO_USER_MOD; |
| | | op.appendErrorMessage(getMessage(msgID, String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage(ERR_MODDN_OLD_RDN_ATTR_IS_NO_USER_MOD.get( |
| | | String.valueOf(entryDN), a.getName())); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | |
| | | int msgID = MSGID_MODDN_NEW_RDN_ATTR_IS_NO_USER_MOD; |
| | | op.appendErrorMessage(getMessage(msgID, String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage(ERR_MODDN_NEW_RDN_ATTR_IS_NO_USER_MOD.get( |
| | | String.valueOf(entryDN), a.getName())); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | if ((DirectoryServer.checkSchema()) && |
| | | (!op.isSynchronizationOperation()) ) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | if (! newEntry.conformsToSchema(null, false, true, true, |
| | | invalidReason)) |
| | | { |
| | | op.setResultCode(ResultCode.OBJECTCLASS_VIOLATION); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_VIOLATES_SCHEMA, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(invalidReason))); |
| | | op.appendErrorMessage(ERR_MODDN_VIOLATES_SCHEMA.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(invalidReason))); |
| | | break modifyDNProcessing; |
| | | } |
| | | |
| | |
| | | if (at.isObsolete()) |
| | | { |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | op.appendErrorMessage(getMessage( |
| | | MSGID_MODDN_NEWRDN_ATTR_IS_OBSOLETE, |
| | | String.valueOf(entryDN), |
| | | at.getNameOrOID())); |
| | | op.appendErrorMessage(ERR_MODDN_NEWRDN_ATTR_IS_OBSOLETE.get( |
| | | String.valueOf(entryDN), |
| | | at.getNameOrOID())); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | // and result and return. |
| | | op.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_PREOP_DISCONNECT; |
| | | op.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | op.appendErrorMessage(ERR_CANCELED_BY_PREOP_DISCONNECT.get()); |
| | | return; |
| | | } |
| | | else if (preOpResult.sendResponseImmediately()) |
| | |
| | | { |
| | | op.setResultCode(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_NO_ATTR; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage(ERR_MODDN_PREOP_INCREMENT_NO_ATTR.get( |
| | | String.valueOf(entryDN), a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_MULTIPLE_VALUES; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_MULTIPLE_VALUES.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.NO_SUCH_ATTRIBUTE); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_NO_ATTR; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage(ERR_MODDN_PREOP_INCREMENT_NO_ATTR.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_MULTIPLE_VALUES; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_MULTIPLE_VALUES.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_VALUE_NOT_INTEGER; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_VALUE_NOT_INTEGER.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_NO_AMOUNT; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_NO_AMOUNT.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | { |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_MULTIPLE_AMOUNTS; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_MULTIPLE_AMOUNTS.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | |
| | | op.setResultCode(ResultCode.CONSTRAINT_VIOLATION); |
| | | |
| | | int msgID = MSGID_MODDN_PREOP_INCREMENT_AMOUNT_NOT_INTEGER; |
| | | op.appendErrorMessage(getMessage(msgID, |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | op.appendErrorMessage( |
| | | ERR_MODDN_PREOP_INCREMENT_AMOUNT_NOT_INTEGER.get( |
| | | String.valueOf(entryDN), |
| | | a.getName())); |
| | | |
| | | break modifyDNProcessing; |
| | | } |
| | |
| | | // schema. |
| | | if (DirectoryServer.checkSchema()) |
| | | { |
| | | StringBuilder invalidReason = new StringBuilder(); |
| | | MessageBuilder invalidReason = new MessageBuilder(); |
| | | if (! newEntry.conformsToSchema(null, false, true, true, |
| | | invalidReason)) |
| | | { |
| | | op.setResultCode(ResultCode.OBJECTCLASS_VIOLATION); |
| | | |
| | | op.appendErrorMessage(getMessage( |
| | | MSGID_MODDN_PREOP_VIOLATES_SCHEMA, |
| | | String.valueOf(entryDN), |
| | | String.valueOf(invalidReason))); |
| | | op.appendErrorMessage(ERR_MODDN_PREOP_VIOLATES_SCHEMA.get( |
| | | String.valueOf(entryDN), |
| | | String.valueOf(invalidReason))); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | case DISABLED: |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_SERVER_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | op.isSynchronizationOperation())) |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_SERVER_READONLY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_SERVER_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | { |
| | | case DISABLED: |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_BACKEND_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | |
| | | case INTERNAL_ONLY: |
| | |
| | | op.isSynchronizationOperation())) |
| | | { |
| | | op.setResultCode(ResultCode.UNWILLING_TO_PERFORM); |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_BACKEND_READONLY, |
| | | String.valueOf(entryDN))); |
| | | op.appendErrorMessage(ERR_MODDN_BACKEND_READONLY.get( |
| | | String.valueOf(entryDN))); |
| | | break modifyDNProcessing; |
| | | } |
| | | } |
| | |
| | | |
| | | if (noOp) |
| | | { |
| | | op.appendErrorMessage(getMessage(MSGID_MODDN_NOOP)); |
| | | op.appendErrorMessage(INFO_MODDN_NOOP.get()); |
| | | |
| | | op.setResultCode(ResultCode.NO_OPERATION); |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODDN_SYNCH_PREOP_FAILED, op.getConnectionID(), |
| | | op.getOperationID(), getExceptionMessage(de)); |
| | | logError(ERR_MODDN_SYNCH_PREOP_FAILED. |
| | | get(op.getConnectionID(), op.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | op.setResponseData(de); |
| | | break modifyDNProcessing; |
| | |
| | | } |
| | | |
| | | op.setResultCode(de.getResultCode()); |
| | | op.appendErrorMessage(de.getErrorMessage()); |
| | | op.appendErrorMessage(de.getMessageObject()); |
| | | op.setMatchedDN(de.getMatchedDN()); |
| | | op.setReferralURLs(de.getReferralURLs()); |
| | | |
| | |
| | | op.setCancelResult(cancelResult); |
| | | op.setResultCode(cancelResult.getResultCode()); |
| | | |
| | | String message = coe.getMessage(); |
| | | Message message = coe.getMessageObject(); |
| | | if ((message != null) && (message.length() > 0)) |
| | | { |
| | | op.appendErrorMessage(message); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | logError(ErrorLogCategory.SYNCHRONIZATION, |
| | | ErrorLogSeverity.SEVERE_ERROR, |
| | | MSGID_MODDN_SYNCH_POSTOP_FAILED, op.getConnectionID(), |
| | | op.getOperationID(), getExceptionMessage(de)); |
| | | logError(ERR_MODDN_SYNCH_POSTOP_FAILED. |
| | | get(op.getConnectionID(), op.getOperationID(), |
| | | getExceptionMessage(de))); |
| | | |
| | | op.setResponseData(de); |
| | | break; |
| | |
| | | { |
| | | op.setResultCode(ResultCode.CANCELED); |
| | | |
| | | int msgID = MSGID_CANCELED_BY_POSTOP_DISCONNECT; |
| | | op.appendErrorMessage(getMessage(msgID)); |
| | | |
| | | op.appendErrorMessage(ERR_CANCELED_BY_POSTOP_DISCONNECT.get()); |
| | | return; |
| | | } |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_MODDN_ERROR_NOTIFYING_CHANGE_LISTENER; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | logError(ErrorLogCategory.CORE_SERVER, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_MODDN_ERROR_NOTIFYING_CHANGE_LISTENER.get( |
| | | getExceptionMessage(e)); |
| | | logError(message); |
| | | } |
| | | } |
| | | } |