From 0cface06cb625924a2ef8ce3efde5d78810a3c24 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Thu, 05 Jul 2007 17:46:46 +0000
Subject: [PATCH] Update all of the command-line tools to ensure that the exit code should always be between 0 and 255, which are the bounds enforced by most shells and operating environments. Any negative value, or any positive value greater than 255 will be changed to 255.
---
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureDS.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java | 5 +-
opendj-sdk/opends/src/server/org/opends/server/tools/ListBackends.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java | 4 +-
opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java | 31 +++++++++++++++
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/LDIFModify.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/VerifyIndex.java | 5 +-
opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java | 5 +-
opendj-sdk/opends/src/server/org/opends/server/tools/LDIFDiff.java | 3 +
opendj-sdk/opends/src/server/org/opends/server/tools/StartWindowsService.java | 3 +
opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/WaitForFileDelete.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/RebuildIndex.java | 5 +-
opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java | 5 +-
opendj-sdk/opends/src/server/org/opends/server/tools/StopWindowsService.java | 3 +
opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java | 2
opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java | 2
27 files changed, 66 insertions(+), 37 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java b/opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java
index 7d08dcd..0a409f4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/BackUpDB.java
@@ -64,7 +64,6 @@
import static org.opends.server.messages.ToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.util.StaticUtils;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.admin.std.server.BackendCfg;
@@ -96,7 +95,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
@@ -498,7 +497,7 @@
catch(Exception e)
{
System.err.println("Error installing the custom error logger: " +
- StaticUtils.stackTraceToSingleLineString(e));
+ stackTraceToSingleLineString(e));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureDS.java
index 3d50ecb..9b2bc52 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureDS.java
@@ -135,7 +135,7 @@
int exitCode = configMain(args);
if (exitCode != 0)
{
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
index fe137cc..b77c1d5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ConfigureWindowsService.java
@@ -44,7 +44,7 @@
import static org.opends.server.messages.MessageHandler.getMessage;
import static org.opends.server.messages.ToolMessages.*;
import static org.opends.server.util.ServerConstants.MAX_LINE_WIDTH;
-import static org.opends.server.util.StaticUtils.wrapText;
+import static org.opends.server.util.StaticUtils.*;
import static org.opends.server.tools.ToolConstants.*;
/**
@@ -153,7 +153,7 @@
{
int result = configureWindowsService(args, System.out, System.err);
- System.exit(result);
+ System.exit(filterExitCode(result));
}
/**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java b/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
index b74fc80..03349b0 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/EncodePassword.java
@@ -82,7 +82,7 @@
int returnCode = encodePassword(args, true, System.out, System.err);
if (returnCode != 0)
{
- System.exit(returnCode);
+ System.exit(filterExitCode(returnCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
index 44b7fb9..b966670 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
@@ -63,7 +63,6 @@
import static org.opends.server.messages.ToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.util.StaticUtils;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.admin.std.server.BackendCfg;
@@ -94,7 +93,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
@@ -444,7 +443,7 @@
catch(Exception e)
{
System.err.println("Error installing the custom error logger: " +
- StaticUtils.stackTraceToSingleLineString(e));
+ stackTraceToSingleLineString(e));
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
index 4d43127..8611970 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
@@ -104,7 +104,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
index 822b0c8..41b7fb4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -137,7 +137,7 @@
int exitCode = installMain(args);
if (exitCode != 0)
{
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
index d37907d..f3e3d33 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPCompare.java
@@ -279,7 +279,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java
index 58b0787..89f7b82 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPDelete.java
@@ -259,7 +259,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
index a2bc7de..618db66 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPModify.java
@@ -534,7 +534,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
index 9b7f993..f126dc6 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPPasswordModify.java
@@ -103,7 +103,7 @@
int returnCode = mainPasswordModify(args, true, System.out, System.err);
if (returnCode != 0)
{
- System.exit(returnCode);
+ System.exit(filterExitCode(returnCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
index 2d931e1..658209a 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDAPSearch.java
@@ -568,7 +568,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFDiff.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFDiff.java
index b5be8d9..6b42163 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFDiff.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFDiff.java
@@ -59,6 +59,7 @@
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.messages.ToolMessages.*;
import static org.opends.server.tools.ToolConstants.*;
+import static org.opends.server.util.StaticUtils.*;
@@ -107,7 +108,7 @@
int exitCode = mainDiff(args, false);
if (exitCode != 0)
{
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFModify.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFModify.java
index bab2dbc..2b08b43 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFModify.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFModify.java
@@ -398,7 +398,7 @@
int returnCode = ldifModifyMain(args, false);
if (returnCode != 0)
{
- System.exit(returnCode);
+ System.exit(filterExitCode(returnCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
index 4fe4ddb..1d9130d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
@@ -119,7 +119,7 @@
int exitCode = mainSearch(args);
if (exitCode != 0)
{
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ListBackends.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ListBackends.java
index 0ca1552..471c188 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ListBackends.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ListBackends.java
@@ -79,7 +79,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java
index 36f7d77..7c9b52d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ManageAccount.java
@@ -493,7 +493,7 @@
int returnCode = main(args, System.out, System.err);
if (returnCode != 0)
{
- System.exit(returnCode);
+ System.exit(filterExitCode(returnCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/RebuildIndex.java b/opendj-sdk/opends/src/server/org/opends/server/tools/RebuildIndex.java
index b08d2bc..dbc8f20 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/RebuildIndex.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/RebuildIndex.java
@@ -42,7 +42,6 @@
import static org.opends.server.messages.MessageHandler.getMessage;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.util.StaticUtils;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.CoreConfigManager;
import org.opends.server.core.LockFileManager;
@@ -83,7 +82,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
@@ -346,7 +345,7 @@
catch(Exception e)
{
System.err.println("Error installing the custom error logger: " +
- StaticUtils.stackTraceToSingleLineString(e));
+ stackTraceToSingleLineString(e));
}
// Decode the base DN provided by the user.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java b/opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java
index 8ce2e1d..539065f 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/RestoreDB.java
@@ -63,7 +63,6 @@
import static org.opends.server.messages.ToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.util.StaticUtils;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.admin.std.server.BackendCfg;
@@ -94,7 +93,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
@@ -363,7 +362,7 @@
catch(Exception e)
{
System.err.println("Error installing the custom error logger: " +
- StaticUtils.stackTraceToSingleLineString(e));
+ stackTraceToSingleLineString(e));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/StartWindowsService.java b/opendj-sdk/opends/src/server/org/opends/server/tools/StartWindowsService.java
index 043f704..1c3d340 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/StartWindowsService.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/StartWindowsService.java
@@ -34,6 +34,7 @@
import static org.opends.server.messages.MessageHandler.getMessage;
import static org.opends.server.messages.ToolMessages.*;
+import static org.opends.server.util.StaticUtils.*;
/**
* This class is used to start the Windows service associated with this
@@ -65,7 +66,7 @@
{
int result = startWindowsService(System.out, System.err);
- System.exit(result);
+ System.exit(filterExitCode(result));
}
/**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java
index a366bdf..6c1df65 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/StopDS.java
@@ -136,7 +136,7 @@
if (result != LDAPResultCode.SUCCESS)
{
- System.exit(result);
+ System.exit(filterExitCode(result));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/StopWindowsService.java b/opendj-sdk/opends/src/server/org/opends/server/tools/StopWindowsService.java
index 7ef7aca..9a57f90 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/StopWindowsService.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/StopWindowsService.java
@@ -34,6 +34,7 @@
import static org.opends.server.messages.MessageHandler.getMessage;
import static org.opends.server.messages.ToolMessages.*;
+import static org.opends.server.util.StaticUtils.*;
/**
@@ -69,7 +70,7 @@
{
int result = stopWindowsService(System.out, System.err);
- System.exit(result);
+ System.exit(filterExitCode(result));
}
/**
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/VerifyIndex.java b/opendj-sdk/opends/src/server/org/opends/server/tools/VerifyIndex.java
index 919a1e4..4c496c5 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/VerifyIndex.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/VerifyIndex.java
@@ -58,7 +58,6 @@
import static org.opends.server.messages.MessageHandler.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.util.StaticUtils;
import static org.opends.server.tools.ToolConstants.*;
import org.opends.server.admin.std.server.BackendCfg;
@@ -88,7 +87,7 @@
if(retCode != 0)
{
- System.exit(retCode);
+ System.exit(filterExitCode(retCode));
}
}
@@ -357,7 +356,7 @@
catch(Exception e)
{
System.err.println("Error installing the custom error logger: " +
- StaticUtils.stackTraceToSingleLineString(e));
+ stackTraceToSingleLineString(e));
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/WaitForFileDelete.java b/opendj-sdk/opends/src/server/org/opends/server/tools/WaitForFileDelete.java
index 6c450d5..4c22325 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/WaitForFileDelete.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/WaitForFileDelete.java
@@ -96,7 +96,7 @@
int exitCode = mainWait(args);
if (exitCode != EXIT_CODE_SUCCESS)
{
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
catch (Exception e)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
index f9e59e1..21b4065 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/dsconfig/DSConfig.java
@@ -109,7 +109,7 @@
// Run the application.
int exitCode = app.run(args);
if (exitCode != 0) {
- System.exit(exitCode);
+ System.exit(filterExitCode(exitCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java b/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
index 0d3dcd3..5d18f2b 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/makeldif/MakeLDIF.java
@@ -87,7 +87,7 @@
int returnCode = makeLDIF.makeLDIFMain(args);
if (returnCode != 0)
{
- System.exit(returnCode);
+ System.exit(filterExitCode(returnCode));
}
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java b/opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java
index 58ffeb1..f9c77f8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/util/StaticUtils.java
@@ -3784,5 +3784,36 @@
return buffer.toString();
}
+
+
+
+ /**
+ * Filters the provided value to ensure that it is appropriate for use as an
+ * exit code. Exit code values are generally only allowed to be between 0 and
+ * 255, so any value outside of this range will be converted to 255, which is
+ * the typical exit code used to indicate an overflow value.
+ *
+ * @param exitCode The exit code value to be processed.
+ *
+ * @return An integer value between 0 and 255, inclusive. If the provided
+ * exit code was already between 0 and 255, then the original value
+ * will be returned. If the provided value was out of this range,
+ * then 255 will be returned.
+ */
+ public static int filterExitCode(int exitCode)
+ {
+ if (exitCode < 0)
+ {
+ return 255;
+ }
+ else if (exitCode > 255)
+ {
+ return 255;
+ }
+ else
+ {
+ return exitCode;
+ }
+ }
}
--
Gitblit v1.10.0