MovingBlocks / FacadeApplet

A facade to the Terasology engine that wraps it to run as an applet
Apache License 2.0
4 stars 6 forks source link

LWJGL natives fail to extract #4

Closed Cervator closed 10 years ago

Cervator commented 10 years ago

With the jars properly signed (and LWJGL hackily fixed and resigned ..) the applet launches, but fails to extract the natives to the user's local LWJGL cache

For me the applet loads up stuff locally at C:\Users\Cervator\AppData\Local\Temp\lwjglcache\localhost\Terasology and there is a natives directory there but it is empty

If you copy in the extracted natives (for instance from your normal workspace) that suit your OS to /natives the applet will launch and then hit #3 next

msteiger commented 10 years ago

I think this is indicated by the "Certificate mismatch found" error message.

https://github.com/LWJGL/lwjgl/blob/master/src/java/org/lwjgl/util/applet/AppletLoader.java#L1851

Cervator commented 10 years ago

Yep, that's pretty exact. Wonder why it doesn't log better, they have a nice description for the exception and everything.

Are we not re-signing the LWJGL jars well enough? We do the manifest fix, then re-sign the jars, but do we need to extract the natives themselves, re-sign those, then re-package the jars, re-sign those, then all would be well?

Even if the manifest fix is accepted by LWJGL, we'll still be signing some stuff with our cert. Think the LWJGL step will be fine so long as the natives jars and the natives themselves have the same cert (LWJGL's) ?

msteiger commented 10 years ago

I found it! You were right, it wasn't about the signing at all. It was #5 - the Launcher downloads the native jars together with the other libs and when it comes to extracting natives, it skips over them, because they were already downloaded.

Cervator commented 10 years ago

Hehe, that was more dumb luck on my part (I was just playing janitor) than anything clever. Nice find :D