You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by ja...@apache.org on 2014/04/17 21:45:38 UTC

[2/2] git commit: KARAF-2918 - Provide ability to set a banner prior to user login via ssh

KARAF-2918 - Provide ability to set a banner prior to user login via ssh

Conflicts:
	admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg
	assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg


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

Branch: refs/heads/karaf-2.x
Commit: a14f54a7461e742fa333cdaaaa7e0945d0a502fc
Parents: fce57b9
Author: Jonathan Anstey <ja...@gmail.com>
Authored: Thu Apr 17 11:54:03 2014 -0230
Committer: Jonathan Anstey <ja...@gmail.com>
Committed: Thu Apr 17 17:12:26 2014 -0230

----------------------------------------------------------------------
 .../apache/karaf/admin/etc/org.apache.karaf.shell.cfg  |  5 +++++
 .../distribution/text/etc/org.apache.karaf.shell.cfg   |  5 +++++
 .../org/apache/karaf/shell/ssh/SshServerAction.java    |  8 ++++++++
 .../org/apache/karaf/shell/ssh/SshServerFactory.java   | 13 +++++++++++++
 .../main/resources/OSGI-INF/blueprint/shell-ssh.xml    |  4 +++-
 5 files changed, 34 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/a14f54a7/admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg
----------------------------------------------------------------------
diff --git a/admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg b/admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg
index 859804d..194b43b 100644
--- a/admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg
+++ b/admin/core/src/main/resources/org/apache/karaf/admin/etc/org.apache.karaf.shell.cfg
@@ -60,3 +60,8 @@ hostKey = ${karaf.etc}/host.key
 # Specify host key algorithm, defaults to DSA
 #
 # algorithm = DSA
+
+# Specify an additional welcome banner to be displayed when a user logs into the server.
+#
+# welcomeBanner =
+

http://git-wip-us.apache.org/repos/asf/karaf/blob/a14f54a7/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg
----------------------------------------------------------------------
diff --git a/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg b/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg
index 289a3af..159c740 100644
--- a/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg
+++ b/assemblies/apache-karaf/src/main/distribution/text/etc/org.apache.karaf.shell.cfg
@@ -60,3 +60,8 @@ hostKey = ${karaf.etc}/host.key
 # Specify host key algorithm, defaults to DSA
 #
 # algorithm = DSA
+
+# Specify an additional welcome banner to be displayed when a user logs into the server.
+#
+# welcomeBanner =
+

http://git-wip-us.apache.org/repos/asf/karaf/blob/a14f54a7/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerAction.java
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerAction.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerAction.java
index fab86f9..4042edf 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerAction.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerAction.java
@@ -44,6 +44,9 @@ public class SshServerAction extends OsgiCommandSupport implements BlueprintCont
     @Option(name = "-i", aliases = { "--idle-timeout" }, description = "The session idle timeout (Default: 1800000ms)", required = false, multiValued = false)
     private long idleTimeout = 1800000;
 
+    @Option(name = "-w", aliases = { "--welcome-banner" }, description = "The welcome banner to display when logging in", required = false, multiValued = false)
+    private String welcomeBanner;
+
     private BlueprintContainer container;
 
     private String sshServerId;
@@ -68,6 +71,11 @@ public class SshServerAction extends OsgiCommandSupport implements BlueprintCont
         // idle timeout
         server.getProperties().put(SshServer.IDLE_TIMEOUT, new Long(idleTimeout).toString());
 
+        // welcome banner
+        if (welcomeBanner != null) {
+            server.getProperties().put(SshServer.WELCOME_BANNER, welcomeBanner);
+        } 
+
         // starting the SSHd server
         server.start();
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/a14f54a7/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerFactory.java
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerFactory.java b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerFactory.java
index 4789669..6d4233e 100644
--- a/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerFactory.java
+++ b/shell/ssh/src/main/java/org/apache/karaf/shell/ssh/SshServerFactory.java
@@ -31,6 +31,8 @@ public class SshServerFactory {
 
     private SshServer server;
 
+    private String welcomeBanner;
+
     public SshServerFactory(SshServer server) {
         this.server = server;
     }
@@ -51,10 +53,21 @@ public class SshServerFactory {
         this.idleTimeout = idleTimeout;
     }
 
+    public String getWelcomeBanner() {
+        return welcomeBanner;
+    }
+
+    public void setWelcomeBanner(String welcomeBanner) {
+        this.welcomeBanner = welcomeBanner;
+    }
+    
     public void start() {
         if (start) {
             try {
                 server.getProperties().put(SshServer.IDLE_TIMEOUT, new Long(idleTimeout).toString());
+                if (getWelcomeBanner() != null && !getWelcomeBanner().isEmpty()) {
+                    server.getProperties().put(SshServer.WELCOME_BANNER, getWelcomeBanner());
+                }
                 server.start();
             } catch (Exception e) {
                 LOGGER.info("Error updating SSH server", e);

http://git-wip-us.apache.org/repos/asf/karaf/blob/a14f54a7/shell/ssh/src/main/resources/OSGI-INF/blueprint/shell-ssh.xml
----------------------------------------------------------------------
diff --git a/shell/ssh/src/main/resources/OSGI-INF/blueprint/shell-ssh.xml b/shell/ssh/src/main/resources/OSGI-INF/blueprint/shell-ssh.xml
index 6a79a42..6ad80bd 100644
--- a/shell/ssh/src/main/resources/OSGI-INF/blueprint/shell-ssh.xml
+++ b/shell/ssh/src/main/resources/OSGI-INF/blueprint/shell-ssh.xml
@@ -49,6 +49,7 @@
             <cm:property name="algorithm" value="DSA"/>
             <cm:property name="macs" value="hmac-sha1" />
             <cm:property name="ciphers" value="aes256-ctr,aes192-ctr,aes128-ctr,arcfour256" />
+            <cm:property name="welcomeBanner" value="" />
         </cm:default-properties>
     </cm:property-placeholder>
 
@@ -144,6 +145,7 @@
         <argument ref="sshServer"/>
         <property name="start" value="$[karaf.startRemoteShell]"/>
         <property name="idleTimeout" value="${sshIdleTimeout}"/>
+        <property name="welcomeBanner" value="${welcomeBanner}"/>
     </bean>
 
     <reference id="commandProcessor" interface="org.apache.felix.service.command.CommandProcessor">
@@ -152,4 +154,4 @@
     <reference id="threadIO" interface="org.apache.felix.service.threadio.ThreadIO">
     </reference>
 
-</blueprint>
\ No newline at end of file
+</blueprint>