You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/09/25 09:05:01 UTC

svn commit: r1389730 - in /karaf/branches/karaf-2.3.x/shell/console: pom.xml src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java

Author: jbonofre
Date: Tue Sep 25 07:05:00 2012
New Revision: 1389730

URL: http://svn.apache.org/viewvc?rev=1389730&view=rev
Log:
[KARAF-1845] Set sshd agent as optional in order to be able to start the minimal distribution

Modified:
    karaf/branches/karaf-2.3.x/shell/console/pom.xml
    karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java

Modified: karaf/branches/karaf-2.3.x/shell/console/pom.xml
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/console/pom.xml?rev=1389730&r1=1389729&r2=1389730&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/console/pom.xml (original)
+++ karaf/branches/karaf-2.3.x/shell/console/pom.xml Tue Sep 25 07:05:00 2012
@@ -118,6 +118,7 @@
                         <Import-Package>
                             org.osgi.service.event;resolution:=optional,
                             org.apache.karaf.branding;resolution:=optional,
+                            org.apache.sshd.agent*;resolution:=optional,
                             *
                         </Import-Package>
                         <Export-Package>

Modified: karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java
URL: http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java?rev=1389730&r1=1389729&r2=1389730&view=diff
==============================================================================
--- karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java (original)
+++ karaf/branches/karaf-2.3.x/shell/console/src/main/java/org/apache/karaf/shell/console/jline/ConsoleFactory.java Tue Sep 25 07:05:00 2012
@@ -161,12 +161,7 @@ public class ConsoleFactory {
 
     protected String startAgent(String user) {
         try {
-            local = new AgentImpl();
-            URL url = bundleContext.getBundle().getResource("karaf.key");
-            InputStream is = url.openStream();
-            ObjectInputStream r = new ObjectInputStream(is);
-            KeyPair keyPair = (KeyPair) r.readObject();
-            local.addIdentity(keyPair, "karaf");
+            local = SshAgentLoader.load(bundleContext);
             String agentId = "local:" + user;
             Hashtable properties = new Hashtable();
             properties.put("id", agentId);
@@ -207,4 +202,22 @@ public class ConsoleFactory {
             return stream;
         }
     }
+
+    static class SshAgentLoader {
+        static SshAgent load(BundleContext bundleContext) {
+            try {
+                SshAgent agent = new AgentImpl();
+                URL url = bundleContext.getBundle().getResource("karaf.key");
+                InputStream is = url.openStream();
+                ObjectInputStream r = new ObjectInputStream(is);
+                KeyPair keyPair = (KeyPair) r.readObject();
+                agent.addIdentity(keyPair, "karaf");
+                return agent;
+            } catch (Throwable e) {
+                LOGGER.warn("Error starting ssh agent for local console", e);
+                return null;
+            }
+        }
+    }
+
 }