| | |
| | | * Portions Copyright 2006-2007 Sun Microsystems, Inc. |
| | | */ |
| | | package org.opends.server.protocols.jmx; |
| | | import org.opends.messages.Message; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | import static org.opends.server.loggers.debug.DebugLogger.*; |
| | | import org.opends.server.loggers.debug.DebugTracer; |
| | | import static org.opends.server.messages.ProtocolMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.getMessage; |
| | | import static org.opends.messages.ProtocolMessages.*; |
| | | |
| | | import org.opends.messages.MessageBuilder; |
| | | |
| | | |
| | | /** |
| | |
| | | disconnect( |
| | | DisconnectReason.ADMIN_LIMIT_EXCEEDED, |
| | | true, |
| | | MSGID_LDAP_CONNHANDLER_REJECTED_BY_SERVER); |
| | | ERR_LDAP_CONNHANDLER_REJECTED_BY_SERVER.get()); |
| | | } |
| | | operationList = new LinkedList<AbstractOperation>(); |
| | | |
| | |
| | | |
| | | // |
| | | // Ok, we can perform the unbind: call finalize |
| | | disconnect(DisconnectReason.CLIENT_DISCONNECT, false, null, -1); |
| | | disconnect(DisconnectReason.CLIENT_DISCONNECT, false, null); |
| | | } |
| | | |
| | | |
| | |
| | | // Check if we have enough privilege |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_ADD_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | addOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES.get(); |
| | | addOperation.setErrorMessage(new MessageBuilder(message)); |
| | | addOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | // Check if we have enough privilege |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_ADD_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | addOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_ADD_INSUFFICIENT_PRIVILEGES.get(); |
| | | addOperation.setErrorMessage(new MessageBuilder(message)); |
| | | addOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | // Check if we have enough privilege |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_DELETE_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | deleteOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES.get(); |
| | | deleteOperation.setErrorMessage(new MessageBuilder(message)); |
| | | deleteOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | // Check if we have enough privilege |
| | | if (! hasPrivilege(Privilege.JMX_READ, null)) |
| | | { |
| | | int msgID = MSGID_JMX_SEARCH_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | compareOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_SEARCH_INSUFFICIENT_PRIVILEGES.get(); |
| | | compareOperation.setErrorMessage(new MessageBuilder(message)); |
| | | compareOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | // Check if we have enough privilege |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_DELETE_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | deleteOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_DELETE_INSUFFICIENT_PRIVILEGES.get(); |
| | | deleteOperation.setErrorMessage(new MessageBuilder(message)); |
| | | deleteOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_MODIFY_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | modifyOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES.get(); |
| | | modifyOperation.setErrorMessage(new MessageBuilder(message)); |
| | | modifyOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | modifications); |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_MODIFY_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | modifyOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_MODIFY_INSUFFICIENT_PRIVILEGES.get(); |
| | | modifyOperation.setErrorMessage(new MessageBuilder(message)); |
| | | modifyOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_MODDN_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | modifyDNOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_MODDN_INSUFFICIENT_PRIVILEGES.get(); |
| | | modifyDNOperation.setErrorMessage(new MessageBuilder(message)); |
| | | modifyDNOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | |
| | | if (! hasPrivilege(Privilege.JMX_WRITE, null)) |
| | | { |
| | | int msgID = MSGID_JMX_MODDN_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | modifyDNOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_MODDN_INSUFFICIENT_PRIVILEGES.get(); |
| | | modifyDNOperation.setErrorMessage(new MessageBuilder(message)); |
| | | modifyDNOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | |
| | | if (! hasPrivilege(Privilege.JMX_READ, null)) |
| | | { |
| | | int msgID = MSGID_JMX_SEARCH_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | searchOperation.setErrorMessage(new StringBuilder(message)); |
| | | Message message = ERR_JMX_SEARCH_INSUFFICIENT_PRIVILEGES.get(); |
| | | searchOperation.setErrorMessage(new MessageBuilder(message)); |
| | | searchOperation.setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS) ; |
| | | } |
| | | else |
| | |
| | | * @param message The message to send to the client. It may be |
| | | * <CODE>null</CODE> if no notification is to be |
| | | * sent. |
| | | * @param messageID The unique identifier associated with the message |
| | | * to send to the client. It may be -1 if no |
| | | * notification is to be sent. |
| | | */ |
| | | public void disconnect(DisconnectReason disconnectReason, |
| | | boolean sendNotification, String message, |
| | | int messageID) |
| | | boolean sendNotification, |
| | | Message message) |
| | | { |
| | | // we are already performing a disconnect |
| | | if (disconnectStarted) |
| | |
| | | PluginConfigManager pluginManager = |
| | | DirectoryServer.getPluginConfigManager(); |
| | | pluginManager.invokePostDisconnectPlugins(this, disconnectReason, |
| | | messageID, message); |
| | | message); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | protected void finalize() |
| | | { |
| | | super.finalize(); |
| | | disconnect(DisconnectReason.OTHER, false, null, -1); |
| | | disconnect(DisconnectReason.OTHER, false, null); |
| | | } |
| | | } |
| | | |