You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Andrew C (JIRA)" <ji...@apache.org> on 2013/02/20 17:13:12 UTC

[jira] [Commented] (SSHD-211) Allow custom server services

    [ https://issues.apache.org/jira/browse/SSHD-211?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582277#comment-13582277 ] 

Andrew C commented on SSHD-211:
-------------------------------

I should note that, after this change, I'll be able to implement a custom service using existing message types.  A second round of changes would be required to allow custom message types - SshConstants.Message is an enum.
                
> Allow custom server services
> ----------------------------
>
>                 Key: SSHD-211
>                 URL: https://issues.apache.org/jira/browse/SSHD-211
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 0.8.0
>            Reporter: Andrew C
>         Attachments: sshd-service-wip.patch
>
>
> I'm implementing a custom server/protocol over sshd but to do it I'm extending / modifying the existing ServerSession when instead I should be adding a custom service to the existing ServerSession.
> Attached a work-in-progress that is sufficient to illustrate the basic theory (but not much more):
> - add a Service interface
> - add a ServiceFactory to SshServer that instantiates a Service given its name (e.g., "ssh-userauth" or "ssh-connection")
> - implement UserAuthService (ssh-userauth) and ConnectionService (ssh-connection) using code extracted from *Session
> - add a currentService to ServerSession and set it when it receives aSSH_MSG_SERVICE_REQUEST and then pass messages along to that (the UserAuthService, once completed, does the same thing with its requested service)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira