← Back to team overview

openjdk team mailing list archive

[Bug 525082] Re: IcedTea6 plugin not properly detected by Sun's Deployment Toolkit Script (deployJava.js)

 

Launchpad has imported 4 comments from the remote bug at
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=446.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2010-02-21T16:49:43+00:00 Mossroy wrote:

I'm using Ubuntu 10.04 alpha 2 (with all current updates).
I installed openjdk-6 and IcedTea6 plugin (both in version 6b17-1.7-1ubuntu1), with Firefox 3.6.

On some web sites, the plugin (or its version) is not correctly detected.
Sun gives a "Deployment Toolkit Script" : http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html
In fact, it's a javascript that detects the plugin and its version : http://java.com/js/deployJava.js (or http://www.java.com/js/deployJava.txt for a more human-readable version)

This script does not detect the plugin correctly. After putting a few breakpoints in it, I understood why :
- first of all, it looks for a MIME type "application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit" and does not find it
- so it browses the MIME types, in order to find a MIME type "application/x-java-applet;jpi-version=xxx" : it finds one, and takes the xxx as the Java version. With the current IcedTea6, this reports 1.6.0_00 (instead of 1.6.0_17)

The problem is that Sun's script can be called with a minimumVersion parameter. If the minimumVersion is 1.6.0_10 for example, the check fails, and the user is redirected to the doawnload page of java.com.
This seems to be precisely what happens on this web site : http://www.sweethome3d.eu/fr/SweetHome3DOnline.jsp

I checked the behavior on Windows, with Sun's JVM 1.6.0_17 :
- the MIME type "application/npruntime-scriptable-plugin;DeploymentToolkit" is present, so Sun's script can instantiate the plugin, and get a reliable version from it
- moreover, there is a MIME-type "application/x-java-applet;jpi-version=1.6.0_17" (which is correct)

I also checked the behavior on another Ubuntu (8.10), with Sun's JVM 1.6.0_10 :
- no MIME type "application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit" is present
- but there is a MIME-type "application/x-java-applet;jpi-version=1.6.0_10" (which is correct)

I can see two different corrections :
- the best one would be to expose one of the two MIME-types searched by the script ("application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit"). This is a way some sites test that the java plugin is installed. The script would instantiate the plugin and get the correct version from it
- if this is not possible, the MIME type "application/x-java-applet;jpi-version=xxx" should report a correct version : 1.6.0_17 instead of 1.6.0_00

A similar behavior can be seen on this website : https://www.spark-angels.com/rss2/app/launch/launch_sparkangels
It reports a 1.6.0_00 version of Java environment, and a "not installed" deployment plugin.

Upgrading IcedTea6 to version 6b18~pre1-1ubuntu1 gave the same behavior

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/525082/comments/3

------------------------------------------------------------------------
On 2010-02-21T17:01:01+00:00 Mossroy wrote:

After having a look at the source code, it looks like the "1.6.0_00" version is inside two files :
IcedTeaPlugin.cc
plugin/icedteanp/IcedTeaNPPlugin.cc

I would have replaced it with 1.6.0_18, so that at least the version is
correct

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/525082/comments/4

------------------------------------------------------------------------
On 2010-02-23T19:17:53+00:00 Dbhole wrote:

Supporting application/npruntime-scriptable-plugin;DeploymentToolkit is
a bit more complicated as the current Java backend is not equipped to
deal with empty CODE parameters. Fixing application/x-java-applet;jpi-
version satisfies deployJava.js though so I have done that for the time
being. Both http://www.sweethome3d.eu/fr/SweetHome3DOnline.jsp and
https://www.spark-angels.com/rss2/app/launch/launch_sparkangels should
now work as of this commit:

http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=6692226bafb6


Reply at: https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/525082/comments/5

------------------------------------------------------------------------
On 2010-02-26T18:09:14+00:00 Gnu-andrew-n wrote:

Fixed in 1.7.1.

Reply at:
https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/525082/comments/7

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in Ubuntu.
https://bugs.launchpad.net/bugs/525082

Title:
  IcedTea6 plugin not properly detected by Sun's Deployment Toolkit
  Script (deployJava.js)

Status in OpenJDK:
  Fix Released
Status in “openjdk-6” package in Ubuntu:
  Fix Released

Bug description:
  I'm using Ubuntu 10.04 alpha 2 (with all current updates).
  I installed openjdk-6 and IcedTea6 plugin (both in version 6b17-1.7-1ubuntu1)

  On some web sites, the plugin (or its version) is not correctly detected.
  Sun gives a "Deployment Toolkit Script" : http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html
  In fact, it's a javascript that detects the plugin and its version : http://java.com/js/deployJava.js (or http://www.java.com/js/deployJava.txt for a more human-readable version)

  This script does not detect the plugin correctly. After putting a few breakpoints in it, I understood why :
  - first of all, it looks for a MIME type "application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit" and does not find it
  - so it browses the MIME types, in order to find a MIME type "application/x-java-applet;jpi-version=xxx" : it finds one, and takes the xxx as the Java version. With the current IcedTea6, this reports 1.6.0_00 (instead of 1.6.0_17)

  The problem is that Sun's script can be called with a minimumVersion parameter. If the minimumVersion is 1.6.0_10 for example, the check fails, and the user is redirected to the doawnload page of java.com.
  This seems to be precisely what happens on this web site : http://www.sweethome3d.eu/fr/SweetHome3DOnline.jsp

  I checked the behavior on Windows, with Sun's JVM 1.6.0_17 :
  - the MIME type "application/npruntime-scriptable-plugin;DeploymentToolkit" is present, so Sun's script can instantiate the plugin, and get a reliable version from it
  - moreover, there is a MIME-type "application/x-java-applet;jpi-version=1.6.0_17" (which is correct)

  I also checked the behavior on another Ubuntu (8.10), with Sun's JVM 1.6.0_10 :
  - no MIME type "application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit" is present
  - but there is a MIME-type "application/x-java-applet;jpi-version=1.6.0_10" (which is correct)

  
  I can see two different corrections :
  - the best one would be to expose one of the two MIME-types searched by the script ("application/java-deployment-toolkit" or "application/npruntime-scriptable-plugin;DeploymentToolkit"). This is a way some sites test that the java plugin is installed. The script would instantiate the plugin and get the correct version from it
  - if this is not possible, the MIME type "application/x-java-applet;jpi-version=xxx" should report a correct version : 1.6.0_17 instead of 1.6.0_00

To manage notifications about this bug go to:
https://bugs.launchpad.net/openjdk/+bug/525082/+subscriptions


References