thSoft / elysium

LilyPond IDE for Eclipse
http://elysium.thsoft.hu
14 stars 3 forks source link

Update Site Not Reachable #204

Open david-pace opened 8 months ago

david-pace commented 8 months ago

Hi, I hope this is the right place to post this issue. Since a few days I cannot reach the Eclipse update site anymore. I tried both

http://eclipse.thsoft.hu/
https://eclipse.thsoft.hu/

but I get a "resource not found" page at Bitbucket. Was the update site moved to a new location? If so, what is the new URL?

Thank you very much and regards 🙂

nittka commented 8 months ago

The URLs point to "https://bitbucket.org/thsoft/thsoft-update/raw/master/" which seems not to expose the update site in the format as it did previously. The content is still there - try "https://bitbucket.org/thsoft/thsoft-update/src/master/" in a browser. Note the difference "raw" vs "src".

What you could (try to) do until the official update site is available again is dowload the update site repository and use it as local update site.

david-pace commented 8 months ago

Thanks @nittka, the URL you provided helped me. However, it exposes a HTML page with a repository viewer, not the actual data and this is not usable as Eclipse Update Site. But I clicked on one of the JAR files and a raw link was provided on the HTML page.

The URL for a raw file looks like this: https://bitbucket.org/thsoft/thsoft-update/raw/a33ddde7e75a310c58ec04c2f585424c4ee3b17d/artifacts.jar

I replaced the commit ID with master and then the URL is: https://bitbucket.org/thsoft/thsoft-update/raw/master/artifacts.jar

Then I removed the JAR file name to derive the base path for the update site: https://bitbucket.org/thsoft/thsoft-update/raw/master/

Curiously, this is exactly the URL you mentioned in the beginning. And this URL is actually usable as update site URL 😉 (to reproduce, try in Eclipse under Help | Install New Software: http(s)://eclipse.thsoft.hu/ does not work, but https://bitbucket.org/thsoft/thsoft-update/raw/master/ works)

So the problem seems to be the redirection from http(s)://eclipse.thsoft.hu/ to the Bitbucket URL, not the update site itself. Did something change in the redirection? Or maybe a HTTP vs. HTTPS or certificate issue?

thSoft commented 8 months ago

Sorry for the late response. I verified that installation succeeds if you go to Install New Software, enter http://eclipse.thsoft.hu/ and install Elysium. (Note that only http works, https does not.) Since this is an update site, you can't browse its contents with a browser. (You might inspect the exact network requests that Eclipse uses to load the update site contents using a network traffic inspector, if you are interested.) What are the exact steps you tried?

david-pace commented 8 months ago

With which Eclipse version did you try to reproduce this? Probably it only happens on newer versions, in my case 2023-12.

Steps to reproduce:

Result:

image

Note that the error message contains the URL https://eclipse.thsoft.hu/content.xml, so there was some kind of http to https redirection. I don't know if this happens on the client (Eclipse) side or the HTTP server side.

If you use the URL https://bitbucket.org/thsoft/thsoft-update/raw/master/ here it works.

david-pace commented 8 months ago

I found the stack trace of the root issue in the log:

javax.net.ssl.SSLPeerUnverifiedException: Certificate for <eclipse.thsoft.hu> doesn't match any of the subject alternative names: [*.inclust.com, inclust.com]
    at org.apache.hc.client5.http.ssl.DefaultHostnameVerifier.matchDNSName(DefaultHostnameVerifier.java:165)
    at org.apache.hc.client5.http.ssl.DefaultHostnameVerifier.verify(DefaultHostnameVerifier.java:120)
    at org.apache.hc.client5.http.ssl.TlsSessionValidator.verifySession(TlsSessionValidator.java:113)
    at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.verifySession(SSLConnectionSocketFactory.java:340)
    at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSocketFactory.java:329)
    at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.executeHandshake(SSLConnectionSocketFactory.java:304)
    at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:275)
    at org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:251)
    at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:181)
    at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:447)
    at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:162)
    at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:172)
    at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:142)
    at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
    at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:192)
    at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
    at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:96)
    at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
    at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:152)
    at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
    at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:115)
    at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
    at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:170)
    at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:106)
    at org.eclipse.ecf.provider.filetransfer.httpclient5.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:251)
    at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:71)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
thSoft commented 8 months ago

Thank you for the investigation! It seems that this version of Eclipse forces HTTPS. I contacted my hosting provider to fix the certificate. Please use https://bitbucket.org/thsoft/thsoft-update/raw/master/ as a workaround until they resolve the problem, which I'll signal here. I apologize for your inconvenience!