[ https://issues.apache.org/jira/browse/SSHD-828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16512123#comment-16512123 ]
Goldstein Lyor commented on SSHD-828: ------------------------------------- Tanks - a PR is simpler to examine side-by-side + makes a good "canvas" for discussions - including how best to fix the race condition. > Race condition when using SOCKS connections > ------------------------------------------- > > Key: SSHD-828 > URL: https://issues.apache.org/jira/browse/SSHD-828 > Project: MINA SSHD > Issue Type: Bug > Affects Versions: 1.7.0 > Reporter: Gavin Camp > Priority: Major > Attachments: patch.diff > > > There is a race condition when using SOCKS proxies with the SSHD server. > After the initial SOCKS negotiation the SOCKS proxy creates a channel. When > notified that the SOCKS channel is open the SOCKS proxy then sends the final > accept SOCK packet. However there is a timing issue where very fast hosts > could have already sent a packet over the now open channel - which will > arrive at the client before the final SOCKS proxy packet. This confuses the > SOCKS client connected to the server as its expected a SOCKS packet and > instead gets a packet from the underlying stream. > While this isn't a huge issue for us, given that we have the patch, this > could render the SOCKS implementation useless for some users. > Attached is a rough patch the corrects the issue. > Note: as we are just using SSHD for testing I wasn't overly concerned with > error checking or avoiding synchronization - I'm just providing it to help > illustrate the issue. Also you can ignore the pom and check-style changes I > just disabled them for an easier life. -- This message was sent by Atlassian JIRA (v7.6.3#76005)