You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2009/03/30 21:11:29 UTC
svn commit: r760110 - in /mina/sshd/trunk/src:
main/java/org/apache/sshd/common/session/AbstractSession.java
test/java/org/apache/sshd/ServerTest.java
Author: gnodet
Date: Mon Mar 30 19:11:29 2009
New Revision: 760110
URL: http://svn.apache.org/viewvc?rev=760110&view=rev
Log:
SSHD-16: fix problem when login from OpenSolaris ssh client
Modified:
mina/sshd/trunk/src/main/java/org/apache/sshd/common/session/AbstractSession.java
mina/sshd/trunk/src/test/java/org/apache/sshd/ServerTest.java
Modified: mina/sshd/trunk/src/main/java/org/apache/sshd/common/session/AbstractSession.java
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/src/main/java/org/apache/sshd/common/session/AbstractSession.java?rev=760110&r1=760109&r2=760110&view=diff
==============================================================================
--- mina/sshd/trunk/src/main/java/org/apache/sshd/common/session/AbstractSession.java (original)
+++ mina/sshd/trunk/src/main/java/org/apache/sshd/common/session/AbstractSession.java Mon Mar 30 19:11:29 2009
@@ -849,7 +849,7 @@
break;
}
}
- if (guess[i] == null) {
+ if (guess[i] == null && i != SshConstants.PROPOSAL_LANG_CTOS && i != SshConstants.PROPOSAL_LANG_STOC) {
throw new IllegalStateException("Unable to negociate");
}
}
Modified: mina/sshd/trunk/src/test/java/org/apache/sshd/ServerTest.java
URL: http://svn.apache.org/viewvc/mina/sshd/trunk/src/test/java/org/apache/sshd/ServerTest.java?rev=760110&r1=760109&r2=760110&view=diff
==============================================================================
--- mina/sshd/trunk/src/test/java/org/apache/sshd/ServerTest.java (original)
+++ mina/sshd/trunk/src/test/java/org/apache/sshd/ServerTest.java Mon Mar 30 19:11:29 2009
@@ -21,12 +21,17 @@
import java.net.ServerSocket;
import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
+import org.apache.sshd.common.session.AbstractSession;
+import org.apache.sshd.common.SshConstants;
import org.apache.sshd.util.EchoShellFactory;
import org.apache.sshd.util.BogusPasswordAuthenticator;
import org.apache.sshd.server.command.ScpCommandFactory;
import org.apache.sshd.ClientSession;
import org.apache.sshd.SshClient;
import org.apache.sshd.SshServer;
+import org.apache.sshd.client.SessionFactory;
+import org.apache.sshd.client.session.ClientSessionImpl;
+import org.apache.mina.core.session.IoSession;
import org.junit.Before;
import org.junit.Test;
import org.junit.Assert;
@@ -94,6 +99,28 @@
Assert.assertTrue((res & ClientSession.CLOSED) != 0);
}
+ @Test
+ public void testLanguage() throws Exception {
+ SshClient client = SshClient.setUpDefaultClient();
+ client.setSessionFactory(new SessionFactory() {
+ @Override
+ protected AbstractSession createSession(IoSession ioSession) throws Exception {
+ return new ClientSessionImpl(client, ioSession) {
+ @Override
+ protected String[] createProposal(String hostKeyTypes) {
+ String[] proposal = super.createProposal(hostKeyTypes);
+ proposal[SshConstants.PROPOSAL_LANG_CTOS] = "en-US";
+ proposal[SshConstants.PROPOSAL_LANG_STOC] = "en-US";
+ return proposal;
+ }
+ };
+ }
+ });
+ client.start();
+ ClientSession s = client.connect("localhost", port).await().getSession();
+ s.close(false);
+ }
+
public static void main(String[] args) throws Exception {
SshServer sshd = SshServer.setUpDefaultServer();
sshd.setPort(8000);