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

Guillaume Nodet commented on SSHD-269:
--------------------------------------

I've tried to reproduce locally using a junit test, sending a 100 times 40000 
bytes packets and verifying the data, but it works fine.
Do you still see the issue ? If so, if you could set up a java test that would 
reproduce the problem it would be really awesome.

> Random Data corruption with Remote Port Forwarding
> --------------------------------------------------
>
>                 Key: SSHD-269
>                 URL: https://issues.apache.org/jira/browse/SSHD-269
>             Project: MINA SSHD
>          Issue Type: Bug
>    Affects Versions: 0.9.0
>         Environment: WIN7 + JDK7, Centos+OpenJDK7
>            Reporter: Abhishek Ganguly
>            Assignee: Guillaume Nodet
>            Priority: Critical
>         Attachments: Module1.vb
>
>
> A TCP connection set up over Remote Port Forwarding feature randomly garbles 
> the data. On further testing I found that the TCP stream from remote-to-local 
> is unaffected whereas the local-to-remote is bad.
> To reproduce,
> 1. setup a basic sshd. listen on port 22. call the host 'remote'.
> 2. on 'local' machine set up putty (ssh client) as follows:
> 2.1 Host name: remote
> 2.2 Port: 22
> 2.3 Connection-SSH: Dont start a shell or command at all
> 2.4 Connection-SSH-tunnels:: source-port: remote-port, destination: 
> localhost:localport
> 2.5 Connection type: Remote [Click ADD]
> 2.6 Open connection
> this makes a tunnel from remoteserver:remoteport to localhost:localport
> 3. set up a basic TCP server on localhost:localport
> 3.1 start serving predictable byte arrays. {0000111112222....}
> 4. set up a basic TCP client. connect to remoteHost:remotePort
> 4.1 the connection automatically gets forwarded to localhost:localport where 
> my own TCP server is running. hence a TCP connection is setup over the tunnel.
> 5. start consuming the byte array from server.
> 5.1 match the incoming bytes to expected sequence.
> you will see that the sequence is oftentimes garbled.
> 6. let the client send a similar predictable byte stream to server.
> 6.1 from client take OutputStream from the socket and push a long but 
> predictable byte array in it.
> 6.2 from server get InputStream out of socket and read the bytes
> you will see that irrespective of array length, all the bytes are safely 
> delivered.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to