Repository: karaf
Updated Branches:
  refs/heads/karaf-2.x 5cd9b108d -> fb7f0ddc0


[KARAF-3269]ssh into karaf as user with no roles throws exception and user 
shell stays frozen


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/fb7f0ddc
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/fb7f0ddc
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/fb7f0ddc

Branch: refs/heads/karaf-2.x
Commit: fb7f0ddc0f1e34142135173ca013dfd84435bb51
Parents: 5cd9b10
Author: Freeman Fang <[email protected]>
Authored: Sat Oct 11 12:10:41 2014 +0800
Committer: Freeman Fang <[email protected]>
Committed: Sat Oct 11 12:10:41 2014 +0800

----------------------------------------------------------------------
 .../java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java   | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/fb7f0ddc/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/ShellFactoryImpl.java
----------------------------------------------------------------------
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 8668b3c..d47042a 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
@@ -169,6 +169,15 @@ public class ShellFactoryImpl implements Factory<Command> {
                         console.run();
                     } catch (Exception e) {
                         LOGGER.warn("Unable to start shell", e);
+                        //close the session to notify the ssh client if 
something wrong
+                        //during starting shell
+                        try {
+                            out.write(("unable to start shell because " + 
e.getMessage() + "\n").getBytes());
+                            out.flush();
+                        } catch (IOException e1) {
+                            LOGGER.warn("Unable to send back error message", 
e1);
+                        }
+                        ShellImpl.this.session.close(true);
                     }
                 }
             }.start();

Reply via email to