From 3c62241572c7b043743d66adf53bb1633af43506 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 07 Apr 2011 20:35:36 +0000
Subject: [PATCH] Fix Issue OPENDJ-19 - execute control-panel as any user The control-panel script checks at startup that the user is the owner of the local instance. This prevents anyone from using the control-panel to access remote servers. Added an option (-r or --remote) to skip the local checks.
---
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
index ef04b1e..e09a54c 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ControlPanelArgumentParser.java
@@ -23,6 +23,7 @@
*
*
* Copyright 2009-2010 Sun Microsystems, Inc.
+ * Portions Copyright 2011 ForgeRock AS
*/
package org.opends.guitools.controlpanel;
@@ -81,6 +82,11 @@
private BooleanArgument trustAllArg = null;
/**
+ * The 'remoteArg' global argument.
+ */
+ private BooleanArgument remoteArg = null;
+
+ /**
* Argument to specify the connect timeout.
*/
private IntegerArgument connectTimeoutArg = null;
@@ -164,6 +170,11 @@
trustAllArg.setPropertyName(OPTION_LONG_TRUSTALL);
addArgument(trustAllArg);
+ remoteArg = new BooleanArgument("remote", OPTION_SHORT_REMOTE,
+ OPTION_LONG_REMOTE, INFO_DESCRIPTION_REMOTE.get());
+ remoteArg.setPropertyName(OPTION_LONG_REMOTE);
+ addArgument(remoteArg);
+
int defaultTimeout = ConnectionUtils.getDefaultLDAPTimeout();
connectTimeoutArg = new IntegerArgument(OPTION_LONG_CONNECT_TIMEOUT,
null, OPTION_LONG_CONNECT_TIMEOUT,
@@ -307,4 +318,13 @@
}
}
+ /**
+ * Returns whether the user specified to connect to a remote server.
+ * @return whether the user specified to connect to a remote server.
+ */
+ public boolean isRemote()
+ {
+ return remoteArg.isPresent();
+ }
+
}
--
Gitblit v1.10.0