You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2014/02/24 20:21:07 UTC
git commit: [KARAF-2778] The bin/shell script is broken
Repository: karaf
Updated Branches:
refs/heads/master d0c4f4108 -> e3c87cef0
[KARAF-2778] The bin/shell script is broken
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e3c87cef
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e3c87cef
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e3c87cef
Branch: refs/heads/master
Commit: e3c87cef088203eeee12f39ad049bbdad4012643
Parents: d0c4f41
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Mon Feb 24 20:20:49 2014 +0100
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Mon Feb 24 20:20:59 2014 +0100
----------------------------------------------------------------------
.../main/filtered-resources/resources/bin/shell | 2 +-
.../filtered-resources/resources/bin/shell.bat | 2 +-
.../apache/karaf/shell/console/impl/Main.java | 2 +-
.../impl/jline/ConsoleFactoryService.java | 2 +-
.../shell/console/impl/jline/ConsoleImpl.java | 32 +++++++++++++++-----
.../shell/console/impl/ExampleSubclassMain.java | 2 +-
.../console/impl/jline/ConsoleImplTest.java | 2 +-
7 files changed, 30 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell
----------------------------------------------------------------------
diff --git a/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell b/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell
index beb9559..7f66eaa 100755
--- a/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell
+++ b/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell
@@ -331,7 +331,7 @@ run() {
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
fi
- exec "$JAVA" $JAVA_OPTS -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder $KARAF_OPTS $OPTS -classpath "$CLASSPATH" org.apache.karaf.shell.console.impl.Main --classpath="$KARAF_HOME/system" "$@"
+ exec "$JAVA" $JAVA_OPTS -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" -Dkaraf.base="$KARAF_BASE" -Dkaraf.etc="$KARAF_ETC" -Djava.io.tmpdir="$KARAF_DATA/tmp" -Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" $KARAF_OPTS $OPTS -classpath "$CLASSPATH" org.apache.karaf.shell.console.impl.Main --classpath="$KARAF_HOME/system" "$@"
}
main() {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell.bat
----------------------------------------------------------------------
diff --git a/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell.bat b/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell.bat
index 287bac3..c4734f8 100644
--- a/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell.bat
+++ b/assemblies/features/framework/src/main/filtered-resources/resources/bin/shell.bat
@@ -129,7 +129,7 @@ set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\jline\jline\${jline.version}\jline
if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8
if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
rem Execute the Java Virtual Machine
- "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" -Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder %KARAF_OPTS% org.apache.karaf.shell.console.impl.Main --classpath="%KARAF_HOME%\system" %ARGS%
+ "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.shell.console.impl.Main --classpath="%KARAF_HOME%\system" %ARGS%
rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/shell/console/src/main/java/org/apache/karaf/shell/console/impl/Main.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/Main.java b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/Main.java
index 4cc2686..2b0d0d9 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/Main.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/Main.java
@@ -230,7 +230,7 @@ public class Main {
* @throws Exception
*/
protected ConsoleImpl createConsole(CommandProcessorImpl commandProcessor, ThreadIO threadIO, InputStream in, PrintStream out, PrintStream err, Terminal terminal) throws Exception {
- return new ConsoleImpl(commandProcessor, threadIO, in, out, err, terminal, null, null, null);
+ return new ConsoleImpl(commandProcessor, threadIO, in, out, err, terminal, null, null, null, false);
}
/**
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleFactoryService.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleFactoryService.java b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleFactoryService.java
index 2bb853a..f32328c 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleFactoryService.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleFactoryService.java
@@ -60,7 +60,7 @@ public class ConsoleFactoryService implements ConsoleFactory {
@Override
public Console create(InputStream in, PrintStream out, PrintStream err, final Terminal terminal,
String encoding, Runnable closeCallback) {
- ConsoleImpl console = new ConsoleImpl(processor, threadIO, in, out, err, terminal, encoding, closeCallback, bundleContext);
+ ConsoleImpl console = new ConsoleImpl(processor, threadIO, in, out, err, terminal, encoding, closeCallback, bundleContext, true);
CommandSession session = console.getSession();
session.put("USER", ShellUtil.getCurrentUserName());
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
----------------------------------------------------------------------
diff --git a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
index 1396cc5..24a7277 100644
--- a/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
+++ b/shell/console/src/main/java/org/apache/karaf/shell/console/impl/jline/ConsoleImpl.java
@@ -79,6 +79,7 @@ public class ConsoleImpl implements Console {
private InputStream in;
private PrintStream out;
private PrintStream err;
+ private boolean secured;
private Thread thread;
private final BundleContext bundleContext;
@@ -90,15 +91,21 @@ public class ConsoleImpl implements Console {
Terminal term,
String encoding,
Runnable closeCallback,
- BundleContext bc) {
+ BundleContext bc,
+ boolean secured) {
this.threadIO = threadIO;
this.in = in;
this.out = out;
this.err = err;
+ this.secured = secured;
this.queue = new ArrayBlockingQueue<Integer>(1024);
this.terminal = term == null ? new UnsupportedTerminal() : term;
this.consoleInput = new ConsoleInputStream();
- this.session = new DelegateSession();
+ if (secured) {
+ this.session = new DelegateSession();
+ } else {
+ this.session = processor.createSession(consoleInput, out, err);
+ }
this.session.put("SCOPE", "shell:bundle:*");
this.session.put("SUBSHELL", "");
this.setCompletionMode();
@@ -130,7 +137,7 @@ public class ConsoleImpl implements Console {
((MemoryHistory)reader.getHistory()).setMaxSize(Integer.parseInt(maxSizeStr));
}
}
-
+
session.put(".jline.reader", reader);
session.put(".jline.history", reader.getHistory());
Completer completer = createCompleter();
@@ -152,6 +159,10 @@ public class ConsoleImpl implements Console {
return new File(System.getProperty("karaf.history", defaultHistoryPath));
}
+ public boolean isSecured() {
+ return secured;
+ }
+
public CommandSession getSession() {
return session;
}
@@ -178,7 +189,10 @@ public class ConsoleImpl implements Console {
public void run() {
try {
threadIO.setStreams(consoleInput, out, err);
- SecuredCommandProcessorImpl secCP = createSecuredCommandProcessor();
+ SecuredCommandProcessorImpl secCP = null;
+ if (secured) {
+ secCP = createSecuredCommandProcessor();
+ }
thread = Thread.currentThread();
CommandSessionHolder.setSession(session);
running = true;
@@ -210,10 +224,12 @@ public class ConsoleImpl implements Console {
ShellUtil.logException(session, t);
}
}
- try {
- secCP.close();
- } catch (Throwable t) {
- // Ignore
+ if (secured) {
+ try {
+ secCP.close();
+ } catch (Throwable t) {
+ // Ignore
+ }
}
close(true);
} finally {
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/shell/console/src/test/java/org/apache/karaf/shell/console/impl/ExampleSubclassMain.java
----------------------------------------------------------------------
diff --git a/shell/console/src/test/java/org/apache/karaf/shell/console/impl/ExampleSubclassMain.java b/shell/console/src/test/java/org/apache/karaf/shell/console/impl/ExampleSubclassMain.java
index eb1be3e..6a3f8b2 100644
--- a/shell/console/src/test/java/org/apache/karaf/shell/console/impl/ExampleSubclassMain.java
+++ b/shell/console/src/test/java/org/apache/karaf/shell/console/impl/ExampleSubclassMain.java
@@ -47,7 +47,7 @@ public class ExampleSubclassMain extends Main {
@Override
protected ConsoleImpl createConsole(CommandProcessorImpl commandProcessor, ThreadIO threadIO, InputStream in, PrintStream out, PrintStream err, Terminal terminal) throws Exception {
- return new ConsoleImpl(commandProcessor, threadIO, in, out, err, terminal, null, null, null) {
+ return new ConsoleImpl(commandProcessor, threadIO, in, out, err, terminal, null, null, null, true) {
/**
* If you don't overwrite, then karaf will use the welcome message found in the
http://git-wip-us.apache.org/repos/asf/karaf/blob/e3c87cef/shell/console/src/test/java/org/apache/karaf/shell/console/impl/jline/ConsoleImplTest.java
----------------------------------------------------------------------
diff --git a/shell/console/src/test/java/org/apache/karaf/shell/console/impl/jline/ConsoleImplTest.java b/shell/console/src/test/java/org/apache/karaf/shell/console/impl/jline/ConsoleImplTest.java
index e4648f9..24b229b 100644
--- a/shell/console/src/test/java/org/apache/karaf/shell/console/impl/jline/ConsoleImplTest.java
+++ b/shell/console/src/test/java/org/apache/karaf/shell/console/impl/jline/ConsoleImplTest.java
@@ -74,7 +74,7 @@ public class ConsoleImplTest {
}).anyTimes();
EasyMock.replay(bc);
- final ConsoleImpl console = new ConsoleImpl(null, new ThreadIOImpl(), System.in, System.out, System.err, null, "UTF-8", null, bc);
+ final ConsoleImpl console = new ConsoleImpl(null, new ThreadIOImpl(), System.in, System.out, System.err, null, "UTF-8", null, bc, true);
assertTrue(console.session instanceof DelegateSession);
console.session.put("foo", "bar");