hierynomus/sshj

Port forward to unavailable destination cause dead lock on client side

akandratovich opened this issue · 1 comments

Hello, source.

In case, destination in parameters is not available, open channel fails with exception

Opening direct-tcpip channel failed: Connection refused
    at net.schmizz.sshj.connection.channel.direct.AbstractDirectChannel.gotOpenFailure(AbstractDirectChannel.java:64)
    at net.schmizz.sshj.connection.channel.direct.AbstractDirectChannel.gotUnknown(AbstractDirectChannel.java:89)
    at net.schmizz.sshj.connection.channel.AbstractChannel.handle(AbstractChannel.java:193)
    at net.schmizz.sshj.connection.ConnectionImpl.handle(ConnectionImpl.java:128)
    at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:455)
    at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:107)
    at net.schmizz.sshj.transport.Decoder.received(Decoder.java:175)
    at net.schmizz.sshj.transport.Reader.run(Reader.java:61)

DirectTCPIPChannel is not started, socket monitor is not activated and socket is never closed. Client is locked forever.

Thx for finding this! I'd love a PR to fix :) Else I'll look into it soon.