karaf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jbono...@apache.org
Subject [karaf] branch karaf-4.1.x updated: KARAF-5980 use jline terminal for ssh instead of ignoring the environment
Date Wed, 17 Oct 2018 19:41:21 GMT
This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch karaf-4.1.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.1.x by this push:
     new e4589b8  KARAF-5980 use jline terminal for ssh instead of ignoring the environment
e4589b8 is described below

commit e4589b8fddaa0aff04ddff8e1fffc5a2f8a4dac4
Author: Romain Manni-Bucau <rmannibucau@gmail.com>
AuthorDate: Wed Oct 17 16:51:40 2018 +0200

    KARAF-5980 use jline terminal for ssh instead of ignoring the environment
---
 .../java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java     | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java
index 364bafe..5c398fe 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java
@@ -98,11 +98,12 @@ public class ShellFactoryImpl implements Factory<Command> {
                 final Subject subject = ShellImpl.this.session != null ? ShellImpl.this.session
                         .getAttribute(KarafJaasAuthenticator.SUBJECT_ATTRIBUTE_KEY) : null;
                 String encoding = getEncoding(env);
-                final PrintStream pout = out instanceof PrintStream ? (PrintStream) out :
new PrintStream(out, true, encoding);
-                final PrintStream perr = err instanceof PrintStream ? (PrintStream) err :
out == err ? pout : new PrintStream(err, true, encoding);
-                terminal = new SshTerminal(env, in, pout);
-                shell = sessionFactory.create(in,
-                        pout, perr, terminal, encoding, this::destroy);
+                terminal = new SshTerminal(env, in, out);
+                final PrintStream pout = new PrintStream(terminal.output(), true, encoding);
+                final PrintStream perr = err instanceof PrintStream ?
+                        (PrintStream) err : out == err ? pout : new PrintStream(err, true,
encoding);
+                shell = sessionFactory.create(in, pout,
+                        perr, terminal, encoding, this::destroy);
                 for (Map.Entry<String, String> e : env.getEnv().entrySet()) {
                     shell.put(e.getKey(), e.getValue());
                 }


Mime
View raw message