Skip to content
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

Remove org.eclipse.ecf.ssl fragment from the Eclipse IDE #2725

Closed
scottslewis opened this issue Jan 4, 2025 · 2 comments
Closed

Remove org.eclipse.ecf.ssl fragment from the Eclipse IDE #2725

scottslewis opened this issue Jan 4, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@scottslewis
Copy link

As per the investigation described in comments on this issue:

eclipse/ecf#140

the org.eclipse.ecf.ssl fragment should be removed from the Eclipse IDE.

@scottslewis scottslewis added the bug Something isn't working label Jan 4, 2025
@merks
Copy link
Contributor

merks commented Jan 5, 2025

You mention just the fragment org.eclipse.ecf.ssl but there's there's also the org.eclipse.ecf.core.ssl.feature which includes that fragment so presumably that must go too, right? With the only plugin that it includes removed it would be pointless That feature in turn is included by org.eclipse.ecf.filetransfer.ssl.feature so presumably with the previous bundle and feature removed, the org.eclipse.ecf.filetransfer.ssl.feature would include only the single fragment org.eclipse.ecf.provider.filetransfer.ssl. Is that being removed as well? That bundle has just a single class org.eclipse.ecf.internal.provider.filetransfer.ssl.ECFURLConnectionModifier. In my test environment I tried running without the class ECFURLConnectionModifier and that worked fine. Even when I tried running with that class present, ECFURLConnectionModifier.setSocketFactoryForConnection(URLConnection) was never called.

Given that the only ECF-specific subclass of javax.net.ssl.SSLSocketFactory that I see is org.eclipse.ecf.internal.ssl.ECFSSLSocketFactory the ECFURLConnectionModifier class is maybe worse than useless.

image

A connection modifier appears to be used only from URLFileSystemBrowser.runRequest() but that class is used only when there is no more specific provider present for the protocol. For http and https different implementation classes are used without using the modifier.

image

And then the support only works for httpsURLConnection for which we are not even using the URLFileSystemBrowser

image

All that would explain why it's just never used.

So I assume it is safe to assume that we should be removing references to all of the following:

  • org.eclipse.ecf.ssl
  • org.eclipse.ecf.provider.filetransfer.ssl
  • org.eclipse.ecf.core.ssl.feature
  • org.eclipse.ecf.filetransfer.ssl.feature

@scottslewis
Copy link
Author

Even when I tried running with that class present, ECFURLConnectionModifier.setSocketFactoryForConnection(URLConnection) was never called.

The explanation for this is the URLConnectionModifier was used with old providers (prior to the ones that are used/tested now), and the maintenance to remove these classes was never done by the provider authors (nor me).

Given that the only ECF-specific subclass of javax.net.ssl.SSLSocketFactory that I see is org.eclipse.ecf.internal.ssl.ECFSSLSocketFactory the ECFURLConnectionModifier class is maybe worse than useless.

Yeah...now it is.

All that would explain why it's just never used.

...now. It was used 5+ years ago...and I believe there is unused code that references it in both httpclient5 and jreproviders...as the classes were (mostly) copied from previously provider impls based upon httpclient4.5,4,3.

So I assume it is safe to assume that we should be removing references to all of the following:

* org.eclipse.ecf.ssl

* org.eclipse.ecf.provider.filetransfer.ssl

* org.eclipse.ecf.core.ssl.feature

* org.eclipse.ecf.filetransfer.ssl.feature

That would be my assumption too. I've done no testing on that, however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants