| | |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | import javax.net.ssl.SSLException; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.admin.AdministrationConnector; |
| | | import org.opends.server.controls.ProxiedAuthV2Control; |
| | | import org.opends.server.core.DirectoryServer; |
| | |
| | | |
| | | |
| | | // Define all the arguments that may be used with this program. |
| | | Message toolDescription = INFO_STOPDS_TOOL_DESCRIPTION.get(); |
| | | LocalizableMessage toolDescription = INFO_STOPDS_TOOL_DESCRIPTION.get(); |
| | | ArgumentParser argParser = new ArgumentParser(CLASS_NAME, |
| | | toolDescription, false); |
| | | BooleanArgument checkStoppability; |
| | |
| | | } |
| | | catch (ArgumentException ae) |
| | | { |
| | | Message message = ERR_CANNOT_INITIALIZE_ARGS.get(ae.getMessage()); |
| | | LocalizableMessage message = ERR_CANNOT_INITIALIZE_ARGS.get(ae.getMessage()); |
| | | |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | |
| | | } |
| | | catch (ArgumentException ae) |
| | | { |
| | | Message message = ERR_ERROR_PARSING_ARGS.get(ae.getMessage()); |
| | | LocalizableMessage message = ERR_ERROR_PARSING_ARGS.get(ae.getMessage()); |
| | | |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | err.println(argParser.getUsage()); |
| | |
| | | // an error. |
| | | if (bindPW.isPresent() && bindPWFile.isPresent()) |
| | | { |
| | | Message message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | LocalizableMessage message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | bindPW.getLongIdentifier(), |
| | | bindPWFile.getLongIdentifier()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | |
| | | // then return an error. |
| | | if (keyStorePW.isPresent() && keyStorePWFile.isPresent()) |
| | | { |
| | | Message message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | LocalizableMessage message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | keyStorePW.getLongIdentifier(), |
| | | keyStorePWFile.getLongIdentifier()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | |
| | | // provided, then return an error. |
| | | if (trustStorePW.isPresent() && trustStorePWFile.isPresent()) |
| | | { |
| | | Message message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | LocalizableMessage message = ERR_STOPDS_MUTUALLY_EXCLUSIVE_ARGUMENTS.get( |
| | | trustStorePW.getLongIdentifier(), |
| | | trustStorePWFile.getLongIdentifier()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Message message = ERR_STOPDS_CANNOT_DECODE_STOP_TIME.get(); |
| | | LocalizableMessage message = ERR_STOPDS_CANNOT_DECODE_STOP_TIME.get(); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | | } |
| | |
| | | Date currentDate = new Date(System.currentTimeMillis()); |
| | | if (currentDate.after(stopTime)) |
| | | { |
| | | Message message = ERR_STOPDS_DATETIME_ALREADY_PASSED.get( |
| | | LocalizableMessage message = ERR_STOPDS_DATETIME_ALREADY_PASSED.get( |
| | | timeStr); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | |
| | | |
| | | connectionOptions.setSSLConnectionFactory(sslConnectionFactory); |
| | | } catch (SSLConnectionException sce) { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_STOPDS_CANNOT_INITIALIZE_SSL.get(sce.getMessage()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_LOCAL_ERROR; |
| | |
| | | int equalPos = s.indexOf('='); |
| | | if (equalPos <= 0) |
| | | { |
| | | Message message = ERR_STOPDS_CANNOT_PARSE_SASL_OPTION.get(s); |
| | | LocalizableMessage message = ERR_STOPDS_CANNOT_PARSE_SASL_OPTION.get(s); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | | } |
| | |
| | | |
| | | if (mechanism == null) |
| | | { |
| | | Message message = ERR_STOPDS_NO_SASL_MECHANISM.get(); |
| | | LocalizableMessage message = ERR_STOPDS_NO_SASL_MECHANISM.get(); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR; |
| | | } |
| | |
| | | } |
| | | catch (ArgumentException ae) |
| | | { |
| | | Message message = ERR_STOPDS_CANNOT_DETERMINE_PORT.get( |
| | | LocalizableMessage message = ERR_STOPDS_CANNOT_DETERMINE_PORT.get( |
| | | port.getLongIdentifier(), |
| | | ae.getMessage()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | |
| | | } |
| | | catch (LDAPConnectionException lce) |
| | | { |
| | | Message message = null; |
| | | LocalizableMessage message = null; |
| | | if ((lce.getCause() != null) && (lce.getCause().getCause() != null) && |
| | | lce.getCause().getCause() instanceof SSLException) { |
| | | message = ERR_STOPDS_CANNOT_CONNECT_SSL.get(host.getValue(), |
| | |
| | | responseMessage = reader.readMessage(); |
| | | if (responseMessage == null) |
| | | { |
| | | Message message = ERR_STOPDS_UNEXPECTED_CONNECTION_CLOSURE.get(); |
| | | LocalizableMessage message = ERR_STOPDS_UNEXPECTED_CONNECTION_CLOSURE.get(); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_SERVER_DOWN; |
| | | } |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | Message message = ERR_STOPDS_IO_ERROR.get(String.valueOf(ioe)); |
| | | LocalizableMessage message = ERR_STOPDS_IO_ERROR.get(String.valueOf(ioe)); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_SERVER_DOWN; |
| | | } |
| | | catch (ASN1Exception ae) |
| | | { |
| | | Message message = ERR_STOPDS_DECODE_ERROR.get(ae.getMessage()); |
| | | LocalizableMessage message = ERR_STOPDS_DECODE_ERROR.get(ae.getMessage()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_DECODING_ERROR; |
| | | } |
| | | catch (LDAPException le) |
| | | { |
| | | Message message = ERR_STOPDS_DECODE_ERROR.get(le.getMessage()); |
| | | LocalizableMessage message = ERR_STOPDS_DECODE_ERROR.get(le.getMessage()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_DECODING_ERROR; |
| | | } |
| | |
| | | if ((responseOID != null) && |
| | | (responseOID.equals(LDAPConstants.OID_NOTICE_OF_DISCONNECTION))) |
| | | { |
| | | Message message = extendedResponse.getErrorMessage(); |
| | | LocalizableMessage message = extendedResponse.getErrorMessage(); |
| | | if (message != null) |
| | | { |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | |
| | | } |
| | | |
| | | |
| | | Message message = ERR_STOPDS_INVALID_RESPONSE_TYPE.get( |
| | | LocalizableMessage message = ERR_STOPDS_INVALID_RESPONSE_TYPE.get( |
| | | responseMessage.getProtocolOpName()); |
| | | err.println(wrapText(message, MAX_LINE_WIDTH)); |
| | | return LDAPResultCode.CLIENT_SIDE_LOCAL_ERROR; |
| | |
| | | |
| | | AddResponseProtocolOp addResponse = |
| | | responseMessage.getAddResponseProtocolOp(); |
| | | Message errorMessage = addResponse.getErrorMessage(); |
| | | LocalizableMessage errorMessage = addResponse.getErrorMessage(); |
| | | if (errorMessage != null) |
| | | { |
| | | err.println(wrapText(errorMessage, MAX_LINE_WIDTH)); |
| | |
| | | { |
| | | // The server is not running: write a message informing of that |
| | | // in the standard out (this is not an error message). |
| | | Message message = INFO_STOPDS_SERVER_ALREADY_STOPPED.get(); |
| | | LocalizableMessage message = INFO_STOPDS_SERVER_ALREADY_STOPPED.get(); |
| | | out.println(message); |
| | | LockFileManager.releaseLock(lockFile, failureReason); |
| | | isServerRunning = false; |
| | |
| | | } |
| | | // Display a message informing that we are going to the server. |
| | | |
| | | Message message = INFO_STOPDS_GOING_TO_STOP.get(); |
| | | LocalizableMessage message = INFO_STOPDS_GOING_TO_STOP.get(); |
| | | out.println(message); |
| | | } |
| | | } |
| | |
| | | { |
| | | // Display a message informing that we are going to the server. |
| | | |
| | | Message message = INFO_STOPDS_GOING_TO_STOP.get(); |
| | | LocalizableMessage message = INFO_STOPDS_GOING_TO_STOP.get(); |
| | | out.println(message); |
| | | |
| | | if (restartPresent) |