Glenn McGregor created SSHD-245:
-----------------------------------

             Summary: Support Break Extension (RFC 4335)
                 Key: SSHD-245
                 URL: https://issues.apache.org/jira/browse/SSHD-245
             Project: MINA SSHD
          Issue Type: New Feature
            Reporter: Glenn McGregor
            Priority: Minor


I can't find a way to force a unix ssh client to send an interrupt signal, but 
it seems easy to force the break.
Unfortunately, the break message isn't implemented.

It was easy to patch in my needs...  

In ChannelSession:

    protected boolean handleRequest(String type, Buffer buffer) throws 
IOException {
        if ("env".equals(type)) {
            return handleEnv(buffer);
        }
        if ("pty-req".equals(type)) {
            return handlePtyReq(buffer);
        }
        if ("window-change".equals(type)) {
            return handleWindowChange(buffer);
        }
        if ("signal".equals(type)) {
            return handleSignal(buffer);
        }
        if ("break".equals(type)) {
            return handleBreak(buffer);
        }

....

    protected boolean handleBreak(Buffer buffer) throws IOException {
        boolean wantReply = buffer.getBoolean();
        int length = buffer.getInt();
        log.debug("Break received on channel {}: {}", id, length);

        getEnvironment().signal( Signal.INT );

        if (wantReply) {
            buffer = 
session.createBuffer(SshConstants.Message.SSH_MSG_CHANNEL_SUCCESS, 0);
            buffer.putInt(recipient);
            session.writePacket(buffer);
        }
        return true;
    }



--
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

Reply via email to