Skip to content

Spring-Integration-5.x-to-6.0-Migration-Guide does not mention missing HTTP proxy feature in SFTP module #3988

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Ingo13F opened this issue Jan 11, 2023 · 5 comments

Comments

@Ingo13F
Copy link

Ingo13F commented Jan 11, 2023

In what version(s) of Spring Integration are you seeing this issue?
This concerns purely the documentation under https://github.com/spring-projects/spring-integration/wiki/Spring-Integration-5.x-to-6.0-Migration-Guide#migrate-sftp-module-from-jsch-to-apache-mina at the moment.
Describe the bug
When migrating from the JSch lib to Apache MINA SSHD the SFTP Adapter implementation of Spring Integration 6.0.x lost the feature to use an HTTP or SOCKS proxy for the connection.
This is the case because Apache MINA only directly supports SSH jump hosts, but no HTTP or SOCKS proxies.

I have opened a feature request for the project under apache/mina-sshd#309.

In the meantime, the Spring Integration guide should mention this major change from the previous version as for me (and I suppose many others) this is a dealbreaker.

The migration guide should have all the information to be able to make an informed decision if the migration is worthwhile and how much effort it will (roughly) make.
To Reproduce

Expected behavior

The migration guide should mention the breaking change of missing HTTP/SOCKS proxies for the SFTP module.

Sample

@Ingo13F Ingo13F added status: waiting-for-triage The issue need to be evaluated and its future decided type: bug labels Jan 11, 2023
@artembilan artembilan added status: waiting-for-reporter Needs a feedback from the reporter type: documentation and removed type: bug status: waiting-for-triage The issue need to be evaluated and its future decided labels Jan 11, 2023
@artembilan
Copy link
Member

Well, you know that HTTP or SOCKS proxies was never a feature of Spring Integration: purely a JSch client configuration.
We have already expressed that we moved to Apache MINA .
I agree that we don't mention a major reason: to have a support for modern SSL algorithm, which are not supported by JSch .
However this still is left outside of Spring Integration scope.
Therefore all the mismatching between Apache MINA and JSch, including the mentioned HTTP or SOCKS proxies, are really out of our responsibility.

Does it make sense?
I'm not sure why Spring Integration docs must explain all the features of the target library if it is not involved in Spring Integration anyhow...

And thank you for raising appropriate request against Apache MINA!

@Ingo13F
Copy link
Author

Ingo13F commented Jan 11, 2023

Hmm, I see. So your stance is that you mention that you swapped JSch for MINA and it's the user's responsibility to check if MINA does all he needs/is a good fit.
I can understand of course that it will be hard to mention all the sorts of transitive change that happen because you swap out libraries, especially in a project like Spring Integration that uses A LOT of libraries.

However, I'm looking from the users perspective on this migration guide and while you clearly mention the shift to MINA it also says: "However the impact is minimal if configuration is provided via Java DSL. The most critical change has happened with the DefaultSftpSessionFactory which now requires an SshClient or some of its general configuration properties." So when I'm evaluating the migration guide to find out if going for Spring Integration is a big deal that makes me think: "Ah, cool, MINA...more modern and a drop-in replacement for JSch, just change a few config params. I'm in!".

And it IS really like this. The migration is straightforward until you come to the point where you have to configure the HTTP proxy.

So adding a line like: "However HTTP and SOCKS proxies are not currently supported by MINA out of the box" would help people in my position a lot. You have the better overview here of course and maybe that's just one thing out of dozens and you can't mention them all. Otherwise, a short disclaimer like the one mentioned would surely be appreciated...

@artembilan artembilan removed the status: waiting-for-reporter Needs a feedback from the reporter label Jan 11, 2023
@artembilan
Copy link
Member

Yes, I feel your pain and sure! - we can mention that in the Migration Guide and probably as you just explained it.
To mitigate a frustration we probably will add similar notes there as they appear.
We really test in the framework only our own stuff and it was never a goal to expose that HTTP proxy as first-class support on the framework level since it was OK covered by the target lib.

I'll ping you for review when I modify that note respectively.

@artembilan artembilan added this to the 6.0.2 milestone Jan 11, 2023
@artembilan
Copy link
Member

OK. I made a change to the Migration Guide note: https://github.com/spring-projects/spring-integration/wiki/Spring-Integration-5.x-to-6.0-Migration-Guide#migrate-sftp-module-from-jsch-to-apache-mina.

Treating this as fixed and closing respectively.

Thank you for your feedback!

@Ingo13F
Copy link
Author

Ingo13F commented Jan 11, 2023

Yep, that looks good. Thank you a lot! Hopefully, it will help future devs in making the decision to migrate or not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants