Missing Codebase manifest attribute for: http://jogamp.org/deployment/archive/rc/v2.1.0/jar/gluegen-rt.jar
Sorry if this question has been posted before and I couldn't find it. My app (www.insparia.com) is signed (including codebase and permissions manifest attributes) jnlp and has been mostly working through Oracle's recent security changes until I upgraded today to jdk7u45 (I was on u25). From Oracle's website codebase and permissions are now required for signed jars (like jogl). http://docs.oracle.com/javase/tutorial/deployment/webstart/deploying.html My app hangs with jdk7u45 on MacOSX 10.8.2 with the err msg: Missing Codebase manifest attribute for: http://jogamp.org/deployment/archive/rc/v2.1.0/jar/gluegen-rt.jar Any chance of adding manifest attributes to gluegen-rt.jar? Examples from the oracle link above. - Permissions: sandbox - Codebase: myserver.com - Application-Name: Dynamic Tree Demo I develop apps in C++, Objective-C and Java. IMO Java is by far the easiest, smoothest and most productive of the bunch. That's because of the great work you are doing. Sven, et-al, THANK YOU! for creating jogamp and supporting OpenGL for java. Bill |
Administrator
|
Hi
I know Insparia, nice application :) If you use GlueGen and JOGL as JNLP extensions, setting the "Permissions" and "Codebase" manifest attributes should solve your problem. Otherwise, if you copy our signed JARs into your server, it won't work, you'll have to download our unsigned JARs, set those attributes and sign them by yourself with your own certificate (this is what I do in my case). You can use a build tool like Ant to set them and sign your JARs. Let me know whether those suggestions are helpful. Best regards.
Julien Gouesse | Personal blog | Website
|
Administrator
|
On 10/16/2013 09:34 AM, gouessej [via jogamp] wrote:
> Hi > > I know Insparia, nice application :) > > If you use GlueGen and JOGL as JNLP extensions, setting the "Permissions" and > "Codebase" manifest attributes should solve your problem. Can we have a bug report for this ? Seems like I missed to patch the jnlp files ? If Bill or you can fix this issue, _test_ and offer a git patch, that would be awesome! > Otherwise, if you > copy our signed JARs into your server, it won't work, you'll have to download > our unsigned JARs, set those attributes and sign them by yourself with your > own certificate (this is what I do in my case). Yup, b/c I added it for the JAR file, that codebase :) We have documented it in Bug ?? (see roadmap 2.0.2 / bugzilla). Thank you! Cheers, Sven signature.asc (911 bytes) Download Attachment |
Administrator
|
I thought that you always set those attributes before signing the JARs but as I stopped using Sun/Oracle/JogAmp signed JARs several years ago, I didn't notice this problem. The JNLP files don't need any modification, those manifest attributes should be set from within our Ant scripts. I'm going to investigate.
Julien Gouesse | Personal blog | Website
|
Administrator
|
In reply to this post by Sven Gothel
I've just looked at jogl-all.jar, signed, version 2.1.0. I can see that in the manifest:
Permissions: all-permissions Specification-Title: Java Bindings for OpenGL API Specification Implementation-Branch: master Specification-Version: 2.1 Implementation-Build: 2.1-b1111-20131010 Extension-Name: javax.media.opengl Codebase: *.jogamp.org There is nothing to fix in our side, those attributes are set but it works only if the JARs are not moved into another location. It is no longer possible to relocate signed JARs for security reasons. I can have a look at the JNLP file of Insparia now. Edit.: Codebase: *.jogamp.org is in gluegen-rt.jar too but farther inside the file instead of in the very beginning.
Julien Gouesse | Personal blog | Website
|
Administrator
|
In reply to this post by gouessej
On 10/16/2013 11:49 AM, gouessej [via jogamp] wrote:
> Sven Gothel wrote > On 10/16/2013 09:34 AM, gouessej [via jogamp] wrote: > > Hi > > > > I know Insparia, nice application :) > > > > If you use GlueGen and JOGL as JNLP extensions, setting the > "Permissions" and > > "Codebase" manifest attributes should solve your problem. > > Can we have a bug report for this ? > Seems like I missed to patch the jnlp files ? > > If Bill or you can fix this issue, _test_ and offer a git patch, > that would be awesome! > > > > Otherwise, if you > > copy our signed JARs into your server, it won't work, you'll have to > download > > our unsigned JARs, set those attributes and sign them by yourself with your > > own certificate (this is what I do in my case). > Yup, b/c I added it for the JAR file, that codebase :) > We have documented it in Bug ?? (see roadmap 2.0.2 / bugzilla). > > Thank you! > > I thought that you always set those attributes before signing the JARs but as > I stopped using Sun/Oracle/JogAmp signed JARs several years ago, I didn't > notice this problem. The JNLP files don't need any modification, those > manifest attributes should be set from within our Ant scripts. I'm going to > investigate. all others are fine. I pushed that change. yes, all jar files do have a codebase entry as well. ~Sven signature.asc (911 bytes) Download Attachment |
Administrator
|
Insparia uses this in its JNLP file:
<extension href="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" name="jogl-all-awt"/>
Julien Gouesse | Personal blog | Website
|
Administrator
|
On 10/16/2013 12:29 PM, gouessej [via jogamp] wrote:
> Insparia uses this in its JNLP file: > <extension > href="http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp" > <http://jogamp.org/deployment/jogamp-current/jogl-all-awt.jnlp%22> name="jogl-all-awt"/> <http://jogamp.org/deployment/jogamp-current/> is a symbolic link to <http://jogamp.org/deployment/archive/rc/v2.1.0/> and the jnlp files have the codebase defined: jogl-all-awt.jnlp: <?xml version="1.0" encoding="utf-8"?> <jnlp codebase="http://jogamp.org/deployment/archive/rc/v2.1.0/" href="jogl-all-awt.jnlp" version="v2.1.0"> gluegen-rt.jnlp: <?xml version="1.0" encoding="utf-8"?> <jnlp codebase="http://jogamp.org/deployment/archive/rc/v2.1.0" href="gluegen-rt.jnlp" version="v2.1.0"> ~Sven signature.asc (911 bytes) Download Attachment |
Now we seem to need an Application-Name attribute as well (for Java 1.6.0_65 on MacOS 10.6 Snow Leopard at least).
I would rather avoid signing my own copies of JOGL jars, but maybe that is how I will have to go. |
Administrator
|
This post was updated on .
It only displays a warning in the console for the moment: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name This isn't the end of the world. The only tricky part to automatize is the extraction of JARs from 7z archives except if you use Maven. Edit.: You can directly get the unsigned JARs without using the archive here: http://jogamp.org/deployment/jogamp-current/jar/orig/ I plan to write a tutorial to explain how to automatize all these things.
Julien Gouesse | Personal blog | Website
|
I get this for an applet:
Missing Application Name: manifest attribute for: http://vhg.cmp.uea.ac.uk/tech/jas/095z/jars/jnlp/spa.jar Missing Application Name: manifest attribute for: http://jogamp.org/deployment/archive/rc/v2.1.1/jar/jogl-all.jar Ignored exception: java.security.cert.CertificateException: User terminated Java Plug-in 1.6.0_65 Using JRE version 1.6.0_65-b14-462-10M4609 Java HotSpot(TM) 64-Bit Server VM User home directory = /Users/jrwgexception: ExitException[ 3]java.lang.ThreadDeath. java.lang.ThreadDeath at java.lang.Thread.stop(Thread.java:791) at java.lang.ThreadGroup.stop(ThreadGroup.java:592) at com.sun.deploy.security.MacOSXTrustUI.evaluateTrustAfterShow(MacOSXTrustUI.java:251) at com.sun.deploy.security.MacOSXTrustUI.evaluateAsTrustedLibrary(MacOSXTrustUI.java:204) at com.sun.deploy.security.MacOSXTrustUI.evaluateTrustAndShow(MacOSXTrustUI.java:153) at com.sun.deploy.security.MacOSXTrustUI.showDialog(MacOSXTrustUI.java:79) at com.sun.deploy.security.X509Util.showSecurityDialog(X509Util.java:152) at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(TrustDecider.java:805) at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(AppPolicy.java:295) at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(LaunchDownload.java:1851) at com.sun.javaws.LaunchDownload.checkSignedResources(LaunchDownload.java:1527) at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(JNLP2Manager.java:1180) at sun.plugin2.applet.JNLP2Manager.loadJarFiles(JNLP2Manager.java:464) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1534) at java.lang.Thread.run(Thread.java:695) Exception: java.lang.ThreadDeath Maybe it is not about the new manifest attribute messages, but it is not getting to my code. I have fixed my jars now and the first message has gone but I will now try to sign the jogl jars myself (which we used to do in the past). Also happens with a JNLP app which fails with similar log. On a PC I just get warnings. |
Administrator
|
You aren't alone in this case:
http://forum.vizrt.com/showthread.php?t=6381 It happens even in Java Web Start, without any applet. Please can you run existing online JOGL demos with this version of Safari and Oracle Java?
Julien Gouesse | Personal blog | Website
|
My issues seem to be Mac OS related. Latest Java 7u45 is OK on 10.7 and later (Lion, Mountain Lion, Mavericks) (though I do need to upgrade). However Java 6u65 gives the Thread Death failures mentioned.
Gears demo at http://jogamp.org/deployment/jogamp-current/jogl-demos/Gears.jnlp gives the Thread Death exception. Shadowing demo at http://jogamp.org/deployment/jogamp-current/jogl-demos/HWShadowmapsSimple.jnlp fails with an unsigned resource. |
Administrator
|
Thanks. The second problem has nothing to do with your bug, it happens on my machine too. The bug with Java 1.6 update 65 occurs in applets not using JOGL too, it seems to be unrelated with our APIs. However, feel free to fill a bug report.
Julien Gouesse | Personal blog | Website
|
I am new to this forum so would be grateful if you would point me to where I go to report bugs.
Currently, I have made locally signed versions of jogl and gluegen jars, adding an Application-Name, and using Caller-Allowable-Codebase in preference to Trusted-Library so that it works with Java 7u45. Using these jars our code runs without warnings about missing Application-Name on Java 7u45 and Java 6u65 on Mac OS X systems. While this is not really a bug in jogl or gluegen, it would probably help others if the manifests were updated with Application-Name at least. As far as I can tell/guess, the Mac OS 10.6.8 Java 6u65 code does not check robustly for a lack of this entry and generates a NullPointerException on a String. Our code that seems to work (using locally signed jars) is at http://vhg.cmp.uea.ac.uk/tech/jas/095z/SPA-amb-mo.html (from http://vhg.cmp.uea.ac.uk/tech/jas/095z/) whereas a version using the jogamp version directly is at http://vhg.cmp.uea.ac.uk/tech/jas/095s/SPA-amb-mo.html (from http://vhg.cmp.uea.ac.uk/tech/jas/095s/) and fails for me for Java 6u65 on Mac OS 10.6.8. Since the problem seems to be only with a very old OS, and I have a workaround, I don't think this is a high priority! |
Administrator
|
In reply to this post by gouessej
On 10/29/2013 08:10 PM, gouessej [via jogamp] wrote:
> Thanks. The second problem has nothing to do with your bug, it happens on my > machine too. The bug with Java 1.6 update 65 occurs in applets not using JOGL > too, it seems to be unrelated with our APIs. However, feel free to fill a bug > report. https://jogamp.org/bugzilla/show_bug.cgi?id=881 Will fix this for upcoming 2.1.2 ~Sven signature.asc (911 bytes) Download Attachment |
Administrator
|
In reply to this post by John.Glauert
Thanks John, our bug tracker is here:
http://jogamp.org/bugzilla/ You're right, we should set at least the attribute Application-Name as it breaks nothing and it allows to work around a lack of robustness of Oracle Java under Mac. How should we set Caller-Allowable-Codebase? I'm still under Mac OS X 10.6.8 on the only Mac Book Pro I have.
Julien Gouesse | Personal blog | Website
|
In reply to this post by woadams123
Sven,
Many thanks. All seems fine now.
I thought setting Caller-Allowable-Codebase was necessary to
avoid prompts about access from websites. Maybe that is not needed at
the moment. For our applets I set Caller-Allowable-Codebase the same
as the Codebase as everything is on one site. I guess using * makes
sense, but have not tried it.
Best wishes,
John
At 19:54 -0700 31/10/13, Sven Gothel [via jogamp] wrote:
On 10/29/2013 08:10 PM, gouessej [via jogamp] wrote: https://jogamp.org/bugzilla/show_bug.cgi?id=881
If you reply to this email, your message will be added to the discussion below:
|
Sven,
Many thanks. All seems fine now.
I thought setting Caller-Allowable-Codebase was necessary to
avoid prompts about access from websites. Maybe that is not needed at
the moment. For our applets I set Caller-Allowable-Codebase the same
as the Codebase as everything is on one site. I guess using * makes
sense, but have not tried it.
Best wishes,
John
At 19:54 -0700 31/10/13, Sven Gothel [via jogamp] wrote:
On 10/29/2013 08:10 PM, gouessej [via jogamp] wrote: https://jogamp.org/bugzilla/show_bug.cgi?id=881
If you reply to this email, your message will be added to the discussion below:
|
Free forum by Nabble | Edit this page |