[ 
https://issues.apache.org/jira/browse/VFS-440?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Gregory updated VFS-440:
-----------------------------

    Attachment: sftp-stream-proxy-v5.diff

We are getting close! The remaining issue is the test is not cleaning up after 
itself. This affects all the patches I tested: v3, v4 and v5:

{noformat}
-------------------------------------------------------
With V3 patch:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase
Sftp server started on port 64349
true
created threads still running:
#1: main        NioProcessor-2  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#2: main        pool-1-thread-1 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#3: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#4: main        Thread-2        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#5: main        NioProcessor-3  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#6: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#7: main        Thread-4        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#8: main        NioProcessor-4  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#9: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#10: main       Thread-6        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#11: main       pool-2-thread-4 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#12: main       Thread-11       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#13: main       Thread-27       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#14: main       Thread-28       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#15: main       Thread-29       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem

created threads still running:
#1: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session

Tests run: 87, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.693 sec

-------------------------------------------------------
With V4 patch:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase
Sftp server started on port 64466
true
created threads still running:
#1: main        NioProcessor-2  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#2: main        pool-1-thread-1 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#3: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#4: main        Thread-2        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#5: main        NioProcessor-3  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#6: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#7: main        Thread-4        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#8: main        NioProcessor-4  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#9: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#10: main       Thread-6        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#11: main       pool-2-thread-4 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#12: main       Thread-11       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#13: main       Thread-27       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#14: main       Thread-28       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#15: main       Thread-29       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem

created threads still running:
#1: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session

Tests run: 87, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.981 sec

-------------------------------------------------------
With V5 patch:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase
Sftp server started on port 64522
true
created threads still running:
#1: main        NioProcessor-2  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#2: main        pool-1-thread-1 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#3: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#4: main        Thread-2        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#5: main        NioProcessor-3  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#6: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#7: main        Thread-4        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#8: main        NioProcessor-4  not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#9: main        Connect thread localhost session        daemon  class 
com.jcraft.jsch.Session
#10: main       Thread-6        not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#11: main       pool-2-thread-4 not_a_daemon    class 
java.util.concurrent.ThreadPoolExecutor$Worker
#12: main       Thread-11       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#13: main       Thread-27       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#14: main       Thread-28       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem
#15: main       Thread-29       not_a_daemon    class 
org.apache.commons.vfs2.provider.sftp.test.SftpProviderTestCase$MySftpSubsystem

Tests run: 87, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.27 sec
{noformat}

                
> [SFTP] Stream (e.g. netcat) proxy for Sftp file system (aka ProxyCommand)
> -------------------------------------------------------------------------
>
>                 Key: VFS-440
>                 URL: https://issues.apache.org/jira/browse/VFS-440
>             Project: Commons VFS
>          Issue Type: Improvement
>            Reporter: Benjamin Piwowarski
>            Priority: Minor
>              Labels: proxy, sftp
>         Attachments: sftp-stream-proxy.diff, sftp-stream-proxy-v2.diff, 
> sftp-stream-proxy-v3.diff, sftp-stream-proxy-v4.diff, 
> sftp-stream-proxy-v5.diff
>
>
> What I propose is to add the possibility to connect to a remote SSH server 
> through an SSH connection stream (instead of an HTTP or SOCKS proxy). See for 
> instance
> http://backdrift.org/transparent-proxy-with-ssh
> for a use case.
> This simulates a ProxyCommand where the command is run on a SSH host.
> The patch also contains a test for the new functionality. 
> Example of use (with the netcat command nc -q 0 HOSTNAME PORT)
> {code:java}
> builder.setProxyType(opts, SftpFileSystemConfigBuilder.PROXY_STREAM);
> builder.setProxyCommand(opts, SftpStreamProxy.NETCAT_COMMAND);
> builder.setProxyHost(opts, "gate.way.host");
> builder.setProxyPort(opts, 22);
> builder.setProxyOptions(opts, proxyOptions);
> {code}

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