Author: gnodet
Date: Mon Apr 12 14:56:43 2010
New Revision: 933264

URL: http://svn.apache.org/viewvc?rev=933264&view=rev
Log:
SSHD-83: support client initiated key reexchange on the server side

Modified:
    
mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java

Modified: 
mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
URL: 
http://svn.apache.org/viewvc/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java?rev=933264&r1=933263&r2=933264&view=diff
==============================================================================
--- 
mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
 (original)
+++ 
mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/session/ServerSession.java
 Mon Apr 12 14:56:43 2010
@@ -227,6 +227,22 @@ public class ServerSession extends Abstr
                             case SSH_MSG_GLOBAL_REQUEST:
                                 globalRequest(buffer);
                                 break;
+                            case SSH_MSG_KEXINIT:
+                                receiveKexInit(buffer);
+                                sendKexInit();
+                                negociate();
+                                kex = 
NamedFactory.Utils.create(factoryManager.getKeyExchangeFactories(), 
negociated[SshConstants.PROPOSAL_KEX_ALGS]);
+                                kex.init(this, serverVersion.getBytes(), 
clientVersion.getBytes(), I_S, I_C);
+                                break;
+                            case SSH_MSG_KEXDH_INIT:
+                                buffer.rpos(buffer.rpos() - 1);
+                                if (kex.next(buffer)) {
+                                    sendNewKeys();
+                                }
+                                break;
+                            case SSH_MSG_NEWKEYS:
+                                receiveNewKeys(true);
+                                break;
                             default:
                                 throw new IllegalStateException("Unsupported 
command: " + cmd);
                         }


Reply via email to